@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/nunito-sans-latin-400-normal-AkRraKH2.woff2) format("woff2"),url(/app/assets/nunito-sans-latin-400-normal-DY9yCUyQ.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/nunito-sans-latin-500-normal-DlmaWqTx.woff2) format("woff2"),url(/app/assets/nunito-sans-latin-500-normal-BkymD7ni.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/nunito-sans-latin-600-normal-BtVRvDNj.woff2) format("woff2"),url(/app/assets/nunito-sans-latin-600-normal-DLks-Kj1.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/nunito-sans-latin-700-normal-CICRJDmU.woff2) format("woff2"),url(/app/assets/nunito-sans-latin-700-normal-CLVG92B9.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/app/assets/nunito-sans-latin-800-normal-MgCk9Q3Y.woff2) format("woff2"),url(/app/assets/nunito-sans-latin-800-normal-DOf_K5Iw.woff) format("woff")}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/app/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/app/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/app/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/app/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/app/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/app/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/app/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/app/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/app/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/app/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/app/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(/app/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/app/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(/app/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/app/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(/app/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/app/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/app/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/app/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/app/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/app/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/app/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(/app/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/app/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/app/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.7"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.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;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .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{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.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;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.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:.8333333333em}.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.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.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.6666666667em}.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.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.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.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.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:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.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.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.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.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.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:.4166666667em}.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:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.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:.8333333333em}.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.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.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:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.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.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.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.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.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.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.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{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .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{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--bg: #10171b;--canvas: #0b1115;--surface: #172025;--surface-raised: #1e292f;--surface-hover: #202e32;--border: #2b363d;--border-soft: #232e34;--mint: #a8f087;--mint-hover: #b9f79f;--mint-surface: #223629;--mint-border: #3e5742;--text: #f2f5f3;--muted: #a1aeb7;--subtle: #7c8a94;--amber: #e7bd78;--danger: #efaaaa;--radius: 22px;--radius-sm: 15px;--gutter: 22px;--ease: cubic-bezier(.22, .68, 0, 1);--motion-fast: .18s;--motion-enter: .34s;background:var(--canvas);color:var(--text)}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100dvh}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;border:0;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button,a{transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast) var(--ease)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:active:not(:disabled),a:active{transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;line-height:1.2}h1{letter-spacing:-1.1px}h2{letter-spacing:-.6px}h3{letter-spacing:-.3px}p{line-height:1.6}svg{flex-shrink:0;vertical-align:middle}svg.lucide{stroke-width:1.8}::selection{background:var(--mint);color:var(--canvas)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mint{color:var(--mint)}.muted{color:var(--muted)}.eyebrow{display:block;color:var(--subtle);font-size:9px;font-weight:800;letter-spacing:1.4px;line-height:1.5}.subtle-label{color:var(--subtle);font-size:12px}.app-shell{max-width:640px;min-height:100dvh;margin:0 auto;background:var(--bg)}.app-workspace{min-width:0;flex:1}.main-content{padding:max(24px,env(safe-area-inset-top)) var(--gutter) calc(116px + env(safe-area-inset-bottom));outline:none}.main-content--lesson{padding-bottom:max(22px,env(safe-area-inset-bottom))}.main-content--player{padding-bottom:0}.route-view{animation:page-enter var(--motion-enter) var(--ease) backwards}.desktop-sidebar{display:none}.skip-link{position:fixed;z-index:100;top:-70px;left:20px;padding:12px 20px;border-radius:10px;background:var(--mint);color:var(--canvas)}.skip-link:focus{top:12px}.brand{font-weight:800;font-size:29px;line-height:1;letter-spacing:-1.2px;white-space:nowrap}.brand>span{color:var(--mint)}.brand--small{font-size:25px;letter-spacing:-.9px}.button{display:inline-flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:15px;line-height:1.3;font-weight:800}.button>svg{width:19px;height:19px;transition:transform var(--motion-fast) var(--ease)}.button--primary{background:var(--mint);color:#142015}.button--primary:hover:not(:disabled){background:var(--mint-hover);box-shadow:0 5px 20px #a8f0870b}.button--primary:hover:not(:disabled)>.lucide-arrow-right{transform:translate(3px)}.button--primary:disabled{background:#29382e;color:#8a9d87}.button--secondary{background:var(--surface-raised);border-color:var(--border);color:var(--text)}.button--secondary:hover:not(:disabled){border-color:#506159;background:var(--surface-hover)}.button--secondary:disabled{color:var(--subtle)}.button--quiet{background:transparent;color:var(--muted);min-height:44px;font-size:13px}.button--quiet:hover{color:var(--text);background:#ffffff04}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:42px;height:42px;border-radius:14px;color:var(--muted);background:var(--surface);border:1px solid var(--border);flex-shrink:0}.icon-button>svg{width:19px;height:19px}.icon-button:hover{color:var(--mint);border-color:var(--mint-border);background:var(--surface-hover)}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 0 7px 7px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.text-link:hover{color:var(--mint)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{font-size:18px;font-weight:700;letter-spacing:-.35px}.section-heading>.muted{font-size:11px}.progress-track{flex:1;height:6px;min-width:0;border-radius:10px;background:#2a353b;overflow:hidden}.progress-track>span{display:block;height:100%;background:var(--mint);border-radius:inherit;transition:width .55s var(--ease)}.model-icon{width:51px;height:51px;display:flex;align-items:center;justify-content:center;border-radius:15px;color:#a4b2bb;background:#222d33;border:1px solid #303c43;flex-shrink:0}.model-icon>svg{width:26px;height:26px}.model-icon--active{background:var(--mint-surface);border-color:var(--mint-border);color:var(--mint)}.model-icon--small{width:43px;height:43px;border-radius:12px}.model-icon--small>svg{width:23px;height:23px}.mascot{display:block;width:100%;height:100%;overflow:visible}.bottom-nav{position:fixed;display:flex;justify-content:space-around;z-index:30;left:50%;transform:translate(-50%);bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:590px;padding:8px 12px;background:#1a242aef;border:1px solid #354149;border-radius:22px;backdrop-filter:blur(18px);box-shadow:0 8px 30px #0004}.nav-item{position:relative;flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;padding:8px 12px;color:#9facb7;font-size:10px;font-weight:700;border-radius:14px;min-height:53px}.nav-item>svg{width:21px;height:21px;transition:transform var(--motion-fast) var(--ease)}.nav-item>i{display:none}.nav-item.is-active{color:var(--mint);background:#2a3b2f}.nav-item:hover{color:var(--mint)}.nav-item:hover>svg{transform:translateY(-1px)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-bottom:30px}.page-header h1{flex:1;font-size:19px;letter-spacing:-.4px;font-weight:700}.page-header:has(.brand) h1{text-align:right;color:var(--muted);font-size:14px}.header-trailing:empty{display:none}.screen-intro{margin-bottom:27px}.screen-intro h2{font-size:29px;letter-spacing:-.9px;line-height:1.2}.screen-intro h2>span{color:var(--mint)}.screen-intro p{color:var(--muted);font-size:13px;margin-top:11px}.empty-state{text-align:center;padding:28px 20px;border:1px dashed var(--border);border-radius:18px}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;color:var(--mint);background:var(--mint-surface);border-radius:15px;margin-bottom:17px}.empty-state h3{font-size:16px;font-weight:700}.empty-state p{color:var(--muted);font-size:12px;margin-top:10px}.empty-state .button{margin-top:20px;min-height:42px;font-size:12px}.modal{width:calc(100% - 36px);max-width:400px;padding:0;background:#1a252a;color:var(--text);border:1px solid #3f4e53;border-radius:24px;box-shadow:0 30px 100px #0006}.modal[open]{animation:modal-enter .24s var(--ease) both}.modal::backdrop{background:#060d13be;backdrop-filter:blur(8px)}.modal-content{padding:26px}.modal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.modal-heading h2{font-size:22px;letter-spacing:-.5px}.modal-heading .icon-button{width:33px;height:33px;border-radius:10px}.modal-content>p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:24px}.modal-content .button{min-height:46px;font-size:13px}.modal-content .button+.button{margin-top:8px}.modal-actions{display:grid;gap:7px;margin-top:21px}.storage-notice{background:#302b20;border-bottom:1px solid #58492c;color:#e0c69c;font-size:11px;padding:12px 20px}.splash{display:flex;justify-content:center;align-items:center;min-height:100dvh;background:var(--bg)}.splash-glow{position:relative;width:230px;height:230px}.splash-glow:before{content:"";position:absolute;inset:12px;border:1px solid #35543942;background:#25382a38;border-radius:50%}.splash-glow>.mascot{position:relative}.not-found{display:flex;align-items:center;flex-direction:column;max-width:480px;margin:auto;padding:60px 0;text-align:center}.not-found .mascot{width:175px;height:175px;margin-bottom:20px}.not-found h1{font-size:27px}.not-found p{color:var(--muted);font-size:14px;margin-top:13px}.not-found .button{margin-top:27px}@media(min-width:520px){:root{--gutter: 30px}}@media(min-width:1000px){:root{--gutter: 42px}.app-shell{display:flex;max-width:1320px;border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.desktop-sidebar{position:sticky;top:0;display:flex;flex-direction:column;width:215px;min-width:215px;height:100dvh;padding:40px 20px 29px;background:#111a1f;border-right:1px solid var(--border-soft)}.sidebar-brand{display:block;margin:2px 12px 49px}.sidebar-brand>.brand{font-size:29px}.sidebar-label{color:#7b8e96;font-size:8px;font-weight:800;letter-spacing:1.5px;margin:0 12px 15px}.sidebar-nav{display:grid;gap:8px}.sidebar-nav .nav-item{flex-direction:row;justify-content:flex-start;gap:13px;font-size:13px;min-height:48px;padding:13px 16px;border:1px solid transparent;border-radius:12px}.sidebar-nav .nav-item>svg{width:19px;height:19px}.sidebar-nav .nav-item.is-active{border-color:#3a4e3d;background:#25362b}.sidebar-nav .nav-item.is-active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--mint);margin-left:auto}.sidebar-bottom{margin-top:auto;padding:19px 11px 0;border-top:1px solid var(--border)}.sidebar-level{display:flex;align-items:center;gap:10px;margin-bottom:14px}.level-symbol{display:flex;align-items:center;justify-content:center;color:var(--mint);background:#24362a;border:1px solid var(--mint-border);border-radius:12px;width:38px;height:38px}.sidebar-level>div{display:grid;gap:4px}.sidebar-level strong{font-size:12px;font-weight:700}.sidebar-level>div>span{color:var(--subtle);font-size:10px}.sidebar-bottom .progress-track{height:5px}.sidebar-bottom>p{color:var(--subtle);font-size:10px;line-height:1.6;margin-top:16px}.main-content{padding-top:33px;padding-bottom:45px}.bottom-nav{display:none}.page-header{margin-bottom:35px}.page-header>.brand{display:none}.page-header:has(.brand) h1{text-align:left;font-size:14px;color:var(--subtle)}.screen-intro h2{font-size:36px}.screen-intro p{font-size:14px}}@media(min-width:1200px){:root{--gutter: 48px}.desktop-sidebar{width:226px;min-width:226px}}@media(max-width:360px){:root{--gutter: 16px}.main-content{padding-top:20px}.brand{font-size:26px}.section-heading h2{font-size:16px}.screen-intro h2{font-size:25px}}.path-list{display:grid;gap:10px}.path-card{display:flex;align-items:center;gap:13px;min-height:94px;width:100%;padding:16px 14px;border:1px solid var(--border);border-radius:18px;text-align:left;background:var(--surface)}.path-card:hover{border-color:#52684f;background:#1c2929;transform:translateY(-2px)}.path-card-content{flex:1;min-width:0;display:grid;gap:5px}.path-card-content strong{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:-.2px}.path-card-content>.muted{font-size:11px;line-height:1.3}.path-progress{display:flex;align-items:center;gap:10px;margin-top:4px;line-height:1}.path-progress>span{font-size:10px;color:var(--subtle);white-space:nowrap}.path-chevron{width:17px;color:#85959e;margin-left:-5px}.lock-icon{width:16px;color:var(--subtle)}.path-card--locked{border-color:var(--border-soft);background:#141e23}.path-card--locked .path-card-content strong{color:#c4cfd2}.segmented-control{display:flex;position:relative;align-items:center;gap:4px;padding:5px;margin-bottom:24px;border:1px solid var(--border);border-radius:14px;background:#141e23}.segmented-control>button{width:50%;min-height:40px;border-radius:10px;padding:10px 7px;background:transparent;color:var(--subtle);font-size:12px;font-weight:700}.segmented-control>button.is-active{background:#2b3b30;color:#c0eba8;box-shadow:0 2px 4px #0001}.footnote{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;color:var(--subtle);font-size:10px;text-align:center}.search-row{display:flex;gap:9px;margin-bottom:26px}.search-field{display:flex;align-items:center;min-width:0;flex:1;gap:10px;min-height:46px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--subtle);transition:border-color var(--motion-fast)}.search-field:focus-within{border-color:var(--mint-border);box-shadow:0 0 0 3px #a8f0870b}.search-field input{width:100%;min-width:0;padding:12px 0;font-size:13px;background:transparent;color:var(--text);border:0;outline:none}.search-field input::placeholder{color:var(--subtle)}.search-field>button{background:transparent;color:var(--muted);display:flex;align-items:center;padding:5px}.search-row .icon-button{width:46px;height:46px}.is-saved{background:var(--mint-surface);color:var(--mint);border-color:var(--mint-border)}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.library-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:15px;border:1px solid var(--border);border-radius:19px;background:var(--surface);text-align:left}.library-card:hover{transform:translateY(-3px);border-color:#4c664b;background:#1b292b;box-shadow:0 7px 20px #00000015}.library-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--subtle)}.library-diagram{margin:15px -3px 14px;width:calc(100% + 6px);height:70px;border-radius:10px;background:#101b20;overflow:hidden}.library-diagram>.model-diagram{width:100%;height:100%}.library-diagram>.model-diagram>text{display:none}.library-card h3{font-size:15px;font-weight:700;line-height:1.3}.library-card>span{color:var(--subtle);font-size:10px;margin-top:4px}.library-card p{flex:1;font-size:11px;color:#acb8bf;line-height:1.6;margin-top:11px}.library-card>.library-tag{display:inline-block;align-self:flex-start;color:#b0d6a4;background:#26382c;border:1px solid #344b39;padding:4px 8px;border-radius:6px;font-size:8px;font-weight:700;margin-top:15px}.unlock-notice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--mint-border);border-radius:16px;padding:18px;background:var(--mint-surface);color:var(--mint);margin-bottom:24px}.unlock-notice strong{font-size:13px}.unlock-notice p{font-size:12px;color:#b1c1ad;margin-top:7px}.unlock-notice .text-link{padding-left:0;font-size:11px;white-space:normal}@media(min-width:520px){.path-card{padding:17px}.path-card-content strong{font-size:15px}.path-card-content>.muted{font-size:12px}.library-card{padding:19px}.library-diagram{height:87px}.library-card h3{font-size:17px}.library-card p{font-size:12px}}@media(min-width:1000px){.segmented-control{max-width:380px;margin-bottom:28px}.learn-screen>.path-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.learn-screen>.path-list .path-card{flex-wrap:wrap;align-items:flex-start;gap:16px 10px;padding:19px;min-height:193px}.learn-screen>.path-list .path-card-content{flex-basis:100%;order:2}.learn-screen>.path-list .path-card-content strong{font-size:14px}.learn-screen>.path-list .path-card-content>.muted{font-size:11px}.learn-screen>.path-list .path-chevron{margin:13px 0 0 auto}.learn-screen>.path-list .lock-icon{margin:13px 0 0 auto}.learn-screen>.path-list .path-card--locked .path-chevron{display:none}.path-progress{margin-top:8px}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.library-card{padding:18px}.library-diagram{height:80px}.library-card h3{font-size:16px}.library-card p{font-size:11px}.search-row{max-width:540px}.path-screen{max-width:720px;margin:auto}}@media(max-width:360px){.path-card{gap:10px;padding:14px 12px}.path-card .model-icon{width:42px;height:45px;border-radius:12px}.path-card-content strong{font-size:12px}.path-card-content>.muted{font-size:10px}.path-chevron{width:14px}.library-card{padding:12px;border-radius:16px}.library-card h3{font-size:13px}.library-card p{font-size:10px}.library-card>span{font-size:9px}.library-diagram{height:58px}}.model-screen{padding-bottom:10px}.model-screen>.page-header{margin-bottom:15px}.model-welcome{display:flex;align-items:center;gap:12px;margin-bottom:19px}.model-welcome>div:first-child{flex:1;min-width:0}.model-welcome .eyebrow{font-size:7px;letter-spacing:1px}.model-welcome h2{font-size:25px;margin-top:9px;line-height:1.2}.model-welcome p{margin-top:8px;font-size:11px;color:var(--muted)}.model-mascot{width:139px;height:150px;flex-shrink:0}.model-overview{padding:21px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.model-title-row{display:flex;align-items:center;gap:13px}.model-title-row>div{flex:1;min-width:0}.model-title-row h1{font-size:22px;letter-spacing:-.6px;line-height:1.15}.model-title-row p{font-size:12px;color:var(--muted);margin-top:5px}.favorite-button{width:39px;height:39px;border-radius:12px}.favorite-button.is-favorite{color:var(--mint);border-color:var(--mint-border);background:var(--mint-surface)}.favorite-button.is-favorite>svg{animation:icon-pop .3s var(--ease)}.model-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.tag{display:inline-block;padding:5px 9px;border:1px solid #36434a;background:#243037;color:#bfccd0;font-size:10px;font-weight:600;border-radius:7px}.tag--mint{color:#bceaa5;background:var(--mint-surface);border-color:var(--mint-border)}.model-summary{font-size:14px;line-height:1.65;color:#c6d1d4;margin-top:17px}.model-visual{margin:22px 0 18px;padding:17px 13px;border-radius:15px;border:1px solid #2d393f;background:#111d22}.model-visual .eyebrow{font-size:7px;color:#94a9a2;letter-spacing:1.3px}.model-diagram{display:block;width:100%;overflow:visible}.model-visual>.model-diagram{height:120px;margin:6px 0}.model-visual>p{color:#a6b9b1;font-size:11px;line-height:1.6}.model-quick-ratings{margin-top:16px}.model-quick-ratings>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft)}.model-quick-ratings>div:last-child{border-bottom:0;padding-bottom:0}.model-quick-ratings>div>span:first-child{color:var(--muted);font-size:12px}.rating{display:inline-flex;gap:6px;align-items:center;flex-shrink:0}.rating>i{display:block;width:10px;height:10px;border:1px solid #39464a;border-radius:3px;background:#27333a}.rating>i.is-filled{border-color:var(--mint);background:var(--mint)}.details-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;margin:6px 0}.details-toggle:hover{color:var(--mint)}.details-toggle>svg{transition:transform .25s var(--ease)}.details-toggle .is-open{transform:rotate(180deg)}.model-details{display:grid;gap:11px;margin-bottom:18px;animation:page-enter .3s var(--ease) backwards}.model-section{display:flex;align-items:flex-start;gap:12px;padding:18px 16px;border:1px solid var(--border);border-radius:17px;background:var(--surface)}.model-section>div{flex:1;min-width:0}.model-section-icon{display:flex;align-items:center;justify-content:center;color:var(--mint);background:var(--mint-surface);width:28px;height:28px;border-radius:8px}.model-section-icon>svg{width:16px;height:16px;fill:none}.model-section h2{font-size:14px;letter-spacing:-.15px;font-weight:700;margin:5px 0 10px}.model-section p,.plain-list{color:#b4c1c8;font-size:12px;line-height:1.6}.use-tags{display:flex;flex-wrap:wrap;gap:6px}.use-tags>span{color:#b6c8b8;font-size:10px;border:1px solid #354a3c;background:#25372e;border-radius:6px;padding:5px 8px}.check-list{list-style:none;display:grid;gap:7px;padding:0;margin:0}.check-list>li{display:flex;align-items:flex-start;gap:7px;color:#b7c4c9;font-size:12px;line-height:1.5}.check-list>li>span{display:flex;align-items:center;justify-content:center;width:13px;height:13px;background:var(--mint-surface);color:var(--mint);border:1px solid var(--mint-border);border-radius:50%;margin-top:3px;flex-shrink:0}.check-list>li>span>svg{width:9px;height:9px}.plain-list{padding-left:15px;margin:0;display:grid;gap:7px}.characteristic-list>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;border-bottom:1px solid var(--border-soft);padding:10px 0}.characteristic-list>div>span:first-child{color:#becbd0;font-size:11px}.characteristic-list>div>span:last-child{flex-basis:100%;color:var(--subtle);font-size:10px;line-height:1.5}.characteristic-list .rating{gap:4px}.characteristic-list .rating>i{width:8px;height:8px;border-radius:2px}.model-section .rating-note{color:var(--subtle);font-size:9px;margin-top:13px}.model-bottom-action{position:sticky;z-index:15;bottom:12px;display:flex;align-items:center;gap:18px;padding:11px;border:1px solid #3a484c;border-radius:20px;margin:10px 0 -88px;background:#1b272bee;backdrop-filter:blur(16px);box-shadow:0 10px 30px #0003}.practice-action-copy{display:none}.model-bottom-action>.button{min-height:47px}.inline-toast{position:fixed;display:flex;align-items:center;justify-content:center;gap:8px;z-index:60;left:50%;bottom:92px;transform:translate(-50%,10px);width:max-content;max-width:calc(100vw - 32px);padding:12px 20px;border:1px solid var(--mint-border);background:#25392bf5;backdrop-filter:blur(12px);border-radius:12px;color:#d4edc9;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s var(--ease)}.inline-toast.is-visible{opacity:1;transform:translate(-50%)}@media(min-width:520px){.model-mascot{width:180px;height:180px}.model-welcome h2{font-size:30px}.model-overview{padding:26px}.model-title-row h1{font-size:27px}.model-visual>.model-diagram{height:145px}.model-visual>p{font-size:12px}.model-bottom-action .button{width:auto;min-width:185px}.practice-action-copy{display:grid;gap:5px;flex:1;padding-left:8px}.practice-action-copy strong{font-size:13px;font-weight:700}.practice-action-copy>span{font-size:10px;color:var(--muted)}}@media(min-width:1000px){.model-screen{max-width:830px;margin:auto}.model-welcome{margin-top:-12px;margin-bottom:24px}.model-welcome h2{font-size:34px}.model-welcome p{font-size:13px}.model-welcome .eyebrow{font-size:8px}.model-mascot{width:190px;height:178px;margin-right:25px}.model-overview{padding:28px}.model-title-row>.model-icon{width:58px;height:58px;border-radius:16px}.model-title-row h1{font-size:28px}.model-title-row p{font-size:13px}.model-summary{font-size:15px}.model-visual{padding:19px 23px}.model-visual>.model-diagram{height:158px}.model-visual>p{max-width:540px;margin:auto;font-size:12px;text-align:center}.model-quick-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.model-quick-ratings>div{border:0;border-right:1px solid var(--border);flex-direction:column;gap:10px;align-items:flex-start;padding:4px 12px 4px 0}.model-quick-ratings>div:last-child{border:0}.model-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.model-section{padding:21px 18px}.model-bottom-action{margin-bottom:0;bottom:20px;padding:13px 16px;border-radius:19px}.model-bottom-action .button{min-width:225px}.inline-toast{left:calc(50% + 107px)}}@media(max-width:360px){.model-welcome h2{font-size:22px}.model-welcome .eyebrow{font-size:6px}.model-mascot{width:111px;height:127px}.model-overview{padding:17px 14px}.model-title-row{gap:10px}.model-title-row h1{font-size:19px}.model-title-row p{font-size:10px}.model-title-row .model-icon{width:43px;height:45px}.favorite-button{width:34px;height:35px;border-radius:10px}.model-summary{font-size:13px}.model-visual{padding:14px 10px}.model-visual .model-diagram{height:105px}}.lesson-player{display:flex;flex-direction:column;min-height:calc(100dvh - max(24px,env(safe-area-inset-top)))}.lesson-header{display:flex;align-items:center;gap:12px;min-height:40px;margin-bottom:14px}.lesson-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted)}.lesson-close>svg{width:19px;height:19px}.lesson-close:hover{background:var(--surface-hover);color:var(--text)}.lesson-header .progress-track{height:10px}.lesson-header .progress-track>span{background:linear-gradient(90deg,var(--mint),#d5ffc0 50%,var(--mint));background-size:200% 100%;animation:bar-shine 3s linear infinite}.question-count{color:var(--muted);font-size:12px;white-space:nowrap}.question-card{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;animation:page-enter .26s var(--ease) backwards}.question-mascot{flex-shrink:0;width:78px;height:78px}.question-bubble{position:relative;flex:1;min-width:0;padding:11px 14px 13px;border:1px solid var(--border);border-radius:18px 18px 18px 6px;background:var(--surface)}.question-bubble:before{content:"";position:absolute;left:-7px;bottom:12px;width:12px;height:12px;border-left:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);transform:rotate(45deg)}.lesson-context{display:inline-block;max-width:100%;overflow:hidden;color:#9fb8a8;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.question-bubble h1{margin-top:2px;color:var(--subtle);font-size:12px;font-weight:800;letter-spacing:0;outline:none}.question-bubble>p{margin-top:4px;color:var(--text);font-size:16px;font-weight:700;line-height:1.4;text-wrap:pretty}.mascot-ground{display:none}.answer-options{display:grid;gap:8px;margin:0;padding:0;border:0;animation:page-enter .3s var(--ease) backwards}.answer-option{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;min-height:50px;padding:10px 13px;border:1px solid #344149;border-radius:14px;background:var(--surface);box-shadow:0 3px #0d1418;font-size:13.5px;font-weight:600;line-height:1.4;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s var(--ease)}.answer-option:hover{border-color:#64765f;background:#1d2b2a}.answer-option:active{transform:translateY(2px);box-shadow:0 1px #0d1418}.answer-option.is-selected{border-color:var(--mint);background:#24362a;box-shadow:0 3px 0 var(--mint-deep, #5fa845);animation:option-pick .24s var(--ease)}.answer-option.is-right{border-color:var(--mint);background:#24362a;box-shadow:none}.answer-option.is-wrong{border-color:var(--danger);background:#3a2426;box-shadow:none;animation:shake .42s ease-in-out both}.answer-option.is-muted{opacity:.5;box-shadow:none}.answer-option:has(input:disabled){cursor:default}.answer-option input{position:absolute;width:1px;height:1px;opacity:0}.answer-option:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:4px}.answer-letter{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border:1px solid #3b4850;border-radius:8px;color:var(--subtle);font-size:11px;font-weight:700}.is-selected .answer-letter,.is-right .answer-letter{border-color:var(--mint);background:var(--mint);color:#1e2e1e}.is-wrong .answer-letter{border-color:var(--danger);background:var(--danger);color:#3a1414}.answer-check{flex-shrink:0;width:18px;height:18px;margin-left:auto;color:var(--mint)}.is-wrong .answer-check{color:var(--danger)}.lesson-action{position:sticky;bottom:0;z-index:5;display:grid;gap:6px;margin-top:auto;padding:14px 0 max(14px,env(safe-area-inset-bottom));background:linear-gradient(#10171b00,var(--bg) 26%)}.lesson-action>.button{min-height:52px}.lesson-action>.button--quiet{min-height:40px}.feedback-sheet{position:sticky;bottom:0;z-index:40;display:flex;flex-direction:column;max-height:70dvh;margin:auto calc(-1 * var(--gutter)) 0;border-top:3px solid var(--mint);border-radius:22px 22px 0 0;background:#1a2e22;box-shadow:0 -18px 40px #0008;animation:sheet-up .3s var(--ease) backwards}.feedback-sheet.is-incorrect{border-top-color:var(--danger);background:#2e2021}.feedback-sheet-body{display:grid;gap:10px;overflow-y:auto;padding:16px var(--gutter) 2px}.feedback-sheet-head{display:flex;align-items:center;gap:10px}.feedback-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--mint);color:#173017;animation:combo-pop .42s var(--ease) both}.is-incorrect .feedback-icon{background:var(--danger);color:#3a1414}.feedback-sheet h2{flex:1;color:var(--mint);font-size:22px;letter-spacing:-.5px;outline:none}.is-incorrect h2{color:#ffc0b8}.answer-reward{position:relative;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:5px 9px;border:1px solid var(--mint-border);border-radius:8px;background:var(--mint-surface);color:#c3e8b4;font-size:11px;font-weight:800}.correct-answer-label{display:flex;align-items:flex-start;gap:7px;color:var(--mint);font-size:13px;font-weight:800;line-height:1.4}.correct-answer-label>svg{flex-shrink:0;margin-top:1px}.feedback-explanation{color:#d4dcdf;font-size:14px;line-height:1.55;text-wrap:pretty}.feedback-explanation strong{color:var(--mint);font-weight:800}.feedback-sheet .combo-badge{justify-self:start;margin:0}.feedback-sheet .footnote{justify-content:flex-start;margin:0;text-align:left}.feedback-sheet .lesson-action{position:static;padding:10px var(--gutter) max(14px,env(safe-area-inset-bottom));background:none}.complete-screen{display:flex;align-items:center;flex:1;flex-direction:column;text-align:center;animation:page-enter .35s var(--ease) backwards}.completion-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--mint-border);border-radius:8px;background:var(--mint-surface);color:var(--mint);font-size:9px;font-weight:800;letter-spacing:1.3px}.completion-badge>svg{width:13px;height:13px}.complete-screen>.mascot{width:min(128px,16dvh);height:min(128px,16dvh);margin:10px 0 6px}.complete-screen h1{color:var(--mint);font-size:26px;letter-spacing:-.8px;outline:none}.complete-screen>p{max-width:370px;margin:6px auto 14px;color:var(--muted);font-size:13px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.result-grid>div{display:flex;align-items:center;flex-direction:column;gap:5px;padding:12px 10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--mint)}.result-grid strong{color:var(--text);font-size:24px;letter-spacing:-.6px}.result-grid span{color:var(--muted);font-size:11px}.completion-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;color:#a8bea2;font-size:11px}.complete-screen .mistake-review{margin:8px 0 0}.complete-screen .lesson-action{width:100%}.resume-notice{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;border:1px solid #3c5541;border-radius:11px;background:#223329;color:#b5cea9;font-size:11px}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes option-pick{0%{transform:scale(.98)}60%{transform:scale(1.015)}to{transform:none}}@media(min-width:520px){.question-mascot{width:96px;height:96px}.question-bubble>p{font-size:17px}.answer-option{font-size:14px}}@media(min-width:1000px){.app-shell--lesson{max-width:850px;border-left:1px solid var(--border-soft);border-right:1px solid var(--border-soft)}.app-shell--lesson .main-content{padding:28px 58px 0}.lesson-player{max-width:640px;margin:0 auto}.question-mascot{width:120px;height:120px}.question-bubble>p{font-size:19px}.answer-option{min-height:56px}.feedback-sheet{margin-inline:0}.feedback-sheet-body,.feedback-sheet .lesson-action{padding-left:24px;padding-right:24px}}@media(max-width:360px){.question-mascot{width:62px;height:62px}.question-bubble>p{font-size:14.5px}.answer-option{gap:9px;min-height:46px;padding:9px 11px;font-size:12.5px}.answer-letter{width:23px;height:23px;font-size:10px}}@media(max-height:700px){.question-mascot{width:60px;height:60px}.lesson-header{margin-bottom:10px}.answer-option{min-height:44px;padding-top:8px;padding-bottom:8px}}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.stat-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:19px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--mint-border);background:var(--mint-surface);color:var(--mint);border-radius:10px;margin-bottom:7px}.stat-icon>svg{width:17px;height:17px}.stat-value{font-size:30px;line-height:1.2;font-weight:800;letter-spacing:-.9px}.stat-label{color:var(--subtle);font-size:11px}.activity-card,.goal-progress-card,.profile-card{padding:22px 19px;border:1px solid var(--border);background:var(--surface);border-radius:20px;margin-bottom:20px}.activity-card h2,.goal-progress-card h2,.profile-card h2{font-size:16px;font-weight:700}.activity-card>p,.goal-progress-card>p,.profile-card>p{font-size:12px;color:var(--muted);margin-top:10px}.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:13px;height:153px;margin-top:23px;background:repeating-linear-gradient(to top,transparent 0,transparent 40px,#7185750d 40px,#7185750d 41px)}.week-day{display:flex;justify-content:flex-end;align-items:center;flex-direction:column;gap:8px;color:var(--subtle);font-size:9px}.week-bar{width:100%;max-width:32px;min-height:5px;border-radius:6px 6px 3px 3px;background:#617f58;transform-origin:bottom;animation:bar-enter .6s var(--ease) both}.week-day.is-today{color:var(--mint);font-weight:700}.week-day.is-today .week-bar{background:var(--mint)}.week-bar.is-empty{background:#344139}.goal-progress-card .progress-track{height:7px;margin:16px 0 11px}.goal-progress-card .section-heading{margin-bottom:0}.goal-progress-card .text-link{padding-left:0;margin-top:7px;font-size:11px;color:var(--mint)}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.achievement-card{display:flex;align-items:center;flex-direction:column;text-align:center;padding:20px 12px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.achievement-icon{display:flex;align-items:center;justify-content:center;width:47px;height:47px;background:#25332b;color:var(--mint);border:1px solid #3d5440;border-radius:16px;margin-bottom:15px}.achievement-icon>svg{width:23px;height:23px}.achievement-card h3{font-size:13px;font-weight:700}.achievement-card p{color:var(--subtle);font-size:10px;line-height:1.6;margin-top:7px}.achievement-card>span:last-child{display:flex;align-items:center;gap:4px;color:var(--subtle);font-size:9px;margin-top:13px}.achievement-card.is-locked .achievement-icon{color:#87979b;background:#263038;border-color:#37434a}.achievement-card.is-locked h3{color:#adb9c0}.achievement-card.is-earned{border-color:var(--mint-border);background:#1d2d23}.achievement-card.is-earned>span:last-child{color:var(--mint)}.profile-hero{display:flex;align-items:center;flex-direction:column;padding-bottom:28px;text-align:center}.profile-hero>.mascot{width:131px;height:137px;margin:-10px auto 13px}.profile-hero .eyebrow{font-size:8px}.profile-hero h2{font-size:28px;margin-top:6px}.profile-hero p{font-size:12px;color:var(--muted);margin-top:7px}.profile-hero>.mint{display:inline-flex;align-items:center;font-size:10px;font-weight:700;margin-top:13px;padding:6px 10px;background:var(--mint-surface);border:1px solid var(--mint-border);border-radius:8px}.profile-card .section-heading{margin-bottom:19px}.field-label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:9px}.text-input{width:100%;min-height:46px;padding:12px 14px;background:#111b20;border:1px solid #3a474e;border-radius:11px;color:var(--text);font-size:14px}.profile-card form .button{margin-top:13px;min-height:43px;font-size:12px}.goal-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:19px}.goal-options>button{display:flex;align-items:center;flex-direction:column;gap:5px;padding:15px 6px;border:1px solid var(--border);border-radius:12px;background:#111c21;color:var(--subtle)}.goal-options strong{font-size:12px;font-weight:700;white-space:nowrap}.goal-options span{font-size:8px}.goal-options>button.is-active{background:var(--mint-surface);border-color:var(--mint);color:var(--mint)}.saved-model-row{display:flex;align-items:center;width:100%;gap:12px;padding:13px 0;background:transparent;text-align:left}.saved-model-row+.saved-model-row{border-top:1px solid var(--border-soft)}.saved-model-copy{flex:1;display:grid;gap:5px}.saved-model-copy strong{font-size:13px;font-weight:700}.saved-model-copy span{font-size:11px;color:var(--subtle)}.saved-model-row>svg{color:var(--subtle);width:16px}.settings-row{display:flex;align-items:center;width:100%;gap:13px;min-height:50px;padding:15px 0;background:transparent;color:var(--muted);text-align:left;font-size:12px}.settings-row>span{flex:1}.settings-row>svg{width:17px;height:17px}.settings-row+.settings-row{border-top:1px solid var(--border-soft)}.danger-link{color:var(--danger)}.profile-footer{color:var(--subtle);font-size:10px;text-align:center;line-height:1.8;margin-top:24px}.profile-status{color:var(--mint);font-size:11px;min-height:0}.profile-status:not(:empty){position:fixed;bottom:99px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 40px);border:1px solid var(--mint-border);border-radius:12px;background:#263a2bf5;padding:11px 18px;box-shadow:0 5px 20px #0003;z-index:40;animation:toast-enter .25s var(--ease) both}@media(min-width:1000px){.profile-status:not(:empty){left:calc(50% + 107px);bottom:28px}.stats-screen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats-screen>.page-header,.stats-screen>.screen-intro,.stats-screen>.stat-grid,.stats-screen>.activity-card,.stats-screen>section:last-child{grid-column:1 / -1}.stats-screen>.page-header{margin-bottom:12px}.stats-screen>.screen-intro{margin-bottom:8px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:2px}.stat-card{padding:19px}.activity-card,.goal-progress-card{margin-bottom:0}.week-chart{gap:35px;height:166px;padding:0 12px}.week-bar{max-width:40px}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.profile-screen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.profile-screen>.page-header,.profile-hero,.profile-card:has(#saved-models-title),.profile-card:has(#your-data-title),.profile-footer{grid-column:1 / -1}.profile-screen>.page-header{margin-bottom:0}.profile-hero{padding-bottom:13px}.profile-card{margin-bottom:0;padding:23px}.profile-card:has(#saved-models-title) .empty-state{padding:21px}.profile-card:has(#saved-models-title) .empty-state .button{max-width:250px}.profile-card:has(#saved-models-title) .empty-state-icon{width:40px;height:40px;margin-bottom:12px}.profile-card .goal-options{margin-top:25px}}@media(max-width:360px){.stat-card{padding:16px}.stat-value{font-size:27px}.goal-options strong{font-size:11px}.goal-options span{font-size:7px}}.energy-chip{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:6px 10px 6px 7px;border:1px solid var(--mint-border);border-radius:10px;background:var(--mint-surface);color:var(--mint);font-size:12px;font-weight:800;white-space:nowrap}.energy-chip:hover{border-color:#58805a;background:#28402f}.energy-chip>.energy-bolt{width:17px;height:17px}.energy-chip.is-empty{border-color:var(--border);background:var(--surface);color:var(--subtle)}.energy-meter{display:block;width:min(210px,70%);height:auto;margin:4px auto 0}.energy-meter rect{stroke-width:1.5}.energy-meter .is-full rect{fill:var(--mint);stroke:var(--mint)}.energy-meter .is-full path{fill:#172317}.energy-meter .is-empty rect{fill:#162026;stroke:var(--border)}.energy-meter .is-empty path{fill:#2c383f}.energy-meter--unlimited .is-full rect{fill:var(--mint-surface);stroke:var(--mint)}.energy-meter--unlimited .is-full path{fill:var(--mint)}.energy-dialog{display:grid;gap:16px;text-align:center}.energy-dialog>p{color:var(--muted);font-size:13px}.energy-dialog .button+.button{margin-top:-8px}.energy-dialog-count{font-size:16px}.energy-rules{display:grid;gap:9px;margin:0;padding:0;list-style:none;text-align:left}.energy-rules li{position:relative;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.5}.energy-rules li:before{content:"";position:absolute;left:3px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--mint)}.energy-gate{display:flex;align-items:center;flex-direction:column;gap:8px;max-width:440px;margin:0 auto;padding-top:8px;text-align:center}.energy-gate-mascot{width:min(120px,15dvh);height:min(120px,15dvh)}.energy-gate h1{font-size:23px;letter-spacing:-.7px;outline:none}.energy-gate>p{color:var(--muted);font-size:13px}.energy-gate .energy-meter{margin:2px 0 6px;width:140px}.energy-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.energy-gate-actions>.button--primary,.energy-gate-actions>.button--quiet{grid-column:1 / -1}.energy-gate-actions>.button--secondary{min-height:48px;padding:10px;font-size:12px}.lesson-header-spacer{flex:1}.energy-cost{margin-top:11px;color:var(--subtle);font-size:12px;text-align:center}.energy-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 7px;margin-top:12px;color:var(--muted);font-size:12px}.energy-note>.energy-bolt{width:15px;height:15px;color:var(--mint)}.energy-note .text-link{min-height:30px;padding:4px;font-size:12px}.plus-screen{position:relative;display:flex;flex-direction:column;max-width:480px;margin:0 auto;padding-bottom:10px}.plus-close{position:absolute;top:0;left:0;z-index:2}.plus-hero,.plus-screen--member{display:flex;align-items:center;flex-direction:column;text-align:center}.plus-mascot{width:150px;height:150px;margin:4px auto 6px}.plus-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--mint-border);border-radius:8px;background:var(--mint-surface);color:var(--mint);font-size:10px;font-weight:800;letter-spacing:1.2px}.plus-screen h1{margin-top:14px;font-size:30px;letter-spacing:-1px}.plus-hero>p,.plus-screen--member>p{max-width:330px;margin-top:9px;color:var(--muted);font-size:14px}.plus-benefits{display:grid;gap:14px;margin:26px 0 16px;padding:18px;list-style:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.plus-benefits li{display:flex;align-items:flex-start;gap:13px}.plus-benefits li>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:var(--mint-surface);color:var(--mint)}.plus-benefits strong{font-size:14px}.plus-benefits p{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.5}.plus-free-note{display:flex;align-items:flex-start;gap:7px;margin-bottom:20px;color:var(--subtle);font-size:12px;line-height:1.5}.plus-free-note>svg{margin-top:2px;color:var(--mint)}.plan-options{display:grid;gap:10px;margin-bottom:16px}.plan-option{position:relative;display:flex;align-items:center;gap:13px;min-height:76px;padding:15px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast)}.plan-option:hover{border-color:#52684f}.plan-option.is-selected{border-color:var(--mint);background:#1f3126}.plan-option input{position:absolute;opacity:0;width:1px;height:1px}.plan-option:has(input:focus-visible){outline:2px solid var(--mint);outline-offset:3px}.plan-radio{flex-shrink:0;width:20px;height:20px;border:2px solid #5c6b72;border-radius:50%}.is-selected .plan-radio{border:6px solid var(--mint)}.plan-copy{display:grid;flex:1;gap:3px;min-width:0}.plan-copy strong{font-size:15px}.plan-copy>span{color:var(--muted);font-size:12px}.plan-copy>.plan-trial{color:var(--mint);font-weight:700}.plan-savings{align-self:flex-start;padding:4px 8px;border-radius:7px;background:var(--mint);color:#142015;font-size:10px;font-weight:800;white-space:nowrap}.plus-terms{margin-top:13px;color:var(--subtle);font-size:11px;line-height:1.6;text-align:center}.plus-status{padding:26px 0;color:var(--muted);font-size:13px;text-align:center}.plus-unavailable{display:grid;gap:8px;padding:20px;border:1px dashed var(--border);border-radius:18px;text-align:center}.plus-unavailable p{color:var(--muted);font-size:13px}.plus-unavailable .button{margin-top:8px}.plus-message:not(:empty){margin-top:12px;padding:11px 14px;border:1px solid #58492c;border-radius:12px;background:#302b20;color:#e0c69c;font-size:12px;text-align:center}.plus-links{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 16px;margin-top:10px}.plus-links .text-link{padding:7px 0}.plus-actions{display:grid;gap:8px;width:100%;margin-top:26px}.onboarding-shell{min-height:100dvh;background:var(--bg)}.onboarding{display:flex;flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;padding:max(22px,env(safe-area-inset-top)) var(--gutter) max(24px,env(safe-area-inset-bottom))}.onboarding-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-bottom:18px}.onboarding-dots{display:flex;gap:6px}.onboarding-dots>span{width:22px;height:5px;border-radius:5px;background:var(--border);transition:background var(--motion-fast)}.onboarding-dots>.is-active{background:var(--mint)}.onboarding-step{display:flex;flex:1;flex-direction:column;gap:14px;animation:page-enter var(--motion-enter) var(--ease) backwards}.onboarding-step>.button{margin-top:auto}.onboarding-mascot{width:min(250px,70vw);height:min(250px,70vw);margin:10px auto 8px}.onboarding-step h1{font-size:30px;letter-spacing:-1px;text-wrap:balance}.onboarding-step>p{color:var(--muted);font-size:14px}.onboarding-subtitle{margin-top:10px;font-size:16px}.onboarding-step .goal-options{margin-top:0}.onboarding-hint{font-size:12px!important;color:var(--subtle)!important}.onboarding-step .energy-meter{margin:8px 0}.onboarding-toggle{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--mint);cursor:pointer}.onboarding-toggle>span{display:grid;flex:1;gap:2px;color:var(--text)}.onboarding-toggle strong{font-size:14px}.onboarding-toggle small{color:var(--muted);font-size:12px}.onboarding-toggle input,.switch input{width:20px;height:20px;accent-color:var(--mint)}.plus-card .energy-meter{margin:0 0 4px;width:170px}.plus-card .button{margin-top:16px;min-height:44px;font-size:13px}.plus-card.is-member{border-color:var(--mint-border);background:#1b2a23}.reminder-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.switch{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.switch>span{display:none}.reminder-time input{min-height:42px;padding:8px 12px;border:1px solid #3a474e;border-radius:11px;background:#111b20;color:var(--text);color-scheme:dark}.reminder-time input:disabled{opacity:.5}.settings-row:disabled{opacity:.6}.sidebar-energy{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;color:var(--subtle);font-size:11px;font-weight:700}.sidebar-plus{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;margin-top:16px;border:1px solid var(--mint-border);border-radius:11px;background:var(--mint-surface);color:var(--mint);font-size:12px;font-weight:800}.sidebar-plus:hover{background:#28402f}.legal-screen{max-width:680px;margin:0 auto}.legal-screen .page-header{margin-bottom:12px}.legal-updated{margin-bottom:22px;color:var(--subtle);font-size:12px}.legal-screen section{margin-bottom:24px}.legal-screen h2{margin-bottom:8px;font-size:17px}.legal-screen p{color:var(--muted);font-size:13px;line-height:1.7}.legal-screen p+p{margin-top:10px}.legal-screen a{color:var(--mint);text-decoration:underline;overflow-wrap:anywhere}.crash-screen{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:14px;min-height:100dvh;padding:30px var(--gutter);background:var(--bg);text-align:center}.crash-mascot{width:160px;height:160px}.crash-screen h1{font-size:26px}.crash-screen p{max-width:320px;color:var(--muted);font-size:14px}.crash-screen .button{max-width:320px;margin-top:10px}@media(min-width:1000px){.plus-screen,.legal-screen{padding-top:10px}}.mascot-character{transform-box:fill-box;transform-origin:center bottom}.mascot-eyes,.mascot-spark{transform-box:fill-box;transform-origin:center}@keyframes page-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes modal-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-enter{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes bar-enter{0%{transform:scaleY(.05)}to{transform:scaleY(1)}}@keyframes icon-pop{0%{transform:scale(.75)}65%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes mascot-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes mascot-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes gentle-spark{0%,to{opacity:.75;scale:.96}50%{opacity:1;scale:1.04}}@keyframes happy-nod{0%,to{transform:rotate(0)}40%{transform:translateY(-4px) rotate(-2deg)}70%{transform:rotate(1deg)}}@media(prefers-reduced-motion:no-preference){.hero-mascot .mascot-character,.splash .mascot-character{animation:mascot-breathe 5s ease-in-out infinite}.hero-mascot .mascot-eyes{animation:mascot-blink 7s ease-in-out infinite}.lesson-player--feedback:has(.feedback-sheet.is-correct) .question-mascot .mascot-character,.complete-screen .mascot-character{animation:happy-nod .85s var(--ease) 1 both}.lesson-player--feedback .question-mascot .mascot-spark{animation:gentle-spark 2.5s ease-in-out 2}.path-card:hover .model-icon>svg{transform:rotate(-4deg);transition:transform .22s var(--ease)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.training-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.training-links button{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);transition:transform .18s ease,border-color .18s ease}.training-links button:hover{border-color:var(--mint);transform:translateY(-2px)}.training-links button>span{flex:1}.training-links strong,.training-links small{display:block}.training-links small{color:var(--muted);margin-top:4px}.training-hero{display:grid;grid-template-columns:1fr 230px;align-items:center;gap:28px;padding:32px;border:1px solid var(--border);border-radius:28px;background:var(--surface);margin:24px 0}.training-hero h1{font-size:clamp(30px,4vw,48px);margin:12px 0;line-height:1.1}.training-hero p,.training-explainer p{color:var(--muted);line-height:1.7}.training-hero .subtle-label{display:block;margin-top:14px}.training-hero svg{max-width:100%}.training-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.training-metrics>div{display:grid;gap:8px;padding:20px;border:1px solid var(--border);border-radius:18px}.training-metrics svg{color:var(--mint)}.training-metrics strong{font-size:28px}.training-metrics span{font-size:13px;color:var(--muted)}.training-explainer{max-width:720px;margin:32px 0}.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin:22px 0}.formula-card{border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden;padding:20px}.formula-card>summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;font-size:18px;font-weight:800}.formula-card[open]>summary{margin-bottom:22px}.formula-display{min-width:0;width:100%;padding:18px;border:1px solid var(--border);border-radius:16px;margin:14px 0;background:#77e0c30a}.formula-equation{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 2px;font-size:1.05rem}.formula-equation .katex-display{width:max-content;min-width:100%;margin:.7em 0}.equation-scroll-hint{display:block;color:var(--muted);font-size:11px;padding-bottom:8px}.formula-equation:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.formula-condition{font-size:12px;color:var(--muted);line-height:1.6}.formula-display>p{line-height:1.7}.formula-terms{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.formula-terms button{border:1px solid var(--border);border-radius:10px;background:transparent;padding:9px 14px;color:var(--text);min-height:44px}.formula-terms button[aria-pressed=true]{background:var(--mint);color:#10251e;border-color:var(--mint)}.term-definition{min-height:70px}.lesson-reading{display:flex;flex:1;flex-direction:column;width:100%;max-width:760px;margin:4px auto 0}.lesson-reading h1{margin:8px 0 10px;font-size:26px}.lesson-reading .energy-cost{margin-top:0}.mini-lesson{line-height:1.8;text-align:left}.mini-lesson>p{margin:16px 0}.lesson-objective{font-size:20px;font-weight:750}.worked-example{padding:20px;margin:22px 0;border-left:3px solid var(--mint);background:#77e0c30d;border-radius:0 14px 14px 0}.mini-lesson dl>div{margin:18px 0}.mini-lesson dt{font-weight:800}.mini-lesson dd{margin:2px 0;color:var(--muted)}.question-interaction{min-width:0;width:100%}.question-interaction .answer-options{width:100%}.answer-options legend{font-size:13px;line-height:1.6;margin-bottom:12px;color:var(--muted)}.numeric-answer label{font-weight:800}.numeric-answer input,.match-answers select{width:100%;min-width:0;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;font:inherit}.numeric-answer input{font-size:22px}.numeric-answer p{font-size:13px;line-height:1.6;color:var(--muted)}.match-answers label{display:grid;gap:8px;min-width:0}.match-answers select{font-size:14px;text-overflow:ellipsis}.ordered-selection{padding-left:24px;margin:0 0 15px}.ordered-selection li{padding:12px 0;line-height:1.6}.ordered-selection button{display:block;padding:5px 0;background:none;border:0;color:var(--mint);font-size:12px}.order-answers button:disabled{opacity:.4}.question-hint{margin:8px 0 0;font-size:14px;line-height:1.7;color:var(--muted)}.lesson-reference{margin-top:6px}.lesson-reference .mini-lesson{font-size:14px}.mistake-review{width:100%;text-align:left;margin:12px 0}.mistake-review article{padding:16px 0;border-bottom:1px solid var(--border)}.mistake-review h3{font-size:16px}.mistake-review p{font-size:14px;line-height:1.7}select:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:4px}@media(max-width:600px){.formula-grid{grid-template-columns:1fr}.training-links{gap:8px;margin:14px 0}.training-links button{gap:9px;padding:12px;font-size:13px}.training-links button>svg:last-child{display:none}.training-links small{font-size:11px}.training-hero{grid-template-columns:1fr;padding:24px;gap:10px}.training-hero>svg{display:none}.training-metrics{gap:8px}.training-metrics>div{padding:14px 10px}.training-metrics span{font-size:11px}.formula-card{padding:16px}.formula-display{padding:12px}}@media(prefers-reduced-motion:reduce){.training-links button{transition:none}}:root{--gold: #f6c649;--gold-deep: #b98c1f;--ice: #8fd3ff;--mint-deep: #5fa845;--node-rest: #2a353c;--node-rest-deep: #1b2328}.button--primary{box-shadow:0 4px 0 var(--mint-deep);transform:translateY(-2px)}.button--primary:hover:not(:disabled){box-shadow:0 5px 0 var(--mint-deep)}.button--primary:active:not(:disabled){box-shadow:0 1px 0 var(--mint-deep);transform:translateY(1px)}.button--primary:disabled{box-shadow:0 4px #1f2a22}.button--secondary{box-shadow:0 3px #10171b}.button--secondary:active:not(:disabled){box-shadow:0 0 #10171b;transform:translateY(2px)}.bottom-nav{padding:7px 6px}.nav-item{padding:8px 2px;min-width:0}.nav-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.is-active>svg{animation:tab-pop .38s var(--ease) both}.nav-badge{position:absolute;top:5px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border:2px solid #1a242a;border-radius:9px;background:var(--gold);color:#2a2006;font-size:10px;font-weight:900;line-height:14px;text-align:center;animation:badge-bounce 2.4s var(--ease) infinite}.sidebar-nav .nav-badge{position:static;margin-left:auto;border-color:transparent}.sidebar-nav .nav-item.is-active:has(.nav-badge):after{display:none}.energy-chip.is-plus{border-color:#6c5a24;background:#2b2718;color:var(--gold)}.energy-chip>.energy-bolt{animation:bolt-shimmer 4.5s ease-in-out infinite}.energy-chip.is-empty>.energy-bolt{animation:none}.energy-chip.is-spent{animation:chip-spend .7s var(--ease)}.energy-chip.is-spent>.energy-bolt{animation:bolt-drop .7s var(--ease)}.energy-meter g{transform-box:fill-box;transform-origin:center;animation:cell-in .42s var(--ease) both}.energy-meter .is-locked rect{fill:transparent;stroke:#3a474e;stroke-dasharray:4 4}.energy-meter .is-locked path{fill:none;stroke:#56656d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.flame{width:20px;height:24px;overflow:visible}.flame-outer{fill:#ff9d3c}.flame-inner{fill:#ffd76a}.flame.is-out .flame-outer{fill:#3a444b}.flame.is-out .flame-inner{fill:#58646c}.flame.is-lit{transform-origin:50% 90%;animation:flame-flicker 1.6s ease-in-out infinite}.flame.is-lit .flame-inner{transform-box:fill-box;transform-origin:50% 100%;animation:flame-core 1.1s ease-in-out infinite}.streak-pill{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:5px 10px 5px 7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--subtle);font-size:13px;font-weight:800}.streak-pill.is-lit{border-color:#6b4a22;background:#2d2317;color:#ffb45c}.streak-pill>.flame{width:17px;height:20px}.path-map{--unit-color: hsl(var(--unit-hue, 140) 55% 62%);max-width:520px;margin:0 auto}.path-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;margin:calc(-1*max(24px,env(safe-area-inset-top))) calc(-1 * var(--gutter)) 16px;padding:max(14px,env(safe-area-inset-top)) var(--gutter) 12px;background:linear-gradient(var(--bg) 78%,#10171b00)}.path-switch{display:flex;flex:1;align-items:center;gap:9px;min-width:0;min-height:48px;padding:5px 10px 5px 5px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left}.path-switch:hover{border-color:var(--mint-border)}.path-switch>span{display:grid;flex:1;min-width:0;line-height:1.2}.path-switch small{color:var(--subtle);font-size:9px;font-weight:800;letter-spacing:1px}.path-switch strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.path-switch>svg{color:var(--subtle)}.path-switch .model-icon--small{width:36px;height:36px;border-radius:10px}.path-switch .model-icon--small>svg{width:19px;height:19px}.unit-banner{position:relative;display:flex;align-items:center;gap:14px;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--unit-color) 40%,var(--border));border-radius:22px;background:radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--unit-color) 22%,transparent),transparent 55%),#172722;box-shadow:0 5px #0c1413}.unit-banner>div{display:grid;flex:1;gap:7px;min-width:0}.unit-banner .eyebrow{color:color-mix(in srgb,var(--unit-color) 70%,white);font-size:9px}.unit-banner h1{font-size:23px;letter-spacing:-.6px}.unit-banner p{color:var(--muted);font-size:12px}.unit-banner .progress-track{height:8px;margin-top:4px}.unit-banner .progress-track>span{background:linear-gradient(90deg,var(--mint),#d5ffc0 50%,var(--mint));background-size:200% 100%;animation:bar-shine 3s linear infinite}.unit-banner>.model-icon{width:58px;height:58px;border-radius:17px;animation:float-soft 4s ease-in-out infinite}.path-track{position:relative;width:min(320px,100%);margin:30px auto 8px}.path-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.path-line path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.path-line-rest{stroke:#2a353c;stroke-width:10;stroke-dasharray:2 16}.path-line-done{stroke:var(--mint);stroke-width:10;opacity:.4;stroke-dasharray:2 16;animation:line-flow 1.6s linear infinite}.path-sparkles>i{position:absolute;left:4%;width:6px;height:6px;border-radius:50%;background:var(--mint);opacity:0;animation:sparkle-drift 6s ease-in-out infinite}.path-sparkles>i:nth-child(2n){left:auto;right:4%;background:var(--gold)}.path-row{position:absolute;z-index:2;display:flex;align-items:center;flex-direction:column;width:150px;transform:translate(-50%)}.path-node{position:relative;display:grid;place-items:center;width:72px;height:72px;margin-top:8px;border:0;border-radius:50%;background:var(--node-rest);color:#6f7e87;box-shadow:0 7px 0 var(--node-rest-deep),inset 0 -3px #0003;animation:node-in .46s var(--ease) both;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}.path-node:active:not(:disabled){transform:translateY(5px);box-shadow:0 2px 0 var(--node-rest-deep),inset 0 -3px #0003}.path-node.is-done,.path-node.is-review{background:var(--mint);color:#173017;box-shadow:0 7px 0 var(--mint-deep),inset 0 -3px #0002}.path-node.is-done:active,.path-node.is-review:active{box-shadow:0 2px 0 var(--mint-deep)}.path-node.is-review{background:#c9dfa8;box-shadow:0 7px #8aa36a}.path-node.is-done:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 38%,#ffffff66 50%,transparent 62%);background-size:250% 100%;animation:node-shine 5s ease-in-out infinite}.path-node.is-current{width:80px;height:80px;background:var(--mint);color:#173017;box-shadow:0 8px 0 var(--mint-deep),0 0 0 8px #a8f08722;animation:node-in .46s var(--ease) both,node-bob 2.4s ease-in-out .6s infinite}.path-node.is-current:before{content:"";position:absolute;inset:-10px;border:3px solid var(--mint);border-radius:50%;animation:ring-pulse 2s ease-out infinite}.path-node.is-current:active{transform:translateY(6px);box-shadow:0 2px 0 var(--mint-deep)}.path-node.is-locked>svg{opacity:.8}.node-badge{position:absolute;right:-2px;top:-2px;display:grid;place-items:center;width:24px;height:24px;border:3px solid var(--bg);border-radius:50%;background:var(--gold);color:#3a2c05;animation:badge-bounce 2.2s var(--ease) infinite}.node-label{max-width:140px;margin-top:12px;color:var(--subtle);font-size:11px;font-weight:700;line-height:1.3;text-align:center}.path-row:has(.is-current) .node-label,.path-row:has(.is-done) .node-label,.path-row:has(.is-review) .node-label{color:var(--muted)}.start-bubble{position:absolute;top:-30px;z-index:3;padding:7px 13px;border:2px solid var(--mint);border-radius:12px;background:var(--bg);color:var(--mint);font-size:12px;font-weight:900;letter-spacing:1px;white-space:nowrap;animation:bubble-bounce 1.6s ease-in-out infinite}.start-bubble:after{content:"";position:absolute;bottom:-7px;left:50%;width:11px;height:11px;border-right:2px solid var(--mint);border-bottom:2px solid var(--mint);background:var(--bg);transform:translate(-50%) rotate(45deg)}.start-bubble.is-gold{border-color:var(--gold);color:var(--gold)}.start-bubble.is-gold:after{border-color:var(--gold)}.node-card{position:absolute;top:118px;z-index:10;display:grid;gap:7px;width:min(270px,86vw);padding:16px;border:1px solid var(--mint-border);border-radius:18px;background:#1c2a24;box-shadow:0 16px 40px #0007;text-align:left;animation:card-pop .26s var(--ease) both}.node-card.is-locked{border-color:var(--border);background:var(--surface-raised)}.node-card:before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;border-left:1px solid var(--mint-border);border-top:1px solid var(--mint-border);background:inherit;transform:translate(-50%) rotate(45deg)}.node-card strong{font-size:15px}.node-card>span{color:var(--muted);font-size:12px;line-height:1.45}.node-card-meta{display:flex;align-items:center;gap:5px;color:var(--subtle)!important;font-size:11px!important}.node-card .button{min-height:44px;margin-top:6px;font-size:13px}.path-node.is-chest{width:84px;height:84px;background:#2b2718;box-shadow:0 7px #17140b}.path-node.is-chest.is-locked{background:var(--node-rest);box-shadow:0 7px 0 var(--node-rest-deep)}.path-node.is-chest.is-ready{background:#3a3117;box-shadow:0 7px #1c180b,0 0 0 8px #f6c64922;animation:node-in .46s var(--ease) both,chest-wiggle 1.8s ease-in-out .6s infinite}.path-node.is-chest .chest{width:54px;height:48px}.path-node.is-chest.is-locked .chest{filter:grayscale(1) brightness(.6)}.path-mascot{position:absolute;z-index:1;width:104px;pointer-events:none}.path-mascot.is-left{left:-8px}.path-mascot.is-right{right:-8px}.path-mascot .mascot{width:104px;height:104px}.path-mascot .mascot-character{animation:mascot-breathe 4s ease-in-out infinite}.path-mascot .mascot-eyes{animation:mascot-blink 6s ease-in-out infinite}.mascot-bubble{position:absolute;top:-26px;left:50%;padding:5px 9px;border:1px solid var(--border);border-radius:10px;background:var(--surface-raised);color:var(--text);font-size:10px;font-weight:800;white-space:nowrap;transform:translate(-50%);animation:bubble-in .5s var(--ease) .7s both}.up-next{display:grid;gap:10px;margin-top:30px}.up-next h2{font-size:17px}.up-next-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 4px #0d1418;text-align:left}.up-next-card:active{transform:translateY(3px);box-shadow:0 1px #0d1418}.up-next-card>span{display:grid;flex:1;gap:3px;min-width:0}.up-next-card strong{font-size:14px}.up-next-card small{color:var(--muted);font-size:11px}.path-picker ul{display:grid;gap:6px;max-height:60vh;margin:0;padding:0;overflow-y:auto;list-style:none}.path-picker li>button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:13px;background:transparent;text-align:left}.path-picker li>button:hover,.path-picker li>button.is-current{border-color:var(--mint-border);background:var(--mint-surface)}.path-picker li>button>span{display:grid;flex:1;min-width:0}.path-picker small{color:var(--subtle);font-size:9px;font-weight:800;letter-spacing:1px}.path-picker strong{font-size:13px}.path-picker em{color:var(--mint);font-size:12px;font-style:normal;font-weight:800}.path-picker .is-locked{opacity:.6}.chest{overflow:visible}.chest-shadow{fill:#0005}.chest-body{fill:#b9782e;stroke:#5b3614;stroke-width:2}.chest-lid-shape{fill:#d18d3a;stroke:#5b3614;stroke-width:2}.chest-band{fill:var(--gold);stroke:#7a5a12;stroke-width:1.4}.chest-lock{fill:#fff4c4;stroke:#7a5a12;stroke-width:1.2}.chest-lid{transform-box:fill-box;transform-origin:8% 100%;transition:transform .5s var(--ease)}.chest-glow circle{fill:var(--gold);opacity:0}.chest.is-open .chest-lid{transform:rotate(-24deg) translate(-2px,-6px)}.chest.is-open .chest-glow circle{opacity:.55;animation:chest-glow 1.8s ease-in-out infinite}.chest-modal .modal-content{text-align:center}.chest-reveal{display:grid;justify-items:center;gap:10px;margin-bottom:20px}.chest-reveal-art{width:130px;height:116px;animation:chest-pop .7s var(--ease) both}.chest-reveal strong{color:var(--gold);font-size:30px;font-weight:900;animation:reward-rise .6s var(--ease) .3s both}.chest-reveal p{color:var(--muted);font-size:13px}.confetti{position:fixed;inset:0;z-index:200;overflow:hidden;pointer-events:none}.confetti>i{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:confetti-fall 2.2s cubic-bezier(.2,.6,.4,1) both}.confetti>i.is-wide{width:12px;height:6px}.reward-pop{position:absolute;left:50%;top:-6px;z-index:5;color:var(--gold);font-size:14px;font-weight:900;white-space:nowrap;pointer-events:none;text-shadow:0 2px 0 #0006;animation:reward-float 1.3s var(--ease) both}.answer-reward{position:relative}.combo-badge{display:inline-flex;align-items:center;gap:6px;margin:8px auto 0;padding:6px 12px;border:1px solid #6b4a22;border-radius:20px;background:#2d2317;color:#ffb45c;font-size:13px;font-weight:900;animation:combo-pop .52s var(--ease) both}.combo-badge>.flame{width:16px;height:19px}.feedback-sheet.is-correct h2{animation:correct-pop .48s var(--ease) both}.result-grid>div{animation:card-pop .42s var(--ease) both}.result-grid>div:nth-child(2){animation-delay:.12s}.quest-toast{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;padding:12px 14px;border:1px solid #6c5a24;border-radius:14px;background:#2b2718;color:var(--gold);font-size:12px;font-weight:800;text-align:left;animation:card-pop .42s var(--ease) .3s both}.quest-toast>span{flex:1}.streak-celebration{display:flex;align-items:center;flex:1;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:0 auto;padding-top:10px;text-align:center}.streak-celebration-flame .flame{width:min(100px,14dvh);height:min(120px,17dvh);animation:flame-grow .9s var(--ease) both,flame-flicker 1.6s ease-in-out .9s infinite}.streak-celebration-count{color:#ffb45c;font-size:64px;font-weight:900;line-height:1;letter-spacing:-2px;animation:count-slam .6s var(--ease) .4s both}.streak-celebration h1{font-size:28px;outline:none}.streak-celebration p{color:var(--muted);font-size:14px}.streak-celebration .lesson-action{width:100%}.streak-week{display:flex;justify-content:space-between;gap:6px;width:100%;max-width:330px;margin:8px auto 0;padding:0;list-style:none}.streak-week li{display:grid;justify-items:center;gap:6px;color:var(--subtle);font-size:11px;font-weight:800}.streak-week i{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--border);border-radius:50%;background:var(--surface)}.streak-week li.is-active i{border-color:#ff9d3c;background:#ff9d3c;color:#3a1d02;animation:day-fill .42s var(--ease) both}.streak-week li.is-frozen i{border-color:var(--ice);background:#1d3442;color:var(--ice)}.streak-week li.is-today span{color:var(--text)}.streak-week li.is-today i{box-shadow:0 0 0 3px #ff9d3c33}.streak-week li.is-future{opacity:.5}.streak-card{margin-bottom:20px;padding:20px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:0 5px #0d1418}.streak-card.is-lit{border-color:#6b4a22;background:linear-gradient(160deg,#2d2317,var(--surface) 70%)}.streak-card-main{display:flex;align-items:center;gap:14px;margin-bottom:14px}.streak-card-flame{width:50px!important;height:60px!important}.streak-card-main>div{display:grid;gap:3px}.streak-card-main strong{font-size:24px;letter-spacing:-.6px}.streak-card-main span{color:var(--muted);font-size:12px}.streak-freezes{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:var(--muted);font-size:12px;line-height:1.5}.streak-freezes>svg{flex-shrink:0;margin-top:2px;color:var(--ice)}.quest-list{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none}.quest{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface);animation:card-pop .38s var(--ease) both}.quest:nth-child(2){animation-delay:70ms}.quest:nth-child(3){animation-delay:.14s}.quest.is-ready{border-color:#6c5a24;background:#231f14}.quest.is-claimed{opacity:.75}.quest-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:13px;background:var(--mint-surface);color:var(--mint)}.quest.is-ready .quest-icon{background:#3a3117;color:var(--gold);animation:badge-bounce 1.8s var(--ease) infinite}.quest-body{display:grid;flex:1;gap:8px;min-width:0}.quest-body strong{font-size:13px;line-height:1.35}.quest-progress{display:flex;align-items:center;gap:9px}.quest-progress>span{color:var(--subtle);font-size:11px;font-weight:700;white-space:nowrap}.quest-progress .progress-track{height:9px}.quest.is-ready .progress-track>span{background:var(--gold)}.quest-reward{position:relative;flex-shrink:0}.quest-claim{min-width:70px;min-height:38px;padding:8px 12px;border-radius:11px;background:var(--gold);color:#2a2006;font-size:12px;font-weight:900;box-shadow:0 3px 0 var(--gold-deep)}.quest-claim:disabled{background:transparent;color:var(--subtle);box-shadow:none;font-weight:800}.quest-claim:not(:disabled){animation:claim-glow 1.6s ease-in-out infinite}.quest-done{display:inline-flex;align-items:center;gap:5px;color:var(--mint);font-size:12px;font-weight:800}.daily-chest{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:26px;padding:14px 16px;border:1px dashed var(--border);border-radius:18px}.daily-chest.is-ready{border:1px solid #6c5a24;background:#231f14}.daily-chest .chest{flex-shrink:0;width:56px;height:50px}.daily-chest.is-ready .chest{animation:chest-wiggle 1.8s ease-in-out infinite}.daily-chest>div{display:grid;flex:1;gap:3px}.daily-chest strong{font-size:14px}.daily-chest span{color:var(--muted);font-size:12px}.chest-button{width:auto;min-height:40px;padding:8px 16px;font-size:13px}.weekly-quest{margin-bottom:20px;padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.weekly-quest>p{margin:-6px 0 14px;font-size:12px}.weekly-quest .button{margin-top:16px;min-height:44px;font-size:13px}.weekly-quest .quest-done{margin-top:14px}.term{display:inline;padding:0 2px;margin:0 -1px;border-radius:5px;background:linear-gradient(transparent 62%,#a8f08726 62%);color:inherit;font:inherit;font-weight:800;text-decoration:underline dotted var(--mint);text-decoration-thickness:2px;text-underline-offset:4px;cursor:help;transition:background .18s}.term:hover,.term:focus-visible{background:#a8f08733;color:var(--text)}.term:active{transform:none}.term-sheet{max-width:420px}.term-sheet .modal-heading h2{text-transform:capitalize}.term-sheet-badge{display:inline-flex;align-items:center;gap:5px;margin-bottom:10px;padding:4px 9px;border-radius:7px;background:var(--mint-surface);color:var(--mint);font-size:10px;font-weight:900;letter-spacing:1px}.term-sheet .modal-content>p{margin-bottom:12px!important;color:var(--text)!important;font-size:15px!important}.term-sheet .term-sheet-lesson{display:flex;align-items:center;gap:6px;margin-bottom:20px!important;color:var(--subtle)!important;font-size:12px!important}.app-toast{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:11px 16px;border:1px solid #2d5a73;border-radius:14px;background:#16303d;color:var(--ice);font-size:12px;font-weight:700;transform:translate(-50%);box-shadow:0 10px 30px #0006;animation:toast-drop .42s var(--ease) both}.toggle-list{display:grid;gap:12px;margin-top:14px}.path-card .eyebrow{font-size:8px}.path-card{box-shadow:0 4px #0d1418}.path-card:active{box-shadow:0 1px #0d1418;transform:translateY(3px)}@keyframes node-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes node-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ring-pulse{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}@keyframes node-shine{0%,70%{background-position:150% 0}to{background-position:-100% 0}}@keyframes bubble-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,6px) scale(.8)}to{opacity:1;transform:translate(-50%)}}@keyframes card-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes chest-wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-7deg)}84%{transform:rotate(6deg)}92%{transform:rotate(-3deg)}}@keyframes chest-glow{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:.7;transform:scale(1.15)}}@keyframes chest-pop{0%{opacity:0;transform:scale(.4) rotate(-10deg)}60%{opacity:1;transform:scale(1.12) rotate(3deg)}to{transform:none}}@keyframes reward-rise{0%{opacity:0;transform:translateY(14px) scale(.8)}to{opacity:1;transform:none}}@keyframes reward-float{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}20%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}@keyframes confetti-fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--drift),105vh) rotate(var(--spin))}}@keyframes combo-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@keyframes correct-pop{0%{transform:scale(.85)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.04,.97) rotate(-2deg)}50%{transform:scale(.97,1.05) rotate(1.5deg)}75%{transform:scale(1.02,.99) rotate(-1deg)}}@keyframes flame-core{0%,to{transform:scaleY(1)}50%{transform:scaleY(.86)}}@keyframes flame-grow{0%{opacity:0;transform:scale(.2) translateY(30px)}to{opacity:1;transform:none}}@keyframes count-slam{0%{opacity:0;transform:scale(1.8)}70%{opacity:1;transform:scale(.94)}to{transform:scale(1)}}@keyframes day-fill{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes bolt-shimmer{0%,86%,to{transform:none;filter:none}92%{transform:scale(1.18) rotate(-8deg);filter:drop-shadow(0 0 4px currentColor)}}@keyframes bolt-drop{0%{transform:none}40%{transform:translateY(6px) scale(.7);opacity:.4}to{transform:none;opacity:1}}@keyframes chip-spend{0%,to{transform:none}30%{transform:scale(.9)}60%{transform:scale(1.06)}}@keyframes cell-in{0%{opacity:0;transform:translateY(6px) scale(.8)}to{opacity:1;transform:none}}@keyframes tab-pop{0%{transform:scale(.8)}60%{transform:scale(1.15) translateY(-2px)}to{transform:none}}@keyframes badge-bounce{0%,80%,to{transform:none}88%{transform:translateY(-3px) scale(1.08)}}@keyframes claim-glow{0%,to{box-shadow:0 3px 0 var(--gold-deep),0 0 #f6c64955}50%{box-shadow:0 3px 0 var(--gold-deep),0 0 0 6px #f6c64900}}@keyframes bar-shine{0%{background-position:200% 0}to{background-position:0 0}}@keyframes line-flow{to{stroke-dashoffset:-36}}@keyframes sparkle-drift{0%{opacity:0;transform:translateY(10px) scale(.5)}30%{opacity:.7}60%{opacity:.5;transform:translateY(-16px) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.6)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes toast-drop{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@media(min-width:1000px){.path-topbar{margin-top:-33px;padding-top:18px}.unit-banner h1{font-size:27px}}.quests-screen .page-header{margin-bottom:14px}.streak-card{margin-bottom:14px;padding:14px 16px}.streak-card-main{gap:12px;margin-bottom:10px}.streak-card-flame{width:38px!important;height:46px!important}.streak-card-main strong{font-size:20px}.streak-card-main span{font-size:11.5px}.streak-card .streak-week{max-width:none;margin-top:0}.streak-card .streak-week i{width:28px;height:28px}.streak-card-foot{display:flex;align-items:center;gap:12px;margin-top:12px}.streak-goal{display:grid;flex:1;gap:6px;min-width:0;color:var(--muted);font-size:11px;font-weight:700}.streak-goal .progress-track{height:7px}.streak-freezes{display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 9px;border:1px solid #2d5a73;border-radius:9px;background:#16303d;color:var(--ice);font-size:12px;font-weight:800}.quest-section-title{margin:0 0 8px;font-size:15px}.quest-list{gap:7px;margin-bottom:8px}.quest{gap:10px;padding:10px 12px;border-radius:15px}.quest-icon{width:36px;height:36px;border-radius:11px}.quest-icon.is-ice{background:#16303d;color:var(--ice)}.quest-body{gap:5px}.quest-body strong{font-size:12.5px}.quest-progress .progress-track{height:7px}.quest-claim{min-width:62px;min-height:34px;padding:6px 10px}.daily-chest{gap:12px;margin-bottom:14px;padding:8px 12px}.daily-chest .chest{width:44px;height:40px}.daily-chest strong{font-size:13px}.daily-chest span{font-size:11px}.chest-button{min-height:36px;padding:6px 14px}.plus-mascot{width:min(104px,13dvh);height:min(104px,13dvh)}.plus-screen h1{margin-top:8px;font-size:26px}.plus-hero>p{font-size:13px}.plus-benefits{gap:10px;margin:14px 0 10px;padding:12px 14px}.plus-benefits li>span{width:32px;height:32px}.plus-benefits p{font-size:11.5px}.plus-free-note{margin-bottom:12px}.plan-options{gap:8px;margin-bottom:0}.plan-option{min-height:60px;padding:10px 14px}.plus-screen .plan-options+.button{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:3;margin-top:12px}.onboarding-mascot{width:min(220px,60vw,30dvh);height:min(220px,60vw,30dvh)}.onboarding-step{gap:11px}.onboarding-step h1{font-size:27px}.onboarding-step>.button{position:sticky;bottom:max(10px,env(safe-area-inset-bottom))}.unit-banner{padding:14px 16px}.unit-banner h1{font-size:20px}.unit-banner>.model-icon{width:48px;height:48px}.path-track{margin-top:40px}@media(max-height:700px){.unit-banner p,.streak-card-main span{display:none}}.question-interaction{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:16px}.question-interaction>.answer-options,.question-interaction>.formula-display{flex-basis:100%}.question-hint{margin:10px 0 0;font-size:13px}.question-hint:has(p){flex-basis:100%}.question-hint .text-link,.lesson-reference>summary{min-height:34px;padding:6px 0;color:var(--muted);font-size:12px;font-weight:700}.lesson-reference{margin-top:10px}.lesson-reference[open]{flex-basis:100%}.lesson-reading .mini-lesson{line-height:1.6}.lesson-reading .mini-lesson>p{margin:10px 0;font-size:14.5px}.lesson-reading .lesson-objective{font-size:17px}.lesson-reading .worked-example{margin:14px 0;padding:14px}.lesson-reading .mini-lesson dl>div{margin:10px 0}.plus-screen .plan-options+.button{box-shadow:0 4px 0 var(--mint-deep),0 -14px 20px var(--bg)}@media(max-width:419px){.path-switch .model-icon{display:none}.path-switch{padding-left:12px}}@media(prefers-reduced-motion:reduce){.reward-pop{display:none}}.round-ring{position:absolute;inset:-13px;width:calc(100% + 26px);height:calc(100% + 26px);overflow:visible;pointer-events:none}.round-ring circle{fill:none;stroke:#33434a;stroke-width:5;stroke-linecap:round;transition:stroke .3s var(--ease)}.round-ring circle.is-done{stroke:var(--gold)}.path-node.has-rounds:before{display:none}.node-score{position:absolute;right:-16px;bottom:-8px;z-index:2;min-width:36px;padding:2px 6px;border:2px solid var(--bg);border-radius:999px;background:#2a353c;color:var(--text);font-size:10.5px;font-weight:900;line-height:1.3;text-align:center}.node-score.is-high{background:var(--mint);color:#173017}.node-score.is-mid{background:var(--gold);color:#3a2c05}.node-score.is-low{background:#3a2426;color:#ffc0b8}.round-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 0;padding:0;list-style:none}.round-dots li{display:flex;align-items:center;gap:5px;padding:4px 10px 4px 5px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px;font-weight:800}.round-dots i{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#2a353c;color:#173017}.round-dots li.is-done{border-color:var(--mint-border);color:var(--mint)}.round-dots li.is-done i{background:var(--mint)}.second-chance{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px solid #6b5a22;border-radius:14px;background:#2c2716;color:#f3e3ad;font-size:12.5px;line-height:1.35;animation:card-pop .32s var(--ease) both}.second-chance>svg{flex-shrink:0;color:var(--gold);animation:buoy-spin 1.2s var(--ease) 1}.second-chance strong{display:block;color:var(--gold);font-size:14px}.answer-option.is-crossed>span:not(.answer-letter){text-decoration:line-through;text-decoration-thickness:2px}@keyframes buoy-spin{0%{transform:rotate(-180deg) scale(.4)}to{transform:none}}.perfect-ribbon{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;padding:7px 14px;border-radius:999px;background:linear-gradient(90deg,#f6c649,#ffe39a,#f6c649);background-size:200% 100%;box-shadow:0 4px 0 var(--gold-deep);color:#3a2c05;font-size:12px;font-weight:900;letter-spacing:1.4px;animation:ribbon-in .52s var(--ease) both,bar-shine 2.4s linear .52s infinite}.complete-screen.is-perfect h1{color:var(--gold)}.perfect-praise{max-width:330px;margin:4px auto 2px;color:#f3e3ad;font-size:14px;font-weight:700}@keyframes ribbon-in{0%{transform:scale(.3) rotate(-8deg);opacity:0}70%{transform:scale(1.12) rotate(2deg);opacity:1}to{transform:none}}.node-score.is-perfect{background:var(--gold);color:#3a2c05}.level-options{display:grid;gap:10px;margin-top:18px}.level-options>button{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#111c21;box-shadow:0 3px #0d1418;color:var(--subtle);text-align:left}.level-options>button>svg{flex-shrink:0}.level-options strong,.level-options small{display:block}.level-options strong{color:var(--text);font-size:15px}.level-options small{margin-top:2px;font-size:12px}.level-options>button.is-active{border-color:var(--mint);background:var(--mint-surface);box-shadow:0 3px 0 var(--mint-deep);color:var(--mint)}.library-card.is-locked{border-style:dashed;background:#121a1f;color:var(--subtle);cursor:default;box-shadow:none}.library-card.is-locked h3{color:var(--muted)}.locked-model-icon{display:grid;place-items:center;width:36px;height:36px;border:1px dashed var(--border);border-radius:11px;color:var(--subtle)}.mystery-mark{display:grid;place-items:center;height:100%;min-height:64px;color:#3a4a52;font-size:40px;font-weight:900;animation:mystery-pulse 3s ease-in-out infinite}@keyframes mystery-pulse{50%{color:#4f6a5a;transform:scale(1.08)}}.library-facts{display:inline-block;margin-top:6px;color:var(--mint);font-size:10px;font-weight:800}.library-note{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--mint-border);border-radius:12px;background:var(--mint-surface);color:#c3e8b4;font-size:12px}.library-note>svg{flex-shrink:0}.model-card-progress{display:grid;gap:6px;margin:12px 0 4px;color:var(--muted);font-size:11px;font-weight:800}.model-section.is-locked{opacity:.75}.model-section.is-locked .model-section-icon{color:var(--subtle)}.locked-hint{color:var(--subtle);font-size:12px}.undiscovered-model{display:flex;align-items:center;flex-direction:column;gap:10px;padding:24px 8px;text-align:center}.undiscovered-model .mascot{width:150px;height:150px}.undiscovered-model p{max-width:330px;color:var(--muted);font-size:13px}.library-unlock{display:grid;gap:8px;width:100%;margin-top:12px;text-align:left}.library-unlock>button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--mint-border);border-radius:14px;background:var(--mint-surface);color:var(--text);text-align:left;animation:card-pop .42s var(--ease) .2s both}.library-unlock>button>span{flex:1;min-width:0}.library-unlock strong,.library-unlock small{display:block}.library-unlock strong{font-size:13px}.library-unlock small{color:#c3e8b4;font-size:11px}.path-mascot{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.path-mascot .mascot--guide{width:112px;height:112px;overflow:visible}.path-mascot.is-right .mascot--guide{transform:scaleX(-1)}.mascot--guide .guide-body,.mascot--guide .guide-head,.mascot--guide .guide-ear,.mascot--guide .guide-tail,.mascot--guide .guide-arm,.mascot--guide .guide-eyes,.mascot--guide .guide-pupil,.mascot--guide .guide-scarf,.mascot--guide .guide-shadow,.mascot--guide .guide-hop,.mascot--guide .guide-sparks{transform-box:view-box}.path-mascot .mascot--guide .mascot-character{animation:none}.mascot--guide .guide-body{transform-origin:120px 222px;animation:guide-breathe 3.6s ease-in-out infinite}.mascot--guide .guide-shadow{transform-origin:120px 226px;animation:guide-shadow 3.6s ease-in-out infinite}.mascot--guide .guide-head{transform-origin:120px 150px;animation:guide-look 9s ease-in-out infinite}.mascot--guide .guide-pupil{animation:guide-glance 9s ease-in-out infinite}.mascot--guide .guide-eyes{transform-box:fill-box;transform-origin:center;animation:guide-blink 4.8s ease-in-out infinite}.mascot--guide .guide-ear--left{transform-origin:62px 70px;animation:guide-ear 6.5s ease-in-out infinite}.mascot--guide .guide-ear--right{transform-origin:176px 66px;animation:guide-ear 6.5s ease-in-out 2.7s infinite}.mascot--guide .guide-tail{transform-origin:80px 206px;animation:guide-tail 2.8s ease-in-out infinite alternate}.mascot--guide .guide-scarf{transform-origin:124px 150px;animation:guide-scarf 1.8s ease-in-out infinite alternate}.mascot--guide .guide-arm{transform-origin:164px 182px;animation:guide-wave 7s ease-in-out infinite}.mascot--guide .guide-sparks{animation:guide-sparks 7s ease-in-out infinite}.path-mascot.is-hopping .guide-hop{transform-origin:120px 226px;animation:guide-hop .65s cubic-bezier(.3,1.5,.5,1)}.path-mascot.is-hopping .guide-sparks{animation:guide-sparks-burst .65s ease-out}.path-mascot .mascot-bubble{animation:bubble-in .42s var(--ease) both}@keyframes guide-breathe{50%{transform:scale(1.018,1.035)}}@keyframes guide-shadow{50%{transform:scaleX(1.06)}}@keyframes guide-look{0%,12%,to{transform:none}22%,34%{transform:rotate(-7deg)}46%,64%{transform:rotate(5deg) translate(2px)}76%{transform:rotate(0)}}@keyframes guide-glance{0%,38%,70%,to{transform:none}46%,64%{transform:translate(3px,-1px)}22%,32%{transform:translate(-2px,-2px)}}@keyframes guide-blink{0%,88%,92%,95%,to{transform:none}90%,93.5%{transform:scaleY(.12)}}@keyframes guide-ear{0%,70%,78%,to{transform:none}73%{transform:rotate(-14deg)}75.5%{transform:rotate(6deg)}}@keyframes guide-tail{0%{transform:rotate(-9deg)}to{transform:rotate(11deg)}}@keyframes guide-scarf{0%{transform:skew(-2deg)}to{transform:skew(3deg) translateY(1px)}}@keyframes guide-wave{0%,68%,90%,to{transform:none}72%,80%{transform:rotate(-22deg)}76%,84%{transform:rotate(12deg)}}@keyframes guide-sparks{0%,66%,92%,to{opacity:0;transform:scale(.6)}74%,84%{opacity:1;transform:none}}@keyframes guide-hop{0%{transform:none}25%{transform:translateY(4px) scale(1.08,.9)}55%{transform:translateY(-24px) scale(.95,1.06)}85%{transform:translateY(0) scale(1.06,.94)}to{transform:none}}@keyframes guide-sparks-burst{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}.formula-card summary .formula-known{margin-left:auto;margin-right:10px;color:var(--mint);font-size:11px;font-weight:800}.formula-card.is-locked{border-style:dashed;background:#121a1f}.formula-locked-row{display:flex;align-items:center;gap:8px;padding:14px 16px;color:var(--subtle);font-size:13px;font-weight:700}.formula-terms button.is-locked{border-style:dashed;color:var(--subtle);cursor:default}.unlock-formula-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:#24362a;color:var(--mint);font-size:18px;font-weight:900}
