.solenoid-minimap{position:absolute;right:16px;bottom:30px;padding:8px;overflow:hidden;box-sizing:border-box;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;box-shadow:var(--overlay-shadow)}.solenoid-minimap__node{position:absolute;box-sizing:border-box;border:1px solid;border-radius:1.5px}.solenoid-minimap__viewport{position:absolute;box-sizing:border-box;background:color-mix(in srgb,var(--text) 12%,transparent);border:1px solid color-mix(in srgb,var(--text) 55%,transparent);cursor:grab;transform:scale(.8);transform-origin:center}.solenoid-minimap__viewport:active{cursor:grabbing}.solenoid-nav{position:absolute;top:80px;right:12px;display:flex;flex-direction:row;gap:3px;padding:3px;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:999px;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-pop);z-index:5}.solenoid-nav__btn{width:28px;height:28px;background:transparent;border:1px solid transparent;color:var(--text);border-radius:50%;font-family:inherit;font-size:14px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.solenoid-nav__btn:hover{background:var(--btn-hover);border-color:transparent;color:var(--accent)}.solenoid-nav__btn--on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.solenoid-nav__seed-select{height:28px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--btn-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a8f98' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border:1px solid var(--btn-border);color:var(--text);border-radius:999px;font-family:inherit;font-size:12px;padding:0 30px 0 14px;cursor:pointer;outline:none;max-width:170px}.solenoid-nav__seed-select:hover,.solenoid-nav__seed-select:focus{border-color:var(--accent)}.input-socket,.output-socket,.input-socket>span,.output-socket>span,.solenoid-socket-dot{display:block;width:var(--socket-size, 12px);height:var(--socket-size, 12px);box-sizing:border-box;line-height:0}.solenoid-socket-dot{overflow:visible}.input-socket:before{content:"";position:absolute;inset:-2px;border-radius:50%}[data-socket-shape=square] .input-socket:before{border-radius:0}@media(pointer:coarse){.input-socket:before,.output-socket:before{content:"";position:absolute;inset:-8px;border-radius:50%}[data-socket-shape=square] .input-socket:before,[data-socket-shape=square] .output-socket:before{border-radius:0}.solenoid-conduit .input-socket:before,.solenoid-conduit .output-socket:before{inset:-2px}}html.is-mobile .solenoid-node:not(.solenoid-node--selected) *,html.is-mobile .solenoid-conduit:not(.solenoid-conduit--selected) *,html.is-mobile .solenoid-group:not(.solenoid-group--selected) *,html.is-mobile .solenoid-note:not(.solenoid-note--selected) *{pointer-events:none}html.is-mobile .solenoid-node:not(.solenoid-node--selected),html.is-mobile .solenoid-conduit:not(.solenoid-conduit--selected),html.is-mobile .solenoid-group:not(.solenoid-group--selected),html.is-mobile .solenoid-note:not(.solenoid-note--selected){pointer-events:auto}html.is-mobile .solenoid-node:not(.solenoid-node--selected) .solenoid-node__resize-handle{pointer-events:auto}html.is-mobile .solenoid-canvas--cabling .solenoid-node [data-socket-side],html.is-mobile .solenoid-canvas--cabling .solenoid-node [data-socket-side] *,html.is-mobile .solenoid-canvas--cabling .solenoid-conduit .input-socket,html.is-mobile .solenoid-canvas--cabling .solenoid-conduit .output-socket{pointer-events:auto}[data-socket-side]{z-index:7}.solenoid-socket-dot{cursor:crosshair;overflow:visible;shape-rendering:geometricPrecision}.solenoid-socket--lit{isolation:isolate}.solenoid-conduit{--socket-size: 9px;--socket-border-width: 1.5px}.solenoid-dial{display:block;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.solenoid-dial--dragging{cursor:grabbing}.solenoid-dial__face{fill:var(--surface-sunken);stroke:var(--border);stroke-width:1;transition:stroke 80ms ease}.solenoid-dial:hover .solenoid-dial__face{stroke:var(--border-strong)}.solenoid-dial--dragging .solenoid-dial__face{stroke:var(--accent)}.solenoid-dial__tick{stroke:var(--border-strong);stroke-width:1;pointer-events:none}.solenoid-dial__needle{stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;pointer-events:none}.solenoid-dial__hub{fill:var(--accent);pointer-events:none}@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,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.17.0"}.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>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.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 .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{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 .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.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 .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.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 .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.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 .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 .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>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.solenoid-node{background:var(--surface);border:1px solid var(--border);border-radius:8px;width:180px;min-width:180px;color:var(--text);font-size:12px;box-shadow:var(--shadow-card);transition:border-color 80ms ease,box-shadow 80ms ease;cursor:grab;-webkit-user-select:none;user-select:none}.solenoid-node:active{cursor:grabbing}.solenoid-node--wide{width:240px}.solenoid-node--cast{width:252px;min-width:252px}.solenoid-node.solenoid-node--display-grow{width:max-content;min-width:180px}.solenoid-node.solenoid-node--display-grow-scalar{width:max-content;min-width:180px;max-width:360px}.solenoid-node--display-grow-scalar .solenoid-node__display-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solenoid-node:not(.solenoid-node--selected):hover{border-color:var(--border-strong)}.solenoid-node--selected:after{content:"";position:absolute;inset:0;box-sizing:border-box;border:2px solid color-mix(in srgb,var(--node-accent, var(--accent)) 70%,#fff);border-radius:8px;pointer-events:none;z-index:6}:root[data-theme=light] .solenoid-node--selected:after{border-color:color-mix(in srgb,var(--node-accent, var(--accent)) 68%,#000)}.solenoid-node--selected{box-shadow:0 4px 14px color-mix(in srgb,var(--node-accent, var(--accent)) 28%,transparent)}:root[data-theme=light] .solenoid-node:not(.solenoid-node--selected):not(.solenoid-node--grouped){border-color:var(--node-accent-dark, var(--border-strong))}:root[data-theme=light] .solenoid-node:not(.solenoid-node--selected):not(.solenoid-node--grouped):hover{border-color:var(--node-accent, var(--border-strong))}.solenoid-node__chevron{position:absolute;top:9px;left:5px;z-index:2;width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text));cursor:pointer}.solenoid-node__chevron:hover{filter:brightness(1.3)}.solenoid-node__chevron svg{transition:transform .1s ease;transform:rotate(90deg)}.solenoid-node--collapsed .solenoid-node__chevron svg{transform:rotate(0)}.solenoid-node--grouped{border-width:2px}.solenoid-node--grouped .solenoid-node__header{margin:-2px -2px 0}.solenoid-node--grouped:not(.solenoid-node--selected),.solenoid-node--grouped:not(.solenoid-node--selected):hover{box-shadow:none;border-color:color-mix(in srgb,var(--group-color, var(--text-dim)) 78%,transparent)}:root[data-theme=light] .solenoid-node--grouped:not(.solenoid-node--selected),:root[data-theme=light] .solenoid-node--grouped:not(.solenoid-node--selected):hover{border-color:var(--group-color-dark, var(--border-strong))}.solenoid-node--grouped:before{content:"";position:absolute;inset:0;border-radius:8px;background:color-mix(in srgb,var(--group-color, var(--text-dim)) 78%,var(--surface));clip-path:polygon(100% 100%,100% calc(100% - 15px),calc(100% - 15px) 100%);pointer-events:none;z-index:5}:root[data-theme=light] .solenoid-node--grouped:before{background:var(--group-color-dark, var(--border-strong))}.solenoid-node--collapsed .solenoid-node__body>*:not(.solenoid-node__display-value):not(.solenoid-node__value-input):not(.solenoid-node__quoted):not([data-socket-side]):not(.solenoid-node__input-pill):not(.solenoid-node__io-row--output){display:none}.solenoid-node--collapsed .solenoid-table-display__grid{display:none}.solenoid-node--collapsed .solenoid-table-display__chip{justify-content:center;margin-top:0}.solenoid-node__header{position:relative;padding:6px 10px 6px 22px;margin:-1px -1px 0;border:2px solid var(--node-accent, transparent);border-bottom:none;box-shadow:inset 0 -1px 0 var(--border);border-top-left-radius:8px;border-top-right-radius:8px;background:color-mix(in srgb,var(--node-accent, var(--surface)) var(--header-tint),var(--surface))}.solenoid-node--no-chevron .solenoid-node__header{padding-left:10px}.solenoid-node__corner-badge{position:absolute;top:calc(var(--header-h, 28px) + 3px);right:4px;z-index:7;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:auto}.solenoid-node__corner-lock{color:var(--text-dim);opacity:.4}.solenoid-node__type-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:44px;white-space:normal;line-height:1.25;text-align:right;font-size:7.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 45%,var(--text));opacity:0;pointer-events:none;transition:opacity .2s;-webkit-user-select:none;user-select:none}.solenoid-node:hover .solenoid-node__type-hint{opacity:.65}.solenoid-node__label-input{width:calc(100% - 44px);overflow:hidden;resize:none;background:transparent;border:none;outline:none;box-sizing:border-box;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text));font-family:inherit;font-size:10px;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 0;display:block}.solenoid-node__label-input:focus{color:var(--text)}.solenoid-node__label-display{width:fit-content;max-width:calc(100% - 44px);color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text));font-family:inherit;font-size:10px;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 0;cursor:text;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.solenoid-node__content{position:relative;--node-socket-x: -6.5px}.solenoid-node__content .solenoid-node__input-pill{left:-7px}.solenoid-node__body{padding:10px;display:flex;flex-direction:column;gap:6px}.solenoid-node__value-input{width:100%;min-width:0;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-bright);font-family:var(--font-mono);font-size:14px;outline:none;box-sizing:border-box}.solenoid-node__value-input:focus{border-color:var(--accent)}.solenoid-node__display-value{width:100%;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:6px 10px;color:var(--text-bright);font-family:var(--font-mono);font-size:18px;font-weight:500;text-align:right;box-sizing:border-box}.solenoid-node__display-value--empty{color:var(--text-muted);font-weight:400}.solenoid-node__error-explain{margin-top:6px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--sol-error) 45%,var(--border));border-radius:4px;background:color-mix(in srgb,var(--sol-error) 7%,var(--surface-sunken));font-size:10.5px;line-height:1.45}.solenoid-node__error-explain-head{display:flex;align-items:baseline;gap:6px;margin-bottom:3px}.solenoid-node__error-explain-code{color:var(--sol-error);font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.04em}.solenoid-node__error-explain-msg{color:var(--text);font-weight:600}.solenoid-node__error-explain-body{color:var(--text-dim);white-space:normal}.solenoid-node__display-value--error{color:var(--sol-error);border-color:color-mix(in srgb,var(--sol-error) 55%,var(--border));background:color-mix(in srgb,var(--sol-error) 10%,var(--surface-sunken));font-size:14px;font-weight:700;text-align:center;letter-spacing:.04em}.solenoid-node:not(.solenoid-node--resizable) .solenoid-node__display-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solenoid-node__resize-handle{position:absolute;right:2px;bottom:1px;display:flex;align-items:flex-end;justify-content:flex-end;color:var(--text-dim);opacity:.45;cursor:nwse-resize;z-index:4}.solenoid-node__resize-handle:hover{opacity:.95;color:var(--accent)}@media(pointer:coarse){.solenoid-node__resize-handle{right:0;bottom:0;padding:9px;opacity:.7}.solenoid-node__resize-handle svg{width:11px;height:11px}}.solenoid-node--sized .solenoid-node__display-value{height:var(--box-h);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.solenoid-node--sized .solenoid-node__quoted--value{display:flex;width:100%}.solenoid-node--sized .solenoid-node__quoted--value .solenoid-node__quoted-field{flex:1 1 auto}.solenoid-node--sized .solenoid-node__quoted--value .solenoid-node__quoted-input{width:100%;height:var(--box-h)}.solenoid-node__io-row{height:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px;color:var(--text-dim);font-size:12px;font-weight:500}.solenoid-node__io-label{flex:0 0 auto}.solenoid-node__inline-input{flex:1 1 auto;min-width:0;width:100%;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text-bright);font-family:var(--font-mono);font-size:12px;text-align:right;outline:none;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:textfield;appearance:textfield}.solenoid-node__inline-input::-webkit-outer-spin-button,.solenoid-node__inline-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.solenoid-node__inline-input:focus{border-color:var(--accent)}.solenoid-node__inline-input--text,.solenoid-node__value-input--text{font-family:var(--font-sans);text-align:left}.solenoid-node__quoted{position:relative;display:inline-flex;align-items:baseline;gap:2px;max-width:100%;font-size:12px}.solenoid-node__quoted--value{font-size:14px}.solenoid-node__quoted-field{position:relative;display:inline-flex;min-width:0;max-width:100%}.solenoid-node__quote{flex:0 0 auto;color:var(--text-dim);font-family:var(--font-sans)}.solenoid-node__quoted-input{min-width:0;max-width:100%;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:1px 6px;color:var(--text-bright);font-family:var(--font-sans);font-size:inherit;text-align:left;outline:none;box-sizing:content-box}.solenoid-node__quoted-input:focus{border-color:var(--accent)}.solenoid-node__quoted--inline,.solenoid-node__quoted--inline .solenoid-node__quoted-field{flex:1 1 auto;min-width:0}.solenoid-node__quoted--inline .solenoid-node__quoted-input{flex:1 1 auto;width:100%;min-width:0;box-sizing:border-box}.solenoid-node__text-ws{color:var(--text-muted)}.solenoid-node__text-empty{color:var(--text-muted);font-style:italic}.solenoid-node__input-pill{position:absolute;left:-6px;top:calc(var(--out-socket-top, 46px) - 14px);width:12px;height:28px;overflow:visible;z-index:1;pointer-events:none}.solenoid-node__output-pill{position:absolute;right:-6px;width:12px;height:28px;overflow:visible;z-index:1;pointer-events:none}.solenoid-node__pill-socket .solenoid-socket-dot{opacity:0}.solenoid-node__pill-socket .solenoid-socket-lit{display:none}.solenoid-node__row-remove{flex:0 0 auto;width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:15px;line-height:1;cursor:pointer}.solenoid-node__row-remove:hover{color:#e06c75}.solenoid-node__add-input{width:100%;background:var(--surface-sunken);border:1px dashed var(--border-strong);border-radius:4px;padding:3px 0;color:var(--text-dim);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;box-sizing:border-box;transition:border-color 80ms ease,color 80ms ease}.solenoid-node__add-input:hover{border-color:var(--accent);color:var(--text)}.solenoid-node__pair-group{box-shadow:inset 0 -1px 0 var(--border);margin-bottom:3px}.solenoid-node__pair-group:last-of-type{box-shadow:none;margin-bottom:0}.solenoid-node__section-divider{height:1px;background:var(--border);margin:4px 0}.solenoid-node__output-value{flex:1 1 auto;text-align:right;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:2px}.solenoid-node__io-wired{flex:0 1 auto;min-width:0;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10px;font-style:italic}.solenoid-node__recalc-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:4px 8px;color:var(--text-dim);font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-sizing:border-box;transition:border-color 80ms ease,color 80ms ease,background 80ms ease}.solenoid-node__recalc-btn:hover{border-color:var(--accent);color:var(--text);background:var(--surface)}.solenoid-node__recalc-btn:active{background:var(--surface-raised)}.solenoid-node__op-select{width:100%;background-color:var(--surface-sunken);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%239aa0a6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 6px;border:1px solid var(--border);color:var(--text-bright);font-family:inherit;font-size:13px;padding:4px 24px 4px 8px;border-radius:4px;outline:none;cursor:pointer;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.solenoid-node__op-select:focus{border-color:var(--accent)}.solenoid-node__field-row{display:flex;align-items:center;gap:6px;margin-top:4px}.solenoid-node__field-row .solenoid-node__op-select{flex:1 1 auto;min-width:0}.solenoid-node__field-label{flex:0 0 auto;font-size:12px;color:var(--text-muted, #9aa0a6);white-space:nowrap}.solenoid-node__pivot-config{width:100%;margin-top:4px;padding:5px 8px;font-size:12px;font-family:inherit;background:var(--surface-sunken);color:var(--text-bright);border:1px solid var(--border);border-radius:4px;cursor:pointer}.solenoid-node__pivot-config:hover{border-color:var(--accent)}.solenoid-node__pivot-summary{margin-top:4px;font-size:11px;line-height:1.35;color:var(--text-muted, #9aa0a6);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.solenoid-node__dm-weights{margin-top:6px;display:flex;flex-direction:column;gap:3px}.solenoid-node__dm-weight-row{display:flex;align-items:center;gap:8px}.solenoid-node__dm-col-crit{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solenoid-node__dm-col-weight{flex:0 0 46px;text-align:right}.solenoid-node__dm-col-norm{flex:0 0 62px}.solenoid-node__dm-weight-row .solenoid-node__inline-input{flex:0 0 46px;width:46px;text-align:right}.solenoid-node__dm-weight-row .solenoid-node__op-select{flex:0 0 62px;width:62px;font-size:12px;padding:3px 22px 3px 6px}.solenoid-node__dm-weights-head{margin-top:2px}.solenoid-node__dm-weights-head span{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #9aa0a6)}.solenoid-node__dm-caption{margin-top:4px;font-size:10px;line-height:1.3;color:var(--text-muted, #9aa0a6)}.solenoid-node__dm-hint{font-size:11px;line-height:1.35;color:var(--text-muted, #9aa0a6);font-style:italic}.solenoid-node__op-select option{background-color:var(--surface);color:var(--text-bright);padding:4px 8px}.solenoid-node__op-select option:hover,.solenoid-node__op-select option:focus,.solenoid-node__op-select option:checked{background-color:var(--border-subtle);color:var(--text)}.solenoid-conduit{position:relative;box-sizing:border-box;overflow:visible}.solenoid-conduit__svg{position:absolute;inset:0;display:block;overflow:visible;pointer-events:none}.solenoid-conduit__block,.solenoid-conduit__block-border{transition:fill 80ms ease}.solenoid-conduit__block{fill:#464b54}.solenoid-conduit__block-border{fill:#8a909c}.solenoid-conduit__stripe{fill:#e0473a}.solenoid-conduit:not(.solenoid-conduit--selected):hover .solenoid-conduit__block{fill:#515761}.solenoid-conduit:not(.solenoid-conduit--selected):hover .solenoid-conduit__block-border{fill:#9aa1ad}.solenoid-conduit--selected .solenoid-conduit__block-border{fill:var(--accent)}.solenoid-conduit--selected .solenoid-conduit__svg{filter:drop-shadow(0 0 6px var(--accent-mid))}.solenoid-conduit__lane{position:absolute}.solenoid-conduit__lane--phantom{opacity:.35}.solenoid-conduit .solenoid-socket-dot{display:none}.solenoid-conduit .input-socket,.solenoid-conduit .output-socket{background:#2e323a;border:1px solid #565b65;border-radius:2px;box-sizing:border-box;cursor:crosshair}.solenoid-conduit .input-socket:hover,.solenoid-conduit .output-socket:hover{background:#3b414b;border-color:var(--accent)}:root[data-theme=light] .solenoid-conduit__block{fill:#c5cad3}:root[data-theme=light] .solenoid-conduit__block-border{fill:#969db0}:root[data-theme=light] .solenoid-conduit:not(.solenoid-conduit--selected):hover .solenoid-conduit__block{fill:#b5bbc7}:root[data-theme=light] .solenoid-conduit:not(.solenoid-conduit--selected):hover .solenoid-conduit__block-border{fill:#828a9c}:root[data-theme=light] .solenoid-conduit .input-socket,:root[data-theme=light] .solenoid-conduit .output-socket{background:#6a717c;border-color:#4d535c}:root[data-theme=light] .solenoid-conduit .input-socket:hover,:root[data-theme=light] .solenoid-conduit .output-socket:hover{background:#5a616b;border-color:var(--accent)}.solenoid-conduit-toolbar{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:11px;color:var(--text);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-pop);box-sizing:border-box}.solenoid-conduit-toolbar--docked{position:fixed;left:14px;bottom:34px;transform:none;z-index:60;transition:left .12s ease}html:not(.is-mobile) body.solenoid-nav-open .solenoid-conduit-toolbar--docked{left:272px}.solenoid-conduit-toolbar__section{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-dim);padding-top:2px}.solenoid-conduit-toolbar__row{display:flex;align-items:center;justify-content:center}.solenoid-conduit-toolbar__header{--conduit-accent: color-mix(in srgb, #e0473a 72%, var(--panel-bg));align-self:stretch;display:flex;align-items:center;justify-content:center;gap:5px;margin:-7px -7px 2px;padding:5px 10px;border:2px solid var(--conduit-accent);border-bottom:none;box-shadow:inset 0 -1px 0 var(--border);border-top-left-radius:5px;border-top-right-radius:5px}.solenoid-conduit-toolbar__header-name{font-size:10px;line-height:1.3;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--conduit-accent) 55%,var(--text))}.solenoid-conduit-toolbar__seq{width:44px;padding:0 2px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;color:color-mix(in srgb,var(--conduit-accent) 55%,var(--text));background:transparent;border:none;outline:none;text-align:left}.solenoid-conduit-toolbar__seq:focus{color:var(--text)}.solenoid-conduit-toolbar__seq::-webkit-outer-spin-button,.solenoid-conduit-toolbar__seq::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.solenoid-conduit-toolbar__seq{-moz-appearance:textfield;appearance:textfield}.solenoid-conduit-toolbar__extend{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.solenoid-conduit-toolbar__extend:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.solenoid-legend{position:absolute;bottom:148px;right:16px;width:147px;box-sizing:border-box;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;padding:10px 12px;z-index:100;pointer-events:all;box-shadow:var(--overlay-shadow)}.solenoid-legend:not(.solenoid-legend--collapsed){transform:scale(.85);transform-origin:bottom right}.solenoid-legend--collapsed{width:auto;min-width:0;padding:0;background:none;border:none;box-shadow:none}.solenoid-legend__toggle{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;line-height:1;padding:0 2px}.solenoid-legend__toggle:hover{color:var(--text)}.solenoid-legend--collapsed .solenoid-legend__toggle{position:static;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;background:var(--btn-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:50%;color:var(--text);box-shadow:var(--overlay-shadow)}.solenoid-legend--collapsed .solenoid-legend__toggle:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.solenoid-legend__heading{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding-right:16px}.solenoid-legend__row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.solenoid-legend__row:last-child{margin-bottom:0}.solenoid-legend__dots{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:50px;flex-shrink:0}.solenoid-legend__type{flex:1;white-space:nowrap;font-size:12px;font-weight:600;color:var(--text)}.solenoid-legend__desc{font-size:11px;color:var(--text-dim)}html.is-mobile .solenoid-legend{display:none}.solenoid-dimflow{max-width:440px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.solenoid-dimflow__heading{font-size:13px;font-weight:600;color:var(--text);margin-bottom:13px}.solenoid-dimflow__ladder{display:flex;align-items:stretch;gap:7px;margin-bottom:16px}.solenoid-dimflow__step{display:flex;align-items:center;gap:8px;flex:1 1 0;min-width:0;padding:8px 9px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-sunken)}.solenoid-dimflow__step-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.solenoid-dimflow__dim{font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--accent)}.solenoid-dimflow__name{font-size:12px;color:var(--text)}.solenoid-dimflow__sub{font-size:10px;color:var(--text-dim)}.solenoid-dimflow__arrow{align-self:center;flex:0 0 auto;font-size:15px;color:var(--text-muted)}.solenoid-dimflow__rule{margin:0 0 11px;font-size:12.5px;line-height:1.5;color:var(--text-dim)}.solenoid-dimflow__badge{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;margin-right:6px;white-space:nowrap}.solenoid-dimflow__badge--ok{color:#2fae7a;background:color-mix(in srgb,#2fae7a 17%,transparent)}.solenoid-dimflow__badge--no{color:#e0705e;background:color-mix(in srgb,#e0705e 17%,transparent)}.solenoid-dimflow__note{margin:2px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.solenoid-dimflow em{font-style:normal;color:var(--text)}.solenoid-confirm__overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.solenoid-confirm__dialog{min-width:280px;max-width:420px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 40px #00000080;padding:18px 18px 14px;color:var(--text);font-size:13px}.solenoid-confirm__message{line-height:1.45;margin-bottom:16px}.solenoid-confirm__buttons{display:flex;justify-content:flex-end;gap:8px}.solenoid-confirm__btn{background:var(--border-subtle);border:1px solid var(--border-strong);border-radius:6px;padding:6px 14px;color:var(--text);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background 80ms ease,border-color 80ms ease}.solenoid-confirm__btn:hover{background:var(--border-strong);border-color:var(--border-strong)}.solenoid-confirm__btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.solenoid-confirm__btn--primary:hover{filter:brightness(1.1)}.solenoid-notices{position:fixed;bottom:16px;right:16px;z-index:1100;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 32px));pointer-events:none}.solenoid-notice{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 28px #00000073;color:var(--text);font-size:12.5px;line-height:1.4;cursor:pointer;animation:solenoid-notice-in .14s ease-out}@keyframes solenoid-notice-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.solenoid-notice--warn{border-color:#c07820}.solenoid-notice--error{border-color:#c04040}.solenoid-notice__msg{flex:1}.solenoid-notice__close{flex:none;background:none;border:none;color:var(--text-muted, var(--text));font-size:16px;line-height:1;padding:0 2px;cursor:pointer;opacity:.6}.solenoid-notice__close:hover{opacity:1}:root{--sol-error: #e0473a}.sol-error-chip{color:var(--sol-error);font-family:var(--font-mono);font-weight:700;font-size:11.5px;letter-spacing:.04em;white-space:nowrap}.solenoid-array-chip{flex:0 0 auto;font-family:var(--font-mono);font-size:.85em;color:var(--node-accent, var(--accent));background:color-mix(in srgb,var(--node-accent, var(--accent)) 12%,transparent);border:1px solid color-mix(in srgb,var(--node-accent, var(--accent)) 40%,transparent);border-radius:5px;padding:1px 7px;cursor:pointer;white-space:nowrap}.solenoid-array-chip:hover{background:color-mix(in srgb,var(--node-accent, var(--accent)) 22%,transparent)}.solenoid-array-chip--sm{font-size:10px;padding:0 5px;border-radius:4px}.solenoid-node--angle-dial{width:116px}.angle-dial-node{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0 6px}.angle-dial-node__dial-row{display:flex;align-items:center;justify-content:center}.angle-dial-node__input-row{display:flex;align-items:center;gap:6px}.angle-dial-node__input{width:54px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;color:var(--text-bright);font-size:14px;font-family:var(--font-mono);padding:4px 8px;text-align:right;outline:none;box-sizing:border-box}.angle-dial-node__input:focus{border-color:var(--accent)}.angle-dial-node__unit{font-size:11px;color:var(--text-muted)}.slicer-node{display:flex;flex-direction:column;gap:0}.solenoid-node.solenoid-node--slicer-w2{width:320px}.solenoid-node.solenoid-node--slicer-w3{width:400px}.slicer-node__toolbar{display:flex;align-items:center;gap:6px;padding:4px 10px}.slicer-node__toolbar .solenoid-node__op-select{flex:1 1 auto;min-width:0}.slicer-node__subbar{display:flex;justify-content:flex-end;padding:0 10px 2px}.slicer-node__count{font-size:10px;color:var(--text-muted)}.slicer-node__multiselect{flex:0 0 auto;background:none;border:1px solid var(--border-strong);border-radius:3px;color:var(--text-muted);font-size:10px;padding:1px 5px;cursor:pointer;line-height:1.4;transition:border-color .1s,color .1s}.slicer-node__multiselect:hover{border-color:var(--text-muted);color:var(--text-dim)}.slicer-node__multiselect--on{border-color:var(--node-accent, var(--accent));color:var(--node-accent, var(--accent))}.slicer-node__values{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-top:1px solid var(--border-subtle);max-height:220px;overflow-y:auto;overflow-x:hidden}.slicer-node__empty{color:var(--border-strong);font-size:11px;font-style:italic;padding:4px 2px}.slicer-node__pill{flex:0 1 auto;max-width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);padding:3px 8px;cursor:pointer;transition:background .08s,color .08s,border-color .08s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slicer-node__pill:hover{background:var(--surface-raised);color:var(--text-dim);border-color:var(--border-strong)}.slicer-node__pill--selected{background:color-mix(in srgb,var(--node-accent, var(--accent)) 22%,var(--surface));border-color:var(--node-accent, var(--accent));color:color-mix(in srgb,var(--node-accent, var(--accent)) 70%,var(--text))}.slicer-node__pill--selected:hover{background:color-mix(in srgb,var(--node-accent, var(--accent)) 30%,var(--surface))}.solenoid-seg{display:flex;width:100%}.solenoid-segbtn{flex:1 1 auto;height:22px;padding:0 4px;font-family:inherit;font-size:10px;line-height:1;background:var(--border-subtle);border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;white-space:nowrap}.solenoid-segbtn:first-child{border-radius:3px 0 0 3px}.solenoid-segbtn:last-child{border-radius:0 3px 3px 0;border-left:none}.solenoid-segbtn--on{background:color-mix(in srgb,var(--node-accent, var(--accent)) 30%,var(--border-subtle));border-color:var(--node-accent, var(--accent));color:var(--text)}.solenoid-colorpicker__slider{-webkit-appearance:none;appearance:none;width:100%;height:13px;margin:0;border-radius:7px;border:1px solid var(--border-strong);outline:none;cursor:pointer}.solenoid-colorpicker__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid #2a2a2a;box-shadow:0 1px 2px #00000073;cursor:grab}.solenoid-colorpicker__slider:active::-webkit-slider-thumb{cursor:grabbing}.solenoid-colorpicker__slider::-moz-range-track{height:13px;border-radius:7px;background:transparent}.solenoid-colorpicker__slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid #2a2a2a;box-shadow:0 1px 2px #00000073;cursor:grab}.solenoid-colorpicker__hex{width:100%;box-sizing:border-box;padding:6px 8px;font-family:var(--mono-font, ui-monospace, monospace);font-size:13px;text-align:center;background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;outline:none}.solenoid-colorpicker__hex:focus{border-color:var(--accent)}.solenoid-expr__formula{position:relative;display:flex;align-items:center;gap:4px;padding:4px 8px;min-height:var(--box-h, auto)}.solenoid-expr__field{position:relative;flex:1 1 auto;width:0;display:flex}.solenoid-expr__prefix{font-size:12px;font-weight:600;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 80%,var(--text));flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.solenoid-expr__textarea{flex:1;width:0;min-height:54px;max-height:96px;padding:1px 5px;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;line-height:18px;background:var(--border-subtle);border:1px solid var(--border-strong);border-radius:3px;color:var(--text);resize:none;overflow-y:hidden;box-sizing:border-box}.solenoid-expr__textarea:focus{outline:none;border-color:var(--node-accent, var(--accent))}.solenoid-expr__textarea::placeholder{color:var(--border-strong);font-style:italic}.solenoid-expr__rendered{flex:1;width:0;height:var(--box-h, 54px);display:flex;align-items:center;overflow-x:auto;padding:2px 6px;background:var(--border-subtle);border:1px solid var(--border-strong);border-radius:3px;color:var(--text);cursor:text}.solenoid-expr__rendered .katex{font-size:1.05em}.solenoid-expr__raw{font-family:Consolas,Monaco,Courier New,monospace;font-size:11px}.solenoid-expr__placeholder{color:var(--border-strong);font-style:italic;font-size:11px}.solenoid-expr__expand{position:absolute;top:3px;right:3px;display:flex;padding:1px;border:none;background:color-mix(in srgb,var(--border-subtle) 80%,transparent);border-radius:3px;color:var(--text-dim);opacity:.5;cursor:pointer;transition:opacity 80ms ease,color 80ms ease}.solenoid-expr__expand:hover{opacity:1;color:color-mix(in srgb,var(--node-accent, var(--accent)) 60%,var(--text))}.solenoid-expr__error{padding:1px 8px 3px;font-size:10px;color:#e06c2e}.solenoid-lambda__hint{padding:0 8px 3px;font-size:10px;color:var(--text-muted)}.solenoid-expr__override{display:flex;align-items:baseline;gap:6px;margin:4px 8px;padding:6px 8px;background:var(--border-subtle);border:1px dashed var(--border-strong);border-radius:3px}.solenoid-expr__override-sig{flex:0 0 auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;color:var(--text)}.solenoid-expr__override-src{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:italic;color:var(--text-muted)}.solenoid-expr__wired-note{padding:0 8px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:italic;color:var(--text-muted)}.sol-conn{display:flex;flex-direction:column;gap:6px;padding:6px 8px 4px}.sol-conn__url{box-sizing:border-box;width:100%;padding:4px 7px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;color:var(--text-bright);font-family:var(--font-mono);font-size:11px;outline:none}.sol-conn__url:focus{border-color:var(--node-accent, var(--accent));box-shadow:inset 0 0 0 1px var(--node-accent, var(--accent))}.sol-conn__select{box-sizing:border-box;width:100%;padding:4px 7px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;color:var(--text-bright);font-size:11px;outline:none;cursor:pointer}.sol-conn__select:focus{border-color:var(--node-accent, var(--accent));box-shadow:inset 0 0 0 1px var(--node-accent, var(--accent))}.sol-conn__field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.sol-conn__num{width:60px;box-sizing:border-box;padding:4px 7px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;color:var(--text-bright);font-family:var(--font-mono);font-size:11px;outline:none}.sol-conn__num:focus{border-color:var(--node-accent, var(--accent));box-shadow:inset 0 0 0 1px var(--node-accent, var(--accent))}.sol-conn__preview{display:flex;flex-direction:column;gap:1px;padding:4px 6px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;font-family:var(--font-mono);font-size:10.5px;color:var(--text)}.sol-conn__preview-row{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sol-conn__preview-more{color:var(--text-muted)}.sol-conn__note{font-size:11px;line-height:1.4;color:var(--text-dim)}.sol-conn__status{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.sol-conn__dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--text-dim)}.sol-conn__dot--ok{background:#2fae7a}.sol-conn__dot--error{background:#e0566b}.sol-conn__dot--loading{background:#d9a93b;animation:sol-conn-pulse 1s ease-in-out infinite}@keyframes sol-conn-pulse{0%,to{opacity:.35}50%{opacity:1}}.sol-conn__status-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sol-conn__refresh{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface);color:var(--text);font-family:inherit;font-size:12px;line-height:1;cursor:pointer}.sol-conn__refresh:hover:not(:disabled){border-color:var(--node-accent, var(--accent))}.sol-conn__refresh:disabled{opacity:.4;cursor:default}.sol-switch__opt{flex:0 0 auto;width:20px;height:18px;padding:0;font-family:var(--font-mono);font-size:11px;line-height:1;background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:4px;color:var(--text-dim);cursor:pointer}.sol-switch__opt:hover{border-color:var(--node-accent, var(--accent))}.sol-switch__opt--on{background:color-mix(in srgb,var(--node-accent, var(--accent)) 30%,var(--border-subtle));border-color:var(--node-accent, var(--accent));color:var(--text-bright);font-weight:700}.sol-switch__state{color:var(--text-muted);font-size:11px}.sol-switch__controls{display:flex;gap:6px;align-items:center;margin:4px 0 2px}.sol-switch__cycle{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-family:inherit;font-size:11px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:6px;color:var(--text);cursor:pointer}.sol-switch__cycle:hover{border-color:var(--node-accent, var(--accent));color:var(--accent)}.solenoid-swatchgrid{display:grid;grid-template-columns:repeat(6,16px);justify-items:center;align-items:center;gap:6px;padding:7px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-pop)}.solenoid-swatchgrid__opt{appearance:none;-webkit-appearance:none;display:block;width:16px;height:16px;margin:0;padding:0;border:none;background:none;cursor:pointer}.solenoid-swatchgrid__opt:hover{transform:scale(1.12)}.solenoid-swatchgrid--readonly .solenoid-swatchgrid__opt{cursor:default}.solenoid-swatchgrid--readonly .solenoid-swatchgrid__opt:hover{transform:none}.sol-md{max-width:760px;margin:0 auto;color:var(--text);font-size:13.5px;line-height:1.6}.sol-md h1{font-size:22px;font-weight:700;margin:4px 0 14px;color:var(--text-bright)}.sol-md h2{font-size:16px;font-weight:600;margin:26px 0 8px;padding-bottom:5px;color:var(--text-bright);border-bottom:1px solid var(--border)}.sol-md h3{font-size:14px;font-weight:600;margin:18px 0 6px;color:var(--text)}.sol-md p{margin:8px 0}.sol-md ul,.sol-md ol{margin:8px 0;padding-left:22px}.sol-md li{margin:3px 0}.sol-md li>ul,.sol-md li>ol{margin:3px 0}.sol-md a{color:var(--accent);text-decoration:none}.sol-md a:hover{text-decoration:underline}.sol-md strong{color:var(--text-bright);font-weight:600}.sol-md code{font-family:var(--font-mono);font-size:12px;padding:1px 5px;border-radius:4px;background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-bright)}.sol-md pre{margin:10px 0;padding:10px 12px;overflow:auto;background:var(--surface-sunken);border:1px solid var(--border);border-radius:6px}.sol-md pre code{padding:0;border:none;background:none}.sol-md blockquote{margin:10px 0;padding:2px 12px;border-left:3px solid var(--border-strong);color:var(--text-dim)}.sol-md hr{border:none;border-top:1px solid var(--border);margin:20px 0}.sol-md kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border-radius:4px;background:var(--surface-sunken);border:1px solid var(--border-strong)}.sol-md table{border-collapse:collapse;margin:10px 0}.sol-md th,.sol-md td{border:1px solid var(--border);padding:4px 9px;text-align:left}.sol-md th{background:var(--surface-sunken);font-weight:600}.solenoid-note{position:relative;--node-accent: var(--note-color);box-sizing:border-box;display:flex;flex-direction:column;background:var(--note-bg);border:2px solid var(--note-color);border-radius:11px;box-shadow:var(--shadow-card);cursor:grab}.solenoid-note *{box-sizing:border-box}.solenoid-note__bar{position:relative;display:flex;align-items:center;height:26px;padding:0 8px 0 23px;background:color-mix(in srgb,var(--note-color) var(--header-tint),var(--surface));border-radius:9px 9px 0 0;box-shadow:inset 0 -1px 0 var(--note-color)}.solenoid-note--collapsed:not(.solenoid-note--has-fields) .solenoid-note__bar{border-radius:9px;box-shadow:none}.solenoid-note--collapsed .solenoid-note__fields{box-shadow:none;border-radius:0 0 9px 9px}.solenoid-note__chevron{position:absolute;top:50%;left:6px;transform:translateY(-50%);width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:color-mix(in srgb,var(--note-color) 55%,var(--text));opacity:.8;cursor:pointer}.solenoid-note__chevron:hover{opacity:1}.solenoid-note__chevron svg{transition:transform .1s ease;transform:rotate(90deg)}.solenoid-note--collapsed .solenoid-note__chevron svg{transform:rotate(0)}.solenoid-note__name{width:calc(100% - 60px);margin-right:auto;background:transparent;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--note-color) 55%,var(--text));font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:text}.solenoid-note__name:focus{color:var(--text)}.solenoid-note__name::placeholder{color:currentColor;opacity:.5}.solenoid-note__name-display{width:fit-content;max-width:calc(100% - 60px);margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--note-color) 55%,var(--text));font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:text}.solenoid-note__name-display--empty{opacity:.5}.solenoid-note__swatch{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:color-mix(in srgb,var(--note-color) 55%,var(--text));cursor:pointer;opacity:.85}.solenoid-note__swatch:hover{opacity:1}.solenoid-note__palette{position:absolute;top:26px;right:0;z-index:10}.solenoid-note__fields{display:flex;flex-direction:column;flex:0 0 auto;padding:3px 0;overflow:visible;box-shadow:inset 0 -1px color-mix(in srgb,var(--note-color) 35%,transparent)}.solenoid-note__field-row{position:relative;display:flex;align-items:center;gap:6px;padding:2px 10px;min-height:18px;font-size:11px}.solenoid-note__field-glyph{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:none;border:none;cursor:pointer;opacity:.9}.solenoid-note__field-glyph:hover{opacity:1}.solenoid-note__field-key{flex:0 0 auto;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, ui-monospace, monospace);font-weight:600;color:var(--text)}.solenoid-note__field-val{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;padding-right:4px;color:var(--text-muted)}.solenoid-note__field-picker{position:absolute;top:20px;left:8px;z-index:11;display:flex;flex-direction:column;gap:1px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-card)}.solenoid-note__field-opt{display:flex;align-items:center;gap:7px;padding:4px 9px 4px 5px;background:none;border:none;border-radius:5px;color:var(--text);font-size:11px;white-space:nowrap;text-align:left;cursor:pointer}.solenoid-note__field-opt:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.solenoid-note__field-opt--on{background:color-mix(in srgb,var(--note-color) 22%,transparent)}.solenoid-note__content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border-radius:0 0 9px 9px}.solenoid-note__body{flex:1;min-height:0;width:100%;background:transparent;border:none;outline:none;resize:none;padding:8px;color:var(--text);font-family:var(--font-sans);font-size:12px;line-height:1.45;cursor:text;overflow:auto}.solenoid-note__body::placeholder{color:var(--text-muted)}.solenoid-note__rendered{flex:1;min-height:0;padding:8px 10px;overflow:auto;cursor:text;font-size:12px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.solenoid-note__rendered.sol-md pre,.solenoid-note__rendered.sol-md table{max-width:100%}.solenoid-note__rendered.sol-md pre{white-space:pre-wrap}.solenoid-note__rendered--empty{color:var(--text-muted)}.solenoid-note__resize{position:absolute;right:2px;bottom:2px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--note-color);opacity:.5;cursor:nwse-resize;z-index:7}.solenoid-note__resize:hover{opacity:.9}.solenoid-note__rendered.sol-md{max-width:none;margin:0;line-height:1.45}.solenoid-note__rendered.sol-md>:first-child{margin-top:0}.solenoid-note__rendered.sol-md>:last-child{margin-bottom:0}.solenoid-note__rendered.sol-md h1{font-size:15px;margin:6px 0}.solenoid-note__rendered.sol-md h2{font-size:13.5px;margin:10px 0 5px}.solenoid-note__rendered.sol-md h3{font-size:12.5px;margin:8px 0 4px}.solenoid-note__rendered.sol-md p,.solenoid-note__rendered.sol-md ul,.solenoid-note__rendered.sol-md ol{margin:5px 0}.solenoid-note__rendered.sol-md pre{margin:6px 0}.solenoid-note--selected{box-shadow:0 6px 16px color-mix(in srgb,var(--node-accent) 22%,transparent)}.solenoid-note--selected:after{content:"";position:absolute;inset:-2px;box-sizing:border-box;border:2px solid color-mix(in srgb,var(--node-accent) 70%,#fff);border-radius:11px;pointer-events:none;z-index:6}:root[data-theme=light] .solenoid-note--selected:after{border-color:color-mix(in srgb,var(--node-accent) 68%,#000)}.solenoid-image{position:relative;--node-accent: #6b8299;box-sizing:border-box;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-card);cursor:grab}.solenoid-image *{box-sizing:border-box}.solenoid-image:active{cursor:grabbing}.solenoid-image__bar{position:relative;display:flex;align-items:center;gap:4px;height:26px;padding:0 6px 0 22px;background:color-mix(in srgb,var(--node-accent) var(--header-tint),var(--surface));border-radius:7px 7px 0 0;box-shadow:inset 0 -1px 0 var(--border)}.solenoid-image--collapsed .solenoid-image__bar{border-radius:7px;box-shadow:none}.solenoid-image__chevron{position:absolute;top:50%;left:6px;transform:translateY(-50%);width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:color-mix(in srgb,var(--node-accent) 55%,var(--text));opacity:.8;cursor:pointer}.solenoid-image__chevron:hover{opacity:1}.solenoid-image__chevron svg{transition:transform .1s ease;transform:rotate(90deg)}.solenoid-image--collapsed .solenoid-image__chevron svg{transform:rotate(0)}.solenoid-image__name{flex:1;min-width:0;background:transparent;border:none;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--node-accent) 55%,var(--text));font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:text}.solenoid-image__name:focus{color:var(--text)}.solenoid-image__name::placeholder{color:currentColor;opacity:.5}.solenoid-image__attach{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:color-mix(in srgb,var(--node-accent) 55%,var(--text));cursor:pointer;opacity:.85}.solenoid-image__attach:hover{opacity:1}.solenoid-image__content{display:flex;flex-direction:column;overflow:hidden;border-radius:0 0 7px 7px}.solenoid-image__img{display:block;width:100%;object-fit:contain;background:var(--surface-sunken);-webkit-user-select:none;user-select:none}.solenoid-image__placeholder{display:flex;align-items:center;justify-content:center;width:100%;padding:8px;background:var(--surface-sunken);border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:11px;text-align:center;cursor:pointer}.solenoid-image__placeholder:hover{color:var(--text)}.solenoid-image__controls{display:flex;align-items:center;gap:6px;padding:6px}.solenoid-image__url{flex:1;min-width:0;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:var(--text);font-family:var(--font-sans);font-size:11px;outline:none}.solenoid-image__url:focus{border-color:var(--accent)}.solenoid-image__url::placeholder{color:var(--text-muted)}.solenoid-image__height{flex:0 0 auto;display:flex;align-items:center;gap:3px;color:var(--text-muted);font-size:10px;font-weight:600}.solenoid-image__height input{width:46px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:3px 4px;color:var(--text);font-family:var(--font-sans);font-size:11px;outline:none}.solenoid-image__height input:focus{border-color:var(--accent)}.solenoid-image__hint{padding:0 6px 6px;color:var(--text-muted);font-size:10px;line-height:1.3}.solenoid-image--selected{box-shadow:0 6px 16px color-mix(in srgb,var(--node-accent) 22%,transparent)}.solenoid-image--selected:after{content:"";position:absolute;inset:-1px;box-sizing:border-box;border:2px solid color-mix(in srgb,var(--node-accent) 70%,#fff);border-radius:8px;pointer-events:none;z-index:6}:root[data-theme=light] .solenoid-image--selected:after{border-color:color-mix(in srgb,var(--node-accent) 68%,#000)}.solenoid-group{box-sizing:border-box;display:flex;flex-direction:column;border-radius:11px;-webkit-user-select:none;user-select:none}.solenoid-group *{box-sizing:border-box}.solenoid-group__header{position:relative;flex:0 0 auto;width:100%;height:34px;display:flex;align-items:center;padding:0 10px 0 26px;border:2px solid;border-bottom:none;border-radius:11px 11px 0 0;box-shadow:0 1px 3px #0000001f;cursor:grab}.solenoid-group__header:active{cursor:grabbing}.solenoid-group__chevron{position:absolute;top:50%;left:7px;transform:translateY(-50%);width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:inherit;opacity:.85;cursor:pointer}.solenoid-group__chevron:hover{opacity:1}.solenoid-group__chevron svg{transition:transform .1s ease;transform:rotate(90deg)}.solenoid-group--collapsed .solenoid-group__chevron svg{transform:rotate(0)}.solenoid-group__label{flex:0 1 auto;width:auto;min-width:0;max-width:68%;margin-right:auto;background:transparent;border:none;outline:none;resize:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;letter-spacing:.4px;text-transform:uppercase;cursor:text}textarea.solenoid-group__label{flex:1 1 auto}.solenoid-group__label::placeholder{color:currentColor;opacity:.6}.solenoid-group__tidy,.solenoid-group__swatch{flex:0 0 auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;opacity:.85}.solenoid-group__swatch{margin-left:2px}.solenoid-group__tidy:hover,.solenoid-group__swatch:hover{opacity:1}.solenoid-group__palette{position:absolute;top:36px;right:6px;z-index:5}.solenoid-group__body{position:relative;flex:1 1 auto;width:100%;border:2px dashed;border-top:none;border-radius:0 0 11px 11px}.solenoid-group__resize{position:absolute;right:2px;bottom:2px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;opacity:.5;cursor:nwse-resize}.solenoid-group__resize:hover{opacity:.9}.solenoid-group__summary{flex:0 0 auto;width:100%;border:2px solid;border-top:none;border-radius:0 0 11px 11px;padding:6px 14px;display:flex;flex-direction:column;gap:3px}.solenoid-group__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.solenoid-group__row-label{flex:0 1 auto;min-width:0;font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solenoid-group__row-val{flex:0 0 auto;font-size:15px;color:var(--text-bright);font-variant-numeric:tabular-nums;white-space:nowrap}.solenoid-group__pill{position:absolute;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1.5px var(--surface);z-index:2}.solenoid-group__pill--left{left:-5px}.solenoid-group__pill--right{right:-5px}.solenoid-group__empty{font-size:11px;color:var(--text-dim);font-style:italic}.solenoid-group--selected{box-shadow:0 6px 16px color-mix(in srgb,var(--node-accent) 22%,transparent);border-radius:11px}.solenoid-group--selected:after{content:"";position:absolute;inset:0;box-sizing:border-box;border:2px solid color-mix(in srgb,var(--node-accent) 70%,#fff);border-radius:11px;pointer-events:none;z-index:6}:root[data-theme=light] .solenoid-group--selected:after{border-color:color-mix(in srgb,var(--node-accent) 68%,#000)}.solenoid-group [data-socket-side],.solenoid-group .solenoid-node__input-pill,.solenoid-group .solenoid-node__output-pill{z-index:7}.solenoid-group .solenoid-node__input-pill{left:-5px}.solenoid-group .solenoid-node__output-pill{right:-5px}.solenoid-fc{width:auto;min-width:0;border-color:var(--node-accent, var(--border))}.solenoid-fc .solenoid-node__chevron{display:none}.solenoid-fc__arrow{color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 50%,var(--text))}:root[data-theme=light] .solenoid-fc__arrow{color:var(--text-muted)}.solenoid-fc__row{display:flex;align-items:center;gap:4px;padding:5px 10px 5px 5px}.solenoid-fc__row--custom{padding-top:0}.solenoid-fc__select{flex:1 1 0;min-width:64px;max-width:92px;font-size:11px;padding:3px 18px 3px 5px}.solenoid-fc__select--wide{flex:1 1 auto;min-width:90px;max-width:none}.solenoid-fc__row--decimal{padding-top:0}.solenoid-fc__arrow-spacer{flex:0 0 auto;width:9px}.solenoid-fc__digits{flex:0 0 auto;width:28px;font-size:11px;text-align:center}.solenoid-fc__seg{flex:1 1 auto;display:flex}.solenoid-fc__segbtn{flex:1 1 auto;height:22px;padding:0 4px;font-family:inherit;font-size:10px;line-height:1;background:var(--border-subtle);border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;white-space:nowrap}.solenoid-fc__segbtn:first-child{border-radius:3px 0 0 3px}.solenoid-fc__segbtn:last-child{border-radius:0 3px 3px 0;border-left:none}.solenoid-fc__segbtn--on{background:color-mix(in srgb,var(--node-accent, var(--accent)) 30%,var(--border-subtle));border-color:var(--node-accent, var(--accent));color:var(--text)}.solenoid-fc__pattern{flex:1 1 0;min-width:0;font-size:11px;text-align:left}.solenoid-fc__note{font-size:10px;color:var(--text-dim);font-style:italic;padding:1px 2px;white-space:nowrap}.solenoid-fc__toggle{flex:0 0 auto;width:20px;height:22px;padding:0;font-size:12px;line-height:1;background:var(--border-subtle);border:1px solid var(--border-strong);border-radius:3px;color:var(--text);cursor:pointer}.solenoid-fc__toggle--on{background:color-mix(in srgb,var(--node-accent, var(--accent)) 30%,var(--border-subtle));border-color:var(--node-accent, var(--accent));color:var(--text)}.solenoid-fc__size{flex:0 0 auto;width:40px;font-size:11px;padding:3px 2px}.solenoid-fc__lock{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--text-dim)}.solenoid-fc__mismatch{position:absolute;top:-6px;right:-6px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#e06c2e;color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--surface)}.solenoid-socket-ctx{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:4px;box-shadow:0 4px 16px #00000080;min-width:0}.solenoid-socket-ctx__item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;border-radius:4px;color:var(--text);font-family:inherit;font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.solenoid-socket-ctx__item:hover{background:var(--border-subtle);color:var(--text)}.solenoid-socket-ctx__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:13px;line-height:1;opacity:.7;flex-shrink:0}.solenoid-standoff-svg{position:absolute;left:0;top:0;width:9999px;height:9999px;overflow:visible;pointer-events:none}.solenoid-standoff__bar{stroke:var(--standoff-bar, rgba(138, 150, 170, .26));stroke-linecap:round;transition:stroke .12s ease}.solenoid-standoff__cap{fill:var(--standoff-cap, rgba(138, 150, 170, .45))}.solenoid-standoff-hit{stroke:transparent;pointer-events:stroke;cursor:pointer}.solenoid-standoff:hover .solenoid-standoff__bar{stroke:var(--standoff-bar-hover, rgba(138, 150, 170, .42))}.solenoid-standoff--selected .solenoid-standoff__bar{stroke:var(--standoff-bar-selected, rgba(150, 168, 196, .6))}.solenoid-standoff--selected .solenoid-standoff__cap{fill:var(--standoff-cap-selected, rgba(170, 188, 214, .85))}:root[data-theme=light] .solenoid-standoff__bar{stroke:#626e8233}:root[data-theme=light] .solenoid-standoff:hover .solenoid-standoff__bar{stroke:#626e8257}:root[data-theme=light] .solenoid-standoff--selected .solenoid-standoff__bar{stroke:#50607a80}.solenoid-standoff-toolbar__field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-dim, #9aa1ad);margin:4px 0}.solenoid-standoff-toolbar__field input{width:56px;background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:4px;color:var(--text, #e6e9ee);font:inherit;font-size:11px;padding:3px 5px}.solenoid-standoff-toolbar__delete{display:block;width:100%;margin-top:6px;padding:5px 8px;background:none;border:1px solid var(--border-strong, #3a3f49);border-radius:5px;color:var(--text, #e6e9ee);font:inherit;font-size:11px;cursor:pointer}.solenoid-standoff-toolbar__delete:hover{border-color:#c25b5b;color:#e08a8a}.solenoid-node--placeholder{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sol-error) 40%,transparent)}.solenoid-placeholder{display:flex;flex-direction:column;gap:4px;padding:6px 8px}.solenoid-placeholder__type{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--sol-error);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solenoid-placeholder__msg{font-size:10.5px;line-height:1.4;color:var(--text-dim);white-space:normal}.solenoid-load-overlay{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--canvas-bg);pointer-events:all;transition:opacity .26s ease;opacity:1}.solenoid-load-overlay--leaving{opacity:0;pointer-events:none}.solenoid-load-overlay__card{min-width:220px;padding:18px 20px 16px;box-sizing:border-box;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:12px;box-shadow:var(--overlay-shadow);transition:transform .26s ease}.solenoid-load-overlay--leaving .solenoid-load-overlay__card{transform:translateY(-8px)}.solenoid-load-overlay__label{font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--text);margin-bottom:11px}.solenoid-load-overlay__track{height:6px;width:100%;border-radius:3px;background:color-mix(in srgb,var(--text-muted) 26%,transparent);overflow:hidden}.solenoid-load-overlay__fill{height:100%;width:100%;border-radius:3px;background:var(--accent);transform-origin:left center;transition:transform .12s linear}.solenoid-load-overlay__pct{margin-top:7px;font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:right}.solenoid-compute-overlay{position:absolute;inset:0;z-index:190;display:flex;align-items:center;justify-content:center;pointer-events:all;cursor:progress;background:color-mix(in srgb,var(--canvas-bg) 42%,transparent);animation:solenoid-compute-fade .14s ease both}@keyframes solenoid-compute-fade{0%{opacity:0}to{opacity:1}}.solenoid-compute-overlay__card{display:flex;align-items:center;gap:11px;padding:12px 18px;box-sizing:border-box;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:10px;box-shadow:var(--overlay-shadow)}.solenoid-compute-overlay__label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--text)}.solenoid-compute-overlay__spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text-muted) 30%,transparent);border-top-color:var(--accent);animation:solenoid-compute-spin .7s linear infinite}@keyframes solenoid-compute-spin{to{transform:rotate(360deg)}}.solenoid-isolate-pill{position:fixed;top:84px;left:50%;transform:translate(-50%);z-index:120;display:flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;background:var(--surface);border:1px solid var(--accent);border-radius:999px;box-shadow:0 6px 22px #0006;color:var(--text);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;animation:solenoid-isolate-in .14s ease-out}.solenoid-isolate-pill:hover{border-color:var(--accent);filter:brightness(1.06)}@keyframes solenoid-isolate-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.solenoid-isolate-pill__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.solenoid-isolate-pill__exit{margin-left:4px;padding-left:8px;border-left:1px solid var(--border-strong);color:var(--text-muted, var(--text));font-weight:500}.solenoid-cable-inspector{position:fixed;left:16px;bottom:calc(31px + env(safe-area-inset-bottom));z-index:110;width:220px;display:flex;flex-direction:column;gap:5px;padding:8px 9px 9px;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;box-shadow:var(--overlay-shadow);color:var(--text);font-family:inherit;animation:solenoid-cable-inspector-in .13s ease-out;transition:left .12s ease}html:not(.is-mobile) body.solenoid-nav-open .solenoid-cable-inspector{left:272px}@keyframes solenoid-cable-inspector-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.solenoid-cable-inspector__head{display:flex;align-items:center;gap:8px;margin-bottom:1px}.solenoid-cable-inspector__title{flex:1;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, var(--text))}.solenoid-cable-inspector__close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;color:var(--text-muted, var(--text));opacity:.5;padding:0;cursor:pointer}.solenoid-cable-inspector__close:hover{opacity:1;color:var(--accent)}.solenoid-cable-inspector__end{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 7px}.solenoid-cable-inspector__role{flex:none;width:30px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, var(--text));opacity:.75}.solenoid-cable-inspector__node{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:none;padding:0;color:var(--text);font-family:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer}.solenoid-cable-inspector__node:hover{color:var(--accent);text-decoration:underline}.solenoid-cable-inspector__port{flex:none;color:var(--text-muted, var(--text));font-size:11px;font-weight:500}.solenoid-cable-inspector__value{flex:none;margin-left:auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.solenoid-cable-inspector__value--empty{color:var(--text-muted, var(--text));font-weight:500;opacity:.7}.solenoid-cable-inspector__value--error{color:var(--sol-error);font-weight:700;font-size:11.5px}.solenoid-cable-inspector .solenoid-array-chip{margin-left:auto;color:var(--text);background:var(--surface-raised);border-color:var(--border-strong)}.solenoid-cable-inspector__wire{display:flex;align-items:baseline;gap:4px 7px;margin-top:5px;padding-top:8px;border-top:1px solid var(--overlay-border)}.solenoid-cable-inspector__arrow{align-self:center;margin:-2px 0;font-size:12px;line-height:1;color:var(--text-muted, var(--text));opacity:.55}.solenoid-iso-ep-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;width:1px;height:1px}.solenoid-iso-ep-cable{fill:none;stroke:var(--sock-any);stroke-width:2;opacity:.85;stroke-dasharray:5 4}.solenoid-iso-ep{position:absolute;box-sizing:border-box}.solenoid-iso-ep__head{box-sizing:border-box;display:flex;align-items:center;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}.solenoid-iso-ep__dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--sock-any);border:2px solid var(--socket-ring, var(--surface));box-sizing:border-box;z-index:7}.solenoid-iso-ep__dot--right{right:-6px}.solenoid-iso-ep__dot--left{left:-6px}.solenoid-iso-ep--exit .solenoid-node__io-label{padding-left:10px}.solenoid-add-menu{position:fixed;z-index:200;font-family:inherit;font-size:13px;color:var(--text)}.solenoid-add-menu__heading{padding:5px 10px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px 8px 0 0;border-bottom:none}.solenoid-add-menu__panel{display:grid;grid-template-columns:auto auto;column-gap:3px;align-content:start;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:0 0 8px 8px;padding:3px;box-shadow:var(--overlay-shadow);min-width:170px;max-height:min(384px,85vh);overflow-y:auto}.solenoid-add-menu__search{margin-bottom:3px;width:100%;box-sizing:border-box;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:5px 8px;color:var(--text-bright);font-family:inherit;font-size:12px;outline:none}.solenoid-add-menu__search:focus{border-color:var(--accent)}.solenoid-add-menu__search::placeholder{color:var(--text-muted)}.solenoid-add-menu__empty{padding:6px 10px;color:var(--text-dim);font-size:12px}.solenoid-add-menu__panel>*:not(.solenoid-add-menu__item--half){grid-column:1 / -1}.solenoid-add-menu__panel--submenu{border-radius:8px;z-index:201}.solenoid-add-menu__item{padding:6px 10px;border-radius:3px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;white-space:nowrap}.solenoid-add-menu__item:hover,.solenoid-add-menu__item--active,.solenoid-add-menu__item--open{background:var(--accent-soft)}.solenoid-add-menu__pack-dot{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--text-dim);opacity:.55}.solenoid-add-menu__item--accent{position:relative;z-index:0;color:color-mix(in srgb,var(--item-accent) 55%,var(--text))}.solenoid-add-menu__item--accent:before{content:"";position:absolute;inset:2px 5px;border-radius:4px;background:color-mix(in srgb,var(--item-accent) 22%,transparent);z-index:-1}.solenoid-add-menu__item--accent:hover,.solenoid-add-menu__item--accent.solenoid-add-menu__item--active{background:transparent}.solenoid-add-menu__item--accent:hover:before,.solenoid-add-menu__item--accent.solenoid-add-menu__item--active:before{background:color-mix(in srgb,var(--item-accent) 38%,transparent)}.solenoid-add-menu__item--half{justify-content:flex-start}.solenoid-add-menu__arrow{font-size:9px;color:var(--text-muted);flex-shrink:0}.solenoid-html-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.solenoid-html-frozen .solenoid-cable-flow{animation-play-state:paused}html.perf-no-minimap .solenoid-minimap{display:none}.solenoid-canvas-wrapper{position:relative;width:100%;height:100%;user-select:none;-webkit-user-select:none}.solenoid-canvas{width:100%;height:100%;background-color:var(--canvas-bg);--dot-pct: 100%;background-image:radial-gradient(circle,color-mix(in srgb,var(--canvas-dot) var(--dot-pct),transparent) 1px,transparent 1px);background-size:24px 24px;touch-action:none;-webkit-touch-callout:none;position:relative;isolation:isolate}.solenoid-canvas--locked .solenoid-node,.solenoid-canvas--locked .solenoid-node *,.solenoid-canvas--locked .solenoid-group,.solenoid-canvas--locked .solenoid-group *,.solenoid-canvas--locked .solenoid-cable-hit{pointer-events:none!important}.solenoid-cable-flow{stroke-dasharray:.01 72;animation:solenoid-cable-flow 2.25s linear infinite}@keyframes solenoid-cable-flow{to{stroke-dashoffset:-72.01}}@media(prefers-reduced-motion:reduce){.solenoid-cable-flow{animation:none}}.solenoid-canvas--panning .solenoid-cable-flow{animation-play-state:paused}.solenoid-canvas--panning .solenoid-node,.solenoid-canvas--panning .solenoid-group__header{box-shadow:none}.solenoid-canvas--panning .solenoid-conduit--selected .solenoid-conduit__svg{filter:none}.solenoid-canvas--panning{text-rendering:optimizeSpeed;-webkit-font-smoothing:none}.solenoid-canvas--panning svg:not(.solenoid-cable-svg){shape-rendering:optimizeSpeed}.solenoid-canvas--panning .solenoid-conduit-toolbar{backdrop-filter:none;-webkit-backdrop-filter:none}.solenoid-isolate-dim{opacity:.08;pointer-events:none;transition:opacity .15s ease}.solenoid-menubar__center{position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);display:flex;align-items:center;pointer-events:none}.solenoid-menubar__center>.solenoid-doctitle{pointer-events:auto}.solenoid-doctitle{position:relative;display:flex;align-items:center;gap:2px;max-width:42vw}.solenoid-doctitle__name{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--accent-ink);max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;border:1px solid transparent;border-radius:5px;padding:2px 8px;cursor:text}.solenoid-doctitle__name:hover{background:color-mix(in srgb,var(--accent-ink) 14%,transparent)}.solenoid-doctitle__input{font-family:inherit;font-size:12.5px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:5px;padding:2px 8px;outline:none;min-width:160px;max-width:38vw}.solenoid-doctitle__caret{display:flex;align-items:center;justify-content:center;width:24px;height:22px;background:none;border:1px solid transparent;border-radius:5px;color:var(--accent-ink);cursor:pointer}.solenoid-doctitle__caret:hover,.solenoid-doctitle__caret--open{background:color-mix(in srgb,var(--accent-ink) 18%,transparent)}.solenoid-doctitle__menu{position:fixed;z-index:200;min-width:240px;max-width:320px;max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 36px #00000073;padding:6px}.solenoid-doctitle__section-head{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, var(--text));opacity:.7;padding:6px 8px 4px}.solenoid-doctitle__docs{display:flex;flex-direction:column}.solenoid-doctitle__doc-open{width:100%;display:flex;align-items:center;gap:6px;background:none;border:none;border-radius:5px;padding:6px 8px;color:var(--text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;overflow:hidden}.solenoid-doctitle__doc-open:hover,.solenoid-doctitle__action:hover{background:var(--border-subtle)}.solenoid-doctitle__doc--current .solenoid-doctitle__doc-name{font-weight:700}.solenoid-doctitle__check{width:12px;flex:none;color:var(--accent)}:root[data-theme=light] .solenoid-doctitle__check{color:var(--text)}.solenoid-doctitle__doc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solenoid-doctitle__doc-row{display:flex;align-items:center;border-radius:5px}.solenoid-doctitle__doc-row:hover{background:var(--border-subtle)}.solenoid-doctitle__doc-row .solenoid-doctitle__doc-open{flex:1;min-width:0}.solenoid-doctitle__doc-row .solenoid-doctitle__doc-open:hover{background:none}.solenoid-doctitle__doc-rename{flex:1;min-width:0;font-family:inherit;font-size:12.5px;color:var(--text);background:var(--surface);border:1px solid var(--accent);border-radius:5px;padding:3px 8px;margin:1px 4px 1px 2px;outline:none}.solenoid-doctitle__doc-action{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:2px;padding:0;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;opacity:.4;transition:opacity .12s ease}.solenoid-doctitle__doc-row:hover .solenoid-doctitle__doc-action,.solenoid-doctitle__doc-action:focus-visible{opacity:1}.solenoid-doctitle__doc-action:hover{background:color-mix(in srgb,var(--text) 14%,transparent);color:var(--text)}.solenoid-doctitle__doc-action--danger:hover{color:#e0524d}.solenoid-doctitle__action{display:block;width:100%;background:none;border:none;border-radius:5px;padding:6px 8px;color:var(--text);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.solenoid-doctitle__template{color:var(--text)}.solenoid-doctitle__sep{height:1px;background:var(--border-strong);margin:5px 2px}.solenoid-toolbar{display:flex;align-items:center;gap:8px;font-family:inherit;-webkit-user-select:none;user-select:none}.solenoid-toolbar__label{padding-left:6px;font-size:11px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.solenoid-toolbar__segmented{display:flex;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px;padding:2px;gap:2px}.solenoid-toolbar__segment{display:flex;align-items:center;padding:4px 7px;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:12px;cursor:pointer;border-radius:999px;transition:background-color 80ms ease,color 80ms ease;--icon-bg: var(--btn-bg)}.solenoid-toolbar__icon{display:block;width:17px;height:15px}.solenoid-toolbar__segment:hover{color:var(--accent);background:var(--btn-hover);--icon-bg: var(--btn-hover)}.solenoid-toolbar__segment--active,.solenoid-toolbar__segment--active:hover{background:var(--accent);color:var(--accent-ink);--icon-bg: var(--accent)}.solenoid-toolbar__flow{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px;color:var(--text);cursor:pointer;transition:background-color 80ms ease,color 80ms ease,border-color 80ms ease}.solenoid-toolbar__flow:hover{color:var(--accent);background:var(--btn-hover);border-color:var(--accent)}.solenoid-toolbar__flow--active,.solenoid-toolbar__flow--active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.solenoid-toolbar__flow-icon{display:block;width:32px;height:13px}.solenoid-toolbar__flow--active .solenoid-toolbar__flow-beads{animation:solenoid-flow-bead 1.1s linear infinite}@keyframes solenoid-flow-bead{to{stroke-dashoffset:-10.01}}@media(prefers-reduced-motion:reduce){.solenoid-toolbar__flow--active .solenoid-toolbar__flow-beads{animation:none}}.solenoid-menubar{position:relative;z-index:2;display:flex;align-items:stretch;height:22px;padding:env(safe-area-inset-top) 6px 0;background:var(--accent);color:var(--accent-ink);border-bottom:1px solid rgba(0,0,0,.18);-webkit-user-select:none;user-select:none;font-size:12px}.solenoid-menubar__item{position:relative;display:flex}.solenoid-menubar__top{height:100%;padding:0 9px;background:transparent;border:none;color:var(--accent-ink);font-family:inherit;font-size:12px;cursor:pointer}.solenoid-menubar__top:hover{background:color-mix(in srgb,var(--accent-ink) 14%,transparent)}.solenoid-menubar__top--open{background:color-mix(in srgb,var(--accent-ink) 22%,transparent)}.solenoid-menubar__dropdown{position:absolute;top:100%;left:0;z-index:20;min-width:220px;padding:4px;background:var(--surface);border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--shadow-pop)}.solenoid-menubar__option{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;background:transparent;border:none;border-radius:5px;color:var(--text);font-family:inherit;font-size:12px;text-align:left;cursor:pointer}.solenoid-menubar__option:hover:not(:disabled){background:var(--accent-soft)}.solenoid-menubar__option:disabled{color:var(--text-muted);cursor:default}.solenoid-menubar__check{flex:0 0 12px;width:12px;color:var(--accent);text-align:center}.solenoid-menubar__label{flex:1 1 auto}.solenoid-menubar__shortcut{flex:0 0 auto;color:var(--text-dim);font-size:11px;font-variant-numeric:tabular-nums}.solenoid-menubar__sep{height:1px;margin:4px 6px;background:var(--panel-border)}.solenoid-apptools{display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.solenoid-apptools__pill{position:relative;display:inline-flex;align-items:center;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px}.solenoid-apptools__pill .solenoid-apptools__btn{background:transparent;border:none}.solenoid-apptools__pill .solenoid-apptools__btn:first-of-type{border-radius:999px 0 0 999px}.solenoid-apptools__pill .solenoid-apptools__btn:last-of-type{border-radius:0 999px 999px 0}.solenoid-apptools__paint{position:relative}.solenoid-apptools__paint-dot{position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-radius:50%;border:1px solid var(--surface);pointer-events:none}.solenoid-apptools__palette{position:absolute;top:34px;right:0;z-index:6;display:flex;flex-direction:column;align-items:stretch;gap:6px}.solenoid-apptools__palette-theme{display:none;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-pop);color:var(--text);font-family:inherit;font-size:13px;cursor:pointer}.solenoid-apptools__palette-theme:active{background:var(--btn-hover)}.solenoid-apptools__btn{width:28px;height:28px;background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text);border-radius:50%;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}.solenoid-apptools__btn:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.solenoid-outline__open-pill{position:absolute;top:80px;left:12px;z-index:5;display:inline-flex;align-items:stretch;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:16px;box-shadow:var(--shadow-pop);overflow:hidden}.solenoid-outline__open-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.solenoid-outline__open-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.solenoid-outline__open-btn+.solenoid-outline__open-btn{box-shadow:inset 1px 0 0 var(--panel-border)}.solenoid-outline{position:absolute;top:80px;left:12px;bottom:30px;z-index:5;width:248px;box-sizing:border-box;display:flex;flex-direction:column;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;box-shadow:var(--shadow-pop);-webkit-user-select:none;user-select:none;overflow:hidden}.solenoid-outline__header{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--panel-border)}.solenoid-outline__title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.solenoid-outline__count{flex:1 1 auto;font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.solenoid-outline__collapse{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:var(--text-dim);font-size:16px;line-height:1;cursor:pointer;border-radius:5px}.solenoid-outline__collapse:hover{background:var(--btn-hover);color:var(--accent)}.solenoid-outline__collapse-all{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-radius:5px}.solenoid-outline__collapse-all:hover{background:var(--btn-hover);color:var(--accent)}.solenoid-outline__collapse-all svg{display:block}.solenoid-outline__search{margin:8px 8px 6px;height:26px;padding:0 8px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:6px;color:var(--text);font-family:inherit;font-size:12px;outline:none}.solenoid-outline__search:focus{border-color:var(--accent)}.solenoid-outline__filters{display:flex;gap:6px;padding:0 8px 8px}.solenoid-outline__sortrow{display:flex;align-items:center;gap:6px;padding:0 8px 8px}.solenoid-outline__sortlabel{font-size:11px;color:var(--text-dim);margin-right:auto}.solenoid-outline__sortbtn{height:22px;padding:0 10px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px;color:var(--text-dim);font-size:11px;cursor:pointer}.solenoid-outline__sortbtn:hover{color:var(--text);border-color:var(--btn-border-hover)}.solenoid-outline__sortbtn--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.solenoid-outline__chip{flex:1 1 auto;height:24px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px;color:var(--text-dim);font-family:inherit;font-size:11.5px;cursor:pointer}.solenoid-outline__chip:hover{color:var(--text);border-color:var(--btn-border-hover)}.solenoid-outline__chip--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.solenoid-outline__list{flex:1 1 auto;overflow-y:auto;padding:0 6px 6px;transform:translateZ(0);contain:paint}.solenoid-outline__empty{padding:12px;text-align:center;font-size:12px;color:var(--text-muted)}.solenoid-outline__row{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;padding:5px 8px;margin-top:2px;border-radius:6px;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.solenoid-outline__row:hover{background:var(--btn-hover)}.solenoid-outline__row--sel{background:var(--accent-soft);color:var(--accent)}.solenoid-outline__row--sel:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.solenoid-outline__row--group{font-weight:600}.solenoid-outline__row--group:hover{background:inherit;box-shadow:inset 0 0 0 100vmax #ffffff14}.solenoid-outline__chevron{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;color:inherit;cursor:pointer}.solenoid-outline__chevron svg{display:block;transition:transform 90ms ease}.solenoid-outline__dot{flex:0 0 auto;width:9px;height:9px;border-radius:2px}.solenoid-outline__label{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.solenoid-outline__plug{flex:0 0 auto;display:inline-flex;align-items:center;gap:3px;padding:1px 4px 1px 2px;background:transparent;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer;opacity:.65}.solenoid-outline__row:hover .solenoid-outline__plug{opacity:1}.solenoid-outline__plug:hover{background:var(--btn-hover);color:var(--accent)}.solenoid-outline__plug--on{color:var(--accent);opacity:1}.solenoid-outline__plug svg{display:block}.solenoid-outline__plug-count{font-size:10px;font-variant-numeric:tabular-nums;line-height:1}.solenoid-outline__conns{display:flex;flex-direction:column;gap:1px;padding-right:6px;margin:1px 0 3px}.solenoid-outline__conn{display:flex;align-items:center;gap:4px;padding:2px 4px;border-radius:5px;font-size:11.5px;color:var(--text-dim)}.solenoid-outline__conn:hover{background:var(--btn-hover)}.solenoid-outline__conn-text{flex:1 1 auto;display:flex;align-items:baseline;gap:5px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.solenoid-outline__conn-dir{flex:0 0 auto;color:var(--text-muted)}.solenoid-outline__conn-sock{flex:0 0 auto;color:var(--text)}.solenoid-outline__conn-other{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted)}.solenoid-outline__conn-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;opacity:0}.solenoid-outline__conn:hover .solenoid-outline__conn-btn{opacity:.8}.solenoid-outline__conn-btn:hover{background:var(--btn-hover);color:var(--accent);opacity:1}.solenoid-outline__conn-btn--del:hover{color:#e26d6d}.solenoid-outline__conn-btn svg{display:block}@media(pointer:coarse){.solenoid-outline__conn-btn{opacity:.8}.solenoid-outline__plug{opacity:1}}.solenoid-topbar{position:relative;z-index:1;display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--panel-border);box-shadow:0 2px 0 0 var(--accent),var(--shadow-pop);-webkit-user-select:none;user-select:none}.solenoid-topbar__mark{display:block;height:28px;aspect-ratio:573 / 119;background-color:var(--wordmark-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.solenoid-topbar__icon{display:none;align-items:center;justify-content:center;flex:0 0 auto;align-self:center;width:34px;height:34px;padding:0;border:1px solid var(--btn-border);border-radius:50%;appearance:none;-webkit-appearance:none;background:var(--btn-bg);cursor:pointer;-webkit-tap-highlight-color:transparent}.solenoid-topbar__icon:active{background:var(--btn-hover)}.solenoid-topbar__icon-glyph{display:block;width:20px;height:20px;background-color:var(--wordmark-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.solenoid-topbar__divider{align-self:stretch;width:1px;margin:8px 2px;background:var(--panel-border)}.solenoid-topbar__art{flex:1 1 auto;min-width:0;align-self:stretch;display:flex;align-items:center;overflow:hidden}.solenoid-topbar__art-svg{display:block;height:100%;width:100%;object-fit:contain}.solenoid-topbar__group{display:flex;align-items:center;gap:2px;padding:3px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px}.solenoid-topbar__doctitle{display:none}.solenoid-header{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;flex-direction:column}.solenoid-mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;align-items:center;justify-content:space-between;gap:2px;padding:5px 10px calc(5px + env(safe-area-inset-bottom));background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--panel-border);z-index:100;-webkit-user-select:none;user-select:none}.solenoid-mobile-bar__btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.solenoid-mobile-bar__btn:active{background:var(--btn-hover)}.solenoid-mobile-bar__btn:disabled{opacity:.3;pointer-events:none}.solenoid-mobile-bar__select.solenoid-mobile-bar__btn--on{background:var(--accent-soft);color:var(--accent)}.solenoid-mobile-bar__delete:active{color:#e26d6d}.solenoid-mobile-bar__add{width:46px;height:46px;background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-pop);transform:translateY(-8px)}.solenoid-mobile-bar__add:active{background:var(--accent);filter:brightness(.92)}.fr-backdrop{position:fixed;inset:0;background:#000000a6;z-index:9000;display:flex;align-items:center;justify-content:center}.fr-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;width:96vw;height:91vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #0009}.fr-tabs{display:flex;align-items:stretch;gap:2px;padding:6px 10px 0;background:var(--surface-sunken);border-bottom:1px solid var(--border);flex-shrink:0}.fr-tabs__scroll{display:flex;align-items:stretch;gap:2px;flex:1 1 auto;min-width:0}.fr-tab{padding:7px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.fr-tab:hover{color:var(--text)}.fr-tab--active{color:var(--text-bright);border-bottom-color:var(--accent)}.fr-tabs{position:relative}.fr-tabs .fr-close{position:absolute;right:10px;top:0;bottom:0;margin-block:auto}.fr-doc-scroll{flex:1;overflow:auto;padding:22px 26px 40px}.fr-header{display:flex;flex-direction:column;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-sunken);flex-shrink:0}.fr-header-row1{display:flex;align-items:center;gap:10px}.fr-title{font-size:14px;font-weight:600;color:var(--text-dim);white-space:nowrap}.fr-search{flex:1;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-family:inherit;font-size:13px;padding:5px 10px;outline:none;min-width:0}.fr-search::placeholder{color:var(--text-muted)}.fr-search:focus{border-color:var(--text-muted)}.fr-cats{display:flex;gap:5px;flex-wrap:wrap}.fr-cat{background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;color:var(--text-dim);font-family:inherit;font-size:11px;padding:3px 8px;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s}.fr-cat:hover{background:var(--border);color:var(--text-dim)}.fr-cat--active{background:var(--border-subtle);border-color:var(--text-muted);color:var(--text)}.fr-filters{display:flex;gap:5px;margin-left:auto}.fr-filter-pill{background:var(--surface);border:1px solid var(--border-strong);border-radius:5px;color:var(--text-dim);font-family:inherit;font-size:11px;padding:3px 8px;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s,border-color .1s}.fr-filter-pill:hover{background:var(--border);color:var(--text-dim)}.fr-filter-pill--active{background:#2a1a0a;border-color:#c07830;color:#c07830}.fr-colcheck{display:inline-flex;align-items:center;gap:6px;padding-left:12px;box-shadow:inset 1px 0 0 var(--border);color:var(--text-dim);font-family:inherit;font-size:11px;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.fr-colcheck:hover{color:var(--text)}.fr-colcheck input{cursor:pointer;margin:0;accent-color:var(--accent)}.fr-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:18px;line-height:1;cursor:pointer;padding:0;border-radius:4px;flex-shrink:0}.fr-close:hover{color:var(--text-dim);background:var(--border)}.fr-stats{display:flex;gap:16px;padding:6px 16px;background:var(--surface-sunken);border-bottom:1px solid var(--surface-raised);font-size:11px;color:var(--text-muted);flex-shrink:0}.fr-stats span{display:flex;align-items:center;gap:5px}.fr-stats .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.fr-stats .dot--yes{background:#3d9e5a}.fr-stats .dot--no{background:#c07830}.fr-stats .dot--miss{background:#5a7fb0}.fr-stats .dot--oos{background:var(--border-strong)}.fr-scroll{flex:1;overflow-y:auto;overflow-x:auto}.fr-table{width:100%;min-width:717px;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.fr-table--excel{min-width:1067px}.fr-table col.col-excel{width:135px}.fr-table col.col-syntax{width:215px}.fr-table col.col-sol{width:165px}.fr-table col.col-packs{width:110px}.fr-table col.col-dep{width:42px}.fr-table col.col-parity{width:40px}.fr-table col.col-note{width:360px}.fr-table thead th{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:11px;text-align:left;padding:7px 10px;text-transform:uppercase;letter-spacing:.04em;z-index:2}.fr-table thead th.col-parity,.fr-table thead th.col-dep{text-align:center}.fr-td-packs{color:var(--text-muted);font-size:11px}.fr-td-dep{text-align:center;color:var(--accent)}.fr-table tbody tr{border-bottom:1px solid var(--surface-raised);transition:background .08s}.fr-table tbody tr:hover{background:var(--surface-raised)}.fr-table td{padding:6px 10px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-group-row td{background:var(--surface-sunken);color:var(--text-muted);font-size:11px;font-weight:600;padding:5px 10px;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--border-subtle)}.fr-td-excel{font-weight:600;color:var(--text);font-family:var(--font-mono);font-size:12px}.fr-td-excel--missing{color:var(--border-strong)}.fr-td-excel--sol-only{color:var(--text-muted);font-style:italic;font-weight:400}.fr-td-syntax{color:var(--text-dim);font-family:var(--font-mono);font-size:11.5px}.fr-td-sol{color:#9ecbff;font-size:12px}.fr-td-sol--missing{color:var(--border-strong)}.fr-td-parity{text-align:center}.fr-parity-yes{color:#3d9e5a;font-size:14px;font-weight:700}.fr-parity-warn{color:#c07830;font-size:13px}.fr-parity-miss{color:var(--border-strong);font-size:13px}.fr-sol-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid transparent;border-radius:4px;color:#9ecbff;font-family:inherit;font-size:12px;cursor:pointer;padding:1px 5px 1px 3px;text-align:left;transition:background .1s,border-color .1s}.fr-sol-btn:hover{background:#1a2a3a;border-color:#3a5a8a}.fr-sol-btn__add{font-size:13px;font-weight:700;color:#5a9a6a;opacity:0;transition:opacity .1s}.fr-sol-btn:hover .fr-sol-btn__add{opacity:1}.fr-sol-composition{color:#7a9abf;font-style:italic;font-size:12px}.fr-td-note{color:var(--text-muted);font-size:11.5px;font-style:italic;white-space:normal;line-height:1.4}.fr-td-note--ok{color:#3a6348;font-style:normal}.fr-empty{text-align:center;color:var(--border-strong);padding:48px 0;font-size:13px}.fr-sockets{padding:6px 6px 16px;max-width:440px}.fr-sockets__intro{margin:0 0 16px;color:var(--text-dim);font-size:13px;line-height:1.55}.fr-sockets .solenoid-legend__row{margin-bottom:13px}.fr-sockets .solenoid-legend__type{font-size:14px}.conn-dialog__overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.conn-dialog{width:min(680px,94vw);box-sizing:border-box;padding:16px;background:var(--surface);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-pop);font-family:inherit;color:var(--text)}.conn-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.conn-dialog__title{font-size:14px;font-weight:700}.conn-dialog__check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.conn-dialog__check input{accent-color:var(--accent);cursor:pointer}.conn-dialog__label{display:block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:8px 0 4px}.conn-dialog__arrow{text-align:center;color:var(--text-dim);font-size:16px;margin:6px 0 2px}.conn-dialog__combo{position:relative}.conn-dialog__input{width:100%;box-sizing:border-box;height:38px;padding:0 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:7px;color:var(--text-bright);font-family:inherit;font-size:14px;outline:none}.conn-dialog__input:focus{border-color:var(--accent)}.conn-dialog__menu{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:2;max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--shadow-pop);padding:3px}.conn-dialog__opt{display:flex;align-items:baseline;gap:6px;width:100%;padding:8px 9px;background:transparent;border:none;border-radius:6px;color:var(--text);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.conn-dialog__opt:hover,.conn-dialog__opt--active{background:var(--accent-soft)}.conn-dialog__opt-node{font-weight:600;white-space:nowrap}.conn-dialog__opt-sep{color:var(--text-muted)}.conn-dialog__opt-sock{color:var(--text-dim);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conn-dialog__opt-type{flex:0 0 auto;font-size:10.5px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:0 6px}.conn-dialog__error{min-height:18px;margin:10px 0 4px;font-size:12px;color:#e26d6d}.conn-dialog__buttons{display:flex;justify-content:flex-end;gap:8px}.conn-dialog__btn{height:34px;padding:0 14px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:7px;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer}.conn-dialog__btn:hover{border-color:var(--btn-border-hover)}.conn-dialog__btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.conn-dialog__btn--primary:disabled{opacity:.45;cursor:default}.fx-editor{position:relative;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-family:var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:12.5px;line-height:1.5}.fx-editor__hl,.fx-editor__ta{margin:0;padding:7px 9px;font:inherit;letter-spacing:0;tab-size:2;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box;border:0}.fx-editor__hl{position:absolute;inset:0;pointer-events:none;overflow:hidden;color:var(--text)}.fx-editor__ta{position:relative;display:block;width:100%;background:transparent;color:transparent;caret-color:var(--text);resize:none;outline:none;overflow:auto}.fx-editor__ta::placeholder{color:var(--text-muted);opacity:1}.fx-editor .fx-fn{color:#4aa3df;font-weight:600}.fx-editor .fx-unknown{color:#e0707a}.fx-editor .fx-var{color:#d9a521}.fx-editor .fx-const{color:#b48cff}.fx-editor .fx-num{color:#4cae8f}.fx-editor .fx-str{color:#8aab46}.fx-editor .fx-op,.fx-editor .fx-paren,.fx-editor .fx-comma{color:var(--text-muted)}.fx-editor .fx-err{color:#e0707a;text-decoration:underline wavy}.fx-editor__menu{position:absolute;top:calc(100% + 3px);left:0;z-index:30;margin:0;padding:3px;list-style:none;min-width:170px;max-height:210px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:var(--shadow-card);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px}.fx-editor__item{display:flex;align-items:center;gap:7px;padding:3px 7px;border-radius:5px;cursor:pointer;color:var(--text);white-space:nowrap}.fx-editor__item--on{background:color-mix(in srgb,var(--node-accent, #4aa3df) 24%,transparent)}.fx-editor__item:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.fx-editor__kind{width:13px;text-align:center;font-size:11px;opacity:.85}.fx-editor__kind--fn{color:#4aa3df}.fx-editor__kind--const{color:#b48cff}.fx-editor__kind--var{color:#d9a521}.fx-editor__name{letter-spacing:.01em}.sol-popup-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;background:#00000059;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sol-popup{position:relative;box-sizing:border-box;max-width:100%;max-height:100%;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-pop);font-family:inherit;color:var(--text)}.sol-popup button,.sol-popup select{font-family:inherit}.sol-popup__header{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;margin:-1px -1px 0;border:2px solid var(--node-accent, transparent);border-bottom:none;box-shadow:inset 0 -1px 0 var(--border);border-top-left-radius:8px;border-top-right-radius:8px;background:color-mix(in srgb,var(--node-accent, var(--surface)) var(--header-tint),var(--surface))}.sol-popup__title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text))}.sol-popup__close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text));font-size:20px;line-height:1;cursor:pointer;padding:0}.sol-popup__close:hover{color:color-mix(in srgb,var(--node-accent, var(--text)) 80%,var(--text))}.sol-popup__pin{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 55%,var(--text));cursor:pointer;padding:0;opacity:.7}.sol-popup__pin:hover{opacity:1;color:color-mix(in srgb,var(--node-accent, var(--text)) 80%,var(--text))}.sol-popup__pin--on{opacity:1;color:var(--node-accent, var(--accent));background:color-mix(in srgb,var(--node-accent, var(--accent)) 16%,transparent)}.sol-popup--grouped{border-width:2px;border-color:color-mix(in srgb,var(--group-color, var(--text-dim)) 78%,transparent)}.sol-popup--grouped .sol-popup__header{margin:-2px -2px 0}:root[data-theme=light] .sol-popup--grouped{border-color:var(--group-color-dark, var(--border-strong))}.sol-popup--grouped:before{content:"";position:absolute;inset:-2px;border-radius:8px;background:color-mix(in srgb,var(--group-color, var(--text-dim)) 78%,var(--surface));clip-path:polygon(100% 100%,100% calc(100% - 18px),calc(100% - 18px) 100%);pointer-events:none;z-index:5}:root[data-theme=light] .sol-popup--grouped:before{background:var(--group-color-dark, var(--border-strong))}@media(pointer:coarse){.sol-popup__header{padding:10px 10px 10px 14px}.sol-popup__close,.sol-popup__pin{width:34px;height:34px}.sol-popup__close{font-size:24px}.sol-popup__title{font-size:13px}}.formula-popup{width:min(880px,94vw)}.formula-popup__lock-tag{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 70%,var(--text));background:color-mix(in srgb,var(--node-accent, transparent) 14%,transparent);border:1px solid color-mix(in srgb,var(--node-accent, var(--border-strong)) 45%,transparent);border-radius:999px;padding:2px 8px}.formula-popup__body{padding:14px}.formula-popup__render{display:flex;align-items:center;justify-content:center;min-height:76px;padding:16px 14px;background:var(--border-subtle);border:1px solid var(--border);border-radius:8px;overflow-x:auto}.formula-popup__render .katex{font-size:1.35em}.formula-popup__raw{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px}.formula-popup__empty{color:var(--text-dim);font-style:italic;font-size:13px}.formula-popup__error{margin-top:8px;font-size:11px;color:#e06c2e}.formula-popup__edit-row{display:flex;align-items:flex-start;gap:6px;margin-top:12px}.formula-popup__prefix{font-size:14px;font-weight:600;color:color-mix(in srgb,var(--node-accent, var(--accent)) 70%,var(--text));line-height:30px;-webkit-user-select:none;user-select:none}.formula-popup__textarea{flex:1;width:0;min-height:30px;max-height:160px;padding:6px 8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);resize:vertical;box-sizing:border-box}.formula-popup__textarea:focus{outline:none;border-color:var(--node-accent, var(--accent))}.formula-popup__textarea[readonly]{color:var(--text-dim);cursor:default}.formula-popup__edit-row .fx-editor{flex:1;min-width:0;max-height:180px}.formula-popup__edit-row .fx-editor__ta{min-height:30px}.formula-popup__steps{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.formula-popup__steps-title{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.formula-popup__inputs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.formula-popup__chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--border-subtle);border:1px solid var(--border);color:var(--text)}.formula-popup__steplist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.formula-popup__step{display:flex;align-items:center;font-size:14px;padding:4px 10px;background:var(--border-subtle);border-radius:6px;overflow-x:auto}.formula-popup__steplist{counter-reset:step}.formula-popup__step:before{counter-increment:step;content:counter(step);flex-shrink:0;width:16px;margin-right:8px;font-size:10px;font-weight:700;color:var(--text-dim);text-align:right}.formula-popup__result{margin-top:10px;font-size:15px;color:var(--text)}.formula-popup__result strong{color:color-mix(in srgb,var(--node-accent, var(--accent)) 65%,var(--text))}.formula-popup__steps-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.formula-popup__engine-note{margin-top:10px;padding:6px 8px;font-size:11px;line-height:1.45;color:var(--text-muted);background:color-mix(in srgb,var(--text) 4%,transparent);border-radius:6px}.formula-popup__engine-note strong{color:var(--text);font-weight:600}.table-popup{width:min(1100px,94vw)}.table-popup__dims{flex-shrink:0;font-size:11px;font-family:var(--font-mono);color:color-mix(in srgb,var(--node-accent, var(--text-dim)) 45%,var(--text-dim))}.table-popup__grid-scroll{margin:12px 14px;max-height:56vh;overflow:auto;border:1px solid var(--border);border-radius:4px}.table-popup__grid{border-collapse:separate;border-spacing:0;font-family:var(--font-mono);font-size:13px}.table-popup__grid thead th{position:sticky;top:0;z-index:2}.table-popup__corner,.table-popup__colhead,.table-popup__rowhead{background:var(--surface-sunken);color:var(--text-dim);font-weight:500;font-size:11px;text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:2px 6px;-webkit-user-select:none;user-select:none}.table-popup__rowhead{position:sticky;left:0;z-index:1;min-width:28px}.table-popup__colhead--name{text-align:left;font-weight:600;color:color-mix(in srgb,var(--node-accent, var(--text)) 70%,var(--text));white-space:nowrap;min-width:120px;padding:3px 6px}.table-popup__grid thead th.table-popup__corner{position:sticky;left:0;z-index:4}.table-popup__cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}.table-popup__input{width:100%;min-width:72px;box-sizing:border-box;background:transparent;border:none;padding:4px 8px;color:var(--text-bright);font-family:var(--font-mono);font-size:13px;text-align:right;outline:none}.table-popup__input:focus{background:color-mix(in srgb,var(--accent) 16%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.table-popup__input[readonly]{color:var(--text);cursor:default}.table-popup__input--text{text-align:left;min-width:120px;font-family:var(--font-sans)}.table-popup__colhead-input{min-width:0;width:100%;padding:2px 6px;font-weight:600;font-size:12px;color:color-mix(in srgb,var(--node-accent, var(--text)) 70%,var(--text))}.table-popup__colhead-edit{display:flex;align-items:center;gap:4px}.table-popup__coltype{flex:0 0 auto;width:18px;height:18px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;line-height:1;color:var(--node-accent, var(--text));background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;cursor:pointer}.table-popup__coltype:hover{border-color:var(--node-accent, var(--accent))}.table-popup__csv{display:block;box-sizing:border-box;width:calc(100% - 28px);margin:12px 14px;min-height:120px;max-height:56vh;padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;color:var(--text-bright);font-family:var(--font-mono);font-size:13px;line-height:1.5;white-space:pre;overflow:auto;resize:vertical;outline:none}.table-popup__csv:focus{box-shadow:inset 0 0 0 1px var(--accent)}.table-popup__csv[readonly]{color:var(--text)}.table-popup__view{display:inline-flex;flex-shrink:0;border:1px solid var(--border-strong);border-radius:999px;overflow:hidden}.table-popup__view button{font-size:12px;padding:5px 11px;background:var(--surface);border:none;color:var(--text-dim);cursor:pointer}.table-popup__view button+button{border-left:1px solid var(--border-strong)}.table-popup__view button[aria-pressed=true]{background:color-mix(in srgb,var(--node-accent, var(--accent)) 22%,var(--surface));color:var(--text)}.table-popup__source-check{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:12px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.table-popup__source-check input{margin:0;cursor:pointer;accent-color:var(--node-accent, var(--accent))}.table-popup__dim-controls{display:flex;gap:6px;margin-left:10px}.table-popup__footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 14px 14px}.table-popup__spacer{flex:1 1 0;min-width:0}.table-popup__btn{font-size:12px;padding:5px 12px;border-radius:4px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer}.table-popup__btn:hover{border-color:var(--accent)}.table-popup__btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink, #fff);font-weight:600}.table-popup__btn--primary:hover{filter:brightness(1.08)}@media(pointer:coarse){.table-popup__btn,.table-popup__view button{padding:9px 14px;font-size:13px}}@media(max-width:640px){.table-popup{width:96vw}.table-popup__grid-scroll{max-height:42vh;margin:10px}.table-popup__grid{font-size:14px}.table-popup__input{padding:9px 8px;font-size:14px}.table-popup__colhead,.table-popup__rowhead{font-size:12px}.table-popup__colhead--name{min-width:132px}.table-popup__coltype{width:26px;height:26px;font-size:13px}.table-popup__colhead-input{font-size:13px;padding:4px 6px}.table-popup__csv{font-size:14px;margin:10px;width:calc(100% - 20px)}}.cube-popup__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px 10px;font-size:12px;border-bottom:1px solid var(--border)}.cube-popup__crumb{background:none;border:none;padding:1px 4px;border-radius:4px;color:var(--accent, var(--text-dim));cursor:pointer;font:inherit}.cube-popup__crumb:hover{background:var(--hover-bg, rgba(127,127,127,.15))}.cube-popup__crumb--here{color:var(--text);font-weight:600;cursor:default}.cube-popup__crumb-sep{color:var(--text-muted)}@media(pointer:coarse){.cube-popup__crumb{padding:5px 8px;font-size:13px}}.pivot-editor{width:660px;max-width:92vw;max-height:84vh;display:flex;flex-direction:column}.pivot-editor__body{padding:12px 14px;display:flex;flex-direction:column;gap:12px;overflow:auto}.pivot-fields{border:1px solid var(--border);border-radius:6px;background:var(--surface-sunken);padding:8px 10px}.pivot-fields__head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:6px}.pivot-fields__hint{font-weight:400;text-transform:none;letter-spacing:0}.pivot-fields__list{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.pivot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pivot-zone-wrap{display:flex;flex-direction:column;gap:6px}.pivot-zone{border:1px dashed var(--border);border-radius:6px;background:var(--surface);padding:7px 8px;min-height:84px;display:flex;flex-direction:column;gap:6px;transition:border-color .12s,background .12s}.pivot-zone--over{border-color:var(--accent);border-style:solid;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.pivot-zone--filters{background:var(--surface-sunken);border-style:solid}.pivot-zone__head{display:flex;align-items:center;gap:8px}.pivot-zone__title{flex:1 1 auto;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.pivot-zone__add{font-size:11px;background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px;max-width:110px}.pivot-zone__chips{display:flex;flex-wrap:wrap;gap:6px;min-height:26px;align-content:flex-start;flex:1 1 auto}.pivot-zone__controls{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px}.pivot-zone__controls label{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.pivot-ctl{font-size:11px;background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px}.pivot-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 5px 2px 4px;background:var(--surface-raised, var(--surface));border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;max-width:100%}.pivot-chip:active{cursor:grabbing}.pivot-chip--used{opacity:.74}.pivot-chip__glyph{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;font-size:10px;font-weight:700;background:var(--surface-sunken);color:var(--text)}.pivot-chip__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-chip__func{font-size:10px;background:var(--surface-sunken);color:var(--text);border:1px solid var(--border);border-radius:3px;padding:1px 3px}.pivot-chip__x{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;border:none;background:none;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;border-radius:3px}.pivot-chip__x:hover{color:var(--text);background:var(--surface-sunken)}.pivot-filter{display:flex;flex-direction:column;gap:4px;width:100%}.pivot-filter__chip{width:100%;box-sizing:border-box}.pivot-filter__name{flex:1 1 auto;text-align:left;background:none;border:none;color:var(--text);font-size:12px;cursor:pointer;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-filter__caret{color:var(--text-dim);font-size:9px}.pivot-filter__list{max-height:168px;overflow:auto;border:1px solid var(--border);border-radius:4px;background:var(--surface-sunken);padding:4px 6px;display:flex;flex-direction:column;gap:2px}.pivot-filter__actions{display:flex;gap:6px;margin-bottom:2px}.pivot-filter__actions button{font-size:10px;padding:1px 7px;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text);cursor:pointer}.pivot-filter__opt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);cursor:pointer}.pivot-filter__opt input{margin:0}.pivot-filter__opt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-editor__footer{display:flex;align-items:center;justify-content:flex-end;padding:8px 14px;border-top:1px solid var(--border)}.pivot-editor__done{font-size:12px;padding:5px 14px;border-radius:5px;border:1px solid var(--border);background:var(--accent);color:#fff;cursor:pointer}.pivot-editor__done:hover{filter:brightness(1.06)}@media(max-width:640px){.pivot-editor{width:96vw}.pivot-grid{grid-template-columns:1fr}}@media(pointer:coarse){.pivot-chip{font-size:13px;padding:3px 6px 3px 5px}.pivot-chip__x{width:24px;height:24px;font-size:16px}.pivot-ctl,.pivot-zone__add{font-size:12px;padding:5px 6px}.pivot-filter__actions button{font-size:12px;padding:4px 9px}.pivot-editor__done{font-size:13px;padding:9px 16px}}.solenoid-shortcuts{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.solenoid-shortcuts__panel{width:min(560px,92vw);max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-pop)}.solenoid-shortcuts__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--panel-border)}.solenoid-shortcuts__title{font-size:14px;font-weight:600;color:var(--text-bright)}.solenoid-shortcuts__close{width:24px;height:24px;background:transparent;border:none;color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer;border-radius:5px}.solenoid-shortcuts__close:hover{background:var(--btn-hover);color:var(--accent)}.solenoid-shortcuts__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;padding:16px}.solenoid-shortcuts__group-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.solenoid-shortcuts__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.solenoid-shortcuts__label{font-size:12.5px;color:var(--text)}.solenoid-shortcuts__keys{display:flex;align-items:center;gap:3px;flex:0 0 auto}.solenoid-shortcuts__kbd{min-width:16px;padding:2px 6px;background:var(--btn-bg);border:1px solid var(--btn-border);border-bottom-width:2px;border-radius:4px;font-family:var(--font-mono);font-size:11px;color:var(--text);text-align:center}.solenoid-settings{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.solenoid-settings__panel{width:min(760px,94vw);max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-pop)}.solenoid-settings__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--panel-border)}.solenoid-settings__title{font-size:14px;font-weight:600;color:var(--text-bright)}.solenoid-settings__close{width:24px;height:24px;background:transparent;border:none;color:var(--text-dim);font-size:20px;line-height:1;cursor:pointer;border-radius:5px}.solenoid-settings__close:hover{background:var(--btn-hover);color:var(--accent)}.solenoid-settings__body{padding:8px 16px 16px}.solenoid-settings__section{padding:12px 0;border-bottom:1px solid var(--panel-border)}.solenoid-settings__section:last-child{border-bottom:none}.solenoid-settings__section-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.solenoid-settings__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:8px 0;cursor:pointer}.solenoid-settings__row-text{display:flex;flex-direction:column;gap:3px;min-width:0}.solenoid-settings__row-label{font-size:13px;color:var(--text)}.solenoid-settings__row-help{font-size:11.5px;line-height:1.4;color:var(--text-muted)}.solenoid-settings__subhead{margin:14px 0 4px;font-size:11px;font-weight:600;color:var(--text-dim)}.solenoid-settings__note{font-size:11.5px;line-height:1.5;color:var(--text-muted);padding:4px 0}.solenoid-settings__note code{font-family:var(--font-mono);font-size:11px;padding:1px 5px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:4px;color:var(--text)}.solenoid-settings__muted{color:var(--text-muted);opacity:.8;font-size:11.5px}.solenoid-settings__row--folder{cursor:default;align-items:center}.solenoid-settings__path{margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.solenoid-settings__folder-actions{display:flex;flex-shrink:0;gap:6px}.solenoid-settings__store-btn{margin-top:12px;height:30px;padding:0 14px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:7px;color:var(--text);font-family:inherit;font-size:12.5px;cursor:pointer}.solenoid-settings__store-btn:disabled{opacity:.5;cursor:default}.solenoid-settings__segment{display:inline-flex;flex-shrink:0;margin-top:1px;border:1px solid var(--btn-border);border-radius:7px;overflow:hidden}.solenoid-settings__segbtn{height:28px;padding:0 13px;background:var(--btn-bg);border:none;color:var(--text-dim);font-family:inherit;font-size:12.5px;cursor:pointer}.solenoid-settings__segbtn+.solenoid-settings__segbtn{border-left:1px solid var(--btn-border)}.solenoid-settings__segbtn--on{background:var(--accent);color:var(--accent-ink)}.solenoid-settings__row--palette{align-items:flex-start}.solenoid-settings__palette-control{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.solenoid-settings__select-wrap{position:relative;display:inline-flex;align-items:center}.solenoid-settings__select{appearance:none;-webkit-appearance:none;margin-top:1px;height:28px;padding:0 30px 0 10px;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:8px;color:var(--text);font-family:inherit;font-size:12.5px;cursor:pointer}.solenoid-settings__select-caret{position:absolute;right:9px;top:50%;transform:translateY(-50%);margin-top:1px;color:var(--text-dim);pointer-events:none}.solenoid-settings__switch{flex:0 0 auto;position:relative;width:38px;height:22px;margin-top:1px;padding:0;background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.solenoid-settings__switch--on{background:var(--accent);border-color:var(--accent)}.solenoid-settings__knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-bright);border-radius:50%;transition:transform .12s ease}.solenoid-settings__switch--on .solenoid-settings__knob{transform:translate(16px);background:var(--accent-ink)}.solenoid-pin-layer{display:flex;flex-direction:column;gap:6px;pointer-events:none}.solenoid-pin-layer--collapsed .solenoid-pin,.solenoid-pin-layer--collapsed .solenoid-pin--group{display:none}.solenoid-pin-layer__trigger{pointer-events:auto;position:relative;width:28px;height:28px;margin-left:auto;display:flex;align-items:center;justify-content:center;background:var(--btn-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:50%;color:var(--text);cursor:pointer;box-shadow:var(--overlay-shadow);flex-shrink:0}.solenoid-pin-layer__trigger:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.solenoid-pin-layer__count{position:absolute;top:-4px;right:-5px;min-width:14px;height:14px;padding:0 3px;background:var(--accent);color:var(--accent-ink);border-radius:8px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.solenoid-pin-layer:not(.solenoid-pin-layer--collapsed) .solenoid-pin-layer__count{display:none}.solenoid-pin{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 9px;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;box-shadow:var(--overlay-shadow);cursor:pointer;animation:solenoid-pin-in .13s ease-out}.solenoid-pin:hover{border-color:var(--accent)}@keyframes solenoid-pin-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.solenoid-pin__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted, var(--text));font-size:11px;font-weight:600}.solenoid-pin__value{flex:none;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.solenoid-pin__value--empty{color:var(--text-muted, var(--text));font-weight:500;opacity:.7}.solenoid-pin__value--error{color:var(--sol-error);font-weight:700;font-size:11.5px}.solenoid-pin .solenoid-array-chip{color:var(--text);background:var(--surface-raised);border-color:var(--border-strong)}.solenoid-pin .solenoid-array-chip:hover{background:color-mix(in srgb,var(--text) 14%,var(--surface-raised));border-color:var(--text-dim)}.solenoid-pin__remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;background:none;border:none;color:var(--text-muted, var(--text));opacity:.5;font-size:11px;line-height:1;padding:0;cursor:pointer}.solenoid-pin__remove:hover{opacity:1;color:#e0524d}.solenoid-pin--group{flex-direction:column;align-items:stretch;gap:4px;padding:6px 8px 7px 9px}.solenoid-pin__group-head{display:flex;align-items:center;gap:8px}.solenoid-pin__group-head .solenoid-pin__label{flex:1;font-size:12px;color:var(--text)}.solenoid-pin__rows{display:flex;flex-direction:column;gap:2px}.solenoid-pin__row{display:flex;align-items:baseline;gap:8px}.solenoid-pin__row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted, var(--text));font-size:11px}.solenoid-alert-layer{display:flex;flex-direction:column;gap:6px;pointer-events:none}.solenoid-alert-layer--collapsed .solenoid-alert{display:none}.solenoid-alert-layer__trigger{pointer-events:auto;position:relative;width:28px;height:28px;margin-left:auto;display:flex;align-items:center;justify-content:center;background:var(--btn-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:50%;color:var(--text);cursor:pointer;box-shadow:var(--overlay-shadow);flex-shrink:0}.solenoid-alert-layer__trigger:hover{background:var(--btn-hover);border-color:var(--accent);color:var(--accent)}.solenoid-alert-layer__count{position:absolute;top:-4px;right:-5px;min-width:14px;height:14px;padding:0 3px;background:#e0524d;color:color-mix(in srgb,#e0524d 20%,#000);border-radius:8px;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.solenoid-alert{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 9px;background:var(--overlay-bg);border:var(--overlay-border-width) solid var(--overlay-border);border-radius:8px;box-shadow:var(--overlay-shadow);cursor:pointer;animation:solenoid-alert-in .13s ease-out}.solenoid-alert:hover{border-color:var(--alert-color, var(--accent))}@keyframes solenoid-alert-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.solenoid-alert__msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px;font-weight:600}.solenoid-alert__remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;background:none;border:none;color:var(--text-muted, var(--text));opacity:.5;font-size:11px;line-height:1;padding:0;cursor:pointer}.solenoid-alert__remove:hover{opacity:1;color:#e0524d}.solenoid-hud-stack{position:fixed;top:124px;right:12px;z-index:110;display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:260px;pointer-events:none}.renderer-spike{position:fixed;inset:0;z-index:99999;background:#0e1014}.renderer-spike__host{position:absolute;inset:0;touch-action:none}.renderer-spike__host canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.html-canvas-spike__canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.renderer-spike__chart-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none}.renderer-spike__chart-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.renderer-spike__chart{position:absolute}.renderer-spike__chart svg{display:block;width:100%;height:100%;overflow:visible}.renderer-spike__hud{position:absolute;top:14px;left:14px;min-width:168px;padding:10px 12px;border-radius:10px;background:#12151bdb;border:1px solid rgba(255,255,255,.1);color:#cfd6e4;font:12px/1.5 system-ui,sans-serif;-webkit-user-select:none;user-select:none}.renderer-spike__row{display:flex;justify-content:space-between;align-items:center;gap:16px}.renderer-spike__row span{opacity:.7}.renderer-spike__row b{font-variant-numeric:tabular-nums}.renderer-spike__row b.ok{color:#5fd28a}.renderer-spike__row b.warn{color:#e6c14b}.renderer-spike__row b.bad{color:#e0685f}.renderer-spike__title{font-weight:600;color:#fff;margin-bottom:6px}.renderer-spike__close{background:none;border:none;color:#9aa3b2;cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.renderer-spike__close:hover{color:#fff}.renderer-spike__counts{display:flex;gap:4px;margin-top:8px}.renderer-spike__counts button{flex:1;padding:4px 0;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#cfd6e4;cursor:pointer;font-size:11px}.renderer-spike__counts button:hover{background:#ffffff1a}.renderer-spike__counts button.active{background:#3a6df0;border-color:#3a6df0;color:#fff}.renderer-spike__hint{margin-top:10px;font-size:10.5px;opacity:.55}.renderer-spike__seg{display:flex;gap:4px;margin:6px 0;align-items:center}.renderer-spike__seg--sub{margin-top:8px}.renderer-spike__seg-label{font-size:10.5px;opacity:.6;margin-right:2px}.renderer-spike__seg button{flex:1;padding:5px 0;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#cfd6e4;cursor:pointer;font-size:11px}.renderer-spike__seg button:hover{background:#ffffff1a}.renderer-spike__seg button.active{background:#3a6df0;border-color:#3a6df0;color:#fff}.renderer-spike__edit{position:absolute;z-index:100000;height:24px;padding:2px 6px;border-radius:5px;border:1.5px solid #4d8dff;background:#14171d;color:#fff;font:13px/1 system-ui,sans-serif;outline:none;box-shadow:0 2px 10px #00000080}.renderer-spike__bench{margin-top:6px;font-size:11px}.renderer-spike__bench b{font-variant-numeric:tabular-nums}.renderer-spike__note{margin-top:8px;padding:6px 8px;border-radius:6px;background:#e6c14b1f;border:1px solid rgba(230,193,75,.3);color:#e6c14b;font-size:10.5px;line-height:1.4}.solenoid-webdemo{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 14px;background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:8px;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-pop);font-size:13px;color:var(--text)}.solenoid-webdemo__text strong{font-weight:600}.solenoid-webdemo__download{padding:4px 10px;background:var(--accent);color:#fff;border-radius:5px;text-decoration:none;font-weight:600;white-space:nowrap}.solenoid-webdemo__download:hover{filter:brightness(1.08)}.solenoid-webdemo__download--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.solenoid-webdemo__close{width:22px;height:22px;flex:0 0 auto;background:transparent;border:none;color:var(--text);opacity:.6;cursor:pointer;padding:0;font-size:18px;line-height:1;border-radius:4px}.solenoid-webdemo__close:hover{opacity:1;background:var(--btn-hover)}:root{font-family:Atkinson Hyperlegible Next Variable,Atkinson Hyperlegible Next,system-ui,sans-serif;--font-sans: "Atkinson Hyperlegible Next Variable", "Atkinson Hyperlegible Next", system-ui, sans-serif;--font-mono: "Atkinson Hyperlegible Mono Variable", "Atkinson Hyperlegible Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent: #56b4e9;--accent-soft: rgba(86, 180, 233, .14);--accent-mid: rgba(86, 180, 233, .4);--accent-ink: #1a1a1a;--surface: #1e1e1e;--surface-sunken: #141414;--surface-raised: #262626;--border: #2d2d2d;--border-strong: #3a3a3a;--border-subtle: #2a2a2a;--text: #e8e8e8;--text-bright: #f3f4f5;--text-dim: #9aa0a6;--text-muted: #80868e;--shadow-card: 0 1px 0 rgba(0, 0, 0, .4);--shadow-pop: 0 4px 14px rgba(0, 0, 0, .3);--header-tint: 22%;--socket-ring: rgba(0, 0, 0, .3);--cable-selected: #ffffff;--app-bg: #141414;--canvas-bg: #0e0e0e;--canvas-dot: #2a2a2a;--panel-bg: rgba(30, 30, 30, .9);--panel-border: var(--border);--overlay-bg: rgba(28, 28, 28, .97);--overlay-border: #474c54;--overlay-border-width: 2px;--overlay-shadow: 0 4px 14px rgba(0, 0, 0, .4), 0 1px 4px rgba(0, 0, 0, .3);--btn-bg: var(--surface-sunken);--btn-hover: #1f1f1f;--btn-border: var(--border);--btn-border-hover: var(--border-strong);--wordmark-color: var(--accent)}:root[data-theme=light]{--surface: #fbfcfd;--surface-sunken: #ffffff;--surface-raised: #eef1f5;--border: #ccd2da;--border-strong: #b2bac4;--border-subtle: #dfe3e9;--text: #1b1e23;--text-bright: #0d0f12;--text-dim: #5b636b;--text-muted: #6a717b;--shadow-card: 0 1px 2px rgba(20, 30, 50, .08);--shadow-pop: 0 4px 14px rgba(20, 30, 50, .1);--header-tint: 52%;--socket-ring: rgba(0, 0, 0, .2);--cable-selected: #2a2f37;--app-bg: #f4f5f7;--canvas-bg: #eef1f5;--canvas-dot: #d3d9e1;--panel-bg: rgba(252, 253, 255, .94);--overlay-bg: rgba(255, 255, 255, .98);--overlay-border: #aeb6c1;--overlay-shadow: 0 4px 14px rgba(20, 30, 50, .14), 0 1px 4px rgba(20, 30, 50, .08);--btn-hover: #e9ecf0;--wordmark-color: #1b1e23}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;background:var(--app-bg);color:var(--text)}.solenoid-app{position:relative;width:100vw;height:100vh}button,input,select,textarea{font-family:inherit}.solenoid-statusbar{position:absolute;bottom:0;left:0;right:0;z-index:6;display:flex;align-items:center;gap:14px;height:19px;padding:0 10px env(safe-area-inset-bottom);background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--panel-border);-webkit-user-select:none;user-select:none;font-size:11px;color:var(--text-dim)}.solenoid-statusbar__counts{flex:0 0 auto;display:flex;align-items:center;gap:7px;color:var(--text-dim)}.solenoid-statusbar__budget{display:inline-block;width:52px;height:5px;border-radius:3px;background:var(--btn-hover);overflow:hidden}.solenoid-statusbar__budget-fill{display:block;height:100%;border-radius:3px;background:var(--accent);transition:width .18s ease}.solenoid-statusbar__counts--warn .solenoid-statusbar__budget-fill{background:#e0a100}.solenoid-statusbar__counts--warn{color:var(--text)}.solenoid-statusbar__counts--over .solenoid-statusbar__budget-fill{background:#e5484d}.solenoid-statusbar__counts--over{color:#e5484d;font-weight:600}.solenoid-statusbar__dot{margin:0 6px;color:var(--text-muted)}.solenoid-statusbar__sel{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-variant-numeric:tabular-nums}.solenoid-statusbar__zoom{flex:0 0 auto;color:var(--text-dim);font-variant-numeric:tabular-nums}.solenoid-statusbar__calc{flex:0 0 auto;display:inline-flex;align-items:center;height:14px;margin-right:10px;padding:0 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font:inherit;font-size:11px;letter-spacing:.02em}button.solenoid-statusbar__calc--dirty{background:var(--accent);color:var(--accent-contrast, #fff);font-weight:600;cursor:pointer}.solenoid-nbmodal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#00000052;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.solenoid-nbmodal__panel{width:min(420px,calc(100vw - 40px));padding:20px 22px 18px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-pop);color:var(--text)}.solenoid-nbmodal__title{font-size:16px;font-weight:600;margin-bottom:10px}.solenoid-nbmodal__body{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--text-dim)}.solenoid-nbmodal__body strong{color:var(--text);font-weight:600}.solenoid-nbmodal__actions{display:flex;justify-content:flex-end;margin-top:14px}.solenoid-nbmodal__ok{padding:7px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer}.solenoid-nbmodal__ok:hover{filter:brightness(1.08)}html.is-mobile .solenoid-mobile-bar{display:flex}html.is-mobile .solenoid-minimap{display:none}html.is-mobile .solenoid-topbar{padding:env(safe-area-inset-top) 8px 0;gap:8px}html.is-mobile .solenoid-topbar__group,html.is-mobile .solenoid-topbar__divider,html.is-mobile .solenoid-topbar__art,html.is-mobile .solenoid-topbar .solenoid-toolbar,html.is-mobile .solenoid-topbar__mark,html.is-mobile .solenoid-menubar__center{display:none}html.is-mobile .solenoid-topbar__icon{display:flex}html.is-mobile .solenoid-topbar__doctitle{display:flex;flex:1 1 auto;min-width:0;margin-left:2px}html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle{max-width:100%}html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle__name,html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle__caret{color:var(--text);max-width:none}html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle__name:hover,html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle__caret:hover,html.is-mobile .solenoid-topbar__doctitle .solenoid-doctitle__caret--open{background:var(--border-subtle)}html.is-mobile .solenoid-doctitle__menu{left:8px;right:8px;transform:none;min-width:0;max-width:none}html.is-mobile .solenoid-apptools{gap:6px;margin-left:auto}html.is-mobile .solenoid-apptools__btn{width:34px;height:34px}html.is-mobile .solenoid-apptools__palette{top:40px}html.is-mobile .solenoid-apptools__theme{display:none}html.is-mobile .solenoid-apptools__palette-theme{display:flex}html.is-mobile .solenoid-apptools__pill .solenoid-apptools__paint{border-radius:999px}html.is-mobile .solenoid-menubar{position:absolute;top:0;left:0;right:0;height:0;min-height:0;padding:0;background:transparent;border:none;z-index:8}html.is-mobile .solenoid-menubar__item{display:none}html.is-mobile .solenoid-menubar__sheet{position:absolute;top:calc(44px + env(safe-area-inset-top));left:8px;width:max-content;max-width:min(280px,86vw);max-height:calc(100vh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;background:var(--surface);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-pop);padding:6px}html.is-mobile .solenoid-menubar__sheet-section+.solenoid-menubar__sheet-section{border-top:1px solid var(--panel-border);margin-top:4px;padding-top:6px}html.is-mobile .solenoid-menubar__sheet-heading{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 2px}html.is-mobile .solenoid-menubar__option{padding:11px 10px;font-size:14px}html.is-mobile .solenoid-menubar__sheet .solenoid-menubar__shortcut{display:none}html.is-mobile .solenoid-menubar__sheet-seed{width:100%;max-width:none;height:40px;margin:2px 0 4px;font-size:14px}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar{padding:2px 10px 6px;gap:10px;justify-content:center}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar__label{display:none}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar__segment{padding:8px 12px}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar__icon{width:20px;height:18px}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar__flow{padding:8px 12px}html.is-mobile .solenoid-menubar__sheet .solenoid-toolbar__flow-icon{width:36px;height:15px}html.is-mobile .solenoid-webdemo{top:calc(48px + env(safe-area-inset-top));max-width:calc(100vw - 120px);padding:6px 8px;font-size:12px;text-align:center}html.is-mobile .solenoid-webdemo__download{display:none}html.is-mobile .solenoid-nav{top:calc(52px + env(safe-area-inset-top));gap:4px;padding:4px}html.is-mobile .solenoid-nav__btn--fit,html.is-mobile .solenoid-nav__btn--flourish{display:none}html.is-mobile .solenoid-nav__btn{width:38px;height:38px;font-size:15px}html.is-mobile .solenoid-nav__btn svg{width:16px;height:16px}html.is-mobile .solenoid-add-menu{font-size:13px}html.is-mobile .solenoid-add-menu__item{padding:7px 12px}html.is-mobile .solenoid-add-menu__search{padding:7px 10px;font-size:13px}html.is-mobile .solenoid-add-menu__panel{max-width:92vw;max-height:min(86vh,448px)}html.is-mobile .solenoid-outline__open-pill{display:none}html.is-mobile .solenoid-outline{top:calc(52px + env(safe-area-inset-top));bottom:calc(26px + env(safe-area-inset-bottom));width:min(248px,84vw)}html.is-mobile .solenoid-outline__collapse{width:32px;height:32px;font-size:20px}html.is-mobile .solenoid-outline__chip{height:32px;font-size:13px}html.is-mobile .solenoid-outline__row{padding:9px 8px;font-size:14px}html.is-mobile .solenoid-outline__search{height:34px;font-size:14px}html.is-mobile .solenoid-segbtn{height:30px;font-size:11px}html.is-mobile .sol-switch__opt{width:28px;height:26px;font-size:12px}html.is-mobile .sol-switch__cycle{height:30px;padding:0 12px}html.is-mobile .solenoid-group__header{padding-left:30px}html.is-mobile .solenoid-group__chevron{width:22px;height:22px;left:4px}html.is-mobile .solenoid-group__tidy,html.is-mobile .solenoid-group__swatch{width:26px;height:26px}html.is-mobile .solenoid-note__bar{padding-left:27px}html.is-mobile .solenoid-note__chevron{width:20px;height:20px;left:4px}html.is-mobile .solenoid-note__swatch{width:26px;height:26px}html.is-mobile .solenoid-conduit-toolbar--docked{left:12px;bottom:calc(96px + env(safe-area-inset-bottom))}html.is-mobile .solenoid-conduit-toolbar__extend{padding:8px 14px;font-size:12px}html.is-mobile .table-popup__coltype{width:26px;height:26px;font-size:12px}html.is-mobile .table-popup__view button,html.is-mobile .table-popup__btn{padding:9px 14px}html.is-mobile .table-popup__grid-scroll,html.is-mobile .table-popup__csv{max-height:48vh}html.is-mobile .conn-dialog__input{height:44px;font-size:15px}html.is-mobile .conn-dialog__opt{padding:11px 9px}html.is-mobile .conn-dialog__btn{height:42px;padding:0 18px}html.is-mobile .solenoid-settings__close,html.is-mobile .solenoid-shortcuts__close{width:34px;height:34px}html.is-mobile .solenoid-settings__row{padding:10px 0}html.is-mobile .solenoid-settings__switch{width:46px;height:26px}html.is-mobile .solenoid-settings__knob{width:20px;height:20px}html.is-mobile .solenoid-settings__switch--on .solenoid-settings__knob{transform:translate(20px)}html.is-mobile .fr-panel{width:92vw;height:88vh}html.is-mobile .fr-tab{padding:10px 14px}html.is-mobile .fr-tabs{padding-right:52px}html.is-mobile .fr-tabs__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}html.is-mobile .fr-tabs .fr-close{top:4px;bottom:auto;margin-block:0;right:8px;width:40px;height:40px;background:var(--surface-raised);border:1px solid var(--border-strong);color:var(--text)}html.is-mobile .fr-close svg{width:20px;height:20px}html.is-mobile .fr-header-row1{flex-wrap:wrap}html.is-mobile .fr-search{flex:1 1 100%}html.is-mobile .fr-filters{margin-left:0}html.is-mobile .fr-filter-pill{padding:7px 12px;flex-shrink:0}html.is-mobile .fr-colcheck{padding-top:6px;padding-bottom:6px}html.is-mobile .fr-cats{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}html.is-mobile .fr-cat{padding:7px 12px;flex-shrink:0}html.is-mobile .fr-stats{display:none}html.is-mobile .fr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}html.is-mobile .fr-table col.col-note{width:240px}html.is-mobile .fr-sol-btn__add{opacity:1}@media(max-width:540px){html.is-mobile .solenoid-shortcuts__grid{grid-template-columns:1fr}}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-mono-latin-ext-wght-normal-CXgNM06D.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Mono Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-mono-latin-wght-normal-CoA7y8X5.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html[data-shell=desktop] div[data-tauri-decorum-tb]{height:22px!important;align-items:center!important;pointer-events:none}html[data-shell=desktop] div[data-tauri-decorum-tb] button.decorum-tb-btn{pointer-events:auto;width:37px!important;height:22px!important;font-size:8.5px!important;font-weight:200!important;color:var(--accent-ink)!important}html[data-shell=desktop] .solenoid-menubar{padding-right:120px}
