@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.33"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-200:oklch(91% .096 180.426);--color-teal-700:oklch(51.1% .096 186.391);--color-teal-800:oklch(43.7% .078 188.216);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-800:oklch(26.8% .007 34.298);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-heading:"Playfair Display",serif;--font-body:"DM Sans",-apple-system,sans-serif;--font-reading:"Source Serif 4",Georgia,serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body)}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.fixed\!{position:fixed!important}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing)*.5)}.my-2{margin-block:calc(var(--spacing)*2)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-1{margin-right:calc(var(--spacing)*1)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.-ml-9{margin-left:calc(var(--spacing)*-9)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-5{margin-left:calc(var(--spacing)*5)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-9{margin-left:calc(var(--spacing)*9)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-\[18px\]{height:18px}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[400px\]{max-height:400px}.max-h-\[600px\]{max-height:600px}.max-h-\[700px\]{max-height:700px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-5\/6{width:83.3333%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-\[18px\]{width:18px}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[line-appear_0\.4s_ease-out\]{animation:.4s ease-out line-appear}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-foreground{border-color:var(--foreground)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-green-100{border-color:var(--color-green-100)}.border-green-200{border-color:var(--color-green-200)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-input{border-color:var(--input)}.border-muted-foreground\/30{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.border-muted-foreground\/30{border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-primary,.border-primary\/30{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.border-primary\/30{border-color:color-mix(in oklab,var(--primary)30%,transparent)}}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-300{border-color:var(--color-purple-300)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-stone-300{border-color:var(--color-stone-300)}.border-transparent{border-color:#0000}.border-yellow-100{border-color:var(--color-yellow-100)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-muted-foreground{border-top-color:var(--muted-foreground)}.border-t-primary{border-top-color:var(--primary)}.border-t-stone-800{border-top-color:var(--color-stone-800)}.border-t-transparent{border-top-color:#0000}.border-l-blue-500{border-left-color:var(--color-blue-500)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-200{background-color:var(--color-green-200)}.bg-green-300{background-color:var(--color-green-300)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/30{background-color:#fff7ed4d}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/30{background-color:color-mix(in oklab,var(--color-orange-50)30%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-200{background-color:var(--color-orange-200)}.bg-orange-300{background-color:var(--color-orange-300)}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-200{background-color:var(--color-purple-200)}.bg-purple-300{background-color:var(--color-purple-300)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-200{background-color:var(--color-red-200)}.bg-red-500{background-color:var(--color-red-500)}.bg-secondary{background-color:var(--secondary)}.bg-stone-200{background-color:var(--color-stone-200)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-teal-200{background-color:var(--color-teal-200)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-yellow-300{background-color:var(--color-yellow-300)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:var(--background);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-50{--tw-gradient-from:var(--color-green-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-input{--tw-gradient-from:var(--input);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-50{--tw-gradient-to:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-100{--tw-gradient-to:var(--color-green-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-100{--tw-gradient-to:var(--color-purple-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-14{padding-top:calc(var(--spacing)*14)}.pr-1{padding-right:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-heading{font-family:Playfair Display,serif}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[3\.25rem\]{font-size:3.25rem}.text-\[10px\]{font-size:10px}.text-\[15px\]{font-size:15px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-background{color:var(--background)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-foreground,.text-foreground\/80{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-muted-foreground,.text-muted-foreground\/25{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/25{color:color-mix(in oklab,var(--muted-foreground)25%,transparent)}}.text-muted-foreground\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--muted-foreground)60%,transparent)}}.text-muted-foreground\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-primary{color:var(--primary)}.text-primary-foreground,.text-primary-foreground\/80{color:var(--primary-foreground)}@supports (color:color-mix(in lab,red,red)){.text-primary-foreground\/80{color:color-mix(in oklab,var(--primary-foreground)80%,transparent)}}.text-primary\/70{color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--primary)70%,transparent)}}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-stone-600{color:var(--color-stone-600)}.text-teal-700{color:var(--color-teal-700)}.text-teal-800{color:var(--color-teal-800)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-border:hover{border-color:var(--border)}.hover\:border-foreground:hover{border-color:var(--foreground)}.hover\:border-primary\/40:hover{border-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--primary)40%,transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-background:hover{background-color:var(--background)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:text-\[4rem\]{font-size:4rem}}@media(min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:12px;--font-heading:"Playfair Display",serif;--font-body:"DM Sans",-apple-system,sans-serif;--font-reading:"Source Serif 4",Georgia,serif;--background:#fafaf8;--foreground:#1d1a16;--card:#fff;--card-foreground:#1d1a16;--popover:#fff;--popover-foreground:#1d1a16;--primary:#2a7d4f;--primary-foreground:#fff;--secondary:#f0eeeb;--secondary-foreground:#1d1a16;--muted:#f0eeeb;--muted-foreground:#67615b;--accent:#f0eeeb;--accent-foreground:#1d1a16;--destructive:#dc2828;--success:#21c45d;--highlight:#f59f0a;--border:#e6e4e0;--border-light:#f0f0eb;--input:#e6e4e0;--ring:#2a7d4f;--text-tertiary:#9a948d;--text-muted:#c3c0bb;--blue-500:#3c83f6;--blue-50:#f0f6ff;--green:#2a7d4f;--green-light:#e8f5ee;--green-600:#1a9948;--green-100:#defce9;--amber:#c07a32;--purple:#7c5ac7;--ring-progress:#4987df;--ring-overflow:#8c4dcb;--type-lesson-bg:#e7f0fe;--type-lesson-fg:#1864dc;--type-quiz-bg:#f3e7f9;--type-quiz-fg:#9137be;--lc-lesson-tag-bg:#eaf2f8;--lc-lesson-tag-fg:#2e6080;--lc-quiz-tag-bg:#f5edf0;--lc-quiz-tag-fg:#7a4d59;--lc-done-tag-bg:#eef5f1;--lc-done-tag-fg:#4d7e61;--lc-review-tag-bg:#f0eef5;--lc-review-tag-fg:#5b5080;--lc-pts-bg:#ebebea;--lc-pts-fg:#6b6560;--lc-muted-title:#9a9590;--bg-inset:#f0eeeb;--bg-idea:#f8f8f6;--bg-idea-hover:#f2f0ee;--chart-1:#2a7d4f;--chart-2:#34a065;--chart-3:#435270;--chart-4:#21c45d;--chart-5:#bf7540;--sidebar:#fff;--sidebar-foreground:#1d1a16;--sidebar-primary:#2a7d4f;--sidebar-primary-foreground:#fff;--sidebar-accent:#f0eeeb;--sidebar-accent-foreground:#1d1a16;--sidebar-border:#e6e4e0;--sidebar-ring:#2a7d4f;--shadow-soft:0 2px 16px -4px #181d250f,0 1px 4px -1px #181d2508;--shadow-card:0 1px 3px #0000000d,0 0 0 1px #00000008;--shadow-card-hover:0 4px 12px #00000012,0 0 0 1px #0000000a;--shadow-hover:0 8px 24px -8px #181d251a,0 4px 8px -4px #181d250a;--shadow-panel:1px 0 10px #00000008}@keyframes chip-appear{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes line-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.shell-layout{min-height:100vh;display:flex}.shell-rail{background:var(--card);border-right:1px solid var(--border-light);z-index:101;flex-direction:column;align-items:center;gap:2px;width:52px;padding:14px 0 12px;display:flex;position:fixed;top:0;bottom:0;left:0}.shell-rail-logo{color:var(--foreground);letter-spacing:-.5px;margin-bottom:14px;font-family:Lora,serif;font-size:22px;font-weight:600;text-decoration:none}.shell-rail-btn{width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:all .12s;display:flex;position:relative}.shell-rail-btn:hover{background:var(--border-light);color:var(--muted-foreground)}.shell-rail-btn.active{color:var(--foreground);background:var(--border-light)}.shell-rail-add{color:var(--text-tertiary);margin-top:4px}.shell-rail-add:hover{color:var(--green)}.shell-rail-spacer{flex:1}.shell-rail-avatar{background:var(--foreground);color:#fff;width:30px;height:30px;font-family:var(--font-body);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-top:4px;margin-bottom:4px;font-size:.6rem;font-weight:600;display:flex;position:relative}.shell-rail-avatar img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.shell-panel{background:var(--card);border-right:1px solid var(--border-light);z-index:102;flex-direction:column;width:280px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.shell-panel-nav{flex-shrink:0;align-items:center;gap:6px;padding:24px 20px 16px;display:flex}.shell-panel-logo{flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.shell-panel-logo-mark{color:var(--foreground);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-family:Lora,serif;font-size:22px;font-weight:600;line-height:1;display:flex}.shell-panel-logo-text{color:var(--foreground);letter-spacing:.3px;font-family:Lora,serif;font-size:20px;font-weight:600}.shell-panel-spacer{flex:1}.shell-panel-navlinks{flex-direction:column;gap:2px;padding:0 12px 4px;display:flex}.shell-panel-navlink{font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.shell-panel-navlink:hover{background:var(--background);color:var(--foreground)}.shell-panel-navlink.active{color:var(--foreground);background:var(--background);font-weight:600}.shell-panel-avatar-wrap{cursor:pointer;position:relative}.shell-panel-avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:26px;height:26px}.shell-panel-avatar-fallback{background:var(--foreground);color:#fff;width:26px;height:26px;font-family:var(--font-body);border-radius:50%;justify-content:center;align-items:center;font-size:.5rem;font-weight:600;display:flex}.shell-panel-menu{background:var(--card);border:1px solid var(--border);width:160px;box-shadow:var(--shadow-hover);z-index:200;border-radius:10px;margin-top:4px;padding:4px 0;position:absolute;top:100%;right:0}.shell-panel-menu-name{color:var(--foreground);padding:8px 14px;font-size:.82rem;font-weight:500}.shell-panel-menu-item{width:100%;color:var(--foreground);cursor:pointer;font-size:.78rem;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:8px;padding:7px 14px;text-decoration:none;transition:background .1s;display:flex}.shell-panel-menu-item:hover{background:var(--secondary)}.shell-panel-scroll{scrollbar-width:thin;scrollbar-color:var(--border)transparent;flex-direction:column;flex:1;padding:0 12px;display:flex;overflow-y:auto}.shell-panel-scroll::-webkit-scrollbar{width:4px}.shell-panel-scroll::-webkit-scrollbar-track{background:0 0}.shell-panel-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.shell-panel-sec{margin-bottom:14px}.shell-panel-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);align-items:center;margin:24px 0 12px 12px;font-size:11px;font-weight:600;display:flex}.shell-panel-goals-list{flex-direction:column;display:flex}.shell-panel-goal{cursor:pointer;color:inherit;background:0 0;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:3px;padding:9px 12px;text-decoration:none;transition:background .1s;display:flex}.shell-panel-goal:hover{background:var(--background)}.shell-panel-goal-emoji{flex-shrink:0;margin-top:1px;font-size:15px}.shell-panel-goal-info{flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.shell-panel-goal-name{color:var(--text-tertiary);flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.4}.shell-panel-goal.active .shell-panel-goal-name{color:var(--foreground);font-weight:600}.shell-panel-goal-pct{font-family:var(--font-body);color:var(--text-tertiary);flex-shrink:0;margin-top:2px;font-size:11px;font-weight:500}.shell-panel-goal-pct.behind{color:var(--amber)}.shell-panel-goal-ready{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--purple,#7c3aed);background:#7c3aed1a;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}button.shell-panel-goal{text-align:left;cursor:pointer;background:0 0;border:none;width:100%}.shell-panel-goal-building{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--purple,#7c3aed);flex-shrink:0;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.shell-panel-goal-building:before{content:"";background:var(--purple,#7c3aed);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite buildingDot}@keyframes buildingDot{0%,to{opacity:.3}50%{opacity:1}}.shell-panel-goal.active{background:var(--background)}.shell-panel-goal.generating{border-radius:8px}.shell-panel-goal-emoji-skel{background:var(--border);border-radius:4px;flex-shrink:0;width:16px;height:16px;animation:1.4s ease-in-out infinite skelPulse}.shell-panel-goal-name-skel{background:var(--border);border-radius:4px;width:80px;height:12px;animation:1.4s ease-in-out infinite skelPulse}.shell-panel-goal.generating .shell-panel-goal-emoji,.shell-panel-goal.generating .shell-panel-goal-name{animation:.5s ease-out both metaSweep}.shell-panel-goal.generating .shell-panel-goal-name{animation-delay:80ms}@keyframes metaSweep{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.shell-panel-goal.ready{background:var(--green-light,#e8f5ee)}.shell-panel-goal-ready-badge{font-family:var(--font-body);color:var(--green,#2a7d4f);white-space:nowrap;background:#2a7d4f1f;border-radius:4px;padding:1px 6px;font-size:.56rem;font-weight:700}.shell-panel-new-goal{cursor:pointer;width:100%;font-family:var(--font-body);color:var(--text-tertiary);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin-top:3px;padding:9px 12px;font-size:14px;font-weight:500;transition:all .12s;display:flex}.shell-panel-new-goal:hover{color:var(--text-tertiary);background:var(--background)}.shell-rail-goals{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;margin-top:6px;padding-top:6px;display:flex}.shell-rail-goal{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;text-decoration:none;transition:all .12s;display:flex}.shell-rail-goal:hover{background:var(--secondary)}.shell-rail-goal.active{background:var(--green-light,#e8f5ee)}.shell-rail-goal.generating{background:#f2edf7}.shell-panel-ghost{background:var(--bg-idea);opacity:.6;border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.shell-panel-ghost-circle{background:var(--border);border-radius:50%;flex-shrink:0;width:14px;height:14px}.shell-panel-ghost-hint{font-family:var(--font-body);color:var(--text-tertiary);font-size:.66rem}.shell-panel-stats{grid-template-columns:1fr 1fr;gap:4px;display:grid}.shell-panel-stat{background:var(--bg-idea);text-align:center;border-radius:8px;padding:8px}.shell-panel-stat-num{font-family:var(--font-body);color:var(--foreground);letter-spacing:-.3px;font-size:.82rem;font-weight:700}.shell-panel-stat-pts{color:var(--green);justify-content:center;align-items:center;gap:3px;display:flex}.shell-panel-stat-pts svg{fill:currentColor}.shell-panel-stat-label{font-family:var(--font-body);color:var(--text-tertiary);margin-top:1px;font-size:.58rem;font-weight:500}.heatmap-nav-btns{gap:2px;margin-left:auto;display:inline-flex}.heatmap-nav-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .1s;display:flex}.heatmap-nav-btn:hover:not(:disabled){color:var(--foreground)}.heatmap-nav-btn:disabled{opacity:.25;cursor:default}.heatmap-wrap{border-radius:8px;padding:4px 8px 8px}.heatmap-months{font-family:var(--font-body);color:var(--text-muted);margin-bottom:2px;font-size:.56rem;font-weight:500;display:grid}.heatmap-month{white-space:nowrap}.heatmap-grid{gap:3px;display:flex}.heatmap-col{flex-direction:column;flex:1;gap:3px;display:flex}.heatmap-cell{aspect-ratio:1;background:#ebebeb;border-radius:3px;transition:transform .12s,box-shadow .12s}.heatmap-cell:not(.empty):hover{transform:scale(1.15);box-shadow:0 0 0 1px #0000001a}.heatmap-cell.empty{pointer-events:none;background:0 0}.heatmap-cell.l1{background:#bfe3cc}.heatmap-cell.l2{background:#85d6a3}.heatmap-cell.l3{background:#37be68}.heatmap-cell.l4{background:#218345}.heatmap-tip{background:var(--foreground);color:var(--background);font-family:var(--font-body);white-space:nowrap;pointer-events:none;z-index:300;border-radius:4px;padding:3px 7px;font-size:.6rem;font-weight:500;position:fixed;transform:translate(-50%)}.shell-rail-menu{background:var(--card);border:1px solid var(--border);width:160px;box-shadow:var(--shadow-hover);z-index:200;border-radius:10px;padding:4px 0;position:absolute;bottom:0;left:calc(100% + 8px)}.shell-panel-label-count{color:var(--text-secondary);background:#2a7d4f14;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 5px;font-size:.56rem;font-weight:700;display:inline-flex}.shell-panel-flex{flex:1;min-height:16px}.shell-panel-sec.done-today{flex-direction:column;flex:1;min-height:0;margin-bottom:0;display:flex}.shell-panel-sec.done-today .shell-panel-label{flex-shrink:0}.shell-panel-done-scroll{scrollbar-width:thin;scrollbar-color:var(--border)transparent;flex:1;min-height:0;overflow-y:auto}.shell-panel-done-scroll::-webkit-scrollbar{width:3px}.shell-panel-done-scroll::-webkit-scrollbar-track{background:0 0}.shell-panel-done-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.shell-panel-done-stack{flex-direction:column;gap:3px;display:flex}.shell-panel-done{background:var(--bg-idea);color:inherit;border-radius:8px;align-items:flex-start;gap:7px;padding:7px 9px;text-decoration:none;animation:.5s cubic-bezier(.22,1,.36,1) backwards doneTodayIn;display:flex}.shell-panel-done:first-child{animation-delay:.2s}.shell-panel-done:nth-child(2){animation-delay:.28s}.shell-panel-done:nth-child(3){animation-delay:.36s}.shell-panel-done:nth-child(4){animation-delay:.44s}.shell-panel-done:nth-child(5){animation-delay:.52s}.shell-panel-done:nth-child(n+6){animation-delay:.6s}@keyframes doneTodayIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.shell-panel-done-check{background:var(--green-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;margin-top:1px;display:flex}.shell-panel-done-check svg{width:8px;height:8px;color:var(--green)}.shell-panel-done-info{flex:1;min-width:0}.shell-panel-done-name{color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.3;display:-webkit-box;overflow:hidden}.shell-panel-done-meta{font-family:var(--font-body);color:var(--text-tertiary);margin-top:1px;font-size:.58rem;font-weight:500}.shell-panel-done-pts{font-family:var(--font-body);color:var(--green);flex-shrink:0;align-self:center;align-items:center;gap:2px;font-size:.62rem;font-weight:700;display:flex}.shell-panel-done-pts svg{fill:currentColor}.shell-panel-done.just-completed{background:linear-gradient(135deg,var(--green-light),#e8f7ee);border:1px solid #b3e6c5;animation:.6s cubic-bezier(.22,1,.36,1) .3s backwards justCompletedIn}@keyframes justCompletedIn{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.shell-panel-scroll-fade{pointer-events:none;z-index:1;background:linear-gradient(transparent,var(--card));height:28px;position:absolute;bottom:84px;left:0;right:0}.shell-panel-bottom{border-top:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.shell-panel-profile{cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:10px;margin:-4px -6px;padding:4px 6px;transition:all .12s;display:flex;position:relative}.shell-panel-profile:hover{background:var(--border-light)}.shell-panel-profile-avatar{background:var(--border);width:28px;height:28px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.5rem;font-weight:600;display:flex;overflow:hidden}.shell-panel-profile-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.shell-panel-profile-name{font-family:var(--font-body);color:var(--text-tertiary);flex:1;font-size:14px;font-weight:500}.shell-panel-menu-bottom{margin-top:0;margin-bottom:4px;top:auto;bottom:100%}.shell-panel-bottom-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.shell-panel-bottom-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .12s;display:flex}.shell-panel-bottom-btn:hover{background:var(--border-light);color:var(--foreground)}.shell-main{background:var(--background);flex:1;min-height:100vh;transition:margin-left .2s}.dash-page{padding:0 52px 80px}.dash-header{margin-bottom:6px;padding:52px 0 0}.home-greeting-row .dash-header{padding-top:0}.dash-greeting{font-family:var(--font-reading);letter-spacing:-.3px;color:var(--foreground);font-size:2rem;font-weight:400;line-height:1.25}.dash-greeting strong{font-weight:600}.dash-bridge{font-family:var(--font-reading);color:var(--text-tertiary);margin-top:6px;font-size:.92rem;font-style:italic;line-height:1.45}.dash-skeleton{animation:.4s both skeletonFadeIn}.dash-skel-bridge{background:var(--bg-inset);border-radius:6px;width:280px;height:14px;margin-bottom:28px}.dash-skel-card{background:var(--card);border-radius:12px;margin-bottom:14px;animation:.35s both skeletonFadeIn;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 0 0 1px #00000005}.dash-skel-card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.dash-skel-circle{background:var(--bg-inset);border-radius:50%;flex-shrink:0;width:18px;height:18px}.dash-skel-line{background:var(--bg-inset);border-radius:5px;flex:1;height:11px}.dash-skel-bar{background:var(--bg-inset);border-radius:2px;width:48px;height:3px;overflow:hidden}.dash-skel-bar .fill{background:var(--green-light);border-radius:2px;height:100%}.dash-skel-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 16px;display:flex}.dash-skel-item:last-child{border-bottom:none}.dash-skel-dot{background:var(--bg-inset);border-radius:50%;flex-shrink:0;width:8px;height:8px}@keyframes skeletonFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.goal-group{background:var(--card);border-radius:12px;margin-bottom:14px;transition:box-shadow .15s;animation:.3s both fadeUp;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 0 0 1px #00000008}.goal-group:hover{box-shadow:0 4px 12px #00000012,0 0 0 1px #0000000a}.goal-group:first-of-type{animation-delay:40ms}.goal-group:nth-of-type(2){animation-delay:.1s}.goal-group-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:13px 16px;display:flex}.goal-group-header.has-framing{border-bottom:none;padding-bottom:4px}.goal-group-emoji{font-size:.95rem}.goal-group-name{font-family:var(--font-reading);color:var(--foreground);letter-spacing:-.2px;flex:1;font-size:.95rem;font-weight:600;line-height:1.3}.goal-group-progress{flex-shrink:0;align-items:center;gap:8px;display:flex}.goal-group-pbar{background:var(--bg-inset);border-radius:2px;width:48px;height:3px;overflow:hidden}.goal-group-pbar .fill{background:var(--green);border-radius:2px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.goal-group-pct{font-family:var(--font-body);color:var(--green);text-align:right;min-width:26px;font-size:.66rem;font-weight:600}.goal-group-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;transition:transform .2s;display:flex}.goal-group-chevron.open{transform:rotate(180deg)}.goal-expand-wrap{grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1);display:grid}.goal-expand-wrap.open{grid-template-rows:1fr}.goal-expand-inner{overflow:hidden}.goal-expand-wrap.open .goal-item{animation:.3s cubic-bezier(.16,1,.3,1) both goalItemIn}.goal-expand-wrap.open .goal-item.locked,.goal-expand-wrap.open .goal-item.completed{animation-name:goalItemInDim}@keyframes goalItemIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes goalItemInDim{0%{opacity:0;transform:translateY(-4px)}to{opacity:.6;transform:translateY(0)}}.goal-expand-wrap.open .goal-group-framing-text{animation:.25s cubic-bezier(.16,1,.3,1) both goalItemIn}.goal-group-framing-text{font-family:var(--font-reading);color:var(--muted-foreground);letter-spacing:-.1px;border-bottom:1px solid var(--border);padding:6px 16px 14px;font-size:.82rem;font-style:italic;line-height:1.55}.goal-group-reveal{background:linear-gradient(135deg,#f8fcf9,#f2f8f4,#f2f7f4);border:1px solid #d4eddd;animation:.6s cubic-bezier(.22,1,.36,1) revealAppear;position:relative;overflow:hidden;box-shadow:0 4px 16px #2a7d4f14,0 0 0 1px #2a7d4f0a}@keyframes revealAppear{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.goal-group-reveal:before{content:"";filter:blur(30px);z-index:0;background:radial-gradient(at 30% 20%,#d1f0dc4d,#0000 50%),radial-gradient(at 70% 80%,#d4eddc40,#0000 50%),radial-gradient(at 60% 30%,#e2f3e926,#0000 45%);width:220%;height:220%;animation:25s linear infinite framingSwirl;position:absolute;top:-60%;left:-60%}@keyframes framingSwirl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.goal-reveal-header{z-index:1;text-align:center;padding:20px 20px 0;position:relative}.goal-reveal-emoji{margin-bottom:6px;font-size:1.6rem;display:block}.goal-reveal-title{font-family:var(--font-heading);color:var(--foreground);letter-spacing:-.3px;margin-bottom:8px;font-size:1.15rem;font-weight:600}.goal-reveal-chips{justify-content:center;gap:6px;display:flex}.goal-framing-chip{color:#2e6b44;font-family:var(--font-body);white-space:nowrap;background:#dbf0e399;border-radius:20px;align-items:center;gap:4px;padding:3px 9px;font-size:.68rem;font-weight:550;display:inline-flex}.goal-reveal-intro{z-index:1;font-family:var(--font-reading);color:var(--text-secondary);text-align:center;letter-spacing:-.1px;padding:14px 20px 4px;font-size:.88rem;line-height:1.65;position:relative}.goal-reveal-nodes{z-index:1;flex-direction:column;gap:2px;padding:12px 12px 14px;display:flex;position:relative}.goal-reveal-node{border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.goal-reveal-node:not(.locked):hover{background:#e8f7ee99}.goal-reveal-node.locked{opacity:.5}.goal-reveal-badge{background:var(--secondary);width:26px;height:26px;color:var(--text-tertiary);border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.goal-reveal-badge.done,.goal-reveal-badge.play{background:var(--green);color:#fff;border-color:#248f4b}.goal-reveal-badge.lock{background:var(--secondary);color:var(--text-tertiary)}.goal-reveal-node-name{font-family:var(--font-body);color:var(--foreground);flex:1;font-size:.84rem;font-weight:500;line-height:1.3}.goal-reveal-node.locked .goal-reveal-node-name{color:var(--text-tertiary)}.goal-reveal-node.current .goal-reveal-node-name{font-weight:600}.goal-reveal-node-go{color:var(--green);opacity:0;flex-shrink:0;transition:opacity .12s}.goal-reveal-node:hover .goal-reveal-node-go{opacity:1}.goal-reveal-node.skipped{opacity:.65}.goal-reveal-node.skipped .goal-reveal-node-name{color:var(--text-secondary);font-weight:400}.goal-reveal-known-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--green);background:var(--green-light);font-size:.68rem;font-weight:600;font-family:var(--font-body);border-radius:4px;flex-shrink:0;padding:2px 7px}.goal-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;max-height:60px;padding:10px 16px;transition:max-height .35s,padding .35s,border-color .35s,background .1s,opacity .1s;display:flex;position:relative;overflow:hidden}.goal-item.last{border-bottom:none}.goal-item:hover{background:var(--bg-idea-hover)}.goal-item:hover .goal-item-go{opacity:1;transform:translate(0)}.goal-item.locked{cursor:default;opacity:.6}.goal-item.locked:hover{background:0 0}.goal-item.locked .goal-item-name{color:var(--text-muted)}.goal-item.current .goal-item-name,.goal-item.accessible .goal-item-name{font-weight:500}.goal-item.completed{opacity:.65}.goal-item-badge{z-index:2;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .3s;display:flex}.goal-item-badge.lesson{background:var(--green-light);color:var(--green)}.goal-item-badge.assessment{color:#cf6317;background:#fdede2}.goal-item-badge.done{background:var(--green-light);color:var(--green)}.goal-item-badge.lock{background:var(--bg-inset);color:var(--text-muted)}.goal-item-sweep{z-index:1;opacity:0;background:linear-gradient(90deg,transparent 0%,var(--green-light)20%,#b3e6c5 45%,var(--green-light)70%,transparent 100%);pointer-events:none;background-position:120% 0;background-size:200% 100%;position:absolute;inset:0}.goal-item-inner{display:contents}.goal-item.swept .goal-item-sweep{animation:.6s forwards sweepWash}.goal-item.swept .goal-item-inner{align-items:center;gap:10px;width:100%;animation:.9s cubic-bezier(.4,0,.2,1) forwards dragOff;display:flex}@keyframes sweepWash{0%{opacity:0;background-position:120% 0}30%{opacity:.85}to{opacity:0;background-position:-80% 0}}@keyframes dragOff{0%{opacity:1;transform:translate(0)}40%{opacity:1}to{opacity:0;transform:translate(110%)}}.goal-item.anim-collapsed{border-color:#0000!important;max-height:0!important;padding-top:0!important;padding-bottom:0!important}.goal-item-badge.popping{animation:.45s cubic-bezier(.34,1.56,.64,1) badgePop}@keyframes badgePop{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.goal-group-pbar .fill.shine{background:linear-gradient(90deg,var(--green),#34a065,var(--green));background-size:200%;animation:.7s pShine}@keyframes pShine{0%{background-position:100%}to{background-position:0%}}.goal-item.celebration-hidden{opacity:0;border-color:#0000;max-height:0;padding-top:0;padding-bottom:0;transition:none;overflow:hidden}.goal-item.unlocking{opacity:1;max-height:60px;animation:.6s unlockIn;overflow:visible}@keyframes unlockIn{0%{background:0 0}40%{background:var(--green-light)}to{background:0 0}}.goal-group.gold-glow{box-shadow:0 0 0 1px #2a7d4f1a,0 4px 24px #2a7d4f26,0 12px 48px #2a7d4f14}.goal-complete{background:linear-gradient(160deg,var(--green-light)0%,#f4faf7 30%,#fcfdfc 55%,#f2f8f4 100%);text-align:center;opacity:0;flex-direction:column;align-items:center;padding:36px 24px 28px;transition:opacity .6s,transform .6s;display:none;transform:translateY(8px)}.goal-complete.show{opacity:1;display:flex;transform:translateY(0)}.goal-trophy-emoji{filter:drop-shadow(0 4px 12px #2a7d4f40);margin-bottom:14px;font-size:2.6rem;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:scale(0)}.goal-trophy-emoji.show{transform:scale(1)}.goal-comp-title{color:var(--green);margin-bottom:6px;font-size:1.15rem;font-weight:700}.goal-comp-cap{font-family:var(--font-reading);color:var(--foreground);letter-spacing:-.2px;margin-bottom:4px;font-size:.95rem;font-weight:600;line-height:1.45}.goal-comp-cap-emoji{font-size:1.05rem}.goal-comp-stat{font-family:var(--font-body);color:var(--green);letter-spacing:.3px;text-transform:uppercase;margin-bottom:20px;font-size:.7rem;font-weight:600}.goal-comp-summary{flex-direction:column;gap:4px;width:100%;margin-bottom:20px;display:flex}.goal-comp-row{opacity:0;cursor:pointer;background:#ffffff8c;border-radius:8px;align-items:center;gap:10px;padding:9px 14px;transition:opacity .3s,transform .3s,background .1s;display:flex;transform:translateY(5px)}.goal-comp-row:hover{background:#ffffffe6}.goal-comp-row.show{opacity:1;transform:translateY(0)}.goal-comp-row-chk{background:var(--green-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.goal-comp-row-chk svg{width:9px;height:9px;color:var(--green);stroke-width:3px}.goal-comp-row-name{font-family:var(--font-reading);color:var(--muted-foreground);text-align:left;flex:1;font-size:.82rem;line-height:1.35}.goal-comp-dismiss{cursor:pointer;background:var(--foreground);color:#fff;font-family:var(--font-reading);opacity:0;border:none;border-radius:8px;padding:9px 28px;font-size:.82rem;font-weight:600;transition:all .15s;animation:.3s 1.2s forwards goalItemIn}.goal-comp-dismiss:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.goal-comp-dismiss:active{transform:scale(.98)}.goal-sparkle-field{pointer-events:none;z-index:15;position:absolute;inset:0;overflow:hidden}.goal-sparkle{pointer-events:none;opacity:0;position:absolute}.goal-sparkle.go{animation:sparkleLife var(--dur)ease forwards}@keyframes sparkleLife{0%{opacity:0;transform:scale(0)rotate(0)}25%{opacity:1;transform:scale(1)rotate(50deg)}70%{opacity:.7;transform:scale(.85)rotate(130deg)}to{opacity:0;transform:scale(0)rotate(180deg)}}.goal-item-name{font-family:var(--font-reading);color:var(--foreground);flex:1;font-size:.88rem;font-weight:400;line-height:1.35}.goal-item-go{color:var(--text-muted);opacity:0;flex-shrink:0;transition:all .1s;transform:translate(-3px)}.goal-item-pts{font-family:var(--font-body);color:var(--green);flex-shrink:0;align-items:center;gap:3px;margin-right:2px;font-size:.7rem;font-weight:600;display:flex}.goal-item-pts svg{fill:currentColor}.goal-item-lock-icon{color:var(--text-muted);flex-shrink:0;display:flex}.dash-create-btn{border:1px dashed var(--border);cursor:pointer;width:100%;font-family:var(--font-body);color:var(--text-tertiary);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:12px 20px;font-size:.84rem;font-weight:500;transition:all .15s;display:flex}.dash-create-btn:hover{border-color:var(--green);color:var(--green);background:var(--green-light)}.dash-create-btn.hero{border-width:2px;padding:18px 24px;font-size:.92rem}.celebration-card{background:linear-gradient(135deg,#2a7d4f0f,#2a7d4f14);border:1px solid #2a7d4f33;border-radius:12px;align-items:center;gap:16px;margin-bottom:20px;padding:20px 24px;animation:.5s ease-out celebration-appear;display:flex}.celebration-card-icon{width:48px;height:48px;color:var(--green);background:#2a7d4f1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.celebration-card-content{flex:1;min-width:0}.celebration-card-title{font-family:var(--font-reading);color:var(--foreground);font-size:1.1rem;font-weight:700}.celebration-card-sub{font-family:var(--font-body);color:var(--text-tertiary);margin-top:2px;font-size:.8rem}.celebration-card-dismiss{font-family:var(--font-body);background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 20px;font-size:.78rem;font-weight:600;transition:opacity .15s}.celebration-card-dismiss:hover{opacity:.9}@keyframes celebration-appear{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.dash-ghost{margin-top:8px}.dash-ghost-group{opacity:.2;margin-bottom:14px}.dash-ghost-card{background:var(--card);border:1px dashed var(--border);border-radius:12px;overflow:hidden}.dash-ghost-header{border-bottom:1px dashed var(--border);align-items:center;gap:8px;padding:13px 16px;display:flex}.dash-ghost-line{background:var(--bg-inset);border-radius:4px;flex:1;height:10px}.dash-ghost-pbar{background:var(--bg-inset);border-radius:2px;flex-shrink:0;width:48px;height:3px;overflow:hidden}.dash-ghost-pbar .fill{background:var(--green-light);border-radius:2px;height:100%}.dash-ghost-item{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex}.dash-ghost-item:last-child{border-bottom:none}.dash-ghost-badge{background:var(--bg-inset);border-radius:6px;flex-shrink:0;width:24px;height:24px}.dash-hint-row{justify-content:center;align-items:center;padding:10px 0;animation:.5s .1s both chip-appear;display:flex}.dash-hint{color:var(--text-muted);align-items:center;gap:4px;font-family:Caveat,cursive;font-size:1.35rem;font-weight:400;line-height:1.2;display:inline-flex}.dash-hint-arrow{width:14px;height:20px;color:var(--text-muted);flex-shrink:0}.dash-hint-arrow.up{transform:rotate(-6deg)}.dash-hint-arrow.down{transform:rotate(6deg)}.dash-ghost-preview{animation:.5s .35s both chip-appear}.dash-ghost-goal{background:var(--card);border:1px dashed var(--border);opacity:.25;border-radius:12px;overflow:hidden}.dash-ghost-goal-header{border-bottom:1px dashed var(--border);align-items:center;gap:8px;padding:13px 16px;display:flex}.dash-ghost-goal-circle{background:var(--bg-inset);border-radius:50%;flex-shrink:0;width:20px;height:20px}.dash-ghost-line{background:var(--bg-inset);border-radius:4px;height:10px}.dash-ghost-goal-pbar{background:var(--bg-inset);border-radius:2px;flex-shrink:0;width:48px;height:3px;overflow:hidden}.dash-ghost-goal-pbar .fill{background:var(--green-light);border-radius:2px;height:100%}.dash-ghost-goal-item{border-bottom:1px dashed var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex}.dash-ghost-goal-item:last-child{border-bottom:none}.dash-ghost-goal-badge{border-radius:6px;flex-shrink:0;width:24px;height:24px}.dash-ghost-goal-badge.current,.dash-ghost-goal-badge.done{background:var(--green-light)}.dash-ghost-goal-badge.locked{background:var(--bg-inset)}.dash-examples{animation:.5s .25s both chip-appear}.dash-examples-label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.76rem;font-weight:500}.dash-examples-grid{flex-wrap:wrap;gap:8px;display:flex}.dash-example-chip{background:var(--bg-idea);font-family:var(--font-body);color:var(--foreground);cursor:pointer;opacity:0;border:1.5px solid #0000;border-radius:20px;align-items:center;gap:7px;padding:8px 14px;font-size:.8rem;font-weight:500;transition:all .15s;animation:.35s forwards chip-appear;display:inline-flex}.dash-example-chip:hover{background:var(--bg-idea-hover);border-color:#a6d9b8;transform:translateY(-1px);box-shadow:0 2px 8px #0000000a}.dash-example-chip:active{transform:scale(.97)}.dash-example-emoji{flex-shrink:0;font-size:.85rem}.dash-example-text{white-space:nowrap}.home-greeting-row{align-items:center;gap:24px;margin-bottom:44px;padding-top:52px;animation:.35s both fadeUp;display:flex}.home-greeting-row .dash-header{flex:1}.home-ring-wrap{flex-shrink:0;width:64px;height:64px;position:relative}.home-ring-center{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.home-ring-val{font-family:var(--font-reading);color:var(--foreground);font-size:1rem;font-weight:600}.home-ring-of{font-family:var(--font-body);color:var(--text-tertiary);margin-top:2px;font-size:.54rem;font-weight:500}.home-review-list{flex-direction:column;gap:10px;display:flex}.home-revise-else{border:1px solid var(--border);width:100%;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:8px;margin:12px 0 0;padding:10px 20px;font-size:.85rem;transition:background .15s,color .15s;display:block}.home-revise-else:hover{background:var(--secondary);color:var(--foreground)}.revise-search-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding-top:15vh;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.revise-search-modal{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:480px;max-height:70vh;padding:20px;display:flex;box-shadow:0 8px 32px #0003}.revise-search-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.revise-search-header h3{font-size:1rem;font-weight:600;font-family:var(--font-heading);margin:0}.revise-search-close{cursor:pointer;color:var(--muted-foreground);background:0 0;border:none;padding:4px;font-size:1.4rem;line-height:1}.revise-search-input{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem}.revise-search-input:focus{border-color:var(--ring)}.revise-search-hint{color:var(--muted-foreground);text-align:center;margin-top:12px;font-size:.8rem}.revise-search-results{flex-direction:column;flex:1;gap:4px;margin-top:12px;display:flex;overflow-y:auto}.revise-search-result{text-align:left;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:10px 12px;transition:background .15s;display:flex}.revise-search-result:hover{background:var(--secondary)}.revise-search-result-title{color:var(--foreground);font-size:.85rem;font-weight:500}.revise-search-result-concept{color:var(--muted-foreground);font-size:.75rem}.recall-end{max-width:480px;margin:0 auto}.recall-end-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;font-size:2.5rem;font-weight:700;display:flex}.recall-end-icon.pass{color:#21c45d;background:#21c45d1f}.recall-end-icon.fail{color:#2463eb;background:#2463eb1f}.home-section{margin-bottom:48px;animation:.35s both fadeUp}.home-section:first-of-type{animation-delay:40ms}.home-section:nth-of-type(2){animation-delay:80ms}.home-section:nth-of-type(3){animation-delay:.12s}.home-section:nth-of-type(4){animation-delay:.16s}.home-section:nth-of-type(5){animation-delay:.2s}.home-section-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);align-items:center;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.lc{background:var(--card);border:1px solid var(--border-light);border-radius:12px;transition:all .2s}.lc[data-clickable]{cursor:pointer}.lc[data-clickable]:hover{border-color:var(--border);box-shadow:0 2px 10px #0000000a}.lc-type-lesson{--_lc-tag-bg:var(--lc-lesson-tag-bg);--_lc-tag-fg:var(--lc-lesson-tag-fg)}.lc-type-quiz{--_lc-tag-bg:var(--lc-quiz-tag-bg);--_lc-tag-fg:var(--lc-quiz-tag-fg)}.lc-type-done{--_lc-tag-bg:var(--lc-done-tag-bg);--_lc-tag-fg:var(--lc-done-tag-fg)}.lc-type-review{--_lc-tag-bg:var(--lc-review-tag-bg);--_lc-tag-fg:var(--lc-review-tag-fg)}.lc-card{flex-direction:column;min-height:160px;padding:24px;animation:.3s both fadeUp;display:flex}.lc-card .lc-body{flex-direction:column;flex:1;gap:8px;display:flex}.lc-card .lc-goal-name{white-space:normal;line-height:1.3}.lc-card .lc-footer{margin-top:16px}.lc-list{align-items:center;gap:16px;padding:18px 22px;display:flex}.lc-list .lc-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.lc-list .lc-footer{flex-shrink:0;align-items:center;gap:8px;display:flex}.lc-goal{font-family:var(--font-body);color:var(--text-tertiary);align-items:flex-start;gap:5px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.lc-goal-emoji{flex-shrink:0;margin-top:1px;font-size:13px}.lc-goal-text{min-width:0}.lc-goal-link{cursor:pointer}.lc-goal-link:hover{text-decoration:underline}.lc-list .lc-goal-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lc-title{font-family:var(--font-reading);color:var(--foreground);font-size:17px;font-weight:500;line-height:1.35}.lc-card .lc-title{font-size:19px;font-weight:600;line-height:1.3}.lc-type-done .lc-title,.lc-done .lc-title{color:var(--lc-muted-title)}.lc-due-hint{color:var(--muted-foreground);margin-left:4px;font-size:.75rem;font-weight:400}.lc-footer{align-items:center;gap:8px;display:flex}.lc-tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;background:var(--_lc-tag-bg);color:var(--_lc-tag-fg);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.lc-meta{font-family:var(--font-body);color:var(--text-tertiary);font-size:12px;font-weight:500}.lc-pts{font-family:var(--font-body);background:var(--lc-pts-bg);color:var(--lc-pts-fg);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.lc-pts.lc-pts-failed{color:#ca2b2b;background:#dc282814}.lc-locked{cursor:default}.lc-locked:hover{border-color:var(--border)}.lc-lock{color:var(--foreground);vertical-align:middle;opacity:.45;margin-left:6px;display:inline}.lc-number{background:var(--bg-inset);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.lc-number.current{background:var(--green);color:#fff}.lc-number.completed{background:var(--green-light);color:var(--green)}.lc-number.locked{opacity:.5}.lc-completed{opacity:.65}.lc-locked.lc-list{opacity:.55}.lc-today{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;background:var(--green-light);color:var(--green);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.home-upnext-cards{grid-template-columns:repeat(auto-fit,minmax(calc(33.333% - 10px),1fr));gap:14px;display:grid}.home-also-cards{flex-direction:column;gap:10px;display:flex}.home-also-cards .lc{opacity:1}.home-goals-list{flex-direction:column;gap:4px;display:flex}.home-goal-row{background:var(--bg-idea);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.home-goal-row:hover{background:var(--bg-idea-hover)}.home-goal-emoji{font-size:.9rem}.home-goal-info{flex:1;min-width:0}.home-goal-name{font-family:var(--font-body);color:var(--foreground);margin-bottom:3px;font-size:.82rem;font-weight:500;line-height:1.3}.home-goal-bar{background:var(--border);border-radius:1px;height:3px;overflow:hidden}.home-goal-bar .fill{background:var(--green);border-radius:1px;height:100%;transition:width .3s}.home-goal-pct{font-family:var(--font-body);color:var(--text-tertiary);text-align:right;min-width:28px;font-size:.66rem;font-weight:600}.home-ready-group{flex-direction:column;gap:10px;margin-bottom:24px;animation:.35s both fadeUp;display:flex}.home-ready-banner{background:var(--card);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:14px;width:100%;padding:14px 18px;transition:all .15s;display:flex}.home-ready-banner:hover{border-color:var(--border-hover,var(--border));box-shadow:0 2px 8px #0000000a}.home-ready-emoji{flex-shrink:0;font-size:1.5rem}.home-ready-text{font-family:var(--font-reading);color:var(--foreground);flex:1;font-size:.9rem;line-height:1.4}.home-ready-text strong{font-weight:600}.home-ready-sub{font-family:var(--font-body);color:var(--purple,#7c3aed);margin-top:2px;font-size:.78rem;font-weight:500;display:block}.home-done-list{flex-direction:column;gap:10px;display:flex}.home-stats-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.home-stat-card{font-family:var(--font-body);white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:8px 13px;display:flex}.home-stat-card-emoji{flex-shrink:0;font-size:14px;line-height:1}.home-stat-card-val{font-family:var(--font-reading);font-size:15px;font-weight:700;line-height:1}.home-stat-card-label{font-size:12px;font-weight:500;line-height:1}.home-stat-card.stat-pts-week{background:#eef4ff;border-color:#d4e3fc}.home-stat-card.stat-pts-week .home-stat-card-val,.home-stat-card.stat-pts-week .home-stat-card-label{color:#3b6cb5}.home-stat-card.stat-act-week{background:#f0f7ee;border-color:#d5eacf}.home-stat-card.stat-act-week .home-stat-card-val,.home-stat-card.stat-act-week .home-stat-card-label{color:#3d7a35}.home-stat-card.stat-pts-total{background:#fef7ec;border-color:#fae5b8}.home-stat-card.stat-pts-total .home-stat-card-val,.home-stat-card.stat-pts-total .home-stat-card-label{color:#9a6d1e}.home-stat-card.stat-act-total{background:#f4f0f9;border-color:#e0d5ef}.home-stat-card.stat-act-total .home-stat-card-val,.home-stat-card.stat-act-total .home-stat-card-label{color:#6b4d8e}.home-stat-card.stat-goals-done{background:#fef0ef;border-color:#f8d5d2}.home-stat-card.stat-goals-done .home-stat-card-val,.home-stat-card.stat-goals-done .home-stat-card-label{color:#a8453e}.home-done-count{background:var(--bg-inset);color:var(--text-tertiary);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 5px;font-size:.56rem;font-weight:700;display:inline-flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-section-hint{color:var(--text-tertiary);margin:0;padding:4px 0;font-size:.8rem;line-height:1.5}.gd-page{padding-top:52px}.gd-empty{text-align:center;font-family:var(--font-body);color:var(--text-tertiary);padding:60px 0;font-size:.88rem}.gd-header{align-items:flex-start;gap:14px;padding:8px 0 16px;display:flex}.gd-emoji{margin-top:2px;font-size:1.8rem;line-height:1}.gd-header-info{flex:1;min-width:0}.gd-title{font-family:var(--font-reading);color:var(--foreground);letter-spacing:-.4px;margin:0 0 6px;font-size:1.6rem;font-weight:400;line-height:1.25}.gd-meta{font-family:var(--font-body);color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:0;font-size:.72rem;font-weight:500;display:flex}.gd-meta-sep{margin:0 6px}.gd-settings-btn{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-tertiary);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:flex}.gd-settings-btn:hover{background:var(--secondary);color:var(--foreground)}.gd-progress-bar{background:var(--bg-inset);border-radius:2px;height:4px;margin-bottom:20px;overflow:hidden}.gd-progress-fill{background:var(--green);border-radius:2px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.gd-settings-wrap{flex-shrink:0;position:relative}.gd-settings-dropdown{background:var(--card);border:1px solid var(--border);z-index:20;border-radius:10px;min-width:160px;margin-top:4px;padding:4px;animation:.15s fadeUp;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001a}.gd-dropdown-item{width:100%;font-family:var(--font-body);color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:500;transition:background .1s;display:flex}.gd-dropdown-item:hover{background:var(--secondary)}.gd-dropdown-item.danger{color:#dc2828}.gd-dropdown-item.danger:hover{background:#fdeded}.gd-dropdown-confirm{font-family:var(--font-body);color:var(--foreground);padding:8px 12px;font-size:.78rem}.gd-dropdown-confirm-actions{gap:6px;margin-top:8px;display:flex}.gd-delete-yes{color:#fff;font-family:var(--font-body);cursor:pointer;background:#dc2828;border:none;border-radius:6px;padding:5px 12px;font-size:.72rem;font-weight:600;transition:opacity .12s}.gd-delete-yes:hover{opacity:.9}.gd-delete-yes:disabled{opacity:.5;cursor:default}.gd-delete-no{border:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:6px;padding:5px 12px;font-size:.72rem;font-weight:500;transition:all .12s}.gd-delete-no:hover{background:var(--secondary)}.gd-description{font-family:var(--font-reading);color:var(--muted-foreground);margin:0 0 16px;font-size:.88rem;line-height:1.65}.gd-setup-prompt{background:var(--green-light);cursor:pointer;text-align:left;border:1px solid #b3e6c5;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:24px;padding:16px 20px;transition:all .15s;display:flex}.gd-setup-prompt:hover{border-color:var(--green);box-shadow:0 2px 8px #2a7d4f14}.gd-setup-prompt-text{font-family:var(--font-reading);color:var(--foreground);flex:1;font-size:.9rem;line-height:1.4}.gd-setup-prompt-text strong{font-weight:600}.gd-setup-prompt-text span{font-family:var(--font-body);color:var(--text-muted);margin-top:2px;font-size:.78rem;font-weight:400;display:block}.gd-setup-prompt-arrow{color:var(--green);flex-shrink:0;font-size:1.1rem}.gd-stats-row{gap:12px;margin-bottom:24px;display:flex}.gd-stat-card{background:var(--card);border:1px solid var(--border);text-align:center;font:inherit;border-radius:10px;flex:1;padding:14px}.gd-stat-val{font-family:var(--font-reading);color:var(--foreground);margin-bottom:4px;font-size:1.1rem;font-weight:500}.gd-stat-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.68rem;font-weight:500}.gd-status-ontrack .gd-stat-val{color:var(--green)}.gd-status-ahead .gd-stat-val{color:var(--purple)}.gd-status-behind{cursor:pointer;transition:background .15s}.gd-status-behind:hover{background:var(--amber)}@supports (color:color-mix(in lab,red,red)){.gd-status-behind:hover{background:color-mix(in srgb,var(--amber)6%,var(--card))}}.gd-status-behind .gd-stat-val{color:var(--amber)}.gd-upnext-wrap{margin-bottom:24px}.gd-upnext-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:10px;font-size:.58rem;font-weight:600}.gd-lessons{margin-bottom:24px}.gd-lessons-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.7px;color:var(--text-tertiary);margin-bottom:10px;font-size:.62rem;font-weight:600}.gd-lesson-pop{background:var(--green-light);border-radius:8px;animation:.5s cubic-bezier(.34,1.56,.64,1) gdLessonPop}@keyframes gdLessonPop{0%{transform:scale(1)}30%{transform:scale(1.03)}to{transform:scale(1)}}.gd-sparkle{pointer-events:none;z-index:10;border-radius:50%;width:6px;height:6px;animation:.7s forwards gdSparkleLife;position:absolute}@keyframes gdSparkleLife{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)translateY(-15px)}}.gd-done-banner{background:var(--green-light);border-radius:10px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;animation:.4s fadeUp;display:flex}.gd-done-banner-icon{font-size:1.3rem;line-height:1}.gd-done-banner-text{font-family:var(--font-reading);color:var(--green);font-size:.9rem;font-weight:600}.gd-celebration{text-align:center;padding:40px 20px;animation:.4s fadeUp}.gd-celeb-trophy{margin-bottom:16px;font-size:3rem;animation:.6s cubic-bezier(.34,1.56,.64,1) .2s both gdTrophyPop}@keyframes gdTrophyPop{0%{transform:scale(0)}to{transform:scale(1)}}.gd-celeb-title{font-family:var(--font-heading);color:var(--green);margin-bottom:8px;font-size:1.4rem;font-weight:700}.gd-celeb-cap{font-family:var(--font-reading);color:var(--foreground);margin-bottom:4px;font-size:1rem;font-weight:600}.gd-celeb-stat{font-family:var(--font-body);color:var(--green);text-transform:uppercase;letter-spacing:.3px;margin-bottom:24px;font-size:.72rem;font-weight:600}.gd-celeb-btn{background:var(--green);color:#fff;font-family:var(--font-reading);cursor:pointer;border:none;border-radius:8px;padding:10px 32px;font-size:.88rem;font-weight:600;transition:all .15s}.gd-celeb-btn:hover{opacity:.9;transform:translateY(-1px)}.profile-page{padding-top:52px}.profile-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.profile-avatar-large{background:var(--foreground);color:#fff;width:56px;height:56px;font-family:var(--font-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex;overflow:hidden}.profile-avatar-large img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.profile-info{flex:1}.profile-name{font-family:var(--font-reading);color:var(--foreground);margin:0 0 2px;font-size:1.3rem;font-weight:600}.profile-email{font-family:var(--font-body);color:var(--text-tertiary);font-size:.76rem;font-weight:500}.profile-section{margin-bottom:28px}.profile-section-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.7px;color:var(--text-tertiary);align-items:center;gap:8px;margin-bottom:12px;font-size:.62rem;font-weight:600;display:flex}.profile-edit-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:flex}.profile-edit-btn:hover{color:var(--foreground)}.profile-about-text{background:var(--card);border:1px solid var(--border);font-family:var(--font-reading);color:var(--foreground);border-radius:10px;padding:14px 16px;font-size:.85rem;line-height:1.6}.profile-about-line{padding:1px 0}.profile-about-empty{font-family:var(--font-body);color:var(--text-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.profile-about-add{cursor:pointer;color:var(--green,#2a7d4f);text-underline-offset:2px;background:0 0;border:none;font-size:.82rem;font-weight:500;text-decoration:underline}.profile-about-edit{flex-direction:column;gap:8px;display:flex}.profile-about-textarea{resize:vertical;width:100%;font-family:var(--font-reading);color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:10px;outline:none;padding:14px 16px;font-size:.85rem;line-height:1.6}.profile-about-textarea:focus{border-color:var(--green,#2a7d4f)}.profile-about-actions{gap:8px;display:flex}.profile-about-save,.profile-about-cancel{font-family:var(--font-body);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.78rem;font-weight:500;transition:opacity .15s;display:flex}.profile-about-save{background:var(--green,#2a7d4f);color:#fff}.profile-about-save:disabled{opacity:.5;cursor:default}.profile-about-cancel{background:var(--border-light);color:var(--foreground)}.profile-heatmap-header{align-items:center;margin-bottom:12px;display:flex}.profile-heatmap-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;display:inline-block;overflow:hidden}.profile-member-since{font-family:var(--font-body);color:var(--text-muted);margin-top:4px;font-size:.75rem}.history-empty{font-family:var(--font-reading);color:var(--text-tertiary);padding:40px 0;font-size:14px}.hist-goals-list{flex-direction:column;gap:6px;display:flex}.hist-goal{background:var(--card);border:1px solid var(--border-light);border-radius:var(--radius);align-items:center;gap:12px;padding:14px 18px;display:flex}.hist-goal-emoji{flex-shrink:0;font-size:18px}.hist-goal-info{flex:1;min-width:0}.hist-goal-title{color:var(--foreground);font-size:14px;font-weight:600}.hist-goal-meta{color:var(--text-tertiary);margin-top:2px;font-size:12px}.hist-goal-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--green);background:var(--green-light);border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.hist-goal-clickable{cursor:pointer;transition:border-color .15s}.hist-goal-clickable:hover{border-color:var(--border)}.hist-day-label{color:var(--text-tertiary);margin:0 0 10px;font-size:13px;font-weight:600}.hist-day-items{flex-direction:column;gap:6px;margin-bottom:32px;display:flex}.hist-day-items:last-child{margin-bottom:0}.lesson-page-container{max-width:820px;margin:0 auto;padding:0 32px 48px}.lesson-header-wrap{z-index:10;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#fbfaf9e0;margin:0 -32px 24px;padding:0 32px;position:sticky;top:0}.lesson-header-top{align-items:center;gap:16px;padding-top:52px;display:flex}.lesson-header-left{flex:1;min-width:0}.lesson-header-node-title{font-family:var(--font-reading);letter-spacing:-.3px;color:var(--foreground);margin:0;font-size:2rem;font-weight:400;line-height:1.25}.lesson-header-ring-wrap{flex-shrink:0;width:48px;height:48px;position:relative}.lesson-header-ring{display:block}.lesson-header-ring-fill{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.lesson-header-ring-pts{font-family:var(--font-body);color:var(--foreground);justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.iq{font-family:var(--font-body);color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:.75rem;margin:1.5rem 0;padding:1.5rem;font-size:.9375rem;line-height:1.5}.iq-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.iq-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:500}.iq-label-done{text-transform:none;letter-spacing:normal}.iq-label-pop{animation:.5s cubic-bezier(.22,1,.36,1) iqPop}@keyframes iqPop{0%{opacity:0;transform:translateY(4px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.iq-nav{gap:4px;display:flex}.iq-nav-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;font-family:var(--font-body);background:0 0;border-radius:7px;justify-content:center;align-items:center;font-size:.875rem;line-height:1.5;transition:background .15s,color .15s;display:flex}.iq-nav-btn:hover:not(:disabled){background:var(--secondary);color:var(--foreground)}.iq-nav-btn:disabled{opacity:.2;cursor:default}.iq-stem{color:var(--foreground);margin:.25rem 0 1rem;font-size:.9375rem;font-weight:500;line-height:1.55}.iq-options{flex-direction:column;gap:6px;display:flex}.iq-option{text-align:left;width:100%;font-family:var(--font-body);color:var(--foreground);cursor:pointer;background:#00000008;border:1px solid #0000;border-radius:.5rem;padding:.625rem .875rem;font-size:.875rem;font-weight:400;line-height:1.5;transition:background .15s,border-color .15s,box-shadow .15s;display:block}.iq-option:hover:not(:disabled):not(.selected):not(.correct):not(.wrong):not(.dimmed){background:#0000000f}.iq-option:disabled{cursor:default}.iq-option .iq-key{color:var(--text-tertiary);margin-right:.375rem;font-weight:500}.iq-option strong,.iq-stem strong{font-weight:650}.iq-option em,.iq-stem em{font-style:italic}.iq-option code,.iq-stem code{background:#0000000d;border-radius:.25rem;padding:.1em .3em;font-family:SF Mono,Fira Code,monospace;font-size:.85em}.iq-option.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:#2a7d4f0f}.iq-option.selected .iq-key{color:var(--primary)}.iq-option.correct{background:#21c45d1a;border-color:#29a356;box-shadow:0 0 0 1px #29a356}.iq-option.correct .iq-key{color:#248f4b}.iq-option.wrong{background:#dc282814;border-color:#d74242;box-shadow:0 0 0 1px #d74242}.iq-option.wrong .iq-key{color:#bd2828}.iq-option.dimmed{opacity:.45}.iq-actions{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.iq-btn{width:100%;font-family:var(--font-body);cursor:pointer;border:none;border-radius:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;line-height:1;transition:opacity .15s,background .15s;display:block}.iq-btn:disabled{opacity:.5;cursor:default}.iq-btn.primary{background:var(--primary);color:var(--primary-foreground)}.iq-btn.primary:hover:not(:disabled){opacity:.9}.iq-btn.outline{border:1px solid var(--border);color:var(--foreground);background:0 0}.iq-btn.outline:hover:not(:disabled){background:var(--secondary)}.iq-feedback{border-radius:.5rem;margin-top:.5rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.55}.iq-feedback.correct{color:var(--foreground);background:#21c45d14;border:1px solid #29a35659}.iq-feedback.wrong{color:var(--foreground);background:#dc28280f;border:1px solid #d742424d}.iq-feedback-label{margin-bottom:.2rem;font-weight:600}.iq-feedback.correct .iq-feedback-label{color:#248f4b}.iq-feedback.wrong .iq-feedback-label{color:#ca2b2b}.iq-celebrate{animation:1s ease-out iqCelebrate}@keyframes iqCelebrate{0%{border-color:var(--success);box-shadow:0 0 #21c45d4d}25%{border-color:var(--success);transform:scale(1.005);box-shadow:0 0 16px 2px #21c45d1f}to{border-color:var(--border);box-shadow:none;transform:scale(1)}}.cq{border:1px solid var(--border);background:var(--card);font-family:var(--font-reading,system-ui);border-radius:10px;margin:1.5rem 0 .5rem;padding:1rem 1.25rem}.cq-done{background:#f4fbf6;border-color:#8cd9a880}.cq-stem{color:var(--foreground);margin-bottom:.75rem;font-size:1.0625rem;line-height:1.7}.cq-reveal-btn{border:1px solid var(--border);background:var(--secondary);color:var(--foreground);cursor:pointer;border-radius:8px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.cq-reveal-btn:hover{background:var(--accent);border-color:var(--primary)}.cq-options{flex-direction:column;gap:6px;display:flex}.cq-option{border:1px solid var(--border);background:var(--background);cursor:pointer;text-align:left;border-radius:8px;align-items:baseline;gap:8px;padding:.5rem .75rem;font-size:.9375rem;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.cq-option:hover:not(:disabled):not(.selected):not(.correct):not(.wrong):not(.dimmed){border-color:var(--primary);background:var(--secondary)}.cq-option:disabled{cursor:default}.cq-key{color:var(--muted-foreground);flex-shrink:0;min-width:1.25rem;font-weight:600}.cq-option.selected{border-color:var(--primary);background:hsl(var(--primary-hsl,262 83% 58%)/.06)}.cq-option.selected .cq-key{color:var(--primary)}.cq-option.correct{background:#2eb86014;border-color:#2eb860}.cq-option.correct .cq-key{color:#248f4b}.cq-option.wrong{background:#d742420f;border-color:#d74242}.cq-option.wrong .cq-key{color:#bd2828}.cq-option.reveal-correct{background:#2eb86014;border-color:#2eb860}.cq-option.reveal-correct .cq-key{color:#248f4b}.cq-option.dimmed{opacity:.45}.cq-actions{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.cq-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;padding:.5rem 1.25rem;font-size:.875rem;font-weight:550;transition:opacity .15s,background .15s;display:inline-flex}.cq-btn:disabled{opacity:.5;cursor:default}.cq-btn.primary{background:var(--primary);color:var(--primary-foreground)}.cq-btn.primary:hover:not(:disabled){opacity:.9}.cq-btn.outline{border:1px solid var(--border);color:var(--foreground);background:0 0}.cq-btn.outline:hover:not(:disabled){background:var(--secondary)}.cq-feedback{border-radius:8px;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.cq-feedback.correct{color:#1f7a40;background:#ecf9f1;border:1px solid #b8e0c7}.cq-feedback.wrong{color:#9e2e2e;background:#faf0f0;border:1px solid #e8c9c9}.lesson-header-wrap.done{border-bottom:none}.lesson-complete-card{text-align:center;background:#f1f8f4;border:1px solid #d7eade;border-radius:.75rem;flex-direction:column;align-items:center;gap:16px;margin-top:2rem;padding:28px 24px;transition:opacity .35s,transform .35s cubic-bezier(.4,0,1,1);animation:.5s cubic-bezier(.22,1,.36,1) cardRise;display:flex}.lesson-complete-card.dismissing{opacity:0;transform:translateY(20px)}@keyframes cardRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lesson-complete-top{flex-direction:column;align-items:center;gap:8px;display:flex}.lesson-complete-check{color:#309154;background:#d4eddd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;animation:.5s cubic-bezier(.22,1,.36,1) .15s both checkPop;display:flex}@keyframes checkPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.lesson-complete-title{font-family:var(--font-heading);color:#2b6440;font-size:1.05rem;font-weight:700;line-height:1.2}.lesson-complete-pts{font-family:var(--font-body);color:#4b8b63;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.lesson-complete-pts svg{color:var(--green);fill:var(--green)}.lesson-complete-feedback{width:100%;padding-top:4px}.lesson-complete-feedback .lesson-feedback-row{justify-content:center;gap:8px}.lesson-feedback-pills{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.lesson-feedback-pill{font-family:var(--font-body);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:99px;padding:5px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.lesson-feedback-pill:hover{border-color:var(--primary);color:var(--foreground)}.lesson-feedback-pill.active{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab,red,red)){.lesson-feedback-pill.active{background:color-mix(in srgb,var(--primary)10%,transparent)}}.lesson-feedback-pill.active{color:var(--primary)}.lesson-feedback-text{font-family:var(--font-body);border:1px solid var(--border);width:100%;color:var(--foreground);resize:none;background:0 0;border-radius:8px;outline:none;margin-top:8px;padding:8px 10px;font-size:.8rem;transition:border-color .15s}.lesson-feedback-text:focus{border-color:var(--primary)}.lesson-feedback-text::-moz-placeholder{color:var(--muted-foreground);opacity:.6}.lesson-feedback-text::placeholder{color:var(--muted-foreground);opacity:.6}.lesson-complete-btn{font-family:var(--font-body);color:#2b6440;cursor:pointer;background:#e3f2e9;border:1px solid #c3dfcd;border-radius:10px;flex-shrink:0;width:100%;padding:10px 28px;font-size:.875rem;font-weight:600;line-height:1;transition:background .15s,transform .15s}.lesson-complete-btn:hover{background:#d6ebde}.lesson-complete-btn:active{transform:scale(.98)}.lesson-feedback{width:100%;margin-top:12px;animation:.3s ease-out chip-appear}.space-y-8>.lesson-feedback{border-top:1px solid var(--border);margin-top:24px;padding:16px 0}.lesson-feedback-row{align-items:center;gap:8px;display:flex}.lesson-feedback-label{font-family:var(--font-body);color:var(--muted-foreground);font-size:.8rem}.lesson-feedback-thumb{border:1px solid var(--border);width:30px;height:30px;color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.lesson-feedback-thumb:hover{border-color:var(--foreground);color:var(--foreground)}.lesson-feedback-thumb.up.active{color:#339958;background:#e7f9ed;border-color:#66cc8b}.lesson-feedback-thumb.down.active{color:#ac3939;background:#faebeb;border-color:#d27979}.lesson-feedback-comment{align-items:center;gap:6px;margin-top:8px;animation:.2s ease-out chip-appear;display:flex}.lesson-feedback-input{font-family:var(--font-body);border:1px solid var(--border);color:var(--foreground);background:0 0;border-radius:8px;outline:none;flex:1;padding:6px 10px;font-size:.8rem}.lesson-feedback-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2a7d4f14}.lesson-feedback-send{font-family:var(--font-body);background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:.75rem;font-weight:600;transition:opacity .15s}.lesson-feedback-send:hover{opacity:.85}.lesson-feedback-thanks{font-family:var(--font-body);color:#339958;font-size:.8rem}.lesson-header-bar{cursor:pointer;width:100%;font-family:var(--font-body);color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:8px;padding:8px 0 10px;font-size:.75rem;display:flex}.lesson-header-emoji{flex-shrink:0;font-size:.85rem}.lesson-header-title{font-family:var(--font-reading);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.78rem;font-weight:500;overflow:hidden}.lesson-header-sep{color:var(--text-tertiary);font-size:.7rem}.lesson-header-progress-text{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;font-size:.72rem}.lesson-header-pbar{background:var(--border);border-radius:2px;flex-shrink:0;width:52px;height:3px;overflow:hidden}.lesson-header-pbar .fill{background:var(--primary);border-radius:2px;height:100%;transition:width .3s}.lesson-header-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .2s}.lesson-header-chevron.expanded{transform:rotate(180deg)}.lesson-header-nodes-wrap{grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1);display:grid}.lesson-header-nodes-wrap.open{grid-template-rows:1fr}.lesson-header-nodes-inner{flex-direction:column;max-height:calc(100vh - 140px);padding:4px 0 8px;display:flex;overflow:hidden}.lesson-header-nodes-wrap.open .lesson-header-nodes-inner{overflow-y:auto}.lesson-header-nodes-wrap.open .lesson-header-node{animation:.3s cubic-bezier(.16,1,.3,1) both nodeItemIn}@keyframes nodeItemIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.lesson-header-node{cursor:pointer;font-family:var(--font-reading);color:var(--foreground);border-radius:8px;align-items:center;gap:12px;padding:10px 0;transition:background .1s;display:flex}.lesson-header-node.last{border-bottom:none}.lesson-header-node:hover{background:var(--bg-idea-hover)}.lesson-header-node.current{background:var(--bg-idea)}.lesson-header-node.current .lesson-header-node-name,.lesson-header-node.accessible .lesson-header-node-name{font-weight:500}.lesson-header-node.completed{opacity:.65}.lesson-header-node.locked{cursor:default;opacity:.55}.lesson-header-node.locked:hover{background:0 0}.lesson-header-node.locked .lesson-header-node-name{color:var(--text-muted)}.lesson-header-node.locked .lesson-header-node-tag{background:var(--bg-inset);color:var(--text-muted)}.lesson-header-node-num{width:22px;height:22px;font-family:var(--font-body);background:var(--bg-inset);color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:flex}.lesson-header-node-num.done{background:var(--green-light);color:var(--green)}.lesson-header-node-num.current{background:var(--ring-progress);color:#fff}.lesson-header-node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.84rem;font-weight:400;line-height:1.35;overflow:hidden}.lesson-header-node-tag{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:.6rem;font-weight:600}.lesson-header-node-tag.quiz{background:var(--type-quiz-bg);color:var(--type-quiz-fg)}.lesson-header-node-tag.lesson{background:var(--type-lesson-bg);color:var(--type-lesson-fg)}.lesson-header-node-lock{color:var(--text-muted);flex-shrink:0}.feedback-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a181466;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.feedback-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;padding:24px;animation:.25s ease-out chip-appear;box-shadow:0 20px 60px #00000026}.feedback-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.feedback-modal-title{font-family:var(--font-heading);color:var(--foreground);font-size:1.1rem;font-weight:700}.feedback-modal-close{width:28px;height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s;display:flex}.feedback-modal-close:hover{background:var(--muted)}.feedback-modal-cats{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.feedback-cat-pill{font-family:var(--font-body);border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:0 0;border-radius:20px;padding:5px 14px;font-size:.8rem;font-weight:500;transition:all .15s}.feedback-cat-pill:hover{border-color:var(--foreground);color:var(--foreground)}.feedback-cat-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.feedback-modal-textarea{box-sizing:border-box;width:100%;font-family:var(--font-body);border:1px solid var(--border);color:var(--foreground);resize:vertical;background:0 0;border-radius:10px;outline:none;margin-bottom:12px;padding:10px 12px;font-size:.875rem;line-height:1.5}.feedback-modal-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2a7d4f14}.feedback-modal-textarea::-moz-placeholder{color:var(--muted-foreground)}.feedback-modal-textarea::placeholder{color:var(--muted-foreground)}.feedback-modal-submit{width:100%;font-family:var(--font-body);background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px;font-size:.875rem;font-weight:600;transition:opacity .15s}.feedback-modal-submit:hover:not(:disabled){opacity:.85}.feedback-modal-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-modal-success{font-family:var(--font-body);color:#339958;justify-content:center;align-items:center;gap:8px;padding:24px 0;font-size:.95rem;font-weight:500;display:flex}.goal-feedback{text-align:center;padding:24px;animation:.3s ease-out chip-appear}.goal-feedback-title{font-family:var(--font-heading);color:var(--foreground);margin-bottom:16px;font-size:1rem;font-weight:700}.goal-feedback-stars{justify-content:center;gap:6px;margin-bottom:16px;display:flex}.goal-feedback-star{width:36px;height:36px;color:var(--border);cursor:pointer;background:0 0;border:none;padding:0;transition:all .15s}.goal-feedback-star.filled{color:var(--green)}.goal-feedback-star:hover{transform:scale(1.15)}.goal-feedback-fields{text-align:left;flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.goal-feedback-field label{font-family:var(--font-body);color:var(--muted-foreground);margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.goal-feedback-field textarea{box-sizing:border-box;width:100%;font-family:var(--font-body);border:1px solid var(--border);color:var(--foreground);resize:none;background:0 0;border-radius:8px;outline:none;padding:8px 10px;font-size:.8rem;line-height:1.5}.goal-feedback-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2a7d4f14}.goal-feedback-actions{justify-content:center;gap:10px;display:flex}.goal-feedback-submit{font-family:var(--font-body);background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:.8rem;font-weight:600;transition:opacity .15s}.goal-feedback-submit:hover:not(:disabled){opacity:.85}.goal-feedback-submit:disabled{opacity:.5;cursor:not-allowed}.goal-feedback-skip{font-family:var(--font-body);color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.8rem;font-weight:500}.goal-feedback-skip:hover{color:var(--foreground)}.goal-feedback-thanks{font-family:var(--font-body);color:#339958;padding:24px 0;font-size:.95rem;font-weight:500}.goal-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(8px);background:#14141266;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.goal-modal{background:var(--card);border-radius:20px;flex-direction:column;width:100%;max-width:640px;max-height:85vh;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;position:relative;box-shadow:0 24px 60px #0000001f,0 0 0 1px #0000000a}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.goal-modal-close{z-index:10;width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .12s;display:flex;position:absolute;top:16px;right:16px}.goal-modal-close:hover{background:var(--secondary);color:var(--foreground)}.goal-modal-header{justify-content:center;align-items:center;min-height:48px;padding:20px 24px 0;display:flex;position:relative}.goal-modal-dots{align-items:center;gap:6px;display:flex}.goal-dot{background:var(--border);cursor:default;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s cubic-bezier(.16,1,.3,1)}.goal-dot.active{background:var(--foreground);border-radius:4px;width:28px}.goal-dot.completed{background:var(--green);cursor:pointer}.goal-dot.completed:hover{transform:scale(1.2)}.goal-dot.future{background:var(--border)}.goal-modal-body{flex:1;min-height:0;padding:8px 32px 24px;overflow-y:auto}.goal-modal-footer{flex-shrink:0;padding:0 32px 24px}.goal-modal-cta{background:var(--foreground);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:.92rem;font-weight:600;transition:all .15s;display:flex}.goal-modal-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.goal-modal-cta:disabled{background:var(--secondary);color:var(--text-muted);cursor:default;box-shadow:none}.goal-modal-cta.green{background:var(--green)}.goal-modal-cta.green:hover:not(:disabled){background:#2c9658}.goal-cta-arrow{transition:transform .15s}.goal-modal-cta:hover:not(:disabled) .goal-cta-arrow{transform:translate(2px)}.goal-step{min-height:200px;padding-top:24px}.goal-step-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:8px;font-size:.72rem;font-weight:700}.goal-step-title{font-family:var(--font-heading);color:var(--foreground);letter-spacing:-.3px;margin-bottom:12px;font-size:1.55rem;font-weight:500;line-height:1.3}.goal-step-subtitle{font-family:var(--font-reading);color:var(--foreground);margin-bottom:28px;font-size:.88rem;line-height:1.5}.goal-modal-input{border:1.5px solid var(--border);background:var(--card);width:100%;font-family:var(--font-reading);color:var(--foreground);resize:none;border-radius:12px;outline:none;padding:14px 16px;font-size:1rem;line-height:1.5;transition:all .15s;overflow:hidden}.goal-modal-input:hover{border-color:var(--text-tertiary)}.goal-modal-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2a7d4f0f}.goal-modal-input::-moz-placeholder{color:var(--text-tertiary)}.goal-modal-input::placeholder{color:var(--text-tertiary)}.goal-modal-input-inline{border:1.5px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.9rem}.goal-modal-input-inline:focus{border-color:var(--green);box-shadow:0 0 0 3px #2a7d4f0f}.goal-modal-input-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:10px;display:flex}.goal-modal-hint{font-family:var(--font-reading);color:var(--text-tertiary);flex:1;margin-top:14px;font-size:.8rem;line-height:1.45}.goal-modal-hint em{color:var(--text-muted);font-style:italic}.goal-modal-charcount{font-family:var(--font-body);color:var(--text-tertiary);flex-shrink:0;padding-top:2px;font-size:.72rem;font-weight:500}.goal-input-wrap{align-items:center;gap:8px;display:flex}.goal-ticker-section{margin-top:28px}.goal-ticker-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:10px;font-size:.7rem;font-weight:600}.goal-ticker-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#0000,#000 20px calc(100% - 20px),#0000)}.goal-ticker-track{gap:8px;width:-moz-max-content;width:max-content;animation:600s linear infinite ticker-scroll;display:flex}.goal-ticker-track:hover{animation-play-state:paused}.goal-ticker-chip{border:1px solid var(--border);font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:100px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-size:.75rem;transition:all .15s;display:inline-flex}.goal-ticker-chip:hover{background:var(--secondary);color:var(--foreground);border-color:var(--text-tertiary)}.goal-ticker-emoji{font-size:.8rem}@keyframes ticker-scroll{0%{transform:translate(-50%)}to{transform:translate(0)}}.goal-choice-group{flex-direction:column;gap:8px;margin-top:20px;display:flex}.goal-choice{text-align:left;cursor:pointer;width:100%;font-family:var(--font-reading);color:var(--foreground);background:var(--card);border:2px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:.9rem;font-weight:400;line-height:1.4;transition:all .15s;display:flex}.goal-choice:hover{border-color:var(--green);background:var(--green-light)}.goal-choice.selected{border-color:var(--green);background:var(--green-light);font-weight:500}.goal-choice.muted{color:var(--text-secondary);border-style:dashed}.goal-choice.muted:hover{color:var(--green);border-color:var(--green);border-style:solid}.goal-choice-radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;transition:all .15s;display:flex}.goal-choice.selected .goal-choice-radio{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 3px #fff}.goal-choice-text{flex:1}.goal-choice-desc{color:var(--text-tertiary);margin-top:2px;font-size:.78rem;font-weight:400;line-height:1.35;display:block}.goal-choice.multi .goal-choice-radio{display:none}.goal-multi-check{border:1.5px solid var(--border);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;transition:all .15s;display:flex}.goal-choice.multi.selected .goal-multi-check{background:var(--green);border-color:var(--green)}.goal-slider-group{flex-direction:column;gap:32px;margin-top:24px;display:flex}.goal-slider-row{flex-direction:column;gap:10px;display:flex}.goal-slider-label{color:var(--foreground);font-size:.88rem;font-weight:500}.goal-slider-track-wrap{flex-direction:column;gap:6px;display:flex}.goal-slider-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.goal-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--green);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;-webkit-transition:transform .1s;transition:transform .1s;box-shadow:0 1px 4px #00000026}.goal-slider-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.goal-slider-input::-moz-range-thumb{background:var(--green);cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000026}.goal-slider-current{text-align:center;font-size:.8rem;animation:.2s ease-out both fadeSlide}.goal-slider-current-label{color:var(--green);font-weight:600}.goal-slider-current-sep{color:var(--text-tertiary);font-weight:400}.goal-slider-current-guide{color:var(--text-secondary);font-weight:400}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.goal-step.slide-in-right{animation:.3s cubic-bezier(.22,1,.36,1) both slideInRight}.goal-step.slide-in-left{animation:.3s cubic-bezier(.22,1,.36,1) both slideInLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.goal-skel-label{background:var(--bg-inset);border-radius:6px;height:14px;animation:1.4s ease-in-out infinite skelPulse}.goal-skel-option{background:var(--bg-inset);border-radius:12px;height:50px;margin-top:8px;animation:1.4s ease-in-out infinite skelPulse}@keyframes skelPulse{0%,to{opacity:.5}50%{opacity:.8}}.goal-error{font-family:var(--font-body);color:var(--destructive);margin-top:12px;font-size:.8125rem}.goal-modal.setup-modal{max-width:680px}.goal-modal.setup-modal .goal-modal-body{padding:8px 40px 32px}.goal-modal.setup-modal .goal-modal-footer{padding:0 40px 28px}.setup-step{text-align:center;padding-top:12px}.setup-hero{margin-bottom:28px}.setup-emoji{margin-bottom:8px;font-size:2.5rem;line-height:1}.setup-heading{font-family:var(--font-reading);color:var(--foreground);letter-spacing:-.3px;margin-bottom:4px;font-size:1.4rem;font-weight:500}.setup-title{font-family:var(--font-reading);color:var(--text-tertiary);margin-bottom:0;font-size:1rem;font-weight:400}.setup-schedule-subtitle{font-family:var(--font-reading);color:var(--foreground);margin-bottom:28px;font-size:.95rem;line-height:1.5}.setup-stats-row{justify-content:center;gap:16px;margin-bottom:28px;display:flex}.setup-stat-card{background:var(--background);text-align:center;border-radius:12px;flex:1;max-width:180px;padding:18px 10px}.setup-stat-value{font-family:var(--font-reading);color:var(--foreground);margin-bottom:4px;font-size:1.3rem;font-weight:500}.setup-stat-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.7rem;font-weight:500}.setup-description{font-family:var(--font-reading);color:var(--text-secondary);text-align:left;margin-bottom:28px;font-size:.95rem;line-height:1.6}.setup-lesson-list{text-align:left;margin-bottom:8px}.setup-lesson-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.setup-lesson-row:last-child{border-bottom:none}.setup-lesson-num{background:var(--bg-inset);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.setup-lesson-title{font-family:var(--font-reading);color:var(--foreground);flex:1;font-size:.9rem;font-weight:400}.setup-lesson-pts{font-family:var(--font-body);color:var(--text-tertiary);flex-shrink:0;font-size:.72rem;font-weight:500}.setup-show-all{width:100%;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:12px 0;font-size:.82rem;font-weight:500;transition:color .12s;display:flex}.setup-show-all:hover{color:var(--foreground)}.setup-field{text-align:center;margin-bottom:24px}.setup-field-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:10px;font-size:.78rem;font-weight:600;display:block}.setup-day-toggles{justify-content:center;gap:8px;display:flex}.setup-day-circle{border:2px solid var(--border);background:var(--card);width:44px;height:44px;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.setup-day-circle:hover{border-color:var(--text-tertiary)}.setup-day-circle.active{background:var(--foreground);border-color:var(--foreground);color:#fff}.setup-preview-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:14px;margin-top:8px;padding:20px 24px}.setup-preview-main{font-family:var(--font-reading);color:var(--foreground);margin-bottom:6px;font-size:1.05rem;font-weight:500}.setup-preview-sub{font-family:var(--font-reading);color:var(--text-secondary);font-size:.9rem;font-weight:400}.setup-preview-prev{font-family:var(--font-body);color:var(--text-tertiary);margin-top:6px;font-size:.76rem;font-style:italic}.setup-check-icon{background:var(--green-light);width:56px;height:56px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.setup-confirm-subtitle{font-family:var(--font-reading);color:var(--text-secondary);margin-bottom:28px;font-size:.95rem}.setup-confirm-stats{gap:12px;margin-bottom:28px;display:flex}.setup-confirm-stat{background:var(--background);text-align:center;border-radius:12px;flex:1;padding:18px 10px}.setup-confirm-stat-val{font-family:var(--font-reading);color:var(--foreground);margin-bottom:4px;font-size:1.3rem;font-weight:500}.setup-confirm-stat-label{font-family:var(--font-body);color:var(--text-secondary);font-size:.7rem;font-weight:500}.setup-day-toggle-wrap{text-align:left}.setup-day-toggle-btn{width:100%;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:12px 0;font-size:.82rem;font-weight:600;transition:color .12s;display:flex}.setup-day-toggle-btn:hover{color:var(--foreground)}.setup-day-breakdown{text-align:left;max-height:300px;animation:.2s setupFadeIn;overflow-y:auto}@keyframes setupFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.setup-day-row{border-bottom:1px solid var(--border);padding:10px 0}.setup-day-row:last-child{border-bottom:none}.setup-day-date{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:4px;font-size:.78rem;font-weight:600}.setup-day-lessons{flex-direction:column;gap:2px;display:flex}.setup-day-lesson{justify-content:space-between;align-items:center;gap:8px;display:flex}.setup-day-lesson-title{font-family:var(--font-reading);color:var(--foreground);font-size:.85rem}.setup-day-lesson-pts{font-family:var(--font-body);color:var(--text-tertiary);flex-shrink:0;font-size:.72rem;font-weight:500}.setup-day-row.rest .setup-day-date{color:var(--text-tertiary)}.setup-day-off{font-family:var(--font-body);color:var(--text-tertiary);font-size:.82rem;font-style:italic}.building-card-v2{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;margin-bottom:14px;animation:.5s cubic-bezier(.16,1,.3,1) buildCardAppear;position:relative;overflow:hidden;box-shadow:0 2px 8px #2a7d4f0f}.building-card-v2:before{content:"";filter:blur(18px);z-index:0;background:radial-gradient(at 25% 30%,#2a7d4f26,#0000 65%),radial-gradient(at 75% 65%,#34a0651f,#0000 65%);animation:6s ease-in-out infinite buildBreathe;position:absolute;inset:-20px}@keyframes buildBreathe{0%,to{opacity:.4;transform:translate(0)scale(1)}33%{opacity:.75;transform:translate(5px,-3px)scale(1.04)}66%{opacity:.6;transform:translate(-4px,2px)scale(1.06)}}.building-card-v2.finishing{animation:.8s forwards buildCardFinish}@keyframes buildCardAppear{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes buildCardFinish{0%{opacity:1;transform:scale(1)}50%{transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.building-card-inner{z-index:1;align-items:center;gap:14px;padding:22px 20px;display:flex;position:relative}.building-card-icon{background:var(--green-light);width:40px;height:40px;color:var(--green);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;animation:2s ease-in-out infinite buildIconPulse;display:flex}@keyframes buildIconPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.building-card-emoji{font-size:1.3rem;line-height:1}.building-card-content{flex:1;min-width:0}.building-card-topic{font-family:var(--font-heading);color:var(--foreground);margin-bottom:3px;font-size:.95rem;font-weight:600;line-height:1.3}.building-card-msg{font-family:var(--font-body);color:var(--muted-foreground);font-size:.72rem;font-weight:500;animation:3s ease-in-out buildMsgFade}@keyframes buildMsgFade{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:.7}}.building-card-error{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:14px;overflow:hidden}.building-card-error .building-card-inner{padding:16px 20px}.building-card-error p{font-family:var(--font-reading);color:var(--text-secondary);margin:0;font-size:.88rem}.building-card-retry{color:var(--accent);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;margin-top:10px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:background .15s;display:inline-flex}.building-card-retry:hover{background:var(--muted)}.building-card-error-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.building-card-error-actions .building-card-retry{margin-top:0}.building-card-dismiss{font-family:var(--font-body);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:.82rem;font-weight:500;transition:color .12s}.building-card-dismiss:hover{color:var(--foreground)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.lesson-container{font-family:var(--font-reading);font-size:1.125rem;line-height:1.85;color:var(--foreground)}.lesson-content{max-width:100%}.lesson-opening,.lesson-body,.lesson-synthesis,.lesson-check{margin-bottom:2rem}.lesson-opening .hook{font-family:var(--font-reading);font-size:1.125rem;color:var(--muted-foreground);font-style:italic;border-left:3px solid var(--primary);padding-left:1.25rem;margin-bottom:1.5rem}.lesson-container h2,.lesson-content h2{font-family:var(--font-heading);font-size:1.375rem;font-weight:600;color:var(--foreground);margin-top:2.5rem;margin-bottom:1rem}.lesson-section:first-child>h2{margin-top:0}.lesson-container h3,.lesson-content h3{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--foreground);margin-top:1.75rem;margin-bottom:.75rem}.lesson-content p{margin-bottom:1.25rem}.lesson-content strong{font-weight:650;color:var(--foreground);letter-spacing:-.01em}.lesson-content em{font-style:italic}.lesson-content ul,.lesson-content ol{margin-left:1.5rem;margin-bottom:1.25rem}.lesson-content li{margin-bottom:.5rem}.lesson-content ul{list-style-type:disc}.lesson-content ol{list-style-type:decimal}.lesson-content code{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.85em;background-color:var(--secondary);padding:.125rem .375rem;border-radius:.25rem}.lesson-content pre{background-color:var(--foreground);color:var(--background);padding:1rem;border-radius:.5rem;overflow-x:auto;margin-bottom:1.25rem}.lesson-content pre code{background:none;padding:0;color:inherit}.lesson-content pre:has(.mermaid-diagram),pre:has(.mermaid-diagram){background:none;padding:0;margin:0;border-radius:0;overflow:visible}.mermaid-diagram{margin:1.5rem 0;display:flex;justify-content:center}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-diagram .cluster-label{overflow:visible!important}.mermaid-diagram .cluster-label foreignObject{overflow:visible!important}.mermaid-diagram .cluster-label .nodeLabel{white-space:nowrap}.mermaid-diagram+p,.svg-diagram+p{text-align:center;font-size:.9em;color:var(--muted-foreground);margin-top:.25rem}.lesson-content pre:has(.svg-diagram),pre:has(.svg-diagram){background:none;padding:0;margin:0;border-radius:0;overflow:visible}.svg-diagram{margin:1.5rem 0;display:flex;justify-content:center}.svg-diagram svg{max-width:100%;height:auto}.lesson-content table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1.25rem;font-size:.9375rem;border:1px solid var(--border);border-radius:.5rem;overflow:visible}.lesson-content table tr:first-child th:first-child{border-top-left-radius:.5rem}.lesson-content table tr:first-child th:last-child{border-top-right-radius:.5rem}.lesson-content table tr:last-child td:first-child{border-bottom-left-radius:.5rem}.lesson-content table tr:last-child td:last-child{border-bottom-right-radius:.5rem}.lesson-content th,.lesson-content td{padding:.625rem .875rem;text-align:left;border-bottom:1px solid var(--border)}.lesson-content th{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;background-color:var(--secondary);color:var(--muted-foreground)}.lesson-content tr:last-child td{border-bottom:none}.lesson-content tbody tr:hover{background-color:hsl(var(--secondary-hsl, 0 0% 96%) / .5)}.lesson-content blockquote{border-left:3px solid var(--primary);padding:.875rem 1.25rem;margin:1.25rem 0;background-color:hsl(var(--primary-hsl) / .04);border-radius:0 .5rem .5rem 0;color:var(--foreground);font-style:normal;font-family:var(--font-reading)}.lesson-content blockquote p:last-child{margin-bottom:0}.lesson-section+.lesson-section{padding-top:1rem;margin-top:2rem}.example-box,.insight-callout,.warning-callout,.analogy-box{padding:1.25rem;border-radius:.5rem;margin:1.5rem 0}.example-box{background-color:var(--bg-idea);border:1px solid var(--border)}.insight-callout{background-color:#f2f8f5;border:1px solid hsl(152 30% 88%)}.warning-callout{background-color:#f9f6f0;border:1px solid hsl(38 45% 85%)}.analogy-box{background-color:#f4f3f7;border:1px solid hsl(263 20% 88%)}.example-label,.callout-label,.analogy-label{display:block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.example-box .example-label{color:var(--highlight)}.insight-callout .callout-label{color:var(--success)}.warning-callout .callout-label{color:var(--highlight)}.analogy-box .analogy-label{color:var(--muted-foreground)}.example-box p:last-child,.insight-callout p:last-child,.warning-callout p:last-child,.analogy-box p:last-child{margin-bottom:0}.kp-example{margin-top:1.5rem;padding:1.25rem;background-color:#f5f7f9;border:1px solid hsl(220 20% 91%);border-radius:.5rem;font-family:var(--font-reading);font-size:1rem;line-height:1.75;color:var(--foreground)}.kp-example-label{display:block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6a81af;margin-bottom:.5rem}.kp-example p{margin:0}.scope-note{background-color:var(--secondary);border:1px solid var(--border);padding:1rem;border-radius:.5rem;margin:1.25rem 0;font-size:.875rem;font-family:var(--font-body)}.scope-note p{margin-bottom:.5rem}.scope-note p:last-child{margin-bottom:0}.lesson-synthesis{background-color:var(--bg-idea);border:1px solid var(--border);padding:1.25rem;border-radius:.5rem}.lesson-synthesis h2{font-family:var(--font-heading);color:var(--highlight);margin-top:0;border-bottom:none}.lesson-check{background-color:#f2f8f5;border:1px solid hsl(152 30% 88%);padding:1.25rem;border-radius:.5rem}.lesson-check .check-prompt{font-family:var(--font-body);font-weight:600;color:var(--primary);margin-bottom:.75rem}.capability-list{margin-left:1.25rem}.capability-list li{color:var(--foreground)}.lesson-container[data-engagement=familiarize] .lesson-synthesis[data-engagement=understand]{display:none}.concept-tag{font-weight:650;color:var(--foreground);letter-spacing:-.01em;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--primary);text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:help;position:relative}.concept-tag:hover{text-decoration-style:solid}.concept-tag[data-brief]:not([data-brief=""]):after{content:attr(data-brief);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--foreground);color:var(--background);font-weight:400;font-size:.8125rem;line-height:1.4;padding:.5rem .75rem;border-radius:.375rem;max-width:300px;width:-moz-max-content;width:max-content;white-space:normal;z-index:50;pointer-events:none;text-decoration:none;font-style:normal;letter-spacing:0;opacity:0;transition:opacity .15s ease-out}.concept-tag[data-brief]:not([data-brief=""]):hover:after{opacity:1}.concept-tag[data-brief]:not([data-brief=""]):before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--foreground);opacity:0;transition:opacity .15s ease-out}.concept-tag[data-brief]:not([data-brief=""]):hover:before{opacity:1;z-index:50;pointer-events:none}.lesson-skeleton{padding:1rem}@media(max-width:640px){.lesson-container,.lesson-opening .hook{font-size:1rem}.example-box,.insight-callout,.warning-callout,.analogy-box,.scope-note,.lesson-synthesis,.lesson-check{padding:.75rem}}@media print{.lesson-container{font-size:11pt;line-height:1.5}.example-box,.insight-callout,.warning-callout,.analogy-box{-moz-column-break-inside:avoid;break-inside:avoid}}
