@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{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.1"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Source Serif 4", "Charter", "Georgia", "Merriweather", serif;--font-mono:"JetBrains Mono", "Fira Code", Menlo, monospace;--font-handwritten:"Kalam", "Comic Sans MS", cursive;--font-atkinson:"Atkinson Hyperlegible", -apple-system, sans-serif;--font-lexend:"Lexend", -apple-system, sans-serif;--font-editorial:var(--font-sans);--editorial-body-size:16px;--editorial-line-height:1.8;--editorial-max-width:760px;--accent:#2563eb;--accent-hover:#1d4ed8;--bg-canvas:#fff;--panel-bg:#fff;--panel-border:#00000014;--sidebar-bg:#fff;--sidebar-hover:#0000000a;--sidebar-active:#00000012;--sidebar-border:#00000012;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-faint:#9ca3af;--border-light:#00000014;--border-subtle:#0000000a;--brand-badge-bg:#000;--brand-badge-color:#fff;--search-bg:#f4f4f5;--search-hover:#ebebeb;--pill-bg:#f4f4f5;--pill-active-bg:#fff;--pill-active-color:#000;--pill-active-shadow:0 1px 3px #0000001a;--tab-active-color:#000;--tab-indicator-bg:#000;--separator-color:#0000001a;--card-bg:#f9fafb;--card-border:#00000012;--card-hover-bg:#f4f4f5;--card-hover-border:#00000029;--stat-badge-bg:#f4f4f5;--stat-badge-color:#18181b;--brand-primary:#000;--brand-accent:#2563eb;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:22px;--radius-full:9999px;--shadow-floating:0 8px 30px #0000000f, 0 2px 8px #00000008;--shadow-card:0 2px 10px #00000005;--shadow-card-hover:0 12px 28px #00000012;--shadow-popover:0 20px 48px #0000001f;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--bg-canvas:#141414;--panel-bg:#141414;--panel-border:#ffffff14;--sidebar-bg:#141414;--sidebar-hover:#ffffff0d;--sidebar-active:#ffffff17;--sidebar-border:#ffffff12;--text-primary:#fff;--text-secondary:#a3a3a3;--text-muted:#888;--text-faint:#383838;--border-light:#ffffff14;--border-subtle:#ffffff0a;--brand-badge-bg:#fff;--brand-badge-color:#000;--search-bg:#262626;--search-hover:#2e2e2e;--pill-bg:#262626;--pill-active-bg:#141414;--pill-active-color:#fff;--pill-active-shadow:0 2px 6px #0000004d;--tab-active-color:#fff;--tab-indicator-bg:#fff;--separator-color:#ffffff1f;--card-bg:#191919;--card-border:#ffffff0f;--card-hover-bg:#1e1e1e;--card-hover-border:#ffffff2e;--stat-badge-bg:#ffffff0d;--stat-badge-color:#a1a1aa;--brand-primary:#fff;--brand-accent:#58a6ff;--shadow-floating:0 10px 32px #000000b3;--shadow-card:0 1px 4px #00000080;--shadow-card-hover:0 10px 28px #000000b3;--shadow-popover:0 20px 48px #000000e6}[data-font=sans]{--font-editorial:var(--font-sans)}[data-font=serif]{--font-editorial:var(--font-serif)}[data-font=mono]{--font-editorial:var(--font-mono)}[data-font=handwritten]{--font-editorial:var(--font-handwritten);--editorial-body-size-scale:1.25}[data-font=atkinson]{--font-editorial:var(--font-atkinson)}[data-font=lexend]{--font-editorial:var(--font-lexend)}[data-font=handwritten] .lesson-paragraph,[data-font=handwritten] .lesson-lead-summary,[data-font=handwritten] .lesson-list,[data-font=handwritten] .lesson-list li,[data-font=handwritten] .lesson-objectives-list li,[data-font=handwritten] .lesson-takeaways-list li,[data-font=handwritten] .lesson-h2,[data-font=handwritten] .lesson-h3,[data-font=handwritten] .callout-text,[data-font=handwritten] .callout-title{letter-spacing:.01em;font-size:calc(var(--editorial-body-size,16px) * 1.35)!important;line-height:1.6!important}[data-font=handwritten] .lesson-h2{font-size:28.75px!important}[data-font=handwritten] .lesson-h3{font-size:22.5px!important}[data-font-size=compact]{--editorial-body-size:15px;--editorial-line-height:1.7}[data-font-size=standard]{--editorial-body-size:16px;--editorial-line-height:1.8}[data-font-size=large]{--editorial-body-size:18px;--editorial-line-height:1.85}[data-reading-width=standard]{--editorial-max-width:760px}[data-reading-width=spacious]{--editorial-max-width:860px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html,body{background-color:var(--bg-canvas);width:100%;min-height:100vh;color:var(--text-primary);font-family:var(--font-sans);margin:0;padding:0;transition:background-color .2s,color .2s;overflow-x:hidden}#root{background-color:var(--bg-canvas);flex-direction:column;width:100%;min-height:100vh;display:flex}.mobbin-app-layout{background-color:var(--bg-canvas);flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.mobbin-main-body{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:1520px;min-height:0;margin:0 auto;display:flex}.mobbin-app-layout:has(.settings-fullpage){height:100vh;max-height:100vh;overflow:hidden}.sidebar{background:var(--sidebar-bg);border:1px solid var(--sidebar-border);width:270px;min-width:270px;max-width:270px;height:calc(100vh - 24px);box-shadow:var(--shadow-floating);z-index:100;-webkit-user-select:none;user-select:none;border-radius:20px;flex-direction:column;flex-shrink:0;padding:16px 14px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.sidebar-global-mode,.sidebar-course-mode{flex-direction:column;height:100%;display:flex}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:20px;padding:2px 4px;display:flex}.brand-logo-text{letter-spacing:-.4px;color:var(--text-primary);font-size:18px;font-weight:800}.sidebar-toggle-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sidebar-toggle-btn:hover{background:var(--sidebar-hover);color:var(--text-primary)}.sidebar-expand-btn{border:1px solid var(--border-light);background:var(--card-bg);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:10px;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 4px #0000000a}.sidebar-expand-btn:hover{background:var(--sidebar-hover);color:var(--text-primary);border-color:#cbd5e1}.sidebar-scroll{flex:1;overflow-y:auto}.nav-section{flex-direction:column;gap:6px;display:flex}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--text-primary)}.nav-item.active{background:var(--sidebar-active);color:var(--text-primary);font-weight:600}.nav-item-left{align-items:center;gap:10px;display:flex}.nav-item-badge{border-radius:var(--radius-full);background:var(--border-light);color:var(--text-secondary);padding:2px 7px;font-size:11px;font-weight:600}.nav-item-badge.completed-badge{color:#166534;background:#f0fdf4;align-items:center;gap:3px;display:inline-flex}.sidebar-footer-progress{border-radius:var(--radius-md);background:var(--sidebar-hover);border:1px solid var(--border-subtle);margin-top:auto;padding:14px}.footer-progress-meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.footer-progress-label,.footer-progress-val{color:var(--text-primary);font-size:12px;font-weight:700}.footer-progress-track{background:var(--border-light);border-radius:3px;width:100%;height:5px;margin-bottom:6px;overflow:hidden}.footer-progress-fill{background:var(--text-primary);border-radius:3px;height:100%;transition:width .3s}.footer-progress-sub{color:var(--text-muted);font-size:11px}.sidebar-course-mode{flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-tree-search-bar{border:1px solid var(--border-light);border-radius:var(--radius-full);transition:all var(--transition-fast);background:#ffffff0d;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;display:flex}.sidebar-tree-search-bar:focus-within{background:#ffffff14;border-color:#fff3}.tree-search-icon{color:var(--text-muted);flex-shrink:0}.tree-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.tree-search-input::placeholder{color:var(--text-muted)}.sidebar-tree-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px;display:flex}.sidebar-tree-title-group{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-tree-back-icon-btn{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-tree-back-icon-btn:hover{background:var(--sidebar-hover);color:var(--text-primary)}.sidebar-tree-course-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;letter-spacing:-.2px;margin:0;font-size:15px;font-weight:700;overflow:hidden}.sidebar-tree-course-title:hover{color:#58a6ff}.sidebar-tree-scroll{flex-direction:column;flex:1;gap:16px;padding-right:2px;display:flex;overflow-y:auto}.sidebar-tree-module-group{flex-direction:column;gap:4px;display:flex}.sidebar-tree-item{text-align:left;cursor:pointer;width:100%;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.sidebar-tree-item:hover{background:var(--sidebar-hover)}.tree-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tree-chevron-wrap{color:var(--text-muted);width:16px;height:16px;transition:color var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;display:flex}.sidebar-tree-item:hover .tree-chevron-wrap{color:var(--text-primary)}.sidebar-tree-item.level-1{color:var(--text-primary);padding:6px 12px;font-size:15px;font-weight:700}.sidebar-tree-item.level-1:hover{background:0 0}.sidebar-tree-topics-container{flex-direction:column;gap:2px;display:flex}.sidebar-tree-item.level-2{color:var(--text-secondary);padding:6px 12px;font-size:14.5px;font-weight:500}.sidebar-tree-item.level-2:hover{color:var(--text-primary);background:var(--sidebar-hover)}.sidebar-tree-item.level-2.active{color:var(--text-primary);background:0 0;font-weight:500}.sidebar-tree-subtopics-container{flex-direction:column;gap:2px;display:flex}.sidebar-tree-item.level-3{color:var(--text-muted);padding:6px 12px 6px 32px;font-size:14.5px;font-weight:400}.sidebar-tree-item.level-3:hover{color:var(--text-primary);background:var(--sidebar-hover)}.sidebar-tree-item.level-3.knowledge-check{color:#eab308}.sidebar-tree-empty{color:var(--text-muted);text-align:center;padding:16px 8px;font-size:12.5px}.main-wrapper{background:0 0;flex-direction:column;flex:1;height:calc(100vh - 24px);display:flex;position:relative;overflow:hidden}.topbar{z-index:10;background:0 0;justify-content:space-between;align-items:center;height:56px;min-height:56px;margin-bottom:12px;padding:0 12px;display:flex;position:relative}.topbar-left{align-items:center;gap:12px;display:flex}.nav-arrows{align-items:center;gap:6px;display:flex}.arrow-btn{color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.arrow-btn:hover:not(:disabled){background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 3px #0000000a}.arrow-btn:disabled{opacity:.35;cursor:not-allowed}.topbar-center{flex:1;justify-content:center;max-width:520px;margin:0 auto;display:flex}.search-trigger-btn{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-full);width:100%;height:42px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:0 18px;font-size:13.5px;display:flex;box-shadow:0 2px 6px #00000008}.search-trigger-btn:hover{color:var(--text-secondary);border-color:#cbd5e1;box-shadow:0 3px 12px #0000000f}.shortcut-badge{background:var(--sidebar-hover);border:1px solid var(--border-light);font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);border-radius:6px;padding:2px 7px;font-weight:500}.topbar-right{align-items:center;gap:10px;display:flex}.profile-avatar-btn{border:1px solid var(--border-light);background:var(--sidebar-active);cursor:pointer;width:36px;height:36px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.profile-avatar-btn:hover{transform:scale(1.06);box-shadow:0 2px 8px #0000001f}.topbar-user-avatar{object-fit:cover;width:100%;height:100%;display:block}.topbar-user-fallback-icon{justify-content:center;align-items:center;display:flex}.main-body{flex:1;padding:0 16px 40px;overflow-y:auto}.courses-container{max-width:1180px;margin:0 auto}.courses-header-row{justify-content:flex-end;align-items:center;width:100%;margin-bottom:20px;display:flex}.view-mode-pill-toggle{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-full);align-items:center;gap:2px;width:fit-content;padding:3px 4px;display:inline-flex;box-shadow:0 1px 3px #00000014}.view-mode-pill-btn{border-radius:var(--radius-full);width:32px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.view-mode-pill-btn:hover{color:var(--text-primary)}.view-mode-pill-btn.active{background:var(--sidebar-active);color:var(--text-primary);box-shadow:0 1px 2px #00000026}.simple-courses-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.simple-course-box{border:1px solid var(--border-light);box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:flex-start;height:180px;padding:22px;transition:border-color .15s;display:flex}.simple-course-box:hover{border-color:var(--text-primary);background:0 0}.course-box-icon{color:var(--text-primary);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.course-box-icon svg{display:block}.course-box-title{color:var(--text-primary);letter-spacing:-.2px;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.course-box-percentage{color:var(--text-secondary);font-size:13px;font-weight:500}.editorial-course-detail-view{max-width:820px;margin:0 auto;padding-bottom:60px}.editorial-breadcrumbs{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:20px;font-size:13px;display:flex}.editorial-breadcrumb-link{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast)}.editorial-breadcrumb-link:hover{color:var(--text-primary);text-decoration:underline}.breadcrumb-sep{color:var(--text-faint)}.breadcrumb-current{color:var(--text-primary);font-weight:600}.editorial-course-banner{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-card);border-radius:20px;margin-bottom:32px;padding:28px}.course-banner-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.course-icon-badge{color:var(--text-primary);justify-content:center;align-items:center;display:flex}.course-level-pill{border-radius:var(--radius-full);background:var(--sidebar-hover);color:var(--text-secondary);border:1px solid var(--border-light);padding:4px 10px;font-size:12px;font-weight:600}.editorial-course-title{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:800}.editorial-course-description{color:var(--text-secondary);margin-bottom:20px;font-size:15px;line-height:1.6}.editorial-meta-tags-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.editorial-tag-pill{background:var(--sidebar-hover);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.editorial-progress-container{background:var(--sidebar-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 18px}.progress-info-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-title{color:var(--text-primary);font-size:13.5px;font-weight:600}.progress-fraction{color:var(--text-secondary);font-size:12px}.progress-track-line{background:var(--border-light);border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill-line{background:var(--text-primary);border-radius:3px;height:100%;transition:width .3s}.editorial-modules-section{flex-direction:column;gap:20px;display:flex}.modules-section-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.modules-heading{color:var(--text-primary);font-size:19px;font-weight:700}.modules-count-tag{color:var(--text-muted);font-size:12.5px}.editorial-module-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-card);border-radius:18px;padding:22px}.module-card-header{border-bottom:1px solid var(--border-subtle);margin-bottom:16px;padding-bottom:14px}.module-number-pill{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.module-card-title{color:var(--text-primary);margin-bottom:4px;font-size:16.5px;font-weight:700}.module-card-description{color:var(--text-secondary);font-size:13.5px}.module-chapters-list{flex-direction:column;gap:6px;display:flex}.editorial-chapter-row{cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .15s;display:flex}.editorial-chapter-row:hover{background:var(--sidebar-hover);border-color:var(--border-light)}.chapter-left-col{align-items:center;gap:12px;display:flex}.chapter-checkbox{border:1.5px solid var(--border-light);background:var(--card-bg);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.chapter-checkbox.completed{background:#16a34a;border-color:#16a34a}.chapter-index-num{color:var(--text-muted);min-width:18px;font-size:13px;font-weight:600}.chapter-title-text{color:var(--text-primary);font-size:14.5px;font-weight:600}.chapter-right-col{align-items:center;gap:12px;display:flex}.editorial-difficulty-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:11.5px;font-weight:600}.difficulty-beginner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.difficulty-intermediate{color:#854d0e;background:#fefce8;border:1px solid #fef08a}.difficulty-advanced{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.chapter-reading-time{color:var(--text-muted);font-size:12.5px}.lesson-article{flex-direction:column;width:100%;display:flex}.lesson-breadcrumbs{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:32px;display:flex}.lesson-breadcrumb-link{color:var(--text-muted);cursor:pointer;font-size:13px;transition:color .15s}.lesson-breadcrumb-link:hover{color:var(--text-primary)}.lesson-breadcrumb-sep{color:var(--text-muted);opacity:.6;font-size:13px}.lesson-breadcrumb-current{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:13px;font-weight:500;overflow:hidden}.lesson-content-column{width:100%;max-width:var(--editorial-max-width,900px)}.lesson-header{margin-bottom:28px}.lesson-title{color:var(--text-primary);letter-spacing:-.5px;margin:0 0 20px;font-size:32px;font-weight:700;line-height:1.25}.lesson-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.lesson-meta-left{align-items:center;gap:8px;font-size:13px;display:flex}.lesson-author-link{color:var(--text-secondary);font-weight:600;text-decoration:none;transition:color .15s}.lesson-author-link:hover{color:var(--text-primary)}.lesson-meta-sep{color:var(--border-light);font-size:13px}.lesson-meta-item{color:var(--text-muted);align-items:center;gap:4px;font-weight:500;display:inline-flex}.lesson-meta-difficulty{font-size:13px;font-weight:600}.lesson-actions{align-items:center;gap:8px;display:flex}.lesson-action-btn{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.lesson-action-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.lesson-action-btn.active{color:#d97706;background:#d9770614;border-color:#d9770666}.lesson-complete-btn{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.lesson-complete-btn:hover{color:#16a34a;border-color:#16a34a}.lesson-complete-btn.completed{color:#16a34a;background:#16a34a1f;border-color:#16a34a66}.lesson-lead-summary{font-family:var(--font-editorial);color:var(--text-secondary);margin:0 0 28px;font-size:17.5px;font-weight:400;line-height:1.7}.lesson-divider{display:none}.lesson-objectives-block{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.lesson-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);font-size:11.5px;font-weight:700}.lesson-objectives-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.lesson-objectives-list li{color:var(--text-secondary);padding-left:18px;font-size:14.5px;line-height:1.5;position:relative}.lesson-objectives-list li:before{content:"→";color:var(--text-muted);font-size:13px;position:absolute;left:0}.lesson-blocks{flex-direction:column;gap:14px;margin-bottom:44px;display:flex;position:relative}.lesson-blocks>*{margin-top:0!important;margin-bottom:0!important}.lesson-blocks>.lesson-h2:not(:first-child),.lesson-blocks>.lesson-takeaways:not(:first-child){padding-top:12px}.lesson-paragraph{font-family:var(--font-editorial);font-size:var(--editorial-body-size,16px);line-height:var(--editorial-line-height,1.6);color:var(--text-primary);letter-spacing:-.01px;margin:0 0 16px}.lesson-paragraph strong,.lesson-paragraph b{color:var(--text-primary);font-weight:700}.inline-code-pill{font-family:var(--font-mono);background:var(--pill-bg);color:var(--text-primary);border:1px solid var(--border-light);border-radius:4px;padding:1px 5px;font-size:.88em}.lesson-h2{font-family:var(--font-editorial);color:var(--text-primary);letter-spacing:-.4px;font-size:23px;font-weight:700;line-height:1.3}.lesson-h3{font-family:var(--font-editorial);color:var(--text-primary);letter-spacing:-.2px;font-size:18px;font-weight:700;line-height:1.35}.lesson-paragraph{margin:0}.lesson-list{font-family:var(--font-editorial);color:var(--text-primary);font-size:var(--editorial-body-size,15.5px);line-height:var(--editorial-line-height,1.6);margin:0;padding-left:20px}.lesson-list li{color:var(--text-primary);margin-bottom:6px}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border-light);margin:24px 0;overflow-x:auto}.lesson-table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:14.5px}.lesson-table th,.lesson-table td{border-bottom:1px solid var(--border-light);text-align:left;padding:12px 16px}.lesson-table th{background:var(--bg-canvas);font-weight:600}.lesson-table tr:last-child td{border-bottom:none}.lesson-list li strong,.lesson-list li b{color:var(--text-primary);font-weight:700}.lesson-callout{border:none;border-left:3px solid var(--border-light);background:0 0;border-radius:0;gap:12px;padding:4px 0 4px 16px;display:flex}.lesson-callout.callout-note{border-left-color:var(--text-faint)}.lesson-callout.callout-tip{border-left-color:#10b981}.lesson-callout.callout-warning{border-left-color:#f59e0b}.lesson-callout.callout-deep-dive{border-left-color:#818cf8}.lesson-callout .callout-icon{flex-shrink:0;padding-top:1px}.lesson-callout .callout-title{font-size:13.5px}.lesson-callout .callout-text{font-size:14.5px}.callout-body{flex-direction:column;flex:1;gap:4px;display:flex}.callout-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.35}.callout-text{color:var(--text-secondary);font-size:14px;line-height:1.6}.math-block-container{text-align:center;border-radius:var(--radius-md);margin:20px 0 24px;padding:8px 4px 4px;overflow-x:auto}.math-formula-rendered{color:var(--text-primary);padding:4px 0;font-size:16px;overflow-x:auto}.math-formula-rendered .katex-display{margin:0}.inline-latex-math{vertical-align:baseline;color:var(--text-primary);padding:0 1px;display:inline}.inline-latex-math .katex{font-size:1em}.math-caption{color:var(--text-muted);text-align:center;margin-top:6px;font-size:12px;font-style:italic}.code-block-wrap{border-radius:var(--radius-md);background:var(--bg-canvas);border:1px solid var(--border-light);margin:24px 0;overflow:hidden}[data-theme=light] .code-block-wrap{background:var(--bg-canvas);border:1px solid var(--border-light)}.code-block-header{color:var(--text-muted);font-size:11.5px;font-family:var(--font-mono);border-bottom:1px solid var(--border-light);background:0 0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}[data-theme=light] .code-block-header{color:var(--text-muted);border-bottom:1px solid var(--border-light);background:0 0}.code-copy-btn{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;font-family:inherit;font-size:11.5px;transition:color .15s;display:flex}.code-copy-btn:hover{color:var(--text-primary)}.code-block-body{font-family:var(--font-mono);color:#e4e4e7;margin:0;padding:18px 20px;font-size:13.5px;line-height:1.7;overflow-x:auto}[data-theme=light] .code-block-body{color:#1e293b}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#71717a;font-style:italic}.token.punctuation{color:#a1a1aa}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#fb923c}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#4ade80}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#f472b6}.token.atrule,.token.attr-value,.token.keyword{color:#c084fc}.token.function,.token.class-name{color:#60a5fa}.token.regex,.token.important,.token.variable{color:#facc15}[data-theme=light] .token.comment,[data-theme=light] .token.prolog,[data-theme=light] .token.doctype,[data-theme=light] .token.cdata{color:#94a3b8}[data-theme=light] .token.punctuation{color:#64748b}[data-theme=light] .token.property,[data-theme=light] .token.tag,[data-theme=light] .token.boolean,[data-theme=light] .token.number,[data-theme=light] .token.constant,[data-theme=light] .token.symbol,[data-theme=light] .token.deleted{color:#ea580c}[data-theme=light] .token.selector,[data-theme=light] .token.attr-name,[data-theme=light] .token.string,[data-theme=light] .token.char,[data-theme=light] .token.builtin,[data-theme=light] .token.inserted{color:#16a34a}[data-theme=light] .token.operator,[data-theme=light] .token.entity,[data-theme=light] .token.url{color:#0284c7}[data-theme=light] .token.atrule,[data-theme=light] .token.attr-value,[data-theme=light] .token.keyword{color:#7c3aed}[data-theme=light] .token.function,[data-theme=light] .token.class-name{color:#2563eb}[data-theme=light] .token.regex,[data-theme=light] .token.important,[data-theme=light] .token.variable{color:#d97706}.lesson-takeaways{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-direction:column;gap:12px;margin:28px 0;padding:20px 0;display:flex}.lesson-takeaways-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.lesson-takeaways-list li{color:var(--text-primary);padding-left:20px;font-size:14.5px;line-height:1.6;position:relative}.lesson-takeaways-list li:before{content:"✓";color:#16a34a;font-size:12px;position:absolute;top:2px;left:0}.lesson-checkpoint-section{margin-bottom:48px}.checkpoint-section{flex-direction:column;gap:14px;margin:34px 0;display:flex}.checkpoint-list{flex-direction:column;gap:26px;display:flex}.checkpoint-item{flex-direction:column;gap:12px;display:flex}.checkpoint-question{color:var(--text-primary);font-size:15.5px;font-weight:600;line-height:1.5}.checkpoint-options{flex-direction:column;gap:7px;display:flex}.checkpoint-option{border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);background:0 0;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.5;display:flex}.checkpoint-option:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.option-letter{font-size:11.5px;font-weight:700;font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;width:16px}.checkpoint-option.state-correct{color:#15803d;background:#16a34a0d;border-color:#16a34a73}.checkpoint-option.state-correct .option-letter{color:#16a34a}.checkpoint-option.state-incorrect{color:#b91c1c;background:#ef44440a;border-color:#ef444466}.checkpoint-option.state-incorrect .option-letter{color:#ef4444}.checkpoint-option.state-dimmed{opacity:.42}.checkpoint-option:disabled{cursor:default}[data-theme=dark] .checkpoint-option.state-correct{color:#4ade80}[data-theme=dark] .checkpoint-option.state-incorrect{color:#f87171}.checkpoint-explanation{border-left:2px solid var(--border-light);color:var(--text-secondary);padding:2px 0 2px 14px;font-size:13.5px;line-height:1.65}.checkpoint-explanation.correct{border-left-color:#16a34a}.checkpoint-explanation.incorrect{border-left-color:#ef4444}.explanation-verdict{color:var(--text-primary);margin-bottom:2px;font-weight:650;display:block}.editorial-contributor-section{display:none}.lesson-bottom-nav{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:24px 0 80px;display:flex}.lesson-nav-btn{cursor:pointer;border-radius:9999px;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.lesson-nav-btn.prev{border:1px solid var(--border-light);color:var(--text-secondary);background:0 0}.lesson-nav-btn.prev:hover{color:var(--text-primary);border-color:var(--text-primary)}.lesson-nav-btn.next{background:var(--text-primary);border:1px solid var(--text-primary);color:var(--bg-canvas)}.lesson-nav-btn.next:hover{opacity:.88}.lesson-nav-btn.next.complete{color:#fff;background:#16a34a;border-color:#16a34a}.editorial-header{border-bottom:1px solid var(--border-light);margin-bottom:28px;padding-bottom:20px}.editorial-title{color:var(--text-primary);letter-spacing:-.6px;margin-bottom:16px;font-size:32px;font-weight:800;line-height:1.25}.editorial-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.editorial-meta-left{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.meta-dot{color:var(--text-faint)}.editorial-meta-item{align-items:center;gap:5px;display:inline-flex}.editorial-actions-right{align-items:center;gap:8px;display:flex}.editorial-action-btn{border-radius:var(--radius-full);border:1px solid var(--border-light);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.editorial-action-btn:hover{background:var(--sidebar-hover);color:var(--text-primary)}.editorial-action-btn.active{color:#b45309;background:#fffbeb;border-color:#f59e0b}.editorial-complete-btn{border-radius:var(--radius-full);border:1px solid var(--border-light);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.editorial-complete-btn:hover{color:#16a34a;background:#f0fdf4;border-color:#16a34a}.editorial-complete-btn.completed{color:#fff;background:#16a34a;border-color:#16a34a}.editorial-overview-card{background:var(--sidebar-hover);border:1px solid var(--border-light);border-radius:14px;margin-bottom:28px;padding:18px 22px}.editorial-overview-header{margin-bottom:6px}.overview-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11.5px;font-weight:700}.editorial-overview-text{color:var(--text-primary);font-size:15px;line-height:1.6}.editorial-content-body{margin-bottom:40px}.editorial-paragraph{font-size:var(--editorial-body-size);line-height:var(--editorial-line-height);color:var(--text-secondary);letter-spacing:-.05px;margin-bottom:22px}.editorial-heading2{color:var(--text-primary);letter-spacing:-.4px;margin-top:38px;margin-bottom:14px;font-size:23px;font-weight:700}.editorial-heading3{color:var(--text-primary);letter-spacing:-.2px;margin-top:28px;margin-bottom:10px;font-size:18px;font-weight:700}.editorial-bullet-list{color:var(--text-secondary);font-size:var(--editorial-body-size);margin-bottom:22px;padding-left:24px;line-height:1.7}.editorial-bullet-list li{margin-bottom:8px}.editorial-callout{background:var(--sidebar-hover);border:1px solid var(--border-light);border-left:3.5px solid var(--brand-primary);border-radius:12px;gap:14px;margin:24px 0;padding:16px 18px;display:flex}.callout-icon-col{flex-shrink:0;padding-top:2px}.callout-content-col{flex:1}.callout-title{color:var(--text-primary);margin-bottom:4px;font-size:14.5px;font-weight:700}.callout-body-text{color:var(--text-secondary);font-size:14px;line-height:1.6}.editorial-takeaways-card{background:var(--sidebar-hover);border:1px solid var(--border-light);border-radius:14px;margin:28px 0;padding:20px 22px}.takeaways-header{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.takeaways-bullet-list{color:var(--text-secondary);flex-direction:column;gap:8px;padding-left:20px;font-size:14px;line-height:1.6;display:flex}.contributor-inline-badge{border-radius:var(--radius-full);background:var(--sidebar-active);color:var(--text-primary);align-items:center;gap:6px;padding:3px 8px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.contributor-inline-badge:hover{color:#0f172a;background:#e2e8f0}.contributor-avatar-sm{object-fit:cover;border-radius:50%;width:18px;height:18px}.editorial-contributor-section{border-top:1px solid var(--border-light);margin-top:40px;padding-top:24px}.contributor-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;font-size:13px;font-weight:700}.contributor-card-box{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-card);border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.contributor-card-left{align-items:center;gap:14px;display:flex}.contributor-avatar-lg{border:1px solid var(--border-light);object-fit:cover;border-radius:50%;width:44px;height:44px}.contributor-info-col{flex-direction:column;gap:2px;display:flex}.contributor-role-tag{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.contributor-full-name{color:var(--text-primary);font-size:14.5px;font-weight:700}.contributor-subtext{color:var(--text-secondary);font-size:12.5px}.contributor-github-btn{background:var(--brand-primary);color:var(--bg-canvas);border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.contributor-github-btn:hover{opacity:.9}.editorial-bottom-nav{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:36px;padding-top:24px;display:flex}.editorial-nav-btn{border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:600;display:inline-flex;box-shadow:0 1px 3px #0000000a}.editorial-nav-btn:hover{background:var(--sidebar-hover);border-color:#cbd5e1}.editorial-nav-btn.primary{background:var(--text-primary);color:var(--bg-canvas);border-color:var(--text-primary)}.editorial-nav-btn.finish{color:#fff;background:#16a34a;border-color:#16a34a}.settings-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1100;background:#000000bf;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-page{background:#141414;border:1px solid #ffffff14;border-radius:16px;width:860px;height:580px;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px #000000e6}.settings-left-nav{box-sizing:border-box;border-right:1px solid #ffffff0f;flex-direction:column;flex-shrink:0;gap:2px;width:200px;padding:24px 12px;display:flex}.settings-nav-item{color:#71717a;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;font-weight:400;transition:background .12s,color .12s;display:flex}.settings-nav-item:hover{color:#d4d4d8;background:#ffffff0d}.settings-nav-item.active{color:#fff;background:#ffffff14;font-weight:500}.settings-nav-icon{color:inherit;flex-shrink:0}.settings-right-panel{scrollbar-width:none;box-sizing:border-box;flex:1;padding:32px 36px;position:relative;overflow-y:auto}.settings-right-panel::-webkit-scrollbar{display:none}.settings-close-x{color:#71717a;cursor:pointer;z-index:10;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex;position:absolute;top:16px;right:16px}.settings-close-x:hover{color:#fff;background:#ffffff1a}.settings-profile-hero{align-items:center;gap:16px;margin-bottom:32px;display:flex}.settings-hero-avatar{object-fit:cover;background:#242424;border:2px solid #ffffff1a;border-radius:50%;flex-shrink:0;width:64px;height:64px}.settings-hero-name{color:#fff;letter-spacing:-.3px;font-size:22px;font-weight:700;line-height:1.2}.settings-hero-handle{color:#52525b;margin-top:3px;font-size:13.5px;text-decoration:none;transition:color .15s;display:block}.settings-hero-handle:hover{color:#a1a1aa}.settings-section-heading{color:#fff;letter-spacing:-.2px;margin:0 0 4px;font-size:16px;font-weight:600}.settings-section-block{margin-bottom:32px}.settings-rows-group{flex-direction:column;margin-bottom:28px;display:flex}.settings-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:14px 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-row-label{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.3}.settings-row-sub{color:var(--text-muted);font-size:12.5px;line-height:1.4}.settings-row-action{flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-row-value{color:var(--text-muted);font-size:14px;font-weight:400}.settings-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s}.settings-edit-btn:hover{color:var(--text-primary)}.settings-inline-input{background:var(--pill-bg);border:1px solid var(--border-light);color:var(--text-primary);border-radius:8px;outline:none;width:200px;padding:6px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.settings-inline-input:focus{border-color:var(--text-primary)}.settings-save-btn{background:var(--text-primary);color:var(--bg-canvas);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .15s}.settings-save-btn:hover{opacity:.9}.settings-stat-value{color:var(--text-secondary);font-size:14px;font-weight:600}.settings-row.danger .settings-row-label{color:var(--text-primary)}.settings-danger-btn-row{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500;transition:opacity .15s}.settings-danger-btn-row:hover{opacity:.75}.settings-action-btn{background:var(--pill-bg);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.settings-action-btn:hover{background:var(--sidebar-hover);border-color:var(--card-hover-border);color:var(--text-primary)}.mobbin-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;height:28px;display:inline-block;position:relative}.mobbin-toggle input{opacity:0;width:0;height:0;position:absolute}.mobbin-toggle-track{background:var(--pill-bg);border:1px solid var(--border-light);border-radius:9999px;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.mobbin-toggle-knob{background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px}.mobbin-toggle input:checked+.mobbin-toggle-track{background:#fff;border-color:#fff}[data-theme=light] .mobbin-toggle input:checked+.mobbin-toggle-track{background:#09090b;border-color:#09090b}.mobbin-toggle input:checked+.mobbin-toggle-track .mobbin-toggle-knob{background:#121212;transform:translate(20px)}[data-theme=light] .mobbin-toggle input:checked+.mobbin-toggle-track .mobbin-toggle-knob{background:#fff}.mobbin-selector-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;width:100%;display:grid}.mobbin-selector-card{border:1px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:106px;padding:20px 14px;font-family:inherit;transition:border-color .15s,color .15s;display:flex;position:relative}.mobbin-selector-card:hover{border-color:var(--text-primary);background:0 0}.mobbin-selector-card.active{border:1.5px solid var(--text-primary);box-shadow:none;background:0 0}.mobbin-selector-icon{color:var(--text-secondary);justify-content:center;align-items:center;transition:color .15s;display:flex}.mobbin-selector-card.active .mobbin-selector-icon,.mobbin-selector-card:hover .mobbin-selector-icon{color:var(--text-primary)}.mobbin-selector-label{color:var(--text-secondary);text-align:center;letter-spacing:-.1px;white-space:nowrap;font-size:13.5px;font-weight:500;line-height:1.25;transition:color .15s}.mobbin-selector-card.active .mobbin-selector-label{color:var(--text-primary);font-weight:600}.mobbin-selector-card:hover .mobbin-selector-label{color:var(--text-primary)}.mobbin-selector-badge{color:var(--text-muted);background:0 0;border:none;padding:0;font-size:13px;font-weight:700;position:absolute;top:7px;right:7px}.accent-color-row{flex-wrap:wrap;gap:10px;display:flex}.accent-swatch{cursor:pointer;border:2.5px solid #0000;border-radius:50%;outline:none;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .15s,box-shadow .15s;display:flex}.accent-swatch:hover{transform:scale(1.12);box-shadow:0 0 0 3px #0000001f}.accent-swatch.active{border-color:#0000004d;box-shadow:0 0 0 2px #0000001f}[data-theme=dark] .accent-swatch.active{border-color:#fff6}.mobbin-font-glyph{color:var(--text-muted);font-size:32px;font-weight:600;line-height:1;transition:color .15s}.mobbin-selector-card.active .mobbin-font-glyph,.mobbin-selector-card:hover .mobbin-font-glyph{color:var(--text-primary)}.mobbin-font-glyph.sans{font-family:Plus Jakarta Sans,sans-serif}.mobbin-font-glyph.serif{font-family:Georgia,serif;font-style:italic}.mobbin-font-glyph.mono{font-family:JetBrains Mono,monospace;font-size:26px}.mobbin-font-glyph.handwritten{font-family:var(--font-handwritten);font-size:38px}.mobbin-font-glyph.atkinson{font-family:var(--font-atkinson)}.mobbin-font-glyph.lexend{font-family:var(--font-lexend)}.mobbin-btn-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mobbin-btn-primary{color:#000;letter-spacing:-.1px;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:#fff;border:1.5px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:42px;padding:9px 24px;font-family:inherit;font-size:14.5px;font-weight:600;transition:all .15s;display:inline-flex}[data-theme=light] .mobbin-btn-primary{color:#fff;background:#000}.mobbin-btn-primary:hover{opacity:.92}.mobbin-btn-primary:active{opacity:.85}.mobbin-btn-secondary{color:#fff;letter-spacing:-.1px;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:0 0;border:1.5px solid #fff3;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:42px;padding:9px 22px;font-family:inherit;font-size:14.5px;font-weight:500;transition:all .15s;display:inline-flex}[data-theme=light] .mobbin-btn-secondary{color:#000;border-color:#0000002e}.mobbin-btn-secondary:hover{background:#ffffff0a;border-color:#fff6}[data-theme=light] .mobbin-btn-secondary:hover{background:#00000008;border-color:#00000059}.mobbin-btn-soft{color:#fff;letter-spacing:-.1px;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:0 0;border:1.5px solid #fff3;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:42px;padding:9px 22px;font-family:inherit;font-size:14.5px;font-weight:500;transition:all .15s;display:inline-flex}[data-theme=light] .mobbin-btn-soft{color:#000;border-color:#0000002e}.mobbin-btn-soft:hover{background:#ffffff0a;border-color:#fff6}[data-theme=light] .mobbin-btn-soft:hover{background:#00000008;border-color:#00000059}.mobbin-btn-danger{color:#ef4444;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:#ef444414;border:1.5px solid #ef44444d;border-radius:9999px;justify-content:center;align-items:center;gap:8px;height:42px;padding:9px 22px;font-family:inherit;font-size:14.5px;font-weight:500;transition:all .15s;display:inline-flex}.mobbin-btn-danger:hover{background:#ef444429;border-color:#ef444480}.mobbin-btn-danger-solid{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:6px;height:38px;padding:8px 18px;font-family:inherit;font-size:13.5px;font-weight:600;transition:opacity .15s;display:inline-flex}.mobbin-btn-danger-solid:hover{opacity:.9}.mobbin-pill-switcher{flex-wrap:wrap;gap:12px;display:flex}.mobbin-pill-opt{color:#fff;letter-spacing:-.1px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:1.5px solid #fff3;border-radius:9999px;justify-content:center;align-items:center;height:42px;padding:9px 24px;font-family:inherit;font-size:14.5px;font-weight:500;transition:all .15s;display:inline-flex}[data-theme=light] .mobbin-pill-opt{color:#000;border-color:#0000002e}.mobbin-pill-opt:hover{background:#ffffff0a;border-color:#fff6}[data-theme=light] .mobbin-pill-opt:hover{background:#00000008;border-color:#00000059}.mobbin-pill-opt.active{color:#000!important;background:#fff!important;border-color:#fff!important;font-weight:600!important}[data-theme=light] .mobbin-pill-opt.active{color:#fff!important;background:#000!important;border-color:#000!important;font-weight:600!important}.settings-rows-group{flex-direction:column;display:flex}.settings-toggle-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.settings-toggle-row:last-child{border-bottom:none}.toggle-info-label{color:var(--text-primary);font-size:14px;font-weight:500}.toggle-info-sub{color:var(--text-muted);margin-top:2px;font-size:12.5px;line-height:1.4}.settings-community-link{border-bottom:1px solid var(--border-light);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;text-decoration:none;transition:opacity .15s;display:flex}.settings-community-link:hover{opacity:.7}.settings-community-link:last-child{border-bottom:none}.community-link-label{color:var(--text-primary);font-size:14px;font-weight:500}.community-link-sub{color:var(--text-muted);margin-top:2px;font-size:12.5px}.community-link-arrow{color:var(--text-muted);font-size:14px}.settings-autosave-indicator{color:#3f3f46;border-top:1px solid #ffffff0a;align-items:center;gap:6px;margin-top:24px;padding-top:16px;font-size:11.5px;display:flex}.settings-fullpage{background:var(--bg-canvas);width:100%;height:calc(100vh - 88px);max-height:calc(100vh - 88px);display:flex;overflow:hidden}.settings-fullpage-sidebar{box-sizing:border-box;-webkit-user-select:none;user-select:none;border-right:none;flex-shrink:0;width:252px;height:100%;padding:16px 16px 36px 40px;overflow:hidden}.settings-fullpage-nav{flex-direction:column;gap:4px;display:flex}.settings-nav-item{color:var(--text-muted);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:9px;align-items:center;gap:13px;width:100%;padding:11px 16px;font-family:inherit;font-size:15px;font-weight:500;transition:all .15s;display:flex}.settings-nav-item:hover{background:var(--sidebar-hover);color:var(--text-primary)}.settings-nav-item.active{background:var(--sidebar-active);color:var(--text-primary);font-weight:600}.settings-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.settings-nav-label{font-size:15px;line-height:1.3}.settings-fullpage-content{scrollbar-width:thin;box-sizing:border-box;flex:1;min-width:0;height:100%;padding:16px 56px 120px 72px;overflow-y:auto}.settings-fullpage-content::-webkit-scrollbar{width:6px}.settings-fullpage-content::-webkit-scrollbar-track{background:0 0}.settings-fullpage-content::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.settings-fullpage-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.settings-tab-pane{width:100%;max-width:620px}.mobbin-account-header{flex-direction:column;align-items:flex-start;margin-bottom:36px;display:flex}.mobbin-avatar-wrapper{background:var(--pill-bg);border:2px solid var(--border-light);border-radius:50%;flex-shrink:0;width:76px;height:76px;margin-bottom:16px;overflow:hidden}.mobbin-hero-avatar{object-fit:cover;width:100%;height:100%;display:block}.mobbin-hero-name{color:var(--text-primary);letter-spacing:-.5px;margin:0 0 4px;font-size:28px;font-weight:700;line-height:1.2}.mobbin-hero-email{color:var(--text-muted);margin:0 0 20px;font-size:14px;font-weight:400;line-height:1.3}.mobbin-plan-banner{background:var(--pill-bg);border:1px solid var(--border-light);box-sizing:border-box;border-radius:9999px;align-items:center;gap:12px;width:100%;padding:9px 18px;display:flex}.mobbin-plan-tag{background:var(--brand-badge-bg);color:var(--brand-badge-color);letter-spacing:.6px;border-radius:4px;flex-shrink:0;padding:2.5px 7px;font-size:10px;font-weight:800;line-height:1}.mobbin-plan-text{color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.3}.mobbin-section-group{margin-top:40px}.mobbin-section-title{color:var(--text-primary);letter-spacing:-.3px;margin:0 0 4px;font-size:18px;font-weight:700}.mobbin-section-subtitle{color:var(--text-muted);margin:0 0 16px;font-size:13px;line-height:1.4}.mobbin-rows-container{flex-direction:column;width:100%;display:flex}.mobbin-row{border-bottom:1px solid var(--border-light);box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:14px 0;display:flex}.mobbin-rows-container .mobbin-row:last-child{border-bottom:none}.mobbin-row-left{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mobbin-row-label{color:var(--text-primary);font-size:14.5px;font-weight:500;line-height:1.3}.mobbin-row-val{color:var(--text-muted);word-break:break-word;font-size:14px;line-height:1.4}.mobbin-row-input{background:var(--pill-bg);border:1px solid var(--border-light);color:var(--text-primary);border-radius:6px;outline:none;width:240px;max-width:100%;margin-top:4px;padding:6px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.mobbin-row-input:focus{border-color:var(--text-primary)}.mobbin-row-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.mobbin-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:500;transition:color .15s}.mobbin-edit-btn:hover{color:var(--text-primary)}.mobbin-save-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .15s}.mobbin-save-btn:hover{opacity:.8}.mobbin-stat-val{color:var(--text-muted);font-size:14px;font-weight:500}.mobbin-action-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:500;transition:color .15s}.mobbin-action-link:hover{color:var(--text-primary)}.mobbin-delete-link{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:14px;font-weight:500;transition:opacity .15s}.mobbin-delete-link:hover{opacity:.75}.mobbin-confirm-box{color:var(--text-muted);align-items:center;gap:10px;font-size:13.5px;display:flex}.mobbin-confirm-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:14px;font-weight:600}.mobbin-confirm-btn:hover{opacity:.8}.mobbin-confirm-delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:14px;font-weight:600}.mobbin-confirm-delete-btn:hover{opacity:.8}.mobbin-cancel-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:14px}.mobbin-cancel-btn:hover{color:var(--text-primary)}.mobbin-footer-note{color:var(--text-muted);border-top:1px solid var(--border-subtle);align-items:center;gap:8px;margin-top:36px;padding-top:20px;font-size:12.5px;line-height:1.4;display:flex}.settings-modal-dialog{background:var(--card-bg);width:100%;max-width:760px;height:580px;box-shadow:var(--shadow-popover);border:1px solid var(--border-light);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.settings-modal-header{border-bottom:1px solid var(--border-light);background:var(--card-bg);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-modal-title{color:var(--text-primary);letter-spacing:-.2px;font-size:16px;font-weight:700}.settings-modal-subtitle{color:var(--text-muted);margin-top:1px;font-size:12px}.settings-close-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.settings-close-btn:hover{background:var(--sidebar-hover);color:var(--text-primary)}.settings-modal-body{flex:1;display:flex;overflow:hidden}.settings-tabs-sidebar{background:var(--bg-canvas);border-right:1px solid var(--border-light);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;gap:3px;width:190px;padding:14px 8px;display:flex}.settings-tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.settings-tab-btn:hover{background:var(--sidebar-hover);color:var(--text-primary)}.settings-tab-btn.active{background:var(--card-bg);color:var(--text-primary);border-color:var(--border-light);font-weight:600;box-shadow:0 1px 3px #00000014}.settings-tab-content{background:var(--card-bg);flex:1;padding:22px 24px;overflow-y:auto}.settings-section{flex-direction:column;gap:20px;display:flex}.settings-profile-header-card{background:var(--bg-canvas);border:1px solid var(--border-light);border-radius:12px;align-items:center;gap:16px;padding:16px 18px;display:flex}.settings-avatar-wrap{border:1.5px solid var(--border-light);background:var(--sidebar-active);border-radius:50%;flex-shrink:0;width:52px;height:52px;overflow:hidden}.settings-profile-avatar{object-fit:cover;width:100%;height:100%}.settings-profile-display-name{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.settings-github-link{color:var(--text-muted);align-items:center;gap:5px;font-size:12px;text-decoration:none;display:inline-flex}.settings-github-link:hover{color:var(--brand-accent);text-decoration:underline}.settings-form-group{flex-direction:column;gap:6px;display:flex}.settings-label{color:var(--text-primary);font-size:12.5px;font-weight:600}.settings-input{border:1px solid var(--border-light);background:var(--bg-canvas);width:100%;height:36px;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;outline:none;padding:0 12px;font-family:inherit;font-size:13px}.settings-input:focus{border-color:#58a6ff;box-shadow:0 0 0 2px #58a6ff33}.settings-input-prefix-wrap{border:1px solid var(--border-light);background:var(--bg-canvas);border-radius:8px;align-items:center;display:flex;overflow:hidden}.input-prefix{color:var(--text-muted);background:var(--sidebar-hover);border-right:1px solid var(--border-light);height:36px;font-size:12.5px;font-family:var(--font-mono);align-items:center;padding:0 10px;display:flex}.settings-input.prefixed{border:none;border-radius:0}.settings-helper-text{color:var(--text-muted);font-size:11.5px}.settings-stats-card{background:var(--bg-canvas);border:1px solid var(--border-light);border-radius:12px;padding:14px 16px}.settings-stats-title{color:var(--text-primary);margin-bottom:10px;font-size:12.5px;font-weight:700}.settings-stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat-box{background:var(--card-bg);border:1px solid var(--border-light);text-align:center;border-radius:8px;padding:8px}.stat-val{color:var(--text-primary);font-size:17px;font-weight:800}.stat-lbl{color:var(--text-muted);font-size:11px}.theme-selector-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;display:grid}.theme-card-btn{border:1px solid var(--border-light);background:var(--bg-canvas);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 10px;display:flex}.theme-card-btn:hover{border-color:var(--text-muted);background:var(--sidebar-hover)}.theme-card-btn.active{background:var(--sidebar-active);border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff}.theme-card-title{font-size:13px;font-weight:700}.theme-card-sub{color:var(--text-muted);font-size:11px}.font-selector-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;display:grid}.font-choice-card{border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;text-align:center;background:0 0;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:border-color .15s;display:flex}.font-choice-card:hover{border-color:var(--text-primary);background:0 0}.font-choice-card.active{border:1.5px solid var(--text-primary);box-shadow:none;background:0 0}.font-preview{margin-bottom:2px;font-size:24px;font-weight:700}.font-preview.sans{font-family:var(--font-sans)}.font-preview.serif{font-family:var(--font-serif)}.font-preview.mono{font-family:var(--font-mono)}.font-name{font-size:12.5px;font-weight:700}.font-desc{color:var(--text-muted);font-size:11px}.pill-options-row{gap:8px;margin-top:4px;display:flex}.pill-option-btn{border:1px solid var(--border-light);background:var(--bg-canvas);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;flex:1;padding:8px 12px;font-size:12.5px;font-weight:600}.pill-option-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.pill-option-btn.active{background:var(--text-primary);color:var(--bg-canvas);border-color:var(--text-primary)}.settings-toggle-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-title{color:var(--text-primary);font-size:13px;font-weight:600}.toggle-desc{color:var(--text-muted);font-size:11.5px}.switch-toggle{flex-shrink:0;width:40px;height:22px;display:inline-block;position:relative}.switch-toggle input{opacity:0;width:0;height:0}.slider-round{cursor:pointer;background-color:var(--border-light);border-radius:22px;transition:all .2s;position:absolute;inset:0}.slider-round:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;bottom:3px;left:3px}input:checked+.slider-round{background-color:#238636}input:checked+.slider-round:before{transform:translate(18px)}.settings-data-card,.settings-danger-card{border:1px solid var(--border-light);background:var(--bg-canvas);border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.settings-danger-card{background:#f8514914;border-color:#f8514940}.data-card-title{color:var(--text-primary);margin-bottom:2px;font-size:13.5px;font-weight:700}.data-card-title.danger{color:#f85149}.data-card-desc{color:var(--text-secondary);max-width:360px;font-size:12px}.settings-secondary-btn{border:1px solid var(--border-light);background:var(--card-bg);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.settings-secondary-btn:hover{background:var(--sidebar-hover);border-color:var(--text-muted)}.settings-danger-btn{color:#fff;cursor:pointer;transition:all var(--transition-fast);background:#da3633;border:1px solid #da3633;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.settings-danger-btn:hover{background:#b62324}.reset-confirm-box{color:#f85149;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.confirm-yes-btn{color:#fff;cursor:pointer;background:#da3633;border:none;border-radius:6px;padding:4px 8px;font-weight:600}.confirm-cancel-btn{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-light);cursor:pointer;border-radius:6px;padding:4px 8px}.settings-modal-footer{border-top:1px solid var(--border-light);background:var(--bg-canvas);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.footer-status-text{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.settings-done-btn{background:var(--text-primary);color:var(--bg-canvas);cursor:pointer;transition:opacity var(--transition-fast);border:none;border-radius:8px;padding:7px 18px;font-size:13px;font-weight:600}.settings-done-btn:hover{opacity:.9}.glass-modal-overlay{-webkit-backdrop-filter:blur(16px);z-index:1000;background:#00000073;justify-content:center;align-items:flex-start;width:100vw;height:100vh;padding-top:100px;animation:.15s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.glass-search-modal{-webkit-backdrop-filter:blur(28px)saturate(190%);background:#18181bc7;border:1px solid #ffffff1f;border-radius:20px;width:100%;max-width:640px;animation:.18s cubic-bezier(.16,1,.3,1) glassScaleUp;overflow:hidden;box-shadow:0 30px 80px #00000073,0 0 0 1px #ffffff0d}[data-theme=light] .glass-search-modal{background:#ffffffd1;border:1px solid #00000014;box-shadow:0 30px 80px #00000026,0 0 0 1px #0000000a}@keyframes glassScaleUp{0%{opacity:0;transform:scale(.97)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.glass-search-input-wrap{align-items:center;gap:14px;padding:18px 22px;display:flex}.glass-search-icon{color:#8e8e93;flex-shrink:0}.glass-search-input{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px;font-weight:450}[data-theme=light] .glass-search-input{color:#1c1c1e}.glass-search-input::placeholder{color:#8e8e93;font-weight:400}.glass-search-results{border-top:1px solid #ffffff14;max-height:420px;padding:8px 12px 14px;overflow-y:auto}[data-theme=light] .glass-search-results{border-top:1px solid #0000000f}.glass-results-group{margin-top:6px;margin-bottom:10px}.glass-group-title{text-transform:uppercase;letter-spacing:.06em;color:#8e8e93;padding:4px 10px;font-size:11px;font-weight:700}.glass-result-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:2px;padding:10px 14px;transition:all .12s;display:flex}.glass-result-item:hover{background:#ffffff14}[data-theme=light] .glass-result-item:hover{background:#0000000d}.glass-result-title{color:#fff;flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.4}[data-theme=light] .glass-result-title{color:#1c1c1e}.glass-result-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.glass-result-badge{color:#a1a1aa;background:#ffffff0f;border-radius:9999px;padding:2px 8px;font-size:11.5px;font-weight:500}[data-theme=light] .glass-result-badge{color:#636366;background:#0000000d}.glass-result-arrow{color:#636366}.glass-search-empty{text-align:center;color:#8e8e93;padding:28px 16px;font-size:13.5px}.mobbin-topbar{background-color:var(--bg-canvas);z-index:500;border-bottom:none;justify-content:center;width:100%;padding-top:20px;padding-bottom:12px;display:flex;position:sticky;top:0}.mobbin-topbar-inner{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;max-width:1520px;height:56px;padding:0 40px;display:flex;position:relative}.topbar-left-mobbin{z-index:2;align-items:center;gap:32px;display:flex}.topbar-brand-link{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.pingala-binary-logo{color:var(--text-primary);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-weight:800;line-height:.85;display:flex}.binary-line{letter-spacing:.6px;-webkit-text-stroke:.4px currentColor;font-size:13.5px;font-weight:800;display:block}.topbar-brand-title{color:var(--text-primary);letter-spacing:-.4px;font-size:19px;font-weight:800}.topbar-nav-tabs{align-items:center;gap:22px;display:flex}.topbar-nav-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:8px 2px;font-family:inherit;font-size:15px;font-weight:600;display:flex}.topbar-nav-btn:hover{color:var(--text-primary)}.topbar-nav-btn.active{color:var(--text-primary);font-weight:700}.tab-badge-count{background:var(--pill-bg);color:var(--text-primary);border-radius:9999px;padding:1px 7px;font-size:11px;font-weight:700}.topbar-center-mobbin{z-index:1;justify-content:center;width:100%;max-width:440px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mobbin-search-bar-btn{background:var(--search-bg);cursor:pointer;width:100%;height:48px;transition:background var(--transition-fast);box-sizing:border-box;border:none;border-radius:9999px;align-items:center;padding:0 20px;display:flex}.mobbin-search-bar-btn:hover{background:var(--search-hover)}.search-bar-inner{color:var(--text-muted);align-items:center;gap:12px;display:flex}.search-bar-icon{color:var(--text-muted)}.search-bar-placeholder{color:var(--text-muted);font-family:inherit;font-size:14.5px;font-weight:400}.topbar-right-mobbin{z-index:2;align-items:center;display:flex}.topbar-profile-container{align-items:center;display:flex;position:relative}.topbar-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.mobbin-user-avatar{object-fit:cover;border:1.5px solid var(--border-light);border-radius:50%;width:36px;height:36px}.mobbin-fallback-avatar{background:var(--pill-bg);width:36px;height:36px;color:var(--text-muted);box-sizing:border-box;border-radius:50%;padding:6px}.curriculum-matrix-wrapper{box-sizing:border-box;width:100%;padding:56px 40px 20px}.curriculum-matrix-scroll{scrollbar-width:none;gap:72px;padding-bottom:12px;display:flex;overflow-x:auto}.curriculum-matrix-scroll::-webkit-scrollbar{display:none}.curriculum-matrix-col{flex-direction:column;flex-shrink:0;gap:14px;min-width:220px;display:flex}.matrix-col-category{color:var(--text-muted);letter-spacing:0;-webkit-user-select:none;user-select:none;font-size:13.5px;font-weight:500}.matrix-col-items{flex-direction:column;gap:6px;display:flex}.matrix-col-item-btn{text-align:left;color:var(--text-primary);cursor:pointer;letter-spacing:-.4px;transition:color var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:18.5px;font-weight:700;line-height:1.34}.matrix-col-item-btn:hover{color:var(--brand-accent)}.mobbin-courses-section{flex-direction:column;width:100%;display:flex}.mobbin-filter-bar{box-sizing:border-box;justify-content:space-between;align-items:center;min-height:48px;padding:16px 40px;display:flex}.mobbin-view-pill{background:var(--pill-bg);box-sizing:border-box;height:34px;transition:background var(--transition-fast);border-radius:9999px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:inline-flex}.mobbin-pill-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;height:28px;padding:0 14px;font-family:inherit;font-size:13.5px;font-weight:500;line-height:1;display:inline-flex}.mobbin-pill-btn:hover{color:var(--text-primary)}.mobbin-pill-btn.active{background:var(--pill-active-bg);color:var(--pill-active-color);box-shadow:var(--pill-active-shadow);font-weight:700}.mobbin-filter-separator{background:var(--separator-color);width:1px;height:20px;transition:background var(--transition-fast);flex-shrink:0;align-self:center;margin:0 20px}.mobbin-tabs-nav{flex:1;align-items:center;gap:28px;height:34px;margin-left:0;display:flex}.mobbin-tab-btn{height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);box-sizing:border-box;background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-family:inherit;font-size:14.5px;font-weight:500;line-height:1;display:inline-flex;position:relative}.mobbin-tab-btn:hover{color:var(--text-primary)}.mobbin-tab-btn.active{color:var(--tab-active-color);font-weight:700}.tab-active-indicator{background:var(--tab-indicator-bg);border-radius:2px;height:2.5px;position:absolute;bottom:0;left:0;right:0}.mobbin-filter-right{align-items:center;height:34px;display:flex}.mobbin-filter-action-btn{height:34px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:13.5px;font-weight:500;line-height:1;display:inline-flex}.mobbin-filter-action-btn:hover{color:var(--text-primary)}.mobbin-courses-grid{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:16px 40px 80px;display:grid}@media (width<=1200px){.mobbin-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.mobbin-courses-grid{grid-template-columns:1fr;padding:16px 20px 64px}.mobbin-topbar-inner{padding:0 20px}.curriculum-matrix-wrapper{padding:24px 20px 16px}.mobbin-filter-bar{padding:16px 20px}}.mobbin-showcase-card{background:var(--pill-bg);border:1px solid var(--border-light);cursor:pointer;box-sizing:border-box;border-radius:14px;flex-direction:column;gap:14px;padding:16px;transition:background .15s,border-color .15s;display:flex}.mobbin-showcase-card:hover{background:var(--sidebar-hover);border-color:var(--card-hover-border)}.mobbin-card-preview-wrap{background:var(--pill-bg);border-radius:14px;justify-content:center;align-items:center;width:100%;height:230px;display:flex;position:relative;overflow:hidden}.mobbin-card-tag{background:var(--bg-canvas);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light);color:var(--text-primary);z-index:10;border-radius:8px;padding:3px 9px;font-size:11.5px;font-weight:600;position:absolute;top:12px;left:12px}.course-card{border:1px solid var(--border-light);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:16px;flex-direction:column;gap:14px;min-height:240px;padding:24px;transition:border-color .15s;display:flex}.course-card:hover{border-color:var(--text-primary);background:0 0}.card-track-label{text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.card-header-row{align-items:center;gap:10px;display:flex}.card-header-icon{color:var(--text-primary);flex-shrink:0;align-items:center;display:flex}.card-title{color:var(--text-primary);letter-spacing:-.2px;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.card-description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-footer{flex-direction:column;gap:10px;margin-top:auto;display:flex}.card-meta-pills{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.card-meta-pill{color:var(--text-muted);font-size:11.5px;font-weight:400}.card-meta-dot{color:var(--text-faint);padding:0 2px;font-size:11.5px}.card-progress-row{align-items:center;gap:8px;display:flex}.card-progress-track{background:var(--border-light);border-radius:9999px;flex:1;height:4px;overflow:hidden}.card-progress-bar{border-radius:9999px;height:100%;transition:width .3s}.card-progress-pct{color:var(--text-muted);text-align:right;min-width:28px;font-size:11px;font-weight:600}.card-progress-bar-track{background:#ffffff14;border-radius:9999px;flex:1;height:2px;overflow:hidden}.card-progress-bar-fill{border-radius:9999px;height:100%;transition:width .3s}.card-progress-label{color:#52525b;white-space:nowrap;font-size:11px;font-weight:600}.dl-canvas{background:#141414;border:1px solid #ffffff14}.dl-preview-header{justify-content:flex-end;font-size:11px;display:flex}.dl-params{color:#4ade80;font-weight:600;font-family:var(--font-mono)}.dl-loss-chart{height:80px;position:relative}.loss-svg{width:100%;height:60px}.chart-legend{color:#777;font-size:10.5px;font-family:var(--font-mono);justify-content:space-between;display:flex}.chart-legend .val{color:#4ade80}.dl-nodes-grid{font-size:10px;font-family:var(--font-mono);color:#888;justify-content:center;align-items:center;gap:6px;display:flex}.dl-node.active{color:#4ade80;background:#4ade801f;border-radius:4px;padding:2px 6px}.transformer-canvas{background:#131313;border:1px solid #ffffff14}.transformer-top-row{justify-content:flex-end;font-size:11px;display:flex}.trans-heads{color:#60a5fa;font-weight:600;font-family:var(--font-mono)}.attention-heatmap-visual{text-align:center;margin:auto 0}.attention-equation{color:#fff;font-size:13.5px;font-weight:700;font-family:var(--font-mono);align-items:center;gap:3px;display:inline-flex}.attention-equation .frac{vertical-align:middle;border-bottom:1px solid #ffffff4d;flex-direction:column;padding:0 2px;font-size:11px;display:inline-flex}.attn-matrix-bar{background:#ffffff14;border-radius:3px;width:100%;height:6px;margin-top:10px;overflow:hidden}.attn-matrix-bar .bar-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;height:100%}.transformer-footer-tags{color:#777;font-size:10.5px;font-family:var(--font-mono);justify-content:space-between;display:flex}.agent-canvas{background:#141414;border:1px solid #ffffff14}.agent-topbar{justify-content:flex-end;font-size:11px;display:flex}.agent-throughput{color:#c084fc;font-weight:600;font-family:var(--font-mono)}.agent-trace-box{font-size:11px;font-family:var(--font-mono);color:#ccc;flex-direction:column;gap:4px;display:flex}.trace-step .lbl{margin-right:4px;font-weight:700}.trace-step .lbl.thought{color:#f59e0b}.trace-step .lbl.act{color:#3b82f6}.trace-step .lbl.obs{color:#10b981}.agent-footer-status{color:#a855f7;font-size:10.5px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.status-dot-pulse{background:#a855f7;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #a855f7}.mobbin-card-bottom{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.card-bottom-left{align-items:center;gap:12px;display:flex;overflow:hidden}.card-brand-icon{color:#fff;background:#242424;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.card-brand-details{flex-direction:column;gap:2px;display:flex;overflow:hidden}.card-brand-title{color:#fff;margin:0;font-size:14.5px;font-weight:700;line-height:1.2}.card-brand-tagline{color:#888;white-space:nowrap;text-overflow:ellipsis;max-width:240px;margin:0;font-size:12px;overflow:hidden}.card-completion-chip{color:#16a34a;background:#16a34a1f;border-radius:9999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.mobbin-stepper-list{box-sizing:border-box;flex-direction:column;width:100%;max-width:680px;margin:16px auto 0;padding:28px 20px 80px;display:flex}@media (width<=768px){.mobbin-stepper-list{margin-top:8px;padding:20px 16px 60px}}.mobbin-step-item{cursor:pointer;align-items:stretch;gap:22px;padding:0;transition:opacity .15s;display:flex;position:relative}.mobbin-step-item:hover .mobbin-step-title{color:var(--text-primary)}.mobbin-step-left-col{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex;position:relative}.mobbin-step-number{color:#fff;z-index:2;background:#242424;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;font-size:14px;font-weight:700;display:flex}[data-theme=light] .mobbin-step-number{color:#18181b;background:#e4e4e7;border:1px solid #0000001a}.mobbin-step-number.completed{color:#fff;background:#16a34a;border-color:#16a34a}.mobbin-step-connector{z-index:1;background:#ffffff26;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}[data-theme=light] .mobbin-step-connector{background:#00000026}.mobbin-step-connector.first{top:17px}.mobbin-step-connector.last{bottom:calc(100% - 17px)}.mobbin-step-connector.first.last{display:none}.mobbin-step-body{flex-direction:column;flex:1;min-width:0;padding-top:3px;padding-bottom:36px;display:flex}.mobbin-step-title{color:var(--text-primary);letter-spacing:-.25px;margin:0 0 6px;font-size:18px;font-weight:700;line-height:1.35}.mobbin-step-description{color:var(--text-secondary);margin:0 0 10px;font-size:14.5px;line-height:1.5}.mobbin-step-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.mobbin-step-progress-text{color:#16a34a;font-weight:600}.profile-dropdown-popover{z-index:1000;box-sizing:border-box;background:#181818;border:1px solid #ffffff1f;border-radius:20px;width:290px;padding:18px;animation:.18s cubic-bezier(.16,1,.3,1) fadeInScale;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 24px 60px #000000d9}[data-theme=light] .profile-dropdown-popover{background:#fff;border:1px solid #0000001a;box-shadow:0 20px 48px #0000001f,0 4px 12px #0000000d}.profile-dropdown-header{flex-direction:column;align-items:flex-start;display:flex}.profile-pro-badge{color:#000;letter-spacing:.5px;background:#fff;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:800}[data-theme=light] .profile-pro-badge{color:#fff;background:#18181b}.profile-dropdown-name{color:#fff;margin:6px 0 0;font-size:16px;font-weight:700}[data-theme=light] .profile-dropdown-name{color:#18181b}.profile-dropdown-email{color:#737373;word-break:break-all;margin:2px 0 12px;font-size:12px}[data-theme=light] .profile-dropdown-email{color:#71717a}.profile-setup-btn{color:#fff;cursor:pointer;width:100%;height:38px;transition:all var(--transition-fast);background:#2a2a2a;border:1px solid #ffffff14;border-radius:9999px;font-size:13.5px;font-weight:600}.profile-setup-btn:hover{background:#333}[data-theme=light] .profile-setup-btn{color:#18181b;background:#f4f4f5;border:1px solid #00000014}[data-theme=light] .profile-setup-btn:hover{background:#e4e4e7}.profile-dropdown-divider{background:#ffffff14;height:1px;margin:12px 0}[data-theme=light] .profile-dropdown-divider{background:#00000014}.profile-dropdown-section{flex-direction:column;gap:3px;display:flex}.profile-dropdown-item{color:#e5e5e5;cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:8px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:flex}.profile-dropdown-item:hover{color:#fff;background:#ffffff0f}[data-theme=light] .profile-dropdown-item{color:#27272a}[data-theme=light] .profile-dropdown-item:hover{color:#18181b;background:#0000000a}.profile-item-icon{color:#a3a3a3}[data-theme=light] .profile-item-icon{color:#71717a}.profile-dropdown-theme-row{justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.profile-theme-label{color:#e5e5e5;font-size:14px;font-weight:600}[data-theme=light] .profile-theme-label{color:#27272a}.profile-theme-pill{background:#262626;border-radius:9999px;align-items:center;gap:2px;padding:3px;display:inline-flex}[data-theme=light] .profile-theme-pill{background:#f4f4f5;border:1px solid #00000014}.theme-pill-btn{color:#737373;cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.theme-pill-btn:hover{color:#fff}[data-theme=light] .theme-pill-btn:hover{color:#18181b}.theme-pill-btn.active{color:#fff;background:#383838}[data-theme=light] .theme-pill-btn.active{color:#18181b;background:#fff;box-shadow:0 1px 3px #0000001f}.merch-wrap{align-items:center;gap:6px;display:flex}.merch-new-tag{color:#a3a3a3;background:#2a2a2a;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:700}[data-theme=light] .merch-new-tag{color:#71717a;background:#f4f4f5;border:1px solid #00000014}.profile-dropdown-item.with-arrow{justify-content:space-between}.logout-item{color:#ef4444}.logout-item:hover{color:#f87171;background:#ef44441a}[data-theme=light] .logout-item{color:#dc2626}[data-theme=light] .logout-item:hover{color:#b91c1c;background:#dc262614}.profile-dropdown-footer{color:#737373;justify-content:space-between;align-items:center;padding:4px 8px;font-size:11.5px;display:flex}[data-theme=light] .profile-dropdown-footer{color:#a1a1aa}.footer-social-icon{color:#737373;transition:color var(--transition-fast);align-items:center;text-decoration:none;display:flex}.footer-social-icon:hover{color:#fff}[data-theme=light] .footer-social-icon:hover{color:#18181b}.saved-header-editorial{padding:32px 54px 16px}@media (width<=768px){.saved-header-editorial{padding:24px 20px 12px}}.saved-title{color:var(--text-primary);letter-spacing:-.4px;margin:0 0 6px;font-size:26px;font-weight:700}.saved-subtitle{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.saved-empty-state-editorial{border:1px dashed var(--border-light);text-align:center;box-sizing:border-box;border-radius:16px;flex-direction:column;align-items:center;margin:40px 54px 80px;padding:48px 24px;display:flex}@media (width<=768px){.saved-empty-state-editorial{margin:24px 20px 60px}}.saved-empty-title{color:var(--text-primary);margin:14px 0 6px;font-size:17px;font-weight:700}.saved-empty-desc{color:var(--text-muted);max-width:420px;margin:0 0 20px;font-size:14px;line-height:1.5}.saved-empty-explore-btn{background:var(--text-primary);color:var(--bg-canvas);cursor:pointer;border:none;border-radius:9999px;padding:8px 20px;font-family:inherit;font-size:13.5px;font-weight:600;transition:opacity .15s}.saved-empty-explore-btn:hover{opacity:.85}.course-workspace-layout{box-sizing:border-box;align-items:stretch;gap:80px;width:100%;max-width:1520px;height:calc(100vh - 68px);margin:0 auto;padding:0 48px;display:flex;overflow:hidden}.course-workspace-main{flex:1;min-width:0;height:100%;padding-top:24px;padding-bottom:80px;overflow-y:auto}.image1-nested-sidebar{scrollbar-width:none;box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-shrink:0;width:280px;height:100%;padding-top:24px;padding-bottom:24px;overflow-y:auto}.image1-nested-sidebar::-webkit-scrollbar{display:none}.sidebar-search-container{margin-bottom:24px}.sidebar-search-box{background:var(--pill-bg);box-sizing:border-box;border-radius:9999px;align-items:center;gap:8px;height:40px;padding:0 16px;display:flex}.sidebar-search-icon{color:var(--text-muted);flex-shrink:0}.sidebar-search-field{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.sidebar-search-field::placeholder{color:var(--text-muted)}.sidebar-tree-body{flex-direction:column;gap:12px;display:flex}.tree-category-heading{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:700}.sidebar-nav-item{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:0;font-size:15px;font-weight:400;line-height:1.45;transition:color .15s;display:flex}.sidebar-nav-item:hover,.sidebar-nav-item.active{color:var(--text-primary)}.sidebar-nav-item.active .item-text{color:var(--text-primary);font-weight:600}.item-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-chevron{color:var(--text-muted);flex-shrink:0;margin-left:8px;font-size:12px;font-weight:400}.sidebar-module-block{flex-direction:column;gap:4px;display:flex}.sidebar-topic-list{flex-direction:column;gap:4px;padding-left:14px;display:flex}.course-workspace-main{flex:1;min-width:0}.course-detail-page{flex-direction:column;width:100%;display:flex}.course-detail-header{margin-bottom:4px}.course-detail-icon{background:var(--pill-bg);border:1px solid var(--border-light);border-radius:18px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:24px;display:flex}.course-detail-title{color:var(--text-primary);letter-spacing:-.6px;margin:0 0 10px;font-size:32px;font-weight:700;line-height:1.25}.course-detail-tagline{color:var(--text-muted);max-width:600px;margin:0 0 20px;font-size:15px;line-height:1.6}.course-detail-meta-grid{align-items:center;gap:48px;margin-bottom:32px;display:flex}.meta-grid-column{flex-direction:column;gap:6px;display:flex}.meta-grid-label{color:var(--text-muted);font-size:14px;font-weight:500}.meta-grid-value{color:var(--text-primary);font-size:15px;font-weight:600}.contributor-link{text-decoration:none;transition:color .15s}.contributor-link:hover{text-underline-offset:3px;text-decoration:underline}.course-modules-list{flex-direction:column;gap:16px;margin-top:8px;display:flex}.course-module-block{border:none;flex-direction:column;display:flex}.course-module-header{cursor:pointer;text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 12px;font-family:inherit;display:flex}.course-module-header:hover{background:0 0}.course-module-header:hover .module-title{color:var(--text-primary)}.module-header-left{flex:1;align-items:flex-start;min-width:0;display:flex}.module-number{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0;width:20px;margin-top:2px;font-size:12px;font-weight:600}.module-header-text{flex-direction:column;gap:3px;min-width:0;display:flex}.module-title{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.35;transition:color .15s}.module-meta{color:var(--text-muted);font-size:12.5px;font-weight:400}.module-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.module-chevron.expanded{transform:rotate(180deg)}.course-topics-list{flex-direction:column;gap:1px;padding:0 0 12px 36px;display:flex}.course-topic-row{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;padding:12px 14px;font-family:inherit;transition:background .12s;display:flex}.course-topic-row:hover{background:0 0}.course-topic-row.done .topic-title{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint)}.topic-row-left{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.topic-index-dot{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.topic-num{color:var(--text-muted);font-size:12px;font-weight:500}.topic-row-text{flex-direction:column;gap:4px;min-width:0;display:flex}.topic-title{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.4;transition:color .12s}.topic-summary{color:#52525b;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.topic-row-right{flex-shrink:0;align-items:center;gap:8px;margin-top:2px;display:flex}.topic-read-time{color:#52525b;white-space:nowrap;font-size:12px}.topic-difficulty-badge{white-space:nowrap;border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:500}.topic-difficulty-badge.beginner{color:#22c55e;background:#22c55e1a}.topic-difficulty-badge.intermediate{color:#eab308;background:#eab3081a}.topic-difficulty-badge.advanced{color:#ef4444;background:#ef44441a}.course-overview-section{flex-direction:column;gap:28px;max-width:640px;padding-top:8px;display:flex}.course-overview-description{color:#a1a1aa;font-size:15px;line-height:1.7}.course-overview-block{flex-direction:column;gap:12px;display:flex}.course-overview-heading{color:#71717a;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.course-overview-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.course-overview-list li{color:#d4d4d8;padding-left:16px;font-size:14px;line-height:1.5;position:relative}.course-overview-list li:before{content:"·";color:#52525b;position:absolute;left:0}.course-tag-group{flex-wrap:wrap;gap:8px;display:flex}.course-tag-pill{color:#a1a1aa;background:#1c1c1c;border:1px solid #ffffff14;border-radius:9999px;padding:4px 12px;font-size:12.5px;font-weight:500}.mobbin-editorial-page{flex-direction:column;width:100%;display:flex}.mobbin-app-icon-squircle{background:var(--pill-bg);border:1px solid var(--border-light);border-radius:18px;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:24px;display:flex}.mobbin-app-main-title{color:var(--text-primary);letter-spacing:-.8px;margin:0 0 28px;font-size:36px;font-weight:700;line-height:1.25}.mobbin-app-actions-row.single-line-actions{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.actions-left-group{align-items:center;gap:10px;display:flex}.mobbin-action-pill-btn{cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;height:38px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.mobbin-action-pill-btn.save{background:var(--text-primary);color:var(--bg-canvas);padding:0 20px}.mobbin-action-pill-btn.save.saved{background:var(--border-light);color:var(--text-primary)}.mobbin-action-pill-btn.rate{background:var(--pill-bg);color:var(--text-primary);padding:0 20px}.mobbin-action-pill-btn.rate:hover{background:var(--sidebar-active)}.mobbin-action-pill-btn.more{background:var(--pill-bg);color:var(--text-primary);letter-spacing:1px;width:38px;font-size:16px}.mobbin-action-pill-btn.more:hover{background:var(--sidebar-active)}.mobbin-more-wrapper{position:relative}.mobbin-more-popover{background:var(--card-bg);border:1px solid var(--border-light);z-index:50;width:160px;box-shadow:var(--shadow-popover);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 8px);left:0}.mobbin-popover-item{color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:13px;transition:background .15s}.mobbin-popover-item:hover{background:var(--sidebar-hover);color:var(--text-primary)}.mobbin-contributor-link{cursor:pointer;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.contributor-label-text{color:var(--text-muted);font-size:12px;font-weight:500}.contributor-github-badge{color:var(--text-primary);background:var(--pill-bg);border:1px solid var(--border-light);border-radius:9999px;padding:4px 12px;font-size:13px;font-weight:600;transition:all .15s}.mobbin-contributor-link:hover .contributor-github-badge{border-color:var(--card-hover-border);color:var(--text-primary);background:var(--sidebar-active)}.mobbin-app-subnav-bar.clean-tabs-bar{border-bottom:1px solid var(--border-light);box-sizing:border-box;align-items:center;margin-bottom:28px;padding-bottom:12px;display:flex}.subnav-tabs-group{align-items:center;gap:24px;display:flex}.subnav-tab-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:14px;font-weight:500;transition:color .15s;position:relative}.subnav-tab-item:hover{color:var(--text-primary)}.subnav-tab-item.active{color:var(--text-primary);font-weight:600}.subnav-tab-item.active:after{content:"";background:var(--tab-indicator-bg);height:2px;position:absolute;bottom:-13px;left:0;right:0}.mobbin-screens-grid{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}@media (width<=1024px){.mobbin-screens-grid{grid-template-columns:1fr}}.mobbin-screen-card{border:1px solid var(--border-light);cursor:pointer;aspect-ratio:16/10.5;background:#fbf9f5;border-radius:14px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.mobbin-screen-card:hover{border-color:var(--card-hover-border)}.mobbin-highlight-pill{z-index:10;color:#fff;-webkit-user-select:none;user-select:none;background:#1c1c1e;border:1px solid #ffffff1f;border-radius:9999px;padding:4px 12px;font-size:11.5px;font-weight:600;position:absolute;top:14px;left:14px;box-shadow:0 4px 12px #00000059}.mobbin-mockup-frame{width:100%;height:100%;display:flex}.real-screen-canvas{color:#1c1917;background:#faf8f5;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.real-screen-sidebar{background:#f2efe9;border-right:1px solid #e5e0d8;flex-direction:column;flex-shrink:0;gap:7px;width:110px;padding:16px 10px;display:flex}.mini-brand{background:#0d3835;border-radius:6px;width:22px;height:22px;margin-bottom:10px}.mini-nav-item{color:#78716c;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:4px 6px;font-size:9.5px;font-weight:500;overflow:hidden}.mini-nav-item.active{color:#1c1917;background:#e2ddd3;font-weight:700}.real-screen-content{flex-direction:column;flex:1;gap:10px;padding:16px 18px;display:flex;overflow:hidden}.screen-top-banner{border-bottom:1px solid #ebe6dd;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.banner-title{color:#1c1917;font-size:12px;font-weight:700}.screen-need-help{color:#78716c;font-size:9px}.banner-action-btn{color:#fff;cursor:pointer;background:#1c1917;border:none;border-radius:4px;padding:3px 10px;font-size:9px;font-weight:600}.screen-filter-row{color:#57534e;gap:12px;font-size:9.5px;display:flex}.screen-checkbox.checked{color:#1c1917;font-weight:600}.screen-chart-area{flex:1;width:100%;min-height:90px}.real-chart-svg{width:100%;height:100%}.screen-metrics-footer{border-top:1px solid #ebe6dd;gap:20px;padding-top:8px;display:flex}.metric-box{flex-direction:column;display:flex}.m-val{color:#1c1917;font-size:11px;font-weight:700}.m-lbl{color:#78716c;font-size:8px}.screen-status-pill{border-radius:9999px;padding:2px 8px;font-size:9px;font-weight:600}.screen-status-pill.green{color:#15803d;background:#dcfce7}.screen-nodes-workflow{justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.wf-card-node{background:#fff;border:1px solid #e5e0d8;border-radius:6px;flex-direction:column;flex:1;gap:2px;padding:8px;display:flex}.wf-card-node.active{background:#f5f3ff;border-color:#6366f1}.wf-node-header{color:#1c1917;font-size:9.5px;font-weight:700}.wf-node-sub{color:#78716c;font-size:8px}.wf-node-arrow{color:#a8a29e;font-size:11px}.screen-code-strip{color:#f5f5f4;text-overflow:ellipsis;white-space:nowrap;background:#292524;border-radius:6px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:9px;overflow:hidden}.screen-setup-card{background:#fff;border:1px solid #e5e0d8;border-radius:8px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.setup-card-title{color:#1c1917;font-size:11px;font-weight:700}.setup-card-sub{color:#78716c;font-size:9px;line-height:1.35}.setup-step-row{color:#44403c;align-items:center;gap:6px;margin-top:3px;font-size:9.5px;display:flex}.setup-step-row.done{color:#15803d;font-weight:600}.setup-circle-bullet{border:1.5px solid #a8a29e;border-radius:50%;width:7px;height:7px}.screen-integration-row{gap:10px;margin-top:4px;display:flex}.integration-box{background:#fff;border:1px solid #e5e0d8;border-radius:6px;flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.int-title{color:#1c1917;font-size:9.5px;font-weight:600}.int-status{color:#15803d;font-size:8px;font-weight:600}.lesson-highlight{background:linear-gradient(#0000 25%,#facc157a 25% 84%,#0000 84%);border-radius:.22em;padding:0 .12em}.lesson-strike{opacity:.72;text-decoration-line:line-through;text-decoration-color:#ef4444;text-decoration-thickness:2px}.lesson-inline-image{border:1px solid var(--border-light);background:var(--panel-bg);border-radius:10px;width:auto;max-width:min(100%,480px);height:auto;max-height:360px;margin:20px auto;display:block}.rich-media-figure{text-align:center;width:100%;margin:28px 0}.rich-media-figure img{border:none;border-radius:12px;max-width:min(100%,680px);height:auto;max-height:460px;margin:0 auto;display:block}.rich-media-chart img{background:var(--card-bg);border:1px solid var(--border-light);box-sizing:border-box;padding:18px}.rich-media-figure figcaption,.rich-media-caption{max-width:82%;color:var(--text-muted);text-align:center;margin:10px auto 0;font-size:12.5px;line-height:1.55}.rich-embed-block{margin:28px 0}.rich-embed-frame{border:1px solid var(--border-light);aspect-ratio:16/9;background:#000;border-radius:12px;position:relative;overflow:hidden}.rich-embed-block iframe{border:none;width:100%;height:100%;display:block;position:absolute;inset:0}.rich-attachment-card{color:var(--text-primary);border:1px solid var(--border-light);background:var(--card-bg);transition:border-color var(--transition-fast), transform var(--transition-fast);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;padding:16px 18px;text-decoration:none;display:flex}.rich-attachment-card:hover{border-color:var(--accent);transform:translateY(-1px)}.rich-attachment-card span{flex-direction:column;gap:4px;display:flex}.rich-attachment-card small{color:var(--text-muted);font-size:12px}.rich-quote-block{border-left:3px solid var(--accent);color:var(--text-secondary);font-family:var(--font-serif);margin:28px 0;padding:4px 0 4px 20px;font-size:19px;line-height:1.65}.rich-quote-block cite{color:var(--text-muted);font-family:var(--font-sans);margin-top:9px;font-size:12px;font-style:normal;display:block}[data-code-theme=github] .code-block-wrap{background:#f6f8fa;border-color:#d0d7de}[data-code-theme=github] .code-block-body,[data-code-theme=github] .code-block-header{color:#24292f}[data-code-theme=monokai] .code-block-wrap{background:#272822;border-color:#49483e}[data-code-theme=monokai] .code-block-body,[data-code-theme=monokai] .code-block-header{color:#f8f8f2}[data-code-theme=github] .token.comment,[data-code-theme=github] .token.prolog,[data-code-theme=github] .token.doctype,[data-code-theme=github] .token.cdata{color:#6e7781;font-style:italic}[data-code-theme=github] .token.punctuation{color:#57606a}[data-code-theme=github] .token.property,[data-code-theme=github] .token.tag,[data-code-theme=github] .token.boolean,[data-code-theme=github] .token.number,[data-code-theme=github] .token.constant,[data-code-theme=github] .token.symbol,[data-code-theme=github] .token.deleted{color:#0550ae}[data-code-theme=github] .token.selector,[data-code-theme=github] .token.attr-name,[data-code-theme=github] .token.string,[data-code-theme=github] .token.char,[data-code-theme=github] .token.builtin,[data-code-theme=github] .token.inserted{color:#116329}[data-code-theme=github] .token.operator,[data-code-theme=github] .token.entity,[data-code-theme=github] .token.url{color:#0550ae}[data-code-theme=github] .token.atrule,[data-code-theme=github] .token.attr-value,[data-code-theme=github] .token.keyword{color:#cf222e}[data-code-theme=github] .token.function,[data-code-theme=github] .token.class-name{color:#8250df}[data-code-theme=github] .token.regex,[data-code-theme=github] .token.important,[data-code-theme=github] .token.variable{color:#953800}[data-code-theme=monokai] .token.comment,[data-code-theme=monokai] .token.prolog,[data-code-theme=monokai] .token.doctype,[data-code-theme=monokai] .token.cdata{color:#88846f;font-style:italic}[data-code-theme=monokai] .token.punctuation{color:#f8f8f2}[data-code-theme=monokai] .token.property,[data-code-theme=monokai] .token.tag,[data-code-theme=monokai] .token.boolean,[data-code-theme=monokai] .token.number,[data-code-theme=monokai] .token.constant,[data-code-theme=monokai] .token.symbol,[data-code-theme=monokai] .token.deleted{color:#ae81ff}[data-code-theme=monokai] .token.selector,[data-code-theme=monokai] .token.attr-name,[data-code-theme=monokai] .token.string,[data-code-theme=monokai] .token.char,[data-code-theme=monokai] .token.builtin{color:#e6db74}[data-code-theme=monokai] .token.inserted{color:#a6e22e}[data-code-theme=monokai] .token.operator,[data-code-theme=monokai] .token.entity,[data-code-theme=monokai] .token.url{color:#f92672}[data-code-theme=monokai] .token.atrule,[data-code-theme=monokai] .token.attr-value,[data-code-theme=monokai] .token.keyword{color:#66d9ef;font-style:italic}[data-code-theme=monokai] .token.function,[data-code-theme=monokai] .token.class-name{color:#a6e22e}[data-code-theme=monokai] .token.regex,[data-code-theme=monokai] .token.important,[data-code-theme=monokai] .token.variable{color:#fd971f}.code-line{min-height:1.7em;display:block}.has-line-numbers .code-line{counter-increment:code-line;padding-left:3.4em;position:relative}.has-line-numbers code{counter-reset:code-line}.has-line-numbers .code-line:before{content:counter(code-line);width:2.4em;color:var(--text-faint);text-align:right;-webkit-user-select:none;user-select:none;position:absolute;left:0}.mobbin-source-badge{border:1px solid var(--border-light);height:24px;color:var(--text-muted);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.mobbin-row-textarea{resize:vertical;width:min(100%,480px);line-height:1.5}.toast-viewport{z-index:3000;pointer-events:none;flex-direction:column;align-items:flex-end;gap:9px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:22px;right:22px}.toast-card{pointer-events:auto;color:#f4f4f5;background:#191919;border:1px solid #ffffff24;border-radius:14px;align-items:flex-start;gap:11px;width:100%;padding:14px 12px 14px 14px;animation:.22s cubic-bezier(.16,1,.3,1) toast-enter;display:flex;box-shadow:0 18px 42px #0000003d}[data-theme=light] .toast-card{color:#18181b;background:#fff;border-color:#0000001a}.toast-icon{color:#60a5fa;flex:none;margin-top:1px;display:inline-flex}.toast-success .toast-icon{color:#22c55e}.toast-warning .toast-icon{color:#f59e0b}.toast-error .toast-icon{color:#f87171}.toast-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.toast-copy strong{font-size:13px;font-weight:700}.toast-copy span{color:#a1a1aa;font-size:12px;line-height:1.4}[data-theme=light] .toast-copy span{color:#71717a}.toast-dismiss{color:#a1a1aa;cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.toast-dismiss:hover{color:currentColor}@keyframes toast-enter{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.reading-notes-shell{margin-top:44px;padding-top:24px;position:relative}.reading-notes-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reading-notes-header p{color:var(--text-muted);margin-top:7px;font-size:12.5px;line-height:1.5}.reading-notes-count{min-width:26px;height:26px;color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border-light);text-align:center;border-radius:999px;padding:5px 8px;font-size:11px}.selection-note-toolbar{z-index:2500;color:#f4f4f5;background:#18181b;border:1px solid #ffffff29;border-radius:10px;align-items:center;gap:3px;padding:5px;display:flex;position:fixed;box-shadow:0 12px 30px #00000040}.selection-note-toolbar button{color:inherit;cursor:pointer;font:600 11px var(--font-sans);white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.selection-note-toolbar button:hover{background:#ffffff1a}.selection-note-toolbar .selection-add-note{color:#93c5fd}.selection-highlight-swatch{background:#facc15;border-radius:3px;width:12px;height:7px}.reading-note-composer{z-index:2600;background:var(--panel-bg);border:1px solid var(--border-light);width:min(390px,100vw - 32px);box-shadow:var(--shadow-popover);border-radius:16px;padding:15px;position:fixed;bottom:22px;right:22px}.reading-note-composer-header,.reading-note-composer-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.reading-note-composer-header span{align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.reading-note-composer-header button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:3px;display:inline-flex}.note-source-preview,.reading-note-source{color:var(--text-primary);font:22px/1.35 var(--font-handwritten);margin:14px 0}.note-source-preview{max-height:120px;overflow:auto}.note-style-highlight{background:linear-gradient(#0000 25%,#facc157a 25% 85%,#0000 85%)}.note-style-circle{border:2px solid;border-radius:50%;padding:0 12px;display:inline-block;transform:rotate(-2deg)}.note-style-strike{-webkit-text-decoration:line-through #ef4444;text-decoration:line-through #ef4444;text-decoration-thickness:2px}.note-style-picker{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.note-style-picker button{color:var(--text-muted);border:1px solid var(--border-light);cursor:pointer;font:600 10px var(--font-sans);background:0 0;border-radius:999px;padding:5px 8px}.note-style-picker button.active{color:var(--text-primary);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.reading-note-input{width:100%;min-height:84px;color:var(--text-primary);background:var(--card-bg);border:1px solid var(--border-light);resize:vertical;font:18px/1.45 var(--font-handwritten);border-radius:10px;outline:none;padding:10px}.reading-note-input:focus{border-color:var(--accent)}.reading-note-composer-footer{color:var(--text-muted);margin-top:10px;font-size:11px}.note-save-button{color:#fff;background:var(--accent);cursor:pointer;font:600 11px var(--font-sans);border:0;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.reading-notes-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px;display:grid}.reading-note-card{background:#fff8d9;border:1px solid #b48c122e;border-radius:8px 12px 7px 11px;min-height:130px;padding:17px 16px 14px;position:relative;transform:rotate(-.6deg);box-shadow:0 8px 16px #92690f14}.reading-note-card:nth-child(2n){background:#fff4c4;transform:rotate(.7deg)}.reading-note-card:nth-child(3n){background:#fffbe8;transform:rotate(-1.1deg)}.reading-note-card p{color:#3f3826;font:17px/1.4 var(--font-handwritten);white-space:pre-wrap;margin:7px 0 0}.reading-note-delete{color:#3f382685;cursor:pointer;background:0 0;border:0;padding:3px;display:inline-flex;position:absolute;top:7px;right:7px}.reading-note-mark{border-radius:.2em;padding:0 .1em;position:relative}.reading-note-mark.note-style-highlight{background:linear-gradient(transparent 25%, color-mix(in srgb, var(--reading-note-color) 58%, transparent) 25%, color-mix(in srgb, var(--reading-note-color) 58%, transparent) 84%, transparent 84%)}.reading-note-mark.note-style-circle{border:2px solid var(--reading-note-color);border-radius:50%;padding:0 .3em;display:inline-block;transform:rotate(-1.5deg)}.reading-note-mark.note-style-strike{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--reading-note-color);text-decoration-color:var(--reading-note-color)}.reading-note-card-actions{gap:3px;display:inline-flex;position:absolute;top:7px;right:7px}.reading-note-card-actions button{color:#3f382685;cursor:pointer;background:0 0;border:0;padding:3px;display:inline-flex}.reading-note-card-actions button:hover{color:#3f3826}.reading-note-composer-footer span{align-items:center;gap:4px;display:inline-flex}.note-save-button:disabled{opacity:.6;cursor:wait}.settings-auth-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:560px;min-height:58vh;margin:0 auto;padding:40px 24px;display:flex}.settings-auth-gate-icon{width:64px;height:64px;color:var(--text-primary);background:var(--pill-bg);border:1px solid var(--border-light);border-radius:20px;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.settings-auth-gate h1{color:var(--text-primary);letter-spacing:-.5px;margin:0;font-size:28px}.settings-auth-gate p{color:var(--text-muted);margin:12px 0 22px;line-height:1.65}.settings-auth-gate-button{width:auto;padding:11px 18px}.settings-auth-gate-note{color:var(--text-faint);margin-top:14px;font-size:12px}.curriculum-list{flex-direction:column;gap:20px;width:100%;display:flex}.curriculum-module{border:none;flex-direction:column;gap:20px;margin-bottom:0;display:flex}.curriculum-shared-module-header{margin:0;padding:0}.curriculum-shared-topic-list{margin:0}.module-title{color:var(--text-muted);font-size:16px;font-weight:500}.curriculum-shared-module-header:hover .module-title{color:var(--text-primary)}.curriculum-shared-module-header[aria-expanded=true] .module-title{color:var(--text-primary);font-weight:500}.course-topics-list{gap:20px;padding:0 0 0 16px}.curriculum-shared-topic-row{border-radius:0;padding:0}.topic-title{color:var(--text-muted);font-size:16px;font-weight:500}.course-topic-row:hover .topic-title{color:var(--text-primary)}.course-topic-row.active .topic-title{color:var(--text-primary);font-weight:600}.topic-row-left{gap:8px}.curriculum-list-detail .curriculum-shared-module-header{padding:0}.curriculum-list-detail .curriculum-module{border:none}.contributor-name-link{color:inherit;text-decoration:none}.contributor-name-link:hover{text-underline-offset:3px;text-decoration:underline}@media (width<=640px){.toast-viewport{width:calc(100vw - 32px);bottom:16px;right:16px}.selection-note-toolbar{max-width:calc(100vw - 24px);overflow-x:auto}.reading-note-composer{bottom:16px;right:16px}}.notfound-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:50vh;padding:80px 24px;display:flex}.notfound-code{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.2em;font-size:13px}.notfound-title{color:var(--text-primary);letter-spacing:-.01em;font-size:26px;font-weight:700}.notfound-desc{color:var(--text-muted);margin-bottom:18px;font-size:14.5px}.lesson-inline-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--transition-fast);text-decoration-thickness:1px}.lesson-inline-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.lesson-h2,.lesson-h3{scroll-margin-top:84px;position:relative}.lesson-heading-anchor{color:var(--text-faint);opacity:0;transition:opacity var(--transition-fast), color var(--transition-fast);vertical-align:middle;align-items:center;margin-left:8px;display:inline-flex;transform:translateY(-1px)}.lesson-h2:hover .lesson-heading-anchor,.lesson-h3:hover .lesson-heading-anchor{opacity:1}.lesson-heading-anchor:hover{color:var(--accent)}.lesson-progress-track{z-index:600;pointer-events:none;background:0 0;height:2.5px;position:fixed;top:0;left:0;right:0}.lesson-progress-fill{background:var(--accent);transform-origin:0;will-change:transform;height:100%;transform:scaleX(0)}.lesson-toc-rail{border-left:1px solid var(--border-subtle);flex-direction:column;gap:2px;width:220px;max-height:calc(100vh - 160px);padding-left:14px;display:none;position:fixed;top:120px;right:max(24px,50vw - 720px);overflow-y:auto}@media (width>=1440px){.lesson-toc-rail{display:flex}}.lesson-toc-rail-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px;font-size:11px;font-weight:600}.lesson-toc-link{color:var(--text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);border-left:1px solid #0000;margin-left:-15px;padding:3.5px 0 3.5px 14px;font-size:12.5px;line-height:1.45;text-decoration:none}.lesson-toc-link.lvl-3{margin-left:-15px;padding-left:26px}.lesson-toc-link:hover{color:var(--text-primary)}.lesson-toc-link.active{color:var(--accent);border-left-color:var(--accent)}.lesson-toc-inline{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--card-bg);margin:20px 0 8px}@media (width>=1440px){.lesson-toc-inline{display:none}}.lesson-toc-summary{cursor:pointer;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;list-style:none;display:flex}.lesson-toc-summary::-webkit-details-marker{display:none}.lesson-toc-summary:after{content:"+";font-family:var(--font-mono);color:var(--text-faint);font-size:15px}.lesson-toc-inline[open] .lesson-toc-summary:after{content:"−"}.lesson-toc-inline-nav{flex-direction:column;padding:4px 16px 12px;display:flex}.lesson-toc-inline-nav .lesson-toc-link{border-left:none;margin-left:0;padding:5px 0;font-size:13px}.lesson-toc-inline-nav .lesson-toc-link.lvl-3{padding-left:16px}.lesson-footnotes{border-top:1px solid var(--border-light);color:var(--text-secondary);margin-top:40px;padding-top:18px;font-size:13px}.lesson-footnotes h2,.lesson-footnotes h3,.lesson-footnotes .sr-only{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11.5px;font-weight:600}.lesson-footnotes ol{margin:0;padding-left:18px}.lesson-footnotes li{margin-bottom:6px;line-height:1.6}.lesson-footnotes .data-footnote-backref{color:var(--accent);text-decoration:none}.lesson-task-item{margin-left:-18px;list-style:none}.lesson-task-checkbox{appearance:none;border:1.5px solid var(--text-faint);vertical-align:-2px;background:var(--bg-canvas);border-radius:4px;width:14px;height:14px;margin-right:8px;position:relative}.lesson-task-checkbox:checked{background:#16a34a;border-color:#16a34a}.lesson-task-checkbox:checked:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.lesson-ordered-list{list-style:decimal}.lesson-list-item{margin-bottom:6px}.code-mermaid-body{background:var(--bg-canvas);justify-content:center;display:flex}.code-mermaid-loading{color:var(--text-muted);font-size:13px;font-family:var(--font-sans);padding:24px 0}.mermaid-diagram{width:100%;padding:8px 0}.mermaid-svg-host svg{max-width:100%;height:auto}.mermaid-error{font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;text-align:left;font-size:12.5px}.table-wrapper{position:relative}.lesson-table th{z-index:1;position:sticky;top:0}.lesson-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--card-bg) 55%, transparent)}.lesson-table tbody tr:hover td{background:var(--sidebar-hover)}.reading-note-timestamp{color:color-mix(in srgb, var(--text-muted) 80%, transparent);margin-top:auto;padding-top:10px;font-size:11px;font-style:italic;display:block}.rich-media-zoomable{cursor:zoom-in}.image-lightbox-overlay{z-index:1000;cursor:zoom-out;background:#000000d1;justify-content:center;align-items:center;padding:32px;animation:.18s lightbox-in;display:flex;position:fixed;inset:0}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.image-lightbox-overlay img{border-radius:var(--radius-md);cursor:default;max-width:min(1100px,92vw);max-height:88vh;box-shadow:0 24px 80px #00000080}.image-lightbox-close{color:#ffffffd9;cursor:pointer;border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:8px;position:absolute;top:20px;right:24px}.image-lightbox-close:hover{color:#fff;background:#ffffff1f}
