:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@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;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;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 .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}:root{--text-scale: 1}:root{--z-chrome: 10;--z-modal: 10000;--z-toast: 10001;--z-skip-link: 100000}html,body,#root{height:100%;width:100%;margin:0}#root{display:flex;flex-direction:column;max-width:none!important;padding:0!important}.app,.main,.content,.report-wrap{display:flex;flex:1 1 auto;min-width:0;min-height:0;width:100%}.canvas-wrap{flex:1;min-height:0;min-width:0;position:relative;overflow:auto;isolation:isolate}.canvas-wrap.panning,.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.app-content>.canvas-wrap,.split-primary .canvas-wrap{position:absolute;inset:0}.canvas{position:relative;min-width:2000px;min-height:1500px;padding:16px}.canvas.tool-create-table{cursor:crosshair}body{margin:0;font-family:system-ui,Arial,sans-serif;background:#1f1f1f;color:#efefef;display:block;place-items:unset;min-height:unset}h1{text-align:center}table{margin:2rem auto;border-collapse:collapse}td{border:1px solid #4a4a4a;width:100px}input{width:100%;height:28px;padding:4px;box-sizing:border-box;background:#fff;color:#000;border:none;outline:none}.calc-box{position:absolute;min-width:160px;width:var(--w, auto);border-radius:4px;transition:background .15s ease}.calc-box.kind-text{background:#3c3c3cd9;border-left:3px solid #666}.calc-box.kind-text .calc-render{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#aaa;font-style:normal}:root{--eq-max-width: 672px;--report-font-size: 13px;--report-line-height: 1.4;--report-katex-scale: 1;--report-h1-scale: 1.4em;--report-h2-scale: 1.2em;--report-h3-scale: 1.05em;--report-box-pad-v: 2px;--report-box-pad-h: 4px;--report-box-min-h: 22px;--katex-display-margin-v: 0px;--report-table-row-h: 24px;--report-table-cell-pad: 2px 6px}.calc-box.kind-variable{background:#286428cc;border-left:3px solid #4a4;width:fit-content;min-width:100px;max-width:var(--eq-max-width)}.calc-box.kind-variable .calc-render{color:#7c7;white-space:nowrap}.calc-box.kind-equation{background:#2d4682cc;border-left:3px solid #68c;width:fit-content;min-width:100px;max-width:var(--eq-max-width)}.calc-box.kind-equation .calc-render{color:#9bf;white-space:nowrap}.calc-box.kind-equation .calc-render .calc-math-content,.calc-box.kind-variable .calc-render .calc-math-content{max-width:none;overflow:visible}.calc-box.kind-equation .calc-math-content .katex-display,.calc-box.kind-variable .calc-math-content .katex-display{display:block;margin:var(--katex-display-margin-v, 2px) 0;text-align:left;white-space:normal}.calc-box.kind-equation .calc-math-content .katex-display>.katex,.calc-box.kind-variable .calc-math-content .katex-display>.katex{display:inline-block;text-align:left}.calc-box.kind-plot{background:#503278bf;border-left:3px solid #a78bfa;min-width:200px;min-height:150px}.calc-box.kind-plot .calc-render,.calc-box.kind-plot .plot-render{padding:8px}.calc-box.kind-plot .plot-canvas-container{width:100%;height:100%}.calc-box.kind-plot .plot-canvas-container canvas{max-width:100%;max-height:100%}.calc-box.kind-plot .plot-placeholder{border-color:#a78bfa}.calc-box.kind-plot .resize-handle-corner{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#4a4a4a 50%);opacity:0;transition:opacity .12s ease-in-out;border-radius:0 0 4px}.calc-box.kind-plot:hover .resize-handle-corner,.calc-box.kind-plot.selected .resize-handle-corner{opacity:.7}.calc-box.kind-plot.edit .resize-handle-corner{display:none}.calc-box.kind-table{background:#64646480!important;border-left:3px solid #888!important}.calc-box.kind-table:has(.dropdown-cell-editing){z-index:1000!important}.calc-box:not(.kind-text):not(.kind-variable):not(.kind-equation):not(.kind-plot):not(.kind-table){background:#64646433;border-left:3px solid #888}.calc-box:not(.kind-text):not(.kind-variable):not(.kind-equation):not(.kind-plot) .calc-render{color:#bbb}.resize-handle{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;cursor:nwse-resize;border-radius:3px;background:#4a4a4a;opacity:0;transition:opacity .12s ease-in-out;pointer-events:auto}.calc-box:hover .resize-handle,.calc-box.selected .resize-handle{opacity:.7}.calc-box.edit .resize-handle{display:none}.calc-box.edit{cursor:text}.calc-box.render{cursor:move}.picking-mode .calc-box,.picking-mode .calc-box.edit,.picking-mode .calc-box.render,.picking-mode .calc-box *,.picking-mode .calc-render *{cursor:pointer!important}.picking-mode .calc-box.edit-session-source,.picking-mode .calc-box.edit-session-source *{cursor:auto!important}.picking-mode .calc-box.edit-session-source input,.picking-mode .calc-box.edit-session-source textarea{cursor:text!important}.picking-mode.canvas{cursor:crosshair}.picking-mode .calc-box{-webkit-user-select:none;user-select:none}.picking-mode .calc-box.edit-session-source{-webkit-user-select:auto;user-select:auto}.picking-mode .calc-box.edit-session-source input,.picking-mode .calc-box.edit-session-source textarea{-webkit-user-select:text;user-select:text}.picking-mode .sheet-cell.edit-session-source{outline:2px solid var(--accent-blue, #4a9eff);z-index:10}.picking-mode .sheet-cell.edit-session-source,.picking-mode .sheet-cell.edit-session-source *{cursor:auto!important}.picking-mode .sheet-cell.edit-session-source input{cursor:text!important;-webkit-user-select:text;user-select:text}.calc-box.selected{outline:2px solid #4f9cff;outline-offset:0}.calc-box.kind-table.selected:not(.frame-selected){outline:none}@keyframes highlight-pulse{0%{box-shadow:0 0 0 4px #4f9cff99;outline-color:#4f9cff}50%{box-shadow:0 0 0 8px #4f9cff4d;outline-color:#7bb8ff}to{box-shadow:0 0 0 4px #4f9cff00;outline-color:#4f9cff}}.calc-box.highlight-pulse{animation:highlight-pulse .6s ease-out}@keyframes ai-follow-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.ai-follow-dot{animation:ai-follow-dot 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.ai-follow-dot{animation:none}.calc-box.highlight-pulse{animation:none;outline:2px solid var(--accent-blue, #4f9cff)}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.calc-box.frame-selected{outline:3px solid #f97316;outline-offset:2px;box-shadow:0 0 0 4px #f9731633}.calc-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--report-font-size, 13px);line-height:var(--report-line-height, 1.4);min-width:200px;max-width:800px}.calc-input:focus{border-radius:2px;box-shadow:0 0 0 2px var(--accent-blue)}.calc-input-measure{position:absolute;visibility:hidden;white-space:pre;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:var(--report-font-size, 13px);line-height:var(--report-line-height, 1.4);pointer-events:none}.calc-render{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:calc(var(--report-font-size, 13px) * var(--text-scale, 1));line-height:var(--report-line-height, 1.4);white-space:pre-wrap}.calc-render .katex{font-size:calc(1em * var(--report-katex-scale, 1))}.calc-render h1{font-size:var(--report-h1-scale, 1.4em);text-align:left;margin:0 0 .3em}.calc-render h2{font-size:var(--report-h2-scale, 1.2em);text-align:left;margin:0 0 .3em}.calc-render h3{font-size:var(--report-h3-scale, 1.05em);text-align:left;margin:0 0 .3em}.calc-render *{cursor:text}.calc-error{color:#e57373;font-size:calc(12px * var(--text-scale, 1));margin-left:6px}.marquee{position:absolute;pointer-events:none;border:1px dashed #4f9cff;background:#4f9cff26}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2d2d2d;--bg-hover: #333;--border-color: #404040;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-muted: #888;--accent-blue: #4f9cff;--accent-green: #5cb85c;--accent-yellow: #f0ad4e;--accent-red: #d9534f;--panel-width: 280px;--canvas-bg: #222;--canvas-dots: #444;--sheet-bg: #252525;--sheet-text: #e8e8e8;--sheet-border: #404040;--sheet-header-bg: #2d2d2d;--sheet-header-text: #a0a0a0;--sheet-header-active-bg: #3a3a3a;--sheet-header-border: #404040;--sheet-input-bg: #333;--sheet-input-border: #4f9cff;--sheet-grid-line: #404040}[data-theme=light]{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #ebebeb;--bg-hover: #e0e0e0;--border-color: #d0d0d0;--border-subtle: #c0c0c0;--text-primary: #1a1a1a;--text-secondary: #444444;--text-muted: #555555;--text-hint: #666666;--text-tertiary: #555555;--accent-blue: #2563eb;--accent-green: #16a34a;--accent-yellow: #b45309;--accent-red: #dc2626;--accent-orange: #c2410c;--canvas-bg: #fafafa;--canvas-dots: #bbb;--scrollbar-track: #e8e8e8;--scrollbar-thumb: #a0a0a0;--scrollbar-thumb-hover: #888888}[data-theme=light] .calc-box.kind-text{background:#f0f0f0f2;border-left-color:var(--text-secondary)}[data-theme=light] .calc-box.kind-text .calc-render{color:var(--text-primary)}[data-theme=light] .calc-box.kind-variable{background:#dcf5dcf2;border-left-color:#16a34a}[data-theme=light] .calc-box.kind-variable .calc-render{color:#15803d}[data-theme=light] .calc-box.kind-equation{background:#dce6faf2;border-left-color:#2563eb}[data-theme=light] .calc-box.kind-equation .calc-render{color:#1d4ed8}[data-theme=light] .calc-box.kind-plot{background:#ebe1fff2;border-left-color:#8b5cf6}[data-theme=light] .calc-box.kind-table{background:#c8c8c880;border-left-color:var(--text-muted)}[data-theme=light] .table-cell.variable{background:#dcf5dce6}[data-theme=light] .table-cell.equation{background:#dce6fae6}[data-theme=light] .resize-handle{background:var(--text-muted)}[data-theme=light] .resize-handle-corner{background:linear-gradient(135deg,transparent 50%,var(--text-muted) 50%)}[data-theme=light] input[type=range]{accent-color:var(--accent-blue)}[data-theme=light] input[type=range]::-webkit-slider-runnable-track{background:var(--border-color)}[data-theme=light] input[type=range]::-webkit-slider-thumb{background:var(--accent-blue)}[data-theme=light] .canvas-container,[data-theme=light] .paper-background{background:var(--canvas-bg)}[data-theme=light] .calc-explanation-label{background:#6464642e;color:var(--text-muted)}[data-theme=light] .calc-box.kind-variable .calc-explanation-label{background:#16a34a26;color:#15803d}[data-theme=light] .calc-box.kind-equation .calc-explanation-label{background:#2563eb1f;color:#2563eb}[data-theme=light] .katex{color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#2a2a2a;border-radius:5px}::-webkit-scrollbar-thumb{background:#555;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#666}::-webkit-scrollbar-corner{background:#2a2a2a}[data-theme=light] ::-webkit-scrollbar-track{background:var(--scrollbar-track)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}[data-theme=light] ::-webkit-scrollbar-corner{background:var(--scrollbar-track)}[data-theme=light] .eq-label{color:var(--text-muted)}[data-theme=light] .eq-formula{color:var(--text-primary)}[data-theme=light] .eq-formula-row.computed .eq-label{color:var(--accent-orange)}[data-theme=light] .node-equation-expanded{border-top-color:var(--border-color)}[data-theme=light] .inspector-node-header,[data-theme=light] .node-name{color:var(--text-primary)}[data-theme=light] .option-name{color:var(--text-muted)}[data-theme=light] .option-value{color:var(--text-primary)}[data-theme=light] .inspector-label{color:var(--text-secondary)}[data-theme=light] .inspector-hint{color:var(--text-hint)}[data-theme=light] .inspector-value{color:var(--text-primary)}[data-theme=light] .inspector-result{color:var(--accent-green)}[data-theme=light] .inspector-content{color:var(--text-primary)}[data-theme=light] .comparison-label{color:var(--text-muted)}[data-theme=light] .comparison-value{color:var(--text-primary)}[data-theme=light] .section-hint{color:var(--text-hint)}[data-theme=light] .inspector-vars-header,[data-theme=light] .goal-seeker-header{color:var(--text-primary)}[data-theme=light] .eq-target-label{color:var(--text-muted)}[data-theme=light] .inspector-section label,[data-theme=light] .inspector-collapsible-header label{color:var(--text-secondary)}[data-theme=light] .var-deps-expand-hint{color:var(--text-hint)}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg-primary)}.app-topbar{flex-shrink:0;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);overflow:visible;z-index:var(--z-chrome)}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.app-left-sidebar{width:180px;flex-shrink:0;border-right:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden;position:relative}.app-left-sidebar.collapsed{width:32px!important}.left-sidebar-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:10}.left-sidebar-resize-handle:hover{background:var(--accent-blue);opacity:.5}.app-main-area{display:flex;flex:1;min-height:0;overflow:hidden}.app-content{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.app-content.split-active{display:flex}.app-content.split-vertical{flex-direction:row}.app-content.split-horizontal{flex-direction:column}.split-primary{position:relative;overflow:hidden;min-width:0;min-height:0;display:flex;flex-direction:column}.split-secondary{position:relative;overflow:hidden;min-width:0;min-height:0}.split-divider{flex-shrink:0;background:var(--border-color, #444);position:relative;z-index:5}.split-vertical .split-divider{width:4px;cursor:ew-resize}.split-horizontal .split-divider{height:4px;cursor:ns-resize}.split-divider:hover{background:var(--accent-blue, #3b82f6)}.split-pane-wrapper{display:flex;flex-direction:column;height:100%;width:100%}.split-pane-header{display:flex;align-items:center;gap:6px;padding:3px 8px;background:var(--bg-tertiary, #2a2a2a);border-bottom:1px solid var(--border-color, #444);font-size:12px;flex-shrink:0;min-height:24px}.split-pane-header-icon{font-size:13px}.split-pane-header-label{color:var(--text-primary, #eee);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.split-pane-header-badge{font-size:10px;color:var(--text-secondary, #999);background:var(--bg-primary, #1a1a1a);padding:1px 5px;border-radius:3px;margin-left:auto}.split-pane-close-btn{background:none;border:none;color:var(--text-secondary, #999);cursor:pointer;font-size:14px;padding:0 4px;line-height:1;border-radius:3px}.split-pane-close-btn:hover{background:var(--bg-hover, #3a3a3a);color:var(--text-primary, #eee)}.split-pane-tab-select{background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #eee);border:1px solid var(--border-color, #444);border-radius:3px;padding:2px 6px;font-size:12px;font-family:inherit;cursor:pointer;min-width:0;max-width:200px;overflow:hidden;text-overflow:ellipsis}.split-pane-tab-select:hover{border-color:var(--accent-blue, #3b82f6)}.split-pane-tab-select:focus-visible{outline:2px solid var(--accent-blue, #3b82f6);outline-offset:1px}.split-pane-body{flex:1;min-height:0;min-width:0;overflow:hidden;position:relative}.split-tab-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:var(--bg-secondary, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:6px;box-shadow:0 4px 12px #0000004d;min-width:200px;max-height:300px;overflow-y:auto;padding:4px}.split-tab-dropdown-header{font-size:11px;color:var(--text-secondary, #999);padding:4px 8px 2px;text-transform:uppercase;letter-spacing:.5px}.split-tab-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;background:none;color:var(--text-primary, #eee);cursor:pointer;border-radius:4px;font-size:13px;text-align:left}.split-tab-dropdown-item:hover{background:var(--bg-hover, #3a3a3a)}.split-tab-dropdown-kind{margin-left:auto;font-size:10px;color:var(--text-secondary, #888);text-transform:capitalize}.split-tab-dropdown-empty{padding:8px 10px;color:var(--text-secondary, #888);font-size:12px;font-style:italic}.split-pane-report-header{color:var(--text-secondary, #999);font-size:12px;margin-bottom:8px;border-bottom:1px solid var(--border-color, #333);padding-bottom:4px;display:flex;align-items:baseline;gap:8px}.split-pane-report-hint{font-size:10px;color:var(--text-secondary, #777);font-style:italic;margin-left:auto}.split-pane-box{border:1px solid var(--border-color, #444);border-radius:4px;padding:8px;background:var(--bg-secondary, #252525);font-size:13px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}.split-pane-box:hover{border-color:var(--accent-blue, #3b82f6)}.split-pane-box.selected{border-color:var(--accent-blue, #3b82f6);box-shadow:0 0 0 2px #3b82f64d}.split-pane-box:focus-visible{outline:2px solid var(--accent-blue, #3b82f6);outline-offset:1px}.split-pane-document-overlay{position:sticky;top:0;z-index:10;background:#0009;color:var(--text-secondary, #aaa);font-size:11px;text-align:center;padding:3px 0;opacity:0;transition:opacity .2s;pointer-events:none}.split-pane-body:hover .split-pane-document-overlay{opacity:1}.split-tab-select{background:var(--bg-primary, #1a1a1a);color:var(--text-primary, #eee);border:1px solid var(--border-color, #444);border-radius:4px;padding:3px 6px;font-size:12px;cursor:pointer;max-width:150px}.split-tab-select:hover{border-color:var(--accent-blue, #3b82f6)}.sheet-zoom-container{isolation:isolate;overflow:visible}.app-right-panel{flex-shrink:0;width:var(--panel-width);border-left:1px solid var(--border-color);background:var(--bg-secondary);overflow:hidden}.app-right-panel.closed{width:32px;transition:width .2s ease}.app-statusbar{flex-shrink:0;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.left-sidebar{display:flex;flex-direction:column;height:100%}.left-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border-color);font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.left-sidebar.collapsed{width:32px!important;display:flex;flex-direction:column;align-items:center;padding-top:8px}.left-sidebar-toggle{padding:4px 8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;border-radius:4px;transition:all .15s ease}.left-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.left-sidebar-list{flex:1;overflow-y:auto;padding:8px 0}.left-sidebar-section{margin-bottom:8px}.left-sidebar-section-title{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.left-sidebar-story-row{display:flex;align-items:center;gap:4px;padding:2px 10px 2px 22px}.left-sidebar-story-row .left-sidebar-action-btn{flex-shrink:0;opacity:.5}.left-sidebar-story-row:hover .left-sidebar-action-btn{opacity:1}.left-sidebar-story-label{flex:1 1 auto;min-width:0;font-size:11px;padding:2px 4px;background:transparent;border:1px solid transparent;color:var(--text-primary)}.left-sidebar-story-elev{width:48px;font-size:11px;padding:2px 4px;background:transparent;border:1px solid transparent;color:var(--text-secondary);text-align:right}.left-sidebar-story-label:focus,.left-sidebar-story-elev:focus{border-color:var(--border-color);background:var(--bg-hover);outline:none}.left-sidebar-section-toggle{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;padding:0;background:none;border:none;color:inherit;cursor:pointer;text-align:left}.left-sidebar-section-toggle:hover .left-sidebar-section-title{color:var(--text-secondary)}.left-sidebar-section-chevron{flex-shrink:0;width:10px;font-size:8px;color:var(--text-muted);line-height:1}.left-sidebar-item{display:flex;align-items:center;gap:4px;width:100%;padding:6px 8px;background:none;border:none;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:all .1s ease;box-sizing:border-box;overflow:hidden}.left-sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.left-sidebar-item.active{background:var(--bg-hover);color:var(--text-primary);border-left:2px solid var(--accent-blue)}.left-sidebar-item.selected{background:#3b82f62e;background:color-mix(in srgb,var(--accent-blue) 22%,transparent);color:var(--text-primary)}.left-sidebar-item.selected.active{border-left:2px solid var(--accent-blue)}.left-sidebar-item-grip{flex-shrink:0;width:10px;font-size:10px;line-height:1;color:var(--text-muted);cursor:grab;opacity:.35;transition:opacity .1s ease;user-select:none;-webkit-user-select:none}.left-sidebar-item:hover .left-sidebar-item-grip{opacity:.8}.left-sidebar-item-grip:hover{opacity:1;color:var(--text-primary)}.left-sidebar-item-grip:active{cursor:grabbing}.left-sidebar-item.dragging{position:relative;z-index:3;background:var(--bg-hover);color:var(--text-primary);border-radius:6px;box-shadow:0 12px 28px #00000073,0 2px 8px #00000059;cursor:grabbing}.left-sidebar-item.dragging .left-sidebar-item-grip{opacity:1;color:var(--text-primary)}.left-sidebar-item.displacing{transition:transform .19s cubic-bezier(.2,.9,.3,1);will-change:transform}@media(prefers-reduced-motion:reduce){.left-sidebar-item.displacing{transition:none}}.left-sidebar-selection-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border-color);background:var(--bg-hover)}.left-sidebar-selection-count{flex:1;font-size:11px;font-weight:600;color:var(--text-secondary)}.left-sidebar-selection-bar button{padding:2px 8px;background:none;border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;cursor:pointer;border-radius:3px;transition:all .1s ease}.left-sidebar-selection-bar button:hover{background:var(--bg-hover);color:var(--text-primary)}.left-sidebar-selection-bar button.danger{color:#e5484d;border-color:#e5484d80}.left-sidebar-selection-bar button.danger:hover{background:#e5484d1f;color:#e5484d}.left-sidebar-item-icon{font-size:12px;flex-shrink:0}.left-sidebar-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.left-sidebar-item-actions{display:flex;gap:2px;flex-shrink:0;opacity:.5;transition:opacity .1s ease}.left-sidebar-item:hover .left-sidebar-item-actions{opacity:1}.left-sidebar-action-btn{padding:2px 4px;background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;border-radius:2px}.left-sidebar-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.left-sidebar-action-btn.delete-btn:hover{background:#dc262633;color:#ef4444}.left-sidebar-footer{padding:8px;border-top:1px solid var(--border-color);display:flex;gap:4px}.left-sidebar-add-btn{flex:1;padding:6px 8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.left-sidebar-add-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.top-bar{display:flex;flex-direction:column;padding:0;box-sizing:border-box}.top-bar-header{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid var(--border-color)}.top-bar-logo{display:flex;align-items:center;gap:6px;padding-right:12px;border-right:1px solid var(--border-color)}.logo-icon{width:22px;height:22px;border-radius:5px;display:block;flex-shrink:0}.logo-text{font-size:14px;font-weight:600;color:var(--text-primary)}.top-bar-formula{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.top-bar-settings{padding:6px 10px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:16px;transition:all .15s ease}.top-bar-settings:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-bar{display:flex;align-items:center;gap:2px}.menu-container{position:relative}.menu-trigger{cursor:pointer}.menu-bar-item{display:inline-block;padding:6px 12px;color:var(--text-secondary);font-size:13px;border-radius:4px;transition:all .15s ease;cursor:pointer}.menu-bar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;z-index:1000}.menu-dropdown.right{left:auto;right:0}.menu-item{display:flex;align-items:center;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:background .1s ease}.menu-item:hover:not(.disabled){background:var(--bg-hover)}.menu-item.disabled{color:var(--text-muted);cursor:not-allowed}.menu-item-icon{width:20px;text-align:center;margin-right:8px;font-size:12px}.menu-item-label{flex:1}.menu-item-shortcut{color:var(--text-muted);font-size:11px;margin-left:16px}.menu-divider{height:1px;background:var(--border-color);margin:4px 8px}.ribbon-tabs-inline{display:flex;align-items:center;gap:2px;margin-left:16px;padding-left:16px;border-left:1px solid var(--border-color)}.ribbon-toolbar{display:flex;flex-direction:column;flex:1;min-width:0}.ribbon-tabs{display:flex;align-items:center;gap:2px;padding:0 4px;height:28px;border-bottom:1px solid var(--border-color)}.ribbon-tab{padding:4px 14px;background:transparent;border:none;border-radius:4px 4px 0 0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.ribbon-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.ribbon-tab.active{background:var(--bg-tertiary);color:var(--text-primary);border-bottom:2px solid var(--accent-blue);margin-bottom:-1px}.ribbon-tab--contextual{color:var(--accent-green, #a6e3a1);font-style:italic;border-left:2px solid var(--accent-green, #a6e3a1);margin-left:6px;padding-left:10px}.ribbon-tab--contextual:hover{color:var(--text-primary);background:#a6e3a11f}.ribbon-tab--contextual.active{color:var(--accent-green, #a6e3a1);border-bottom:2px solid var(--accent-green, #a6e3a1);background:var(--bg-tertiary)}.ribbon-table-presets{display:flex;align-items:center;gap:4px;padding:4px 0;flex-wrap:nowrap}.ribbon-table-preset-swatch{width:32px;height:32px;border-radius:4px;border:2px solid transparent;cursor:pointer;padding:0;overflow:hidden;outline:none;flex-shrink:0;transition:border-color .12s ease,transform .12s ease}.ribbon-table-preset-swatch:hover{transform:scale(1.1)}.ribbon-table-preset-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--accent-blue)}.ribbon-panel{display:flex;align-items:stretch;gap:2px;padding:6px 8px;min-height:68px;background:var(--bg-tertiary);overflow:visible}.ribbon-group{display:flex;flex-direction:column;padding:0 12px;border-right:1px solid var(--border-color);position:relative}.ribbon-group:last-child{border-right:none}.ribbon-group-content{display:flex;flex-direction:column;gap:4px;flex:1}.ribbon-group-label{font-size:10px;color:var(--text-muted);text-align:center;text-transform:uppercase;padding-top:4px;border-top:1px solid var(--border-color);margin-top:4px}.ribbon-button-row{display:flex;gap:2px}.ribbon-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 8px;min-width:44px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .12s ease}.ribbon-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.ribbon-button.active{background:#4f9cff26;border-color:var(--accent-blue);color:var(--accent-blue)}.ribbon-button:disabled{opacity:.4;cursor:not-allowed}.ribbon-button-icon{font-size:16px;line-height:1}.ribbon-button-label{font-size:10px;line-height:1;white-space:nowrap}.ribbon-button-large{min-width:54px;padding:6px 10px}.ribbon-button-large .ribbon-button-icon{font-size:20px}.ribbon-button-large .ribbon-button-label{font-size:11px}.ribbon-button-compact{min-width:26px;max-width:26px;height:26px;padding:4px;justify-content:center}.ribbon-button-compact .ribbon-button-icon{font-size:14px;font-weight:400;line-height:1}.ribbon-split{position:relative;display:flex;align-items:stretch;border:1px solid transparent;border-radius:4px}.ribbon-split:hover:not(.disabled){background:var(--bg-hover);border-color:var(--border-color)}.ribbon-split.active{background:#4f9cff26;border-color:var(--accent-blue)}.ribbon-split.open{background:var(--bg-hover);border-color:var(--border-color)}.ribbon-split .ribbon-split-main{border:none;border-radius:3px 0 0 3px;min-width:36px;padding-right:4px}.ribbon-split .ribbon-split-main:hover:not(:disabled),.ribbon-split .ribbon-split-main.active{background:transparent;border-color:transparent}.ribbon-split.active .ribbon-split-main{color:var(--accent-blue)}.ribbon-split-chevron{display:flex;align-items:center;justify-content:center;width:14px;padding:0;margin:0;background:transparent;border:none;border-left:1px solid transparent;border-radius:0 3px 3px 0;color:var(--text-secondary);cursor:pointer;font-size:9px;line-height:1}.ribbon-split:hover:not(.disabled) .ribbon-split-chevron,.ribbon-split.active .ribbon-split-chevron{border-left-color:var(--border-color);color:var(--text-primary)}.ribbon-split.active .ribbon-split-chevron{color:var(--accent-blue)}.ribbon-split-chevron:hover:not(:disabled){background:var(--bg-hover)}.ribbon-split-chevron:disabled{opacity:.4;cursor:not-allowed}.ribbon-split-menu{left:0;min-width:160px}.ribbon-dropdown-item-active{color:var(--accent-blue)}.format-icon-bold{font-weight:700;font-family:Georgia,Times New Roman,serif}.format-icon-italic{font-style:italic;font-family:Georgia,Times New Roman,serif}.format-icon-underline{text-decoration:underline;text-underline-offset:2px}.format-icon-strike{text-decoration:line-through}.format-icon-subscript{font-size:10px;vertical-align:sub}.format-icon-superscript{font-size:10px;vertical-align:super}.ribbon-dropdown-container{position:relative}.ribbon-dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:1000;padding:4px 0}.ribbon-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;background:none;border:none;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer;transition:background .15s ease}.ribbon-dropdown-item:hover{background:var(--bg-hover)}.ribbon-dropdown-icon{width:16px;text-align:center}.ribbon-dropdown-shortcut{margin-left:auto;color:var(--text-secondary);font-size:11px}.ribbon-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.ribbon-dropdown-trigger .ribbon-dropdown-caret{display:inline-block;margin-left:3px;font-size:8px;line-height:1;vertical-align:1px;color:var(--text-secondary)}.ribbon-dropdown-trigger.is-open{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary)}.ribbon-dropdown-trigger.is-open .ribbon-dropdown-caret{color:var(--text-primary)}.ribbon-label-menu{min-width:168px;padding:4px 0}.ribbon-label-menu .ribbon-dropdown-item{padding:5px 10px}.ribbon-label-menu .ribbon-dropdown-icon{width:14px;color:var(--accent-blue);font-size:12px}.ribbon-label-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px 6px}.ribbon-label-menu-link{background:none;border:none;padding:0;color:var(--accent-blue);font-size:11px;cursor:pointer}.ribbon-label-menu-link:hover{text-decoration:underline}.right-panel{display:flex;flex-direction:column;height:100%;position:relative}.right-panel.collapsed{display:flex;flex-direction:column;align-items:center;padding-top:8px}.right-panel-resize-handle{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;z-index:10;transition:background .15s ease}.right-panel-resize-handle:hover,.right-panel.resizing .right-panel-resize-handle{background:var(--accent-blue)}.right-panel.resizing{-webkit-user-select:none;user-select:none}.right-panel-header{display:flex;align-items:center;padding:8px;border-bottom:1px solid var(--border-color);gap:4px}.right-panel-mode-switcher{display:flex;flex:1;background:var(--bg-tertiary);border-radius:6px;padding:2px;gap:2px}.right-panel-mode-button{flex:1;padding:6px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.right-panel-mode-button:hover{color:var(--text-primary)}.right-panel-mode-button.active{background:var(--bg-hover);color:var(--text-primary);box-shadow:0 1px 3px #0003}.right-panel-toggle{padding:4px 8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px}.right-panel-toggle:hover{color:var(--text-primary)}.right-panel-content{flex:1;overflow-y:auto}.right-panel-empty{text-align:center;padding:32px 16px;color:var(--text-muted)}.right-panel-empty p{margin:0 0 4px}.selection-mode-panel,.overview-mode-panel{height:100%}.claude-panel{padding:12px;font-size:12px;line-height:1.5;color:var(--text-primary)}.claude-panel-lead{margin:0 0 12px;color:var(--text-secondary)}.claude-panel-connector+.claude-panel-connector{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #444)}.claude-panel-connector-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-primary)}.claude-panel-steps{margin:0 0 14px;padding-left:18px;color:var(--text-secondary)}.claude-panel-steps li{margin-bottom:4px}.claude-panel-label{display:block;margin-bottom:4px;font-size:11px;font-weight:500;color:var(--text-secondary)}.claude-panel-url-row{display:flex;gap:6px;align-items:stretch}.claude-panel-url{flex:1;min-width:0;padding:5px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-primary);background:var(--input-bg, rgba(0, 0, 0, .2));border:1px solid var(--border-color, #444);border-radius:4px;white-space:nowrap;overflow-x:auto}.claude-panel-copy{flex:0 0 auto;padding:5px 12px;font-size:11px;color:var(--text-primary);background:var(--button-bg, #383838);border:1px solid var(--border-color, #444);border-radius:4px;cursor:pointer}.claude-panel-copy:hover{background:var(--button-hover-bg, #454545)}.claude-panel-harness-row{margin-top:10px}.claude-panel-harness-copy{width:100%}.claude-panel-warn{margin:12px 0 0;font-size:11px;color:var(--text-muted)}.claude-panel-hint{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.claude-panel-details{margin-top:12px;font-size:11px;color:var(--text-muted)}.claude-panel-details>summary{cursor:pointer;color:var(--text-primary)}.claude-panel-caps{margin:6px 0 0;padding-left:16px}.claude-panel-caps>li{margin-bottom:3px;line-height:1.4}.selection-history-panel{margin-top:12px;border-top:1px solid var(--border-color);font-size:12px}.selection-history-section .collapsible-section-header{padding:8px 12px}.selection-history-section .collapsible-section-body{padding:0 12px 8px}.selection-history-shortcut-hint{font-size:10px;color:var(--text-muted);background:var(--bg-secondary);padding:2px 6px;border-radius:4px;display:inline-block;margin-bottom:8px}.selection-history-empty{color:var(--text-muted);font-style:italic;text-align:center;padding:12px}.selection-history-table{width:100%;border-collapse:collapse;font-size:11px}.selection-history-table th{text-align:left;padding:4px 6px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border-color)}.selection-history-table td{padding:4px 6px;border-bottom:1px solid var(--border-subtle)}.selection-history-row{cursor:pointer;transition:background .15s ease}.selection-history-row:hover{background:var(--bg-hover)}.selection-history-row.current{background:var(--accent-blue-bg, rgba(137, 180, 250, .15));font-weight:600}.selection-history-row.active-tab .selection-history-col-tab{color:var(--accent-blue)}.selection-history-col-num{width:24px;text-align:center;color:var(--text-muted)}.selection-history-row.current .selection-history-col-num{color:var(--accent-blue)}.selection-history-col-type{width:32px;text-align:center}.selection-history-col-tab{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-history-col-location{font-family:monospace;font-size:10px}.selection-history-now{padding:4px 6px;color:var(--accent-green);font-size:11px;font-weight:500}.selection-history-footer{margin-top:8px;display:flex;justify-content:flex-end}.selection-history-clear{font-size:10px;color:var(--text-muted);background:none;border:1px solid var(--border-color);padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.selection-history-clear:hover{color:var(--accent-red);border-color:var(--accent-red)}.collapsible-section{border-bottom:1px solid var(--border-color)}.collapsible-section:last-child{border-bottom:none}.collapsible-section-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);transition:background .15s ease}.collapsible-section-header:hover{background:var(--bg-hover)}.collapsible-section-toggle{font-size:10px;color:var(--text-muted);width:14px;flex-shrink:0;margin-right:8px}.collapsible-section-title{font-size:12px;font-weight:500;color:var(--text-primary);flex:1}.collapsible-section-badge{font-size:11px;color:var(--accent-red);background:#f38ba826;padding:2px 6px;border-radius:10px;margin-left:8px}.collapsible-section.collapsed .collapsible-section-header{border-bottom:none}.inspector-panel{padding:12px}.inspector-empty{text-align:center;padding:24px 12px;color:var(--text-muted)}.inspector-empty p{margin:0 0 8px}.inspector-hint{font-size:12px}.inspector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.inspector-kind-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.inspector-kind-badge.kind-text{background:#6464644d;color:#aaa}.inspector-kind-badge.kind-variable{background:#3c8c3c4d;color:#7c7}.inspector-kind-badge.kind-equation{background:#4664b44d;color:#9bf}.inspector-kind-badge.kind-plot{background:#7850b44d;color:#a78bfa}.inspector-id{color:var(--text-muted);font-size:11px;font-family:monospace}.inspector-section{margin-bottom:16px}.inspector-label{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}.inspector-value{padding:8px;background:var(--bg-primary);border-radius:4px;font-size:13px;font-family:monospace}.inspector-content{word-break:break-word}.inspector-result{color:var(--accent-green)}.inspector-error{color:var(--accent-red)}.inspector-row{display:flex;gap:12px}.inspector-coord{display:flex;gap:4px}.coord-label{color:var(--text-muted)}.coord-value{font-family:monospace}.inspector-options{display:flex;flex-direction:column;gap:8px}.inspector-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.inspector-checkbox input{width:auto;height:auto}.variables-panel{display:flex;flex-direction:column;height:100%}.variables-toolbar{padding:8px;border-bottom:1px solid var(--border-color)}.variables-search{width:100%;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;margin-bottom:8px}.variables-search:focus{outline:none;border-color:var(--accent-blue)}.variables-filters{display:flex;gap:4px}.filter-btn{flex:1;padding:4px 8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.filter-btn:hover{background:var(--bg-hover)}.filter-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.variables-list{flex:1;overflow-y:auto}.variables-empty{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:13px}.variables-table{width:100%;border-collapse:collapse;font-size:12px}.variables-table th{padding:8px;text-align:left;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--border-color);background:transparent}.variable-row{cursor:pointer;transition:background .1s ease}.variable-row:hover{background:var(--bg-hover)}.variable-row td{padding:8px;border-bottom:1px solid var(--border-color);border-left:none;border-right:none;width:auto}.variable-row.kind-input{border-left:2px solid var(--accent-green)}.variable-row.kind-calculated{border-left:2px solid var(--accent-blue)}.var-name{font-family:monospace;font-weight:500;color:var(--text-primary)}.var-value{font-family:monospace;color:var(--text-secondary)}.var-unit{color:var(--text-muted);font-size:11px}.var-value.editable,.var-unit.editable{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background .1s ease}.var-value.editable:hover,.var-unit.editable:hover{background:var(--bg-tertiary)}.var-edit-input{width:60px;padding:2px 4px;background:var(--bg-primary);border:1px solid var(--accent-blue);border-radius:3px;color:var(--text-primary);font-family:monospace;font-size:12px}.var-edit-input:focus{outline:none}.var-edit-unit{width:40px}.variable-row.editing{background:var(--bg-tertiary)}.variables-footer{padding:8px;border-top:1px solid var(--border-color);text-align:center}.variables-count{font-size:11px;color:var(--text-muted)}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;font-size:12px;height:28px;box-sizing:border-box}.status-bar-left,.status-bar-center,.status-bar-right{display:flex;align-items:center;gap:8px}.status-bar-center{flex:1;justify-content:center}.status-item{display:flex;align-items:center;gap:4px}.status-label{color:var(--text-muted)}.status-value{color:var(--text-secondary)}.status-divider{color:var(--border-color);margin:0 4px}.status-indicator{width:8px;height:8px;border-radius:50%}.status-errors .status-value{color:var(--accent-red)}.status-selected{color:var(--text-muted);font-family:monospace}.inspector-unit-buttons{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.inspector-unit-btn{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;font-family:monospace;cursor:pointer;transition:all .15s ease}.inspector-unit-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.inspector-unit-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;cursor:default}.inspector-unit-btn.active:hover{background:var(--accent-blue)}.inspector-steps-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-steps-header:hover .inspector-label{color:var(--text-primary)}.steps-toggle{margin-left:8px;font-size:10px;color:var(--text-muted)}.inspector-steps{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-primary);border-radius:4px;margin-top:8px}.inspector-step{display:flex;align-items:flex-start;gap:10px;padding:8px;background:var(--bg-secondary);border-radius:4px;border-left:3px solid var(--border-color)}.inspector-step.step-symbolic{border-left-color:var(--accent-blue)}.inspector-step.step-substitution{border-left-color:var(--accent-yellow)}.inspector-step.step-operation{border-left-color:#9b59b6}.inspector-step.step-result{border-left-color:var(--accent-green)}.step-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;background:var(--bg-tertiary);border-radius:50%;font-size:11px;font-weight:600;color:var(--text-muted)}.step-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.step-latex{font-size:14px;color:var(--text-primary);overflow-x:auto;white-space:nowrap}.step-latex .katex{font-size:14px}.step-description{font-size:11px;color:var(--text-muted);font-style:italic}.inspector-steps-sf-row{display:flex;align-items:center;gap:6px;padding:8px 0 0;margin-top:8px;border-top:1px solid var(--border-color)}.inspector-steps-sf-row .sf-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-right:4px}.inspector-sf-btn{padding:3px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.inspector-sf-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.inspector-sf-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.step-through-calculator{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-primary);border-radius:6px;margin-top:8px;outline:none}.step-through-calculator:focus{box-shadow:0 0 0 2px var(--accent-blue)}.step-through-empty{color:var(--text-muted);font-size:13px;font-style:italic;text-align:center;padding:16px}.step-through-error{padding:12px;background:#d9534f1a;border:1px solid rgba(217,83,79,.4);border-left:3px solid var(--accent-red);border-radius:6px}.step-through-error-label{font-size:11px;text-transform:uppercase;color:var(--accent-red);font-weight:600;margin-bottom:6px;letter-spacing:.5px}.step-through-error-message{font-size:13px;color:var(--text-secondary);font-family:monospace}.step-through-formula{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.step-through-formula-label{font-size:10px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.step-through-formula-content{font-size:16px;color:var(--text-primary);overflow-x:auto}.step-through-formula-content .katex{font-size:16px}.step-through-formula-content .katex .colorbox{border-radius:3px;padding:1px 3px;margin:0 1px}.step-through-progressive{padding:12px;background:#facc1514;border:1px solid rgba(250,204,21,.4);border-left:3px solid var(--accent-yellow);border-radius:6px}.step-through-progressive-label{font-size:10px;text-transform:uppercase;color:var(--accent-yellow);font-weight:600;margin-bottom:8px;letter-spacing:.5px}.step-through-progressive-content{font-size:15px;color:var(--text-primary);overflow-x:auto}.step-through-progressive-content .katex{font-size:15px}.step-through-equation{padding:12px;background:var(--bg-tertiary);border:1px solid var(--accent-blue);border-left:3px solid var(--accent-blue);border-radius:6px}.step-through-equation-label{font-size:11px;color:var(--accent-blue);font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.step-through-equation-content{font-size:15px;color:var(--text-primary);overflow-x:auto}.step-through-equation-content .katex{font-size:15px}.step-through-detail{padding:10px 12px;background:#facc151a;border:1px solid rgba(250,204,21,.3);border-radius:4px}.step-through-detail-label{font-size:10px;text-transform:uppercase;color:var(--accent-yellow);margin-bottom:6px}.step-through-detail-content{font-size:13px;color:var(--text-primary);overflow-x:auto}.step-through-result{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px}.step-through-result-label{font-size:11px;text-transform:uppercase;color:var(--accent-green);font-weight:600}.step-through-result-value{font-family:SF Mono,Menlo,Monaco,monospace;font-size:14px;color:var(--text-primary);font-weight:600}.step-through-result-unit{color:var(--text-muted);font-weight:400}.step-through-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0}.step-through-nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.step-through-nav-btn .nav-arrow{font-size:20px;font-weight:700;line-height:1}.step-through-nav-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.step-through-nav-btn:disabled{opacity:.4;cursor:not-allowed}.step-through-nav-count{font-size:12px;color:var(--text-muted);min-width:80px;text-align:center}.step-through-sf-row{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:8px;border-top:1px solid var(--border-color)}.step-through-sf-row .sf-label{font-size:10px;text-transform:uppercase;color:var(--text-muted);margin-right:4px}.step-through-sf-btn{padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.step-through-sf-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.step-through-sf-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.inspector-solver-header,.inspector-vars-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-solver-header:hover .inspector-label,.inspector-vars-header:hover .inspector-label{color:var(--text-primary)}.inspector-solver{padding:12px;background:var(--bg-primary);border-radius:6px;margin-top:8px;border:1px solid var(--accent-blue);border-left:3px solid var(--accent-blue)}.inspector-solver-hint{font-size:11px;color:var(--text-muted);margin:0 0 12px;font-style:italic}.inspector-solver-inputs{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.inspector-solver-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-secondary);border-radius:4px;transition:background .15s ease}.inspector-solver-row.modified{background:#facc1526;border:1px solid rgba(250,204,21,.3)}.solver-var-name{font-weight:600;font-size:13px;min-width:40px;color:var(--text-primary)}.solver-var-input{width:80px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:monospace;font-size:13px}.solver-var-input:focus{outline:none;border-color:var(--accent-blue)}.solver-var-unit{font-size:12px;color:var(--text-muted);min-width:30px}.solver-var-kind{font-size:10px;padding:2px 6px;border-radius:3px;text-transform:uppercase;margin-left:auto}.solver-var-kind.variable{background:#3c8c3c33;color:#7c7}.solver-var-kind.equation{background:#4664b433;color:#9bf}.solver-formula-section{padding:10px;background:var(--bg-secondary);border-radius:4px;margin-bottom:8px}.solver-formula-section.whatif{background:#facc151a;border:1px solid rgba(250,204,21,.3)}.solver-formula-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px}.solver-formula-latex{padding:8px;background:var(--bg-primary);border-radius:4px;overflow-x:auto;margin-bottom:6px}.solver-formula-latex .latex-display,.solver-formula-latex .katex{font-size:14px}.solver-formula-result{font-size:13px;font-weight:600;color:var(--text-primary);font-family:monospace;padding-left:8px}.solver-formula-result.whatif{color:var(--accent-yellow)}.solver-divider{height:1px;background:var(--border-color);margin:12px 0}.solver-inputs-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.inspector-solver-actions{display:flex;gap:8px}.solver-btn{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.solver-btn:disabled{opacity:.5;cursor:not-allowed}.solver-btn-apply{background:var(--accent-blue);color:#fff}.solver-btn-apply:hover:not(:disabled){background:#3b82f6}.solver-btn-reset{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.solver-btn-reset:hover:not(:disabled){background:var(--bg-hover)}.inspector-vars{padding:8px;background:var(--bg-primary);border-radius:6px;margin-top:8px}.inspector-vars.goal-seeker{padding:12px}.goal-seeker-header{text-align:center;padding:6px 8px 10px;border-bottom:1px solid var(--border-color);margin-bottom:10px}.goal-seeker-header .latex-display{font-size:14px;font-weight:600;color:var(--text-primary)}.section-hint{font-size:10px;color:var(--text-muted);font-weight:400;text-transform:none;margin-left:8px;opacity:.7}.node-preview{font-size:12px;color:var(--text-muted);font-family:SF Mono,Menlo,Monaco,monospace;margin-left:auto;padding-left:12px}.comparison-row.target,.comparison-row.target .comparison-label{color:var(--accent-blue)}.target-changed{color:var(--accent-yellow)}.eq-row.eq-target,.eq-row.eq-target .eq-label{color:var(--accent-blue)}.eq-row.eq-target.changed .eq-value{color:var(--accent-yellow)}.inspector-node.collapsed .inspector-node-header{border-bottom:none}.inspector-node.collapsed{background:var(--bg-tertiary)}.node-equation-target{padding:8px 12px 10px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px;font-size:12px}.eq-target-row{display:flex;align-items:center;gap:8px}.eq-target-label{font-size:10px;text-transform:uppercase;color:var(--text-muted);width:60px;flex-shrink:0}.eq-target-value{font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;color:var(--text-primary)}.eq-target-value.computed{color:var(--accent-blue);font-weight:500}.eq-target-input-wrapper{display:flex;align-items:center;gap:4px;flex:1}.eq-target-input{width:80px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;text-align:right}.eq-target-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f633}.eq-target-input.has-target{border-color:var(--accent-blue);background:#3b82f61a}.eq-target-unit{font-size:11px;color:var(--text-muted)}.eq-target-row.eq-computed{margin-top:2px;padding-top:6px;border-top:1px dashed var(--border-color)}.node-value-selection{padding:10px 12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.value-option{display:flex;align-items:center}.value-option-label{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;padding:4px 0}.value-option-label input[type=radio]{margin:0;accent-color:var(--accent-blue)}.option-name{font-size:11px;text-transform:uppercase;color:var(--text-muted);width:70px;flex-shrink:0}.option-value{font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;color:var(--text-primary)}.option-value.suggested{color:var(--accent-blue);font-weight:500}.value-option.computed-display{display:flex;align-items:center;gap:8px;padding:4px 0;margin-left:4px}.value-option.computed-display .option-spacer{width:16px}.option-name.computed{color:var(--accent-orange, #e8a04c)}.option-value.computed{color:var(--accent-orange, #e8a04c);font-weight:500}.option-input-wrapper{display:flex;align-items:center;gap:4px;flex:1}.option-input{width:80px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;text-align:right}.option-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f633}.option-unit{font-size:11px;color:var(--text-muted)}.comparison-row.overall-target{padding:8px 0;border-top:1px dashed var(--border-color);border-bottom:1px dashed var(--border-color);margin:4px 0}.overall-target-input-wrapper{display:flex;align-items:center;gap:6px}.overall-target-input{width:100px;padding:6px 10px;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-family:SF Mono,Menlo,Monaco,monospace;font-size:14px;font-weight:500;text-align:right}.overall-target-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f633}.overall-target-input.has-target{border-color:var(--accent-blue);background:#3b82f61a}.overall-target-unit{font-size:12px;color:var(--text-muted);font-weight:500}.target-pct-change{font-size:11px;color:var(--accent-blue);font-weight:500;margin-left:8px}.comparison-row.computed{padding-top:8px}.comparison-row.computed .comparison-label{color:var(--accent-blue);font-weight:600}.node-equation-expanded{padding:8px 12px;background:var(--bg-tertiary);border-radius:4px}.eq-formula-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.eq-formula-row:last-child{margin-bottom:0}.eq-formula-row .eq-label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;min-width:70px;padding-top:3px}.eq-formula-row.computed .eq-label,.eq-formula-row.computed .eq-formula{color:var(--accent-orange, #e8a04c)}.eq-formula{font-size:13px;color:var(--text-primary);flex:1}.eq-formula .latex-display{font-size:13px}.inspector-vars-section{margin-bottom:12px}.inspector-vars-section:last-child{margin-bottom:0}.inspector-vars-section-title{font-size:10px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;letter-spacing:.5px}.inspector-var-row{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-secondary);border-radius:4px;margin-bottom:4px}.inspector-var-row:last-child{margin-bottom:0}.var-name{font-weight:600;font-size:13px;min-width:35px;color:var(--text-primary)}.var-value-input{width:70px;padding:3px 6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-family:monospace;font-size:12px}.var-value-input:focus{outline:none;border-color:var(--accent-blue)}.var-unit{font-size:11px;color:var(--text-muted);min-width:25px}.var-affects{font-size:10px;color:var(--text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.var-goto-btn{padding:2px 6px;background:transparent;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s ease;line-height:1}.var-goto-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.var-goto-btn.small{padding:1px 4px;font-size:10px;margin-left:2px}.inspector-intermediate{background:var(--bg-secondary);border-radius:4px;margin-bottom:4px;overflow:hidden}.inspector-intermediate:last-child{margin-bottom:0}.inspector-intermediate-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;transition:background .15s ease}.inspector-intermediate-header:hover{background:var(--bg-hover)}.intermediate-toggle{font-size:10px;color:var(--text-muted);width:12px}.intermediate-name{font-weight:600;font-size:13px;color:var(--accent-blue)}.intermediate-value{font-size:12px;color:var(--text-secondary);font-family:monospace;flex:1}.inspector-intermediate-details{padding:8px 12px;background:var(--bg-tertiary);border-top:1px solid var(--border-color)}.intermediate-formula{font-family:monospace;font-size:12px;color:var(--text-primary);padding:6px 8px;background:var(--bg-primary);border-radius:3px;margin-bottom:8px}.intermediate-uses{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}.intermediate-uses-label{font-size:11px;color:var(--text-muted)}.intermediate-uses-var{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 6px;border-radius:3px}.intermediate-hint{font-size:11px;color:var(--text-muted);font-style:italic}.multi-occurrence-warning{font-size:12px;margin-left:4px;cursor:help;filter:saturate(.7)}.multi-occurrence-warning:hover{filter:saturate(1)}.nested-change-badge{font-size:10px;padding:2px 6px;border-radius:10px;background:#3b82f626;color:var(--accent-blue);margin-left:6px;font-weight:500}.nested-change-badge.has-propagated{background:#facc1533;color:var(--accent-yellow);border:1px solid rgba(250,204,21,.4)}.inspector-node.propagated{border-left:3px solid var(--accent-yellow)}.inspector-node.propagated .inspector-node-header{background:#facc1514}.inspector-sigfigs-buttons{display:flex;gap:8px;padding:4px 0}.inspector-sigfigs-btn{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.inspector-sigfigs-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--text-primary)}.inspector-sigfigs-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;cursor:default}.inspector-sigfigs-btn.active:hover{background:var(--accent-blue)}.inspector-explanation-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-explanation-header:hover .inspector-label{color:var(--text-primary)}.inspector-explanation{display:flex;flex-direction:column;gap:6px;margin-top:8px}.inspector-explanation-input{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:inherit;resize:none;overflow-y:hidden;min-height:48px;box-sizing:border-box}.inspector-explanation-input:focus{outline:none;border-color:var(--accent-blue)}.inspector-explanation-input::placeholder{color:var(--text-muted)}.inspector-content-input{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:SF Mono,Menlo,Monaco,monospace;resize:vertical;min-height:40px;box-sizing:border-box}.inspector-content-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f626}.inspector-content-input::placeholder{color:var(--text-muted)}.colored-formula-editor{display:grid;width:100%;min-height:40px}.colored-formula-editor>*{grid-area:1 / 1 / 2 / 2}.formula-highlight-layer{padding:8px 10px;margin:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;pointer-events:none;overflow-y:auto;overflow-x:hidden;font-size:13px;font-family:SF Mono,Menlo,Monaco,monospace;line-height:1.5;box-sizing:border-box;scrollbar-gutter:stable}.formula-highlight-layer::-webkit-scrollbar{background:transparent}.formula-highlight-layer::-webkit-scrollbar-thumb,.formula-highlight-layer::-webkit-scrollbar-track{background:transparent}.formula-highlight-layer{scrollbar-color:transparent transparent}.formula-input-layer{width:100%;min-height:40px;margin:0;padding:8px 10px;background:transparent;border:1px solid var(--border-color);border-radius:4px;resize:vertical;font-size:13px;font-family:SF Mono,Menlo,Monaco,monospace;line-height:1.5;box-sizing:border-box;scrollbar-gutter:stable;-webkit-text-fill-color:transparent;color:transparent;caret-color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.formula-input-layer:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 2px #3b82f626}.colored-formula-editor:focus-within .formula-highlight-layer{border-color:var(--accent-blue)}.formula-input-layer::placeholder{-webkit-text-fill-color:var(--text-muted);color:var(--text-muted)}.calc-explanation-label{display:inline-block;margin-left:16px;padding:2px 8px;background:#64646433;border-radius:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#999;font-style:normal;vertical-align:middle;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.calc-box.kind-variable .calc-explanation-label{color:#8a8}.calc-box.kind-equation .calc-explanation-label{color:#8ac}.inspector-solver-row{flex-direction:column;align-items:stretch}.solver-var-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.solver-var-explanation{font-size:11px;color:var(--text-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solver-var-controls{display:flex;align-items:center;gap:8px}.var-name-block{display:flex;flex-direction:column;gap:2px;min-width:60px}.var-name-block .var-explanation{font-size:10px;color:var(--text-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.var-explanation-cell{max-width:150px}.var-explanation-cell .var-explanation{font-size:11px;color:var(--text-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.var-deps-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color);gap:12px}.var-deps-control-group{display:flex;align-items:center;gap:6px}.var-deps-control-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.var-deps-depth-select{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px;cursor:pointer}.var-deps-depth-select:focus{outline:none;border-color:var(--accent-blue)}.var-deps-whatif-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.var-deps-whatif-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue)}.var-deps-whatif-toggle span{white-space:nowrap}.var-kind-badge{font-size:9px;padding:2px 5px;border-radius:3px;text-transform:uppercase;font-weight:600;margin-left:4px}.var-kind-badge.cell{background:#9b7ed933;color:#b9a0e8}.inspector-var-row.staged{background:#facc1526;border:1px solid rgba(250,204,21,.3);border-radius:4px}.var-original{font-size:10px;color:var(--text-muted);font-style:italic;margin-left:4px}.inspector-tree-root{display:flex;flex-direction:column;gap:8px}.inspector-node{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.inspector-node:hover{border-color:var(--border-hover, rgba(255, 255, 255, .15))}.inspector-node.staged{border-color:#facc1580;box-shadow:0 0 0 1px #facc1533}.inspector-node.is-equation{border-left:3px solid var(--accent-blue)}.inspector-node.is-variable{border-left:3px solid var(--accent-green)}.inspector-node.depth-0{border-left-color:#4a9eff}.inspector-node.depth-1{border-left-color:#a855f7}.inspector-node.depth-2{border-left-color:#14b8a6}.inspector-node.depth-3{border-left-color:#f97316}.inspector-node.depth-4{border-left-color:#ec4899}.inspector-node.is-variable.depth-0{border-left-color:#22c55e}.inspector-node.is-variable.depth-1{border-left-color:#a78bfa}.inspector-node.is-variable.depth-2{border-left-color:#2dd4bf}.inspector-node.is-variable.depth-3{border-left-color:#fb923c}.inspector-node.is-variable.depth-4{border-left-color:#f472b6}.inspector-node-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.inspector-node-header:hover{background:var(--bg-hover)}.node-toggle{font-size:10px;color:var(--text-muted);width:14px;flex-shrink:0;text-align:center}.node-toggle-spacer{width:14px;flex-shrink:0}.inspector-node-header.collapsible{cursor:pointer}.inspector-node-header:not(.collapsible){cursor:default}.node-header-content{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.node-name{font-weight:600;font-size:13px;color:var(--text-primary)}.node-name .latex-display{font-size:15px}.node-explanation{font-size:11px;color:var(--text-muted);opacity:.7;flex:1;min-width:0}.node-goto-btn{padding:4px 8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:12px;line-height:1;flex-shrink:0;transition:all .15s ease}.node-goto-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.inspector-node-body{padding:12px}.node-input-group{display:flex;flex-direction:column;gap:4px}.node-input-wrapper{display:flex;align-items:center;gap:8px}.node-value-input{width:80px;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;font-family:SF Mono,Menlo,Monaco,monospace;transition:border-color .15s ease}.node-value-input:focus{outline:none;border-color:var(--accent-blue)}.node-value-input.staged{border-color:#facc1599;background:#facc151a}.node-unit{font-size:12px;color:var(--text-muted);font-family:SF Mono,Menlo,Monaco,monospace}.node-original-value{font-size:11px;color:var(--text-muted);font-style:italic;opacity:.7}.node-equation-results{display:flex;flex-direction:column;gap:6px}.eq-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.eq-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;width:55px;flex-shrink:0}.eq-value{font-size:13px;font-family:SF Mono,Menlo,Monaco,monospace;flex:1;min-width:0}.eq-value.eq-latex{font-family:inherit}.eq-value.eq-latex .latex-display{font-size:14px;line-height:1.4}.eq-current .eq-value{color:var(--text-secondary)}.eq-current .eq-value.eq-latex .latex-display{color:var(--text-primary)}.eq-whatif .eq-value{color:var(--accent-yellow, #facc15);font-weight:500}.eq-whatif .eq-value.eq-latex .latex-display{color:var(--accent-yellow, #facc15)}.inspector-node-children{padding:8px 8px 8px 20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border-color);background:#0000001a}.inspector-node-children .inspector-node{background:var(--bg-primary)}.inspector-node-children .inspector-node-header{background:var(--bg-secondary)}.var-deps-comparison{margin-top:12px;padding:12px;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--accent-blue)}.var-deps-comparison.top-level{margin-top:0;padding:14px;background:var(--bg-primary);border:1px solid var(--border-color)}.comparison-row{display:flex;align-items:baseline;gap:8px;padding:6px 0;flex-wrap:wrap}.comparison-row.whatif{color:var(--accent-yellow)}.comparison-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);min-width:60px}.comparison-value{font-size:14px;font-weight:600;font-family:monospace;flex:1;min-width:0}.comparison-value.comparison-latex{font-family:inherit}.comparison-value.comparison-latex .latex-display{font-size:15px;line-height:1.5}.comparison-row.whatif .comparison-value,.comparison-row.whatif .comparison-value.comparison-latex .latex-display{color:var(--accent-yellow)}.var-deps-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.calc-box.kind-table{background:#463764e6;border-left:3px solid #9b7ed9;padding:8px;min-width:200px}.calc-box.kind-table:focus{outline:none}.table-header-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.table-name-badge{font-size:11px;font-weight:600;color:#999;padding:2px 8px;background:#96969640;border-radius:4px;display:inline-block}.formula-mode-badge{font-size:10px;font-weight:600;color:#000;padding:2px 8px;background:#f9a825;border-radius:4px;display:inline-flex;align-items:center;gap:4px;animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px #f9a82580}50%{box-shadow:0 0 12px #f9a825cc}}.table-container{overflow:auto;max-height:500px;user-select:none;-webkit-user-select:none}.report-table{border-collapse:collapse;font-size:13px;background:transparent;border:1px solid var(--border-color)}.table-corner{width:32px;min-width:32px;height:24px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.table-col-header{height:24px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);font-weight:600;color:var(--text-muted);text-align:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.table-col-header:hover{background:var(--bg-hover);color:var(--text-primary)}.table-col-header.sorted-asc,.table-col-header.sorted-desc{background:#4f9cff33;color:var(--accent-blue)}.sort-indicator{font-size:10px;margin-left:4px}.col-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:10}.col-resize-handle:hover,.table-col-header:hover .col-resize-handle{background:var(--accent-blue)}.table-row-header{width:32px;min-width:32px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);font-weight:600;color:var(--text-muted);text-align:center;-webkit-user-select:none;user-select:none;position:relative}.row-resize-handle{position:absolute;left:0;right:0;bottom:-2px;height:4px;cursor:row-resize;background:transparent;z-index:10}.row-resize-handle:hover,.table-row-header:hover .row-resize-handle{background:var(--accent-blue)}.table-row-header.header-col{background:#4f9cff26;color:var(--accent-blue);font-weight:700}.table-cell{padding:var(--report-table-cell-pad, 2px 6px);border:1px solid var(--border-color);min-height:var(--report-table-row-h, 24px);cursor:cell;transition:background .1s ease;position:relative;overflow:visible;background:var(--bg-secondary);font-size:calc(var(--report-font-size, 13px) * var(--text-scale, 1))}.table-cell:hover{background:var(--bg-hover)}.table-cell.focused{outline:2px solid var(--accent-blue);outline-offset:-2px;background:#4f9cff1a}.table-cell.selected{background:#4f9cff26}.table-cell.selected.focused{background:#4f9cff40}.table-cell.selected{position:relative}.table-cell.selection-top{border-top:2px solid var(--accent-blue)!important}.table-cell.selection-bottom{border-bottom:2px solid var(--accent-blue)!important}.table-cell.selection-left{border-left:2px solid var(--accent-blue)!important}.table-cell.selection-right{border-right:2px solid var(--accent-blue)!important}.table-cell.copied{position:relative}.table-cell.copied-top{border-top:2px dashed #4caf50!important;animation:marching-ants-top .5s linear infinite}.table-cell.copied-bottom{border-bottom:2px dashed #4caf50!important;animation:marching-ants-bottom .5s linear infinite}.table-cell.copied-left{border-left:2px dashed #4caf50!important;animation:marching-ants-left .5s linear infinite}.table-cell.copied-right{border-right:2px dashed #4caf50!important;animation:marching-ants-right .5s linear infinite}.sheet-cell.copied{position:relative}.sheet-cell.copied-top{border-top:2px dashed #4caf50!important;animation:marching-ants-top .5s linear infinite}.sheet-cell.copied-bottom{border-bottom:2px dashed #4caf50!important;animation:marching-ants-bottom .5s linear infinite}.sheet-cell.copied-left{border-left:2px dashed #4caf50!important;animation:marching-ants-left .5s linear infinite}.sheet-cell.copied-right{border-right:2px dashed #4caf50!important;animation:marching-ants-right .5s linear infinite}@keyframes marching-ants-top{0%{border-top-style:dashed}50%{border-top-style:dotted}to{border-top-style:dashed}}@keyframes marching-ants-bottom{0%{border-bottom-style:dashed}50%{border-bottom-style:dotted}to{border-bottom-style:dashed}}@keyframes marching-ants-left{0%{border-left-style:dashed}50%{border-left-style:dotted}to{border-left-style:dashed}}@keyframes marching-ants-right{0%{border-right-style:dashed}50%{border-right-style:dotted}to{border-right-style:dashed}}.sheet-cell.cut{position:relative}.sheet-cell.cut-top{border-top:2px dashed #ff9800!important;animation:marching-ants-top .5s linear infinite}.sheet-cell.cut-bottom{border-bottom:2px dashed #ff9800!important;animation:marching-ants-bottom .5s linear infinite}.sheet-cell.cut-left{border-left:2px dashed #ff9800!important;animation:marching-ants-left .5s linear infinite}.sheet-cell.cut-right{border-right:2px dashed #ff9800!important;animation:marching-ants-right .5s linear infinite}.table-cell.header-cell{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary)}.header-row .table-cell{background:#4f9cff1a;font-weight:600}.alt-row .table-cell:not(.header-cell){background:#64646414}.alt-row .table-cell:hover:not(.header-cell){background:var(--bg-hover)}.table-cell.align-left{text-align:left}.table-cell.align-center{text-align:center}.table-cell.align-right{text-align:right}.table-cell.text .table-cell-content{color:var(--text-secondary)}.table-cell.variable{background:#286428b3}.table-cell.variable .table-cell-content{color:#7c7}.table-cell.equation{background:#2d4682b3}.table-cell.equation .table-cell-content{color:#9bf}.table-cell.has-error{background:#d9534f26}.table-cell-content.has-error{color:var(--accent-red)}.table-cell-input{width:100%;height:100%;padding:2px 4px;background:var(--bg-primary);border:2px solid var(--accent-blue);border-radius:2px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;outline:none;box-sizing:border-box}.table-cell-input:focus{background:#fff;color:#000}.table-cell-content{display:block;min-height:18px;white-space:nowrap;pointer-events:none}.table-cell-content.no-overflow{overflow:hidden;text-overflow:ellipsis;max-width:100%}.table-cell-content.can-overflow{overflow:visible;position:relative;z-index:1}.table-cell-content.formula-show-full{overflow:visible;text-overflow:clip;max-width:none;white-space:nowrap}.table-cell-content .katex{font-size:13px}.table-cell-content.formula-cell{position:relative}.table-cell-content.formula-cell:before{content:"ƒ";position:absolute;top:-2px;right:-2px;font-size:9px;color:var(--accent-blue);opacity:.6}.table-cell-input.formula-mode{border-color:#f9a825;background:#f9a8251a}.table-cell-input.formula-mode:focus{background:#f9a82526;color:var(--text-primary)}.table-cell.formula-editing{outline:2px solid #f9a825;outline-offset:-2px;background:#f9a8251a}.table-cell.referenced{background:#4caf5040!important;outline:2px dashed #4caf50;outline-offset:-2px}.table-cell.referenced:hover{background:#4caf5059!important;cursor:pointer}.table-cell.cell-ref-highlighted{outline:2px solid var(--cell-highlight-color, #4caf50);outline-offset:-2px;background:color-mix(in srgb,var(--cell-highlight-color, #4caf50) 15%,transparent)}.formula-mode-indicator{position:absolute;top:-24px;left:0;padding:2px 8px;background:#f9a825;color:#000;font-size:11px;font-weight:600;border-radius:4px 4px 0 0;white-space:nowrap}.inspector-table-name-input{width:100%;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:monospace;font-size:13px}.inspector-table-name-input:focus{outline:none;border-color:var(--accent-blue)}.inspector-table-dimensions{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-primary);border-radius:4px}.inspector-dimension-row{display:flex;align-items:center;gap:8px}.dimension-label{min-width:60px;font-size:13px;color:var(--text-secondary)}.dimension-btn{width:28px;height:28px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.dimension-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-blue)}.dimension-btn:disabled{opacity:.4;cursor:not-allowed}.dimension-value{min-width:32px;text-align:center;font-family:monospace;font-size:14px;font-weight:600;color:var(--text-primary)}.inspector-table-options{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-primary);border-radius:4px}.inspector-table-alignments{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-primary);border-radius:4px}.inspector-col-alignment{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.col-letter{font-weight:600;font-size:12px;color:var(--text-muted);min-width:16px;text-align:center}.alignment-buttons{display:flex;gap:2px}.align-btn{width:24px;height:24px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.align-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.align-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.inspector-help-box{padding:12px;background:var(--bg-primary);border-radius:4px;font-size:12px;color:var(--text-secondary)}.inspector-help-box p{margin:0 0 6px}.inspector-help-box code{display:inline-block;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;font-family:monospace;color:var(--accent-blue)}.inspector-kind-badge.kind-table{background:#9b7ed94d;color:#b19cd9}.inspector-cell-details{padding:10px;background:var(--bg-primary);border-radius:6px;display:flex;flex-direction:column;gap:10px}.inspector-cell-kind-row{display:flex;align-items:center;gap:8px}.inspector-cell-kind-badge{padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.inspector-cell-kind-badge.kind-text{background:#6464644d;color:#aaa}.inspector-cell-kind-badge.kind-variable{background:#3c8c3c4d;color:#6c6}.inspector-cell-kind-badge.kind-equation{background:#4664b44d;color:#8ad}.inspector-cell-formula-indicator{font-size:14px}.inspector-cell-field{display:flex;flex-direction:column;gap:4px}.inspector-cell-field-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.inspector-cell-field-value{font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;padding:6px 8px;background:var(--bg-tertiary);border-radius:4px;word-break:break-all}code.inspector-cell-field-value{color:var(--accent-blue)}.inspector-cell-result{font-size:14px;font-weight:600;color:var(--accent-green, #6c6);padding:6px 8px;background:#3c8c3c1a;border-radius:4px}.inspector-cell-latex{padding:8px;background:var(--bg-tertiary);border-radius:4px;overflow-x:auto}.inspector-cell-latex .latex-display{font-size:14px}.inspector-cell-error{color:#f66;background:#ff64641a;padding:6px 8px;border-radius:4px;font-size:12px}.inspector-label code{font-family:SF Mono,Menlo,Monaco,monospace;font-size:13px;color:var(--accent-blue);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;margin-left:6px}.inspector-collapsible-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.inspector-collapsible-header:hover .inspector-label{color:var(--text-primary)}.unsaved-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.unsaved-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;max-width:400px;width:90%;text-align:center;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.unsaved-modal-icon{color:var(--accent-yellow);margin-bottom:16px}.unsaved-modal-title{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-primary)}.unsaved-modal-message{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.5}.unsaved-modal-buttons{display:flex;gap:12px;justify-content:center}.unsaved-modal-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.unsaved-modal-btn-save{background:var(--accent-blue);color:#fff}.unsaved-modal-btn-save:hover{background:#3b82f6}.unsaved-modal-btn-discard{background:var(--accent-red);color:#fff}.unsaved-modal-btn-discard:hover{background:#c62828}.unsaved-modal-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.unsaved-modal-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.project-name-display{display:flex;align-items:center;gap:6px;padding:0 12px;border-left:1px solid var(--border-color);margin-left:8px}.project-name{font-size:13px;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-dirty-indicator{color:var(--accent-yellow);font-weight:700;font-size:16px}.left-sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px}.left-sidebar-section-add-btn{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.left-sidebar-section-add-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue);color:var(--accent-blue)}.left-sidebar-section-add-wrap{position:relative;display:flex;align-items:center;gap:4px}.left-sidebar-section-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:154px;z-index:40;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000059;padding:4px 0}.left-sidebar-section-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--text-primary);font-size:12px;padding:6px 12px;cursor:pointer}.left-sidebar-section-menu button:hover{background:var(--bg-hover)}.menu-item-with-submenu{position:relative}.menu-item-submenu-arrow{margin-left:auto;font-size:10px;color:var(--text-muted)}.menu-submenu{position:absolute;left:100%;top:0;min-width:180px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;z-index:1001}.menu-submenu-empty{padding:8px 12px;color:var(--text-muted);font-size:12px;font-style:italic}.left-sidebar-empty-hint{padding:8px 12px 8px 20px;font-size:12px;color:var(--text-muted);font-style:italic}.ribbon-toggle-group{display:flex;flex-direction:column;gap:2px;padding:0 8px}.ribbon-field-group{display:flex;flex-direction:column;gap:4px;padding:0 8px}.ribbon-field-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px}.ribbon-field-label{color:var(--text-secondary);white-space:nowrap}.ribbon-select{font-size:11px;padding:2px 4px;min-width:110px;background:var(--bg-primary, #fff);color:var(--text-primary);border:1px solid var(--border-color, #ccc);border-radius:4px;cursor:pointer}.ribbon-select:disabled{opacity:.5;cursor:not-allowed}.ribbon-field-note{font-size:10px;color:var(--text-secondary);opacity:.8;white-space:nowrap}.ribbon-apply-btn{align-self:flex-start;font-size:11px;padding:2px 8px;margin-top:2px;background:var(--accent-blue, #89b4fa);color:var(--bg-secondary, #1e1e2e);border:none;border-radius:4px;cursor:pointer;font-weight:600}.ribbon-apply-btn:hover:not(:disabled){filter:brightness(1.08)}.ribbon-apply-btn:disabled{opacity:.45;cursor:not-allowed}.column-grip:hover{background:#7896e62e!important}.ribbon-toggle-row{display:flex;align-items:center;gap:6px;font-size:11px}.toggle-label{font-size:14px;width:18px;text-align:center}.toggle-text{color:var(--text-secondary);min-width:40px}.toggle-switch{position:relative;display:inline-block;width:32px;height:18px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#555;transition:.2s;border-radius:18px}.toggle-slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent-blue)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(14px)}[data-theme=light] .toggle-slider{background-color:#ccc}[data-theme=light] .toggle-switch input:checked+.toggle-slider{background-color:var(--accent-blue)}[data-show-grid=true] .canvas{background-image:linear-gradient(to right,var(--canvas-dots) 1px,transparent 1px),linear-gradient(to bottom,var(--canvas-dots) 1px,transparent 1px);background-size:20px 20px}[data-theme=light][data-show-grid=true] .canvas{background-image:linear-gradient(to right,#e5e5e5 1px,transparent 1px),linear-gradient(to bottom,#e5e5e5 1px,transparent 1px)}.print-mode{--text-scale: 1 !important}.print-mode,.print-mode *{color:#1a1a1a!important}.print-mode .calc-box{background:#f5f5f5e6!important;color:#1a1a1a!important}.print-mode .calc-box.kind-text{background:#f5f5f5cc!important;border-left-color:#666!important}.print-mode .calc-box.kind-variable{background:#e6f5e6e6!important;border-left-color:#2d7a2d!important}.print-mode .calc-box.kind-equation{background:#e6ebfae6!important;border-left-color:#36c!important}.print-mode .calc-box.kind-table{background:#f0ebfae6!important;border-left-color:#64a!important}.print-mode .calc-explanation-label{color:#333!important;background:#c8c8c84d!important}.print-mode .calc-box.kind-variable .calc-explanation-label{color:#1a5c1a!important;background:#16a34a26!important}.print-mode .calc-box.kind-equation .calc-explanation-label{color:#1a4599!important;background:#2563eb1f!important}.print-mode .katex,.print-mode .MathJax,.print-mode mjx-container{color:#1a1a1a!important}.print-mode .calc-render,.print-mode .eq-label,.print-mode .eq-formula{color:#1a1a1a!important}.print-mode .resize-handle,.print-mode .resize-handle-corner,.print-mode .calc-box-selected-border{display:none!important}:root{--sheet-bg: #1e1e1e;--sheet-text: #e0e0e0;--sheet-border: #444;--sheet-header-bg: #2d2d2d;--sheet-header-text: #ccc;--sheet-header-active-bg: #444;--sheet-header-border: #4a4a4a;--sheet-input-bg: #333;--sheet-input-border: #4a9eff;--sheet-selection-outline: #4f9cff;--sheet-grid-line: #4a4a4a}.sheet-cell-input{width:100%;height:100%;padding:2px 4px;background:var(--bg-primary);border:2px solid var(--accent-blue);border-radius:2px;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(13px * var(--text-scale, 1));outline:none;box-sizing:border-box}.sheet-cell-input:focus{background:var(--sheet-input-bg);color:var(--sheet-text)}[data-theme=light]{--sheet-bg: #ffffff;--sheet-text: #000000;--sheet-border: #e0e0e0;--sheet-header-bg: #f3f3f3;--sheet-header-text: #333;--sheet-header-active-bg: #d0d0d0;--sheet-header-border: #ccc;--sheet-input-bg: #fff;--sheet-grid-line: #e0e0e0}.sheet-cell{border:1px solid var(--sheet-grid-line)}.sheet-cell.kind-variable{background:#286428b3}.sheet-cell.kind-variable .sheet-cell-content{color:#7c7}.sheet-cell.kind-equation{background:#2d4682b3}.sheet-cell.kind-equation .sheet-cell-content{color:#9bf}.sheet-cell.kind-text{background:transparent}.sheet-cell.formula-cell .sheet-cell-content:before{content:"ƒ";position:absolute;top:-2px;right:-2px;font-size:9px;color:var(--accent-blue);opacity:.6}.sheet-cell.has-error{background:#dc32321a}.sheet-cell.has-error .sheet-cell-content{color:#d9534f}.sheet-cell-content{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.sheet-cell-content .katex{font-size:.9em}.sheet-cell-latex{display:inline-flex;align-items:center}.sheet-cell-content.no-overflow .sheet-cell-latex{max-width:100%;overflow:hidden}.sheet-cell-content.can-overflow .sheet-cell-latex{overflow:visible}[data-theme=light] .sheet-cell.kind-variable{background:#16a34a0f}[data-theme=light] .sheet-cell.kind-equation{background:#2563eb0f}[data-theme=light] .sheet-cell.formula-cell{border-left-color:#f57c00}[data-theme=light] .sheet-cell.has-error{background:#dc323214}.active-head{background:var(--sheet-header-active-bg)!important;font-weight:700}.tint-row,.tint-col{background:#4f9cff08}.sheet-cell.selected{outline:2px solid #4f9cff;outline-offset:-2px;z-index:1}.sheet-cell.in-range{background:#4f9cff26!important}.sheet-cell.selection-top{border-top:2px solid var(--accent-blue, #4f9cff)!important}.sheet-cell.selection-bottom{border-bottom:2px solid var(--accent-blue, #4f9cff)!important}.sheet-cell.selection-left{border-left:2px solid var(--accent-blue, #4f9cff)!important}.sheet-cell.selection-right{border-right:2px solid var(--accent-blue, #4f9cff)!important}.sheet-cell.ref-edge-top{border-top:3px solid var(--ref-border-color)!important}.sheet-cell.ref-edge-bottom{border-bottom:3px solid var(--ref-border-color)!important}.sheet-cell.ref-edge-left{border-left:3px solid var(--ref-border-color)!important}.sheet-cell.ref-edge-right{border-right:3px solid var(--ref-border-color)!important}.sheet-container{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;border:1px solid var(--sheet-border);border-radius:4px;background:var(--sheet-bg);color:var(--sheet-text);user-select:none;-webkit-user-select:none}.sheet-header-cell{background:var(--sheet-header-bg);color:var(--sheet-header-text);border:1px solid var(--sheet-header-border);position:sticky;top:0;z-index:1}.col-head,.row-head{background:var(--sheet-header-bg);color:var(--sheet-header-text)}.sheet-size-select{background:var(--sheet-header-bg);color:var(--sheet-text);border:1px solid var(--sheet-border);padding:4px 8px}.resize-handle{position:absolute;top:0;right:0;bottom:0;width:5px;cursor:col-resize;background:transparent;z-index:10}.resize-handle:hover,.resize-handle.active{background:#4f9cff}.col-head:hover .resize-handle{background:#4f9cff80}.active-head{background:var(--sheet-header-active-bg)!important;font-weight:700;color:var(--sheet-text)}.row-head.active-head,.col-head.active-head{background:var(--sheet-header-active-bg)!important}.sheet-input{width:100%;height:28px;padding:4px;box-sizing:border-box;background:var(--sheet-input-bg);color:var(--sheet-text);border:2px solid var(--sheet-input-border);outline:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.sheet-input.is-formula{background:#f9a8251a;border-color:#f9a825}.sheet-input.editing-overflow{background:var(--sheet-input-bg);border:2px solid var(--accent-blue);box-shadow:0 2px 8px #00000026}.sheet-cell-content.no-overflow{overflow:hidden;text-overflow:ellipsis}.sheet-cell-content.can-overflow{overflow:visible;position:relative;z-index:1}[data-theme=light] .sheet-input.is-formula{background:#f9a8251a;border-color:#f57c00}[data-theme=light] .sheet-cell.in-range{background:#4f9cff33!important}.calc-box.check-fail-red{background:#ef4444b3!important;border-left:3px solid #ef4444!important;box-shadow:0 0 8px #ef444466}.calc-box.check-fail-orange{background:#f97316b3!important;border-left:3px solid #f97316!important;box-shadow:0 0 8px #f9731666}.calc-box.check-fail-yellow{background:#eab30899!important;border-left:3px solid #eab308!important;box-shadow:0 0 8px #eab30866}.calc-box.check-pass-green{background:#22c55e99!important;border-left:3px solid #22c55e!important;box-shadow:0 0 8px #22c55e4d}.result-check-badges{position:absolute;top:-8px;right:-8px;display:flex;gap:2px;z-index:10;pointer-events:auto}.result-check-badge{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;cursor:pointer;box-shadow:0 2px 4px #0000004d;transition:transform .15s ease}.result-check-badge:hover{transform:scale(1.2)}.result-check-badge-red{background:#ef4444;color:#fff}.result-check-badge-orange{background:#f97316;color:#fff}.result-check-badge-yellow{background:#eab308;color:#1a1a1a}.result-check-badge-green{background:#22c55e;color:#fff}.table-cell.check-fail-red{background:#ef44444d!important;box-shadow:inset 0 0 0 2px #ef4444}.table-cell.check-fail-orange{background:#f973164d!important;box-shadow:inset 0 0 0 2px #f97316}.table-cell.check-fail-yellow{background:#eab30840!important;box-shadow:inset 0 0 0 2px #eab308}.table-cell.check-pass-green{background:#22c55e33!important;box-shadow:inset 0 0 0 2px #22c55e}.table-cell-check-badges{position:absolute;top:-4px;right:-4px;display:flex;gap:1px;z-index:10;pointer-events:auto}.table-cell-check-badge{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:9px;cursor:pointer;box-shadow:0 1px 2px #0000004d;transition:transform .15s ease}.table-cell-check-badge:hover{transform:scale(1.3)}.table-cell-check-badge-red{background:#ef4444;color:#fff}.table-cell-check-badge-orange{background:#f97316;color:#fff}.table-cell-check-badge-yellow{background:#eab308;color:#1a1a1a}.table-cell-check-badge-green{background:#22c55e;color:#fff}.table-cell{position:relative}.sheet-cell.check-fail-red{background:#ef44444d!important;box-shadow:inset 0 0 0 2px #ef4444}.sheet-cell.check-fail-orange{background:#f973164d!important;box-shadow:inset 0 0 0 2px #f97316}.sheet-cell.check-fail-yellow{background:#eab30840!important;box-shadow:inset 0 0 0 2px #eab308}.sheet-cell.check-pass-green{background:#22c55e33!important;box-shadow:inset 0 0 0 2px #22c55e}.sheet-cell-check-badges{position:absolute;top:-4px;right:-4px;display:flex;gap:1px;z-index:10;pointer-events:auto}.sheet-cell-check-badge{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:9px;cursor:pointer;box-shadow:0 1px 2px #0000004d;transition:transform .15s ease}.sheet-cell-check-badge:hover{transform:scale(1.3)}.sheet-cell-check-badge-red{background:#ef4444;color:#fff}.sheet-cell-check-badge-orange{background:#f97316;color:#fff}.sheet-cell-check-badge-yellow{background:#eab308;color:#1a1a1a}.sheet-cell-check-badge-green{background:#22c55e;color:#fff}.ref-drag-handle{z-index:15;pointer-events:auto;transition:transform .1s ease,box-shadow .1s ease}.ref-drag-handle:hover{transform:scale(1.3);box-shadow:0 1px 4px #0000004d}.result-checks-section{margin-top:8px}.result-checks-content{padding:8px 0}.result-check-add-btn{width:100%;padding:8px;margin-bottom:8px;background:#4f9cff26;border:1px dashed var(--accent-blue);border-radius:4px;color:var(--accent-blue);font-size:12px;cursor:pointer;transition:all .15s ease}.result-check-add-btn:hover{background:#4f9cff40}.result-checks-empty{color:var(--text-muted);font-size:12px;font-style:italic;text-align:center;padding:12px}.result-checks-list{display:flex;flex-direction:column;gap:8px}.result-check-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:8px}.result-check-card.status-fail{border-left:3px solid #ef4444}.result-check-card.status-pass{border-left:3px solid #22c55e}.result-check-card.status-disabled{opacity:.6}.result-check-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.result-check-name{flex:1;font-weight:600;font-size:12px;color:var(--text-primary);cursor:pointer;padding:2px 4px;border-radius:3px}.result-check-name:hover{background:var(--bg-hover)}.result-check-name-input{flex:1;font-weight:600;font-size:12px;background:var(--bg-secondary);border:1px solid var(--accent-blue);border-radius:3px;color:var(--text-primary);padding:2px 4px;outline:none}.result-check-status{font-size:14px}.result-check-status.fail{color:#ef4444}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color, #444);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-blue, #4a9eff)}*{scrollbar-width:thin;scrollbar-color:var(--border-color, #444) transparent}.result-check-actions{display:flex;gap:2px}.result-check-action-btn{padding:2px 6px;background:transparent;border:1px solid var(--border-color);border-radius:3px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .15s ease}.result-check-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.result-check-action-btn:disabled{opacity:.3;cursor:not-allowed}.result-check-action-btn.delete:hover{background:#ef444433;border-color:#ef4444;color:#ef4444}.result-check-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px}.result-check-row:last-child{margin-bottom:0}.result-check-label{color:var(--text-muted);min-width:60px}.result-check-condition-text{color:var(--text-secondary);font-weight:500}.result-check-select{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;padding:3px 6px;cursor:pointer}.result-check-select.operator{width:100px}.result-check-select.color,.result-check-select.icon{width:90px}.result-check-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:11px;padding:3px 6px}.result-check-input.threshold{width:60px}.result-check-input.message{flex:1}.result-check-row.checkbox-row{margin-top:4px}.result-check-checkbox-label{display:flex;align-items:center;gap:6px;color:var(--text-secondary);cursor:pointer;font-size:11px}.result-check-checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer}.checks-count{margin-left:6px;font-size:10px;color:var(--text-muted);font-weight:400}.checks-panel{padding:12px;height:100%;overflow-y:auto}.checks-panel-summary{display:flex;gap:16px;padding:12px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:16px}.checks-summary-item{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.checks-summary-item.failing{color:#ef4444}.checks-summary-item.passing{color:#22c55e}.checks-section{margin-bottom:16px}.checks-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.checks-section-toggle{background:transparent;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;padding:2px 6px;border-radius:3px}.checks-section-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.checks-list{display:flex;flex-direction:column;gap:8px;padding-top:8px}.check-summary-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:10px;cursor:pointer;transition:all .15s ease}.check-summary-item:hover{background:var(--bg-hover)}.check-summary-item.failing{border-left:3px solid #ef4444}.check-summary-item.passing{border-left:3px solid #22c55e}.check-summary-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.check-summary-icon{font-size:14px}.check-summary-icon.red{color:#ef4444}.check-summary-icon.orange{color:#f97316}.check-summary-icon.yellow{color:#eab308}.check-summary-icon.green{color:#22c55e}.check-summary-var-name{font-weight:600;font-size:13px;color:var(--text-primary)}.check-summary-value{color:var(--text-secondary);font-size:12px;margin-left:auto}.check-summary-details{font-size:11px;color:var(--text-muted);padding-left:22px}.check-summary-check-name{color:var(--text-secondary)}.check-summary-message{font-style:italic}.check-summary-goto{display:inline-block;margin-top:6px;padding:3px 8px;background:#4f9cff26;border-radius:3px;color:var(--accent-blue);font-size:10px;cursor:pointer;transition:all .15s ease}.check-summary-goto:hover{background:#4f9cff40}.checks-empty{text-align:center;padding:24px;color:var(--text-muted);font-size:13px}.checks-empty-icon{font-size:32px;margin-bottom:8px;opacity:.5}[data-theme=light] .result-check-badge-yellow{color:#1a1a1a}[data-theme=light] .result-check-card,[data-theme=light] .checks-panel-summary,[data-theme=light] .check-summary-item{background:#00000008}.properties-panel{padding:12px;font-size:13px}.properties-panel-empty{text-align:center;padding:24px;color:var(--text-muted)}.properties-panel-header{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.properties-cell-ref{font-weight:600;color:var(--accent-blue)}.properties-section{margin-bottom:16px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.properties-section-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.properties-section-header:hover{background:var(--bg-hover)}.properties-section-toggle{font-size:10px;color:var(--text-muted)}.properties-section-title{flex:1;font-weight:600;font-size:12px;color:var(--text-primary)}.properties-section-content{padding:12px;background:var(--bg-secondary)}.properties-field{margin-bottom:12px}.properties-field:last-child{margin-bottom:0}.properties-label{display:block;margin-bottom:4px;font-size:11px;color:var(--text-secondary);font-weight:500}.properties-input{width:100%;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;box-sizing:border-box}.properties-input:focus{border-color:var(--accent-blue);outline:none}.properties-input.invalid{border-color:var(--accent-red)}.properties-input-group{display:flex;gap:4px}.properties-error{display:block;margin-top:4px;font-size:11px;color:var(--accent-red)}.properties-checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary);cursor:pointer}.properties-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-blue)}.properties-apply-btn{width:100%;padding:8px 12px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.properties-apply-btn:hover:not(:disabled){background:#3d8bfa}.properties-apply-btn:disabled{opacity:.5;cursor:not-allowed}.properties-preview{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.properties-preview-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.properties-preview-item{display:inline-block;padding:2px 8px;background:var(--bg-tertiary);border-radius:3px;font-size:11px;color:var(--text-secondary)}.properties-preview-more{font-size:11px;color:var(--text-muted);font-style:italic}.properties-select{width:100%;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;box-sizing:border-box;cursor:pointer}.properties-select:focus{border-color:var(--accent-blue);outline:none}.properties-range-inputs{display:flex;align-items:center;gap:4px}.properties-range-input{flex:1;min-width:0}.properties-range-separator{font-weight:600;color:var(--text-muted)}.properties-range-preview{margin-top:6px;font-size:11px;color:var(--text-secondary)}.properties-range-preview code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.properties-warning{margin-top:8px;padding:8px 10px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:4px;font-size:12px;color:var(--accent-yellow)}.properties-pick-btn{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:14px;transition:all .15s ease;margin-left:4px}.properties-pick-btn:hover{background:var(--bg-hover);border-color:var(--accent-blue)}.properties-pick-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.properties-pick-hint{margin-top:6px;padding:6px 10px;background:#4f9cff26;border:1px solid rgba(79,156,255,.3);border-radius:4px;font-size:11px;color:var(--accent-blue);font-style:italic}.dropdown-cell{position:relative;display:flex;align-items:center;width:100%;height:100%;box-sizing:border-box;pointer-events:auto}.table-cell-content .dropdown-cell{min-height:28px}.dropdown-cell-display{cursor:pointer;padding:4px 6px;background:transparent}.dropdown-cell-display:hover{background:#4f9cff1a}.dropdown-cell-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-cell-placeholder{color:var(--text-muted);font-style:italic}.dropdown-cell-arrow{margin-left:4px;font-size:10px;color:var(--text-muted);padding:2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropdown-cell-arrow:hover{color:var(--accent-blue)}.dropdown-cell-invalid{border:2px solid var(--accent-red)!important;background:#d9534f1a!important}.dropdown-cell-editing{position:relative;z-index:100}.dropdown-cell-input-wrapper{display:flex;align-items:center;width:100%}.dropdown-cell-input{flex:1;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--accent-blue);border-radius:3px;color:var(--text-primary);font-size:13px;outline:none}.dropdown-cell-input::placeholder{color:var(--text-muted)}.dropdown-cell-popup{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:#252525;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:10000;margin-top:2px;pointer-events:auto}.dropdown-cell-option{padding:8px 10px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s ease}.dropdown-cell-option:hover,.dropdown-cell-option.highlighted{background:var(--bg-hover)}.dropdown-cell-option.selected{background:#4f9cff33;font-weight:500}.dropdown-cell-no-results{padding:12px 10px;text-align:center;color:var(--text-muted);font-size:12px}.dropdown-cell-custom-hint{display:block;margin-top:4px;font-size:11px;color:var(--text-muted)}[data-theme=light] .dropdown-cell-popup{box-shadow:0 4px 12px #00000026}[data-theme=light] .dropdown-cell-display:hover{background:#2563eb1a}[data-theme=light] .dropdown-cell-invalid{border-color:#dc2626!important;background:#dc26261a!important}.named-ranges-panel{padding:12px;font-size:13px}.named-ranges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.named-ranges-title{font-weight:600;font-size:14px;color:var(--text-primary)}.named-ranges-add-btn{padding:4px 10px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s ease}.named-ranges-add-btn:hover{background:#3d8bfa}.named-ranges-form{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-bottom:12px}.named-ranges-field{margin-bottom:10px}.named-ranges-field:last-child{margin-bottom:0}.named-ranges-label{display:block;margin-bottom:4px;font-size:11px;color:var(--text-secondary);font-weight:500}.named-ranges-input{width:100%;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;box-sizing:border-box}.named-ranges-input:focus{border-color:var(--accent-blue);outline:none}.named-ranges-error{margin-top:8px;padding:6px 10px;background:#d9534f26;border:1px solid rgba(217,83,79,.3);border-radius:4px;font-size:12px;color:var(--accent-red)}.named-ranges-form-actions{display:flex;gap:8px;margin-top:12px}.named-ranges-save-btn{flex:1;padding:6px 12px;background:var(--accent-blue);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s ease}.named-ranges-save-btn:hover{background:#3d8bfa}.named-ranges-cancel-btn{padding:6px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s ease}.named-ranges-cancel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.named-ranges-list{margin-bottom:12px}.named-ranges-empty{text-align:center;padding:20px;color:var(--text-muted);font-size:12px}.named-ranges-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;margin-bottom:8px}.named-ranges-item:last-child{margin-bottom:0}.named-ranges-item.editing{border-color:var(--accent-blue);background:#4f9cff1a}.named-ranges-item-header{display:flex;justify-content:space-between;align-items:center}.named-ranges-item-name{font-weight:600;color:var(--accent-blue);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.named-ranges-item-actions{display:flex;gap:4px}.named-ranges-edit-btn,.named-ranges-delete-btn{padding:2px 6px;background:transparent;border:none;cursor:pointer;font-size:12px;opacity:.7;transition:opacity .15s ease}.named-ranges-edit-btn:hover,.named-ranges-delete-btn:hover{opacity:1}.named-ranges-item-range{margin-top:4px;font-size:12px}.named-ranges-item-range code{background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-secondary)}.named-ranges-item-desc{margin-top:4px;font-size:11px;color:var(--text-muted);font-style:italic}.named-ranges-help{margin-top:16px;padding:12px;background:var(--bg-tertiary);border-radius:6px;font-size:11px;color:var(--text-secondary)}.named-ranges-help strong{color:var(--text-primary)}.named-ranges-help ul{margin:8px 0 0 16px;padding:0}.named-ranges-help li{margin-bottom:4px}.named-ranges-help code{background:var(--bg-primary);padding:1px 4px;border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ribbon-unit-combobox-container{display:flex;flex-direction:column;gap:4px;padding:0 4px;position:relative}.ribbon-unit-combobox{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);overflow:hidden;width:120px}.ribbon-unit-combobox:focus-within{border-color:var(--accent-blue)}.ribbon-unit-input{flex:1;padding:4px 6px;background:transparent;border:none;color:var(--text-primary);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;outline:none;min-width:0}.ribbon-unit-input::placeholder{color:var(--text-muted);font-size:11px}.ribbon-unit-arrow{padding:4px 6px;background:transparent;border:none;border-left:1px solid var(--border-color);color:var(--text-muted);font-size:8px;cursor:pointer;transition:all .15s ease}.ribbon-unit-arrow:hover{background:var(--bg-hover);color:var(--text-primary)}.ribbon-unit-dropdown{position:absolute;top:32px;left:8px;width:160px;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000040;z-index:10001}.ribbon-unit-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;cursor:pointer;transition:all .1s ease}.ribbon-unit-dropdown-item:hover,.ribbon-unit-dropdown-item.highlighted{background:var(--bg-hover)}.ribbon-unit-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--text-primary)}.ribbon-unit-cat{font-size:9px;color:var(--text-muted);margin-left:6px}.ribbon-unit-apply{padding:3px 8px;background:var(--accent-blue);border:none;border-radius:3px;color:#fff;font-weight:600;font-size:10px;cursor:pointer;transition:all .15s ease}.ribbon-unit-apply:hover:not(:disabled){background:#5aa3ff}.ribbon-unit-apply:disabled{opacity:.5;cursor:not-allowed}.ribbon-unit-label{font-size:10px;color:var(--text-muted);text-align:center;margin-top:2px}.ribbon-convert-indicator{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--accent-blue);font-weight:500;padding:0 4px;cursor:default}.ribbon-convert-arrow{font-size:10px;color:var(--text-muted);padding:0 2px}.ribbon-convert-dropdown-btn{display:flex;align-items:center;gap:4px;padding:4px 6px;background:transparent;border:none;color:var(--text-primary);font-size:11px;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;border-left:1px solid var(--border-color);transition:all .15s ease}.ribbon-convert-dropdown-btn:hover:not(:disabled){background:var(--bg-hover)}.ribbon-convert-dropdown-btn:disabled{opacity:.5;cursor:not-allowed}.ribbon-unit-arrow-text{font-size:8px;color:var(--text-muted)}.ribbon-unit-mode-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 4px}.ribbon-unit-mode-button{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:11px;cursor:pointer;transition:all .15s ease;min-width:90px;justify-content:space-between}.ribbon-unit-mode-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-blue)}.ribbon-unit-mode-button:disabled{opacity:.5;cursor:not-allowed}.ribbon-unit-mode-label{font-weight:500}.ribbon-unit-mode-arrow{font-size:8px;color:var(--text-muted)}.ribbon-unit-mode-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000040;z-index:10001;overflow:hidden}.ribbon-unit-mode-item{display:flex;flex-direction:column;gap:2px;padding:8px 12px;cursor:pointer;transition:all .1s ease}.ribbon-unit-mode-item:hover{background:var(--bg-hover)}.ribbon-unit-mode-item.selected{background:var(--accent-blue);color:#fff}.ribbon-unit-mode-item.selected .ribbon-unit-mode-item-desc{color:#fffc}.ribbon-unit-mode-item-label{font-size:12px;font-weight:500}.ribbon-unit-mode-item-desc{font-size:10px;color:var(--text-muted)}.paste-special-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.paste-special-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;min-width:320px;max-width:400px;box-shadow:0 8px 32px #0006}.paste-special-title{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.paste-special-fieldset{border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin:0 0 16px}.paste-special-legend{font-size:12px;font-weight:600;color:var(--text-secondary);padding:0 8px}.paste-special-radio-label,.paste-special-checkbox-label{display:flex;align-items:center;gap:10px;padding:8px 4px;cursor:pointer;border-radius:4px;transition:background-color .15s ease}.paste-special-radio-label:hover,.paste-special-checkbox-label:hover{background:var(--bg-hover)}.paste-special-radio,.paste-special-checkbox{width:16px;height:16px;accent-color:var(--accent-blue);cursor:pointer}.paste-special-radio-text,.paste-special-checkbox-text{font-size:14px;color:var(--text-primary)}.paste-special-help-text{margin:8px 0 0 26px;font-size:12px;color:var(--text-muted);line-height:1.4}.paste-special-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.paste-special-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .15s ease}.paste-special-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.paste-special-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.paste-special-btn-paste{background:var(--accent-blue);color:#fff}.paste-special-btn-paste:hover{background:#3b82f6}.import-excel-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.import-excel-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;min-width:480px;max-width:560px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.import-excel-title{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.import-excel-content{display:flex;flex-direction:column;gap:16px}.import-excel-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#ef4444;font-size:14px}.import-excel-error-inline{margin-bottom:12px}.import-excel-dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s ease}.import-excel-dropzone:hover{border-color:var(--accent-blue);background:#3b82f60d}.import-excel-dropzone-icon{font-size:48px;margin-bottom:16px}.import-excel-dropzone-text{font-size:16px;color:var(--text-primary);margin:0 0 8px}.import-excel-dropzone-formats{font-size:12px;color:var(--text-muted);margin:0}.import-excel-file-info{display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);border-radius:8px;padding:12px 16px}.import-excel-file-icon{font-size:32px}.import-excel-file-details{flex:1}.import-excel-file-name{font-size:14px;font-weight:500;color:var(--text-primary);word-break:break-all}.import-excel-file-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.import-excel-change-file{background:transparent;border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer}.import-excel-change-file:hover{background:var(--bg-hover);color:var(--text-primary)}.import-excel-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:12px 16px;color:#f59e0b;font-size:13px}.import-excel-warning-strong{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.import-excel-fieldset{border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;margin:0}.import-excel-legend{font-size:12px;font-weight:600;color:var(--text-secondary);padding:0 8px}.import-excel-checkbox-label{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:4px;cursor:pointer}.import-excel-checkbox-label:hover{background:var(--bg-hover)}.import-excel-checkbox{width:16px;height:16px;accent-color:var(--accent-blue)}.import-excel-checkbox-text{font-size:14px;color:var(--text-primary)}.import-excel-help-text{font-size:12px;color:var(--text-muted);margin:0;line-height:1.5}.import-excel-password-section{text-align:center}.import-excel-password-text{font-size:14px;color:var(--text-secondary);margin:0 0 16px}.import-excel-password-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.import-excel-password-input:focus{outline:none;border-color:var(--accent-blue)}.import-excel-progress{padding:24px 0;text-align:center}.import-excel-progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:16px}.import-excel-progress-fill{height:100%;background:var(--accent-blue);border-radius:4px;transition:width .3s ease}.import-excel-progress-text{font-size:14px;color:var(--text-primary);margin:0}.import-excel-progress-sheet{font-size:12px;color:var(--text-muted);margin:4px 0 0}.import-excel-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:12px 16px;color:#22c55e;font-size:14px;font-weight:500;text-align:center}.import-excel-summary{display:flex;gap:24px;justify-content:center}.import-excel-summary-item{display:flex;flex-direction:column;align-items:center;gap:4px}.import-excel-summary-label{font-size:12px;color:var(--text-muted)}.import-excel-summary-value{font-size:20px;font-weight:600;color:var(--text-primary)}.import-excel-warnings,.import-excel-unsupported{background:var(--bg-tertiary);border-radius:8px;padding:12px 16px}.import-excel-warnings-title,.import-excel-unsupported-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.import-excel-warnings-list,.import-excel-unsupported-list{margin:0;padding-left:20px;font-size:12px;color:var(--text-muted)}.import-excel-warnings-list li,.import-excel-unsupported-list li{margin-bottom:4px}.import-excel-unsupported-note{font-size:11px;color:var(--text-muted);font-style:italic;margin:8px 0 0}.import-excel-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.import-excel-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease}.import-excel-btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.import-excel-btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.import-excel-btn-import{background:var(--accent-blue);color:#fff}.import-excel-btn-import:hover{background:#3b82f6}.goal-seeker-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.goal-seeker-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:700px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.goal-seeker-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px 12px 0 0}.goal-seeker-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.goal-seeker-modal-icon{font-size:20px}.goal-seeker-modal-equation{padding:4px 10px;background:var(--bg-tertiary);border-radius:6px;font-weight:500}.goal-seeker-modal-equation .latex-display{font-size:14px}.goal-seeker-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;border-radius:6px;transition:all .15s ease}.goal-seeker-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.goal-seeker-modal-body{flex:1;overflow-y:auto;padding:0}.goal-seeker-modal-body .inspector-section{border:none;margin:0}.goal-seeker-modal-body .inspector-vars-header{display:none}.goal-seeker-modal-body .inspector-vars.goal-seeker{padding:16px 20px}.goal-seeker-modal-empty{padding:40px 20px;text-align:center;color:var(--text-secondary)}.goal-seeker-modal-empty p{margin:0 0 8px}.goal-seeker-modal-empty .hint{font-size:13px;opacity:.8}.goal-seeker-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 12px 12px}.goal-seeker-modal-btn{padding:8px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.goal-seeker-modal-btn.secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.goal-seeker-modal-btn.secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.goal-seeker-modal-btn.primary{background:var(--accent-blue);border:none;color:#fff}.goal-seeker-modal-btn.primary:hover{background:#3b82f6}.goal-seeker-modal-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=light] .goal-seeker-modal-overlay{background:#0006}[data-theme=light] .goal-seeker-modal{box-shadow:0 20px 60px #0003}.goal-seeker-modal--fullscreen{width:95%;max-width:1400px;max-height:calc(100vh - 80px);height:calc(100vh - 80px)}.goal-seeker-modal--fullscreen .goal-seeker-modal-body{flex:1;min-height:0;overflow:hidden}.goal-seeker-modal--fullscreen .goal-seeker-modal-body--table{overflow-y:auto}.goal-seeker-modal-view-toggle{display:flex;gap:2px;margin-left:auto;margin-right:16px;background:var(--bg-tertiary);border-radius:6px;padding:2px}.goal-seeker-modal-view-btn{padding:6px 12px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.goal-seeker-modal-view-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.goal-seeker-modal-view-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0003}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:16px;background:var(--accent-blue, #4A90D9);color:#fff;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 8px 8px;z-index:var(--z-skip-link);box-shadow:0 2px 8px #0000004d;transition:top .2s ease}.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px}:focus-visible{outline:2px solid var(--accent-blue, #4A90D9);outline-offset:2px}button:focus-visible,[role=button]:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent-blue, #4A90D9);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-blue, #4A90D9);outline-offset:-1px}.app-layout button:focus-visible,.app-layout [role=button]:focus-visible,.app-layout a:focus-visible{outline:2px solid var(--accent-blue, #4A90D9);outline-offset:2px;box-shadow:0 0 0 4px #4a90d94d}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ribbon-symbols{position:relative;display:inline-flex;align-items:center}.ribbon-symbols-btn{height:28px;min-width:44px;padding:0 8px;display:inline-flex;align-items:center;gap:4px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.ribbon-symbols-btn:hover{background:var(--bg-hover, var(--bg-secondary))}.ribbon-symbols-caret{font-size:9px;opacity:.7}.ribbon-symbols-grid{position:absolute;top:32px;left:0;z-index:1000;display:grid;grid-template-columns:repeat(5,34px);gap:2px;padding:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #00000040}.ribbon-symbols-cell{width:34px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:3px;cursor:pointer}.ribbon-symbols-cell:hover{background:var(--bg-hover, var(--bg-primary));border-color:var(--border-color)}.ribbon-symbols-hint{grid-column:1 / -1;padding:4px 2px 0;font-size:10px;color:var(--text-secondary, #888);border-top:1px solid var(--border-color);margin-top:2px}.ribbon-symbols-hint kbd{font-family:inherit;border:1px solid var(--border-color);border-radius:3px;padding:0 3px;font-size:9px}.hotkeys-modal{position:fixed;top:64px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 96px);background:var(--bg-secondary, #1b1b1b);border:1px solid var(--border-color, #444);border-radius:8px;padding:14px 16px;color:var(--text-primary, #efefef);z-index:var(--z-modal)}.hotkeys-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.hotkeys-btn{padding:3px 8px;border:1px solid var(--border-color, #555);background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #efefef);border-radius:4px;cursor:pointer}.hotkeys-btn:disabled{opacity:.45;cursor:default}.hotkeys-search-label{font-size:11px;color:var(--text-muted, #999);margin-bottom:3px}.hotkeys-search{width:100%;padding:6px 8px;background:var(--bg-primary, #111);color:var(--text-primary, #efefef);border:1px solid var(--border-color, #555);border-radius:4px;margin-bottom:10px}.hotkeys-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border-color, #444);margin-bottom:8px}.hotkeys-tab{padding:5px 10px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #bbb);cursor:pointer;font-size:12px}.hotkeys-tab.active{color:var(--text-primary, #efefef);border-bottom-color:var(--accent-color, #4a9eff)}.hotkeys-tab.empty{opacity:.4}.hotkeys-tab-count{margin-left:5px;padding:0 5px;border-radius:8px;background:var(--bg-tertiary, #2a2a2a);font-size:10px}.hotkeys-body{overflow-y:auto;flex:1;min-height:0}.hotkeys-group{margin-bottom:12px}.hotkeys-group-title{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #999);border-bottom:1px solid var(--border-color, #333);padding-bottom:3px}.hotkeys-row{display:grid;grid-template-columns:1fr 168px 28px;gap:8px;align-items:start;padding:4px 0}.hotkeys-row-label label{font-size:13px;cursor:pointer}.hotkeys-note{font-size:10px;color:var(--text-muted, #999);margin-top:1px}.hotkeys-warn{font-size:10px;color:var(--warning-color, #d19a3a);margin-top:1px}.hotkeys-input{padding:4px 6px;background:var(--bg-primary, #111);color:var(--text-primary, #efefef);border:1px solid var(--border-color, #555);border-radius:4px;font-size:12px;text-align:center;cursor:pointer}.hotkeys-input.warn{border-color:var(--warning-color, #d19a3a)}.hotkeys-input.recording{border-color:var(--accent-color, #4a9eff);color:var(--accent-color, #4a9eff)}.hotkeys-input:disabled{opacity:.55;cursor:default}.hotkeys-input::placeholder{color:var(--text-muted, #777);font-style:italic}.hotkeys-reset{background:transparent;border:1px solid transparent;color:var(--text-muted, #999);border-radius:4px;cursor:pointer;font-size:13px;line-height:1;padding:4px 0}.hotkeys-reset:hover:not(:disabled){border-color:var(--border-color, #555);color:var(--text-primary, #efefef)}.hotkeys-reset:disabled{opacity:.25;cursor:default}.hotkeys-empty{color:var(--text-muted, #999);font-size:12px;padding:12px 2px}.hotkeys-foot{margin-top:10px;padding-top:8px;border-top:1px solid var(--border-color, #333);font-size:11px;color:var(--text-muted, #999)}.hotkeys-foot kbd{background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border-color, #555);border-radius:3px;padding:0 4px;font-size:10px}.hotkeys-filters{display:flex;gap:6px;margin-bottom:8px}.hotkeys-chip{padding:2px 9px;font-size:11px;border:1px solid var(--border-color, #555);border-radius:999px;background:transparent;color:var(--text-secondary, #bbb);cursor:pointer}.hotkeys-chip.active{background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #efefef);border-color:var(--accent-color, #4a9eff)}.hotkeys-row.unwired .hotkeys-row-label label{color:var(--text-muted, #999)}.hotkeys-badge{margin-left:6px;padding:0 5px;border-radius:3px;border:1px dashed var(--border-color, #555);font-size:9px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #999);vertical-align:middle;cursor:help}.ribbon-group-collapsed .ribbon-group-content{justify-content:center}.ribbon-collapsed-btn{width:30px;height:100%;min-height:28px;background:transparent;border:1px solid var(--border-color, #555);border-radius:4px;color:var(--text-primary, #efefef);cursor:pointer;font-size:11px}.ribbon-collapsed-btn:hover{background:var(--bg-tertiary, #2a2a2a)}.ribbon-group-popover{position:absolute;top:100%;left:0;z-index:1200;display:flex;gap:4px;padding:6px 8px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border-color, #555);border-radius:0 4px 4px;box-shadow:0 4px 12px #00000059;white-space:nowrap}.ribbon-tip-wrap{position:relative;display:inline-flex}.ribbon-tip{position:absolute;top:calc(100% + 6px);left:0;z-index:1300;display:flex;flex-direction:column;gap:3px;width:max-content;max-width:280px;padding:7px 9px;background:var(--bg-secondary, #1b1b1b);border:1px solid var(--border-color, #555);border-radius:6px;box-shadow:0 6px 18px #0006;text-align:left;white-space:normal}.ribbon-tip.flip{left:auto;right:0}.ribbon-tip-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-primary, #efefef)}.ribbon-tip-key{padding:1px 5px;border:1px solid var(--border-color, #555);border-radius:3px;background:var(--bg-tertiary, #2a2a2a);font-family:inherit;font-size:10px;font-weight:500;color:var(--text-secondary, #bbb);white-space:nowrap}.ribbon-tip-desc{font-size:11px;line-height:1.4;color:var(--text-secondary, #bbb)}.ribbon-tip-meta{font-size:10px;font-style:italic;color:var(--text-muted, #999)}.ribbon-tip-why{font-size:10px;line-height:1.4;color:var(--warning-color, #d19a3a);border-top:1px solid var(--border-color, #333);margin-top:2px;padding-top:3px}.ai-edits-card{margin-bottom:12px}.ai-edits-empty{margin:0;padding:8px 10px;font-size:11px;line-height:1.5;color:var(--text-secondary, #a6adc8)}.ai-edits-clear{display:block;width:100%;border:none;border-top:1px solid var(--border-color, #45475a);background:transparent;color:var(--text-secondary, #a6adc8);cursor:pointer;font:inherit;font-size:11px;padding:6px 10px;text-align:center}.ai-edits-clear:hover{background:var(--bg-secondary, #1e1e2e);color:var(--text-primary, #cdd6f4)}.ai-edits-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.ai-edits-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;border:none;border-bottom:1px solid var(--border-color, #45475a);background:transparent;color:var(--text-primary, #cdd6f4);padding:7px 10px;cursor:pointer;font:inherit;font-size:11px}.ai-edits-item:hover{background:var(--bg-secondary, #1e1e2e)}.ai-edits-item.current{background:var(--bg-secondary, #1e1e2e);box-shadow:inset 3px 0 0 var(--accent-blue, #89b4fa)}.ai-edits-where{display:flex;align-items:baseline;gap:6px;font-weight:600}.ai-edits-kind{font-weight:400;font-size:10px;color:var(--text-secondary, #a6adc8);text-transform:uppercase;letter-spacing:.04em}.ai-edits-diff{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px}.ai-edits-before{color:var(--text-secondary, #a6adc8);text-decoration:line-through;opacity:.75;word-break:break-word}.ai-edits-arrow{color:var(--text-secondary, #a6adc8)}.ai-edits-after{color:var(--accent-green, #a6e3a1);word-break:break-word}.ai-edits-tab{font-size:10px;color:var(--text-secondary, #a6adc8)}.calc-box.ai-selected{outline:2px solid var(--accent-blue, #4f9cff);outline-offset:2px;border-radius:3px;box-shadow:0 0 0 6px #4f9cff29}.ai-edits-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border-color, #45475a)}.ai-edits-row .ai-edits-item{flex:1 1 auto;border-bottom:none;min-width:0}.ai-edits-accept{flex:0 0 auto;border:none;border-left:1px solid var(--border-color, #45475a);background:transparent;color:var(--text-secondary, #a6adc8);cursor:pointer;font-size:13px;padding:0 10px}.ai-edits-accept:hover{background:var(--accent-green, #a6e3a1);color:var(--bg-secondary, #1e1e2e)}.blc-selector{display:inline-flex;align-items:stretch;border:1px solid #3a3a3a;border-radius:4px;overflow:hidden;background:#141414;min-width:0}.blc-selector-step,.blc-selector-current{border:0;background:transparent;color:#e8edf2;cursor:pointer;font:11px Segoe UI,system-ui,sans-serif;padding:4px 6px}.blc-selector-step{color:#9aa6b2;min-width:22px}.blc-selector-step:hover,.blc-selector-current:hover{background:#2a2230}.blc-selector-current{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:72px;border-left:1px solid #2c2c2c;border-right:1px solid #2c2c2c;text-align:left}.blc-selector-code{font-weight:700;letter-spacing:.04em;line-height:1.15}.blc-selector-name{color:#9aa6b2;font-size:10px;line-height:1.2;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blc-selector.is-ribbon{height:44px}.blc-selector.is-ribbon .blc-selector-current{justify-content:center}.load-authoring{display:flex;flex-direction:column;gap:5px}.load-authoring .plan-props-field,.load-authoring .forge-props-field{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:6px}.load-list{display:flex;flex-direction:column;gap:2px;margin-top:4px}.load-list-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 5px;border-radius:3px;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%}.load-list-row:hover,.load-list-row.is-selected{background:#2a2230}.load-list-code{font-weight:700;font-size:10px;letter-spacing:.04em;min-width:28px}.load-list-meta{color:#9aa6b2;font-size:11px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-list-mag{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.load-list-mag input{width:64px;background:#141414;color:#e8edf2;border:1px solid #3a3a3a;border-radius:3px;padding:1px 4px;font:11px inherit}.load-list-mag span{color:#9aa6b2;font-size:10px}.drawing-scale-select{min-width:0;max-width:100%;font:12px ui-sans-serif,system-ui,sans-serif;color:#e8edf2;background:#141414;border:1px solid #3a3a3a;border-radius:3px;padding:3px 6px;color-scheme:dark}.drawing-scale-select option,.drawing-scale-select optgroup{background:#1a1a1a;color:#e8e8e8}.drawing-scale-select:disabled{opacity:.5}.drawing-scale-select.is-ribbon{height:36px;max-width:148px;font-size:11px;background:var(--bg-primary, #1a1a1a);color:var(--text-primary, #e8e8e8);border-color:var(--border-color, #404040)}[data-theme=light] .drawing-scale-select.is-ribbon{color-scheme:light}[data-theme=light] .drawing-scale-select.is-ribbon option,[data-theme=light] .drawing-scale-select.is-ribbon optgroup{background:var(--bg-primary, #f5f5f5);color:var(--text-primary, #1a1a1a)}.gst-container{--gst-bg-deep: #0d1117;--gst-bg-base: #161b22;--gst-bg-surface: #1c2128;--gst-bg-elevated: #252c35;--gst-bg-hover: #2d333b;--gst-border: #30363d;--gst-border-subtle: #21262d;--gst-border-focus: #58a6ff;--gst-text-primary: #e6edf3;--gst-text-secondary: #8b949e;--gst-text-tertiary: #6e7681;--gst-text-muted: #484f58;--gst-accent-cyan: #00d4ff;--gst-accent-blue: #58a6ff;--gst-accent-green: #3fb950;--gst-accent-amber: #f5a623;--gst-accent-orange: #f0883e;--gst-accent-red: #f85149;--gst-accent-purple: #a371f7;--gst-accent-violet: #8b5cf6;--gst-equation: #58a6ff;--gst-variable: #3fb950;--gst-locked: #6e7681;--gst-changed: #f5a623;--gst-multi: #a371f7;--gst-connector: #30363d;--gst-connector-active: #58a6ff;--gst-radius-sm: 4px;--gst-radius-md: 6px;--gst-radius-lg: 8px;--gst-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--gst-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--gst-shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--gst-shadow-glow: 0 0 20px rgba(0, 212, 255, .15);--gst-font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--gst-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--gst-transition-fast: .15s ease;--gst-transition-normal: .25s ease}.gst-container{position:relative;display:flex;flex-direction:column;height:100%;background:var(--gst-bg-base);color:var(--gst-text-primary);font-family:var(--gst-font-sans);font-size:13px;line-height:1.5;overflow:hidden}.gst-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0}.gst-header{position:relative;z-index:1;display:flex;align-items:center;gap:24px;padding:16px 20px;background:linear-gradient(135deg,var(--gst-bg-surface) 0%,var(--gst-bg-elevated) 100%);border-bottom:1px solid var(--gst-border);box-shadow:var(--gst-shadow-sm)}.gst-header__equation{display:flex;flex-direction:column;gap:4px;min-width:120px}.gst-header__label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gst-accent-cyan)}.gst-header__name{font-size:18px;font-weight:500;color:var(--gst-text-primary)}.gst-header__name .katex{font-size:1.1em}.gst-header__values{display:flex;align-items:center;gap:16px;flex:1}.gst-header__value-group{display:flex;flex-direction:column;gap:2px}.gst-header__value-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--gst-text-tertiary)}.gst-header__value{display:flex;align-items:baseline;gap:6px;font-family:var(--gst-font-mono);font-size:16px}.gst-header__value--current{color:var(--gst-text-secondary)}.gst-header__value--target{color:var(--gst-accent-cyan)}.gst-header__value--computed{color:var(--gst-text-primary)}.gst-header__value--success{color:var(--gst-accent-green)}.gst-header__arrow{font-size:18px;color:var(--gst-text-muted);margin:0 4px}.gst-target-input{width:100px;padding:6px 10px;background:var(--gst-bg-deep);border:1px solid var(--gst-border);border-radius:var(--gst-radius-sm);color:var(--gst-accent-cyan);font-family:var(--gst-font-mono);font-size:16px;text-align:right;transition:border-color var(--gst-transition-fast),box-shadow var(--gst-transition-fast)}.gst-target-input:focus{outline:none;border-color:var(--gst-accent-cyan);box-shadow:0 0 0 3px #00d4ff26}.gst-target-input::placeholder{color:var(--gst-text-muted)}.gst-target-delta{font-size:12px;padding:2px 6px;border-radius:var(--gst-radius-sm);background:#00d4ff1a}.gst-success-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--gst-accent-green);color:var(--gst-bg-deep);border-radius:50%;font-size:12px;font-weight:700}.gst-content{position:relative;z-index:1;display:flex;flex:1;min-height:0;overflow:hidden}.gst-tree-panel{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--gst-border);min-width:0}.gst-summary-panel{width:340px;flex-shrink:0;display:flex;flex-direction:column;background:var(--gst-bg-surface)}.gst-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--gst-bg-elevated);border-bottom:1px solid var(--gst-border-subtle)}.gst-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gst-text-secondary)}.gst-panel-hint{font-size:10px;color:var(--gst-text-muted)}.gst-tree-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.gst-tree-scroll::-webkit-scrollbar{width:8px}.gst-tree-scroll::-webkit-scrollbar-track{background:transparent}.gst-tree-scroll::-webkit-scrollbar-thumb{background:var(--gst-border);border-radius:4px}.gst-tree-scroll::-webkit-scrollbar-thumb:hover{background:var(--gst-text-muted)}.gst-tree{display:flex;flex-direction:column}.gst-node-wrapper{display:flex;flex-direction:column;position:relative}.gst-connectors{position:absolute;left:0;top:0;bottom:0;display:flex;pointer-events:none}.gst-connector-line{width:24px;height:100%;position:relative}.gst-connector-line--visible:after{content:"";position:absolute;left:12px;top:0;bottom:0;width:1.5px;background:var(--gst-connector)}.gst-connector-branch{width:24px;height:40px;color:var(--gst-connector);flex-shrink:0}.gst-connector-svg{width:24px;height:40px}.gst-node{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-left:calc(var(--depth, 0) * 24px);background:var(--gst-bg-surface);border:1px solid var(--gst-border);border-radius:var(--gst-radius-md);cursor:pointer;transition:background var(--gst-transition-fast),border-color var(--gst-transition-fast),box-shadow var(--gst-transition-fast)}.gst-node:hover,.gst-node--hovered{background:var(--gst-bg-hover);border-color:var(--gst-border-focus)}.gst-node--equation{border-left:3px solid var(--gst-equation)}.gst-node--variable{border-left:3px solid var(--gst-variable)}.gst-node--locked{opacity:.6;border-left-color:var(--gst-locked);background:var(--gst-bg-base)}.gst-node--locked .gst-node__values{text-decoration:none}.gst-node--changed{border-color:var(--gst-changed);box-shadow:0 0 0 1px var(--gst-changed),var(--gst-shadow-sm)}.gst-node--changed .gst-node__name{color:var(--gst-changed)}.gst-node--multi{position:relative}.gst-node--multi:after{content:"";position:absolute;inset:-2px;border:2px dashed var(--gst-multi);border-radius:var(--gst-radius-md);pointer-events:none;opacity:.5}.gst-node__toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--gst-text-secondary);cursor:pointer;transition:color var(--gst-transition-fast);flex-shrink:0}.gst-node__toggle:hover{color:var(--gst-text-primary)}.gst-toggle-icon{width:16px;height:16px;transition:transform var(--gst-transition-fast)}.gst-toggle-icon--expanded{transform:rotate(90deg)}.gst-node__type{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--gst-radius-sm);font-family:var(--gst-font-mono);font-size:12px;font-weight:600;flex-shrink:0}.gst-node__type--eq{background:#58a6ff26;color:var(--gst-equation)}.gst-node__type--var{background:#3fb95026;color:var(--gst-variable)}.gst-node__name{flex:1;min-width:0;font-weight:500;color:var(--gst-text-primary)}.gst-node__name .katex{font-size:.95em}.gst-node__multi-badge{display:flex;align-items:center;justify-content:center;padding:2px 6px;background:#a371f733;color:var(--gst-multi);border-radius:var(--gst-radius-sm);font-size:10px;font-weight:600;font-family:var(--gst-font-mono)}.gst-node__values{display:flex;align-items:baseline;gap:8px;font-family:var(--gst-font-mono);font-size:13px}.gst-value{display:flex;align-items:baseline;gap:4px}.gst-value--current{color:var(--gst-text-secondary)}.gst-value--strikethrough{text-decoration:line-through;opacity:.6}.gst-value--suggested{color:var(--gst-changed);font-weight:500}.gst-value__unit{font-size:11px;color:var(--gst-text-muted)}.gst-value__arrow{color:var(--gst-text-muted);font-size:14px}.gst-value__delta{font-size:11px;padding:1px 5px;border-radius:var(--gst-radius-sm);font-weight:500}.gst-value__delta--up{background:#f5a62326;color:var(--gst-accent-amber)}.gst-value__delta--down{background:#58a6ff26;color:var(--gst-accent-blue)}.gst-node__actions{display:flex;gap:4px;margin-left:8px;opacity:0;transition:opacity var(--gst-transition-fast)}.gst-node:hover .gst-node__actions,.gst-node--hovered .gst-node__actions{opacity:1}.gst-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:var(--gst-bg-elevated);border:1px solid var(--gst-border);border-radius:var(--gst-radius-sm);color:var(--gst-text-secondary);cursor:pointer;transition:background var(--gst-transition-fast),border-color var(--gst-transition-fast),color var(--gst-transition-fast)}.gst-action-btn:hover{background:var(--gst-bg-hover);border-color:var(--gst-text-muted);color:var(--gst-text-primary)}.gst-action-btn svg{width:14px;height:14px}.gst-action-btn--lock.gst-action-btn--active{background:#6e768133;border-color:var(--gst-locked);color:var(--gst-locked)}.gst-action-btn--accept{color:var(--gst-accent-green)}.gst-action-btn--accept:hover{background:#3fb95026;border-color:var(--gst-accent-green)}.gst-children{display:flex;flex-direction:column;margin-left:24px;padding-left:0}.gst-summary{flex:1;display:flex;flex-direction:column;overflow:hidden}.gst-summary--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;text-align:center;color:var(--gst-text-muted)}.gst-summary__empty-icon{width:48px;height:48px;color:var(--gst-text-muted);opacity:.5}.gst-summary__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--gst-bg-elevated);border-bottom:1px solid var(--gst-border-subtle)}.gst-summary__title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--gst-text-primary)}.gst-summary__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--gst-changed);color:var(--gst-bg-deep);border-radius:10px;font-size:11px;font-weight:700;font-family:var(--gst-font-mono)}.gst-summary__actions{display:flex;gap:8px}.gst-summary__table{flex:1;overflow-y:auto;padding:8px}.gst-summary__row{display:grid;grid-template-columns:1fr 80px 24px 80px 50px 60px;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--gst-radius-sm);transition:background var(--gst-transition-fast)}.gst-summary__row:hover:not(.gst-summary__row--header){background:var(--gst-bg-hover)}.gst-summary__row--header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gst-text-muted);border-bottom:1px solid var(--gst-border-subtle);margin-bottom:4px}.gst-summary__cell{min-width:0}.gst-summary__cell--name{font-weight:500}.gst-summary__cell--name .katex{font-size:.9em}.gst-summary__cell--current{font-family:var(--gst-font-mono);font-size:12px;color:var(--gst-text-secondary);text-align:right}.gst-summary__cell--arrow{text-align:center;color:var(--gst-text-muted)}.gst-summary__cell--suggested{font-family:var(--gst-font-mono);font-size:12px;text-align:right}.gst-summary__cell--delta{font-family:var(--gst-font-mono);font-size:11px;text-align:right}.gst-summary__cell--actions{display:flex;justify-content:flex-end;gap:4px}.gst-mono{font-family:var(--gst-font-mono)}.gst-unit{font-size:11px;color:var(--gst-text-muted);margin-left:3px}.gst-highlight{color:var(--gst-changed);font-weight:500}.gst-delta--up{color:var(--gst-accent-amber)}.gst-delta--down{color:var(--gst-accent-blue)}.gst-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;border-radius:var(--gst-radius-sm);cursor:pointer;transition:background var(--gst-transition-fast),border-color var(--gst-transition-fast),color var(--gst-transition-fast)}.gst-btn--primary{background:var(--gst-accent-green);border:1px solid var(--gst-accent-green);color:var(--gst-bg-deep)}.gst-btn--primary:hover{background:#4ade80;border-color:#4ade80}.gst-btn--secondary{background:transparent;border:1px solid var(--gst-border);color:var(--gst-text-secondary)}.gst-btn--secondary:hover{background:var(--gst-bg-hover);border-color:var(--gst-text-muted);color:var(--gst-text-primary)}.gst-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;font-size:11px;font-weight:600;border-radius:var(--gst-radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--gst-transition-fast),border-color var(--gst-transition-fast),color var(--gst-transition-fast)}.gst-icon-btn--accept{background:#3fb9501a;color:var(--gst-accent-green)}.gst-icon-btn--accept:hover{background:#3fb95040;border-color:var(--gst-accent-green)}.gst-icon-btn--reject{background:#f851491a;color:var(--gst-accent-red)}.gst-icon-btn--reject:hover{background:#f8514940;border-color:var(--gst-accent-red)}@keyframes gst-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes gst-highlight-fade{0%{background:#f5a6234d}to{background:transparent}}.gst-node--changed{animation:gst-highlight-fade 2s ease-out}@media(max-width:900px){.gst-content{flex-direction:column}.gst-tree-panel{border-right:none;border-bottom:1px solid var(--gst-border);max-height:50%}.gst-summary-panel{width:100%}}.gsng-container{--gsng-bg-canvas: #14171c;--gsng-bg-darker: #0f1114;--gsng-bg-node: #1e2229;--gsng-bg-node-hover: #262b35;--gsng-bg-elevated: #282e38;--gsng-bg-input: #14171c;--gsng-border: #363d4a;--gsng-border-subtle: #2a3040;--gsng-border-focus: #58a6ff;--gsng-text-primary: #e6edf3;--gsng-text-secondary: #8b949e;--gsng-text-muted: #6e7681;--gsng-text-dim: #484f58;--gsng-equation: #58a6ff;--gsng-variable: #3fb950;--gsng-changed: #f0a020;--gsng-locked: #6e7681;--gsng-multi: #a371f7;--gsng-success: #3fb950;--gsng-danger: #f85149;--gsng-wire: #8b949e;--gsng-wire-active: #58a6ff;--gsng-node-min-width: 150px;--gsng-node-max-width: 270px;--gsng-node-shadow: 0 3px 12px rgba(0, 0, 0, .4);--gsng-node-radius: 9px;--gsng-port-size: 12px;--gsng-pad-xs: 5px;--gsng-pad-sm: 8px;--gsng-pad-md: 12px;--gsng-pad-lg: 15px;--gsng-gap-xs: 3px;--gsng-gap-sm: 6px;--gsng-gap-md: 12px;--gsng-gap-lg: 18px;--gsng-font-xxs: 12px;--gsng-font-xs: 14px;--gsng-font-sm: 15px;--gsng-font-md: 17px;--gsng-font-lg: 18px;--gsng-font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--gsng-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--gsng-transition-fast: .1s ease;--gsng-transition: .15s ease}[data-theme=light] .gsng-container,.gsng-container[data-theme=light]{--gsng-bg-canvas: #f8f9fa;--gsng-bg-darker: #e9ecef;--gsng-bg-node: #ffffff;--gsng-bg-node-hover: #f1f3f4;--gsng-bg-elevated: #ffffff;--gsng-bg-input: #f8f9fa;--gsng-border: #c5c9ce;--gsng-border-subtle: #d0d4da;--gsng-border-focus: #3b82f6;--gsng-text-primary: #1f2937;--gsng-text-secondary: #374151;--gsng-text-muted: #4b5563;--gsng-text-dim: #6b7280;--gsng-equation: #2563eb;--gsng-variable: #16a34a;--gsng-changed: #d97706;--gsng-locked: #6b7280;--gsng-multi: #7c3aed;--gsng-success: #16a34a;--gsng-danger: #dc2626;--gsng-wire: #9ca3af;--gsng-wire-active: #3b82f6;--gsng-node-shadow: 0 2px 8px rgba(0, 0, 0, .1)}[data-theme=light] .gsng-container:before,.gsng-container[data-theme=light]:before{background-image:radial-gradient(circle,rgba(59,130,246,.12) 1px,transparent 1px)}[data-theme=light] .gsng-node__name .katex,.gsng-container[data-theme=light] .gsng-node__name .katex{color:#1f2937}[data-theme=light] .gsng-node__type-badge--eq,.gsng-container[data-theme=light] .gsng-node__type-badge--eq{background:#2563eb26}[data-theme=light] .gsng-node__type-badge--var,.gsng-container[data-theme=light] .gsng-node__type-badge--var{background:#16a34a26}.gsng-container{position:relative;display:flex;flex-direction:column;height:100%;background:var(--gsng-bg-canvas);color:var(--gsng-text-primary);font-family:var(--gsng-font-sans);font-size:var(--gsng-font-md);overflow:hidden}.gsng-container:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(88,166,255,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0}.gsng-toolbar{position:relative;z-index:10;display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--gsng-bg-elevated);border-bottom:1px solid var(--gsng-border)}.gsng-toolbar__title{display:flex;align-items:center;gap:6px;font-size:var(--gsng-font-lg);font-weight:600;color:var(--gsng-text-primary)}.gsng-toolbar__icon{font-size:14px}.gsng-toolbar__status{flex:1;display:flex;align-items:center;gap:10px}.gsng-toolbar__changes{padding:3px 8px;background:#f0a0201f;color:var(--gsng-changed);border-radius:10px;font-size:var(--gsng-font-sm);font-weight:600}.gsng-toolbar__hint{font-size:var(--gsng-font-sm);color:var(--gsng-text-muted)}.gsng-toolbar__success{padding:3px 8px;background:#3fb9501f;color:var(--gsng-success);border-radius:10px;font-size:var(--gsng-font-sm);font-weight:600}.gsng-toolbar__zoom{display:flex;align-items:center;gap:1px;background:var(--gsng-bg-darker);border-radius:4px;padding:2px}.gsng-zoom-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gsng-text-secondary);font-size:14px;font-weight:600;cursor:pointer;border-radius:3px;transition:all var(--gsng-transition-fast)}.gsng-zoom-btn:hover{background:var(--gsng-bg-elevated);color:var(--gsng-text-primary)}.gsng-zoom-level{min-width:40px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--gsng-text-muted);font-size:var(--gsng-font-sm);font-weight:600;font-family:var(--gsng-font-mono);cursor:pointer;border-radius:3px}.gsng-zoom-level:hover{background:var(--gsng-bg-elevated);color:var(--gsng-text-primary)}.gsng-toolbar__actions{display:flex;align-items:center;gap:10px}.gsng-toolbar__warning{padding:4px 10px;background:#f8514926;color:var(--gsng-danger);border-radius:4px;font-size:12px;font-weight:600}.gsng-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 12px;font-size:var(--gsng-font-sm);font-weight:600;border-radius:4px;cursor:pointer;transition:all var(--gsng-transition-fast)}.gsng-btn--primary{background:var(--gsng-success);border:1px solid var(--gsng-success);color:#000}.gsng-btn--primary:hover:not(:disabled){background:#4ade80;border-color:#4ade80}.gsng-btn--primary:disabled,.gsng-btn--primary.gsng-btn--disabled{background:var(--gsng-text-muted);border-color:var(--gsng-text-muted);cursor:not-allowed;opacity:.6}.gsng-btn--ghost{background:transparent;border:1px solid var(--gsng-border);color:var(--gsng-text-secondary)}.gsng-btn--ghost:hover{background:var(--gsng-bg-elevated);border-color:var(--gsng-text-muted);color:var(--gsng-text-primary)}.gsng-tree-scroll{flex:1;overflow:auto;padding:20px 20px 60px;min-width:0;cursor:default;position:relative}.gsng-tree-scroll--panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.gsng-tree-scroll--panning *{pointer-events:none}.gsng-zoom-wrapper{display:flex;justify-content:center;padding:20px}.gsng-tree-content{display:flex;flex-direction:column;align-items:center;padding:20px 40px 80px;box-sizing:border-box;position:relative}.gsng-tree-positioned{flex-shrink:0}.gsng-positioned-node{z-index:2}.gsng-tree-scroll::-webkit-scrollbar{width:8px;height:8px}.gsng-tree-scroll::-webkit-scrollbar-track{background:var(--gsng-bg-darker)}.gsng-tree-scroll::-webkit-scrollbar-thumb{background:var(--gsng-border);border-radius:4px}.gsng-tree-scroll::-webkit-scrollbar-thumb:hover{background:var(--gsng-text-muted)}.gsng-root{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px}.gsng-root__card{width:100%;background:var(--gsng-bg-node);border:2px solid var(--gsng-equation);border-radius:6px;box-shadow:var(--gsng-node-shadow),0 0 16px #58a6ff14;overflow:hidden}.gsng-root__header{display:flex;align-items:center;gap:6px;padding:5px 8px;background:linear-gradient(180deg,rgba(88,166,255,.1) 0%,transparent 100%);border-bottom:1px solid var(--gsng-border)}.gsng-root__badge{font-size:12px}.gsng-root__title{font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gsng-equation)}.gsng-root__equation{padding:5px 8px;background:var(--gsng-bg-darker);border-bottom:1px solid var(--gsng-border-subtle);font-size:11px}.gsng-root__equation .katex{font-size:1.15em;font-weight:700;color:#fff}.gsng-root__values{padding:5px;display:flex;flex-direction:column;gap:3px}.gsng-root__value-row{display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--gsng-bg-elevated);border-radius:3px}.gsng-root__value-row--target{background:#58a6ff14;border:1px solid rgba(88,166,255,.2)}.gsng-root__value-row--computed{background:var(--gsng-bg-darker)}.gsng-root__value-row--success{background:#3fb95014;border:1px solid rgba(63,185,80,.2)}.gsng-root__label{font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gsng-text-muted);min-width:45px}.gsng-root__value-row--target .gsng-root__label{color:var(--gsng-equation)}.gsng-root__value-row--success .gsng-root__label{color:var(--gsng-success)}.gsng-root__number{font-family:var(--gsng-font-mono);font-size:11px;font-weight:600;color:var(--gsng-text-primary)}.gsng-root__unit{font-size:9px;color:var(--gsng-text-secondary)}.gsng-root__input{flex:1;padding:3px 6px;font-family:var(--gsng-font-mono);font-size:11px;font-weight:600;color:var(--gsng-text-primary);background:var(--gsng-bg-input);border:1px solid var(--gsng-equation);border-radius:2px;outline:none}.gsng-root__input:focus{box-shadow:0 0 0 2px #58a6ff26}.gsng-root__input::placeholder{font-weight:400;color:var(--gsng-text-dim)}.gsng-root__check{font-size:10px;color:var(--gsng-success)}.gsng-connector-svg{z-index:1}.gsng-node{position:relative;min-width:var(--gsng-node-min-width);max-width:var(--gsng-node-max-width);width:max-content;background:var(--gsng-bg-node);border:1px solid var(--gsng-border);border-radius:var(--gsng-node-radius);box-shadow:var(--gsng-node-shadow);transition:all var(--gsng-transition-fast)}.gsng-node:hover{border-color:var(--gsng-border-focus);box-shadow:var(--gsng-node-shadow),0 0 0 1px var(--gsng-border-focus)}.gsng-node--equation{border-top:2px solid var(--gsng-equation)}.gsng-node--variable{border-top:2px solid var(--gsng-variable)}.gsng-node--locked{opacity:.65;border-top-color:var(--gsng-locked)}.gsng-node--changed{border-color:var(--gsng-changed);box-shadow:var(--gsng-node-shadow),0 0 0 1px var(--gsng-changed),0 0 12px #f0a0201f}.gsng-node--multi:before{content:"";position:absolute;inset:-3px;border:1px dashed var(--gsng-multi);border-radius:calc(var(--gsng-node-radius) + 3px);opacity:.5;pointer-events:none}.gsng-node--focused{border-color:var(--gsng-border-focus);box-shadow:var(--gsng-node-shadow),0 0 0 2px var(--gsng-border-focus)}.gsng-node__header{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;padding:8px 10px;background:var(--gsng-bg-elevated);border-bottom:1px solid var(--gsng-border-subtle)}.gsng-node__type-badge{padding:2px 6px;border-radius:3px;font-family:var(--gsng-font-mono);font-size:11px;font-weight:700}.gsng-node__type-badge--eq{background:#58a6ff1f;color:var(--gsng-equation)}.gsng-node__type-badge--var{background:#3fb9501f;color:var(--gsng-variable)}.gsng-node__name{font-weight:600;font-size:16px;color:var(--gsng-text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsng-node__name .katex{font-size:1.1em;font-weight:700;color:#fff}.gsng-node__formula-inline{flex:1;font-size:14px;color:var(--gsng-text-muted);min-width:0}.gsng-node__formula-inline .katex{font-size:1em;font-weight:600;color:#fff}.gsng-node__explanation{padding:6px 10px;background:var(--gsng-bg-darker);border-bottom:1px solid var(--gsng-border-subtle);font-size:12px;color:var(--gsng-text-muted);font-style:italic;line-height:1.3}.gsng-node__multi-badge{padding:2px 5px;background:#a371f726;color:var(--gsng-multi);border-radius:3px;font-size:11px;font-weight:700;font-family:var(--gsng-font-mono)}.gsng-node__lock{padding:2px;background:transparent;border:none;font-size:14px;cursor:pointer;opacity:.4;transition:opacity var(--gsng-transition-fast)}.gsng-node__lock:hover,.gsng-node__lock--active{opacity:1}.gsng-node__selection{display:flex;flex-direction:column;gap:1px;padding:0;background:var(--gsng-border-subtle)}.gsng-option{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--gsng-bg-node);border:none;cursor:pointer;transition:all var(--gsng-transition-fast);min-height:32px}.gsng-option:hover{background:var(--gsng-bg-node-hover)}.gsng-option--selected{background:#3fb9501a}.gsng-option--suggested.gsng-option--selected{background:#f0a0201a}.gsng-option--target.gsng-option--selected{background:#58a6ff1a}.gsng-option--disabled{opacity:.5;cursor:not-allowed}.gsng-option--disabled input[type=radio]{cursor:not-allowed}.gsng-option input[type=radio]{width:14px;height:14px;margin:0;accent-color:var(--gsng-success);cursor:pointer}.gsng-option--suggested input[type=radio]{accent-color:var(--gsng-changed)}.gsng-option--target input[type=radio]{accent-color:var(--gsng-equation)}.gsng-option__label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gsng-text-muted)}.gsng-option--selected .gsng-option__label{color:var(--gsng-success)}.gsng-option--suggested.gsng-option--selected .gsng-option__label{color:var(--gsng-changed)}.gsng-option--target.gsng-option--selected .gsng-option__label{color:var(--gsng-equation)}.gsng-option__value{display:flex;align-items:baseline;gap:4px;flex:1;font-family:var(--gsng-font-mono);font-size:14px;color:var(--gsng-text-primary);justify-content:flex-end}.gsng-option--selected .gsng-option__value{font-weight:600}.gsng-option__unit{font-size:12px;color:var(--gsng-text-muted)}.gsng-option__delta{margin-left:3px;padding:1px 4px;border-radius:3px;font-size:10px;font-weight:700}.gsng-option__delta--up{background:#f0a02026;color:var(--gsng-changed)}.gsng-option__delta--down{background:#58a6ff26;color:var(--gsng-equation)}.gsng-option__input{min-width:50px;max-width:100px;flex:1;padding:4px 6px;background:var(--gsng-bg-input);border:1px solid var(--gsng-border);border-radius:3px;color:var(--gsng-text-primary);font-family:var(--gsng-font-mono);font-size:13px;text-align:right}.gsng-option__input:focus{outline:none;border-color:var(--gsng-equation)}.gsng-option__input::placeholder{color:var(--gsng-text-dim)}.gsng-option--display{cursor:default;background:var(--gsng-bg-darker)}.gsng-option--display:hover{background:var(--gsng-bg-darker)}.gsng-option--display .gsng-option__label{color:var(--gsng-text-muted)}.gsng-option--display .gsng-option__value{color:var(--gsng-text-secondary)}.gsng-option__spacer{width:14px;flex-shrink:0}.gsng-option--computed.gsng-option--changed{background:#58a6ff14}.gsng-option--computed.gsng-option--changed .gsng-option__label{color:var(--gsng-equation)}.gsng-option--computed.gsng-option--changed .gsng-option__value{color:var(--gsng-text-primary);font-weight:600}.gsng-option__empty{color:var(--gsng-text-dim);font-style:italic;font-size:13px}.gsng-node__mismatch-badge,.gsng-root__mismatch-badge{position:absolute;top:-10px;right:-10px;z-index:10;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--gsng-danger);border-radius:50%;color:#fff;font-size:18px;font-weight:700;box-shadow:0 2px 8px #f8514980;cursor:help}.gsng-port{position:absolute;width:var(--gsng-port-size);height:var(--gsng-port-size);background:var(--gsng-bg-elevated);border:2px solid var(--gsng-wire);border-radius:50%;left:50%;transform:translate(-50%);z-index:5}.gsng-port--input{top:calc(var(--gsng-port-size) / -2)}.gsng-port--output{bottom:calc(var(--gsng-port-size) / -2)}.gsng-node--equation .gsng-port{border-color:var(--gsng-equation)}.gsng-node--variable .gsng-port{border-color:var(--gsng-variable)}.gsng-legend{position:relative;z-index:10;display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--gsng-bg-darker);border-top:1px solid var(--gsng-border)}.gsng-legend__item{display:flex;align-items:center;gap:5px;font-size:var(--gsng-font-sm);color:var(--gsng-text-muted)}.gsng-legend__swatch{width:10px;height:10px;border-radius:2px}.gsng-legend__swatch--equation{background:var(--gsng-equation)}.gsng-legend__swatch--variable{background:var(--gsng-variable)}.gsng-legend__swatch--changed{background:var(--gsng-changed)}@keyframes gsng-highlight-in{0%{box-shadow:0 0 0 0 var(--gsng-changed)}50%{box-shadow:0 0 16px 4px #f0a02033}to{box-shadow:var(--gsng-node-shadow),0 0 0 1px var(--gsng-changed)}}.gsng-node--changed{animation:gsng-highlight-in .4s ease-out}@media(max-width:700px){.gsng-node{min-width:160px;max-width:220px}.gsng-connector-svg{display:none}}.gsng-debug-btn{padding:4px 8px;background:transparent;border:1px solid var(--gsng-border);border-radius:4px;font-size:14px;cursor:pointer;transition:all var(--gsng-transition-fast);opacity:.6}.gsng-debug-btn:hover{opacity:1;background:var(--gsng-bg-elevated)}.gsng-debug-btn--active{opacity:1;background:#f0a02026;border-color:var(--gsng-changed)}.gsng-debug-panel{position:absolute;top:48px;right:12px;width:320px;max-height:calc(100% - 100px);background:var(--gsng-bg-elevated);border:1px solid var(--gsng-border);border-radius:6px;box-shadow:0 8px 24px #0006;z-index:100;display:flex;flex-direction:column;overflow:hidden}.gsng-debug-panel__header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--gsng-bg-darker);border-bottom:1px solid var(--gsng-border);font-size:var(--gsng-font-sm);font-weight:600;color:var(--gsng-changed)}.gsng-debug-panel__header button{padding:2px 6px;background:transparent;border:none;color:var(--gsng-text-muted);font-size:14px;cursor:pointer}.gsng-debug-panel__header button:hover{color:var(--gsng-text-primary)}.gsng-debug-panel__content{flex:1;overflow-y:auto;padding:8px}.gsng-debug-section{margin-bottom:12px}.gsng-debug-section__title{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gsng-text-muted);padding:4px 0;border-bottom:1px solid var(--gsng-border-subtle);margin-bottom:6px}.gsng-debug-row{display:flex;justify-content:space-between;align-items:center;padding:3px 4px;font-size:var(--gsng-font-sm);font-family:var(--gsng-font-mono)}.gsng-debug-row span:first-child{color:var(--gsng-text-muted)}.gsng-debug-row span:last-child{color:var(--gsng-text-primary)}.gsng-debug-nodes{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.gsng-debug-node{padding:4px 6px;background:var(--gsng-bg-darker);border-radius:3px;font-size:var(--gsng-font-xs);font-family:var(--gsng-font-mono)}.gsng-debug-node__name{color:var(--gsng-text-primary);font-weight:600;margin-bottom:2px;white-space:pre}.gsng-debug-node__info{display:flex;gap:8px;color:var(--gsng-text-muted)}.gsng-debug-node__info span{white-space:nowrap}.gsng-debug-overlaps{display:flex;flex-direction:column;gap:2px}.gsng-debug-overlap{padding:3px 6px;background:#f8514926;color:var(--gsng-danger);border-radius:3px;font-size:var(--gsng-font-xs);font-family:var(--gsng-font-mono)}.gsng-positioned-node{transition:box-shadow var(--gsng-transition-fast)}.gsng-positioned-node:hover{z-index:10}.gsng-confirm-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gsng-confirm-modal{width:90%;max-width:480px;max-height:80vh;background:var(--gsng-bg-elevated);border:1px solid var(--gsng-border);border-radius:8px;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column;overflow:hidden}.gsng-confirm-modal__header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--gsng-bg-darker);border-bottom:1px solid var(--gsng-border)}.gsng-confirm-modal__icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#3fb95026;border-radius:50%;color:var(--gsng-success);font-size:14px;font-weight:700}.gsng-confirm-modal__title{flex:1;font-size:var(--gsng-font-md);font-weight:600;color:var(--gsng-text-primary)}.gsng-confirm-modal__close{padding:4px 8px;background:transparent;border:none;color:var(--gsng-text-muted);font-size:18px;cursor:pointer;border-radius:4px;transition:all var(--gsng-transition-fast)}.gsng-confirm-modal__close:hover{background:var(--gsng-bg-elevated);color:var(--gsng-text-primary)}.gsng-confirm-modal__body{flex:1;padding:16px;overflow-y:auto}.gsng-confirm-section{margin-bottom:16px}.gsng-confirm-section:last-child{margin-bottom:0}.gsng-confirm-section__title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gsng-text-muted);padding-bottom:8px;border-bottom:1px solid var(--gsng-border-subtle);margin-bottom:8px}.gsng-confirm-section__list{display:flex;flex-direction:column;gap:6px}.gsng-confirm-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:var(--gsng-bg-node);border-radius:4px;border:1px solid var(--gsng-border-subtle)}.gsng-confirm-item__info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gsng-confirm-item__name{font-weight:600;font-size:var(--gsng-font-sm);color:var(--gsng-text-primary)}.gsng-confirm-item__explanation{font-size:11px;color:var(--gsng-text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gsng-confirm-item__values{display:flex;align-items:baseline;gap:6px;font-family:var(--gsng-font-mono);font-size:13px}.gsng-confirm-item__old{color:var(--gsng-text-muted);text-decoration:line-through}.gsng-confirm-item__arrow{color:var(--gsng-text-dim);font-size:12px}.gsng-confirm-item__new{color:var(--gsng-success);font-weight:600}.gsng-confirm-item__unit{color:var(--gsng-text-secondary);font-size:11px}.gsng-confirm-empty{padding:24px;text-align:center;color:var(--gsng-text-muted);font-style:italic}.gsng-confirm-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:var(--gsng-bg-darker);border-top:1px solid var(--gsng-border)}.formula-helper-container{position:fixed;background:var(--bg-secondary, white);border:1px solid var(--border-color, #ccc);box-shadow:0 4px 12px #00000026;border-radius:4px;z-index:9999;font-family:var(--font-sans, system-ui, sans-serif);font-size:13px;min-width:250px;max-width:400px;pointer-events:none;pointer-events:auto;color:var(--text-primary, #333)}.fh-suggestions{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.fh-suggestion-item{padding:6px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.fh-suggestion-item:hover,.fh-suggestion-item.selected{background-color:var(--bg-hover, #e0e0e0)}.fh-suggestion-name{font-weight:600;color:var(--text-primary, #2c3e50)}.fh-suggestion-category{font-size:11px;color:var(--text-secondary, #555);background:var(--bg-tertiary, #e0e0e0);padding:2px 6px;border-radius:10px}.fh-signature{padding:8px 12px}.fh-sig-header{margin-bottom:6px;color:var(--text-primary, #333);line-height:1.4}.fh-sig-name{font-weight:700;color:var(--accent-blue, #2980b9)}.fh-param{color:var(--text-secondary, #555);padding:0 1px}.fh-param.active{font-weight:700;color:#1a1a1a;background-color:var(--accent-yellow-bg, #ffeaa7);border-radius:2px;text-decoration:underline}.fh-sig-desc{border-top:1px solid var(--border-subtle, #ccc);padding-top:6px;color:var(--text-secondary, #555);font-size:12px;line-height:1.4}.fh-param-desc{margin-top:4px;color:var(--text-primary, #2c3e50);font-style:italic}
