@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.reveal .stretch,.reveal .r-stretch{max-width:none;max-height:none}.reveal pre.stretch code,.reveal pre.r-stretch code{box-sizing:border-box;height:100%;max-height:100%}.reveal .r-fit-text{white-space:nowrap;display:inline-block}.reveal .r-stack{grid-template-rows:100%;display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-vstack,.reveal .r-hstack{display:flex}.reveal .r-vstack img,.reveal .r-vstack video,.reveal .r-hstack img,.reveal .r-hstack video{object-fit:contain;min-width:0;min-height:0}.reveal .r-vstack{flex-direction:column;justify-content:center;align-items:center}.reveal .r-hstack{flex-direction:row;justify-content:center;align-items:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100vh;height:calc(var(--vh,1vh) * 100);height:100dvh;overflow:hidden}.reveal-viewport{color:#000;--r-controls-spacing:12px;--r-overlay-header-height:40px;--r-overlay-margin:0px;--r-overlay-padding:6px;--r-overlay-gap:5px;background-color:#fff;height:100%;margin:0;line-height:1;position:relative;overflow:hidden}@media screen and (max-width:1024px),(max-height:768px){.reveal-viewport{--r-overlay-header-height:26px}}.reveal-viewport:fullscreen{width:100%!important;height:100%!important;top:0!important;left:0!important;transform:none!important}.reveal .fragment{transition:all .2s}.reveal .fragment:not(.custom){opacity:0;visibility:hidden;will-change:opacity}.reveal .fragment.visible{opacity:1;visibility:inherit}.reveal .fragment.disabled{transition:none}.reveal .fragment.grow{opacity:1;visibility:inherit}.reveal .fragment.grow.visible{transform:scale(1.3)}.reveal .fragment.shrink{opacity:1;visibility:inherit}.reveal .fragment.shrink.visible{transform:scale(.7)}.reveal .fragment.zoom-in{transform:scale(.1)}.reveal .fragment.zoom-in.visible{transform:none}.reveal .fragment.fade-out{opacity:1;visibility:inherit}.reveal .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.strike{opacity:1;visibility:inherit}.reveal .fragment.strike.visible{text-decoration:line-through}.reveal .fragment.fade-up{transform:translateY(40px)}.reveal .fragment.fade-up.visible{transform:translate(0)}.reveal .fragment.fade-down{transform:translateY(-40px)}.reveal .fragment.fade-down.visible{transform:translate(0)}.reveal .fragment.fade-right{transform:translate(-40px)}.reveal .fragment.fade-right.visible{transform:translate(0)}.reveal .fragment.fade-left{transform:translate(40px)}.reveal .fragment.fade-left.visible{transform:translate(0)}.reveal .fragment.fade-in-then-out,.reveal .fragment.current-visible{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-out.current-fragment,.reveal .fragment.current-visible.current-fragment{opacity:1;visibility:inherit}.reveal .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-red,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue{opacity:1;visibility:inherit}.reveal .fragment.highlight-red.visible{color:#ff2c2d}.reveal .fragment.highlight-green.visible{color:#17ff2e}.reveal .fragment.highlight-blue.visible{color:#1b91ff}.reveal .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:"";font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(10px)}30%{transform:translate(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translate(0)}20%{transform:translate(-10px)}30%{transform:translate(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{top:auto;bottom:var(--r-controls-spacing);right:var(--r-controls-spacing);z-index:11;color:#000;pointer-events:none;font-size:10px;display:none;position:absolute;left:auto}.reveal .controls button{cursor:pointer;color:currentColor;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:#0000;background-color:#0000;border:0;outline:0;padding:0;transition:color .2s,opacity .2s,transform .2s;position:absolute;transform:scale(.9999)}.reveal .controls .controls-arrow:before,.reveal .controls .controls-arrow:after{content:"";transform-origin:.2em;will-change:transform;background-color:currentColor;border-radius:.25em;width:2.6em;height:.5em;transition:all .15s,background-color .8s;position:absolute;top:0;left:0}.reveal .controls .controls-arrow{width:3.6em;height:3.6em;position:relative}.reveal .controls .controls-arrow:before{transform:translate(.5em)translateY(1.55em)rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translate(.5em)translateY(1.55em)rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translate(.5em)translateY(1.55em)rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translate(.5em)translateY(1.55em)rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translate(.5em)translateY(1.55em)rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translate(.5em)translateY(1.55em)rotate(-36deg)}.reveal .controls .navigate-left{bottom:3.2em;right:6.4em;transform:translate(-10px)}.reveal .controls .navigate-left.highlight{animation:2s ease-out 50 both bounce-left}.reveal .controls .navigate-right{bottom:3.2em;right:0;transform:translate(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:2s ease-out 50 both bounce-right}.reveal .controls .navigate-up{bottom:6.4em;right:3.2em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{padding-bottom:1.4em;bottom:-1.4em;right:3.2em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:2s ease-out 50 both bounce-down}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled:hover,.reveal .controls .enabled.fragmented:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down{display:none}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left,.reveal:not(.has-vertical-slides) .controls .navigate-left{bottom:1.4em;right:5.5em}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right,.reveal:not(.has-vertical-slides) .controls .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{bottom:5em;right:1.4em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{bottom:.5em;right:1.4em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:hover:before,.reveal.no-hover .controls .controls-arrow:active:before{transform:translate(.5em)translateY(1.55em)rotate(45deg)}.reveal.no-hover .controls .controls-arrow:hover:after,.reveal.no-hover .controls .controls-arrow:active:after{transform:translate(.5em)translateY(1.55em)rotate(-45deg)}@media screen and (min-width:500px){.reveal-viewport{--r-controls-spacing:.8em}.reveal .controls[data-controls-layout=edges]{inset:0}.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up,.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:var(--r-controls-spacing);margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:var(--r-controls-spacing);margin-left:-1.8em;left:50%}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:calc(var(--r-controls-spacing) - 1.4em + .3em);margin-left:-1.8em;left:50%}}.reveal .progress{z-index:10;color:#fff;background-color:#0003;width:100%;height:3px;display:none;position:absolute;bottom:0;left:0}.reveal .progress:after{content:"";width:100%;height:10px;display:block;position:absolute;top:-10px}.reveal .progress span{transform-origin:0 0;background-color:currentColor;width:100%;height:100%;transition:transform .8s cubic-bezier(.26,.86,.44,.985);display:block;transform:scaleX(0)}.reveal .slide-number{z-index:31;color:#fff;background-color:#0006;padding:5px;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;display:block;position:absolute;bottom:8px;right:8px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{touch-action:pinch-zoom;width:100%;height:100%;position:relative;overflow:hidden}.reveal.embedded{touch-action:pan-y}.reveal.embedded.is-vertical-slide{touch-action:none}.reveal .slides{pointer-events:none;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%;width:100%;height:100%;margin:auto;position:absolute;inset:0;overflow:visible}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{pointer-events:auto;z-index:10;transform-style:flat;width:100%;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985);display:none;position:absolute}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{pointer-events:none;height:100%;padding-top:0;padding-bottom:0}.reveal .slides>section.present,.reveal .slides>section>section.present{z-index:11;opacity:1;display:block}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section[data-background-interactive],.reveal .slides>section>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.past,.reveal .slides>section.future,.reveal .slides>section.past>section,.reveal .slides>section.future>section,.reveal .slides>section>section.past,.reveal .slides>section>section.future{opacity:0}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translateY(-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translateY(150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(90deg)translate(100%)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translateY(-300px)rotateX(70deg)translateY(-300px)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translateY(300px)rotateX(-70deg)translateY(300px)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(90deg)translate(100%)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translateY(-300px)rotateX(70deg)translateY(-300px)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translateY(300px)rotateX(-70deg)translateY(300px)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate(-100%)rotateY(90deg)translate(-100%)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate(100%)rotateY(-90deg)translate(100%)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translateY(-80%)rotateX(-70deg)translateY(-80%)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translateY(80%)rotateX(70deg)translateY(80%)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{backface-visibility:hidden;box-sizing:border-box;min-height:700px;transform-style:preserve-3d;padding:30px}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:"";background:#0000001a;border-radius:4px;width:100%;height:100%;display:block;position:absolute;top:0;left:0;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:"";z-index:1;background:0 0;border-radius:4px;width:90%;height:30px;display:block;position:absolute;bottom:0;left:5%;transform:translateZ(-90px)rotateX(65deg);box-shadow:0 95px 25px #0003}.reveal.cube .slides>section.stack{background:0 0;padding:0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate(-100%)rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate(100%)rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translateY(-100%)rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translateY(100%)rotateX(-90deg)}.reveal.page .slides{perspective-origin:0%;perspective:3000px}.reveal.page .slides section{box-sizing:border-box;min-height:700px;transform-style:preserve-3d;padding:30px}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:"";background:#0000001a;width:100%;height:100%;display:block;position:absolute;top:0;left:0;transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:"";z-index:1;background:0 0;border-radius:4px;width:90%;height:30px;display:block;position:absolute;bottom:0;left:5%;transform:translateZ(-90px)rotateX(65deg);box-shadow:0 95px 25px #0003}.reveal.page .slides>section.stack{background:0 0;padding:0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate(-40%)rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate(0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translateY(-40%)rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate(0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transition:opacity .5s;transform:none}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transition:none;transform:none}.reveal .pause-overlay{visibility:hidden;opacity:0;z-index:100;background:#000;width:100%;height:100%;transition:all 1s;position:absolute;top:0;left:0}.reveal .pause-overlay .resume-button{color:#ccc;cursor:pointer;background:0 0;border:2px solid #ccc;border-radius:2px;padding:6px 14px;font-size:16px;position:absolute;bottom:20px;right:20px}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{perspective:600px;width:100%;height:100%;position:absolute;top:0;left:0}.reveal .slide-background{opacity:0;visibility:hidden;background-color:#0000;width:100%;height:100%;transition:all .8s cubic-bezier(.26,.86,.44,.985);display:none;position:absolute;overflow:hidden}.reveal .slide-background-content{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none;position:absolute;top:0;left:0}.reveal .slide-background[data-background-size=contain] video{object-fit:contain}.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=none]{transition:none}.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=slide]{opacity:1}.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=slide]{transform:translate(-100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=slide]{transform:translate(100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide]{transform:translateY(-100%)}.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide]{transform:translateY(100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=convex]{opacity:0;transform:translate(-100%)rotateY(-90deg)translate(-100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=convex]{opacity:0;transform:translate(100%)rotateY(90deg)translate(100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex]{opacity:0;transform:translateY(-100%)rotateX(90deg)translateY(-100%)}.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex]{opacity:0;transform:translateY(100%)rotateX(-90deg)translateY(100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=concave]{opacity:0;transform:translate(-100%)rotateY(90deg)translate(-100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=concave]{opacity:0;transform:translate(100%)rotateY(-90deg)translate(100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave]{opacity:0;transform:translateY(-100%)rotateX(-90deg)translateY(-100%)}.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave]{opacity:0;transform:translateY(100%)rotateX(90deg)translateY(100%)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]),.reveal>.backgrounds .slide-background[data-background-transition=zoom]{transition-timing-function:ease}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(16)}.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]),.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom]{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50%;perspective:700px}.reveal.overview .slides section{cursor:pointer;box-sizing:border-box;height:100%;overflow:hidden;opacity:1!important;visibility:visible!important;top:0!important}.reveal.overview .slides section:hover,.reveal.overview .slides section.present{outline-offset:10px;outline:10px solid #96969699}.reveal.overview .slides section.present{outline:10px solid var(--r-link-color)}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{background:0 0;outline:none;padding:0;overflow:visible;top:0!important}.reveal.overview .backgrounds{perspective:inherit}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline-offset:10px;outline:10px solid #9696961a}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section,.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl pre,.reveal.rtl code{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-up{0%{transform:scale(.95)}to{transform:scale(1)}}.reveal [data-preview-image],.reveal [data-preview-video],.reveal [data-preview-link]:not(a):not([data-preview-link=false]){cursor:zoom-in}.r-overlay{top:var(--r-overlay-margin);right:var(--r-overlay-margin);bottom:var(--r-overlay-margin);left:var(--r-overlay-margin);border-radius:min(var(--r-overlay-margin),6px);z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#000000f2;font-family:ui-sans-serif,system-ui,-apple-system,Helvetica,sans-serif;transition:all .3s;animation:.3s fade-in;position:absolute}.r-overlay-viewport{top:var(--r-overlay-padding);right:var(--r-overlay-padding);bottom:var(--r-overlay-padding);left:var(--r-overlay-padding);gap:var(--r-overlay-gap);flex-direction:column;display:flex;position:absolute}.r-overlay-header{z-index:2;box-sizing:border-box;height:var(--r-overlay-header-height);justify-content:flex-end;align-items:center;gap:6px;display:flex}.r-overlay-header .r-overlay-header-button{all:unset;min-width:var(--r-overlay-header-height);min-height:var(--r-overlay-header-height);padding:0 calc(var(--r-overlay-header-height) / 4);opacity:1;cursor:pointer;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-size:18px;display:flex}.r-overlay-header .r-overlay-header-button:hover{opacity:1;background-color:#ffffff26}.r-overlay-header .icon{background-position:50%;background-repeat:no-repeat;background-size:100%;width:20px;height:20px;display:inline-block}.r-overlay-close .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuODU0IDIuODU0YS41LjUgMCAwIDAtLjcwOC0uNzA4TDcuNSA2Ljc5MyAyLjg1NCAyLjE0NmEuNS41IDAgMSAwLS43MDguNzA4TDYuNzkzIDcuNWwtNC42NDcgNC42NDZhLjUuNSAwIDAgMCAuNzA4LjcwOEw3LjUgOC4yMDdsNC42NDYgNC42NDdhLjUuNSAwIDAgMCAuNzA4LS43MDhMOC4yMDcgNy41bDQuNjQ3LTQuNjQ2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)}.r-overlay-external .icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMyAyYTEgMSAwIDAgMC0xIDF2OWExIDEgMCAwIDAgMSAxaDlhMSAxIDAgMCAwIDEtMVY4LjVhLjUuNSAwIDAgMC0xIDBWMTJIM1YzaDMuNWEuNS41IDAgMCAwIDAtMUgzWm05Ljg1NC4xNDZhLjUuNSAwIDAgMSAuMTQ2LjM1MVY1LjVhLjUuNSAwIDAgMS0xIDBWMy43MDdMNi44NTQgOC44NTRhLjUuNSAwIDEgMS0uNzA4LS43MDhMMTEuMjkzIDNIOS41YS41LjUgMCAwIDEgMC0xaDNhLjQ5OS40OTkgMCAwIDEgLjM1NC4xNDZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.r-overlay-content{background-color:#141414cc;border-radius:6px;flex-grow:1;place-items:center;animation:.5s cubic-bezier(.26,.86,.44,.985) scale-up;display:grid;position:relative;overflow:hidden}.r-overlay-spinner{z-index:10;visibility:hidden;opacity:0;background-image:url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);width:32px;height:32px;margin:-16px 0 0 -16px;display:block;position:absolute;top:50%;left:50%}.r-overlay-preview .r-overlay-content iframe{opacity:0;visibility:hidden;border:0;width:100%;max-width:100%;height:100%;max-height:100%;transition:all .3s}.r-overlay-preview[data-state=loaded] iframe{opacity:1;visibility:visible}.r-overlay-preview .r-overlay-content img,.r-overlay-preview .r-overlay-content video{object-fit:scale-down;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;position:absolute}.r-overlay-preview[data-preview-fit=none] img,.r-overlay-preview[data-preview-fit=none] video{object-fit:none}.r-overlay-preview[data-preview-fit=scale-down] img,.r-overlay-preview[data-preview-fit=scale-down] video{object-fit:scale-down}.r-overlay-preview[data-preview-fit=contain] img,.r-overlay-preview[data-preview-fit=contain] video{object-fit:contain}.r-overlay-preview[data-preview-fit=cover] img,.r-overlay-preview[data-preview-fit=cover] video{object-fit:cover}.r-overlay-preview[data-state=loaded] .r-overlay-content-inner{z-index:-1;text-align:center;letter-spacing:normal;width:100%;position:absolute;top:45%;left:0}.r-overlay-preview .r-overlay-error{color:orange;font-size:18px}.r-overlay-preview .x-frame-error{opacity:0;transition:opacity .3s .3s}.r-overlay-preview[data-state=loaded] .x-frame-error{opacity:1}.r-overlay-preview[data-state=loading] .r-overlay-spinner{opacity:.6;visibility:visible}.r-overlay-help .r-overlay-content{overflow:auto}.r-overlay-help-content{text-align:center;letter-spacing:normal;max-width:560px;margin:auto;padding:20px 0}.r-overlay-help-content .title{margin-top:0;font-size:20px}.r-overlay-help .r-overlay-help-content table{border-collapse:collapse;text-align:left;border:1px solid #fff;font-size:16px}.r-overlay-help .r-overlay-help-content table th,.r-overlay-help .r-overlay-help-content table td{vertical-align:middle;border:1px solid #fff;width:240px;padding:14px}.r-overlay-help .r-overlay-help-content table th{padding-top:20px;padding-bottom:20px}.reveal .playback{z-index:30;cursor:pointer;-webkit-tap-highlight-color:#0000;transition:all .4s;position:absolute;bottom:20px;left:15px}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{border:0;padding:0}.reveal .hljs-ln-numbers{opacity:.6;text-align:right;vertical-align:top;padding-right:.75em}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs.has-highlights.fragment{transition:all .2s}.reveal .hljs:not(:first-child).fragment{box-sizing:border-box;width:100%;position:absolute;top:0;left:0}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{vertical-align:top;perspective:400px;perspective-origin:50%;line-height:1.2;display:inline-block;overflow:hidden}.reveal .roll:hover{text-shadow:none;background:0 0}.reveal .roll span{pointer-events:none;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden;padding:0 2px;transition:all .4s;display:block;position:relative}.reveal .roll:hover span{background:#00000080;transform:translateZ(-45px)rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);backface-visibility:hidden;transform-origin:50% 0;padding:0 2px;display:block;position:absolute;top:0;left:0;transform:translateY(110%)rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{z-index:1;color:#222;box-sizing:border-box;text-align:left;-webkit-overflow-scrolling:touch;background-color:#f5f5f5;border:1px solid #0000000d;width:33.3333%;height:100%;padding:14px 18px;font-family:Helvetica,sans-serif;font-size:18px;line-height:1.4;display:none;position:absolute;top:0;left:100%;overflow:auto}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:none}.reveal .speaker-notes:before{content:"Speaker notes";opacity:.5;margin-bottom:10px;display:block}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{border:0;width:100%;height:30vh;top:100%;left:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60vh}.reveal.show-notes .speaker-notes{height:40vh;top:100%}.reveal .speaker-notes{font-size:14px}}.reveal .jump-to-slide{z-index:30;-webkit-tap-highlight-color:#0000;font-size:32px;position:absolute;top:15px;left:15px}.reveal .jump-to-slide-input{font-size:inherit;color:currentColor;background:0 0;border:0;padding:8px}.reveal .jump-to-slide-input::placeholder{color:currentColor;opacity:.5}.reveal.has-dark-background .jump-to-slide-input{color:#fff}.reveal.has-light-background .jump-to-slide-input{color:#222}.reveal .jump-to-slide-input:focus{outline:none}.reveal .r-overlay-button{all:unset;z-index:30;cursor:pointer;-webkit-tap-highlight-color:#0000;appearance:none;color:#fff;background:#000000b3;border-radius:5px;justify-content:center;align-items:center;padding:10px;font-size:.4em;display:flex;position:absolute}.reveal .r-overlay-button:hover{background:#000000e6}.reveal.has-light-background .r-overlay-button{color:#222;background:#ffffffb3}.reveal.has-light-background .r-overlay-button:hover{background:#ffffffe6}.reveal .r-media-play-button{bottom:20px;left:15px}.zoomed .reveal *,.zoomed .reveal :before,.zoomed .reveal :after{backface-visibility:visible!important}.zoomed .reveal .progress,.zoomed .reveal .controls{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after,.reveal-viewport.loading-scroll-mode{visibility:hidden}.reveal-viewport.reveal-scroll{z-index:1;--r-scrollbar-width:7px;--r-scrollbar-trigger-size:5px;--r-controls-spacing:8px;margin:0 auto;overflow:hidden auto}@media screen and (max-width:500px){.reveal-viewport.reveal-scroll{--r-scrollbar-width:3px;--r-scrollbar-trigger-size:3px}}.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes{display:none!important}.reveal-viewport.reveal-scroll .r-overlay,.reveal-viewport.reveal-scroll .pause-overlay,.reveal-viewport.reveal-scroll .r-media-play-button{position:fixed}.reveal-viewport.reveal-scroll .reveal{touch-action:manipulation;overflow:visible}.reveal-viewport.reveal-scroll .slides{pointer-events:initial;perspective:none;perspective-origin:50%;margin:0;padding:0;display:block;position:static;top:auto;left:auto;overflow:visible;width:100%!important}.reveal-viewport.reveal-scroll .scroll-page{width:100%;height:calc(var(--page-height) + var(--page-scroll-padding));z-index:1;position:relative;overflow:visible}.reveal-viewport.reveal-scroll .scroll-page-sticky{height:var(--page-height);position:sticky;top:0}.reveal-viewport.reveal-scroll .scroll-page-content{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.reveal-viewport.reveal-scroll .scroll-page section{visibility:visible!important;width:var(--slide-width)!important;height:var(--slide-height)!important;opacity:1!important;transform:scale(var(--slide-scale)) translate(-50%,-50%)!important;transform-style:flat!important;transform-origin:0 0!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important}.reveal-viewport.reveal-scroll .slide-background{visibility:visible;opacity:1;touch-action:manipulation;width:100%;height:100%;position:absolute;top:0;left:0;z-index:auto!important;display:block!important}.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar{display:none}.reveal-viewport.reveal-scroll[data-scrollbar=true],.reveal-viewport.reveal-scroll[data-scrollbar=auto]{scrollbar-width:none}.reveal.has-dark-background,.reveal-viewport.has-dark-background{--r-overlay-element-bg-color:240, 240, 240;--r-overlay-element-fg-color:0, 0, 0}.reveal.has-light-background,.reveal-viewport.has-light-background{--r-overlay-element-bg-color:0, 0, 0;--r-overlay-element-fg-color:240, 240, 240}.reveal-viewport.reveal-scroll .scrollbar{z-index:20;opacity:0;transition:all .3s;position:sticky;top:50%}.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner{width:var(--r-scrollbar-width);height:calc(var(--viewport-height) - var(--r-controls-spacing) * 2);right:var(--r-controls-spacing);border-radius:var(--r-scrollbar-width);z-index:10;position:absolute;top:0;transform:translateY(-50%)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead{width:var(--r-scrollbar-width);height:var(--r-scrollbar-width);border-radius:var(--r-scrollbar-width);background-color:rgba(var(--r-overlay-element-bg-color),1);z-index:11;transition:background-color .2s;position:absolute;top:0;left:0}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide{background-color:rgba(var(--r-overlay-element-bg-color),.2);width:100%;box-shadow:0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);border-radius:var(--r-scrollbar-width);transition:background-color .2s;position:absolute}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after{content:"";z-index:-1;background:0 0;width:200%;height:100%;position:absolute;top:0;left:-50%}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active{background-color:rgba(var(--r-overlay-element-bg-color),.4)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger{width:100%;transition:background-color .2s;position:absolute}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers{background-color:rgba(var(--r-overlay-element-bg-color),.4);z-index:10}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after{content:"";width:var(--r-scrollbar-trigger-size);height:var(--r-scrollbar-trigger-size);background-color:rgba(var(--r-overlay-element-bg-color),1);opacity:.4;border-radius:20px;transition:transform .2s,opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after{opacity:1}.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after{transform:translate(calc(var(--r-scrollbar-width) * -2));background-color:rgba(var(--r-overlay-element-bg-color),1)}html.reveal-print *{-webkit-print-color-adjust:exact}html.reveal-print{width:100%;height:100%;overflow:visible}html.reveal-print body{border:0;padding:0;overflow:visible;float:none!important;margin:0 auto!important}html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .progress,html.reveal-print .reveal .playback,html.reveal-print .reveal.overview,html.reveal-print .state-background{display:none!important}html.reveal-print .reveal pre code{overflow:hidden!important}html.reveal-print .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.reveal-print .reveal .slides{pointer-events:initial;perspective:none;perspective-origin:50%;display:block;position:static;top:auto;left:auto;overflow:visible;zoom:1!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important}html.reveal-print .reveal .slides .pdf-page{z-index:1;page-break-after:always;position:relative;overflow:hidden}html.reveal-print .reveal .slides .pdf-page:last-of-type{page-break-after:avoid}html.reveal-print .reveal .slides section{min-height:1px;visibility:visible!important;box-sizing:border-box!important;opacity:1!important;transform-style:flat!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;transform:none!important}html.reveal-print .reveal section.stack{page-break-after:avoid!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;position:relative!important}html.reveal-print .reveal img{box-shadow:none}html.reveal-print .reveal .backgrounds{display:none}html.reveal-print .reveal .slide-background{width:100%;height:100%;position:absolute;top:0;left:0;z-index:auto!important;display:block!important}html.reveal-print .reveal.show-notes{max-width:none;max-height:none}html.reveal-print .reveal .speaker-notes-pdf{z-index:100;width:100%;height:auto;max-height:none;display:block;inset:auto}html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page]{color:inherit;page-break-after:always;background-color:#0000;border:0;padding:20px;position:relative}html.reveal-print .reveal .slide-number-pdf{visibility:visible;font-size:14px;display:block;position:absolute}html.reveal-print .aria-status{display:none}@media print{html:not(.print-pdf){width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{margin:0;padding:0;overflow:visible}html:not(.print-pdf) .reveal{background:#fff;font-size:20pt}html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .state-background,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .slide-number{display:none!important}html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td,html:not(.print-pdf) .reveal li{color:#000;font-size:20pt!important}html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6{text-align:left;letter-spacing:normal;height:auto;line-height:normal;color:#000!important}html:not(.print-pdf) .reveal h1{font-size:28pt!important}html:not(.print-pdf) .reveal h2{font-size:24pt!important}html:not(.print-pdf) .reveal h3{font-size:22pt!important}html:not(.print-pdf) .reveal h4{font-variant:small-caps;font-size:22pt!important}html:not(.print-pdf) .reveal h5{font-size:21pt!important}html:not(.print-pdf) .reveal h6{font-style:italic;font-size:20pt!important}html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited{font-weight:700;text-decoration:underline;color:#000!important}html:not(.print-pdf) .reveal ul,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal p{visibility:visible;width:auto;height:auto;margin:0;display:block;position:static;overflow:visible;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{perspective:none;perspective-origin:50%;zoom:1!important;text-align:left!important;width:auto!important;height:auto!important;margin-top:0!important;margin-left:0!important;padding:0!important;display:block!important;position:static!important;top:0!important;left:0!important;overflow:visible!important;transform:none!important}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;width:auto!important;height:auto!important;margin-top:0!important;margin-left:0!important;padding:60px 20px!important;transition:none!important;display:block!important;position:static!important;top:0!important;left:0!important;overflow:visible!important;transform:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal .slides section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal .slides section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal .r-fit-text{white-space:normal!important}html:not(.print-pdf) .reveal section img{box-shadow:none;background:#fff;border:1px solid #666;margin:15px 0;display:block}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-height:100%;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}:root{--accent: #c8510f;--accent-dark: #a8400a;--accent-soft: #fff2e9;--bg: #f3f7f8;--border: #d7e3e6;--border-strong: #b8cbd0;--brand-100: #dff3ef;--brand-700: #0d6b6b;--brand-900: #073b4c;--danger: #b83a32;--ink: #102d35;--muted: #61747c;--panel: #ffffff;--panel-2: #f7fafb;--run: #178054;--shadow: 0 12px 36px rgba(7, 59, 76, .1);--soft-shadow: 0 4px 14px rgba(7, 59, 76, .07);--teal: var(--brand-700);--teal-dark: var(--brand-900);--teal-soft: var(--brand-100);color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,input{border:1px solid var(--border-strong);border-radius:6px;min-height:34px}button{background:#fff;color:var(--ink);cursor:pointer;padding:0 12px}button:hover{border-color:var(--teal)}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:0 0 0 5px #fff;outline:3px solid var(--brand-700);outline-offset:2px}input,select{background:#fff;color:var(--ink);padding:0 10px}h1,h2{margin:0}h1{font-size:19px;line-height:1.15}h2{font-size:16px;line-height:1.2}p{margin:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.app{background:var(--bg);min-height:100vh}.muted{color:var(--muted);font-size:13px}.student-workbench{display:flex;flex-direction:column;gap:10px;min-height:calc(100vh - 64px);padding:10px}.eyebrow{color:var(--muted);font-size:12px}.eyebrow{display:block;font-weight:700}.run-button{background:var(--run);border-color:var(--run);color:#fff;font-weight:700}.hardware-menu{color:var(--muted);font-size:13px;position:relative}.hardware-menu summary{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--ink);cursor:pointer;display:inline-flex;min-height:34px;padding:0 12px}.hardware-menu span{background:#fff;border-left:1px solid var(--border);border-right:1px solid var(--border);display:block;min-width:190px;padding:8px 10px}.hardware-menu span:last-child{border-bottom:1px solid var(--border);border-radius:0 0 6px 6px}.workbench-notice{margin:0}.workbench-grid{display:grid;flex:1;grid-template-columns:minmax(320px,var(--editor-width, 35%)) 10px minmax(460px,1fr);min-height:0}.workbench-resizer{align-items:center;cursor:col-resize;display:flex;justify-content:center;min-width:10px;touch-action:none}.workbench-resizer:before{background:var(--border-strong);border-radius:999px;content:"";height:46px;width:4px}.workbench-resizer:hover:before,.workbench-resizer:focus-visible:before{background:var(--teal)}.editor-shell,.hardware-stage,.inspector-rail{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);min-width:0}.editor-shell,.hardware-stage{display:flex;flex-direction:column;min-height:0;overflow:hidden}.surface-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;min-height:56px;padding:10px 12px}.segmented,.dock-tabs{align-items:center;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;display:inline-flex;gap:2px;padding:3px}.segmented button,.dock-tabs button{border:0;border-radius:6px;color:var(--muted);min-height:28px;padding:0 10px}.segmented button[aria-pressed=true],.dock-tabs button[aria-pressed=true]{background:var(--teal);color:#fff}.editor-grid{display:grid;flex:1;gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;padding:8px}.editor-grid-blocks,.editor-grid-code{grid-template-columns:minmax(0,1fr)}.editor-grid-blocks .code-frame,.editor-grid-code .blockly-frame{display:none}.editor-frame{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;min-height:0;overflow:hidden}.blockly{height:100%;min-height:0;position:relative}.editor-frame .blockly{border:0;border-radius:0}.code-frame textarea{background:#111a17;border:0;border-radius:0;color:#d9f7e8;height:100%;line-height:1.55;min-height:0;resize:none}.runtime-pill{align-items:center;background:#fff;border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:13px;gap:8px;min-height:30px;padding:0 10px}.status-dot{background:#8b9b91;border-radius:999px;height:8px;width:8px}.status-dot.is-running{background:var(--run);box-shadow:0 0 0 4px #d86f2c2e}.canvas-stage{border-bottom:1px solid var(--border);flex:1;margin:0;min-height:0;position:relative}.canvas-stage .canvas{border:0;border-radius:0;height:100%;min-height:0}.bottom-dock{background:#fff;display:flex;flex-direction:column;min-height:265px}.dock-tabs{align-self:flex-start;margin:10px 12px 0}.component-palette{display:grid;gap:10px;padding:10px 12px 12px}.palette-search{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(170px,280px) 1fr}.palette-search span{color:var(--muted);font-size:13px}.component-actions{display:flex;flex-wrap:wrap;gap:8px}.component-cards{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.component-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;min-height:70px;padding:10px}.component-card span{color:var(--muted);font-size:12px}.inspector-rail{display:grid;gap:10px;min-height:0;overflow:auto;padding:10px}.panel{background:#fff;border:1px solid var(--border);border-radius:8px;min-width:0;padding:14px}.inspector-rail .panel,.bottom-dock .panel{box-shadow:none;padding:10px}.bottom-dock .panel{border:0}.panel-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.hardware-column{display:grid;gap:14px;min-width:0}.module-actions{justify-content:flex-start}textarea{border:1px solid var(--border);border-radius:6px;color:#13201b;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;min-height:320px;padding:12px;width:100%}.canvas{border:1px solid var(--border);border-radius:6px;min-height:320px;overflow:hidden}.unified-canvas{background:linear-gradient(rgba(31,105,89,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(31,105,89,.08) 1px,transparent 1px),#f9fbfa;background-size:22px 22px;cursor:default;overflow:hidden;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}.unified-canvas *{user-select:none;-webkit-user-select:none}.x6-wiring-canvas{height:100%}.x6-wiring-graph{height:100%;min-height:320px;position:relative;width:100%}.x6-wiring-graph .x6-graph{height:100%;outline:none;overflow:hidden;position:relative;touch-action:none;width:100%}.x6-wiring-graph .x6-graph-background,.x6-wiring-graph .x6-graph-grid,.x6-wiring-graph .x6-graph-svg{inset:0;position:absolute}.x6-wiring-graph .x6-node [magnet=true]{cursor:crosshair}.x6-wiring-graph .x6-graph-svg-stage,.x6-wiring-graph .x6-graph-grid-stage{backface-visibility:hidden;transform:translateZ(0);will-change:transform}.x6-wiring-graph image{pointer-events:none}.x6-wiring-graph .x6-node{cursor:move}.x6-wiring-graph .x6-edge .connection{fill:none;stroke-linejoin:round}.x6-wiring-graph .x6-node .x6-module-delete-control,.x6-wiring-graph .x6-node .x6-module-delete-control-mark{opacity:0;transition:opacity .12s ease}.x6-wiring-graph .x6-node .x6-module-delete-control,.x6-wiring-graph .x6-node .x6-module-delete-control-mark{pointer-events:none}.x6-wiring-graph .x6-node:hover .x6-module-delete-control,.x6-wiring-graph .x6-node:hover .x6-module-delete-control-mark{opacity:1}.x6-wiring-graph .x6-node:hover .x6-module-delete-control{pointer-events:auto}.x6-board-hot-zone-layer{inset:0;pointer-events:none;position:absolute;transform-origin:0 0;z-index:3}.x6-board-hot-zone-node{pointer-events:none;position:absolute}.x6-board-hot-zone-node .board-image{opacity:0}.x6-board-hot-zone-node .board-hot-zone,.x6-board-hot-zone-node .board-sensor-popover,.x6-board-hot-zone-node .board-sensor-popover *{pointer-events:auto}.x6-module-button-hot-zone{background:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;pointer-events:auto;position:absolute;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.x6-module-button-hot-zone:hover,.x6-module-button-hot-zone:focus-visible{box-shadow:0 0 0 4px #ffffff5c;outline:none}.x6-module-button-hot-zone.is-pressed{background:#00000042;box-shadow:inset 0 4px 10px #0000006b,0 0 0 5px #ff373742;transform:scale(.9)}.x6-sensor-input-overlay{pointer-events:none;position:absolute}.x6-sensor-value-label{color:var(--accent);font-size:18px;font-weight:800;left:50%;line-height:1;pointer-events:none;position:absolute;top:-30px;transform:translate(-50%)}.x6-sensor-adjust-button{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);color:var(--ink);cursor:pointer;font-size:14px;left:50%;min-height:36px;min-width:112px;opacity:0;padding:7px 14px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px);transition:opacity .12s ease,transform .12s ease,border-color .12s ease;z-index:5}.x6-sensor-adjust-button.is-visible,.x6-sensor-adjust-button:focus-visible,.x6-sensor-input-overlay.is-open .x6-sensor-adjust-button{opacity:1;pointer-events:auto;transform:translate(-50%)}.x6-sensor-adjust-button:hover,.x6-sensor-adjust-button:focus-visible{border-color:#7ea2d6;outline:none}.x6-sensor-input-popover{background:#fffffffa;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);color:var(--ink);display:grid;gap:12px;left:50%;min-width:340px;padding:14px;pointer-events:auto;position:absolute;top:calc(100% + 52px);transform:translate(-50%);z-index:6}.x6-sensor-input-popover.potentiometer,.x6-sensor-input-popover.pir{min-width:280px}.x6-sensor-input-popover header{align-items:center;display:flex;gap:12px;justify-content:space-between}.x6-sensor-input-popover header button{align-items:center;background:#f6fbff;border:1px solid #cbd9e7;border-radius:999px;color:#33566f;cursor:pointer;display:inline-flex;font-size:20px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.x6-sensor-input-popover label{align-items:center;display:grid;gap:10px;grid-template-columns:76px minmax(120px,1fr) 96px}.x6-sensor-input-popover label span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x6-sensor-input-popover input[type=range]{min-height:auto;padding:0;width:100%}.x6-sensor-input-popover input[type=number]{min-height:40px}.x6-sensor-toggle-row{display:grid;gap:8px;grid-template-columns:1fr 1fr}.x6-sensor-toggle-row button{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--ink);cursor:pointer;min-height:38px}.x6-sensor-toggle-row button.active{background:#e7f5ed;border-color:#5da878;color:#185d35;font-weight:700}.canvas-connection-hint{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);color:var(--ink);font-size:13px;margin:0;max-width:min(420px,calc(100% - 24px));padding:8px 10px;pointer-events:none;position:absolute;right:12px;text-align:center;top:54px;z-index:6}.canvas-connection-hint.valid{border-color:#88c993;color:#175c2a}.canvas-connection-hint.invalid{border-color:#e4a399;color:#8a241a}.canvas-help{background:#fffffff0;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);color:var(--ink);font-size:13px;margin:0;max-width:calc(100% - 24px);padding:8px 10px;pointer-events:none;position:absolute;right:12px;top:12px;z-index:6}.unified-canvas-surface{left:0;overflow:visible;position:absolute;top:0;transform-origin:0 0}.wiring-lines{inset:0;overflow:visible;position:absolute;z-index:1}.wiring-lines path{fill:none;stroke:#1f6eea;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.wiring-lines text{fill:#24415f;font-size:13px;paint-order:stroke;stroke:#fff;stroke-width:4px}.canvas-board-node,.canvas-module-node{cursor:grab;position:absolute;touch-action:none;-webkit-user-select:none;user-select:none;z-index:2}.canvas-board-node{display:grid;gap:8px}.canvas-module-node{align-items:center;background:#fffffff0;border:2px solid #a94d28;border-radius:8px;color:#4b2414;display:grid;justify-items:center;padding:12px}.canvas-module-node.grove_i2c_sensor{border-color:#4968a8;color:#1f315f}.canvas-module-node small{color:var(--muted)}.canvas-port{align-items:center;background:#fff;border:1px solid #aac9c1;border-radius:999px;color:#173d35;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:28px;min-width:42px;padding:0 8px;position:absolute;transform:translate(-50%,-50%)}.module-port{left:0;top:50%}.board-port{z-index:3}.board-shell{background:#1c2f2a;border:1px solid #14241f;border-radius:8px;color:#dceee7;display:grid;gap:10px;padding:14px}.board-panel{display:grid;gap:10px}.board-panel-embedded{background:transparent;border:0;box-shadow:none;padding:0}.board-visual{background:transparent;border-radius:8px;overflow:visible;position:relative;width:100%}.board-image{display:block;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%}.board-oled-layer,.board-hot-zone,.board-rgb-dot,.board-sensor-popover{position:absolute}.board-oled-layer{color:#e9fff7;overflow:hidden;pointer-events:none}.board-oled-canvas{display:block;height:100%;overflow:hidden;width:100%}.board-oled-text{fill:#e9fff7;font-family:Noto Sans CJK SC,Noto Sans SC,Microsoft YaHei,PingFang SC,sans-serif;font-weight:600;white-space:pre}.board-oled-bitmap,.board-oled-bitmap-inverse-bg{fill:#e9fff7;shape-rendering:crispEdges}.board-oled-bitmap-inverse{fill:#06120f;shape-rendering:crispEdges}.board-rgb-dot{border:1px solid rgba(255,255,255,.68);border-radius:999px;box-shadow:0 0 8px currentColor;height:3.1%;transform:translate(-50%,-50%);width:3.1%}.board-hot-zone{background:transparent;border:1px solid transparent;border-radius:6px;min-height:0;padding:0}.board-hot-zone:hover,.board-hot-zone:focus-visible,.board-hot-zone.is-active{background:#1f695924;border-color:#1f69598c}.sensor-zone:hover,.sensor-zone:focus-visible,.sensor-zone.is-active{background:transparent;border-color:transparent}.sensor-zone:focus-visible{outline:3px solid rgba(216,111,44,.34);outline-offset:2px}.board-sensor-popover{background:#fffffff5;border:1px solid var(--border);border-radius:8px;box-shadow:var(--soft-shadow);color:var(--ink);display:grid;left:50%;padding:10px;top:0;transform:translate(-50%,calc(-100% - 10px));width:112px;z-index:4}.board-sensor-popover.accelerometer{width:240px}.board-sensor-popover label{display:grid;gap:8px}.board-sensor-popover span{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--muted);display:inline-flex;font-variant-numeric:tabular-nums;justify-content:center;min-height:28px;padding:2px 8px}.board-sensor-popover input[type=range]{min-height:auto;padding:0;width:100%}.board-sensor-popover input[type=number]{min-width:0;width:100%}.board-accelerometer-inputs{border:0;display:grid;gap:8px;margin:0;padding:0}.board-accelerometer-inputs legend{color:var(--muted);font-size:12px;font-weight:700;margin-bottom:2px}.board-accelerometer-inputs label{align-items:center;grid-template-columns:38px minmax(0,1fr) 64px}.board-status-strip{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.board-status-strip span{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:2px 8px}.oled{align-items:center;background:#0d1512;border:1px solid #3b5b50;border-radius:4px;color:#9ff5d0;display:flex;font-family:Cascadia Code,Consolas,monospace;height:74px;justify-content:center}.led{background:#8f9692;border-radius:999px;display:inline-block;height:18px;width:18px}.led-on{background:#e34f2f;box-shadow:0 0 0 4px #e34f2f2e}.pin-led{align-items:center;display:inline-flex;gap:6px}.rgb-dot{border:1px solid rgba(255,255,255,.5);border-radius:999px;display:inline-block;height:18px;width:18px}.input-grid,.touch-grid{display:grid;gap:8px}.input-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.input-grid.compact,.touch-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.input-panel label,.input-panel fieldset{border:1px solid var(--border);border-radius:6px;display:grid;gap:6px;margin:0;min-width:0;padding:8px}.input-panel fieldset label{align-items:center;border:0;display:flex;gap:6px;padding:0}.input-panel input[type=checkbox]{min-height:auto}.serial{background:#111a17;border-radius:6px;color:#d9f7e8;min-height:150px;overflow:auto;padding:12px;white-space:pre-wrap}.status{border:1px solid var(--border-strong);border-radius:999px;color:var(--muted);font-size:12px;padding:2px 8px}.running{border-color:var(--run);color:#8a4b19}.status-row{align-items:center;display:flex;gap:8px}.status.error{border-color:var(--danger);color:#9b2d24}.status.stopped{border-color:#7a8a82}.issue-list{display:grid;gap:8px;list-style:none;margin:10px 0 0;padding:0}.empty-state{color:var(--muted);font-size:13px;margin-top:8px}.issue{border-left:3px solid #7a8a82;display:grid;gap:2px;padding-left:8px}.issue.error{border-color:var(--danger)}.issue.warning{border-color:var(--run)}.notice,.load-error{background:#fff7e5;border:1px solid #f0d8a8;border-radius:6px;color:#6f4b16;margin-bottom:10px;padding:8px 10px}.student-home{display:grid;gap:16px;margin:0 auto;max-width:1120px;padding:18px}.student-home-header{align-items:center;display:flex;gap:14px;justify-content:space-between}.student-home-header button,.student-project-new{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;font-weight:800}.student-project-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.student-project-new,.student-project-card{border-radius:8px;min-height:180px}.student-project-new{align-items:center;display:grid;gap:12px;justify-items:center;padding:22px}.student-project-new span{align-items:center;background:#fff;border-radius:999px;color:var(--teal-dark);display:inline-flex;font-size:54px;height:96px;justify-content:center;line-height:1;width:96px}.student-project-card{background:#fff;border:1px solid var(--border);display:grid;grid-template-rows:1fr auto;overflow:hidden}.student-project-open{align-content:start;background:#fff;border:0;border-radius:0;display:grid;gap:12px;justify-items:start;min-height:132px;padding:18px;text-align:left;width:100%}.student-project-open strong{font-size:18px;overflow-wrap:anywhere}.student-project-open small,.student-home-empty{color:var(--muted)}.student-project-icon{background:var(--teal);border-radius:7px;display:inline-block;height:38px;position:relative;width:38px}.student-project-icon:before,.student-project-icon:after{background:#fff;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.student-project-icon:before{height:22px;width:8px}.student-project-icon:after{height:8px;width:22px}.student-project-actions{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:10px}table{border-collapse:collapse;font-size:13px;width:100%}th,td{border-bottom:1px solid #e5e8e4;padding:8px;text-align:left}@media(max-width:1280px){.workbench-grid{grid-template-columns:minmax(300px,var(--editor-width, 38%)) 10px minmax(420px,1fr)}}@media(max-width:900px){.panel-header{align-items:stretch;flex-direction:column}.workbench-grid,.editor-grid,.inspector-rail{grid-template-columns:1fr}.workbench-resizer{display:none}.hardware-stage{min-height:780px}.canvas-stage{min-height:390px}.editor-shell{min-height:620px}}.skip-link{background:var(--brand-900);color:#fff;left:12px;padding:8px 12px;position:fixed;top:-80px;z-index:100}.skip-link:focus{top:12px}.student-shell{background:var(--bg);display:grid;grid-template-columns:168px minmax(0,1fr);min-height:100vh}.student-shell-sidebar{background:var(--brand-900);color:#fff;display:flex;flex-direction:column;min-height:100vh;padding:26px 12px}.student-shell-brand{align-items:center;color:#fff;display:flex;flex-direction:column;gap:8px;padding:0 12px 36px;text-align:center;text-decoration:none}.student-shell-brand>span:last-child{display:grid;justify-items:center}.student-shell-brand strong{font-size:19px;line-height:1.15}.student-shell-brand small{color:#ffffffad;font-size:12px}.student-shell-brand-mark{align-items:center;background:var(--brand-700);border-radius:10px;display:inline-flex;font-weight:850;height:52px;justify-content:center;width:52px}.student-shell-nav{display:grid;gap:8px}.student-shell-nav a{border-left:3px solid transparent;border-radius:8px;color:#ffffffd1;font-size:17px;font-weight:750;padding:16px;text-align:center;text-decoration:none}.student-shell-nav a:hover,.student-shell-nav a[aria-current=page]{background:#1c9a8f57;border-left-color:#61d4ca;color:#fff}.student-shell-stage{min-width:0}.student-shell-header{align-items:center;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:100px;padding:14px 36px}.student-shell-header>div:first-child{display:grid;gap:4px}.student-shell-header>div:first-child strong{font-size:20px}.student-shell-header>div:first-child span{color:var(--muted);font-size:14px}.student-shell-header .lab-user-chip{background:var(--brand-100);color:var(--brand-900)}.student-shell-header .lab-user-account button{background:#0d6b6b1f;color:var(--brand-900)}.student-learning-home,.student-projects-page{padding:32px 36px}.student-learning-heading{margin-bottom:22px}.student-learning-heading h1{font-size:30px;line-height:1.2;margin:0 0 6px}.student-learning-heading p{color:var(--muted)}.student-learning-layout{align-items:stretch;display:grid;gap:28px;grid-template-columns:minmax(0,1fr) 390px}.student-course-board,.student-today-panel{background:#fff;border:1px solid var(--border);border-radius:10px;min-height:calc(100vh - 290px);overflow:hidden}.student-course-board>.student-empty-state{padding:24px}.student-course-title{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:88px;padding:20px 24px}.student-course-title h2{font-size:22px;margin-bottom:5px}.student-course-title p,.student-course-title a{color:var(--muted);font-size:14px}.student-course-title a{color:var(--brand-700);font-weight:750}.student-lesson-list{list-style:none;margin:0;padding:0}.student-lesson-list li{align-items:center;border-bottom:1px solid var(--border);display:grid;gap:18px;grid-template-columns:44px minmax(0,1fr) auto;min-height:112px;padding:20px 24px}.student-lesson-list li:last-child{border-bottom:0}.student-lesson-list li.is-active{background:#eef9f7}.student-lesson-index{align-items:center;border:1px solid var(--border-strong);border-radius:999px;color:var(--brand-900);display:inline-flex;font-size:17px;font-weight:800;height:42px;justify-content:center;width:42px}.student-lesson-list .is-active .student-lesson-index{background:var(--brand-700);border-color:var(--brand-700);color:#fff}.student-lesson-list h3{font-size:18px;margin:0 0 5px}.student-lesson-list p,.student-lesson-status{color:var(--muted);font-size:14px}.student-primary-action{background:var(--accent);border-radius:7px;color:#fff;font-weight:800;padding:10px 22px;text-decoration:none}.student-primary-action:hover{background:var(--accent-dark)}.student-today-panel{padding:26px}.student-today-panel section+section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.student-today-panel h2{font-size:19px;margin-bottom:18px}.student-task-row{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--ink);display:grid;gap:8px;padding:16px;text-decoration:none}.student-today-panel section:first-child .student-task-row{background:var(--accent-soft);border-color:#f4c7a9}.student-task-row span,.student-empty-state{color:var(--muted);font-size:14px}.student-today-panel section:first-child .student-task-row span{color:var(--accent-dark);font-weight:750}.student-projects-page{display:grid;gap:18px}.student-projects-page .student-project-new,.student-projects-page .student-home-header button{background:var(--accent);border-color:var(--accent)}.student-projects-page .student-project-new{align-content:center;min-height:150px}.auth-page{background:var(--bg)}.auth-panel{border-radius:12px;box-shadow:none;padding:28px}.auth-brand{align-items:center;color:var(--brand-900);display:flex;gap:10px;text-decoration:none}.auth-brand span{align-items:center;background:var(--brand-900);border-radius:8px;color:#fff;display:inline-flex;font-weight:800;height:36px;justify-content:center;width:36px}.lab-primary-nav-slot{min-width:0}.lab-student-nav{align-items:center;display:flex;gap:2px}.lab-student-nav a{border-radius:6px;color:#fffc;font-weight:750;padding:8px 10px;text-decoration:none}.lab-student-nav a:hover{background:#ffffff24;color:#fff}@media(max-width:1280px){.student-learning-layout{grid-template-columns:minmax(0,1fr) 300px}.lab-topbar{gap:10px;grid-template-columns:190px auto minmax(0,1fr) auto;padding:0 12px}.lab-student-nav a{padding-inline:7px}}@media(max-width:1100px){.student-learning-layout{grid-template-columns:1fr}.student-course-board,.student-today-panel{min-height:auto}}@media(max-width:640px){.student-workbench{padding:8px}.palette-search{width:100%}.palette-search{grid-template-columns:1fr}.component-actions button{flex:1 1 140px}.editor-grid-split{grid-template-columns:1fr}}:root{--lab-orange: var(--brand-900);--lab-orange-dark: var(--brand-700);--lab-orange-soft: var(--brand-100);--lab-grid: rgba(7, 59, 76, .06);--lab-line: var(--border);--lab-panel: #ffffff;--lab-soft: var(--panel-2);--lab-text: var(--ink);--lab-muted: var(--muted);--lab-green: #178054}.app:has(.lab-shell){background:#f4f5f6}.lab-shell{background:#f5f6f7;color:var(--lab-text);display:grid;grid-template-rows:60px 1fr 26px;height:100vh;overflow:hidden}.module-delete-backdrop{align-items:center;background:#14181e6b;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:40}.module-delete-dialog{background:#fff;border:4px solid #c6cbd2;border-radius:8px;box-shadow:0 18px 42px #14181e47;max-width:min(540px,100%);overflow:hidden;width:540px}.module-delete-header{align-items:center;background:var(--accent);color:#fff;display:flex;justify-content:center;min-height:78px;padding:12px 64px;position:relative}.module-delete-header h2{color:#fff;font-size:22px;font-weight:800;text-align:center}.module-delete-close{align-items:center;background:#d99424;border:0;border-radius:999px;color:#fff;display:flex;font-size:34px;font-weight:800;height:44px;justify-content:center;min-height:44px;padding:0;position:absolute;right:18px;top:17px;width:44px}.module-delete-body{display:grid;gap:36px;padding:36px 52px}.module-delete-body p{color:#202b3a;font-size:22px;font-weight:800;line-height:1.45}.module-delete-actions{display:flex;gap:12px;justify-content:flex-end}.module-delete-actions button{border-color:#d4d9df;color:#3d4750;font-size:18px;font-weight:800;min-height:70px;min-width:92px}.module-delete-actions .module-delete-confirm{background:var(--danger);border-color:var(--danger);color:#fff}.lab-topbar{align-items:center;background:var(--brand-900);color:#fff;display:grid;gap:18px;grid-template-columns:210px auto minmax(0,1fr) auto;min-width:0;padding:0 18px;position:relative;z-index:20}.lab-brand,.lab-toolbar-actions{align-items:center;display:flex}.lab-brand{gap:10px;min-width:0}.lab-brand strong{font-size:24px;letter-spacing:0;white-space:nowrap}.lab-brand-mark{align-items:center;background:#ffffff2e;border:2px solid rgba(255,255,255,.72);border-radius:999px;display:inline-flex;font-weight:800;height:38px;justify-content:center;width:38px}.lab-toolbar-actions{gap:0;min-width:0;overflow:visible}.topbar-menu{position:relative}.topbar-menu summary{align-items:center;border-radius:0;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;list-style:none;min-height:60px;padding:0 18px;-webkit-user-select:none;user-select:none;white-space:nowrap}.topbar-menu summary::-webkit-details-marker{display:none}.topbar-menu summary:after{border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid rgba(255,255,255,.88);content:"";height:0;width:0}.topbar-menu[open] summary,.topbar-menu summary:hover{background:#0000001f}.topbar-menu-panel{background:var(--lab-orange);border-radius:0 0 10px 10px;box-shadow:0 12px 24px #14181e42;display:grid;gap:6px;left:0;min-width:230px;padding:12px;position:absolute;top:100%;z-index:30}.topbar-project-panel{min-width:320px}.topbar-course-panel{min-width:270px}.topbar-menu-panel button,.topbar-menu-panel .lab-toolbar-link{align-items:center;background:transparent;border:0;border-radius:6px;color:#fff;display:flex;font-weight:700;justify-content:flex-start;min-height:34px;padding:0 12px;text-decoration:none;white-space:nowrap;width:100%}.topbar-menu-panel button:hover,.topbar-menu-panel .lab-toolbar-link:hover{background:#ffffff2e;color:#fff}.topbar-menu-panel select{background:#ffffffeb;border:0;border-radius:6px;color:#111827;min-height:34px;width:100%}.topbar-menu-field{color:#fff;display:grid;gap:6px;font-size:12px;font-weight:700}.topbar-menu-separator{border-top:1px solid rgba(255,255,255,.28);margin:4px 0}.topbar-project-name{align-items:center;display:grid;grid-template-columns:minmax(120px,250px) auto;min-width:0}.topbar-project-name input{background:#ffffff47;border:0;border-radius:6px 0 0 6px;color:#fff;font-weight:800;min-width:0}.topbar-project-name button{background:var(--accent);border:0;border-radius:0 6px 6px 0;color:#fff;font-weight:800;min-height:34px}.topbar-project-manager{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.topbar-project-manager select{grid-column:1 / -1}.topbar-course-panel .assignment-submit-control{display:grid;gap:6px}.topbar-course-panel .assignment-submit-control select{max-width:none}.lab-user-chip{align-items:center;background:#ffffff2e;border-radius:999px;color:#fff;display:inline-flex;gap:8px;font-weight:700;min-height:34px;padding:5px 14px;text-decoration:none;white-space:nowrap}.assignment-submit-control{align-items:center;display:inline-flex;gap:6px}.assignment-submit-control select{max-width:180px}.lab-user-account button{background:#ffffff2e;border:0;border-radius:999px;color:#fff;min-height:26px;padding:0 9px}.lab-user-link:hover,.lab-user-account button:hover{background:#ffffff47}.auth-page{display:grid;min-height:100vh;padding:24px;place-items:center}.auth-panel{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:none;display:grid;gap:16px;max-width:420px;padding:28px;width:min(100%,420px)}.auth-header{display:grid;gap:6px}.auth-header h1{font-size:28px}.auth-form{display:grid;gap:12px}.auth-form label{color:var(--muted);display:grid;gap:6px;font-size:13px}.auth-form button[type=submit]{background:var(--teal-dark);border-color:var(--teal-dark);color:#fff;font-weight:800}.auth-switch{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.auth-switch a,.auth-switch button{background:transparent;border:0;color:var(--teal-dark);font-weight:700;padding:0}.auth-message{color:var(--muted);font-size:13px}.auth-loading{color:var(--muted);display:grid;min-height:100vh;place-items:center}.lab-clock{color:#ddffdb;font-variant-numeric:tabular-nums;font-weight:800;min-width:82px;text-align:right}.lab-status-dot{background:#fff;border-radius:999px;height:9px;width:9px}.lab-status-running{background:var(--lab-green)}.lab-status-error{background:#b42318}.mobile-workspace-tabs{display:none}.lab-workspace{border-left:3px solid var(--lab-orange);border-right:3px solid var(--lab-orange);display:grid;grid-template-columns:300px minmax(560px,1fr);min-height:0;overflow:hidden;position:relative}.lab-workspace-resizable{grid-template-columns:minmax(240px,var(--left-width, 28%)) 10px minmax(460px,1fr)}.lab-workspace-resizer{background:#f8f9fa;border-left:1px solid var(--lab-line);border-right:1px solid var(--lab-line);z-index:4}.lab-left,.lab-main,.lab-right{min-height:0;min-width:0}.lab-left{background:var(--lab-panel);border-right:1px solid var(--lab-line);display:flex;flex-direction:column}.lab-left-tabs{align-items:center;background:#fbfbfc;border-bottom:1px solid var(--lab-line);display:flex;gap:4px;height:42px;padding:0 14px}.lab-left-tabs button{background:transparent;border:0;border-radius:0;color:#4f5963;min-height:40px;padding:0 10px}.lab-left-tabs button[aria-pressed=true]{border-bottom:2px solid var(--lab-orange);color:#111820}.component-library{display:grid;gap:10px;grid-template-rows:auto auto auto auto 1fr;min-height:0;padding:12px}.blockly-sidebar{display:grid;flex:1;grid-template-columns:92px 1fr;min-height:0}.blockly-sidebar.blockly-live{display:block;overflow:hidden;position:relative}.blockly-sidebar.blockly-live .blockly{height:100%;width:100%}.blockly-sidebar.blockly-live.programming-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.blockly-sidebar.blockly-live.programming-workspace.programming-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.programming-blocks{min-height:0;min-width:0;overflow:hidden}.programming-blocks .blockly{height:100%;width:100%}.programming-code{height:100%;min-height:0;min-width:0}.programming-workspace.programming-blocks .programming-code{display:none}.programming-workspace.programming-code .programming-blocks,.programming-workspace.programming-code .programming-code{grid-column:1;grid-row:1}.programming-workspace.programming-code .programming-blocks{pointer-events:none;visibility:hidden}.programming-workspace.programming-split .programming-code{border-left:1px solid var(--lab-line)}.python-code-editor{background:#fff;color:#14202a;display:grid;font-family:Consolas,SFMono-Regular,Liberation Mono,monospace;font-size:14px;grid-template-columns:auto minmax(0,1fr);line-height:1.6;min-height:0;min-width:0;overflow:hidden}.python-code-gutter{background:#fbfbfc;border-right:1px solid #e5e7eb;color:#6b7280;min-width:46px;overflow:hidden;padding:10px 8px;text-align:right;-webkit-user-select:none;user-select:none}.python-code-gutter-inner{will-change:transform}.python-code-line-number{display:block;font-variant-numeric:tabular-nums}.python-code-body{min-height:0;min-width:0;overflow:hidden;position:relative}.python-code-highlight,.python-code-input{border:0;border-radius:0;box-sizing:border-box;font:inherit;inset:0;line-height:inherit;margin:0;min-height:100%;min-width:100%;padding:10px 12px;position:absolute;tab-size:2;white-space:pre}.python-code-highlight{pointer-events:none;will-change:transform}.python-code-input{background:transparent;caret-color:#14202a;color:transparent;height:100%;outline:none;overflow:auto;resize:none;width:100%}.python-code-input::selection{background:#ff8b213d;color:transparent}.python-token-keyword{color:#006bd6;font-weight:700}.python-token-builtin{color:#c2410c;font-weight:700}.python-token-string{color:#0f766e}.python-token-number{color:#b91c1c}.python-token-comment{color:#6b7280;font-style:italic}.library-search input{background:#f3f4f5;border-color:var(--lab-line);border-radius:999px;width:100%}.library-categories{display:grid;gap:5px}.library-categories button{align-items:center;background:transparent;border:0;border-radius:6px;color:#3d4750;display:flex;justify-content:flex-start;min-height:30px;padding:0 8px}.library-categories button[aria-pressed=true]{background:var(--lab-orange-soft);color:var(--lab-orange-dark);font-weight:800}.library-quick-actions{display:grid;gap:6px;grid-template-columns:1fr 1fr}.library-quick-actions button{border-color:#ffd2b8;color:var(--lab-orange-dark)}.component-count{color:var(--lab-muted);font-size:12px}.library-cards{display:grid;gap:8px;min-height:0;overflow:auto;padding-right:2px}.console-panel .component-library{gap:10px 18px;grid-template-columns:270px 1fr;grid-template-rows:auto 1fr;padding:0}.console-panel .library-search{grid-column:1}.console-panel .library-quick-actions,.console-panel .component-count{display:none}.console-panel .library-categories{align-items:center;display:flex;flex-wrap:wrap;gap:14px;grid-column:2;grid-row:1}.console-panel .library-categories button{border-radius:999px;font-weight:800;justify-content:center;min-height:32px;padding:0 14px}.console-panel .library-cards{display:flex;gap:12px;grid-column:1 / -1;overflow:auto}.console-panel .library-card{flex:0 0 92px;min-height:96px}.console-panel .component-thumb{height:42px;width:76px}.library-card{align-items:center;background:#fff;border:1px solid #e8ebef;border-radius:8px;cursor:grab;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:96px;padding:8px}.library-card:active{cursor:grabbing}.component-thumb{display:block;height:44px;object-fit:contain;width:72px}.component-name{color:#111820;display:-webkit-box;font-size:12px;font-weight:600;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.15;max-width:100%;min-height:28px;overflow:hidden;overflow-wrap:anywhere;text-align:center;word-break:break-word}.lab-main{display:grid;grid-template-rows:minmax(360px,1fr);position:relative}.simulation-canvas{background:linear-gradient(var(--lab-grid) 1px,transparent 1px),linear-gradient(90deg,var(--lab-grid) 1px,transparent 1px),#f8f9fa;background-size:16px 16px;border-bottom:1px solid var(--lab-line);min-height:0;overflow:hidden;position:relative;user-select:none;-webkit-user-select:none}.canvas-runtime{align-items:center;color:#26313a;display:flex;gap:12px;pointer-events:none;position:absolute;right:22px;top:10px;-webkit-user-select:none;user-select:none;z-index:5}.canvas-view-tabs{background:#fff;border:1px solid var(--lab-line);border-radius:6px;display:flex;left:12px;padding:2px;position:absolute;top:10px;z-index:5}.canvas-view-tabs button{background:transparent;border:0;border-radius:4px;color:#5d6872;font-weight:700;min-height:28px;min-width:56px;padding:2px 10px}.canvas-view-tabs button[aria-selected=true]{background:var(--brand-100);color:var(--brand-900)}.canvas-view-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.canvas-run-pill,.canvas-reset-pill{background:#fff;border:1px solid #8cdb82;border-radius:999px;color:var(--lab-green);font-weight:800;min-height:30px;padding:3px 18px;pointer-events:auto}.canvas-run-pill.is-running{background:#eefdec}.canvas-runtime span:last-child{background:#fff;border:1px solid #e2e5e8;border-radius:6px;box-shadow:0 6px 18px #19202814;font-size:13px;padding:8px 10px}.canvas-clock{color:var(--lab-green);font-variant-numeric:tabular-nums;min-width:86px}.canvas-surface{height:100%;position:relative;width:100%}.canvas-view-panel{height:100%;width:100%}@media(max-width:640px){.canvas-view-tabs{top:50px}.simulation-canvas .canvas-help{top:96px}.simulation-canvas .canvas-connection-hint{top:138px}}.simulation-canvas .unified-canvas{background:linear-gradient(rgba(39,48,57,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(39,48,57,.08) 1px,transparent 1px),#f2f3f4;background-size:16px 16px;border:0;border-radius:0;height:100%;min-height:0}.simulation-canvas .canvas-help{right:64px;top:54px}.simulation-canvas .canvas-connection-hint{right:64px;top:96px}.console-panel{background:#fff;border:1px solid var(--lab-line);border-radius:10px 10px 0 0;bottom:26px;box-shadow:0 -8px 24px #1e2a321a;display:grid;grid-template-rows:44px 1fr;height:300px;left:16%;min-height:0;overflow:hidden;position:absolute;right:12%;transition:height .18s ease,box-shadow .18s ease;z-index:6}.console-panel.is-collapsed{grid-template-rows:44px;height:90px}.console-tabs{align-items:center;display:flex;gap:10px;padding:8px 14px 0}.console-tabs button{background:transparent;border:0;border-radius:999px;color:#8a949e;font-weight:800}.console-tabs button[aria-pressed=true]{background:var(--lab-orange-soft);color:var(--lab-orange-dark)}.console-tabs .console-panel-toggle{align-items:center;background:#fff;border:1px solid #ff8b33;border-radius:999px;color:var(--lab-orange-dark);display:inline-flex;height:22px;justify-content:center;margin-left:auto;min-height:22px;padding:0;width:36px}.console-tabs .console-panel-toggle:hover,.console-tabs .console-panel-toggle:focus-visible{background:var(--lab-orange-soft)}.console-panel-toggle-icon{border:solid currentColor;border-width:0 1.5px 1.5px 0;display:block;height:6px;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;width:6px}.console-panel.is-collapsed .console-panel-toggle-icon{transform:translateY(2px) rotate(-135deg)}.console-panel.is-collapsed .console-body{opacity:0;pointer-events:none;transform:translateY(-8px)}.console-body{min-height:0;opacity:1;overflow:auto;padding:8px 14px 14px;transform:translateY(0);transition:opacity .14s ease,transform .18s ease}.console-body pre{background:#101820;border-radius:6px;color:#dcfce7;height:100%;margin:0;overflow:auto;padding:10px;white-space:pre-wrap}@media(prefers-reduced-motion:reduce){.console-panel,.console-body,.console-panel-toggle-icon{transition:none}}.lab-right{background:#fff;border-left:1px solid var(--lab-line);display:grid;grid-template-rows:minmax(240px,.48fr) minmax(300px,.52fr);position:absolute;right:0;top:0;bottom:0;transform:translate(100%);transition:transform .14s ease;width:360px;z-index:8}.lab-shell[data-active-panel=code] .lab-right,.lab-shell[data-active-panel=inspector] .lab-right{box-shadow:-14px 0 26px #1e2a321f;transform:translate(0)}.lab-shell[data-active-panel=code] .right-inspector,.lab-shell[data-active-panel=inspector] .code-editor-panel{display:none}.lab-shell[data-active-panel=code] .lab-right,.lab-shell[data-active-panel=inspector] .lab-right{grid-template-rows:1fr}.right-inspector,.code-editor-panel{display:flex;flex-direction:column;min-height:0}.right-inspector{border-bottom:1px solid var(--lab-line);overflow:auto}.panel-title{border-bottom:1px solid var(--lab-line);display:grid;gap:2px;padding:10px 12px}.panel-title span{color:var(--lab-muted);font-size:12px}.panel-title strong{font-size:15px}.inspector-title{align-items:center;grid-template-columns:minmax(0,1fr) auto}.inspector-title-copy{display:grid;gap:2px;min-width:0}.inspector-title-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-close{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--lab-muted);cursor:pointer;display:inline-flex;font-size:22px;height:34px;justify-content:center;line-height:1;width:34px}.inspector-close:hover,.inspector-close:focus-visible{background:#f1f3f5;border-color:var(--lab-line);color:var(--lab-text);outline:none}.property-list{display:grid;gap:8px;margin:0;padding:12px}.property-list div{align-items:center;background:#f8f9fa;border:1px solid #eceff2;border-radius:6px;display:grid;grid-template-columns:80px 1fr;min-height:34px;padding:6px 8px}.property-list dt{color:var(--lab-muted);font-size:12px}.property-list dd{font-size:12px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-property-editor{border:0;border-top:1px solid var(--lab-line);display:grid;gap:10px;margin:0;padding:12px}.module-property-editor legend{color:var(--lab-muted);font-size:12px;font-weight:700;padding:0 4px}.module-property-editor label{align-items:center;display:grid;gap:8px;grid-template-columns:80px 44px 1fr}.module-property-editor label span,.module-property-editor output,.module-property-editor p{font-size:12px}.module-property-editor input[type=color]{background:#fff;border:1px solid var(--lab-line);border-radius:6px;cursor:pointer;height:34px;padding:3px;width:44px}.module-property-editor output{color:var(--lab-muted);font-family:Consolas,Courier New,monospace}.module-property-editor p{color:var(--lab-muted);line-height:1.5;margin:0}.right-inspector .panel{border:0;border-top:1px solid var(--lab-line);border-radius:0;padding:12px}.code-title{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.mode-switch{display:flex;gap:4px}.mode-switch button{border:0;border-radius:999px;color:#737d87;min-height:28px}.mode-switch button[aria-pressed=true]{background:var(--lab-orange-soft);color:var(--lab-orange-dark)}.code-editor-grid{display:grid;flex:1;gap:0;grid-template-columns:1fr;min-height:0}.code-editor-blocks,.code-editor-code{grid-template-columns:1fr}.code-editor-code .blockly-pane{display:none}.blockly-pane{border-right:1px solid var(--lab-line);min-height:0}.code-editor-grid .blockly,.code-editor-grid .python-code-editor{border:0;border-radius:0;height:100%;min-height:0}.code-editor-grid .python-code-editor{font-size:14px;line-height:1.6}.status-bar{align-items:center;background:#f1f2f3;border-top:1px solid var(--lab-line);color:#6a747d;display:flex;font-size:12px;gap:14px;min-width:0;overflow:hidden;padding:0 10px;white-space:nowrap}.status-bar span{overflow:hidden;text-overflow:ellipsis}.status-bar .status-error{color:#c0392b;flex-shrink:0;font-weight:600;max-width:40ch;overflow:visible;text-overflow:clip;white-space:normal}@media(max-width:1280px){.lab-workspace{grid-template-columns:270px minmax(460px,1fr)}.lab-workspace-resizable{grid-template-columns:minmax(220px,var(--left-width, 28%)) 10px minmax(360px,1fr)}.lab-topbar{grid-template-columns:190px auto minmax(0,1fr) auto}}@media(max-width:900px){.lab-shell{grid-template-rows:auto auto 1fr auto;height:auto;min-height:100vh;overflow:visible}.lab-topbar{gap:8px;grid-template-columns:1fr;padding:8px}.lab-toolbar-actions{flex-wrap:wrap}.topbar-menu summary{min-height:42px;padding:0 14px}.topbar-menu-panel{max-width:calc(100vw - 16px)}.mobile-workspace-tabs{background:#fff;border-bottom:1px solid var(--lab-line);display:grid;gap:4px;grid-template-columns:repeat(5,1fr);padding:6px}.mobile-workspace-tabs button{border:0;border-radius:6px;min-height:32px}.mobile-workspace-tabs button[aria-pressed=true]{background:var(--lab-orange);color:#fff}.lab-workspace{border:0;display:block}.lab-left,.lab-main,.lab-right,.lab-workspace-resizer{display:none}.lab-shell[data-active-panel=components] .lab-left{display:flex;min-height:calc(100vh - 134px)}.lab-shell[data-active-panel=canvas] .lab-main,.lab-shell[data-active-panel=console] .lab-main{display:grid;grid-template-rows:minmax(520px,1fr) 240px;min-height:calc(100vh - 134px)}.lab-shell[data-active-panel=canvas] .console-panel,.lab-shell[data-active-panel=console] .simulation-canvas{display:none}.lab-shell[data-active-panel=console] .lab-main{grid-template-rows:1fr}.lab-shell[data-active-panel=code] .lab-right,.lab-shell[data-active-panel=inspector] .lab-right{display:grid;grid-template-rows:1fr;min-height:calc(100vh - 134px)}.lab-shell[data-active-panel=code] .right-inspector,.lab-shell[data-active-panel=inspector] .code-editor-panel{display:none}}.dc-motor-shaft{transform-box:fill-box;transform-origin:center}:root{--bp-bg: #f4f8fb;--bp-surface: #ffffff;--bp-ink: #0b1f33;--bp-muted: #52667a;--bp-line: #a8c2d4;--bp-primary: #0866ff;--bp-cyan: #00a6d6;--bp-success: #087a5b;--bp-danger: #c63d3d;--bp-warning: #a46c00;--bp-lime: #6f9300;--bp-font: "Noto Sans SC", "Microsoft YaHei", sans-serif;--bp-mono: "IBM Plex Mono", "Cascadia Mono", monospace}.blueprint-auth-page{min-height:100vh;width:100%;display:grid!important;grid-template-columns:minmax(520px,1.45fr) minmax(430px,1fr);align-items:stretch!important;padding:0!important;background:var(--bp-bg)!important;font-family:var(--bp-font)}.blueprint-auth-story{display:flex;flex-direction:column;justify-content:space-between;padding:46px 54px;background:var(--bp-bg);color:var(--bp-ink);border-right:1px solid var(--bp-line)}.blueprint-auth-brand{display:flex;flex-direction:column;gap:6px;color:var(--bp-ink);text-decoration:none}.blueprint-auth-brand span{color:var(--bp-primary);font:700 11px var(--bp-mono)}.blueprint-auth-brand strong{font-size:24px}.blueprint-auth-brand small{color:var(--bp-muted)}.blueprint-auth-story>div{max-width:680px}.blueprint-auth-story h1{margin:18px 0;font-size:44px;line-height:1.25}.blueprint-auth-story p{max-width:650px;color:var(--bp-muted);font-size:15px;line-height:1.8}.blueprint-auth-story footer{display:flex;align-items:center;gap:22px;padding:16px;border:1px solid var(--bp-line);background:#fff;color:var(--bp-muted);font:700 10px var(--bp-mono)}.blueprint-auth-story footer span{display:flex;align-items:center;gap:7px}.blueprint-auth-story footer strong{margin-left:auto;color:var(--bp-primary)}.blueprint-auth-panel{width:auto!important;max-width:460px!important;margin:auto!important;padding:38px!important;border:1px solid var(--bp-line)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.blueprint-auth-panel .auth-header{margin-bottom:25px}.blueprint-auth-panel .auth-header h1{font-size:30px;margin:7px 0}.blueprint-auth-panel .auth-header p:last-child{color:var(--bp-muted);font-size:12px}.blueprint-auth-panel .course-kicker{color:var(--bp-primary);font:700 10px var(--bp-mono)}.blueprint-auth-panel .auth-form{gap:17px}.blueprint-auth-panel .auth-form label{gap:8px;font-size:12px}.blueprint-auth-panel .auth-form input{height:48px;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc}.blueprint-auth-panel .auth-form input:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.blueprint-auth-panel .auth-form button{height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--bp-cyan);border-radius:0;background:var(--bp-primary);font-weight:700}.blueprint-login-help{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:var(--bp-muted);font-size:10px}.blueprint-login-help code{font:9px var(--bp-mono)}.blueprint-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);background:var(--bp-bg);color:var(--bp-ink);font-family:var(--bp-font)}.blueprint-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:26px 20px;background:var(--bp-ink);color:#fff;z-index:10}.blueprint-brand{display:flex;flex-direction:column;gap:5px;padding-bottom:18px;color:#fff;text-decoration:none;border-bottom:1px solid #355168}.blueprint-brand-code,.blueprint-path,.blueprint-eyebrow{color:var(--bp-cyan);font:600 11px/1.4 var(--bp-mono);letter-spacing:.05em}.blueprint-brand strong{font-size:19px}.blueprint-brand small{color:#bfd0de;font-size:11px}.blueprint-nav{display:flex;flex-direction:column;gap:6px}.blueprint-nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 11px;border-left:3px solid transparent;color:#d7e2ea;text-decoration:none;font-size:13px;transition:background .16s,color .16s}.blueprint-nav a:hover{background:#173a55;color:#fff}.blueprint-nav a[aria-current=page]{background:var(--bp-primary);color:#fff;border-left-color:var(--bp-cyan);font-weight:700}.blueprint-sidebar-meta{margin-top:auto;display:flex;flex-direction:column;gap:7px;padding-top:17px;border-top:1px solid #355168}.blueprint-sidebar-meta span,.blueprint-sidebar-meta small{color:#94aabc;font:9px var(--bp-mono)}.blueprint-sidebar-meta strong{font-size:13px}.blueprint-stage{min-width:0}.blueprint-topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:1px solid var(--bp-line)}.blueprint-topbar>div:first-child{display:flex;flex-direction:column;gap:3px}.blueprint-topbar strong{font-size:15px}.blueprint-topbar-actions{display:flex;align-items:center;gap:12px}.blueprint-online{display:inline-flex;align-items:center;gap:7px;color:var(--bp-success);font:700 10px var(--bp-mono)}.blueprint-online i{width:8px;height:8px;border-radius:50%;background:var(--bp-success)}.blueprint-content{min-height:calc(100vh - 70px);padding:28px 30px 38px}.blueprint-page{width:min(1180px,100%);margin:0 auto;display:flex;flex-direction:column;gap:18px}.blueprint-page-heading{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px}.blueprint-page-heading>div{display:flex;flex-direction:column;gap:4px}.blueprint-page-heading span:first-child{color:var(--bp-primary);font:700 10px var(--bp-mono)}.blueprint-page-heading h1{margin:0;font-size:26px;line-height:1.2}.blueprint-page-heading p{margin:0;color:var(--bp-muted);font-size:12px}.blueprint-primary,.blueprint-secondary{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border:1px solid var(--bp-cyan);border-radius:0;background:var(--bp-primary);color:#fff;font:700 12px var(--bp-font);text-decoration:none;cursor:pointer}.blueprint-secondary{background:#fff;border-color:var(--bp-line);color:var(--bp-primary)}.blueprint-primary:disabled,.blueprint-secondary:disabled{opacity:.58;cursor:not-allowed}.blueprint-link{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--bp-primary);font-weight:700;cursor:pointer}.blueprint-link:disabled{color:var(--bp-muted);cursor:not-allowed}.blueprint-status{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 10px;border:1px solid var(--bp-line);font:700 10px var(--bp-mono)}.blueprint-status.success{color:var(--bp-success);background:#eaf8f4;border-color:var(--bp-success)}.blueprint-card,.blueprint-table-card{background:#fff;border:1px solid var(--bp-line)}.blueprint-grid{display:grid;gap:12px}.blueprint-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.blueprint-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.blueprint-metric{min-height:90px;display:flex;flex-direction:column;gap:5px;padding:15px 16px;background:#fff;border:1px solid var(--bp-line)}.blueprint-metric span{color:var(--bp-muted);font-size:11px}.blueprint-metric strong{font:700 23px var(--bp-mono)}.blueprint-metric small{color:var(--bp-muted);font:9px var(--bp-mono)}.blueprint-metric.is-dark{background:var(--bp-ink);border-color:var(--bp-cyan);color:#fff}.blueprint-metric.is-dark span,.blueprint-metric.is-dark small{color:#bfd0de}.blueprint-metric.is-success strong{color:var(--bp-success)}.blueprint-metric.is-danger strong{color:var(--bp-danger)}.manual-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);min-height:280px;background:var(--bp-ink);color:#fff;border:1px solid var(--bp-cyan)}.manual-hero>div:first-child{padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}.manual-hero h2{font-size:31px;margin:0}.manual-hero p{max-width:650px;color:#d7e2ea;line-height:1.7;margin:0}.manual-simulator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:#102b3f;border-left:1px solid #48677e;font:700 11px var(--bp-mono)}.manual-simulator i{width:70px;height:70px;border-radius:50%;background:#d84848;border:5px solid #ffb4b4;box-shadow:0 0 22px #c63d3d88}.manual-simulator span{color:#94aabc}.manual-simulator strong{color:var(--bp-cyan);font-size:16px}.manual-simulator small{color:#91bd25}.lesson-step{padding:18px}.lesson-step>span{color:var(--bp-cyan);font:700 25px var(--bp-mono)}.lesson-step h3{margin:9px 0 5px}.lesson-step p{color:var(--bp-muted);margin:0;font-size:12px}.manual-tip,.import-note{display:flex;align-items:center;gap:14px;padding:18px 20px;border-left:3px solid var(--bp-primary)}.manual-tip h3,.manual-tip p,.import-note h3,.import-note p{margin:0}.manual-tip p,.import-note p{color:var(--bp-muted);font-size:12px;margin-top:5px}.blueprint-table-card{overflow:hidden}.blueprint-table-head,.blueprint-table-row{display:grid;grid-template-columns:1.6fr 1fr .8fr 1fr;align-items:center;gap:12px;padding:0 15px}.blueprint-table-head{min-height:44px;background:#eaf2ff;color:var(--bp-muted);font:700 10px var(--bp-mono);border-bottom:1px solid var(--bp-line)}.blueprint-table-row{min-height:66px;border-bottom:1px solid #dbe6ed;font-size:12px}.blueprint-table-row:last-child{border-bottom:0}.blueprint-table-row strong{display:flex;flex-direction:column;gap:4px}.blueprint-table-row small{color:var(--bp-muted);font-weight:400}.blueprint-table-row a{display:inline-flex;align-items:center;gap:4px;color:var(--bp-primary);text-decoration:none;font-weight:700}.student-list{grid-template-columns:1.4fr 1fr 1fr 1fr}.text-success{color:var(--bp-success)!important}.text-muted{color:var(--bp-muted)!important}.text-warning{color:var(--bp-warning)!important}.settings-layout,.mqtt-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:18px}.blueprint-form,.service-card,.mqtt-log{display:flex;flex-direction:column;gap:15px;padding:22px}.blueprint-form h2,.blueprint-form p{margin:0}.blueprint-form p{color:var(--bp-muted);font-size:12px}.blueprint-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.blueprint-form input,.blueprint-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc;padding:12px 13px;color:var(--bp-ink);font:500 13px var(--bp-font)}.blueprint-form textarea{min-height:90px;resize:vertical}.blueprint-form input:focus,.blueprint-form textarea:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.service-title{display:flex;justify-content:space-between;align-items:center}.service-title h2{margin:0}.service-card>span{color:var(--bp-cyan);font:700 10px var(--bp-mono)}.service-card>code{padding:18px;background:var(--bp-ink);color:#fff;border:1px solid var(--bp-cyan);font-size:17px}.service-row{display:grid;grid-template-columns:1fr 80px 70px;align-items:center;min-height:54px;padding:0 12px;background:#f7fafc;border:1px solid var(--bp-line);font-size:12px}.service-row em{color:var(--bp-success);font-style:normal;font:700 10px var(--bp-mono)}.teacher-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.teacher-tool-card>svg{color:var(--bp-primary)}.teacher-tool-card>span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.teacher-tool-card h2,.teacher-tool-card p{margin:0}.teacher-tool-card p{color:var(--bp-muted);font-size:12px;line-height:1.6}.teacher-tool-card{display:flex;min-height:230px;box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:10px;padding:24px}.teacher-tool-card .blueprint-primary{margin-top:auto}.class-card{padding:20px;color:var(--bp-ink);text-decoration:none}.class-card>span,.course-blueprint header span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.class-card h2{margin:10px 0}.class-card>strong{font:700 29px var(--bp-mono)}.class-card>strong small{font:500 11px var(--bp-font)}.class-card p{color:var(--bp-muted)}.class-card em{display:flex;align-items:center;gap:5px;color:var(--bp-primary);font-style:normal;font-weight:700;font-size:12px}.course-blueprint header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--bp-ink);color:#fff;border-bottom:2px solid var(--bp-cyan)}.course-blueprint header h2{margin:7px 0 0}.course-blueprint header strong{font:700 28px var(--bp-mono)}.course-blueprint header small{font-size:9px}.course-blueprint>div>a{display:grid;grid-template-columns:54px 210px minmax(0,1fr) 120px;align-items:center;min-height:66px;padding:0 16px;border-bottom:1px solid var(--bp-line);color:var(--bp-ink);text-decoration:none}.course-blueprint>div>a:last-child{border-bottom:0}.course-blueprint>div>a>span{font:700 18px var(--bp-mono);color:var(--bp-cyan)}.course-blueprint>div>a>small{color:var(--bp-muted)}.course-blueprint>div>a>em{display:flex;align-items:center;gap:5px;color:var(--bp-success);font-style:normal;font-size:11px;font-weight:700}.classes-list-shell .blueprint-content{padding:24px 30px}.classes-list-page{width:min(1160px,100%);gap:18px}.classes-list-page .blueprint-page-heading{min-height:90px;align-items:flex-end}.classes-list-page .blueprint-page-heading>div{gap:6px}.classes-list-page .blueprint-page-heading h1{font-size:32px}.classes-list-page .blueprint-page-heading p{font-size:13px}.classes-page-actions{display:flex;gap:10px}.classes-page-actions .blueprint-primary,.classes-page-actions .blueprint-secondary{min-height:42px;padding:0 14px}.classes-create-form{margin-top:-8px}.classes-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;height:112px}.classes-metrics .blueprint-metric{min-height:112px;box-sizing:border-box;justify-content:center;padding:20px}.classes-metrics .blueprint-metric strong{order:1;color:var(--bp-primary);font-size:28px;line-height:1}.classes-metrics .blueprint-metric span{order:2;font-size:11px}.classes-metrics .blueprint-metric small{display:none}.classes-metrics .blueprint-metric.is-dark{border-color:var(--bp-ink)}.classes-metrics .blueprint-metric.is-dark strong{color:var(--bp-cyan)}.classes-import-note{height:66px;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--bp-line);background:#eaf2ff}.classes-import-note>svg{flex:0 0 auto;color:var(--bp-primary)}.classes-import-note>div{display:flex;flex-direction:column;gap:4px}.classes-import-note strong{font-size:12px}.classes-import-note span{color:var(--bp-muted);font-size:11px}.classes-table{min-height:460px;overflow:hidden;border:1px solid var(--bp-line);background:#fff}.classes-table-head,.classes-table-row{display:grid;grid-template-columns:300px 150px 240px 230px minmax(170px,1fr);align-items:center;min-width:1090px}.classes-table-head{height:42px;padding:0 16px;box-sizing:border-box;background:#e8f0f6;color:var(--bp-muted);font:600 9px var(--bp-mono)}.classes-table-row{height:92px;border-bottom:1px solid var(--bp-line)}.classes-table-row:nth-child(odd){background:#fafcfd}.classes-table-row:last-child{border-bottom:0}.classes-name-cell{height:100%;display:flex;align-items:center;gap:14px;padding:0 16px;box-sizing:border-box}.classes-name-cell>span{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--bp-line);background:var(--bp-bg);color:var(--bp-primary);font:600 10px var(--bp-mono)}.classes-name-cell>strong,.classes-count-cell,.classes-course-cell{display:flex;flex-direction:column;gap:4px}.classes-name-cell>strong{font-size:15px}.classes-name-cell small,.classes-count-cell small,.classes-course-cell small{color:var(--bp-muted);font-size:10px;font-weight:400}.classes-count-cell,.classes-course-cell{height:100%;justify-content:center}.classes-count-cell>strong{font:700 18px var(--bp-mono)}.classes-course-cell>strong{font-size:12px}.classes-status-cell{height:100%;display:flex;align-items:center;gap:8px;color:var(--bp-muted);font-size:11px}.classes-status-cell i{width:7px;height:7px;border-radius:50%;background:var(--bp-muted)}.classes-action-cell{height:100%;display:flex;align-items:center;gap:16px;padding:0 16px}.classes-action-cell a{color:var(--bp-primary);font-size:11px;font-weight:600;text-decoration:none}.classes-action-cell button{border:0;background:transparent;color:var(--bp-muted);font:12px var(--bp-mono);cursor:pointer}.classes-table>.blueprint-empty{min-width:1090px}.mqtt-log>div{display:grid;grid-template-columns:90px 250px 1fr;align-items:center;min-height:58px;padding:0 12px;background:var(--bp-ink);color:#d9ecff;border-bottom:1px solid #355168;font:10px var(--bp-mono)}.mqtt-log code{color:var(--bp-cyan)}.mqtt-page{gap:14px}.mqtt-console-layout{display:grid;grid-template-columns:minmax(0,1.55fr) 360px;gap:16px}.mqtt-stream{min-height:520px;padding:18px}.mqtt-stream>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mqtt-stream h2{margin:0}.mqtt-stream>header>div{display:flex;gap:7px}.mqtt-stream .blueprint-secondary{min-height:34px;padding:0 11px}.mqtt-filter{height:42px;display:flex;align-items:center;gap:9px;margin:14px 0;padding:0 12px;border:1px solid var(--bp-line);background:#f7fafc}.mqtt-filter input{width:100%;border:0;outline:0;background:transparent;font:11px var(--bp-mono)}.mqtt-stream .mqtt-log{min-height:405px;background:var(--bp-ink);border:1px solid var(--bp-cyan)}.mqtt-stream .mqtt-log>div{grid-template-columns:95px minmax(210px,1.2fr) minmax(160px,1fr) 40px;min-height:50px}.mqtt-stream .mqtt-log em{color:var(--bp-lime);font-style:normal;font-weight:700}.mqtt-side{display:flex;flex-direction:column;gap:14px}.broker-profile{padding:18px}.broker-profile>span,.mqtt-publish h2{color:var(--bp-cyan);font:700 10px var(--bp-mono)}.broker-profile>div{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--bp-line)}.broker-profile small{color:var(--bp-muted);font:9px var(--bp-mono)}.broker-profile strong{font:700 11px var(--bp-mono)}.mqtt-publish{flex:1;background:var(--bp-ink);color:#fff;border-color:var(--bp-cyan)}.mqtt-publish input,.mqtt-publish textarea{background:#102b3f;border-color:#48677e;color:#fff}.mqtt-publish>small{color:#bfd0de;font:9px var(--bp-mono)}.mqtt-error{border-left-color:var(--bp-danger);background:#fff1f1;color:var(--bp-danger)}.account-settings{gap:13px}.teacher-identity{display:flex;align-items:center;gap:14px;padding:14px;background:#eaf2ff;border:1px solid var(--bp-primary)}.teacher-identity>strong{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bp-primary);color:#fff;font-size:20px}.teacher-identity>div{display:flex;flex-direction:column;gap:5px}.teacher-identity small{color:var(--bp-muted);font:9px var(--bp-mono)}.password-warning{padding:11px;border-left:3px solid #d29a22;background:#fff8e7;color:#704800!important}.service-address{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:20px;background:var(--bp-ink);color:#fff;border:1px solid var(--bp-cyan)}.service-address>span{color:var(--bp-cyan);font:700 9px var(--bp-mono)}.service-address code{font:700 19px var(--bp-mono)}.service-address small{color:#bfd0de}.service-address .copy-note{color:#8de7ff;font:normal 10px var(--bp-mono)}.service-address button{position:absolute;right:15px;bottom:15px;background:#173a55;color:#fff;border-color:#48677e}.service-row strong{display:flex;flex-direction:column;gap:3px}.service-row strong small{color:var(--bp-muted);font:8px var(--bp-mono)}.display-advice{display:flex;flex-direction:column;gap:6px;padding:14px;background:#eaf2ff;border-left:3px solid var(--bp-primary);font-size:11px}.display-advice strong{color:var(--bp-primary)}.display-advice small{color:var(--bp-muted)}.student-current-class{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:250px;background:var(--bp-ink);color:#fff;border:1px solid var(--bp-cyan)}.student-current-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;padding:28px}.student-current-copy h2{font-size:30px;margin:0}.student-current-copy p{margin:0;color:#d7e2ea}.student-current-copy>div{display:flex;gap:18px;color:#bfd0de;font-size:11px}.student-current-copy>div span{display:flex;align-items:center;gap:6px}.student-current-class>aside{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#102b3f;border-left:1px solid #48677e}.student-current-class>aside span,.student-current-class>aside small{color:var(--bp-cyan);font:700 10px var(--bp-mono)}.student-current-class>aside strong{font:700 52px var(--bp-mono)}.student-current-class>aside svg{margin-top:8px;color:#94aabc}.student-resource-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:18px}.student-course-blueprint>header{display:flex;justify-content:space-between;align-items:center;padding:18px;background:#eaf2ff;border-bottom:1px solid var(--bp-line)}.student-course-blueprint header span,.student-home-aside section>span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.student-course-blueprint header h2{margin:6px 0 0}.student-course-blueprint header a,.student-course-blueprint>a,.student-home-aside a{display:flex;align-items:center;gap:5px;color:var(--bp-primary);font-size:11px;font-weight:700;text-decoration:none}.student-course-blueprint>a{display:grid;grid-template-columns:42px minmax(0,1fr) 70px 18px;min-height:66px;padding:0 14px;border-bottom:1px solid #dbe6ed;color:var(--bp-ink)}.student-course-blueprint>a:last-child{border-bottom:0}.student-course-blueprint>a>span{font:700 16px var(--bp-mono);color:var(--bp-cyan)}.student-course-blueprint>a>div{display:flex;flex-direction:column;gap:5px}.student-course-blueprint>a small{color:var(--bp-muted);font-weight:400}.student-course-blueprint>a em{color:var(--bp-muted);font-style:normal;font-size:10px}.student-course-blueprint>a.is-active{background:#f1f6ff;border-left:3px solid var(--bp-primary)}.student-course-blueprint>a.is-active em{color:var(--bp-primary);font-weight:700}.student-home-aside{display:flex;flex-direction:column;gap:14px}.student-home-aside section{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:10px;padding:18px}.student-home-aside h2{margin:0;font-size:18px}.student-home-aside p{margin:0;color:var(--bp-muted);font-size:12px;line-height:1.6}.student-home-aside a{margin-top:auto}.lab-user-chip{border-radius:0!important}.student-learning-home,.student-projects-page,.course-list-page,.course-detail-page,.lesson-view{max-width:none!important}.student-learning-home{margin:0!important;padding:0!important}.lab-topbar{border-radius:0!important;border-bottom-color:var(--bp-line)!important;box-shadow:none!important}.lab-topbar .lab-brand-mark,.lab-toolbar-link,.topbar-project-name input,.topbar-project-manager select,.topbar-project-manager button{border-radius:0!important}@media(max-width:1100px){.blueprint-shell{grid-template-columns:190px minmax(0,1fr)}.blueprint-sidebar{padding-inline:14px}.blueprint-content{padding:22px 20px}.blueprint-grid.four{grid-template-columns:repeat(2,1fr)}.manual-hero,.settings-layout,.mqtt-layout,.mqtt-console-layout{grid-template-columns:1fr}.manual-simulator{min-height:220px;border-left:0;border-top:1px solid #48677e}.course-blueprint>div>a{grid-template-columns:44px 180px 1fr 100px}.student-resource-layout{grid-template-columns:1fr}}@media(max-width:760px){.blueprint-auth-page{display:block!important}.blueprint-auth-story{min-height:360px;padding:34px 24px}.blueprint-auth-story h1{font-size:32px}.blueprint-auth-panel{margin:24px auto!important}.blueprint-shell{display:block}.blueprint-sidebar{position:static;width:auto;height:auto}.blueprint-nav{display:grid;grid-template-columns:repeat(2,1fr)}.blueprint-sidebar-meta{display:none}.blueprint-topbar{padding:0 16px}.blueprint-content{padding:18px 14px}.blueprint-grid.three,.blueprint-grid.four{grid-template-columns:1fr}.blueprint-page-heading{align-items:flex-start;flex-direction:column}.blueprint-table-card{overflow-x:auto}.blueprint-table-head,.blueprint-table-row{min-width:680px}.course-blueprint>div>a{min-width:700px}.course-blueprint>div{overflow-x:auto}.student-current-class{grid-template-columns:1fr}.student-current-class>aside{min-height:170px;border-left:0;border-top:1px solid #48677e}}.blueprint-auth-topology{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;padding:18px;background:#fff;border:1px solid var(--bp-line)}.blueprint-auth-topology>div{display:grid;grid-template-columns:1fr auto;gap:8px;min-height:102px;padding:12px;border:1px solid var(--bp-line);background:var(--bp-bg)}.blueprint-auth-topology span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.blueprint-auth-topology svg{color:var(--bp-ink)}.blueprint-auth-topology strong{grid-column:1/-1;font-size:12px}.blueprint-auth-topology small{grid-column:1/-1;color:var(--bp-success);font:8px var(--bp-mono)}@media(max-width:760px){.blueprint-auth-topology{grid-template-columns:repeat(2,1fr)}}.inline-create-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;padding:18px}.inline-create-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.inline-create-form input{height:42px;box-sizing:border-box;padding:0 12px;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc}.inline-create-form input:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.blueprint-notice{margin:0;padding:12px 14px;border-left:3px solid var(--bp-primary);background:#eaf2ff;color:var(--bp-ink);font-size:12px}.blueprint-empty{padding:24px;color:var(--bp-muted);font-size:12px}.class-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px}.real-course-panel{display:flex;flex-direction:column;gap:10px;padding:20px}.real-course-panel h2{margin:0 0 4px}.real-course-panel button{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:0 14px;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc;color:var(--bp-ink);cursor:pointer}.real-course-panel button[aria-pressed=true]{border-color:var(--bp-success);background:#eaf8f4}.real-course-panel button strong{color:var(--bp-primary);font-size:11px}.real-course-panel button[aria-pressed=true] strong{color:var(--bp-success)}.bulk-student-form textarea{min-height:132px;font-family:var(--bp-mono)}.bulk-student-errors{margin:0;padding:12px 12px 12px 30px;background:#fff4ec;color:#9a3f00;font-size:12px}.blueprint-table-title{margin:0;padding:16px 15px;border-bottom:1px solid var(--bp-line);font-size:15px}.classes-table-head{padding:0}.classes-table-head>span:first-child{padding-left:16px}.classes-list-shell .blueprint-sidebar-meta{display:none}.classes-list-shell .blueprint-topbar>div:first-child{flex-direction:column-reverse}.classes-list-shell .blueprint-topbar .blueprint-path{color:var(--bp-muted);font-size:9px;font-weight:400;letter-spacing:0}.classes-list-shell .blueprint-topbar>div:first-child strong{font-size:17px}.classes-list-page .classes-page-actions{flex-direction:row;gap:10px}.classes-teacher-context{height:30px;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--bp-line);font:400 10px var(--bp-mono)}.classes-teacher-context>i{width:8px;height:8px;border-radius:50%;background:var(--bp-success)}.classes-teacher-context .lab-user-account>span{display:none}.classes-teacher-context .lab-user-account button{min-height:0;padding:0;border:0;background:transparent;color:var(--bp-muted);font:600 9px var(--bp-font)}.teacher-assignment-panel{display:flex;flex-direction:column;gap:16px;padding:20px;overflow-x:auto}.teacher-assignment-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-assignment-panel-header h2{margin:0;font-size:18px}.teacher-assignment-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px}.teacher-assignment-form label,.submission-grade-form{display:flex;flex-direction:column;gap:7px;color:var(--bp-muted);font-size:11px;font-weight:700}.teacher-assignment-form input,.teacher-assignment-form select,.teacher-assignment-form textarea,.submission-grade-form select,.submission-grade-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc;padding:10px 11px;color:var(--bp-ink);font:500 12px var(--bp-font)}.teacher-assignment-form input,.teacher-assignment-form select,.submission-grade-form select{height:40px}.teacher-assignment-form textarea,.submission-grade-form textarea{min-height:80px;resize:vertical}.teacher-assignment-form input:focus,.teacher-assignment-form select:focus,.teacher-assignment-form textarea:focus,.submission-grade-form select:focus,.submission-grade-form textarea:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.teacher-assignment-description{grid-column:1/-1}.teacher-assignment-panel>table{min-width:720px}.teacher-assignment-panel th{background:#eaf2ff;color:var(--bp-muted);font:700 10px var(--bp-mono)}.teacher-assignment-panel th,.teacher-assignment-panel td{padding:11px;border-bottom-color:var(--bp-line)}.teacher-assignment-panel details summary{color:var(--bp-primary);font-weight:700;cursor:pointer}.submission-code-preview{max-width:420px;max-height:180px;overflow:auto;padding:10px;border:1px solid var(--bp-cyan);border-radius:0;background:var(--bp-ink);color:#fff;white-space:pre-wrap}.submission-grade-form{min-width:220px}.submission-grade-form .blueprint-primary{align-self:flex-start}@media(max-width:900px){.inline-create-form,.class-detail-layout,.teacher-tools-grid{grid-template-columns:1fr}.teacher-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.classes-list-page .blueprint-page-heading{align-items:flex-start}.classes-page-actions{width:100%;flex-wrap:wrap}.classes-metrics{grid-template-columns:1fr;height:auto}.classes-table{overflow-x:auto}}@media(max-width:600px){.teacher-assignment-form{grid-template-columns:1fr}.teacher-assignment-description{grid-column:auto}.teacher-assignment-panel-header{align-items:flex-start;flex-direction:column}}.class-account-page{gap:16px}.class-account-page .blueprint-page-heading{min-height:82px;align-items:flex-end}.class-account-page .blueprint-page-heading>div{gap:6px}.class-account-page .blueprint-page-heading h1{font-size:32px}.class-account-page .blueprint-page-heading p{font-size:13px}.class-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bp-primary);font-size:11px;font-weight:700;text-decoration:none}.class-account-shell .blueprint-brand>strong{display:none}.class-account-shell .blueprint-brand-code{font-size:13px}.class-account-shell .blueprint-brand small{color:#fff;font-size:18px;font-weight:700}.class-account-shell .blueprint-topbar>div:first-child{flex-direction:column-reverse}.class-account-shell .blueprint-topbar .blueprint-path{color:var(--bp-muted);font-size:9px;font-weight:400;letter-spacing:0}.class-account-shell .blueprint-topbar>div:first-child strong{font-size:17px}.class-account-overview{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px;height:146px}.class-account-summary{display:flex;align-items:center;gap:30px;padding:22px;background:var(--bp-ink);border:1px solid var(--bp-cyan);color:#fff}.class-account-summary>div{display:flex;flex-direction:column;gap:5px;min-width:95px}.class-account-summary strong{color:var(--bp-cyan);font:700 30px/1 var(--bp-mono)}.class-account-summary>div:nth-child(2) strong{color:var(--bp-lime)}.class-account-summary>div:nth-child(3) strong{color:#f0b86e}.class-account-summary span{color:#bfd0de;font-size:10px}.class-current-course{display:flex;flex-direction:column;gap:10px;padding:20px;background:#fff;border:1px solid var(--bp-line)}.class-current-course>span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.class-current-course h2,.class-current-course p{margin:0}.class-current-course h2{font-size:18px}.class-current-course p{color:var(--bp-muted);font-size:10px}.class-current-course>div{display:flex;gap:12px;margin-top:auto}.class-current-course button{padding:0;border:0;background:transparent;color:var(--bp-primary);font:700 11px var(--bp-font);cursor:pointer}.class-current-course button[aria-pressed=true]{color:var(--bp-success)}.class-account-toolbar{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}.class-account-toolbar>strong{font:700 9px var(--bp-mono)}.class-account-toolbar>div{display:flex;align-items:center;gap:8px}.class-account-toolbar label{height:38px;width:220px;box-sizing:border-box;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border:1px solid var(--bp-line);color:var(--bp-muted)}.class-account-toolbar input{width:100%;border:0;outline:0;background:transparent;color:var(--bp-ink);font:11px var(--bp-font)}.class-account-toolbar .blueprint-primary,.class-account-toolbar .blueprint-secondary{min-height:38px;padding:0 12px;font-size:11px}.class-account-form{display:grid;align-items:end;gap:14px;padding:18px}.class-account-form header{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.class-account-form header h2,.class-account-form header p{margin:0}.class-account-form header h2{font-size:16px}.class-account-form header p{margin-top:5px;color:var(--bp-muted);font-size:11px}.class-account-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700}.class-account-form input,.class-account-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc;padding:11px 12px;color:var(--bp-ink);font:12px var(--bp-font)}.class-account-form input:focus,.class-account-form textarea:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.class-account-form-single{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.class-account-form-bulk{grid-template-columns:minmax(0,1fr) 220px}.class-account-form-bulk label{grid-column:1/2}.class-account-form-bulk textarea{min-height:108px}.class-account-form-bulk .bulk-student-errors{grid-column:1/-1}.class-account-table{overflow-x:auto;background:#fff;border:1px solid var(--bp-line)}.class-account-table-head,.class-account-table-row{display:grid;grid-template-columns:260px 190px 150px minmax(180px,1fr) 190px;align-items:center;min-width:970px;padding:0 16px;box-sizing:border-box}.class-account-table-head{height:42px;background:#e8f0f6;color:var(--bp-muted);font:700 9px var(--bp-mono)}.class-account-table-row{min-height:58px;border-bottom:1px solid var(--bp-line);font-size:11px}.class-account-table-row:nth-child(odd){background:#fafcfd}.class-account-table-row:last-child{border-bottom:0}.class-account-table-row>strong{display:flex;align-items:center;gap:11px}.class-account-table-row>strong>i{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--bp-bg);border:1px solid var(--bp-line);font-style:normal;font-size:11px}.class-account-table-row>strong>span{display:flex;flex-direction:column;gap:3px}.class-account-table-row small{color:var(--bp-muted);font:8px var(--bp-mono);font-weight:400}.class-account-table-row code{color:var(--bp-muted);font:10px var(--bp-mono)}.class-account-status{display:flex;align-items:center;gap:8px;color:var(--bp-success);font-weight:700}.class-account-status>i{width:7px;height:7px;border-radius:50%;background:var(--bp-success)}.class-account-description{color:var(--bp-muted)}.class-account-table-row time{color:var(--bp-muted);font:9px var(--bp-mono)}.class-progress-table{margin-top:2px}@media(max-width:900px){.class-account-page .blueprint-page-heading{align-items:flex-start}.class-account-overview{grid-template-columns:1fr;height:auto}.class-account-summary,.class-current-course{min-height:122px}.class-account-toolbar{align-items:stretch;flex-direction:column}.class-account-toolbar>div{flex-wrap:wrap}.class-account-toolbar label{width:min(100%,300px)}.class-account-form-single,.class-account-form-bulk{grid-template-columns:1fr}.class-account-form-single label,.class-account-form-single button,.class-account-form-bulk label,.class-account-form-bulk button{grid-column:1}.class-account-table{width:100%}}.lesson-center-page{gap:16px}.lesson-center-heading{align-items:flex-end}.lesson-center-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px}.lesson-center-main,.lesson-center-side{display:flex;flex-direction:column;gap:18px}.lesson-center-section,.lesson-start-card{padding:20px}.lesson-center-section>header,.lesson-start-card>header{margin-bottom:16px}.lesson-center-section>header span,.lesson-start-card>header span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.lesson-center-section h2,.lesson-start-card h2{margin:5px 0 0;font-size:18px}.lesson-objectives{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:24px;color:var(--bp-muted);font-size:12px;line-height:1.7}.lesson-materials{display:flex;flex-direction:column}.lesson-materials article{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:68px;border-top:1px solid var(--bp-line)}.lesson-materials article:first-child{border-top:0}.lesson-materials article>span{color:var(--bp-primary);font:700 9px var(--bp-mono)}.lesson-materials article>div{display:flex;flex-direction:column;gap:4px}.lesson-materials article p{margin:0;color:var(--bp-muted);font-size:11px}.lesson-materials article a{display:inline-flex;align-items:center;gap:5px;color:var(--bp-primary);font-size:11px;font-weight:700;text-decoration:none}.lesson-note-form>label,.lesson-start-card>label,.lesson-start-card legend{display:block;margin-bottom:7px;font-size:11px;font-weight:700}.lesson-note-form textarea{width:100%;min-height:150px;box-sizing:border-box;padding:12px;border:1px solid var(--bp-line);border-radius:0;background:#f7fafc;color:var(--bp-ink);font:12px/1.6 var(--bp-font);resize:vertical}.lesson-note-form textarea:focus,.lesson-start-card select:focus{outline:2px solid #0866ff33;border-color:var(--bp-primary)}.lesson-note-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.lesson-note-form footer small{color:var(--bp-muted);font:9px var(--bp-mono)}.lesson-start-card{position:sticky;top:88px}.lesson-start-card select{width:100%;height:42px;padding:0 10px;border:1px solid var(--bp-line);border-radius:0;background:#fff;color:var(--bp-ink);font:12px var(--bp-font)}.lesson-start-card fieldset{display:flex;flex-direction:column;gap:0;margin:18px 0;padding:0;border:0}.lesson-start-card fieldset>label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;padding:11px 0;border-top:1px solid var(--bp-line);cursor:pointer}.lesson-start-card fieldset>label:last-child{border-bottom:1px solid var(--bp-line)}.lesson-start-card input{margin-top:2px;accent-color:var(--bp-primary)}.lesson-start-card fieldset span{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;line-height:1.45}.lesson-start-card fieldset small{color:var(--bp-muted);font:8px var(--bp-mono);font-weight:400}.lesson-start-button{width:100%;box-sizing:border-box}.lesson-start-card>.blueprint-notice{margin-top:12px}.blueprint-primary:disabled,.blueprint-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.lesson-center-layout{grid-template-columns:1fr}.lesson-start-card{position:static}.lesson-center-heading{align-items:flex-start}}.teacher-course-library{display:flex;flex-direction:column;gap:16px}.teacher-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.teacher-course-book{min-height:320px;display:grid;grid-template-columns:210px minmax(0,1fr);overflow:hidden;background:#fff;border:1px solid var(--bp-line);color:var(--bp-ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.teacher-course-book:hover{border-color:var(--bp-cyan);transform:translateY(-2px)}.teacher-course-book:focus-visible{outline:3px solid #0866ff55;outline-offset:2px}.teacher-course-book-cover{display:flex;align-items:center;justify-content:center;padding:18px;background:#eef5f7}.teacher-course-book-cover img{display:block;width:174px;height:244px;object-fit:cover;box-shadow:0 12px 22px #102b3f24}.teacher-course-book-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:26px}.teacher-course-book-copy>small{color:var(--bp-cyan);font:700 9px var(--bp-mono)}.teacher-course-book-copy>strong{font-size:23px}.teacher-course-book-copy>span{color:var(--bp-muted);font-size:12px;line-height:1.6}.teacher-course-book-copy>em{display:inline-flex;align-items:center;gap:5px;margin-top:10px;color:var(--bp-primary);font-style:normal;font-size:11px;font-weight:700}.teacher-course-preparation{gap:14px}.teacher-course-hero{min-height:150px;display:flex;align-items:center;gap:22px;padding:20px 26px;background:var(--bp-ink);border:1px solid var(--bp-cyan);color:#fff}.teacher-course-hero>img{width:78px;height:110px;object-fit:cover;box-shadow:0 8px 18px #0006}.teacher-course-hero>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.teacher-course-hero span,.teacher-course-hero small{color:var(--bp-cyan);font:700 9px var(--bp-mono)}.teacher-course-hero h1{margin:0;font-size:27px}.teacher-course-hero p{margin:0;color:#d5e3ec;font-size:12px}.teacher-course-preparation .class-back-link{align-self:flex-start}.teacher-preparation-layout{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:16px}.teacher-lesson-catalog{background:#fff;border:1px solid var(--bp-line)}.teacher-lesson-catalog>header{display:flex;align-items:center;gap:10px;padding:15px 16px;background:#eaf7f8;border-bottom:1px solid #c6e1e5;color:#007f96}.teacher-lesson-catalog>header>div{display:flex;flex-direction:column;gap:3px}.teacher-lesson-catalog>header small{color:var(--bp-muted);font:9px var(--bp-mono)}.teacher-lesson-catalog details{border-bottom:1px solid var(--bp-line)}.teacher-lesson-catalog details:last-child{border-bottom:0}.teacher-lesson-catalog summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;cursor:pointer;font-size:13px;font-weight:700}.teacher-lesson-catalog summary::marker{color:var(--bp-cyan)}.teacher-lesson-catalog summary span{color:var(--bp-muted);font:9px var(--bp-mono)}.teacher-lesson-catalog details>div{display:flex;flex-direction:column}.teacher-lesson-catalog button{min-height:56px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:9px 14px 9px 24px;border:0;border-top:1px solid #e2ebf0;background:#fff;color:var(--bp-muted);text-align:left;font:11px/1.45 var(--bp-font);cursor:pointer}.teacher-lesson-catalog button:hover{background:#f4fafb;color:var(--bp-ink)}.teacher-lesson-catalog button[aria-pressed=true]{padding-left:20px;background:#dff2f4;border-left:4px solid var(--bp-cyan);color:#007f96;font-weight:700}.teacher-lesson-catalog button:focus-visible{outline:2px solid var(--bp-primary);outline-offset:-2px}.teacher-lesson-catalog button em{display:inline-flex;align-items:center;gap:3px;color:var(--bp-success);font:normal 8px var(--bp-mono)}.teacher-preparation-workspace{min-width:0;background:#fff;border:1px solid var(--bp-line)}.teacher-selected-lesson{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 20px;border-bottom:1px solid var(--bp-line)}.teacher-selected-lesson small{color:var(--bp-cyan);font:700 8px var(--bp-mono)}.teacher-selected-lesson h2{margin:6px 0 0;font-size:18px}.teacher-selected-lesson>span{flex:0 0 auto;padding:6px 9px;background:#eaf8f4;color:var(--bp-success);font:700 9px var(--bp-mono)}.teacher-preparation-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--bp-line)}.teacher-preparation-tabs button{min-width:130px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:0;border-right:1px solid var(--bp-line);border-bottom:3px solid transparent;background:#fff;color:var(--bp-muted);font:700 12px var(--bp-font);cursor:pointer}.teacher-preparation-tabs button[aria-selected=true]{border-bottom-color:var(--bp-cyan);color:#007f96;background:#f7fcfd}.teacher-preparation-tabs button:focus-visible{outline:2px solid var(--bp-primary);outline-offset:-3px}.teacher-preparation-panel{min-height:500px;padding:22px}.teacher-preparation-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.teacher-preparation-panel>header span{color:var(--bp-cyan);font:700 9px var(--bp-mono)}.teacher-preparation-panel>header h2{margin:7px 0 5px;font-size:21px}.teacher-preparation-panel>header p{margin:0;color:var(--bp-muted);font-size:11px}.teacher-resource-status{flex:0 0 auto;padding:7px 9px;background:#fff4dc;color:var(--bp-warning);font:700 9px var(--bp-mono)}.teacher-resource-status.is-ready{background:#eaf8f4;color:var(--bp-success)}.courseware-storyboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.courseware-storyboard article{min-height:245px;display:flex;flex-direction:column;padding:18px;background:#f3f8fb;border:1px solid var(--bp-line);border-top:4px solid var(--bp-cyan)}.courseware-storyboard article>span{color:#b8d8e2;font:700 38px/1 var(--bp-mono)}.courseware-storyboard article>div{display:flex;flex-direction:column;gap:8px;margin-top:auto}.courseware-storyboard small{color:var(--bp-primary);font:700 9px var(--bp-mono)}.courseware-storyboard strong{font-size:15px}.courseware-storyboard p{margin:0;color:var(--bp-muted);font-size:11px;line-height:1.7}.teacher-open-lesson{display:inline-flex}.teaching-design-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.teaching-design-summary article{padding:16px;background:#f7fafc;border:1px solid var(--bp-line)}.teaching-design-summary small{color:var(--bp-primary);font:700 9px var(--bp-mono)}.teaching-design-summary h3{margin:8px 0 5px;font-size:14px}.teaching-design-summary p{margin:0;color:var(--bp-muted);font-size:11px;line-height:1.6}.teaching-flow-list{margin:18px 0 0;padding:0;list-style:none;border-top:1px solid var(--bp-line)}.teaching-flow-list li{display:grid;grid-template-columns:54px 1fr;align-items:center;min-height:62px;border-bottom:1px solid var(--bp-line)}.teaching-flow-list li>span{color:var(--bp-cyan);font:700 16px var(--bp-mono)}.teaching-flow-list li p{margin:4px 0 0;color:var(--bp-muted);font-size:11px}.worksheet-paper{max-width:760px;margin:auto;padding:26px;background:#fffdf8;border:1px solid #d4c9ae;box-shadow:0 10px 25px #102b3f12}.worksheet-meta{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #d4c9ae;color:var(--bp-muted);font-size:11px}.worksheet-paper h3{margin:22px 0 12px}.worksheet-paper>label{display:grid;grid-template-columns:20px 1fr;align-items:start;gap:8px;padding:14px 0;border-top:1px dashed #d4c9ae;font-size:12px;cursor:pointer}.worksheet-paper>label span{display:flex;flex-direction:column;gap:5px}.worksheet-paper>label strong{color:var(--bp-primary);font-size:10px}.worksheet-paper footer{margin-top:14px;padding-top:16px;border-top:1px solid #d4c9ae;font-size:11px}.worksheet-paper footer p{color:var(--bp-muted)}.teacher-classroom-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-classroom-tools article{min-height:230px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:#f7fafc;border:1px solid var(--bp-line)}.teacher-classroom-tools article>svg{color:var(--bp-cyan)}.teacher-classroom-tools small{color:var(--bp-primary);font:700 9px var(--bp-mono)}.teacher-classroom-tools h3,.teacher-classroom-tools p{margin:0}.teacher-classroom-tools p{color:var(--bp-muted);font-size:11px;line-height:1.7}.teacher-classroom-tools a{margin-top:auto}.teacher-course-missing .blueprint-empty{background:#fff;border:1px solid var(--bp-line)}@media(max-width:1100px){.teacher-course-grid{grid-template-columns:1fr}.teacher-preparation-layout{grid-template-columns:270px minmax(0,1fr)}.courseware-storyboard{grid-template-columns:1fr}.courseware-storyboard article{min-height:170px}.teaching-design-summary{grid-template-columns:1fr}}@media(max-width:760px){.teacher-course-book{grid-template-columns:130px minmax(0,1fr);min-height:240px}.teacher-course-book-cover{padding:12px}.teacher-course-book-cover img{width:108px;height:152px}.teacher-course-book-copy{padding:18px}.teacher-course-book-copy>strong{font-size:18px}.teacher-course-hero{padding:18px}.teacher-course-hero>img{display:none}.teacher-preparation-layout{grid-template-columns:1fr}.teacher-selected-lesson{align-items:flex-start;flex-direction:column;padding:16px}.teacher-preparation-panel{padding:16px}.teacher-preparation-panel>header{flex-direction:column}.teacher-classroom-tools{grid-template-columns:1fr}.worksheet-meta{flex-direction:column}}@media(max-width:600px){.lesson-materials article{grid-template-columns:1fr}.lesson-materials article{padding:12px 0}.lesson-note-form footer{align-items:stretch;flex-direction:column}.lesson-note-form footer button{width:100%}}.course-page,.lesson-page{color:var(--ink);margin:0;max-width:none;padding:32px 36px}.course-nav{align-items:center;display:flex;gap:10px;margin-bottom:20px}.course-nav a,.course-nav button,.lab-toolbar-link{background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--ink);cursor:pointer;font:inherit;padding:8px 12px;text-decoration:none}.course-nav a[aria-current=page],.course-nav a:hover,.course-nav button:hover,.lab-toolbar-link:hover{border-color:var(--teal-dark);color:var(--teal-dark)}.course-header,.lesson-header{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:20px}.course-header h1,.lesson-header h1{font-size:30px;line-height:1.2;margin:0 0 10px}.course-header p,.lesson-header p{color:var(--muted);margin:0}.course-kicker{color:var(--teal-dark);font-size:13px;font-weight:700;margin:0 0 8px}.course-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.course-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px}.course-card h2{font-size:20px;margin:0 0 8px}.course-card p{color:var(--muted);min-height:48px}.course-card a,.lesson-list a,.primary-link-button{color:var(--teal-dark);font-weight:700}.primary-link-button{background:var(--teal-dark);border:1px solid var(--teal-dark);border-radius:6px;color:#fff;padding:8px 12px;text-decoration:none}.assignment-card{display:grid;gap:8px}.assignment-status{background:var(--accent-soft);border:1px solid #f4c7a9;border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:13px;font-weight:700;justify-self:start;padding:5px 9px}.assignment-status.is-submitted{background:#e9f6f3;border-color:#b9ded7;color:var(--teal-dark)}.assignment-detail h2{font-size:18px;margin:18px 0 8px}.lesson-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.lesson-list li{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;display:grid;gap:16px;grid-template-columns:auto 1fr auto;padding:18px 20px}.lesson-list span{color:var(--teal-dark);font-weight:800}.lesson-list h2{font-size:18px;margin:0 0 4px}.lesson-list p{color:var(--muted);margin:0}.lesson-header ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:12px 0 0;padding:0}.lesson-header li{background:var(--brand-100);border:1px solid #b8ddd6;border-radius:999px;color:var(--teal-dark);padding:6px 10px}.markdown-body{background:#fff;border:1px solid var(--border);border-radius:10px;padding:28px}.markdown-body h1{font-size:26px;margin-top:0}.markdown-body p{line-height:1.75}.markdown-body pre{background:#f6f8fa;border-radius:8px;overflow:auto;padding:14px}.lesson-sim{background:#f8fbfb;border:1px solid var(--border);border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr;margin:16px 0;padding:16px}.lesson-sim-board{min-width:0}.lesson-sim-board>.board-panel{margin:0 auto;max-width:520px}.lesson-sim-board .x6-wiring-canvas{border:1px solid var(--border);border-radius:8px;height:560px;min-height:420px;overflow:hidden}.lesson-sim .board-sensor-popover{top:10px;transform:translate(-50%)}.lesson-sim-console{display:grid;gap:10px;min-width:0}.lesson-sim-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.lesson-sim-actions button,.lesson-actions button{background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:#fff;cursor:pointer;font:inherit;padding:8px 12px}.lesson-sim-actions button:disabled{cursor:not-allowed;opacity:.55}.lesson-sim-console pre{background:#111827;border-radius:8px;color:#f9fafb;margin:0;min-height:130px;overflow:auto;padding:12px;white-space:pre-wrap}.lesson-actions{display:flex;justify-content:flex-end;margin:0 0 16px}.lesson-actions button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.lesson-actions-primary button{font-weight:800;min-height:42px;padding-inline:22px}.page-back-link{color:var(--brand-700);display:inline-block;font-size:14px;font-weight:750;margin-bottom:12px;text-decoration:none}.page-back-link:hover{text-decoration:underline}@media(max-width:720px){.course-page,.lesson-page{padding:16px}.lesson-list li,.lesson-sim{grid-template-columns:1fr}.lesson-actions{justify-content:stretch}.lesson-actions button{width:100%}}.presentation-stage{--presentation-ink: #172432;--presentation-blue: #2459e0;--presentation-cyan: #24c6d9;--presentation-line: #d6e0ea;width:100%;height:100vh;min-height:680px;overflow:hidden;background:#0e1722;color:var(--presentation-ink)}.presentation-toolbar{position:relative;z-index:30;height:66px;display:grid;grid-template-columns:190px minmax(0,1fr) 280px;align-items:center;gap:22px;padding:0 22px;border-bottom:1px solid #304050;background:#111d2a;color:#fff}.presentation-toolbar>a{display:inline-flex;align-items:center;gap:8px;color:#dbe8f3;font-size:13px;font-weight:700;text-decoration:none}.presentation-toolbar>a svg,.presentation-toolbar button svg{width:18px;height:18px}.presentation-toolbar>div{min-width:0;display:flex;flex-direction:column;gap:2px}.presentation-toolbar>div span{color:var(--presentation-cyan);font-size:10px;font-weight:800;letter-spacing:.08em}.presentation-toolbar>div strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.presentation-toolbar nav{display:flex;align-items:center;justify-content:flex-end;gap:8px}.presentation-toolbar nav>span{min-width:62px;color:#b7c7d6;font:700 12px ui-monospace,monospace;text-align:center}.presentation-toolbar button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #405164;border-radius:4px;background:#1c2a39;color:#fff;cursor:pointer}.presentation-toolbar button:hover,.presentation-toolbar button:focus-visible{border-color:var(--presentation-cyan);outline:none;background:#23394d}.presentation-interaction-banner{position:absolute;z-index:40;top:76px;left:50%;transform:translate(-50%);padding:8px 14px;border:1px solid #84e7f1;background:#0b3341;color:#dffcff;font-size:12px;font-weight:800;box-shadow:0 8px 22px #0003}.presentation-error{position:absolute;z-index:50;inset:82px auto auto 50%;transform:translate(-50%);margin:0;padding:12px 18px;background:#8e2727;color:#fff}.presentation-assignment-control{position:absolute;z-index:35;top:78px;right:20px;width:min(340px,calc(100% - 40px));border:1px solid #405164;background:#111d2a;color:#fff;box-shadow:0 16px 36px #0000003d}.presentation-assignment-control summary{padding:11px 14px;color:#dffcff;font-size:12px;font-weight:800;cursor:pointer}.presentation-assignment-control>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:15px;border-top:1px solid #405164;background:#fff;color:var(--presentation-ink)}.presentation-assignment-control>div>span{color:var(--presentation-blue);font-size:9px;font-weight:900;letter-spacing:.08em}.presentation-assignment-control strong{font-size:15px}.presentation-assignment-control p{margin:0;color:#53677a;font-size:11px;line-height:1.55}.presentation-assignment-control a,.presentation-assignment-control button{min-height:35px;box-sizing:border-box;display:inline-flex;align-items:center;padding:0 12px;border:1px solid var(--presentation-blue);background:var(--presentation-blue);color:#fff;font:700 11px inherit;text-decoration:none;cursor:pointer}.presentation-assignment-control button:disabled{opacity:.55;cursor:not-allowed}.presentation-deck.reveal{width:100%;height:calc(100vh - 66px);background:#f4f7fb;color:var(--presentation-ink);font-family:Microsoft YaHei,Inter,system-ui,sans-serif}.presentation-deck.reveal:focus-visible{outline:3px solid var(--presentation-cyan);outline-offset:-3px}.presentation-deck .slides>section{width:100%;height:100%;padding:0;text-align:left}.presentation-deck .backgrounds{pointer-events:none}.presentation-deck .slides{z-index:2}.presentation-deck .controls{color:var(--presentation-blue)}.presentation-deck .progress{height:5px;color:var(--presentation-cyan)}.presentation-source-slide{display:block;width:100%;height:100%;margin:0;object-fit:contain;background:#f4f7fb}.presentation-fragment-slide{height:100%;display:flex;flex-direction:column;justify-content:center;padding:74px 94px;background:radial-gradient(circle at 94% 8%,rgba(36,198,217,.16),transparent 28%),linear-gradient(145deg,#fff,#f4f7fb)}.presentation-fragment-slide>span,.presentation-media-slide header span,.presentation-interactive-slide>header span{color:var(--presentation-blue);font-size:17px;font-weight:900;letter-spacing:.12em}.presentation-deck .presentation-fragment-slide h2,.presentation-deck .presentation-media-slide h2,.presentation-deck .presentation-interactive-slide h2{margin:18px 0 10px;color:var(--presentation-ink);font-size:54px;line-height:1.15;text-transform:none}.presentation-deck .presentation-fragment-slide>p,.presentation-deck .presentation-media-slide header p,.presentation-deck .presentation-interactive-slide>header p{margin:0;color:#56687a;font-size:24px;line-height:1.55}.presentation-fragment-slide>div{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:58px}.presentation-fragment-card{min-height:230px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:28px;border:1px solid var(--presentation-line);border-top:7px solid var(--presentation-cyan);background:#fff;box-shadow:0 20px 45px #1d334a17}.presentation-fragment-card b{padding:5px 11px;background:#eaf0ff;color:var(--presentation-blue);font-size:15px}.presentation-fragment-card strong{color:var(--presentation-ink);font-size:25px}.presentation-fragment-card small{color:#617284;font-size:18px;line-height:1.65}.presentation-media-slide,.presentation-interactive-slide{height:100%;display:flex;flex-direction:column;gap:24px;padding:46px 68px 54px;background:#f4f7fb}.presentation-media-slide header,.presentation-interactive-slide>header{flex:0 0 auto}.presentation-deck .presentation-media-slide h2,.presentation-deck .presentation-interactive-slide h2{margin-top:8px;font-size:38px}.presentation-deck .presentation-media-slide header p,.presentation-deck .presentation-interactive-slide>header p{font-size:18px}.presentation-media-slide video{width:100%;min-height:0;flex:1 1 auto;object-fit:contain;border:1px solid #2b3b4a;background:#05080b;box-shadow:0 20px 48px #1827362b}.presentation-interactive-content{position:relative;min-height:0;flex:1 1 auto;overflow:hidden;border:1px solid var(--presentation-line);background:#fff;box-shadow:0 20px 48px #1827361f}.presentation-interactive-slide:not(.is-interacting) .presentation-interactive-content>:not(.presentation-interaction-gate){pointer-events:none;filter:saturate(.7)}.presentation-interaction-gate{position:absolute;z-index:10;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:0;background:#0d1d2eb8;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.presentation-interaction-gate svg{width:56px;height:56px;color:var(--presentation-cyan)}.presentation-interaction-gate strong{font-size:30px}.presentation-interaction-gate span{color:#d6e4ee;font-size:17px}.presentation-html-frame,.presentation-html-frame iframe{width:100%;height:100%}.presentation-html-frame iframe{display:block;border:0;background:#f6f9fc}.presentation-tool-status{position:absolute;right:12px;bottom:12px;padding:7px 10px;border:1px solid #d5a93a;background:#fff8dd;color:#7c5b0a;font-size:12px;font-weight:800}.presentation-tool-status.is-ready{border-color:#50b790;background:#e8faf3;color:#126a4c}.presentation-simulation-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#53677a;background:radial-gradient(circle,#fff 0,#edf3f8)}.presentation-simulation-placeholder strong{color:var(--presentation-ink);font-size:26px}.presentation-simulation-placeholder span{font-size:16px}.presentation-simulation-runtime{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 340px;background:#edf3f8}.presentation-simulation-overlay{position:absolute;z-index:25;inset:66px 0 0;display:grid;grid-template-rows:58px minmax(0,1fr);background:#edf3f8}.presentation-simulation-overlay>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 22px;border-bottom:1px solid var(--presentation-line);background:#fff}.presentation-simulation-overlay>header>div{min-width:0;display:flex;flex-direction:column;gap:3px}.presentation-simulation-overlay>header span{color:var(--presentation-blue);font-size:9px;font-weight:900;letter-spacing:.1em}.presentation-simulation-overlay>header strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.presentation-simulation-overlay>header button{min-height:34px;padding:0 13px;border:1px solid #bac9d7;background:#fff;color:var(--presentation-ink);font:700 12px inherit;cursor:pointer}.presentation-simulation-board{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px}.presentation-simulation-board>.board-panel{width:min(100%,760px);margin:0}.presentation-simulation-board .x6-wiring-canvas{width:100%;height:100%;min-height:430px}.presentation-simulation-console{display:flex;flex-direction:column;gap:14px;padding:22px;border-left:1px solid var(--presentation-line);background:#fff}.presentation-simulation-console>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.presentation-simulation-console button{min-height:43px;border:1px solid #bac9d7;background:#fff;color:var(--presentation-ink);font:700 14px inherit;cursor:pointer}.presentation-simulation-console button:first-child{border-color:var(--presentation-blue);background:var(--presentation-blue);color:#fff}.presentation-simulation-console button:disabled{cursor:not-allowed;opacity:.45}.presentation-simulation-console>span{color:#53677a;font-size:13px;font-weight:700}.presentation-simulation-console pre{min-height:0;flex:1 1 auto;overflow:auto;margin:0;padding:15px;background:#111d2a;color:#d7f8ef;font:13px/1.65 ui-monospace,monospace;white-space:pre-wrap}.presentation-not-found{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;text-align:center}.presentation-not-found>span{color:var(--accent);font:700 12px ui-monospace,monospace}.presentation-not-found h1,.presentation-not-found p{margin:0}.presentation-not-found a{display:flex;align-items:center;gap:7px;margin-top:12px;color:var(--brand-700);font-weight:700}.presentation-course-card header p{max-width:650px;margin:6px 0 0;color:#bfd0de;font-size:11px;font-weight:400}.presentation-course-card>div>a>em{color:var(--bp-primary)}@media(max-width:900px){.presentation-toolbar{grid-template-columns:120px minmax(0,1fr) 190px;padding-inline:12px}.presentation-toolbar>div span{display:none}.presentation-fragment-slide{padding:50px}.presentation-fragment-slide>div{grid-template-columns:1fr;margin-top:30px}.presentation-fragment-card{min-height:130px}.presentation-simulation-runtime{grid-template-columns:1fr 280px}}.scene-view{background:var(--panel-2);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(200px,260px);height:100%;min-height:0;padding:12px;width:100%}.scene-stage{display:flex;min-height:0;min-width:0}.scene-view.is-stage-only{grid-template-columns:minmax(0,1fr)}.traffic-light-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.traffic-light-stage{background:#cfe8f5;border:1px solid var(--border);border-radius:10px;flex:1;min-height:240px;width:100%}.smart-trash-bin-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.smart-trash-bin-stage-wrap{flex:1;min-height:0;position:relative}.smart-trash-bin-stage{border:1px solid var(--border);border-radius:10px;display:block;height:100%;min-height:260px;width:100%}.stb-wall{fill:#f1eadb}.stb-floor{fill:#d5b88a}.stb-floor-lines{fill:none;stroke:#b99768;stroke-width:2}.stb-window-frame{fill:#fafafa;stroke:#9f825d;stroke-width:8}.stb-window{fill:#bfe5f6}.stb-window-divider{fill:none;stroke:#fff;stroke-width:7}.stb-sun{fill:#ffd85c}.stb-board{fill:#315c68;stroke:#203e46;stroke-width:5}.stb-board-title{fill:#fff;font-size:18px;font-weight:700}.stb-board-copy{fill:#d8eef1;font-size:12px}.stb-distance-line,.stb-distance-ticks{fill:none;stroke:#73808c;stroke-dasharray:7 6;stroke-width:2}.stb-distance-ticks{stroke-dasharray:none}.stb-distance-text{fill:#475569;font-size:15px;font-weight:700}.stb-bin-body{fill:#3f8f55;stroke:#28673b;stroke-width:5}.stb-bin-panel{fill:#347b48}.stb-recycle-mark{fill:none;stroke:#edf8ef;stroke-linecap:round;stroke-width:8}.stb-wheel{fill:#334155;stroke:#172033;stroke-width:4}.stb-lid{fill:#327847;stroke:#225b35;stroke-width:4;transform-box:fill-box;transform-origin:111px 28px;transform:rotate(var(--lid-angle, 0deg));transition:transform .18s ease}.kitchen-exhaust-fan-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.kitchen-stage-wrap{flex:1;min-height:0;position:relative}.kitchen-stage{border:1px solid var(--border);border-radius:10px;display:block;height:100%;min-height:260px;width:100%}.kitchen-background-image{pointer-events:none}.kitchen-fan{filter:drop-shadow(0 2px 3px rgb(111 78 42 / 18%))}.kitchen-fan-casing{fill:#fffaf0;stroke:#b88a5d;stroke-width:4}.kitchen-fan-ring{fill:#e8f2f2;stroke:#8da6a5;stroke-width:3}.kitchen-fan-rotor{fill:#58a3ad;stroke:#477f87;stroke-linejoin:round;stroke-width:1.5;transform-box:view-box;transform-origin:328px 143px}.kitchen-fan-hub{fill:#f5c66b;stroke:#9b7448;stroke-width:2}.kitchen-fan.is-running .kitchen-fan-rotor{animation:kitchen-fan-spin .45s linear infinite}@keyframes kitchen-fan-spin{to{transform:rotate(360deg)}}.corridor-sound-light-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.corridor-stage-wrap{flex:1;min-height:0;position:relative}.corridor-stage{border:1px solid var(--border);border-radius:10px;display:block;height:100%;min-height:260px;width:100%}.corridor-background-image,.corridor-student-image{pointer-events:none}.corridor-student-image{transition:opacity .16s ease}.corridor-lamp-glow,.corridor-lamp-bulb{fill:var(--corridor-lamp-color);opacity:0;pointer-events:none;transition:fill .14s ease,opacity .14s ease}.corridor-lamp.is-on .corridor-lamp-glow{filter:blur(18px);opacity:calc(var(--corridor-lamp-opacity) * .34)}.corridor-lamp.is-on .corridor-lamp-bulb{filter:drop-shadow(0 0 22px var(--corridor-lamp-color));opacity:var(--corridor-lamp-opacity)}.pedestrian-traffic-light-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.pedestrian-traffic-stage-wrap{flex:1;min-height:0}.pedestrian-traffic-stage{border:1px solid var(--border);border-radius:10px;display:block;height:100%;min-height:260px;width:100%}.pedestrian-traffic-stage image{pointer-events:none}.pedestrian-traffic-lamp{fill:transparent;pointer-events:none;transition:fill .12s ease}.pedestrian-traffic-lamp.is-on{fill:var(--pedestrian-traffic-light-color);filter:drop-shadow(0 0 12px var(--pedestrian-traffic-light-color))}.posture-reminder-scene{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;min-width:0}.posture-reminder-stage-wrap{flex:1;min-height:0}.posture-reminder-stage{border:1px solid var(--border);border-radius:10px;display:block;height:100%;min-height:260px;width:100%}.posture-reminder-background{pointer-events:none}.posture-distance-badge rect{fill:#ffffffeb;stroke:#94a3b8;stroke-width:5px}.posture-distance-badge text{fill:#1f2937;font-size:28px;font-weight:700}.posture-speaker{fill:#64748b;opacity:.55}.posture-speaker.is-playing{fill:#2563eb;opacity:1}.posture-sound-waves{fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:13px}.pedestrian-scene-button{cursor:pointer;fill:transparent;pointer-events:all;stroke:transparent;stroke-width:4}.pedestrian-scene-button:focus-visible{stroke:#0d6fb8}.pedestrian-scene-button.is-pressed{fill:#1e90ff59;stroke:#0d6fb8}.pedestrian-scene-button.is-disabled{cursor:not-allowed;pointer-events:none}.pedestrian-button-control{background:var(--brand-100);border:1px solid var(--brand-400);border-radius:999px;color:var(--brand-900);cursor:pointer;font:inherit;font-weight:700;padding:8px 14px}.pedestrian-button-control.is-pressed{background:var(--brand-400)}.pedestrian-button-control:disabled{cursor:not-allowed;opacity:.55}.scene-controls{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #0f172a0f;display:flex;flex-direction:column;font-size:13px;gap:10px;padding:10px 12px}.scene-controls-row{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(0,1fr)}.scene-controls-row input{min-width:0;width:100%}.scene-controls-label{color:var(--muted);font-size:12px}.scene-controls-output{color:var(--brand-900);font-weight:700;text-align:right}.corridor-person-control{align-items:center;border:0;display:flex;gap:8px;margin:0;padding:0}.corridor-person-control legend{float:left;font-size:13px;margin-right:12px;width:60px}.corridor-person-control button{background:var(--panel);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font:inherit;padding:4px 14px}.corridor-person-control button.active{background:var(--brand-100);border-color:var(--brand-400);color:var(--brand-900);font-weight:700}.scene-status{color:var(--muted);font-size:13px;margin:0;text-align:center}.tl-sky{fill:#cfe8f5}.tl-ground{fill:#8fb98a}.tl-cloud{fill:#ffffffd9}.tl-road{fill:#50565e}.tl-road-edge,.tl-lane-dash,.tl-crosswalk{fill:#f4f6f7}.tl-sidewalk{fill:#9aa4ab}.tl-pole{fill:#37474f}.tl-pole-base{fill:#263238}.tl-lamp-head{fill:#263238;stroke:#102027;stroke-width:2}.tl-lamp-ring{fill:#1a2227;stroke:#0d1417;stroke-width:2}.tl-bulb{fill:#3d4a52;transition:fill .12s ease}.tl-lamp.is-on .tl-bulb{fill:var(--tl-lamp-color);filter:drop-shadow(0 0 16px var(--tl-lamp-color))}.scene-sidebar{display:flex;flex-direction:column;gap:10px;min-width:0;overflow-y:auto;position:relative}.scene-legend{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.scene-legend-item{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:13px;gap:6px;padding:4px 10px}.scene-legend-pin{background:var(--brand-100);border-radius:6px;color:var(--brand-900);font-weight:700;padding:0 6px}.scene-legend-pin.is-disconnected{background:var(--panel-2);color:var(--muted);font-weight:600}.scene-legend-hint{color:var(--muted);font-size:12px;margin:0}.scene-sidebar .board-panel{margin:0;max-width:none}.simulation-canvas .scene-view{padding-top:56px}.simulation-canvas .scene-legend{display:grid;grid-template-columns:1fr}.simulation-canvas .scene-legend-item{justify-content:space-between;width:100%}@media(max-width:640px){.simulation-canvas .scene-view{padding-top:96px}}.lesson-sim-board .scene-view{background:transparent;grid-template-columns:minmax(0,1fr) 180px;padding:0}.lesson-sim-board .traffic-light-stage{max-height:420px}.presentation-simulation-board .scene-view{padding:16px}
