@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./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(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./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(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./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(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./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(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}@font-face{font-family:Abram;src:url(./Abram-BW75fpeY.ttf) format("truetype");font-display:swap}@font-face{font-family:Anselmo;src:url(./Anselmo-n9msATu_.ttf) format("truetype");font-display:swap}@font-face{font-family:Benvolio;src:url(./Benvolio-D-FjxLLh.ttf) format("truetype");font-display:swap}@font-face{font-family:Capuletty;src:url(./Capuletty-FJWoNJJR.ttf) format("truetype");font-display:swap}@font-face{font-family:Djiovanni;src:url(./Djiovanni-I7ZElSN-.ttf) format("truetype");font-display:swap}@font-face{font-family:Eskal;src:url(./Eskal-muDo4wiW.ttf) format("truetype");font-display:swap}@font-face{font-family:Gregory;src:url(./Gregory-BhnAntG4.ttf) format("truetype");font-display:swap}@font-face{font-family:Lexa;src:url(./Lexa-NpDTOQwp.otf) format("opentype");font-display:swap}@font-face{font-family:Lorenco;src:url(./Lorenco-T7_IWZ9k.ttf) format("truetype");font-display:swap}@font-face{font-family:Montekky;src:url(./Montekky-yH3FEb2_.ttf) format("truetype");font-display:swap}@font-face{font-family:Pacifico;src:url(./Pacifico-Regular-CxeUuf1v.ttf) format("truetype");font-display:swap}@font-face{font-family:Pag;src:url(./Pag-CMN7EX0j.ttf) format("truetype");font-display:swap}@font-face{font-family:Paris;src:url(./Paris-C0Ig_Ruv.ttf) format("truetype");font-display:swap}@font-face{font-family:Salavat;src:url(./Salavat-C3fExj-P.ttf) format("truetype");font-display:swap}@font-face{font-family:Samson;src:url(./Samson-53dSg3dy.ttf) format("truetype");font-display:swap}@font-face{font-family:Stefano;src:url(./Stefano-CV4sbTOd.ttf) format("truetype");font-display:swap}@font-face{font-family:AmaticSC;src:url(./AmaticSC-Regular-BRfAt4Q9.ttf) format("truetype");font-display:swap}@font-face{font-family:BadScript;src:url(./BadScript-Regular-kNvreJEi.ttf) format("truetype");font-display:swap}@font-face{font-family:BalsamiqSans;src:url(./BalsamiqSans-Regular-daEtTqHj.ttf) format("truetype");font-display:swap}@font-face{font-family:Bellota;src:url(./Bellota-Regular-DtmN4wDm.ttf) format("truetype");font-display:swap}@font-face{font-family:Caveat;src:url(./Caveat_wght_-8jBGxy3y.ttf) format("truetype");font-display:swap}@font-face{font-family:Comforter;src:url(./Comforter-Regular-DS6WQZqN.ttf) format("truetype");font-display:swap}@font-face{font-family:GreatVibes;src:url(./GreatVibes-Regular-n0yYu52p.ttf) format("truetype");font-display:swap}@font-face{font-family:Lobster;src:url(./Lobster-Regular-BNlw3aFJ.ttf) format("truetype");font-display:swap}@font-face{font-family:MarckScript;src:url(./MarckScript-Regular-pnIyRllV.ttf) format("truetype");font-display:swap}@font-face{font-family:Neucha;src:url(./Neucha-9fePpGJi.ttf) format("truetype");font-display:swap}@font-face{font-family:Pangolin;src:url(./Pangolin-Regular-Dy6_YRNV.ttf) format("truetype");font-display:swap}@font-face{font-family:Pattaya;src:url(./Pattaya-Regular-DSY3nMwE.ttf) format("truetype");font-display:swap}@font-face{font-family:ShantellSans;src:url(./ShantellSans_BNCE_INFM_SPAC_wght_-CWcU8xw3.ttf) format("truetype");font-display:swap}@font-face{font-family:Sriracha;src:url(./Sriracha-Regular-BB3At-MM.ttf) format("truetype");font-display:swap}@font-face{font-family:Underdog;src:url(./Underdog-Regular-TYfwHu2R.ttf) format("truetype");font-display:swap}@font-face{font-family:MewTooHand;src:url(./MewTooHand-D3rkfEkt.otf) format("opentype");font-display:swap}@font-face{font-family:GochiHandCyrillic;src:url(./GochiHand-Cyrillic-B6AI677d.otf) format("opentype");font-display:swap}@font-face{font-family:ItimCyrillic;src:url(./Itim-Cyrillic-DY79c289.otf) format("opentype");font-display:swap}@font-face{font-family:HiMelodyCyrillic;src:url(./HiMelody-Cyrillic-DlcnW9no.otf) format("opentype");font-display:swap}@font-face{font-family:EastSeaDokdoCyrillic;src:url(./EastSeaDokdo-Cyrillic-Bhs_kpd5.otf) format("opentype");font-display:swap}@font-face{font-family:Romochka;src:url(./Romochka-DK0N5WrP.otf) format("opentype");font-display:swap}@font-face{font-family:Pecita;src:url(./Pecita-CnpjbzQK.otf) format("opentype");font-display:swap}@font-face{font-family:MiamaNueva;src:url(./MiamaNueva-c_GhS01Q.otf) format("opentype");font-display:swap}@font-face{font-family:ManskriboSans;src:url(./ManskriboSans-mnwW3OWV.ttf) format("truetype");font-display:swap}@font-face{font-family:MaksikHand;src:url(./MaksikHand-CKwChtGm.otf) format("opentype");font-display:swap}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background:var(--surface-raised);font-synthesis:none}*{box-sizing:border-box}.svg-icon{width:1em;height:1em;flex:0 0 auto;display:inline-block;background:currentColor;-webkit-mask:var(--icon-url) center / contain no-repeat;mask:var(--icon-url) center / contain no-repeat}html,body,#root{margin:0;min-width:320px;min-height:100%}body{min-height:100vh;overflow:hidden}.view-loading{min-height:100vh;display:grid;place-items:center;color:var(--text-secondary);background:var(--surface-workspace);font:600 13px/1.4 system-ui,sans-serif}button,input,select,textarea{font:inherit}button,select,input{accent-color:var(--green)}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app{min-height:100vh;background:var(--surface-raised)}.save-notice{position:fixed;z-index:100;right:18px;bottom:18px;max-width:min(420px,calc(100vw - 36px));padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--text-secondary);box-shadow:none;font-size:13px}.save-notice.success{border-color:var(--line);color:var(--green)}.save-notice.error{border-color:var(--line);color:var(--danger)}.panel-title>div:first-child:not(.source-tabs){display:flex;flex-direction:column;min-width:0}.panel-title small{color:var(--muted);font-size:11px;margin-top:2px}.button{border:1px solid var(--line);border-radius:var(--control-radius);min-height:36px;padding:0 13px;background:var(--surface-raised);cursor:pointer;font-size:12px;font-weight:650;transition:border-color .15s,background .15s,transform .15s}.button:hover{border-color:var(--line);background:var(--surface-panel)}.button:active{transform:translateY(1px)}.button:disabled{opacity:.45;cursor:default}.button.primary{color:var(--on-accent);border-color:var(--green);background:var(--green)}.button.primary:hover{background:var(--green-dark)}.button.compact{min-height:31px;padding:0 10px}.text-button{border:0;background:none;color:var(--green);font-size:11px;cursor:pointer;padding:5px 0}.text-button:hover{text-decoration:underline}.workspace{--editor-panel-width: clamp(320px, 31vw, 400px);--settings-panel-size: clamp(290px, 24vw, 340px);--settings-panel-width: var(--settings-panel-size);--settings-panel-gap: 10px;height:100vh;position:relative;display:grid;grid-template-columns:var(--editor-panel-width) minmax(450px,1fr);transition:grid-template-columns var(--motion-panel) var(--motion-ease)}.panel{background:var(--panel);position:relative;z-index:5}.editor-panel{border-right:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;transform:translate(0);opacity:1;visibility:visible;transition:transform var(--motion-panel) var(--motion-ease),opacity .2s ease,visibility 0s linear}.editor-collapsed .workspace{--editor-panel-width: 0px}.editor-collapsed .editor-panel{transform:translate(-18px);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--motion-panel) var(--motion-ease),opacity .16s ease,visibility 0s linear var(--motion-panel)}.settings-panel{position:absolute;z-index:20;top:0;right:0;bottom:0;width:var(--settings-panel-size);border:1px solid var(--line);border-right:0;border-radius:0;overflow-y:auto;min-width:0;padding-bottom:12px;background:var(--surface-raised);box-shadow:none;transform:translate(0);opacity:1;visibility:visible;transition:transform var(--motion-panel) var(--motion-ease),opacity .22s ease,visibility 0s linear}.settings-collapsed .workspace{--settings-panel-width: 0px}.settings-collapsed .settings-panel{transform:translate(calc(100% + 16px));opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--motion-panel) var(--motion-ease),opacity .18s ease,visibility 0s linear var(--motion-panel)}.settings-panel>.settings-section:first-of-type{margin-top:0;border-top:0;border-right:0;border-left:0;border-radius:0}.settings-panel>.settings-section:first-of-type>summary{border-radius:0}.settings-panel>.settings-section:first-of-type[open]>summary{border-radius:0}.panel-title{height:49px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 16px;border-bottom:1px solid var(--line)}.panel-title strong{font-size:13px}@media(max-width:1180px){.workspace{--editor-panel-width: clamp(310px, 30vw, 360px)}.editor-collapsed .workspace{--editor-panel-width: 0px}.workspace{--settings-panel-width: 0px}.settings-panel{width:min(360px,calc(100vw - 48px));border-radius:0;box-shadow:none}.settings-panel>.settings-drawer-header{position:sticky;z-index:30;top:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;border-bottom:1px solid var(--line);background:var(--surface-raised)}.settings-drawer-header strong{color:var(--text-primary);font-size:12px}.settings-drawer-header button{width:30px;height:30px;border:0;border-radius:var(--control-radius);color:var(--text-secondary);background:transparent;cursor:pointer;font-size:21px;line-height:1}.settings-drawer-header button:hover{color:var(--text-primary);background:var(--surface-panel)}.block-inspector{right:var(--preview-float-gap)}.integrated-plotter-footer{margin-right:var(--preview-float-gap)}}@media(min-width:901px)and (max-width:1180px){.preview-context .plotter-status{gap:0;font-size:0}}@media(max-width:900px){body{overflow:hidden}.workspace{--settings-panel-width: 0px;--settings-panel-gap: 0px;height:100vh;height:100dvh;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);transition:none}.editor-collapsed .workspace{grid-template-rows:minmax(0,1fr)}.editor-panel{grid-area:1 / 1;z-index:10;border-right:0;border-bottom:0}.preview-panel{grid-area:1 / 1;z-index:1;--preview-float-gap: 10px;min-height:0;visibility:hidden;opacity:0;pointer-events:none}.editor-collapsed .preview-panel{visibility:visible;opacity:1;pointer-events:auto}.settings-panel{position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(360px,100vw);max-height:none;border-left:1px solid var(--line);border-right:0;border-radius:0}.settings-collapsed .workspace{--settings-panel-width: 0px}.settings-collapsed .settings-panel{display:block}}@media(max-width:560px){.pages-canvas{min-width:calc(100% + 360px);min-height:calc(100% + 320px);padding:130px 180px}}@media(prefers-reduced-motion:reduce){.settings-panel,.editor-panel,.workspace,.block-inspector,.integrated-plotter-footer,.settings-toolbar-toggle{transition:none!important}}.editor-title-actions{display:flex;align-items:center;gap:10px}.editor-preview-button{display:none;height:29px;padding:0 10px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;font-size:10px;font-weight:750}.editor-preview-button:hover{border-color:var(--line);background:var(--surface-panel)}@media(max-width:900px){.editor-preview-button{display:inline-flex;align-items:center}}.editor-expand-button{width:29px;height:29px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;font-size:14px}.editor-expand-button:hover{border-color:var(--line);background:var(--surface-panel)}.editor-svg-button{width:auto;min-width:38px;padding:0 8px;font-size:10px;font-weight:750}.source-tabs{display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.editor-title>.source-tabs{flex-direction:row;flex:0 0 auto}.source-tabs button{min-width:39px;height:25px;padding:0 8px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:10px;font-weight:700}.source-tabs button.active{color:var(--on-accent);background:var(--green)}.markdown-editor{flex:1;width:100%;resize:none;border:0;outline:0;padding:20px 18px 36px;background:var(--surface-raised);color:var(--text-primary);font:14px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-moz-tab-size:2;tab-size:2}.expanded-editor-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0c121cc2}.expanded-editor{width:min(1320px,100%);height:min(900px,calc(100vh - 36px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:0;background:var(--surface-panel);box-shadow:none}.expanded-editor>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid var(--line);background:var(--surface-raised)}.expanded-editor-identity,.expanded-editor-header-actions{display:flex;align-items:center;gap:12px}.expanded-editor-identity strong{color:var(--text-primary);font-size:14px;letter-spacing:-.01em}.expanded-editor-identity>span{color:#c0c7d0;font-size:14px}.expanded-editor-identity small{color:var(--text-secondary);font-size:12px;font-weight:600}.expanded-editor-header-actions .source-tabs button{min-width:70px}.expanded-editor-close{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:0;color:var(--text-secondary);background:transparent;cursor:pointer}.expanded-editor-close .svg-icon{width:18px;height:18px}.expanded-editor-close:hover{color:var(--text-primary);border-color:var(--line);background:var(--surface-panel)}.expanded-editor-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.editor-format-tools,.editor-toolbar-actions{display:flex;align-items:center;gap:4px}.expanded-editor-toolbar button{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:var(--control-radius);color:var(--text-secondary);background:transparent;cursor:pointer;font-size:11px;font-weight:700}.expanded-editor-toolbar button:hover,.expanded-editor-toolbar button.active{border-color:var(--line);color:var(--text-primary);background:var(--surface-raised)}.expanded-editor-toolbar button.is-bold{font-weight:900}.expanded-editor-toolbar button.is-italic{font-style:italic}.expanded-editor-toolbar button.is-underline{text-decoration:underline}.expanded-editor-toolbar button.is-alignment{font-size:15px;font-weight:500}.expanded-editor-toolbar button.is-alignment-start{margin-left:5px}.editor-format-tools button:nth-child(2),.editor-toolbar-actions button:first-child{margin-right:5px}.editor-format-tools button:nth-child(2),.editor-toolbar-actions button:first-child{border-right-color:var(--line);border-radius:var(--control-radius)}.editor-toolbar-actions .svg-icon{width:16px;height:16px}.expanded-editor-body{position:relative;min-height:0;flex:1;display:flex;background:var(--surface-workspace)}.expanded-editor-body textarea{width:min(900px,calc(100% - 64px));min-width:0;margin:22px auto 0;resize:none;border:1px solid var(--line);border-bottom:0;border-radius:var(--control-radius);outline:0;padding:44px 56px 100px;color:var(--text-primary);background:var(--surface-raised);box-shadow:none;font:15px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-moz-tab-size:2;tab-size:2}.expanded-editor-body textarea:focus{border-color:var(--line);box-shadow:none}.expanded-editor-body aside{position:absolute;z-index:2;top:12px;right:12px;width:356px;max-height:calc(100% - 24px);overflow-y:auto;padding:16px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-raised);box-shadow:none}.editor-help-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.editor-help-heading>div{display:flex;flex-direction:column;gap:3px}.editor-help-heading strong{color:var(--text-primary);font-size:12px}.editor-help-heading small{color:var(--text-secondary);font-size:10px}.editor-help-heading button{width:24px;height:24px;border:0;border-radius:var(--control-radius);color:var(--text-secondary);background:transparent;cursor:pointer;font-size:18px}.editor-help-heading button:hover{color:var(--text-primary);background:var(--surface-panel)}.editor-help-group+.editor-help-group{margin-top:18px}.editor-help-group h3{margin:0 0 8px;color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.editor-help-list{display:grid;gap:6px}.editor-help-row{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:8px}.editor-help-list span{padding-top:7px;color:var(--text-secondary);font-size:10px}.editor-help-list code{overflow-x:auto;padding:7px 8px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-panel);font:10px/1.35 ui-monospace,monospace;white-space:pre-wrap;word-break:break-word}.expanded-editor>footer{min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-top:1px solid var(--line);color:var(--text-secondary);background:var(--surface-raised);font-size:10px}.expanded-editor>footer>div{display:flex;align-items:center;gap:16px}.expanded-editor>footer kbd{padding:2px 5px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-panel);font:9px ui-monospace,monospace;box-shadow:none}@media(max-width:760px){.expanded-editor-backdrop{padding:0}.expanded-editor{width:100%;height:100vh;border:0;border-radius:0}.expanded-editor>header{padding:8px 12px}.expanded-editor-identity>span,.expanded-editor-identity small{display:none}.expanded-editor-toolbar{align-items:flex-start;overflow-x:auto}.editor-format-tools{min-width:max-content}.editor-toolbar-actions span{display:none}.expanded-editor-body textarea{width:100%;margin:0;padding:28px 22px 80px;border:0;border-radius:var(--control-radius)}.expanded-editor-body aside{top:10px;right:10px;bottom:10px;left:10px;width:auto}.expanded-editor>footer>span{display:none}}.markdown-editor::selection{background:var(--accent-soft)}.preview-panel{--preview-float-gap: 12px;position:relative;container-type:inline-size;display:flex;flex-direction:column;min-width:0;background:var(--surface-workspace);overflow:hidden}.preview-context{min-width:0;display:flex;align-items:center;gap:9px;margin-right:auto}.preview-leading-actions{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding-right:9px;border-right:1px solid var(--line)}.preview-sheet-status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.preview-sheet-status>i{width:1px;height:12px;background:#d8dee6}.preview-job-stats{min-width:0;flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:0 8px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.preview-job-stats>span{min-width:70px;height:34px;display:flex;flex-direction:column;justify-content:center;padding:0 8px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-panel);line-height:1.05;white-space:nowrap}.preview-job-stats strong{color:var(--text-primary);font-size:10px;font-variant-numeric:tabular-nums}.preview-job-stats small{margin-top:2px;font-size:7px;font-weight:650;letter-spacing:.025em}@container (max-width: 1100px){.preview-leading-actions{gap:2px;padding-right:5px}.preview-icon-button,.settings-toolbar-toggle{width:30px;flex-basis:30px}.preview-context{display:none}.preview-job-stats{flex:1 1 auto;justify-content:flex-start;gap:3px;padding:0 4px}.preview-job-stats>span{min-width:38px;height:30px;padding:0 4px}.preview-job-stats>span:nth-child(2){min-width:48px}.preview-job-stats>span:nth-child(3){min-width:40px}.preview-job-stats>span:nth-child(4){min-width:72px}.preview-job-stats strong{font-size:8px}.preview-job-stats small{display:none}.placement-toggle{width:30px;min-width:30px;padding:0;font-size:0}.placement-toggle span{font-size:16px}.layout-select{width:70px;padding-left:5px}}.layout-select{height:31px;padding:0 27px 0 9px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-raised);outline:0;font-size:11px;cursor:pointer}.layout-select:focus{border-color:var(--accent-border);box-shadow:none}.settings-toolbar-toggle,.preview-icon-button{width:34px;height:32px;flex:0 0 34px;display:grid;place-items:center;margin-left:2px;padding:0;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .18s ease}.settings-toolbar-toggle:hover,.preview-icon-button:hover{border-color:var(--line);color:var(--text-primary);background:var(--surface-panel)}.settings-toolbar-toggle:active,.preview-icon-button:active{transform:scale(.94)}.settings-toolbar-toggle .svg-icon,.preview-icon-button .svg-icon{width:20px;height:20px}.pages-viewport{flex:1;min-height:0;overflow:auto;position:relative;overscroll-behavior:contain;cursor:grab;touch-action:none}.pages-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.pages-viewport.is-panning .pages-canvas{will-change:transform}.pages-viewport.is-panning .paper{pointer-events:none}.pages-viewport.is-panning .hw-glyph-variant{text-shadow:none}.pages-canvas{width:max-content;min-width:calc(100% + 640px);min-height:calc(100% + 520px);display:grid;align-content:start;justify-content:center;gap:10px;padding:200px 320px}.pages-canvas.single{grid-template-columns:min-content}.pages-canvas.spread{grid-template-columns:repeat(2,min-content)}.page-shell{flex:0 0 auto;position:relative;contain:layout style}.paper{position:absolute;inset:0 auto auto 0;transform-origin:top left;overflow:hidden;background:#fff;box-shadow:none;outline:1px solid #dfe3e8}.paper.trajectory-paper:before,.paper.trajectory-paper:after{content:none}.paper-grain{position:absolute;top:0;right:0;bottom:0;left:0;background:url(../textures/paper-grain.svg) 0 0 / 24mm 24mm;pointer-events:none}.paper.ruled{background-image:url(../textures/paper-ruling.svg);background-size:100% var(--rule-size);background-position-y:74px}.paper.notebook-paper{--notebook-grid: 18.8976px;--notebook-margin: 62px;background-color:#fffefa!important;background-image:url(../textures/notebook-grid.svg)!important;background-position:0 0!important;background-size:var(--notebook-grid) var(--notebook-grid)!important}.paper.notebook-left-page:before,.paper.notebook-right-page:before{content:"";position:absolute;z-index:1;top:0;bottom:0;width:2px;background:#e11d489e;pointer-events:none}.paper.notebook-left-page:before{left:var(--notebook-margin)}.paper.notebook-right-page:before{right:var(--notebook-margin)}.paper.notebook-spread{background-color:#fffefa!important;background-image:url(../textures/notebook-grid.svg)!important;background-position:0 0!important;background-size:var(--notebook-grid) var(--notebook-grid)!important}.paper.notebook-spread:before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:calc(50% - 1px);width:3px;border-left:1px solid rgb(15 23 42 / .08);border-right:1px solid rgb(15 23 42 / .08);background:#0f172a29;pointer-events:none}.paper.notebook-spread:after{content:"";position:absolute;z-index:1;inset:0 var(--notebook-margin);border-left:2px solid rgb(225 29 72 / .62);border-right:2px solid rgb(225 29 72 / .62);pointer-events:none}.page-content{position:absolute;transform-origin:top left;overflow:hidden}.measure-host{position:fixed;left:-100000px;top:0;visibility:hidden;pointer-events:none}.measure-paper{position:relative;box-shadow:none}.measure-paper .page-content{position:relative;inset:auto;overflow:hidden}.settings-section{position:relative;margin:9px 10px 0;border:1px solid var(--line);border-radius:0;background:var(--surface-raised);box-shadow:none}.settings-section>summary{list-style:none;height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 13px 0 16px;cursor:pointer;font-size:12px;font-weight:700;-webkit-user-select:none;user-select:none}.settings-section>summary:hover{background:var(--surface-panel);border-radius:0}.settings-section[open]>summary{color:var(--text-primary);background:var(--surface-panel);border-radius:0}.settings-section[open]>summary:before{content:"";position:absolute;left:-1px;top:11px;width:3px;height:24px;border-radius:0;background:var(--green)}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary:after{content:"⌄";color:var(--muted);font-size:15px;transform:rotate(-90deg);transition:transform .15s}.settings-section[open]>summary:after{transform:rotate(0)}.settings-content{padding:14px 13px 15px;display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line)}.settings-subgroup{display:flex;flex-direction:column;gap:14px;margin-top:2px;padding-top:16px;border-top:1px solid var(--line)}.settings-subgroup h3{margin:0;color:var(--text-secondary);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.plotter-subgroup:first-child{margin-top:0;padding-top:0;border-top:0}.settings-reset{margin:14px 10px 4px;padding-top:14px;border-top:1px solid var(--line)}.settings-panel>.settings-section,.settings-panel .integrated-plotter-settings .settings-section{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.settings-panel .settings-section>summary{height:54px;padding:0 24px;border-radius:0}.settings-panel .settings-section>summary:hover,.settings-panel .settings-section[open]>summary{border-radius:0;background:var(--surface-panel)}.settings-panel .settings-section[open]>summary:before{display:none}.settings-panel .settings-content{padding:18px 24px 22px}.settings-panel .integrated-plotter-settings{margin:0;padding:0;border:0}.settings-panel .settings-reset{margin:0;padding:20px 18px 24px;border-top:0}.field{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:11px}.field select,.field input[type=number]{width:100%;height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 9px;background:var(--surface-raised);color:var(--text-primary);outline:none}.field select:focus,.field input:focus{border-color:var(--line);box-shadow:none}.page-format-field{display:flex;flex-direction:column;gap:6px}.page-format-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:7px}.page-format-row select{min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-primary);background:var(--surface-raised);outline:none}.page-format-row select:focus{border-color:var(--line);box-shadow:none}.orientation-toggle{height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-raised);cursor:pointer}.orientation-toggle:hover{border-color:var(--line);background:var(--surface-panel)}.orientation-toggle span{display:block;border:1.5px solid currentColor;border-radius:0;transition:width .15s,height .15s}.orientation-toggle span.portrait{width:12px;height:17px}.orientation-toggle span.landscape{width:18px;height:12px}.range-control{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--text-secondary)}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.control-heading output{color:var(--text-primary);font-size:10px;font-variant-numeric:tabular-nums}.control-label{display:inline-flex;align-items:center;gap:5px}.setting-help{width:14px;height:14px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text-secondary);cursor:help;font:700 8px/1 ui-sans-serif,system-ui,sans-serif}.setting-help:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.range-control input[type=range]{width:100%;height:4px;margin:2px 0}.range-control.is-disabled{color:var(--text-secondary)}.range-control.is-disabled .control-heading output{color:var(--text-secondary)}.range-control.is-disabled .liquid-range{opacity:.45}.range-control.is-disabled input[type=range]{cursor:not-allowed}.liquid-range{display:block;width:100%}.liquid-range>i{display:none}.liquid-range>input[type=range]{width:100%}.range-control small,.toggle-block small{color:var(--muted);font-size:9px;line-height:1.4}.toggle-block{border:1px solid var(--line);border-radius:0;background:var(--surface-panel);padding:9px 10px;display:flex;flex-direction:column;gap:11px}.toggle-block.is-on{border-color:var(--accent-border);background:var(--accent-soft)}.toggle-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;cursor:pointer;font-size:11px;font-weight:600}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.toggle-row i{grid-column:2;grid-row:1;width:30px;height:17px;border-radius:20px;background:#d1d5db;position:relative;transition:background .15s}.toggle-row i:after{content:"";width:13px;height:13px;border-radius:50%;position:absolute;left:2px;top:2px;background:var(--surface-raised);box-shadow:none;transition:transform .15s}.toggle-row input:checked+i{background:var(--green)}.toggle-row input:checked+i:after{transform:translate(13px)}.toggle-row input:focus-visible+i{outline:2px solid var(--green);outline-offset:2px}.font-pool{font-size:10px}.font-pool summary{cursor:pointer;color:var(--green)}.font-pool>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:190px;overflow-y:auto;margin-top:9px;padding-right:3px}.font-pool label{display:flex;align-items:center;gap:5px;min-width:0}.font-pool label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.seed-field>span:last-child{display:grid;grid-template-columns:1fr 34px;gap:6px}.seed-field button{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-raised);cursor:pointer}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.notebook-note{padding:9px 10px;border:1px solid var(--accent-border);border-radius:0;color:var(--text-primary);background:var(--accent-soft);font-size:10px;line-height:1.45}.field-label{color:var(--text-secondary);font-size:11px}.font-compat-warning{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:0;font-size:10px;line-height:1.4}.font-compat-warning{color:var(--danger);background:var(--danger-soft);border:1px solid var(--line)}.font-compat-warning b{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:50%;color:var(--on-accent);font-size:10px}.font-compat-warning b{background:#dc2626}.handwriting-profile-field>small{color:var(--text-secondary);font-size:9px;line-height:1.45}.naturalness-report{display:grid;gap:9px;margin:10px 0 4px;padding:11px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.naturalness-score{display:grid;grid-template-columns:auto minmax(70px,1fr);align-items:center;gap:12px}.naturalness-score>span{display:flex;align-items:baseline;gap:7px}.naturalness-score small{color:var(--text-secondary);font-size:9px;font-weight:700}.naturalness-score strong{color:#047857;font-size:17px}.naturalness-report.medium .naturalness-score strong{color:#a16207}.naturalness-report.risk .naturalness-score strong{color:var(--danger)}.naturalness-score strong i{font-size:8px;font-style:normal;font-weight:600}.naturalness-score meter{width:100%;height:7px}.naturalness-repeats{display:flex;flex-wrap:wrap;gap:5px}.naturalness-repeats>span{position:relative;min-width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid rgb(239 68 68 / calc(.15 + var(--repeat-risk) * .34));border-radius:0;color:var(--text-secondary);background:rgb(254 226 226 / calc(.12 + var(--repeat-risk) * .54));font-family:var(--document-font, cursive);font-size:14px}.naturalness-repeats>span small{color:var(--text-secondary);font-family:ui-sans-serif,system-ui,sans-serif;font-size:7px}.naturalness-repeats>span i{position:absolute;left:0;bottom:-8px;color:var(--text-secondary);font:6px/1 ui-sans-serif,system-ui,sans-serif;white-space:nowrap}.naturalness-report>p{margin:0;color:var(--text-secondary);font-size:9px;line-height:1.45}.naturalness-report>.text-button{width:max-content;padding:0;font-size:9px}.settings-drawer-header{display:none}.markdown-body{overflow-wrap:break-word}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body p{margin:.2em 0 .72em}.markdown-body [data-preserved-blank]{height:1em;height:1lh}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{line-height:1.18;margin:.72em 0 .3em;font-weight:650}.markdown-body h1{font-size:1.55em}.markdown-body h2{font-size:1.33em}.markdown-body h3{font-size:1.16em}.markdown-body ul,.markdown-body ol{margin:.2em 0 .75em;padding-left:1.55em;list-style:none}.markdown-body li{position:relative;margin:.08em 0;padding-left:.08em}.markdown-body li>ul,.markdown-body li>ol{margin:.08em 0 .22em}.markdown-body li>p{margin:0}.markdown-body ul>li>.itemlabel,.markdown-body ol>li>.itemlabel{display:none}.markdown-body ul>li:not(.task-list-item):before,.markdown-body ol>li:before{position:absolute;top:.28em;color:currentColor;font-family:inherit;line-height:1;opacity:.94;transform-origin:center}.markdown-body ul>li:not(.task-list-item):before{content:"•";left:-1.02em;font-size:.82em}.markdown-body ul ul>li:not(.task-list-item):before{content:"–";left:-1.1em;top:.31em;font-size:.76em}.markdown-body ol{counter-reset:handwritten-list}.markdown-body ol>li{counter-increment:handwritten-list}.markdown-body ol>li:before{content:counter(handwritten-list) ".";left:-1.65em;width:1.42em;text-align:right;font-size:.88em}.markdown-body li:nth-child(3n+1):before{transform:translate(-.04em,.01em) rotate(-7deg)}.markdown-body li:nth-child(3n+2):before{transform:translate(.03em,-.025em) rotate(4deg)}.markdown-body li:nth-child(3n):before{transform:translate(-.01em,.035em) rotate(-2deg)}.markdown-body blockquote{position:relative;margin:.55em 0 .8em;padding:.42em .72em .46em 1.22em;border-left:.11em solid currentColor;border-radius:0 .32em .32em 0;background:#94a3b81a;opacity:.9}.markdown-body blockquote:not(.callout):before{content:"“";position:absolute;left:.2em;top:-.08em;color:currentColor;font-family:Georgia,serif;font-size:1.45em;font-weight:700;line-height:1;opacity:.38}.markdown-body blockquote p{margin:.08em 0}.markdown-body [align=left]{text-align:left}.markdown-body [align=center],.markdown-body center{text-align:center}.markdown-body [align=right]{text-align:right}.markdown-body blockquote.callout{padding:.48em .68em .52em;border-left-width:3px;border-radius:0 6px 6px 0;background:#dbeafe61;opacity:1}.markdown-body .callout-label{display:block;margin-bottom:.12em;font-size:.82em;letter-spacing:.02em}.markdown-body .callout-tip{border-left-color:#15803d;background:#dcfce761}.markdown-body .callout-important{border-left-color:#7c3aed;background:#ede9fe6b}.markdown-body .callout-warning,.markdown-body .callout-caution{border-left-color:#c2410c;background:#ffedd570}.markdown-body details{margin:.48em 0 .75em;padding:.38em .55em;border:1px solid rgba(31,41,55,.18);border-radius:6px}.markdown-body summary{cursor:pointer;font-weight:650}.markdown-body a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}.markdown-body code{padding:.08em .26em;border-radius:3px;background:#20231f0f;font:.64em/1.4 ui-monospace,monospace}.markdown-body pre{overflow:auto;padding:.65em .75em;border:1px solid rgba(35,37,32,.12);border-radius:5px;background:#20231f0a;font:.58em/1.45 ui-monospace,monospace}.markdown-body pre code{padding:0;background:none;font:inherit}.markdown-body table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;margin:.65em 0 1em;font-size:.8em;position:relative;border-top:1.4px solid rgb(31 41 55 / .78);border-bottom:1.4px solid rgb(31 41 55 / .78)}.markdown-body th,.markdown-body td{border:0;border-bottom:1px solid rgb(31 41 55 / .28);padding:.42em .55em;text-align:left;vertical-align:top;position:relative;overflow-wrap:anywhere}.markdown-body thead th{border-bottom-color:#1f2937b8;background:#1f29370e;font-weight:700}.markdown-body tbody tr:last-child td{border-bottom:0}.markdown-body .document-table-wide{font-size:.66em;line-height:1.25}.markdown-body .document-table-wide th,.markdown-body .document-table-wide td{padding:.38em .42em}.markdown-body .document-table-long tbody tr{break-inside:avoid}.markdown-body .document-table-stacked{display:block;border:0;font-size:.72em}.markdown-body .document-table-stacked colgroup,.markdown-body .document-table-stacked thead{display:none}.markdown-body .document-table-stacked tbody{display:grid;gap:.72em}.markdown-body .document-table-stacked tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.16em .8em;padding:.48em .62em;border:1px solid rgb(31 41 55 / .36);border-radius:.2em;break-inside:avoid}.markdown-body .document-table-stacked td{min-width:0;display:grid;grid-template-columns:minmax(4.6em,.85fr) minmax(0,1.15fr);gap:.45em;padding:.24em 0;border:0}.markdown-body .document-table-stacked td:before{content:attr(data-label);min-width:0;font-weight:700;opacity:.62;overflow-wrap:anywhere}.markdown-body .document-table-stacked .table-cell-value{min-width:0;overflow-wrap:anywhere}.markdown-body .document-table-stacked td:last-child{grid-column:1 / -1}.markdown-body td>p{margin:0}.markdown-body .tex-tabular td.tex-align-c{text-align:center}.markdown-body .tex-tabular td.tex-align-r{text-align:right}.markdown-body hr{border:0;border-top:1px solid currentColor;opacity:.35;margin:1em 0}.markdown-body img{max-width:100%;height:auto}.markdown-body .imported-svg{width:100%;margin:.7em 0 .9em}.markdown-body .imported-svg svg{display:block;width:min(100%,28em);height:auto;max-height:24em;margin:0 auto;overflow:visible;color:inherit}.markdown-body li.task-list-item{padding-left:.12em}.markdown-body li.task-list-item:before{content:none}.markdown-body input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:absolute;left:-1.28em;top:.25em;width:.78em;height:.72em;margin:0;border:.065em solid currentColor;border-radius:13% 5% 11% 4%;background:transparent;color:inherit;font:inherit;opacity:.92;transform:rotate(-4deg)}.markdown-body input[type=checkbox]:checked:after{content:"✓";position:absolute;left:.04em;top:-.38em;color:currentColor;font-family:inherit;font-size:1.22em;font-weight:700;line-height:1;transform:rotate(-7deg)}.markdown-body li.task-list-item:nth-child(2n)>input[type=checkbox]{transform:translateY(.025em) rotate(3deg)}.markdown-body li.task-list-item:nth-child(3n)>input[type=checkbox]{transform:translate(-.025em) rotate(-2deg)}.hw-word{display:inline-block;white-space:nowrap;transform:translate(var(--line-shift, 0)) translateY(var(--word-lift, 0)) rotate(calc(var(--word-rotation, 0deg) + var(--line-rotation, 0deg))) skew(var(--format-slant, 0deg));transform-origin:50% 75%}.hw-word.hw-breakable{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-all}.hw-space{white-space:pre-wrap}.hw-letter{display:inline}.hw-natural .hw-glyph-variant{position:relative;display:inline-block;margin-right:var(--glyph-join, 0);transform:skew(var(--glyph-slant, 0deg)) scale(var(--glyph-width, 1),var(--glyph-height, 1));transform-origin:50% 78%;text-shadow:none}.hw-natural .hw-glyph-variant.variant-1{transform:translateY(-.015em) skew(var(--glyph-slant, 0deg)) scale(calc(var(--glyph-width, 1) * .985),var(--glyph-height, 1))}.hw-natural .hw-glyph-variant.variant-2{transform:translateY(.018em) skew(calc(var(--glyph-slant, 0deg) + 1deg)) scale(calc(var(--glyph-width, 1) * 1.018),var(--glyph-height, 1))}.hw-natural .hw-glyph-variant.variant-3{transform:translate(.012em) skew(calc(var(--glyph-slant, 0deg) - .8deg)) scale(calc(var(--glyph-width, 1) * .995),var(--glyph-height, 1))}.hw-natural .hw-glyph-variant.word-start{transform-origin:left 78%}.hw-natural .hw-glyph-variant.word-end{transform-origin:right 78%}.hw-word.hw-correction:after{content:"";position:absolute;z-index:2;left:-.08em;right:-.12em;top:53%;height:.08em;min-height:1px;border-radius:50%;background:currentColor;opacity:.72;transform:rotate(-2.4deg) skew(-8deg);pointer-events:none}.markdown-body .katex{color:inherit;font-size:1em}.markdown-body u,.markdown-body .underline-wavy,.markdown-body .underline-double{text-decoration-color:currentColor;text-underline-offset:.16em;text-decoration-thickness:1.25px}.markdown-body .underline-wavy{text-decoration-line:underline;text-decoration-style:wavy}.markdown-body .underline-double{text-decoration-line:underline;text-decoration-style:double}.markdown-body mark{padding:0 .12em;color:inherit;background:#fef08a;-webkit-box-decoration-break:clone;box-decoration-break:clone}.markdown-body del{opacity:.68;text-decoration-thickness:1.2px}.markdown-body .katex-display{margin:.65em 0 .9em;padding-left:.14em;overflow:visible;text-align:left!important}.markdown-body .katex-display>.katex{display:inline-block;text-align:left;transform:rotate(-.12deg);transform-origin:left center}.markdown-body strong,.markdown-body b,.markdown-body .bf{font-weight:750}.markdown-body strong .hw-letter,.markdown-body b .hw-letter,.markdown-body .bf .hw-letter,.markdown-body strong .hw-glyph-variant,.markdown-body b .hw-glyph-variant,.markdown-body .bf .hw-glyph-variant{text-shadow:none}.markdown-body em,.markdown-body i,.markdown-body .it,.markdown-body .sl{--format-slant: -13deg;font-style:italic}.markdown-body .sc{font-variant:small-caps}.markdown-body .tt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72em}.markdown-body .quote,.markdown-body .quotation{margin:.55em 0 .8em;padding:.15em 0 .15em .72em;border-left:2px solid currentColor;opacity:.82}.markdown-body .title{margin:.3em 0;font-size:1.55em;font-weight:700}.markdown-body .author,.markdown-body .date{margin:.15em 0}.tex-multicols{margin:.45em 0 .85em}.tex-multicols-heading{margin-bottom:.45em}.tex-multicols-heading>p{margin:0}.tex-multicols-grid{display:grid;grid-template-columns:repeat(var(--tex-columns, 2),minmax(0,1fr));gap:1.35em}.tex-column{min-width:0}.tex-column+.tex-column{padding-left:.9em;border-left:1px solid rgba(31,41,55,.18)}.tex-column>:first-child{margin-top:0}.tex-column .katex-display{font-size:.62em}.tex-tikz{width:min(100%,32em);margin:.55em 0 .9em;color:inherit}.tex-tikz svg{display:block;width:100%;height:auto;overflow:visible;color:inherit;font-family:inherit}.tex-tikz text{font-family:inherit}.tex-box{margin:.65em 0 .9em;padding:.55em .7em .5em;border:1.5px solid currentColor;border-radius:7px 9px 6px 8px;transform:rotate(-.05deg)}.tex-box-title{display:block;margin-bottom:.25em;font-weight:700}.tex-box-body>:first-child{margin-top:0}.tex-box-body>:last-child{margin-bottom:0}.tex-box-definitionbox,.tex-box-definition{border-color:#2563ebb8}.tex-box-examplebox{border-color:#166534b8}.tex-box-warningbox{border-color:#b91c1cb8}.tex-box-taskbox{border-color:#b45309b8}.tex-code-block{margin:.65em 0 .9em}.tex-code-block figcaption{margin-bottom:.3em;font-weight:700}.tex-code-block pre{margin:0;padding:.65em .75em;border:1px solid rgba(31,41,55,.42);border-radius:5px 7px 6px 4px;background:#f9fafbb8;white-space:pre-wrap;overflow-wrap:anywhere;font:.55em/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transform:rotate(.04deg)}.tex-circuit{max-width:31em}.tex-unsupported{padding:.5em .65em;border-left:2px solid currentColor;opacity:.68;font-size:.82em}.tex-error{padding:.7em .8em;border:1px solid rgba(185,28,28,.45);border-radius:5px;color:#991b1b;background:#fee2e273}.tex-error pre{margin:.5em 0 0;white-space:pre-wrap}.markdown-body .katex :is(.mathnormal,.mathit,.mathrm,.textnormal,.textit,.mathbf,.textbf),.markdown-body .katex :is(.mord,.mbin,.mrel,.mpunct,.mopen,.mclose):not(:has(*)):not(.amsrm):not(.mathbb):not(.mathcal):not(.mathfrak):not(.delimsizing):not(.op-symbol){font-family:var(--document-font),KaTeX_Main,serif}.markdown-body .katex .mathnormal{font-style:normal}.manual-page-content>.manual-block:first-child:not(.is-positioned)>.manual-block-body>:first-child{margin-top:0!important}.manual-page-content>.manual-block:last-child:not(.is-positioned)>.manual-block-body>:last-child{margin-bottom:0!important}@media print{html,body,#root,.app{margin:0!important;padding:0!important;background:#fff!important}body{overflow:visible!important}.editor-panel,.settings-panel,.block-inspector,.integrated-plotter-footer,.measure-host{display:none!important}.workspace,.preview-panel,.pages-viewport,.pages-canvas{display:block!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;overflow:visible!important;margin:0!important;padding:0!important;background:#fff!important}.page-shell{width:auto!important;height:auto!important;position:static!important}.paper{position:relative!important;inset:auto!important;transform:none!important;box-shadow:none;outline:0!important;break-after:page;page-break-after:always}.page-shell:last-child .paper{break-after:auto;page-break-after:auto}.page-number{display:none}}.plotter-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:var(--surface-raised)}.plotter-header>div{display:flex;align-items:center;gap:16px}.plotter-header strong{font-size:15px}.plotter-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px}.plotter-status i{width:8px;height:8px;border-radius:0;background:#94a3b8}.plotter-status.connected i{background:#22c55e}.plotter-status.running i{background:var(--green);box-shadow:none}.plotter-status.paused i{background:#f59e0b}.plotter-status.connecting i{background:var(--green);animation:plotter-pulse 1s infinite alternate}@keyframes plotter-pulse{to{opacity:.25}}.integrated-plotter-paper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.integrated-plotter-paper .plotter-paper-background{fill:var(--plotter-paper, #fff)}.integrated-plotter-paper .plotter-grid-fill{stroke:none}.integrated-plotter-paper .plotter-rule-line{fill:none;stroke:#9baabf;stroke-width:.12}.integrated-plotter-paper .plotter-margin-line{stroke:#c87c8a;stroke-width:.26}.integrated-plotter-paper .plotter-binding-line{stroke:#b7b1a7;stroke-width:.25}.integrated-plotter-paper .plotter-strokes,.integrated-plotter-paper .plotter-playback-stroke{fill:none;stroke-width:.4;stroke-linecap:round;stroke-linejoin:round}.plotter-playback-head>circle:first-child{fill:#2563eb29;stroke:var(--green);stroke-width:.22}.plotter-playback-head>circle:last-child{fill:var(--green)}.plotter-start-point{pointer-events:none}.plotter-start-point>circle:first-of-type{fill:none;stroke:var(--green);stroke-width:.3}.plotter-start-point>path{fill:none;stroke:var(--green);stroke-width:.3;stroke-linecap:round}.plotter-start-point-dot{fill:var(--green)}.plotter-start-point>text{fill:var(--green);font:600 2.6px/1 ui-sans-serif,sans-serif}.integrated-plotter-loading{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-secondary);background:#f8fafcc7;font:650 12px/1.4 ui-sans-serif,system-ui,sans-serif}.integrated-plotter-footer{position:relative;z-index:8;left:auto;right:auto;bottom:auto;flex:0 0 auto;min-width:0;max-height:min(250px,38vh);margin:0 calc(var(--settings-panel-width) + var(--preview-float-gap)) var(--preview-float-gap) var(--preview-float-gap);overflow-y:auto;padding:12px 14px 14px;border:1px solid var(--line);border-radius:0;background:var(--surface-raised);box-shadow:none;transition:margin-right var(--motion-panel) var(--motion-ease),box-shadow .18s ease}.plotter-footer-actions{display:flex;align-items:center}.plotter-footer-actions{justify-content:space-between;gap:14px}.plotter-footer-actions .plotter-arm{margin:5px 0}.plotter-playback-controls{display:grid;grid-template-columns:auto auto minmax(90px,1fr) 62px 40px;align-items:center;gap:7px;margin:8px 0 6px;padding:8px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.plotter-playback-controls select{height:30px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-raised);font-size:10px}.plotter-playback-controls output{color:var(--text-secondary);font-size:9px;font-variant-numeric:tabular-nums;text-align:right}@container (max-width: 760px){.plotter-playback-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plotter-playback-controls select{min-width:0}.plotter-footer-actions{align-items:stretch;flex-direction:column;gap:5px}.plotter-footer-actions .plotter-arm{margin-bottom:2px}.plotter-runbar{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:720px){.integrated-plotter-footer{margin-right:var(--preview-float-gap)}}.integrated-plotter-settings{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.integrated-plotter-settings fieldset{min-width:0;margin:0;padding:0;border:0}.integrated-plotter-settings.disabled fieldset{opacity:.48}.plotter-reset-row{display:flex;justify-content:flex-end;margin-bottom:-4px}.settings-wide-button{width:100%;margin-top:3px}.plotter-profile-meta{margin:-2px 0 8px;color:var(--text-secondary);font-size:10px}.plotter-profile-actions{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:9px}.plotter-profile-actions .text-button{padding:0;font-size:10px}.plotter-profile-actions .danger-text{color:var(--danger)}.plotter-advanced{margin:4px 0 10px;padding:8px 9px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.plotter-advanced summary{color:var(--text-secondary);cursor:pointer;font-size:10px;font-weight:700}.plotter-advanced[open] summary{margin-bottom:9px}.plotter-advanced textarea{width:100%;min-height:58px;resize:vertical;border:1px solid var(--line);border-radius:var(--control-radius);padding:7px 8px;color:var(--text-primary);background:var(--surface-raised);font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.plotter-command-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin-top:10px}.plotter-command-line .field{margin:0}.plotter-command-line input[type=text]{width:100%;height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 9px;color:var(--text-primary);background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.plotter-subgroup .plotter-network-host{width:100%;height:34px;border:1px solid var(--line);border-radius:0;padding:0 9px;color:var(--text-primary);background:var(--surface-raised);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.calibration-dialog{width:min(620px,calc(100vw - 32px));padding:0;max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid var(--line);border-radius:6px;color:var(--text-primary);background:var(--panel, #fff);box-shadow:none}.calibration-dialog::backdrop{background:#0009}.calibration-dialog>header{position:sticky;top:0;z-index:1;background:var(--surface-panel);display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 14px}.calibration-dialog>header small{color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.calibration-dialog h2{margin:4px 0 0;font-size:20px}.calibration-dialog>header>button:not(.emergency-stop){width:32px;height:32px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:transparent;cursor:pointer;font-size:22px}.calibration-step-track{height:4px;margin:0 22px;overflow:hidden;border-radius:0;background:var(--surface-workspace)}.calibration-step-track i{display:block;height:100%;border-radius:0;background:var(--green);transition:width .18s ease}.calibration-content{min-height:260px;padding:28px 22px}.calibration-content>p{margin:0 0 18px;color:var(--text-secondary);font-size:14px;line-height:1.55}.calibration-checklist{display:grid;gap:10px;margin-bottom:22px}.calibration-checklist label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.calibration-checklist input{margin-top:2px}.calibration-verification{padding:14px;border:1px solid var(--accent-border);border-radius:0;background:var(--accent-soft)}.calibration-verification strong{display:block;margin-bottom:12px;font-size:13px}.calibration-verification>div{display:flex;gap:8px}.calibration-warning,.calibration-error,.calibration-note{padding:10px 12px;border-radius:0;font-size:11px!important}.calibration-warning{color:#92400e!important;background:var(--warning-soft)}.calibration-error{margin-top:14px!important;color:var(--danger)!important;background:var(--danger-soft)}.calibration-note{color:var(--text-secondary)!important;background:var(--surface-panel)}.calibration-success{width:54px;height:54px;display:grid;place-items:center;margin-bottom:18px;border-radius:50%;color:var(--green);background:#dcfce7;font-size:28px;font-weight:800}.calibration-jog{display:grid;grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,42px);justify-content:center;gap:5px;margin:18px 0 24px}.calibration-jog button{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-panel);cursor:pointer;font-size:18px}.calibration-jog button:first-child{grid-column:2}.calibration-jog button:nth-child(2){grid-column:1;grid-row:2}.calibration-jog span{grid-column:2;grid-row:2;display:grid;place-items:center;color:var(--text-secondary);font-size:10px}.calibration-jog button:nth-child(4){grid-column:3;grid-row:2}.calibration-jog button:nth-child(5){grid-column:2;grid-row:3}.calibration-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 22px 17px;border-top:1px solid var(--line);color:var(--text-secondary);font-size:10px}@media(max-width:560px){.calibration-backdrop{padding:0}.calibration-dialog{max-height:100vh;border-radius:6px}.calibration-dialog>footer{align-items:flex-start;flex-direction:column}}.plotter-exit{white-space:nowrap}.plotter-body{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"job controls"}.plotter-controls{grid-area:controls;min-height:0;overflow-y:auto;padding:14px;border-left:1px solid var(--line);background:var(--surface-panel)}.plotter-card{margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:0;background:var(--surface-raised)}.plotter-card h3{margin:0 0 12px;color:var(--text-secondary);font-size:12px}.plotter-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.plotter-card-title h3{margin:0}.plotter-card-title .text-button{padding:0}.plotter-card label,.plotter-job-toolbar label{display:grid;gap:5px;margin-bottom:10px}.plotter-card label>span,.plotter-job-toolbar label>span{color:var(--text-secondary);font-size:10px;font-weight:650}.plotter-caption{display:flex;align-items:center;gap:5px}.plotter-help{position:relative;width:15px;height:15px;flex:0 0 15px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text-secondary);background:var(--surface-raised);cursor:help;font-size:9px;font-weight:800;line-height:1;outline:0}.plotter-help>[role=tooltip]{position:absolute;z-index:30;left:-8px;bottom:calc(100% + 8px);width:230px;padding:9px 10px;border-radius:7px;color:#f8fafc;background:var(--surface-raised);box-shadow:none;font-size:10px;font-weight:450;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .12s,transform .12s,visibility .12s}.plotter-help:hover,.plotter-help:focus-visible{border-color:var(--green);color:var(--green);box-shadow:none}.plotter-help:hover>[role=tooltip],.plotter-help:focus-visible>[role=tooltip]{opacity:1;visibility:visible;transform:translateY(0)}.plotter-card input,.plotter-card select,.plotter-job-toolbar select{width:100%;height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 9px;background:var(--surface-raised);font-size:12px}.plotter-row{display:grid;gap:9px}.plotter-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.plotter-actions{display:flex;gap:8px}.plotter-actions .button{flex:1}.compact-actions{margin-top:10px}.jog-control{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,38px);justify-content:center;gap:4px}.jog-control button{border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-panel);cursor:pointer;font-size:17px}.jog-control button:first-child{grid-column:2}.jog-control button:nth-child(2){grid-column:1;grid-row:2}.jog-control span{grid-column:2;grid-row:2;display:grid;place-items:center;color:var(--text-secondary);font-size:9px;text-align:center}.jog-control button:nth-child(4){grid-column:3;grid-row:2}.jog-control button:nth-child(5){grid-column:2;grid-row:3}.jog-control button:disabled{opacity:.4}.jog-distance{margin-top:8px}.jog-range-label{display:flex;margin-top:9px;color:var(--text-secondary);font-size:10px;font-weight:650}.plotter-job{grid-area:job;min-width:0;min-height:0;overflow-y:auto;padding:18px 20px 26px}.plotter-job-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.plotter-job-toolbar>.button{flex:0 0 auto}.plotter-selected-font{min-width:0;display:flex;flex-direction:column;gap:3px}.plotter-selected-font span{color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.plotter-selected-font strong{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.plotter-current-page{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:11px;font-weight:650}.font-status{display:flex;justify-content:space-between;gap:10px;margin:14px 0 8px;font-size:11px}.font-status span{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plotter-preview{position:relative;height:clamp(440px,calc(100vh - 335px),680px);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:0;background:var(--surface-workspace);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.plotter-preview.is-panning{cursor:grabbing}.plotter-preview-stage{position:absolute;top:14px;right:17px;bottom:14px;left:17px;display:flex;align-items:center;justify-content:center}.plotter-preview svg{flex:0 0 auto;max-width:none;max-height:none;box-shadow:none}.plotter-preview rect{fill:#fff;stroke:#d7dee8;stroke-width:.3}.plotter-preview .plotter-grid-fill{fill:url(#plotter-notebook-rules);stroke:none}.plotter-preview .plotter-rule-line{fill:none;stroke:#93c5fd;stroke-width:.16}.plotter-preview .plotter-margin-line{stroke:#fb7185;stroke-width:.4}.plotter-preview .plotter-binding-line{stroke:#94a3b8;stroke-width:.65}.plotter-preview path{fill:none;stroke:#1e3a8a;stroke-width:.22;stroke-linecap:round;stroke-linejoin:round}.plotter-preview-message{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-secondary);background:#f1f5f9cc;font-size:12px;pointer-events:none}.plotter-view-controls{position:absolute;z-index:6;top:9px;right:9px;display:flex;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:0;background:#ffffffeb;box-shadow:none}.plotter-view-controls span{min-width:45px;padding:0 7px;color:var(--text-secondary);font-size:10px;text-align:center}.plotter-view-controls button{height:27px;border:0;border-left:1px solid var(--line);padding:0 8px;color:var(--green);background:transparent;cursor:pointer;font-size:10px}.plotter-view-controls button:hover{background:var(--accent-soft)}.plotter-navigation-hint{position:absolute;z-index:4;left:50%;bottom:8px;transform:translate(-50%);padding:4px 7px;border-radius:0;color:var(--text-secondary);background:#ffffffe0;font-size:9px;white-space:nowrap;pointer-events:none}.job-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.job-stats span{display:flex;flex-direction:column;padding:9px 10px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);font-size:9px}.job-stats strong{color:var(--text-primary);font-size:12px}.plotter-note,.plotter-warning,.plotter-error{margin:8px 0;padding:9px 10px;border-radius:0;font-size:11px;line-height:1.4}.plotter-note{color:var(--text-secondary);background:var(--surface-panel)}.plotter-warning{color:#92400e;background:var(--warning-soft)}.plotter-error{color:var(--danger);background:var(--danger-soft)}.plotter-arm{display:flex;align-items:flex-start;gap:9px;margin:13px 0;color:var(--text-secondary);font-size:11px;line-height:1.4}.plotter-arm input{margin-top:2px}.plotter-preflight{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;font-size:11px}.plotter-preflight span{padding:4px 7px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-raised)}.plotter-preflight .pass{border-color:var(--line);color:var(--green);background:var(--accent-soft)}.plotter-preflight .warning{border-color:var(--line);color:#9a3412;background:var(--warning-soft)}.plotter-imported-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;margin:8px 0;padding:9px 10px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.plotter-imported-job>div:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}.plotter-imported-job strong{color:var(--text-secondary);font-size:11px}.plotter-imported-job small{color:var(--text-secondary);font-size:9px;line-height:1.35}.plotter-imported-actions{display:flex;align-items:center;gap:8px}.plotter-imported-summary{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-top:8px;border-top:1px solid var(--line)}.plotter-imported-summary>span{max-width:min(360px,100%);overflow:hidden;color:var(--text-secondary);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.plotter-imported-summary>p{width:100%;margin:0}.plotter-imported-summary>.button{margin-left:auto}.plotter-runbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.plotter-runbar .button{white-space:nowrap}.button.danger{border-color:var(--line);color:var(--on-accent);background:#dc2626}.button.danger:hover{background:#b91c1c}.plotter-progress{position:relative;height:22px;margin-top:10px;overflow:hidden;border-radius:0;background:var(--surface-workspace)}.plotter-progress i{position:absolute;inset:0 auto 0 0;background:var(--green);transition:width .15s}.plotter-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;color:#1e3a8a;font-size:10px;font-weight:700}.plotter-console{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.plotter-console summary{color:var(--text-secondary);cursor:pointer;font-size:11px}.plotter-console>div{max-height:150px;overflow:auto;margin-top:8px;padding:8px;border-radius:0;background:var(--surface-raised)}.plotter-console code{display:grid;grid-template-columns:62px 18px 1fr;color:var(--text-primary);font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.plotter-console code time{color:var(--text-secondary)}.plotter-console code.in b{color:var(--green)}.plotter-console code.out b{color:var(--accent-border)}.plotter-console code.error{color:var(--danger)}@media(max-height:760px)and (min-width:821px){.plotter-preview{height:330px}}@media(max-width:900px){.plotter-body{display:flex;flex-direction:column;overflow-y:auto}.plotter-controls,.plotter-job{min-height:auto;overflow:visible}.plotter-job{order:1}.plotter-controls{order:2;border-left:0;border-top:1px solid var(--line)}.plotter-preview{height:300px}}@media(max-width:520px){.plotter-row.two,.job-stats{grid-template-columns:repeat(2,1fr)}.plotter-job-toolbar{align-items:stretch;flex-direction:column}.plotter-job-toolbar label{width:100%}}.placement-toggle{display:inline-flex;align-items:center;gap:6px}.placement-toggle span{font-size:16px;line-height:1}.placement-toggle.active{border-color:var(--line);color:var(--on-accent);background:#1f2937}.block-inspector{position:absolute;z-index:7;top:var(--preview-float-gap);left:var(--preview-float-gap);right:calc(var(--settings-panel-width) + var(--preview-float-gap));min-height:54px;display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid var(--line);border-radius:0;background:#fbfcfd;box-shadow:none;transition:right var(--motion-panel) var(--motion-ease);animation:inspector-in .18s ease-out}.block-inspector.empty{justify-content:center;color:var(--text-secondary);font-size:11px}.block-inspector.empty code{max-width:min(620px,65vw);overflow:hidden;padding:5px 7px;border:1px solid var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-raised);font:9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.inspector-icon{font-size:17px}.block-identity{min-width:150px;max-width:220px;display:flex;align-items:center;gap:8px;margin-right:auto}.block-identity>div{min-width:0;display:flex;flex-direction:column}.block-identity strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.block-identity small{color:var(--muted);font-size:9px}.block-kind{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:0;color:var(--text-primary);background:#eaf1ff;font:700 12px/1 ui-sans-serif,sans-serif}.block-kind.formula{color:#6d28d9;background:#f1ebff}.block-kind.svg{color:#047857;background:#e8f7f1}.block-inspector>label{display:grid;gap:2px;color:var(--text-secondary);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.block-inspector input[type=number]{width:62px;height:29px;padding:0 7px;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-primary);background:var(--surface-raised);font-size:10px}.alignment-control{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:0}.alignment-control button{width:29px;height:29px;border:0;border-right:1px solid var(--line);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer}.alignment-control button:last-child{border-right:0;transform:scaleX(-1)}.alignment-control button.active{color:var(--on-accent);background:#334155}.nowrap-control{display:flex!important;grid-auto-flow:column;align-items:center;gap:5px!important;white-space:nowrap;text-transform:none!important;letter-spacing:0!important;font-size:9px!important}.manual-page-content.is-editing{overflow:visible;outline:1px dashed rgb(71 85 105 / .18);outline-offset:3px}.manual-page-content.is-drop-target{outline:2px solid var(--green);outline-offset:5px;background:#2563eb0b}.manual-page-content.is-drop-target:after{content:"Переместить на " attr(data-page-label);position:absolute;z-index:20;left:50%;top:12px;transform:translate(-50%);padding:6px 9px;border-radius:0;color:var(--on-accent);background:var(--green);font:700 10px/1 ui-sans-serif,system-ui,sans-serif;white-space:nowrap;pointer-events:none}.paper.manual-editing{overflow:visible}.manual-block{position:relative;min-width:0;transform-origin:center}.manual-block.is-positioned{position:absolute;margin:0;overflow:hidden}.manual-block.is-positioned>.manual-block-body,.manual-block.is-positioned>.manual-block-body>:first-child{margin-top:0!important}.manual-block.is-positioned>.manual-block-body>:last-child{margin-bottom:0!important}.manual-page-content.is-editing .manual-block{cursor:move;touch-action:none;outline:1px solid rgb(37 99 235 / .26);outline-offset:2px;transition:outline-color .14s,box-shadow .14s}.manual-page-content.is-editing .manual-block:hover{outline-color:#2563eb9e}.manual-page-content.is-editing .manual-block.is-selected{z-index:10;outline:1.5px solid var(--green);box-shadow:none}.manual-block-kind{position:absolute;z-index:4;top:-17px;left:-3px;min-width:16px;height:14px;display:grid;place-items:center;border-radius:0;color:var(--on-accent);background:var(--green);font:700 8px/1 ui-sans-serif,sans-serif;opacity:0;transition:opacity .14s}.manual-block:hover .manual-block-kind,.manual-block.is-selected .manual-block-kind{opacity:1}.manual-resize-handle{position:absolute;z-index:5;right:-4px;bottom:-4px;width:11px;height:11px;padding:0;border:2px solid var(--line);border-radius:50%;background:var(--green);box-shadow:none;cursor:nwse-resize}@keyframes inspector-in{0%{opacity:0;transform:translateY(-4px)}}@media(max-width:1180px){.block-inspector{overflow-x:auto}.block-identity{min-width:130px}}.manual-block.is-positioned[data-block-kind=svg]>.manual-block-body,.manual-block.is-positioned[data-block-kind=svg]>.manual-block-body :is(section,figure,div):has(svg){height:100%;margin:0!important}.manual-block.is-positioned[data-block-kind=svg]>.manual-block-body svg:not(svg svg){display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0}.platform-macos{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.platform-windows{font-family:Segoe UI Variable,Segoe UI,system-ui,sans-serif}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{min-height:36px;border:3px solid transparent;border-radius:10px;background:var(--line);background-clip:padding-box}.gcode-viewer{height:100vh;display:flex;flex-direction:column;color:var(--text-primary);background:var(--surface-workspace)}.gcode-viewer-header{min-height:60px;flex:0 0 auto;display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(140px,1fr);align-items:center;gap:18px;padding:9px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.gcode-viewer-title,.gcode-viewer-title>div,.gcode-viewer-stats,.gcode-viewer-actions{display:flex;align-items:center}.gcode-viewer-title{gap:12px;min-width:0}.gcode-viewer-title>div{align-items:flex-start;flex-direction:column;min-width:0}.gcode-viewer-title strong{font-size:13px}.gcode-viewer-title span{max-width:34vw;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.gcode-viewer-stats{gap:16px;color:var(--muted);font-size:10px}.gcode-viewer-stats span{white-space:nowrap}.gcode-viewer-stats strong{color:var(--text-secondary);font-size:11px}.gcode-viewer-actions{justify-content:flex-end}.gcode-viewer-warning{z-index:3;flex:0 0 auto;margin:0;padding:9px 16px;border-bottom:1px solid var(--line);color:#7c4a03;background:var(--warning-soft);font-size:11px}.gcode-viewer-warning.neutral{border-bottom-color:var(--line);color:var(--text-secondary);background:var(--surface-panel)}.gcode-dropzone{width:min(620px,calc(100% - 48px));min-height:260px;display:flex;align-self:center;align-items:center;justify-content:center;flex:1 1 auto;flex-direction:column;gap:8px;margin:48px;border:2px dashed var(--line);border-radius:0;color:var(--text-secondary);background:var(--surface-panel);cursor:pointer}.gcode-dropzone:hover{border-color:var(--green);background:var(--accent-soft)}.gcode-dropzone strong{font-size:18px}.gcode-dropzone span{color:var(--text-secondary);font-size:13px}.gcode-dropzone small{margin-top:12px;color:var(--text-secondary);font-size:10px}.gcode-viewer-workspace{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,34vw)}.gcode-preview-panel{min-width:0;display:flex;flex-direction:column;background:var(--surface-workspace)}.gcode-preview-toolbar{min-height:45px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.gcode-preview-toolbar label{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:10px}.gcode-zoom input{width:clamp(100px,18vw,240px)}.gcode-zoom output{width:36px;font-variant-numeric:tabular-nums;text-align:right}.gcode-canvas{min-height:0;flex:1 1 auto;display:block;overflow:auto;padding:32px}.gcode-canvas-stage{display:grid;place-items:center;margin:auto}.gcode-canvas svg{display:block;max-width:none;overflow:hidden;filter:none}.gcode-paper{fill:#fff;stroke:#cbd5e1;stroke-width:.4}.gcode-draw-path,.gcode-travel-path{fill:none;vector-effect:non-scaling-stroke}.gcode-draw-path{stroke:#172033;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.gcode-travel-path{stroke:var(--green);stroke-width:.75;stroke-dasharray:4 3;opacity:.48}.gcode-empty-preview{display:flex;align-items:center;flex-direction:column;gap:6px;color:var(--text-secondary)}.gcode-empty-preview span{color:var(--text-secondary);font-size:11px}.gcode-source-panel{min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface-raised)}.gcode-source-panel>header{min-height:45px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line)}.gcode-source-panel>header strong{font-size:12px}.gcode-source-panel>header span{color:var(--muted);font-size:10px}.gcode-source-panel pre{min-height:0;flex:1 1 auto;margin:0;overflow:auto;padding:10px 0 24px;color:var(--text-primary);background:var(--surface-raised);font:11px/1.6 SFMono-Regular,Consolas,monospace}.gcode-source-virtual{position:relative;min-width:100%}.gcode-source-panel code{position:absolute;left:0;min-width:100%;height:18px;display:grid;grid-template-columns:52px minmax(max-content,1fr)}.gcode-source-panel code:hover{background:var(--surface-panel)}.gcode-source-panel code i{padding-right:12px;color:var(--text-secondary);font-style:normal;text-align:right;-webkit-user-select:none;user-select:none}.gcode-source-panel code span{padding-right:14px;white-space:pre}@media(max-width:820px){.gcode-viewer-header{grid-template-columns:minmax(0,1fr) auto}.gcode-viewer-stats{display:none}.gcode-viewer-workspace{grid-template-columns:1fr;grid-template-rows:minmax(520px,70vh) minmax(320px,1fr)}.gcode-source-panel{border-top:1px solid var(--line);border-left:0}}.gcode-pen-controls{flex:0 0 auto;border-bottom:1px solid var(--line);background:var(--surface-panel);font-size:12px}.gcode-pen-controls>summary{padding:12px 14px;cursor:pointer;color:var(--text-primary)}.gcode-pen-controls>summary>span+span{margin-left:12px;color:var(--text-secondary);font-size:11px}.gcode-pen-content{padding:0 14px 14px}.gcode-pen-content p{margin:0 0 12px;color:var(--text-secondary);line-height:1.5}.gcode-pen-content form{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(2,minmax(95px,1fr));align-items:end;gap:12px}.gcode-pen-content label{display:grid;gap:6px;min-width:0}.gcode-pen-content select,.gcode-pen-content input{min-width:0;width:100%;min-height:36px}.gcode-pen-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.gcode-pen-content .gcode-pen-error{color:var(--danger, #c44036);margin-bottom:0}@media(max-width:1000px){.gcode-pen-content form{grid-template-columns:repeat(2,minmax(0,1fr))}.gcode-pen-kind{grid-column:1 / -1}}@media(max-width:560px){.gcode-preview-toolbar{flex-wrap:wrap;gap:10px}.gcode-pen-controls>summary>span+span{display:block;margin:6px 0 0 16px}}:root{color-scheme:light}:root.theme-dark{color-scheme:dark}.workspace-navigation{height:48px;display:flex;align-items:center;gap:32px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--surface-panel);color:var(--text-primary)}.workspace-navigation>strong{font-size:14px;letter-spacing:-.4px}.workspace-navigation>div{display:flex;gap:4px}.workspace-navigation button{border:0;border-radius:var(--control-radius);padding:7px 12px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}.workspace-navigation button[aria-pressed=true]{background:var(--surface-raised);color:var(--text-primary)}.with-workspace-nav>.workspace{height:calc(100dvh - 48px)}.plotter-workshop{height:calc(100dvh - 48px);display:flex;flex-direction:column;color:var(--text-primary);background:var(--surface-workspace);font-size:13px}.plotter-workshop button,.machine-monitor button{border:1px solid var(--line);border-radius:var(--control-radius);min-height:32px;padding:6px 11px;background:var(--surface-raised);color:var(--text-primary);cursor:pointer;font-size:12px}.plotter-workshop button:hover:not(:disabled),.machine-monitor button:hover:not(:disabled){background:var(--control-hover)}.plotter-workshop button:disabled,.machine-monitor button:disabled{opacity:.4;cursor:default}.workshop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.workshop-toolbar>div:first-child{display:grid;gap:5px;min-width:0}.workshop-toolbar input{border:0;outline-offset:1px;background:transparent;font-size:17px;font-weight:600;color:inherit;min-width:0;max-width:360px;width:100%}.workshop-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.workshop-body{display:grid;grid-template-columns:292px minmax(0,1fr);flex:1;min-height:0}.workshop-inspector{overflow:auto;background:var(--surface-panel);border-right:1px solid var(--line)}.workshop-tabs{display:flex;gap:4px;padding:10px 12px}.workshop-tabs button{border-color:transparent;background:transparent;color:var(--text-secondary);flex:1;white-space:nowrap}.workshop-tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--text-primary)}.workshop-inspector>fieldset{border:0;padding:0;margin:0;min-width:0}.workshop-section{padding:18px;border-top:1px solid var(--line)}.workshop-section h2,.workshop-section summary{font-size:12px;font-weight:650;margin:0 0 14px}.workshop-section summary{cursor:pointer;margin-bottom:0}.workshop-section[open] summary{margin-bottom:16px}.workshop-section>button{width:100%;margin-top:8px}.workshop-section p{color:var(--text-secondary);font-size:11px;line-height:1.6;margin:12px 0 0}.workshop-field{display:grid;gap:6px;margin-bottom:12px;font-size:11px;color:var(--text-secondary);min-width:0}.workshop-field input,.workshop-field select{width:100%;min-width:0;height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:6px 9px;background:var(--surface-raised);color:var(--text-primary)}.workshop-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.workshop-section .workshop-buttons{margin-top:8px}.workshop-section .workshop-buttons button{flex:1}.workshop-main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:auto}.workshop-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);background:var(--surface-panel);flex-shrink:0}.workshop-canvas-toolbar .workshop-tabs{padding-left:0}.workshop-canvas{min-height:230px;flex:1 0 230px;overflow:auto;display:flex;align-items:center;padding:30px}.workshop-canvas.dragging{outline:2px dashed var(--green);outline-offset:-8px}.workshop-canvas svg{display:block;flex-shrink:0;height:100%;min-height:200px}.workshop-empty{margin:auto;text-align:center;padding:20px 0}.workshop-statistics{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:10px 20px;border-top:1px solid var(--line);color:var(--text-secondary);font-size:11px}.workshop-statistics>label{margin-left:auto}.workshop-check{display:flex;gap:7px;align-items:center;font-size:11px}.workshop-run{background:var(--surface-panel);padding:14px 20px;border-top:1px solid var(--line)}.workshop-checklist{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;color:var(--text-secondary);margin-bottom:12px}.workshop-checklist .ready{color:var(--green)}.workshop-run-actions{display:flex;flex-wrap:wrap;gap:8px}.workshop-run button.primary{background:var(--green);color:#fff;border-color:var(--green)}.workshop-run button.danger{color:var(--danger);margin-left:auto}.workshop-run>small{display:block;margin:10px 0 0;color:var(--text-secondary);font-size:11px}.workshop-run progress{width:100%;height:5px;margin-top:12px;accent-color:var(--green)}.workshop-log{margin-top:14px;color:var(--text-secondary);font-size:11px}.workshop-log summary{cursor:pointer}.workshop-log button{margin-top:8px}.workshop-log pre{overflow:auto;max-height:150px;line-height:1.7}.workshop-code{flex:1 0 230px;padding:24px;margin:0;overflow:auto;max-height:60vh;line-height:1.7;font-size:12px;background:var(--surface-raised)}.machine-monitor{padding:16px;display:grid;gap:8px;border-bottom:1px solid var(--line);font-size:12px}.machine-heading{display:flex;justify-content:space-between;gap:8px}.machine-monitor small{color:var(--text-secondary);font-size:10px}.machine-dro{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:3px 0 8px}.machine-dro>div{display:grid;gap:5px;padding:9px;border-radius:0;background:var(--surface-raised)}.machine-dro span{color:var(--text-secondary);font-size:10px}.machine-dro output{font-variant-numeric:tabular-nums;font-size:15px}.machine-monitor .workshop-buttons button{flex:1}.gcode-edit-panel{display:flex;flex-direction:column;gap:10px;padding:12px;height:100%;min-height:0}.gcode-edit-panel textarea{flex:1;min-height:180px;resize:none;border:1px solid var(--line);background:var(--surface-raised);color:var(--text-primary);padding:10px;font:12px/1.7 ui-monospace,monospace}.gcode-edit-panel>div{display:flex;flex-wrap:wrap;gap:6px}.gcode-edit-panel small{color:var(--text-secondary);line-height:1.5}@media(max-width:850px){.workshop-body{grid-template-columns:248px minmax(0,1fr)}.workshop-toolbar{padding:12px 16px}.workshop-canvas-toolbar{flex-wrap:wrap;padding:0 10px 8px}.workshop-canvas,.workshop-run{padding:12px}}@media(max-width:600px){.workspace-navigation{gap:10px;padding:0 10px}.workspace-navigation button{padding-inline:8px;font-size:11px}.workshop-toolbar{flex-wrap:wrap}.workshop-toolbar>div:first-child{width:100%}.workshop-body{display:flex;flex-direction:column-reverse;overflow:auto}.workshop-main{min-height:560px;overflow:visible;flex-shrink:0}.workshop-inspector{overflow:visible;border-right:0;border-top:1px solid var(--line)}.workshop-statistics{padding:10px 12px;gap:12px}.workshop-statistics>label{margin-left:0}}@media print{.workspace-navigation,.plotter-workshop{display:none!important}.with-workspace-nav>.workspace{height:auto}}body:has(.font-studio){overflow:hidden;background:var(--surface-panel)}.font-studio{min-height:100vh;color:var(--text-primary);background:var(--surface-panel)}.font-studio button,.font-studio input{font:inherit}.font-studio-toolbar{height:59px;display:grid;grid-template-columns:auto minmax(180px,320px) auto 1fr;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--surface-raised)}.font-studio-toolbar>a{color:var(--text-secondary);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.font-studio-toolbar>a:hover{color:var(--green)}.font-name-field{height:36px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:0;padding:0 10px;background:var(--surface-raised)}.font-name-field span,.font-studio-progress span,.font-preview-toolbar label>span{color:var(--muted);font-size:9px;font-weight:700}.font-name-field input{min-width:0;height:28px;border:0;outline:0;color:var(--text-primary);background:transparent;font-size:12px;font-weight:650}.font-name-field:focus-within{border-color:var(--accent-border);box-shadow:none}.font-studio-progress{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.font-studio-progress strong{color:var(--text-primary);font-size:11px;font-variant-numeric:tabular-nums}.font-studio-actions{display:flex;justify-content:flex-end;gap:7px}.font-studio-actions button,.font-canvas-toolbar button{height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 12px;color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;font-size:10px;font-weight:700}.font-studio-actions button:hover,.font-canvas-toolbar button:hover:not(:disabled){border-color:var(--line);background:var(--surface-panel)}.font-studio-actions button.danger{border-color:var(--line);color:var(--danger)}.font-studio-actions button.danger:hover:not(:disabled){border-color:var(--line);background:var(--danger-soft)}.font-studio-actions button:disabled{opacity:.4;cursor:default}.font-studio-actions button.primary{border-color:var(--green);color:var(--on-accent);background:var(--green)}.font-studio-actions button.primary:hover{border-color:var(--green-dark);background:var(--green-dark)}.font-studio-notice{position:fixed;z-index:120;top:auto;bottom:18px;right:16px;max-width:min(360px,calc(100vw - 32px));margin:0;padding:10px 12px 10px 14px;border:0;border-left:3px solid var(--green);border-radius:6px;color:var(--text-primary);background:var(--surface-raised);font-size:11px;line-height:1.45;animation:font-notice-enter .18s ease-out}@keyframes font-notice-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.font-studio-workspace{width:min(100%,1380px);height:calc(100vh - 59px);display:grid;grid-template-columns:250px minmax(0,1fr);gap:10px;margin:0 auto;padding:10px}.font-character-panel,.font-canvas-panel,.font-live-preview{min-width:0;border:1px solid var(--line);border-radius:0;background:var(--surface-raised);box-shadow:none}.font-character-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.font-character-panel-title{height:47px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.font-character-panel-title strong{font-size:11px}.font-character-panel-title span{color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.font-character-list{min-height:0;overflow-y:auto;padding:0 9px 10px}.font-character-group{padding:12px 0 4px}.font-character-group+.font-character-group{margin-top:7px;border-top:1px solid var(--line)}.font-character-group>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;padding:0 2px}.font-character-group>div:first-child strong{color:var(--text-secondary);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.font-character-group>div:first-child small{color:var(--text-secondary);font-size:8px;font-variant-numeric:tabular-nums}.font-character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.font-character-grid button{position:relative;aspect-ratio:1;min-width:0;border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;font-size:14px;line-height:1}.font-character-grid button:hover{border-color:var(--line);color:var(--text-primary);background:var(--surface-panel)}.font-character-grid button.active{border-color:var(--green);color:var(--on-accent);background:var(--green);box-shadow:none}.font-character-grid button i{position:absolute;right:3px;bottom:3px;width:4px;height:4px;border-radius:50%;background:transparent}.font-character-grid button.complete i{background:#22c55e}.font-character-grid button.active i{background:var(--accent-soft)}.font-studio-main{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}.font-canvas-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.font-canvas-toolbar{height:47px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.font-canvas-toolbar>div{display:flex;align-items:center;gap:6px}.font-canvas-toolbar>div:first-child button{width:30px;padding:0}.font-canvas-toolbar .character-navigation button{border-radius:50%}.font-canvas-toolbar .canvas-actions{gap:2px}.font-canvas-toolbar .canvas-actions button{padding-inline:9px}.font-canvas-toolbar strong{width:36px;text-align:center;font-size:22px;font-weight:600;line-height:1}.font-canvas-toolbar span{margin-left:4px;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}.font-canvas-toolbar button:disabled{opacity:.4;cursor:default}.font-drawing-canvas{width:auto;max-width:100%;height:min(48vh,500px);display:block;margin:auto;cursor:crosshair;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.font-live-preview{overflow:hidden}.font-preview-toolbar{min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:18px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface-panel)}.font-preview-toolbar label{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px}.font-preview-toolbar label>input:not([type=range]){min-width:0;height:30px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 9px;outline:0;color:var(--text-primary);background:var(--surface-raised);font-size:10px}.font-preview-toolbar label>input:not([type=range]):focus{border-color:var(--accent-border);box-shadow:none}.font-preview-toolbar .font-preview-size{grid-template-columns:auto minmax(70px,1fr) 38px}.font-preview-size input{width:100%;margin:0}.font-preview-size output{color:var(--text-secondary);font-size:9px;font-variant-numeric:tabular-nums;text-align:right}.font-preview-canvas{height:156px;overflow-x:auto;overflow-y:auto;background:var(--surface-raised)}.font-preview-svg{min-width:720px;height:156px;display:block}.font-preview-svg>line{stroke:#dbe3ea;stroke-dasharray:4 6}.font-preview-svg path{fill:none;stroke:#1e293b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.photo-import-backdrop{position:fixed;z-index:300;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.photo-import-dialog{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);box-shadow:none}.photo-import-dialog>header,.photo-import-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.photo-import-dialog>header{align-items:flex-start;border-bottom:1px solid var(--line)}.photo-import-dialog>header span{color:var(--green);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.photo-import-dialog h2{margin:4px 0 0;font-size:19px}.photo-import-dialog>header>button{width:32px;height:32px;border:0;border-radius:var(--control-radius);color:var(--text-secondary);background:var(--surface-panel);cursor:pointer;font-size:20px}.photo-import-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.photo-import-options article{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:0;background:var(--surface-panel)}.photo-import-options article>b{color:var(--text-primary);font-size:13px}.photo-import-options p{min-height:58px;margin:0;color:var(--text-secondary);font-size:10px;line-height:1.55}.photo-import-options article>div{display:flex;gap:7px}.photo-import-options button,.photo-import-dialog>footer button{min-height:34px;border:1px solid var(--line);border-radius:var(--control-radius);padding:0 11px;color:var(--text-secondary);background:var(--surface-raised);cursor:pointer;font-size:10px;font-weight:750}.photo-import-options button.primary{border-color:var(--green);color:var(--on-accent);background:var(--green)}.photo-import-options label{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:9px}.photo-import-status{display:grid;gap:7px;margin:0 20px 18px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:0;color:var(--text-primary);background:var(--accent-soft);font-size:10px}.photo-import-status progress{width:100%;height:6px}.photo-import-dialog>footer{border-top:1px solid var(--line);color:var(--text-secondary);font-size:9px}@media(max-width:780px){body:has(.font-studio){overflow:auto}.font-studio-toolbar{height:auto;min-height:58px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:9px 10px}.font-studio-progress{display:none}.font-studio-actions{grid-column:1 / -1}.font-studio-actions button{flex:1}.font-studio-workspace{height:auto;grid-template-columns:1fr;padding:8px}.font-character-panel{max-height:270px}.font-character-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.font-studio-main{display:flex;flex-direction:column}.font-drawing-canvas{width:100%;height:auto}.font-preview-toolbar{grid-template-columns:1fr;gap:7px;padding:8px 10px}.photo-import-backdrop{padding:8px}.photo-import-options{grid-template-columns:1fr;padding:12px}.photo-import-options p{min-height:0}}.font-pen-tools{position:relative;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 10px;border-bottom:1px solid var(--line);flex:0 0 auto;color:var(--text-secondary);font-size:11px}.font-tool-group{display:inline-flex;gap:4px;padding:0;background:transparent}.font-pen-tools button,.font-pen-tools select,.font-pen-tools summary{min-height:30px;border:0;border-radius:var(--control-radius);padding:0 10px;background:transparent;color:inherit;font:inherit;font-weight:650;cursor:pointer}.font-tool-group button{border-bottom:2px solid transparent;border-radius:var(--control-radius);background:transparent}.font-tool-group button:hover:not([aria-pressed=true]),.font-pen-options>summary:hover{color:var(--text-primary);background:transparent}.font-pen-tools button[aria-pressed=true]{border-bottom-color:var(--green);background:transparent;color:var(--green)}.font-pen-tools label{display:flex;align-items:center;gap:7px}.font-pen-input>span{color:var(--muted);font-weight:650}.font-pen-input select{min-width:88px;background:var(--control-surface, #f3f4f6)}.font-pen-options{position:static;flex:0 1 auto;min-width:92px}.font-pen-options>summary{list-style-position:inside;background:transparent}.font-pen-options-panel{position:absolute;z-index:40;top:calc(100% - 1px);left:10px;right:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding:14px;border:1px solid var(--line);border-radius:0;color:var(--text-primary);background:var(--surface-raised);animation:font-pen-panel-enter .16s ease-out}.font-pen-options-panel .font-pen-toggle{min-height:30px}.font-pen-options-panel .font-pen-range{display:grid;grid-template-columns:106px minmax(120px,1fr);gap:12px;min-height:30px}.font-pen-options .liquid-range{width:100%}.font-pen-options input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--green)}.font-pen-options p{grid-column:1 / -1;margin:0;color:var(--text-secondary);font-size:10px;line-height:1.45}@keyframes font-pen-panel-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.font-canvas-panel{overflow-y:auto}.font-drawing-canvas{flex:0 0 auto;aspect-ratio:640 / 520}@media(pointer:coarse){.font-canvas-toolbar{min-height:54px;height:auto;flex-wrap:wrap;gap:8px;padding:6px 10px}.font-canvas-toolbar button{min-height:44px}.font-canvas-toolbar>div:first-child button{width:44px}.font-pen-tools button,.font-pen-tools select,.font-pen-tools summary{min-height:38px}.font-studio-workspace{height:calc(100dvh - 59px)}}@media(max-width:780px){.font-studio-workspace{height:auto}.font-canvas-toolbar{height:auto;min-height:47px;flex-wrap:wrap;padding-block:6px;gap:6px}}@media(max-width:520px){.font-pen-options-panel{grid-template-columns:1fr;gap:10px}.font-pen-options p{grid-column:1}}.theme-dark .font-pen-tools{color:#d1d5db;border-color:var(--line)}.theme-dark .font-tool-group{background:transparent}.theme-dark .font-pen-tools button,.theme-dark .font-pen-tools select,.theme-dark .font-pen-tools summary{color:#d1d5db;background-color:transparent}.theme-dark .font-pen-input select{background-color:var(--control-surface)}.theme-dark .font-pen-tools button[aria-pressed=true]{border-bottom-color:var(--green);background:transparent;color:var(--green)}.theme-dark .font-pen-options p{color:#a1a1aa}.font-drawing-canvas{width:min(100%,51.69vh,615px);height:auto}@media(max-width:780px){.font-drawing-canvas{width:100%}}.notebook-glyph-import{display:grid;gap:12px;padding:18px;border:1px solid var(--border-color, #d7dce2);border-radius:12px;margin-top:16px}.notebook-glyph-import label{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}.notebook-source{display:block;width:auto;height:auto;max-width:100%;max-height:420px;justify-self:center;cursor:crosshair}.notebook-trace{width:100%;height:160px;background:#fff;border:1px solid #d7dce2}:root{--surface-workspace: #ffffff;--surface-panel: #f7f7f8;--surface-raised: #ffffff;--control-surface: color-mix( in srgb, var(--surface-raised) 95%, var(--text-primary) );--control-hover: color-mix( in srgb, var(--surface-raised) 90%, var(--text-primary) );--text-primary: #0d0d0d;--text-secondary: #68686d;--muted: var(--text-secondary);--line: #dedede;--green: #237a35;--green-dark: #1c652b;--accent-soft: #e8f5eb;--accent-border: #77a87e;--on-accent: #ffffff;--danger: #a53232;--danger-soft: #f7e7e5;--warning: #815519;--warning-soft: #f5eddd;--overlay: rgb(0 0 0 / .42);--control-radius: 4px;--panel-radius: 0px;--motion-fast: .16s;--motion-panel: .26s;--motion-ease: cubic-bezier(.2, .65, .3, 1);--panel: var(--surface-panel)}:root.theme-dark{--surface-workspace: #111111;--surface-panel: #1b1b1b;--surface-raised: #252525;--control-surface: color-mix( in srgb, var(--surface-raised) 95%, var(--text-primary) );--control-hover: color-mix( in srgb, var(--surface-raised) 90%, var(--text-primary) );--text-primary: #fcfcfc;--text-secondary: #b8b8b8;--line: #3b3b3b;--green: #54b45d;--green-dark: #6ac473;--accent-soft: #1d2d20;--accent-border: #54875b;--on-accent: #0d0d0d;--danger: #f0aaa4;--danger-soft: #472e2c;--warning: #e4c18b;--warning-soft: #413728;--overlay: rgb(0 0 0 / .66);--panel: var(--surface-panel)}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important}:is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--green);outline-offset:3px}button,a,summary{-webkit-tap-highlight-color:transparent}button,input,select,textarea{transition:background-color .16s ease,color .16s ease,border-color .16s ease}button:disabled{cursor:default}summary{cursor:pointer}.workspace,.preview-panel,.font-studio,.gcode-viewer{background-color:var(--surface-workspace)}.font-studio{display:flex;flex-direction:column;height:100dvh;min-height:0}.editor-panel,.settings-panel,.font-character-panel,.font-studio-toolbar{background:var(--surface-panel);color:var(--text-primary)}.settings-section,.font-character-panel,.font-canvas-panel,.font-live-preview{border:0}:root .font-studio :is(.font-character-panel,.font-canvas-panel,.font-live-preview){border:0}.settings-section{margin:4px 0;border-radius:0;background:transparent}.settings-section>summary{padding:16px;font-size:13px;font-weight:650}.settings-section[open]>summary,.settings-section>summary:hover{background:transparent;color:var(--text-primary)}.settings-content{padding:0 16px 20px}.settings-content small,.setting-hint{font-size:12px;line-height:1.55;color:var(--text-secondary)}.settings-content input:not([type=range]):not([type=checkbox]),.settings-content select{background:var(--surface-raised);border-color:transparent;color:var(--text-primary)}.settings-subgroup{border:0;padding:16px 0 0}.settings-subgroup h3{font-size:13px}.font-studio .font-canvas-panel,.font-studio .font-live-preview{background:var(--surface-raised);color:var(--text-primary)}.font-studio .font-character-panel{background:var(--surface-panel)}.font-studio .font-character-grid button{border-color:transparent;background:transparent;color:var(--text-primary)}.font-studio .font-character-grid button.active{background:var(--accent-soft);color:var(--green-dark)}.font-studio .font-studio-main{display:flex;flex-direction:column;overflow:auto;padding-bottom:24px}.font-studio .font-studio-toolbar{height:auto;min-height:59px;display:flex;flex-wrap:wrap;gap:12px 18px;padding-block:10px}.font-studio .font-name-field{flex:1 1 200px;max-width:320px}.font-studio .font-studio-actions{margin-left:auto;flex-wrap:wrap}.font-studio .font-studio-workspace{flex:1;min-height:0;height:auto}.font-studio .font-canvas-panel,.font-studio .font-live-preview{flex:0 0 auto;overflow:visible}.font-studio-actions button,.font-canvas-toolbar button,.studio-detail button{min-height:34px}.font-studio .font-studio-actions button,.font-studio .font-canvas-toolbar button{border:0;background:transparent}.font-studio .font-studio-actions button:hover:not(:disabled),.font-studio .font-canvas-toolbar button:hover:not(:disabled){background:var(--control-surface)}.font-studio :is(.font-studio-actions,.font-canvas-toolbar,.font-pen-tools,.variant-toolbar) button:disabled{opacity:.32;color:var(--text-secondary)}.font-studio .font-studio-actions button.primary{color:var(--green);background:transparent}.font-studio .font-studio-actions button.danger{color:#d4524b;background:transparent}.font-studio .font-drawing-canvas{display:block;margin-inline:auto}.studio-detail{padding:14px 0;min-width:0;color:var(--text-primary)}.studio-detail>summary{font-weight:650;font-size:13px;line-height:1.5;padding:4px 0}.studio-detail p{color:var(--text-secondary);font-size:12px;line-height:1.6;margin:12px 0}.studio-detail[open]>:not(summary){animation:content-enter .18s ease-out}.font-canvas-panel>.studio-detail{padding:14px 20px}.studio-control-row{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}.studio-control-row label,.studio-detail>label{display:grid;gap:6px;font-size:12px;min-width:0}.studio-control-row input,.studio-control-row select,.studio-detail select{min-height:34px;max-width:100%;padding:6px 10px;border:0;border-radius:var(--control-radius);background:var(--surface-panel);color:var(--text-primary)}.studio-control-row input{width:100px}.studio-control-row button,.studio-detail>button{padding:8px 12px;border:0;border-radius:var(--control-radius);background:var(--surface-panel);color:var(--text-primary);font-size:12px}.studio-control-row button[aria-pressed=true]{background:var(--accent-soft);color:var(--green-dark)}.variant-toolbar{display:flex;align-items:center;gap:12px;margin:0;min-height:46px;padding:7px 12px;background:var(--surface-panel)}.variant-toolbar label{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:10px;font-weight:650}.variant-toolbar select,.variant-toolbar button{height:30px;min-height:30px;border:0;border-radius:var(--control-radius);padding:0 10px;color:var(--text-primary);background:var(--surface-raised);font-size:11px;font-weight:650}.variant-toolbar select{min-width:132px}.variant-actions{display:inline-flex;gap:6px;padding:0;background:transparent}.variant-actions button{background:transparent}.variant-actions button:not(:disabled):hover{background:var(--control-hover)}.variant-delete:not(:disabled){color:#b23a35}.variant-position{margin-left:auto}.variant-position select{min-width:116px}.path-editor{display:block;width:100%;max-height:350px;touch-action:none;background:var(--surface-panel);border-radius:0}.path-node{fill:var(--surface-raised);stroke:var(--green);stroke-width:1.2;cursor:grab}.path-node:focus-visible{stroke-width:3;outline:none}.form-audit{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;line-height:1.6}.document-preset{display:grid;gap:5px;width:100%;padding:12px;text-align:left;border:0;border-radius:0;background:var(--surface-raised);color:var(--text-primary);margin-block:8px}.document-preset small{font-weight:400}.calibration-sheet-preview{display:block;width:100%;background:#fff;color:#26362b;margin:12px 0;border-radius:0}.settings-panel .font-drawing-canvas{display:block;width:100%;height:auto;aspect-ratio:640 / 520;touch-action:none}.gcode-scene canvas{filter:none}@keyframes content-enter{0%{opacity:.2;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:780px){.font-studio{height:auto;min-height:100dvh}.font-studio .font-studio-toolbar{height:auto;min-height:60px;padding-block:12px}.studio-control-row{gap:8px}.variant-toolbar{align-items:center;flex-wrap:wrap}.variant-position{margin-left:0}}:root{color:var(--text-primary);background:var(--surface-workspace)}body,#root,.app{color:var(--text-primary);background:var(--surface-workspace)}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog){font-size:13px;line-height:1.5}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) :where(button,select,input:not([type=range]):not([type=checkbox]),textarea){border-color:transparent;border-radius:var(--control-radius);color:var(--text-primary);background-color:var(--surface-raised);transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,opacity var(--motion-fast) ease}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button{border-width:0;min-height:36px;font-size:13px;font-weight:500;cursor:pointer}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button:hover:not(:disabled){background:var(--control-hover)}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button:active:not(:disabled){transform:none;background:var(--control-surface)}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button:disabled{opacity:.46;cursor:default}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button.primary{background:var(--green);color:var(--on-accent);font-weight:600}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button.primary:hover:not(:disabled){background:var(--green-dark)}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button.danger{color:var(--danger);background:var(--danger-soft)}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) .text-button{color:var(--green);background:transparent}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) :is(button,select,input,textarea,summary,a):focus-visible{outline:2px solid var(--green);outline-offset:3px}:root :is(.settings-panel,.workshop-inspector,.font-studio,.gcode-viewer,.expanded-editor,.block-inspector,.calibration-dialog) :is(label,small){color:var(--text-secondary)}:root :is(.field,.range-control,.toggle-row,.workshop-field,.workshop-check,.workshop-checklist){font-size:12px;line-height:1.55;color:var(--text-secondary)}:root :is(.settings-content,.workshop-section,.studio-detail,.photo-import-options) :is(p,small){font-size:12px;line-height:1.65;color:var(--text-secondary)}:root :is(.settings-subgroup h3,.workshop-section h2,.workshop-section summary,.font-character-panel-title strong,.font-canvas-toolbar strong,.control-heading output){font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-primary)}:root :is(.font-studio,.gcode-viewer,.expanded-editor,.calibration-dialog) strong{color:var(--text-primary)}:root :is(.settings-content,.workshop-section) input:not([type=range]):not([type=checkbox]),:root :is(.settings-content,.workshop-section) select{height:36px;font-size:13px;border:0}:root :is(.workspace-navigation,.workshop-toolbar,.workshop-canvas-toolbar,.panel-title,.font-studio-toolbar,.font-canvas-toolbar,.font-preview-toolbar,.gcode-viewer-header,.gcode-preview-toolbar,.gcode-source-panel>header,.settings-drawer-header,.expanded-editor>header,.expanded-editor-toolbar,.expanded-editor>footer){border:0;background:var(--surface-panel);color:var(--text-primary)}:root :is(.workspace-navigation,.workshop-toolbar,.workshop-canvas-toolbar,.document-toolbar,.font-studio-toolbar,.font-canvas-toolbar,.font-preview-toolbar,.gcode-viewer-header,.gcode-preview-toolbar,.editor-title-actions,.expanded-editor-toolbar) :is(button:where(:not(.primary):not(.danger)),a){background:transparent;color:var(--text-secondary);text-decoration:none}:root :is(.workspace-navigation,.workshop-tabs,.source-tabs,.font-pen-tools,.plotter-family-tabs) button:is([aria-pressed=true],[aria-selected=true],.active,.selected){color:var(--text-primary);background:var(--surface-raised);font-weight:600}:root .workspace-navigation{gap:24px;padding-inline:22px}:root .workspace-navigation>strong{font-size:14px;letter-spacing:-.3px}:root .workspace-navigation button{font-size:12px;min-height:32px}:root .source-tabs{padding:3px;background:var(--surface-workspace)}:root .source-tabs button{min-height:28px}:root .workshop-toolbar{padding:18px 24px;min-height:82px}:root .workshop-toolbar input{background:transparent;border:0;font-size:20px;font-weight:600;letter-spacing:-.5px;padding:0}:root .workshop-toolbar .workshop-buttons{gap:8px}:root .workshop-canvas-toolbar{min-height:56px;padding-inline:16px}:root .workshop-tabs{padding:10px 12px;gap:4px}:root .workshop-tabs button{padding-inline:14px}:root .gcode-viewer-header{display:flex;flex-wrap:wrap;padding:16px 20px;gap:16px}:root .gcode-viewer-actions{margin-left:auto;flex-wrap:wrap;gap:8px}:root .gcode-viewer-title strong{font-size:17px}:root .gcode-viewer-title span,:root .gcode-viewer-stats{font-size:12px}:root .gcode-viewer-stats strong{font-size:12px}:root .font-studio-toolbar{min-height:76px;padding:14px 20px;gap:16px}:root .font-studio-toolbar>a{font-size:13px;font-weight:500}:root .font-name-field{background:transparent;border:0;height:auto;padding:0}:root .font-name-field span{font-size:12px;font-weight:400}:root .font-name-field input{background:var(--surface-raised);font-size:15px;font-weight:600;height:36px;padding-inline:12px}:root .font-studio-progress :is(span,strong){font-size:12px}:root :is(.editor-panel,.settings-panel,.workshop-inspector,.font-character-panel,.gcode-source-panel){border:0;background:var(--surface-panel);color:var(--text-primary)}:root :is(.settings-panel .settings-section,.settings-panel .integrated-plotter-settings .settings-section,.workshop-section,.settings-subgroup,.settings-content,.machine-monitor,.font-character-panel-title,.font-character-group+.font-character-group){border:0;background:transparent}:root .settings-panel .settings-section{margin:0}:root :is(.settings-panel,.workshop-inspector) .settings-section>summary{padding:14px 20px;height:auto;min-height:48px;color:var(--text-primary);font-weight:600;background:transparent}:root .settings-section[open]>summary:before{display:none}:root .settings-panel .settings-content{padding:0 20px 24px;gap:16px}:root .settings-subgroup{gap:14px;padding-top:24px}:root .workshop-section{padding:20px}:root .workshop-section+.workshop-section{padding-top:14px}:root .settings-panel{top:12px;bottom:12px;right:12px;border-radius:0}:root .settings-drawer-header{border:0;border-radius:0}:root .editor-panel{padding-bottom:8px}:root .editor-panel .panel-title{flex-wrap:wrap;height:auto;min-height:64px;padding:12px 16px;gap:8px}:root .editor-title-actions{flex-wrap:wrap;gap:4px}:root .editor-title-actions button{min-width:34px;height:34px;min-height:34px;font-size:12px}:root .markdown-editor{margin:0 10px;width:calc(100% - 20px);padding:20px;background:var(--surface-raised);color:var(--text-primary);border:0;border-radius:0;line-height:1.75}:root .toggle-block,:root .toggle-block.is-on{border:0;background:transparent;padding:4px 0}:root .toggle-row{color:var(--text-primary);font-weight:500}:root .toggle-row i{background:var(--line)}:root .toggle-row input:checked+i{background:var(--green)}:root .toggle-row i:after{background:var(--on-accent)}:root :is(.font-picker-group button,.custom-gfont-grid button,.font-character-grid button){border:0;background:transparent;color:var(--text-primary)}:root :is(.font-picker-group button.selected,.custom-gfont-grid button.selected,.font-character-grid button.active){background:var(--accent-soft);color:var(--green)}:root .font-character-grid button{font-size:18px}:root .font-character-group>div:first-child :is(strong,small){color:var(--text-secondary);font-size:12px}:root .font-character-list{padding:0 16px 16px}:root .font-character-panel-title{padding:16px;height:auto}:root .font-character-panel-title span{font-size:12px}:root :is(.naturalness-report,.naturalness-repeats>span,.plotter-imported-job,.plotter-card,.plotter-advanced,.document-preset,.photo-import-options article){border:0;border-radius:0;background:var(--surface-raised);color:var(--text-primary)}:root :is(.setting-help,.plotter-help){border:0;background:var(--surface-raised);color:var(--text-secondary)}:root :is(.plotter-help>[role=tooltip],.block-inspector){border:1px solid var(--line);background:var(--surface-raised);color:var(--text-primary);border-radius:10px}:root :is(.plotter-selected-font,.plotter-profile-meta,.plotter-imported-job small,.plotter-caption,.control-heading output){color:var(--text-secondary)}:root :is(.workspace,.preview-panel,.plotter-workshop,.workshop-main,.font-studio-workspace,.font-studio-main,.gcode-preview-panel,.expanded-editor-body){background:var(--surface-workspace)}:root .workshop-inspector{border-radius:0}:root .workshop-main{border-radius:0;overflow:auto}:root .workshop-canvas{padding:28px}:root .workshop-canvas svg{color:var(--text-secondary)}:root :is(.preview-leading-actions,.preview-job-stats,.preview-job-stats>span,.preview-sheet-status>i){border:0;background:transparent}:root .preview-job-stats{gap:12px}:root .preview-job-stats>span{min-width:50px;padding:0 2px}:root .preview-job-stats strong{color:var(--text-primary);font-size:11px}:root .preview-job-stats small{color:var(--text-secondary);font-size:10px}:root .paper{outline:none}:root .font-studio-main{gap:16px;padding:16px}:root :is(.font-canvas-panel,.font-live-preview){border:0;border-radius:0;background:var(--surface-raised);overflow:hidden}:root .font-canvas-toolbar,:root .font-preview-toolbar{padding:12px 16px;gap:12px;min-height:56px}:root .variant-toolbar{background:var(--surface-panel);padding:8px 16px;flex-wrap:wrap}.font-preview-variation{display:grid;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--line)}.font-preview-variation>span{font-weight:600}.font-preview-variation>small{color:var(--text-secondary);line-height:1.5}:root .variant-toolbar label{font-size:12px}:root .font-preview-svg path{stroke:var(--text-primary)}:root .font-preview-svg>line{stroke:var(--line)}:root .gcode-source-panel pre,:root .workshop-code{color:var(--text-primary);background:var(--surface-raised)}:root .gcode-source-panel code:hover{background:var(--control-hover)}:root .gcode-source-panel code i{color:var(--text-secondary)}:root .gcode-dropzone{border:0;background:var(--surface-panel);color:var(--text-primary);border-radius:0}:root .gcode-dropzone :is(span,small),:root .gcode-empty-preview{color:var(--text-secondary);font-size:13px}:root .gcode-preview-toolbar label{font-size:12px;color:var(--text-secondary)}:root .gcode-viewer-workspace{gap:12px;padding:0 12px 12px}:root :is(.gcode-preview-panel,.gcode-source-panel){border-radius:0;overflow:hidden}:root :is(.workshop-statistics,.workshop-run,.integrated-plotter-footer,.plotter-console,.plotter-imported-summary){border:0;background:var(--surface-panel)}:root .workshop-statistics{font-size:12px;padding:12px 20px 4px}:root .workshop-run{padding:12px 20px 18px}:root .workshop-checklist{gap:16px;margin-bottom:16px}:root .workshop-run-actions{gap:8px}:root .workshop-run>small{font-size:12px}:root .workshop-run button.danger{margin-left:auto}:root .integrated-plotter-footer{border-radius:0;padding:16px}:root :is(.plotter-note,.gcode-viewer-warning.neutral){border:0;background:var(--surface-panel);color:var(--text-secondary)}:root :is(.plotter-warning,.calibration-warning,.gcode-viewer-warning){border:0;background:var(--warning-soft);color:var(--warning);font-size:12px}:root :is(.plotter-error,.calibration-error,.save-notice.error){border:0;background:var(--danger-soft);color:var(--danger);font-size:12px}:root :is(.calibration-verification,.photo-import-status,.save-notice.success){border:0;background:var(--accent-soft);color:var(--green)}:root :is(.expanded-editor-backdrop,.photo-import-backdrop,.calibration-backdrop){background:var(--overlay);backdrop-filter:none;-webkit-backdrop-filter:none}:root :is(.expanded-editor,.photo-import-dialog,.calibration-dialog){background:var(--surface-panel);border:0;border-radius:6px;color:var(--text-primary);animation:surface-enter var(--motion-panel) var(--motion-ease)}:root :is(.expanded-editor,.photo-import-dialog,.calibration-dialog)>:is(header,footer){border:0}:root .expanded-editor-body textarea{background:var(--surface-raised);color:var(--text-primary);border:0}:root .expanded-editor-body aside{border:1px solid var(--line);background:var(--surface-raised);color:var(--text-primary)}:root :is(.editor-help-heading strong,.editor-help-group h3,.photo-import-options article>b){color:var(--text-primary)}:root :is(.editor-help-list code,.expanded-editor>footer kbd){border:0;background:var(--surface-panel);color:var(--text-secondary)}:root :is(.save-notice,.font-studio-notice){border:1px solid var(--line);background:var(--surface-raised);color:var(--text-primary);font-size:13px;padding:14px 18px;border-radius:6px;animation:surface-enter var(--motion-panel) var(--motion-ease)}:root .view-loading{color:var(--text-secondary);background:var(--surface-workspace)}@keyframes surface-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}:root :is(.workshop-section,.settings-section,.studio-detail)[open]>:not(summary){animation:content-enter .22s var(--motion-ease)}:root .preview-icon-button:active{transform:none}@media(max-width:820px){:root .gcode-viewer-header{gap:12px}:root .gcode-viewer-actions{margin-left:0}:root .gcode-viewer-workspace{overflow:auto}:root .font-studio-toolbar{padding:12px}}@media(max-width:600px){:root .workspace-navigation{padding-inline:12px;gap:10px}:root .workspace-navigation button{font-size:11px;padding-inline:8px}:root .workshop-toolbar{padding:16px}:root .workshop-body{gap:0;padding:0}:root .workshop-canvas{padding:16px}:root .workshop-run-actions{display:grid;grid-template-columns:1fr 1fr}:root .workshop-run button.danger{margin-left:0}:root .workshop-canvas-toolbar{padding:8px;gap:8px}:root .workshop-statistics{gap:10px}:root :is(.expanded-editor,.photo-import-dialog,.calibration-dialog){border-radius:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) :is(button,input,select,textarea){border:1px solid ButtonText}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) button:is([aria-pressed=true],[aria-selected=true],.active,.selected){outline:2px solid Highlight}}:root :is(.app,.font-studio,.gcode-viewer,.expanded-editor,.photo-import-dialog,.calibration-dialog) .appearance-control{border:0;background:transparent;color:var(--text-secondary);font-size:12px;height:32px;padding:4px 8px;max-width:150px}:root .workspace-navigation>.appearance-control{margin-left:auto}@media(max-width:600px){:root .workspace-navigation{height:auto;min-height:48px;flex-wrap:wrap;padding-block:8px}:root .workspace-navigation>.appearance-control{max-width:130px}}:root .with-workspace-nav{display:flex;flex-direction:column;height:100dvh;min-height:0}:root .with-workspace-nav>:is(.workspace,.plotter-workshop){flex:1;min-height:0;height:auto}:root .workspace-navigation{flex-shrink:0}@media print{:root .with-workspace-nav{display:block;height:auto}}:root .plotter-playback-controls{border:0;background:transparent;padding:8px 0}:root .plotter-playback-controls output,:root .plotter-arm{color:var(--text-secondary);font-size:12px}:root .plotter-preflight{gap:12px;font-size:12px}:root .plotter-preflight span{padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary)}:root .plotter-preflight .pass{color:var(--green)}:root .plotter-preflight .warning{color:var(--warning)}:root .plotter-imported-job strong{color:var(--text-primary);font-size:12px}:root .plotter-imported-job small{color:var(--text-secondary);font-size:12px}:root .plotter-console summary{color:var(--text-secondary)}:root .plotter-console>div{background:var(--surface-raised)}:root .plotter-console code{color:var(--text-primary);font-size:12px}:root .toggle-row i:after{background:#fff}:root .workshop-tabs button{background:transparent;color:var(--text-secondary)}:root .workshop-tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--text-primary)}:root .workspace-navigation button[aria-pressed=true]{background:var(--surface-raised)}:root .font-pen-tools{background:var(--surface-panel);border:0;padding:8px 16px}:root .font-studio .font-pen-tools button[aria-pressed=true]{background:var(--accent-soft);color:var(--green);border:0;border-radius:var(--control-radius)}:root .font-preview-toolbar :is(label,label>span,input:not([type=range]),output){font-size:12px}:root .workshop-canvas-toolbar .workshop-buttons button{display:inline-flex;align-items:center;justify-content:center;min-width:36px}:root .photo-import-dialog>header h2{font-size:18px;font-weight:600;margin:0}:root .photo-import-dialog>header{align-items:center;padding-bottom:0}:root .gcode-dropzone{flex:0 1 360px;min-height:280px;margin:auto}:root .gcode-paper{stroke:none}@media(max-width:780px){:root .font-studio{height:100dvh;min-height:0}:root .font-studio-workspace{display:block;min-height:0;overflow:auto}:root .font-character-panel{max-height:240px}:root .font-studio-main{overflow:visible}}@media(max-width:600px){:root .workshop-body{flex-direction:column}:root .workshop-main{order:-1}}:root :is(.settings-panel,.workshop-inspector) .integrated-plotter-settings>.studio-detail{padding:16px 20px}:root .machine-monitor{padding:20px}:root .workspace-navigation{min-height:56px;flex-wrap:wrap;column-gap:20px;row-gap:0;padding-block:8px}:root .workspace-navigation>.appearance-control{order:2}:root .document-toolbar-host{order:3;flex:1 1 100%;min-width:0;padding-top:6px}:root .document-toolbar-host[hidden],:root .document-toolbar-host:empty{display:none}:root .document-toolbar{display:flex;align-items:center;gap:8px 16px;min-height:40px;padding:0;color:var(--text-primary);background:transparent}:root .document-toolbar .preview-leading-actions{padding:0;gap:4px}:root .document-toolbar .preview-context{display:flex;gap:14px;flex:0 0 auto;margin-right:0}:root .document-toolbar .preview-sheet-status{font-size:12px}:root .document-toolbar .plotter-status{font-size:12px;gap:6px}:root .document-toolbar .preview-job-stats{gap:18px;padding:0;margin-left:auto;justify-content:flex-end}:root .document-toolbar .preview-job-stats>span{height:auto;min-width:0;padding:0;gap:3px}:root .document-toolbar .preview-job-stats strong{font-size:12px;line-height:1.25}:root .document-toolbar .preview-job-stats small{display:block;font-size:10px;line-height:1.25}:root .document-toolbar :is(.preview-icon-button,.settings-toolbar-toggle){width:34px;height:34px;min-height:34px;flex:0 0 34px;display:inline-grid;place-items:center;padding:0}:root .document-toolbar .placement-toggle{width:auto;font-size:12px;white-space:nowrap}:root .document-toolbar .layout-select{width:auto;min-width:108px;height:34px}@media(min-width:1600px){:root .document-toolbar-host{order:1;flex:1 1 700px;padding-top:0}:root .workspace-navigation>.appearance-control{margin-left:0}}@media(max-width:800px){:root .document-toolbar{gap:8px}:root .document-toolbar .preview-context{flex:1 1 auto;flex-wrap:wrap;gap:8px}:root .document-toolbar .preview-job-stats{order:5;flex-basis:100%;justify-content:flex-start;gap:20px;padding-bottom:4px}}:root :is(.settings-panel,.workshop-inspector) .pen-calibration-body{display:grid;gap:16px;min-width:0}:root .pen-calibration-body>p{margin:0}:root .pen-calibration-figure{margin:0;min-width:0}:root .pen-calibration-figure .calibration-sheet-preview{width:100%;height:auto;margin:0;padding:8px;border-radius:0}:root .pen-calibration-figure figcaption{color:var(--text-secondary);font-size:12px;line-height:1.5;margin-top:8px}:root .pen-calibration-body>button{width:100%;min-height:38px}:root .pen-calibration-body .field{margin:0;gap:8px}:root .pen-calibration-notice{color:var(--green);font-size:12px}:root .document-toolbar{width:100%;min-width:0}:root .with-workspace-nav{overflow:hidden}@media print{:root .with-workspace-nav{overflow:visible}}:root .workshop-body{gap:0}:root .workshop-inspector{border-right:1px solid var(--line)}:root .workshop-toolbar{min-height:48px;padding:8px 16px;gap:12px}:root .workshop-toolbar input{font-size:14px;font-weight:500;letter-spacing:0;max-width:280px;padding:6px 0}:root .workshop-toolbar .workshop-buttons{gap:6px}:root .workshop-toolbar .workshop-buttons button{background:var(--surface-raised);border:1px solid var(--line);min-height:32px;padding:5px 10px;font-size:12px}:root .workshop-empty{margin:auto;padding:0}:root .source-tabs{padding:0;gap:4px;border:0;background:transparent;border-radius:0}:root .source-tabs button{min-width:48px;height:32px;min-height:32px;padding:0 10px;border:0;border-radius:var(--control-radius);font-size:12px;font-weight:500}:root .source-tabs button:not(.active){color:var(--text-secondary);background:transparent}:root .source-tabs button.active{color:var(--text-primary);background:var(--control-hover)}:root .settings-panel{top:0;right:0;bottom:0}:root .integrated-plotter-footer{margin-bottom:0;margin-left:0;padding:14px 16px}:root .plotter-playback-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0}:root .plotter-playback-controls select{width:64px}:root .plotter-playback-controls output{min-width:40px}:root .plotter-imported-job{background:transparent;padding:12px 0;gap:12px}:root .plotter-note{background:transparent;padding:4px 0}:root :is(.pages-viewport,.integrated-plotter-footer){scrollbar-width:none}:root :is(.pages-viewport,.integrated-plotter-footer)::-webkit-scrollbar{display:none}@media(max-width:600px){:root .workshop-toolbar>div:first-child{width:auto;flex:1 1 160px}}:root .integrated-plotter-footer .plotter-imported-job{background:transparent;padding:8px 0;display:flex;flex-direction:column;align-items:stretch}:root .integrated-plotter-footer .plotter-imported-actions{flex-direction:row;justify-content:flex-start}:root .workspace-navigation{min-height:52px;height:auto;flex-wrap:nowrap;padding:6px 14px;gap:12px}:root .workspace-navigation>.workspace-switcher{flex:0 0 auto;order:0;gap:4px}:root .workspace-navigation>.document-toolbar-host{order:0;flex:1 1 0;min-width:0;padding:0}:root .workspace-navigation>.appearance-control{order:0;flex:0 0 auto;margin:0;max-width:128px;font-size:11px}:root .document-toolbar{flex-wrap:nowrap;min-height:38px;gap:8px}:root .document-toolbar .preview-context{gap:8px}:root .document-toolbar .preview-sheet-status{font-size:11px}:root .document-toolbar .preview-job-stats{flex:1 1 auto;gap:12px}:root .document-toolbar .preview-job-stats strong{font-size:11px}:root .document-toolbar .layout-select{min-width:96px}:root .document-toolbar-host .workshop-toolbar{min-height:38px;padding:0;width:100%;flex-wrap:nowrap;gap:12px}:root .document-toolbar-host .workshop-toolbar>div:first-child{flex:1 1 140px;min-width:80px;width:auto}:root .document-toolbar-host .workshop-toolbar input{width:100%;max-width:240px}:root .document-toolbar-host .workshop-toolbar .workshop-buttons{flex-wrap:nowrap;flex:0 0 auto}:root .workshop-main,:root .workshop-inspector{margin:0;padding:0}:root .workshop-body{column-gap:0;row-gap:0;padding:0}@media(min-width:1100px)and (max-width:1350px){:root .document-toolbar .placement-toggle{width:30px;min-width:30px;padding:0;font-size:0}:root .document-toolbar .placement-toggle span{font-size:16px}:root .document-toolbar .preview-job-stats{gap:8px}}@media(max-width:1099px){:root .workspace-navigation:has(.document-toolbar){flex-wrap:wrap}:root .workspace-navigation:has(.document-toolbar)>.appearance-control{order:1;margin-left:auto}:root .workspace-navigation:has(.document-toolbar)>.document-toolbar-host{order:2;flex-basis:100%}}@media(max-width:800px){:root .workspace-navigation{flex-wrap:wrap}:root .workspace-navigation>.appearance-control{order:1;margin-left:auto}:root .workspace-navigation>.document-toolbar-host{order:2;flex-basis:100%}:root .document-toolbar{flex-wrap:wrap}:root .document-toolbar .preview-job-stats{order:5;flex-basis:100%}}@keyframes workspace-enter{0%{opacity:.45}to{opacity:1}}:root .with-workspace-nav>:is(.workspace,.plotter-workshop),:root .workshop-inspector>:is(fieldset,.integrated-plotter-settings),:root :is(.workshop-canvas,.workshop-code){animation:workspace-enter .2s var(--motion-ease)}:root .document-toolbar,:root .document-toolbar-host .workshop-toolbar{animation:workspace-enter .16s var(--motion-ease)}:root :is(.workshop-inspector,.settings-panel){overflow-x:hidden;overflow-y:auto;min-width:0}:root :is(.workshop-inspector,.settings-panel) .integrated-plotter-settings{min-width:0;max-width:100%}:root .integrated-plotter-settings :is(.field,.range-control,.page-format-field){position:relative;min-width:0}:root .integrated-plotter-settings :is(input,select,textarea){min-width:0;max-width:100%}:root .integrated-plotter-settings .plotter-help{position:static}:root .integrated-plotter-settings .plotter-help>[role=tooltip]{display:none;left:0;right:auto;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}:root .integrated-plotter-settings .plotter-help:is(:hover,:focus-visible)>[role=tooltip]{display:block}:root .integrated-plotter-settings .plotter-actions{flex-wrap:wrap}:root .integrated-plotter-settings .plotter-actions>.button{flex:1 1 96px;min-width:0;white-space:normal}:root .integrated-plotter-settings .toggle-row{grid-template-columns:minmax(0,1fr) auto;min-width:0}:root .integrated-plotter-settings .toggle-row>span{min-width:0;overflow-wrap:anywhere}.plotter-sheet-options{display:flex;flex-wrap:wrap;align-items:end;gap:8px 16px;margin-bottom:10px}.plotter-sheet-options label{display:grid;gap:4px;color:var(--text-secondary);font-size:12px}.plotter-sheet-options select{padding:6px 8px;min-height:32px}.paper-change-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;border:1px solid var(--line);padding:24px;color:var(--text-primary);background:var(--surface-panel);font:13px/1.6 system-ui,sans-serif}.paper-change-dialog::backdrop{background:var(--overlay)}.paper-change-dialog h2{margin:0 0 14px;font-size:20px}.paper-change-dialog>header{position:sticky;top:-24px;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:-24px -24px 16px;padding:16px 20px;background:var(--surface-panel);border-bottom:1px solid var(--line)}.paper-change-dialog>header h2{flex:1;margin:0}.paper-change-dialog p{margin:10px 0}.paper-change-dialog label{display:flex;align-items:start;gap:10px;margin:20px 0}.paper-change-dialog label input{flex-shrink:0;margin-top:5px}.paper-change-dialog>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.paper-change-dialog button{background:var(--surface-raised);color:var(--text-primary);border:0;border-radius:4px}.paper-change-dialog button.primary{background:var(--green);color:var(--on-accent)}@media print{.paper-change-dialog{display:none!important}}:root .document-toolbar{flex-wrap:wrap}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-section{margin:8px 10px;background:var(--surface-raised);border-radius:4px;overflow:hidden}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-section>summary{padding:14px 16px}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-section>.settings-content{padding:4px 16px 18px;gap:14px}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-content .settings-section{margin:2px 0;background:var(--surface-panel)}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-content .settings-section>summary{font-size:13px;padding:12px;min-height:40px}:root :is(.settings-panel.settings-panel,.workshop-inspector.workshop-inspector) .settings-content .settings-section>.settings-content{padding:2px 12px 16px}:root .pages-viewport{background:#e9e9eb}:root.theme-dark .pages-viewport{background:#111}:root .panel-resize-handle{width:6px;cursor:col-resize;touch-action:none;background:transparent;z-index:25;outline-offset:-2px;transition:background-color .14s ease}:root .panel-resize-handle:hover,:root .panel-resize-handle:focus-visible{background:var(--accent-soft)}:root .document-resize-handle{position:absolute;top:0;bottom:0;right:var(--settings-panel-size)}:root .settings-panel{border-left:0}:root .workshop-body{grid-template-columns:var(--inspector-width, 320px) 6px minmax(0,1fr)}:root .workshop-inspector{border-right:0}:root .integrated-plotter-settings{margin:0;padding:0;border:0}:root .integrated-plotter-settings>fieldset{display:contents}:root .integrated-plotter-footer{padding:8px 12px}:root .integrated-plotter-footer.is-collapsed{min-height:40px;max-height:54px;overflow:hidden}.plotter-footer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}:root .plotter-footer-heading>button:first-child{background:transparent;padding:4px 0;min-height:28px;font-size:12px;text-align:left}.plotter-footer-body{display:grid;gap:10px;padding-top:8px}.plotter-footer-body[hidden]{display:none}:root .plotter-footer-body>:is(p,div,details){margin-top:0;margin-bottom:0}:root .plotter-footer-body .plotter-sheet-options{gap:12px;align-items:end}:root .plotter-footer-body .plotter-note{font-size:12px;line-height:1.45}:root .settings-section[open]>.settings-content,.plotter-footer-body:not([hidden]){animation:panel-content-enter .18s ease-out}@keyframes panel-content-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@supports (interpolate-size: allow-keywords){:root .settings-section{interpolate-size:allow-keywords}:root .settings-section::details-content{block-size:0;overflow:clip;transition:block-size .18s ease,content-visibility .18s allow-discrete}:root .settings-section[open]::details-content{block-size:auto}}@media(max-width:700px){:root .panel-resize-handle{display:none}:root .workshop-body{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){:root .settings-section::details-content{transition:none}:root .settings-section[open]>.settings-content,.plotter-footer-body:not([hidden]){animation:none}}.workshop-run-body{display:grid;gap:10px}.workshop-run-body[hidden]{display:none}:root .workshop-inspector.workshop-inspector .workshop-section{background:var(--surface-raised);margin:8px 10px;padding:14px;border-radius:4px}:root .workshop-tabs{padding:8px 10px;border-bottom:0;gap:6px}:root .workshop-tabs button{min-height:34px;font-size:13px}:root .integrated-plotter-footer .plotter-footer-heading{position:sticky;top:-8px;z-index:2;background:var(--surface-panel)}:root .integrated-plotter-footer{margin-right:var(--settings-panel-width, 0px)}:root .preview-panel{background:var(--surface-panel)}:root .settings-panel.settings-panel .studio-detail:has(>.document-preset){padding:12px;background:var(--surface-panel);border-radius:4px}:root .settings-panel.settings-panel button.document-preset{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin:8px 0 0;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);color:var(--text-primary);text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}:root .settings-panel.settings-panel button.document-preset:hover{background:var(--control-hover);border-color:var(--text-secondary)}:root .settings-panel.settings-panel button.document-preset:focus-visible{outline:2px solid var(--green);outline-offset:2px}:root .settings-panel.settings-panel button.document-preset:active{background:var(--accent-soft)}:root .settings-panel.settings-panel button.document-preset strong{font-size:13px;font-weight:600}:root .settings-panel.settings-panel button.document-preset small{font-size:12px;line-height:1.45;color:var(--text-secondary)}:root .app.with-workspace-nav .workspace-navigation>button.emergency-stop{flex:0 0 auto;order:10;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:42px;padding:10px 16px;border:2px solid #ff8c85;border-radius:8px;background:#b42318;color:#fff;font-size:15px;font-weight:800;letter-spacing:.5px;cursor:pointer}:root .app.with-workspace-nav .workspace-navigation>button.emergency-stop:hover{background:#8e1a12}:root .app.with-workspace-nav .workspace-navigation>button.emergency-stop:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}.emergency-stop kbd{font:inherit;font-size:10px;font-weight:500;opacity:.8}.emergency-stop-notice{flex:0 0 auto;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 18px;background:var(--danger-soft);color:var(--danger);font-size:13px;line-height:1.5}.emergency-stop-notice button{flex-shrink:0;padding:8px 12px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;cursor:pointer}@media(max-width:700px){:root .workspace-navigation{flex-wrap:wrap}:root .app.with-workspace-nav .workspace-navigation>button.emergency-stop{order:0;margin-left:auto;min-width:96px}:root .workspace-navigation>.appearance-control{order:2}.emergency-stop-notice{flex-wrap:wrap}}@media print{.emergency-stop-notice{display:none}}:root button.emergency-stop.emergency-stop{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:112px;width:auto;height:auto;min-height:42px;padding:10px 16px;border:2px solid #ff8c85;border-radius:8px;background:#b42318;color:#fff;font-size:15px;font-weight:800;letter-spacing:.5px;cursor:pointer;flex-shrink:0}:root button.emergency-stop.emergency-stop:hover:not(:disabled){background:#8e1a12}:root button.emergency-stop.emergency-stop:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}:root .calibration-dialog>header>.emergency-stop{margin-left:auto}:root .calibration-dialog>header{flex-wrap:wrap}:root .calibration-dialog>header>div{flex:1 1 220px;min-width:0}:root .font-picker{min-width:0;padding:12px;border-radius:4px;background:var(--surface-panel)}:root .font-picker-row{display:flex;align-items:stretch;gap:8px}:root .font-picker :is(.font-picker-trigger,.font-upload-button){border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);min-height:36px;padding:8px;color:var(--text-primary)}:root .font-picker-trigger{display:flex;align-items:center;gap:6px;flex:1;min-width:0;text-align:left}:root .font-picker-trigger>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}:root .font-kind-badge{font-size:10px;font-style:normal;color:var(--text-secondary)}:root .font-upload-button{flex:0 0 auto;font-size:12px}:root .font-studio-link{display:flex;justify-content:space-between;margin-top:10px;padding:4px 0;font-size:12px;line-height:1.5;color:var(--green);text-decoration:none}:root .font-picker-menu{margin-top:12px;display:grid;gap:10px}:root .font-picker-menu>input{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);font-size:13px}:root .font-picker-list{max-height:min(440px,55vh);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:14px;padding:2px}:root .font-section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:8px;font-size:11px;color:var(--text-secondary)}:root .font-section-heading em{font-style:normal}:root :is(.custom-gfont-grid,.plotter-family-tabs,.screen-font-grid){display:grid;grid-template-columns:1fr;gap:6px}:root .font-picker :is(.custom-gfont-grid,.plotter-family-tabs,.screen-font-grid)>button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);color:var(--text-primary);text-align:left;cursor:pointer}:root .font-picker button>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}:root .font-picker button small,:root .font-picker button em{color:var(--text-secondary);font-size:11px;font-style:normal}:root .font-picker button:hover{background:var(--control-hover)}:root .font-picker button[aria-selected=true],:root .font-picker button.selected{border-color:var(--green);background:var(--accent-soft)}:root .font-picker :is(button,input):focus-visible{outline:2px solid var(--green);outline-offset:1px}:root .font-variant-panel{margin:10px 0 14px}:root .font-variant-labels{display:flex;flex-wrap:wrap;gap:6px}:root .font-variant-labels button{padding:6px 9px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);font-size:12px}:root .unified-font-group{margin-top:14px}:root .font-picker-empty{padding:16px 8px;font-size:13px;color:var(--text-secondary)}:root .app :is(.workshop-section,.plotter-footer-body,.workshop-run-body,.settings-content) button:not([role]):not(.selected):not([aria-pressed=true]):not(.primary):not(.danger):not(.text-button):not(.font-picker-trigger):not(.document-preset){background-color:var(--control-surface);border:1px solid var(--line);border-radius:var(--control-radius);min-height:34px;padding:7px 12px;color:var(--text-primary)}:root .app :is(.workshop-section,.plotter-footer-body,.workshop-run-body,.settings-content) button:not([role]):not(.selected):not([aria-pressed=true]):not(.primary):not(.danger):not(.text-button):not(.document-preset):hover:not(:disabled){background-color:var(--control-hover);border-color:var(--text-secondary)}:root .app :is(.workshop-section,.plotter-footer-body,.workshop-run-body,.settings-content) button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.writing-start-guide{position:absolute;left:-30px;width:30px;height:0;z-index:6;pointer-events:none}:root .app .writing-start-guide>button,:root .app .writing-start-guide>button:is(:hover,:active,:focus-visible,:disabled){position:absolute;top:-14px;width:28px;height:28px;min-height:0;border:0;border-radius:0;box-shadow:none;outline:none;padding:4px;background:transparent;color:var(--green);pointer-events:auto;cursor:grab;touch-action:none;transition:none}:root .app .writing-start-guide>button:focus-visible .svg-icon{color:var(--text-primary)}.writing-start-guide .svg-icon,.writing-start-drop .svg-icon{width:20px;height:20px}.points-left .svg-icon{transform:rotate(180deg)}.writing-start-guide>i{position:absolute;left:30px;width:var(--guide-width);border-top:1px dashed var(--green);opacity:.55;pointer-events:none}.writing-start-guide.points-left>i{left:auto;right:30px}.writing-start-drop{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;color:var(--green);width:28px;height:0;will-change:transform}.writing-start-drop .svg-icon{position:absolute;top:-10px;left:4px}.writing-start-drop i{position:absolute;border-top:1px dashed currentColor}@media print{.writing-start-guide,.writing-start-drop{display:none!important}}:root .app .integrated-plotter-footer{max-height:min(420px,56vh);padding:8px 12px 12px;container-type:inline-size;background:var(--surface-panel)}:root .app .integrated-plotter-footer.is-collapsed{padding-bottom:8px}:root .app .plotter-footer-body{gap:8px;padding-top:6px}.plotter-control-grid{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(210px,1fr) minmax(210px,1fr);gap:10px}:root .app .plotter-control-card{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;min-width:0;border-radius:4px;background:var(--surface-raised)}:root .app .plotter-control-card h3{font-size:12px;line-height:1.4;margin:0;font-weight:650}:root .app .control-card-caption{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.45}:root .app .plotter-control-card :is(.plotter-sheet-options,.plotter-footer-actions,.plotter-imported-job,.plotter-imported-actions){margin:0;padding:0;background:transparent;border:0}:root .app .plotter-sheet-options>label{width:100%;display:flex;align-items:center;gap:8px;font-size:11px}:root .app .plotter-sheet-options select{flex:1;min-width:0;width:auto}:root .app .plotter-control-card :is(button,select){min-height:32px;font-size:12px}:root .app .plotter-control-card select{border:1px solid var(--line);background:var(--control-surface);padding:5px 8px;border-radius:4px}:root .app .plotter-control-card .plotter-footer-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}:root .app .plotter-control-card .plotter-arm{font-size:11px;line-height:1.4}:root .app .plotter-control-card .plotter-runbar{display:flex;flex-wrap:wrap;gap:8px}:root .app .plotter-control-card .plotter-runbar>button{flex:1}:root .app .plotter-control-card .plotter-playback-controls{margin:0;padding:0;gap:6px}:root .app .plotter-control-card .plotter-playback-controls output{font-size:11px;min-width:30px}.plotter-file-buttons{display:flex;flex-wrap:wrap;gap:6px}:root .app .plotter-job-details{padding:8px 10px;background:var(--surface-raised);border-radius:4px;font-size:11px}:root .app .plotter-job-details summary{cursor:pointer;line-height:1.5}:root .app .plotter-job-details>:not(summary){margin:8px 0 0}:root .app .integrated-plotter-footer .plotter-console{margin:0;padding:0 2px;font-size:11px}@container (max-width: 760px){.plotter-control-grid{grid-template-columns:1fr 1fr}.recording-card{grid-column:1 / -1}}@container (max-width: 400px){.plotter-control-grid{grid-template-columns:1fr}}:root .app .recording-card .plotter-footer-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}:root .app .recording-card .plotter-arm{flex:1 1 150px;margin:0}:root .app .recording-card .plotter-runbar{flex:1 1 200px}:root .app .plotter-control-card .plotter-playback-controls>button{padding:6px 8px}:root .app .recording-card .plotter-footer-actions{flex-direction:column;align-items:stretch;gap:6px}:root .app .recording-card .plotter-arm{flex:none;min-height:0;padding:0}:root .app .recording-card .plotter-runbar{flex:none;width:100%}@container (max-width: 760px){.control-card-caption{display:none}}.plotter-manual-start{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px}.plotter-manual-start p{flex-basis:100%;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.plotter-manual-start .button{min-height:40px}.placement-mode{flex-basis:100%;display:grid;gap:8px;border:0;padding:0;margin:4px 0;min-width:0}.placement-mode legend{padding:0 0 8px;font-size:13px;font-weight:600}.placement-mode label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.placement-mode label.is-selected{border-color:var(--green)}.placement-mode input[type=radio]{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--green)}.placement-mode label span{display:grid;gap:3px;min-width:0}.placement-mode strong{font-size:12px;font-weight:600}.paper-alignment{flex-basis:100%;display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.paper-alignment strong{font-size:12px;font-weight:600}.paper-alignment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.placement-mode small{color:var(--text-secondary);font-size:11px;line-height:1.4}.placement-mode:disabled label{cursor:default;opacity:.6}.plotter-manual-start .pen-travel-info{flex-basis:100%;margin:4px 0 0}.document-view-shell[hidden]{display:none!important}.auxiliary-view-shell{height:100vh;display:flex;flex-direction:column;min-height:0}.auxiliary-view-shell>.gcode-viewer,.auxiliary-view-shell>.font-studio{flex:1 1 auto;min-height:0;height:auto}.auxiliary-plotter-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.auxiliary-plotter-controls>span{font-size:12px;color:var(--text-secondary)}.auxiliary-plotter-controls>[role=alert]{max-width:320px;color:var(--danger)}@media print{.auxiliary-plotter-controls{display:none}}.drawing-image-dialog{width:min(860px,92vw);max-height:90vh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--surface-panel);color:var(--text-primary)}.drawing-image-dialog::backdrop{background:var(--overlay)}.drawing-image-dialog header,.drawing-image-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawing-image-dialog h2{margin:0;font-size:18px}.drawing-image-dialog button,.drawing-image-dialog input,.drawing-image-dialog select{padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:var(--surface-raised);color:var(--text-primary)}.drawing-image-dialog button.primary{background:var(--green);color:var(--on-accent)}.drawing-image-previews{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.drawing-image-previews figure{margin:0;min-width:0}.drawing-image-previews figcaption{margin-bottom:8px;font-size:12px}.drawing-image-previews img,.drawing-image-previews canvas{width:100%;height:260px;object-fit:contain;background:#fff}.drawing-image-fields{display:flex;flex-wrap:wrap;gap:16px}.drawing-image-fields label{display:grid;gap:6px;font-size:13px}.drawing-image-dialog p{font-size:12px;line-height:1.5;color:var(--text-secondary)}@media(max-width:600px){.drawing-image-previews{grid-template-columns:1fr}}:root .app .workshop-canvas{position:relative;overflow:hidden;min-height:180px;touch-action:none}:root .app .workshop-canvas>svg.scene-canvas{display:block;width:100%;height:100%;min-width:0;max-width:none;min-height:180px;outline-offset:-2px;touch-action:none}.scene-canvas [data-scene-object]{cursor:move}.scene-canvas .scene-gizmo rect,.scene-canvas .scene-gizmo circle{cursor:crosshair}.scene-toolstrip{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--surface-panel)}:root .app .scene-toolstrip button{padding:6px 10px;min-height:32px;border:1px solid var(--line);background:var(--surface-raised);border-radius:4px;font-size:12px}:root .app .scene-toolstrip button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--green);color:var(--green)}.scene-object-list{display:grid;gap:4px;max-height:190px;overflow-y:auto}:root .app .scene-object-list button{text-align:left;padding:7px 9px;background:var(--surface-panel);border:1px solid transparent;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root .app .scene-object-list button[aria-selected=true]{background:var(--accent-soft);border-color:var(--green)}.scene-order-actions{display:flex;gap:6px;flex-wrap:wrap}:root .app .scene-order-actions button{font-size:11px;padding:5px 8px}:root .app .scene-toolstrip button{width:34px;height:34px;padding:7px;display:inline-flex;align-items:center;justify-content:center}.scene-toolstrip .svg-icon{width:18px;height:18px}.scene-tool-divider{height:20px;width:1px;margin:0 4px;background:var(--line)}:root .app .workshop-body.inspector-collapsed{grid-template-columns:minmax(0,1fr)}:root .app .workshop-body.inspector-collapsed>.workshop-inspector{display:none}:root{--surface-workspace: #eeede9;--surface-panel: #fbfaf8;--surface-raised: #ffffff;--control-surface: #f1efea;--control-hover: #e8e6e0;--text-primary: #1a1a18;--text-secondary: #5c5a55;--muted: #6b6862;--line: #e2e0da;--line-strong: #d6d3ca;--green: #1f7a3a;--green-dark: #196630;--accent-soft: #e6f2e9;--accent-border: #bcd9c3;--on-accent: #ffffff;--danger: #b42318;--danger-soft: #fbeae7;--warning: #7a4f12;--warning-soft: #f6eedc;--stop: #b42318;--stop-hover: #971d14;--status-idle: #a8a49b;--control-radius: 8px;--oh-header-height: 52px;--oh-toolbar-height: 52px}:root.theme-dark{--surface-workspace: #161614;--surface-panel: #1e1e1b;--surface-raised: #262623;--control-surface: #2c2c28;--control-hover: #34342f;--text-primary: #f2f1ec;--text-secondary: #bdbab2;--muted: #a8a59d;--line: #34332f;--line-strong: #45443f;--green: #5cb86a;--green-dark: #73c67f;--accent-soft: #1d2d20;--accent-border: #3f6b47;--on-accent: #0d0d0d;--danger: #f0a49c;--danger-soft: #3e2522;--warning: #e4c18b;--warning-soft: #3d3426;--status-idle: #77746c}:root:root .oh-header{flex:0 0 auto;min-height:var(--oh-header-height);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px 8px 16px;background:var(--surface-panel);border-bottom:1px solid var(--line);color:var(--text-primary)}:root:root .oh-brand{font-size:15px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}:root:root .oh-header-host{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px}:root:root .oh-header-host:empty{min-width:8px}:root:root .oh-header .appearance-control{height:32px;max-width:150px;padding:0 8px;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer}:root:root .oh-header .appearance-control:hover{background:var(--control-hover);color:var(--text-primary)}:root:root .oh-header .emergency-stop,:root:root .auxiliary-plotter-controls .emergency-stop{display:inline-flex;align-items:center;gap:8px;height:36px;min-width:0;margin:0;padding:0 12px;border:1px solid var(--stop);border-radius:var(--control-radius);background:var(--stop);color:#fff;font-size:13px;font-weight:650;letter-spacing:0;cursor:pointer}:root:root .oh-header .emergency-stop:hover,:root:root .auxiliary-plotter-controls .emergency-stop:hover{background:var(--stop-hover);border-color:var(--stop-hover)}:root:root .oh-header .emergency-stop kbd,:root:root .auxiliary-plotter-controls .emergency-stop kbd{padding:1px 5px;border:1px solid rgb(255 255 255 / .45);border-radius:4px;background:transparent;color:#fff;font:500 11px/1.2 inherit}:root:root .oh-status{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface-raised);color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap}:root button.oh-status{cursor:pointer}:root button.oh-status:hover{border-color:var(--text-secondary);color:var(--text-primary)}:root:root .oh-status>i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--status-idle)}:root:root .oh-status:is(.is-connected,.is-running)>i{background:var(--green)}:root:root .oh-status.is-running{border-color:var(--accent-border);background:var(--accent-soft);color:var(--green-dark)}:root:root .oh-status:is(.is-connecting,.is-paused,.is-waiting-paper)>i{background:var(--warning)}:root:root .oh-status:is(.is-paused,.is-waiting-paper){background:var(--warning-soft);color:var(--warning)}:root:root .oh-segmented{display:inline-flex;flex:0 0 auto;gap:2px;padding:3px;border-radius:9px;background:var(--control-hover)}:root:root .oh-segmented>button{height:30px;min-height:0;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}:root:root .oh-segmented>button:hover:not(:disabled){color:var(--text-primary)}:root:root .oh-segmented>button:disabled{opacity:.5;cursor:default}:root:root .oh-segmented>button:is([aria-pressed=true],[aria-selected=true]){border-color:var(--line-strong);background:var(--surface-raised);color:var(--text-primary);font-weight:600;opacity:1}:root:root .oh-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-height:0;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer}:root:root .oh-button:hover:not(:disabled){background:var(--control-surface)}:root:root .oh-button:disabled{opacity:.5;cursor:default}:root:root .oh-button.is-primary{border-color:var(--green);background:var(--green);color:var(--on-accent)}:root:root .oh-button.is-primary:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark)}:root:root .oh-button.is-primary[aria-pressed=true]{border-color:var(--green-dark);background:var(--green-dark)}:root:root .oh-button.is-quiet,:root:root .oh-menu.is-quiet>.oh-button{border-color:transparent;background:transparent;color:var(--text-primary)}:root:root .oh-button.is-quiet:hover:not(:disabled),:root:root .oh-menu.is-quiet>.oh-button:hover:not(:disabled){background:var(--control-hover)}:root:root .oh-button.is-quiet[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--green-dark)}:root:root .oh-button .svg-icon{width:16px;height:16px}:root:root .oh-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;min-height:0;padding:0;border:1px solid transparent;border-radius:var(--control-radius);background:transparent;color:var(--text-secondary);cursor:pointer}:root:root .oh-icon-button:hover:not(:disabled){background:var(--control-hover);color:var(--text-primary)}:root:root .oh-icon-button:disabled{opacity:.4;cursor:default}:root:root .oh-icon-button .svg-icon{width:18px;height:18px}:root:root .oh-link-button{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:500;cursor:pointer}:root:root .oh-link-button:hover:not(:disabled){color:var(--green-dark);text-decoration:underline}:root:root .oh-link-button .svg-icon{width:14px;height:14px}:root:root .oh-select{min-width:0;height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:13px;cursor:pointer}:root:root .oh-select.is-compact{width:auto;flex:0 0 auto}:root:root .oh-select:disabled{opacity:.55;cursor:default}:root:root .oh-spacer{flex:1 1 auto}:root:root .oh-divider{width:1px;height:20px;margin:0 4px;flex:0 0 auto;background:var(--line-strong)}:root:root .oh-menu{position:relative;display:inline-flex}:root:root .oh-menu-caret.svg-icon{width:14px;height:14px;margin-left:-2px}:root:root .oh-menu-popup{position:absolute;z-index:300;top:calc(100% + 6px);left:0;min-width:230px;display:flex;flex-direction:column;gap:1px;padding:4px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-raised)}:root:root .oh-menu-popup.align-end{right:0;left:auto}:root:root .oh-menu-popup>button{min-height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;white-space:nowrap;cursor:pointer}:root:root .oh-menu-popup>button:hover:not(:disabled){background:var(--control-surface)}:root:root .oh-menu-popup>button:disabled{color:var(--muted);opacity:.6;cursor:default}:root:root .oh-menu-popup>button.is-danger:not(:disabled){color:var(--danger)}:root:root .oh-toolbar{flex:0 0 auto;min-height:var(--oh-toolbar-height);display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line);background:inherit}:root:root .oh-statusbar{flex:0 0 auto;min-height:36px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:6px 16px;border-top:1px solid var(--line);background:var(--surface-panel);color:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums}:root:root .oh-statusbar>strong{color:var(--text-primary);font-weight:600}:root:root .oh-shell>.workspace{--editor-panel-width: clamp(320px, 26vw, 380px);background:var(--surface-workspace)}:root:root .oh-shell .editor-panel{grid-column:1;grid-row:1;min-height:0;border-right:1px solid var(--line);background:var(--surface-raised)}:root:root .oh-shell.editor-collapsed .editor-panel{border-right:0}:root:root .oh-shell .preview-panel{grid-column:2;grid-row:1;min-height:0;background:var(--surface-workspace)}@media(min-width:1181px){:root:root .oh-shell>.workspace{--settings-panel-width: var(--settings-panel-size);grid-template-columns:var(--editor-panel-width) minmax(0,1fr) var(--settings-panel-width)}:root:root .oh-shell.settings-collapsed>.workspace{--settings-panel-width: 0px}:root:root .oh-shell>.workspace>.settings-panel{position:relative;inset:auto;grid-column:3;grid-row:1;width:auto;min-width:0;border:0;border-left:1px solid var(--line)}:root:root .oh-shell .settings-close{display:none}}:root:root .oh-shell .document-resize-handle{z-index:25}:root:root .oh-shell .editor-toolbar{background:var(--surface-raised)}:root:root .oh-shell .markdown-editor{padding:18px 20px 28px;border:0;background:var(--surface-raised);color:var(--text-primary);font:12.5px/1.7 ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}:root:root .oh-shell .editor-footer{padding:0 12px 0 20px;border-top-color:var(--control-surface);background:var(--surface-raised)}:root:root .oh-shell .editor-preview-button{display:none}@media(max-width:900px){:root:root .oh-shell .editor-preview-button{display:inline-flex}}:root:root .oh-shell .preview-toolbar{padding:8px 12px;background:var(--surface-panel)}:root:root .oh-pager{display:inline-flex;align-items:center;gap:2px}:root:root .oh-pager-label{min-width:92px;text-align:center;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}:root:root .oh-zoom{display:inline-flex;align-items:center}:root:root .oh-zoom-value{min-width:48px;height:32px;padding:0 4px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer}:root:root .oh-zoom-value:hover{background:var(--control-hover);color:var(--text-primary)}:root:root .oh-shell .paper{outline:1px solid var(--line-strong)}:root:root .oh-shell .oh-inspector{display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--surface-panel)}:root:root .oh-inspector .inspector-header{gap:8px;padding:8px 8px 8px 16px}:root:root .oh-inspector .inspector-header>.oh-select{flex:1 1 auto;height:34px}:root:root .oh-inline-label{color:var(--text-secondary);font-size:12px;font-weight:500}:root:root .oh-panel-title{margin:0;font-size:14px;font-weight:600}:root:root .oh-tabs{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8px;border-bottom:1px solid var(--line)}:root:root .oh-tabs>button{height:42px;min-height:0;margin-bottom:-1px;padding:0 4px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}:root:root .oh-tabs>button:hover{color:var(--text-primary)}:root:root .oh-tabs>button[aria-selected=true]{border-bottom-color:var(--green);color:var(--text-primary);font-weight:600}:root:root .oh-inspector-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:24px;padding:18px 16px 28px}:root:root .oh-inspector-footer{flex:0 0 auto;min-height:52px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border-top:1px solid var(--line);background:var(--surface-panel)}:root:root .oh-inspector-footer>.oh-button.is-quiet{color:var(--text-secondary)}:root:root .oh-group{display:flex;flex-direction:column;gap:14px;min-width:0}:root:root .oh-group-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}:root:root .oh-group-title>small{color:var(--muted);font-size:12px;font-weight:400}:root:root .oh-note{color:var(--muted);font-size:12px}:root:root .oh-button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}:root:root .oh-inspector .settings-section{margin:0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}:root:root .oh-inspector .settings-section>summary{min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-primary);font-size:13px;font-weight:600}:root:root .oh-inspector .settings-section>.settings-content{display:flex;flex-direction:column;gap:14px;padding:2px 0 18px;border:0;background:transparent}:root:root .oh-inspector .oh-group>.settings-section:last-child{border-bottom:1px solid var(--line)}:root:root .oh-inspector .document-preset-list{display:flex;flex-direction:column;gap:6px}:root:root .oh-inspector button.document-preset{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-raised);text-align:left;cursor:pointer}:root:root .oh-inspector button.document-preset:hover{border-color:var(--text-secondary)}:root:root .oh-inspector button.document-preset strong{font-size:13px;font-weight:600}:root:root .oh-inspector button.document-preset small{color:var(--muted);font-size:12px}:root:root .oh-step-number{width:22px;height:22px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;background:var(--green);color:var(--on-accent);font-size:12px;font-weight:600}:root:root .oh-step>.oh-group-title{color:var(--text-primary);font-size:13px}:root:root .recording-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}:root:root .recording-progress-head>strong{color:var(--text-primary);font-size:30px;font-weight:600;letter-spacing:-.02em}:root:root .oh-progress{height:8px;overflow:hidden;border-radius:4px;background:var(--line)}:root:root .oh-progress>i{display:block;height:100%;background:var(--green)}:root:root .oh-disclosure{border-top:1px solid var(--line)}:root:root .oh-disclosure>summary{min-height:42px;display:flex;align-items:center;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer}:root:root .oh-disclosure[open]>summary{margin-bottom:8px}:root:root .oh-disclosure>:not(summary)+:not(summary){margin-top:8px}:root:root .recording-footer>.oh-button.is-primary{flex:1 1 auto}:root:root .recording-panel .plotter-manual-start>p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.45}@media(max-width:760px){:root:root .oh-header{padding-left:12px}:root:root .oh-header .appearance-control{max-width:120px}}@media print{:root:root .oh-header,:root:root .oh-toolbar,:root:root .oh-statusbar,:root:root .oh-inspector{display:none!important}}@container (max-width: 820px){:root:root .preview-toolbar .oh-collapsible-label{display:none}:root:root .preview-toolbar .oh-button.is-quiet{width:36px;padding:0}}@container (max-width: 560px){:root:root .preview-toolbar .oh-segmented{display:none}}:root:root .recording-footer{flex-wrap:nowrap}:root:root .recording-footer>.oh-button.is-primary{min-width:0}:root:root .plotter-manual-start>.oh-button{align-self:flex-start}:root:root .plotter-workshop{background:var(--surface-workspace)}:root:root .plotter-workshop .workshop-body{grid-template-columns:var(--inspector-width, 300px) 6px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr)}:root:root .app .plotter-workshop .workshop-body.inspector-collapsed{grid-template-columns:minmax(0,1fr) 300px}:root:root .plotter-workshop .workshop-inspector{border-right:1px solid var(--line)}:root:root .plotter-workshop fieldset.oh-inspector-body{min-width:0;margin:0;border:0}:root:root .plotter-workshop .workshop-main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface-workspace)}:root:root .workshop-canvas-bar{background:var(--surface-panel)}:root:root .plotter-workshop .workshop-canvas,:root:root .plotter-workshop .workshop-code{flex:1 1 auto;min-height:0}:root:root .plotter-workshop .workshop-run.oh-inspector{margin:0;padding:0;border:0;border-left:1px solid var(--line);border-radius:0}:root:root .oh-icon-button.is-tool[aria-pressed=true]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--green-dark)}:root:root .oh-button.is-danger:not(:disabled){color:var(--danger)}:root:root .oh-group-heading{display:flex;align-items:center;gap:2px;margin:-8px 0 -6px}:root:root .svg-icon.is-up{transform:rotate(90deg)}:root:root .svg-icon.is-down{transform:rotate(90deg)}:root:root .workshop-shape-form{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-raised)}:root:root .workshop-shape-form>.oh-button{align-self:flex-start}:root:root .workshop-file-tools{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px}:root:root .oh-title-input{flex:0 1 240px;min-width:120px;height:34px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:600}:root:root .oh-title-input:hover:not(:disabled){border-color:var(--line-strong)}:root:root .oh-title-input:focus{border-color:var(--green);background:var(--surface-raised);outline:none}:root:root .workshop-log pre{max-height:220px;overflow:auto;margin:8px 0 0;font-size:11px;white-space:pre-wrap}@media(max-width:1180px){:root:root .plotter-workshop .workshop-body{grid-template-columns:var(--inspector-width, 300px) 6px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}:root:root .app .plotter-workshop .workshop-body.inspector-collapsed{grid-template-columns:minmax(0,1fr)}:root:root .plotter-workshop .workshop-run.oh-inspector{grid-column:1 / -1;max-height:42vh;border-left:0;border-top:1px solid var(--line)}}@media(max-width:700px){:root:root .plotter-workshop .workshop-body,:root:root .app .plotter-workshop .workshop-body.inspector-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(360px,1fr) auto;overflow-y:auto}}:root:root .workshop-canvas-bar{gap:2px}:root:root .workshop-canvas-bar>.oh-divider{margin:0 6px}:root:root .device-page{background:var(--surface-workspace)}:root:root .device-page :is(.device-pen-card,.device-connection-card),:root:root .device-page .device-settings-sections .settings-section{border:1px solid var(--line);background:var(--surface-raised)}:root:root .device-page .device-page-heading h1{font-size:24px;font-weight:650;letter-spacing:-.015em}:root:root .oh-shell .editor-toolbar{flex-wrap:nowrap;gap:2px;padding:8px 6px 8px 10px}:root:root .oh-shell .editor-toolbar .oh-segmented>button{padding:0 10px}@media(max-width:1180px){:root:root .oh-brand{display:none}:root:root .oh-header .appearance-control{max-width:128px}}@media(max-width:900px){:root:root .oh-shell .editor-toolbar{flex-wrap:wrap}}:root:root .oh-callout{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--warning-soft);color:var(--warning);font-size:12px;line-height:1.45}:root:root .oh-format-row{display:flex;flex-direction:column;align-items:stretch;gap:8px}:root:root .oh-format-row>.oh-select{width:100%}:root:root .oh-format-row>.oh-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}:root:root .oh-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}:root:root .oh-field{display:flex;flex-direction:column;gap:4px;min-width:0}:root:root .oh-field>label{color:var(--text-secondary);font-size:12px}:root:root .oh-number{position:relative;display:block}:root:root .oh-number>input{width:100%;height:36px;padding:0 30px 0 10px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:13px;font-variant-numeric:tabular-nums}:root:root .oh-number>em{position:absolute;top:50%;right:10px;transform:translateY(-50%);color:var(--muted);font-size:12px;font-style:normal;pointer-events:none}:root:root .oh-inspector .oh-group>.oh-select{width:100%}:root:root .oh-inspector .oh-sections{gap:0}:root:root .oh-inspector .oh-sections>.settings-section:last-child{border-bottom:1px solid var(--line)}:root:root .oh-inspector label.oh-group-title{cursor:default}:root:root .oh-inspector .font-picker-row{display:block}:root:root .oh-inspector .font-picker-trigger{width:100%}:root:root .font-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}:root:root .font-picker-actions>.oh-button{margin-left:-10px;padding:0 10px}:root:root .svg-icon.is-flipped{transform:rotate(180deg)}:root:root .oh-inspector .oh-font-pool{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;background:transparent}:root:root .oh-inspector .oh-font-pool>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}:root:root .oh-inspector .oh-font-pool label{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}:root:root .oh-inspector .oh-font-pool label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root:root .handwriting-samples{display:flex;flex-direction:column;align-items:flex-start;gap:10px}:root:root .handwriting-samples>.handwriting-samples-body{align-self:stretch;margin:0}:root:root .oh-shell.editor-collapsed>.workspace{--editor-panel-width: 0px}:root:root .device-layout{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}:root:root .device-nav{position:sticky;top:0;display:flex;flex-direction:column;gap:2px;padding-top:72px}:root:root .device-nav>a{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;text-decoration:none}:root:root .device-nav>a:hover{background:var(--control-hover);color:var(--text-primary)}:root:root .device-content{min-width:0}:root:root .device-page .device-page-heading{max-width:none;margin:0 0 20px}:root:root .app .device-page .device-configuration{max-width:none}:root:root .device-page .device-grid,:root:root .device-page .device-settings-sections{display:flex;flex-direction:column;align-items:stretch;gap:20px}:root:root .device-page .device-settings-sections{margin-top:20px}:root:root .device-page .device-connection-card{order:-1}:root:root .device-page .device-card{min-width:0;margin:0;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised);scroll-margin-top:16px}:root:root .device-page .device-card>h2{margin:0 0 16px;font-size:16px;font-weight:600;letter-spacing:0}:root:root .device-page .device-card>:not(h2)+:not(h2){margin-top:14px}:root:root .device-page .device-subsection{margin-top:18px;padding:16px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}:root:root .device-page .device-subsection>h3{margin:0 0 12px;color:var(--text-primary);font-size:13px;font-weight:600}:root:root .device-page .device-command-log{max-height:240px;overflow:auto}@media(max-width:860px){:root:root .device-layout{grid-template-columns:minmax(0,1fr);gap:16px}:root:root .device-nav{position:static;flex-direction:row;flex-wrap:wrap;padding-top:0}}:root:root .device-page .device-card :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border:1px solid var(--line-strong);border-radius:var(--control-radius);background-color:var(--surface-raised)}:root:root .device-page .device-card :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:36px}:root:root .device-page .device-card button.button:not(.primary):not(.danger){border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface-raised)}:root:root .device-page .device-card button.button:not(.primary):not(.danger):hover:not(:disabled){background:var(--control-surface)}:root:root .device-page .device-card .plotter-row{row-gap:12px}:root:root .app.oh-shell{overflow:clip}@media print{:root:root .app.oh-shell{overflow:visible}}:root:root .device-page :is(.device-card,.device-subsection,.device-connection-fields){display:flex;flex-direction:column;gap:14px}:root:root .device-page .device-card>:not(h2)+:not(h2){margin-top:0}:root:root .device-page .device-card>h2,:root:root .device-page .device-subsection>h3{margin:0}:root:root .device-page .device-subsection{margin-top:4px}:root:root .device-page :is(.device-card,.device-subsection,.device-connection-fields)>:is(.field,.plotter-row,.device-number,p,small,.device-hint){margin:0}:root:root .device-page .field{display:flex;flex-direction:column;gap:6px}:root:root .device-page .plotter-row{gap:14px 12px;margin:0}:root:root .device-page .device-number{min-height:40px}:root:root .device-page .device-number select{width:240px;max-width:55%;min-height:36px;padding:0 10px}:root:root .device-page .device-number input{width:120px;min-height:36px}:root:root .device-page .device-position-row input{height:44px}:root:root .device-page .pen-next-step{margin:0;padding:12px 14px;border:1px solid var(--line);background:var(--control-surface)}:root:root .device-page .machine-monitor:not(:has(>*)){display:none}:root:root .oh-shell .preview-panel>.block-inspector{top:calc(var(--oh-toolbar-height) + var(--preview-float-gap));right:var(--preview-float-gap)}@container (max-width: 820px){:root:root .preview-toolbar{gap:2px;padding-inline:8px}:root:root .preview-toolbar .oh-pager-label{min-width:80px}:root:root .preview-toolbar .oh-divider{margin:0 2px}}@container (max-width: 640px){:root:root .preview-toolbar .oh-segmented{display:none}}
