@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.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;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.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:.833333em}.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.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.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.66667em}.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.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.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.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.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:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.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.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.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.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.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:.416667em}.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:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.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:.833333em}.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.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.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:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.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.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.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.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.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.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.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{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .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{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root[data-scheme=blue]{--primary:#1e88e5;--primary-dark:#1565c0;--primary-soft:#e3f2fd;--brand-gradient:linear-gradient(135deg, #8ed1ff 0%, #1e88e5 44%, #1565c0 76%, #0d47a1 100%);--bg:#f5f9ff;--shadow:0 12px 36px #1e88e51a;--shadow-sm:0 2px 8px #1e88e50f;--shadow-lg:0 20px 60px #1e88e51f}:root[data-scheme=purple]{--primary:#7e57c2;--primary-dark:#5e35b1;--primary-soft:#ede7f6;--brand-gradient:linear-gradient(135deg, #d8b4fe 0%, #7e57c2 44%, #5e35b1 76%, #3b1e79 100%);--bg:#f8f6ff;--shadow:0 12px 36px #7e57c21a;--shadow-sm:0 2px 8px #7e57c20f;--shadow-lg:0 20px 60px #7e57c21f}:root[data-scheme=pink]{--primary:#f42870;--primary-dark:#d81b60;--primary-soft:#fce4ec;--brand-gradient:linear-gradient(135deg, #fda4c8 0%, #f42870 44%, #d81b60 76%, #9d174d 100%);--bg:#fff5f8;--shadow:0 12px 36px #f428701a;--shadow-sm:0 2px 8px #f428700f;--shadow-lg:0 20px 60px #f428701f}:root[data-scheme=orange]{--primary:#fb8c00;--primary-dark:#ef6c00;--primary-soft:#fff3e0;--brand-gradient:linear-gradient(135deg, #ffd08a 0%, #fb8c00 44%, #ef6c00 76%, #b45309 100%);--bg:#fffaf5;--shadow:0 12px 36px #fb8c001a;--shadow-sm:0 2px 8px #fb8c000f;--shadow-lg:0 20px 60px #fb8c001f}:root[data-scheme=green]{--primary:#43a047;--primary-dark:#2e7d32;--primary-soft:#e8f5e9;--brand-gradient:linear-gradient(135deg, #b7f7c0 0%, #43a047 44%, #2e7d32 76%, #14532d 100%);--bg:#f5faf5;--shadow:0 12px 36px #43a0471a;--shadow-sm:0 2px 8px #43a0470f;--shadow-lg:0 20px 60px #43a0471f}:root[data-scheme=slate]{--primary:#64748b;--primary-dark:#475569;--primary-soft:#f1f5f9;--brand-gradient:linear-gradient(135deg, #cbd5e1 0%, #64748b 44%, #475569 76%, #1e293b 100%);--bg:#f8f9fa;--shadow:0 12px 36px #64748b1a;--shadow-sm:0 2px 8px #64748b0f;--shadow-lg:0 20px 60px #64748b1f}:root[data-theme=dark]{--ink:#f3f4f6;--muted:#9ca3af;--line:#ffffff1a;--panel:#000000e6;--panel-strong:#111;--bg:#000;--card:#111;--surface:#0a0a0a;--surface-hover:#1a1a1a;--shadow:0 20px 60px #0009;--shadow-sm:0 2px 8px #0006;--shadow-lg:0 20px 60px #0009;color:#f3f4f6;background:#000}:root[data-theme=dark] body{background:#000}:root[data-theme=dark] #root{color:#f3f4f6}:root[data-theme=dark] input,:root[data-theme=dark] select{color:#f3f4f6;border-color:var(--line);background:#111}:root[data-theme=dark] .sidebar{border-color:var(--line);background:#0a0a0a}:root[data-theme=dark] .app-main{background:#000}:root[data-theme=dark] .profile-stat,:root[data-theme=dark] .profile-card{border-color:var(--line);background:#111}:root[data-theme=dark] .profile-swatch.selected{border-color:#fff}:root[data-theme=dark] .profile-hero{background:#ffffff08}:root[data-theme=dark] .profile-avatar-inner{border-color:color-mix(in srgb, var(--primary) 30%, transparent);background:#111}:root[data-theme=dark] .profile-course-card-link{border-color:var(--line)}:root[data-theme=dark] .profile-course-card-link:hover{background:#0f9b8e14}:root[data-theme=dark] .profile-dept-card{background:#111111bf}:root[data-theme=dark] .profile-theme-preview.selected{background:color-mix(in srgb, var(--primary) 15%, var(--card));border-color:var(--primary)}:root[data-theme=dark] .profile-theme-preview.selected .profile-theme-preview-icon,:root[data-theme=dark] .profile-theme-preview.selected .profile-theme-preview-desc{color:var(--primary)}.profile-page{max-width:840px;margin:0 auto}.profile-hero{text-align:center;background:var(--primary-soft);border-radius:24px;margin-bottom:1.5rem;padding:3rem 2rem 2.5rem;position:relative;overflow:hidden}.profile-avatar-wrap{margin-bottom:1.25rem;display:inline-flex;position:relative}.profile-avatar-inner{width:96px;height:96px;color:var(--primary);border:3px solid color-mix(in srgb, var(--primary) 20%, transparent);background:#fff;border-radius:50%;place-items:center;font-size:2.4rem;font-weight:800;line-height:1;display:grid}.profile-hero h1{letter-spacing:-.03em;color:var(--ink);margin:0 0 .25rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.15}.profile-hero .profile-email{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.profile-dept-card{-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);background:#ffffffa6;border-radius:14px;align-items:center;gap:.85rem;margin-top:1rem;padding:.7rem 1.2rem;display:inline-flex;box-shadow:0 2px 12px #08786f0f}.profile-dept-icon{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary-dark);border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.profile-dept-info{text-align:left;flex-direction:column;gap:.15rem;display:flex}.profile-dept-info strong{color:var(--ink);max-width:260px;font-size:.95rem;font-weight:700;line-height:1.25}.profile-dept-info span{color:var(--muted);font-size:.78rem;font-weight:600}[data-theme=dark] .profile-dept-icon{background:color-mix(in srgb, var(--primary) 22%, transparent)}.profile-stats{grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1.25rem;display:grid}.profile-stat{background:var(--panel-strong);border:1px solid var(--line);text-align:center;cursor:default;border-radius:18px;padding:1.25rem .75rem;transition:transform .16s ease-out}.profile-stat:hover{transform:translateY(-2px)}.profile-stat svg{color:var(--primary);margin:0 auto .4rem}.profile-stat strong{letter-spacing:-.03em;color:var(--ink);font-size:1.6rem;font-weight:800;line-height:1.2;display:block}.profile-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem;font-size:.74rem;font-weight:600;display:block}.profile-two-col{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.profile-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.5rem;transition:box-shadow .16s ease-out}.profile-card:hover{box-shadow:0 8px 24px #0000000d}.profile-card-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.profile-card-header svg{color:var(--primary);flex:none}.profile-card-header h2{color:var(--ink);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.profile-card-header p{color:var(--muted);margin:.1rem 0 0;font-size:.82rem;line-height:1.4}.profile-academic-avatar{background:var(--primary-soft);color:var(--primary-dark);letter-spacing:-.01em;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1rem;font-weight:800;display:grid}.profile-form-fields{gap:.85rem;margin-bottom:1rem;display:grid}.profile-email-input:disabled{background:var(--surface);color:var(--ink);cursor:default;opacity:.7}.profile-theme-previews{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.profile-theme-preview{border:1.5px solid var(--line);color:var(--muted);cursor:pointer;transition:transform .12s var(--ease-out), border-color .16s var(--ease-out), background .16s var(--ease-out), color .16s var(--ease-out), box-shadow .16s var(--ease-out);text-align:center;background:0 0;border-radius:12px;outline:none;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .5rem .7rem;display:flex}.profile-theme-preview:active{transform:scale(.97)}.profile-theme-preview.selected{background:color-mix(in srgb, var(--primary) 12%, var(--card));border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.profile-theme-preview-icon{color:var(--muted);transition:color .16s var(--ease-out);place-items:center;display:grid}.profile-theme-preview.selected .profile-theme-preview-icon{color:var(--primary)}.profile-theme-preview-label{color:var(--ink);font-size:.85rem;font-weight:700}.profile-theme-preview-desc{color:var(--muted);transition:color .16s var(--ease-out);font-size:.7rem;font-weight:500}.profile-theme-preview.selected .profile-theme-preview-desc{color:var(--primary-dark)}.profile-color-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .65rem;font-size:.74rem;font-weight:700}.profile-swatch-grid{grid-template-columns:repeat(3,1fr);justify-items:center;gap:.6rem;display:grid}.profile-swatch{cursor:pointer;width:56px;height:56px;transition:transform .14s var(--ease-out), border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);border:2px solid #0000;border-radius:14px;outline:none;place-items:center;padding:0;display:grid;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000014}.profile-swatch:hover{transform:scale(1.08);box-shadow:inset 0 1px #ffffff73,inset 0 -1px #0000001f,0 4px 14px #0000001f}.profile-swatch:active{transition:transform .1s var(--ease-out);transform:scale(.96)}.profile-swatch.selected{border-color:var(--ink);box-shadow:inset 0 1px 0 #ffffff59, 0 0 0 2px var(--panel-strong), 0 0 0 4px currentColor;transform:scale(1)}.profile-course-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:clamp(1rem,2vw,1.35rem);display:grid}.profile-course-card{isolation:isolate;position:relative}.profile-course-card-link{aspect-ratio:1;background:radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--primary) 11%, transparent), transparent 32%), var(--course-card-bg);border:1.5px solid color-mix(in srgb, var(--primary) 25%, transparent);box-shadow:var(--shadow-sm);color:var(--ink);isolation:isolate;min-height:180px;transition:transform .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:clamp(1rem,2vw,1.25rem);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding:clamp(1rem,2.5vw,1.3rem);text-decoration:none;display:grid;position:relative;overflow:hidden}.profile-course-card-link:before,.profile-course-card-link:after{content:"";pointer-events:none;position:absolute;inset:0}.profile-course-card-link:before{background-image:linear-gradient(color-mix(in srgb, var(--primary) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--primary) 14%, transparent) 1px, transparent 1px), radial-gradient(circle, color-mix(in srgb, var(--primary) 35%, transparent) 1.2px, transparent 1.6px);opacity:.55;z-index:0;background-position:-1px -1px,-1px -1px,-1px -1px;background-size:42px 42px}.profile-course-card-link:after{mix-blend-mode:normal;opacity:.5;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='220' height='92' viewBox='0 0 220 92' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%230f9b8e' stroke-width='1.1' stroke-linecap='round' opacity='0.32'%3E%3Cpath d='M-10 22 C 22 8 54 36 86 22 S 150 8 182 22 246 36 278 22'/%3E%3Cpath d='M-10 48 C 22 34 54 62 86 48 S 150 34 182 48 246 62 278 48'/%3E%3Cpath d='M-10 74 C 22 60 54 88 86 74 S 150 60 182 74 246 88 278 74'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 92px}.profile-course-card-link>*{z-index:1;position:relative}.profile-course-card-link .course-card-title{letter-spacing:0;font-size:clamp(.9rem,1.4vw,1.15rem);font-weight:700}.profile-course-card-link .course-card-code{font-size:.72rem}.profile-course-card-link .course-card-chevron{justify-self:end}@media (hover:hover) and (pointer:fine){.profile-course-card-link:hover{border-color:var(--primary);box-shadow:0 12px 28px #00000024, 0 0 0 1px color-mix(in srgb, var(--primary) 25%, transparent);transform:translateY(-3px)}}.profile-course-card-link:active{transition:transform .12s var(--ease-out);transform:scale(.985)}.profile-course-card-remove{background:var(--card);border:1px solid var(--line);color:var(--muted);cursor:pointer;opacity:0;z-index:2;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;transition:opacity .16s ease-out,background .16s ease-out,color .16s ease-out;display:grid;position:absolute;top:.65rem;right:.65rem}.profile-course-card:hover .profile-course-card-remove{opacity:1}.profile-course-card-remove:hover{border-color:var(--danger);color:var(--danger);background:#dc26261a}.profile-account-actions{gap:.75rem;display:flex}.profile-account-actions button{flex:1}.profile-danger-btn{border:1px solid var(--danger);color:var(--danger);min-height:48px;transition:transform .12s var(--ease-out), background .12s var(--ease-out), box-shadow .12s var(--ease-out);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.25rem;font-weight:800;display:inline-flex}.profile-danger-btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.profile-danger-btn:hover{background:#dc262614}}.profile-empty-hint{color:var(--muted);margin:0;padding:.5rem 0;font-size:.88rem;line-height:1.6}.profile-course-limit-warn,.profile-course-limit-full{border-radius:10px;align-items:center;gap:.4rem;margin:.5rem 0 0;padding:.5rem .75rem;font-size:.82rem;font-weight:600;display:flex}.profile-course-limit-warn{color:var(--warning);background:#f59e0b14}.profile-course-limit-full{color:var(--mastery-high);background:#10b98114}[data-theme=dark] .profile-course-limit-warn{color:var(--warning);background:#f59e0b1f}[data-theme=dark] .profile-course-limit-full{color:var(--mastery-high);background:#10b9811f}.course-editor-limit-badge{color:var(--danger);letter-spacing:.05em;background:#ef44441f;border-radius:999px;margin-left:.5rem;padding:.15rem .45rem;font-size:.65rem;font-weight:800}[data-theme=dark] .course-editor-limit-badge{color:var(--danger);background:#ef44442e}.profile-stagger{opacity:0;animation:.3s cubic-bezier(.23,1,.32,1) forwards profileFadeUp}@keyframes profileFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-course-card-remove{transition:opacity .16s ease-out,background .16s ease-out,color .16s ease-out,transform .12s ease-out}.profile-course-card-remove:active{transform:scale(.88)}.profile-course-card-link{transition:border-color .16s ease-out,background .16s ease-out}@media (prefers-reduced-motion:reduce){.profile-stagger{opacity:1;animation:none}.profile-stat,.profile-card{box-shadow:none;transition:none}.profile-stat:hover{transform:none}}@media (width<=700px){.profile-page{padding:0 0 max(1rem, env(safe-area-inset-bottom))}.profile-hero{border-radius:0 0 20px 20px;margin-bottom:1rem;padding:clamp(1.5rem,5vw,2rem) clamp(1rem,4vw,1.5rem)}.profile-avatar-inner{width:72px;height:72px;font-size:1.8rem}.profile-hero h1{font-size:clamp(1.25rem,4vw,1.5rem)}.profile-hero .profile-email{font-size:.85rem}.profile-stats{grid-template-columns:repeat(2,1fr);gap:.65rem;padding:0 1rem}.profile-stat{border-radius:14px;padding:1rem .5rem}.profile-stat strong{font-size:1.35rem}.profile-stat span{font-size:.68rem}.profile-two-col{grid-template-columns:1fr;padding:0 1rem}.profile-card{border-radius:16px;margin-bottom:.75rem;padding:clamp(1rem,3vw,1.25rem)}.profile-card-header h2{font-size:.95rem}.profile-theme-previews{gap:.4rem}.profile-theme-preview{border-radius:10px;padding:.65rem .4rem .55rem}.profile-swatch{border-radius:12px}.profile-course-card-link{border-radius:12px;min-height:150px;padding:.75rem .85rem}.profile-course-card-remove{opacity:1;width:32px;height:32px;top:.5rem;right:.5rem}.profile-account-actions{flex-direction:column;gap:.65rem}.profile-account-actions button{min-height:48px}.profile-danger-btn{border-radius:12px}}.profile-edit-courses-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;transition:all .16s;display:inline-flex}.profile-edit-courses-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.course-editor-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.course-editor-modal{background:var(--panel-strong);border:1px solid var(--line);width:100%;max-width:520px;max-height:85vh;animation:slideUp .2s var(--ease-out);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.course-editor-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.25rem .75rem;display:flex}.course-editor-header h3{margin:0;font-size:1.1rem;font-weight:700}.course-editor-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:all .15s;display:grid}.course-editor-close:hover{background:var(--line);color:var(--ink)}.course-editor-selected{border-bottom:1px solid var(--line);flex-shrink:0;min-height:60px;max-height:120px;padding:.75rem 1.25rem;overflow-y:auto}.course-editor-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.75rem;font-weight:600}.course-editor-empty{color:var(--muted);margin:0;font-size:.85rem}.course-editor-chips{flex-wrap:wrap;gap:.4rem;display:flex}.course-editor-chip{background:var(--primary-soft);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);color:var(--primary-dark);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.course-editor-chip button{width:18px;height:18px;color:var(--primary-dark);cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .12s;display:grid}.course-editor-chip button:hover{opacity:1}.course-editor-search{border:1px solid var(--line);background:var(--panel);z-index:2;border-radius:12px;flex-shrink:0;align-items:center;gap:.5rem;margin:.75rem 1.25rem;padding:.6rem .85rem;transition:border-color .16s;display:flex;position:relative}.course-editor-search:focus-within{border-color:var(--primary)}.course-editor-search svg{color:var(--muted);flex:none}.course-editor-search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:.9rem}.course-editor-search input::placeholder{color:var(--muted)}.course-editor-search-clear{background:var(--line);width:22px;height:22px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:all .12s;display:grid}.course-editor-search-clear:hover{background:var(--muted);color:var(--panel-strong)}.course-editor-results{z-index:1;flex:1;min-height:120px;max-height:45vh;padding:0 1.25rem;position:relative;overflow-y:auto}.course-editor-loading{text-align:center;color:var(--muted);padding:2rem 0;font-size:.88rem}.course-editor-result{border:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;width:100%;margin-bottom:.35rem;padding:.7rem .85rem;transition:all .14s;display:flex}.course-editor-result:hover{border-color:var(--primary);background:var(--primary-soft)}.course-editor-result.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, transparent)}.course-editor-result:disabled{opacity:.45;cursor:not-allowed}.course-editor-result-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.course-editor-result-code{color:var(--primary-dark);letter-spacing:.03em;font-size:.8rem;font-weight:700}.course-editor-result-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.course-editor-result-action{color:var(--primary);white-space:nowrap;flex:none;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;display:inline-flex}.course-editor-result.selected .course-editor-result-action{color:var(--primary-dark)}.course-editor-load-more{border:1px dashed var(--line);width:100%;color:var(--primary);cursor:pointer;background:0 0;border-radius:10px;margin:.5rem 0 .75rem;padding:.65rem;font-size:.85rem;font-weight:600;transition:all .14s;display:block}.course-editor-load-more:hover{border-color:var(--primary);background:var(--primary-soft)}.course-editor-footer{border-top:1px solid var(--line);flex-shrink:0;gap:.75rem;padding:.85rem 1.25rem;display:flex}.course-editor-footer button{flex:1}.course-editor-footer .ghost-button,.course-editor-footer .primary-button{border-radius:12px}@media (width<=640px){.course-editor-modal{border-radius:16px 16px 0 0;align-self:flex-end;max-height:90vh}.course-editor-selected{max-height:100px}.course-editor-results{max-height:50vh}}@font-face{font-family:Geist;src:url(/brand/Geist-Regular.woff2)format("woff2"),url(/brand/Geist-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/brand/Geist-Medium.woff2)format("woff2"),url(/brand/Geist-Medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/brand/Geist-SemiBold.woff2)format("woff2"),url(/brand/Geist-SemiBold.ttf)format("truetype");font-weight:600 700;font-display:swap}@font-face{font-family:Geist;src:url(/brand/Geist-Bold.woff2)format("woff2"),url(/brand/Geist-Bold.ttf)format("truetype");font-weight:800 900;font-display:swap}:root{color:#17211f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--text-xs:.75rem;--text-sm:.88rem;--text-base:1rem;--text-md:1.1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-4xl:3rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--pill-pad-sm:.25rem .6rem;--pill-pad-md:.35rem .75rem;--primary:#0f9b8e;--primary-dark:#08786f;--primary-soft:#ddf7f3;--brand-gradient:linear-gradient(135deg, #7ef5e8 0%, #2dd4bf 35%, #0f9b8e 68%, #08786f 100%);--ink:#111827;--muted:#6b7280;--line:#0f766e29;--panel:#ffffffdb;--panel-strong:#fff;--bg:#fff;--card:#fff;--course-card-bg:#dfe3e1;--surface:#f7fbf9;--surface-hover:#f0f7f5;--shadow:0 12px 36px #08786f14;--shadow-sm:0 2px 8px #08786f0f;--shadow-lg:0 20px 60px #08786f1a;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--danger:#dc2626;--warning:#d97706;--success:#059669;--mastery-high:#10b981;--mastery-mid:#f59e0b;--mastery-low:#ef4444;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;background:#fff;font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}[data-theme=dark]{color:#e5e7eb;--ink:#f3f4f6;--muted:#9ca3af;--line:#ffffff1f;--primary-soft:#0f9b8e40;--panel:#000000e6;--panel-strong:#111;--bg:#000;--card:#111;--course-card-bg:#111;--surface:#0a0a0a;--surface-hover:#1a1a1a;--shadow:0 12px 36px #00000080;--shadow-sm:0 2px 8px #0000004d;--shadow-lg:0 20px 60px #0009;--danger:#f87171;--warning:#fbbf24;--success:#34d399;--mastery-high:#34d399;--mastery-mid:#fbbf24;--mastery-low:#f87171;background:#000}[data-theme=dark] body{background:#000}*{box-sizing:border-box}html{background:var(--surface);min-height:100%}body{background:var(--surface);min-height:100dvh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}img,svg{display:block}h1,h2,h3,p{margin:0}input,select{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);width:100%;color:var(--ink);transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out), background .16s var(--ease-out);outline:none;padding:.9rem 1rem}input:focus,select:focus{border-color:#0f9b8e8c;box-shadow:0 0 0 3px #0f9b8e1f}label{color:var(--ink);gap:.5rem;font-weight:700;display:grid}#root{min-height:100dvh}.logo-lockup{align-items:center;gap:.85rem;display:inline-flex}.logo-lockup.compact{justify-content:center;display:flex}.logo-mark{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 24px #0f9b8e1a}.logo-mark img{width:42px;height:42px}.brand-logo-mask{background:var(--brand-gradient,linear-gradient(135deg, var(--primary), var(--primary-dark)));background-size:160% 160%;width:42px;height:42px;display:block;-webkit-mask:url(/brand/logo.svg) 50%/contain no-repeat;mask:url(/brand/logo.svg) 50%/contain no-repeat}.logo-lockup strong{color:var(--ink);font-size:1.15rem;display:block}.logo-lockup small{color:var(--muted);margin-top:.1rem;font-size:.8rem;display:block}.public-shell{min-height:100vh;padding:2rem}.mobile-landing,.mobile-progress-bar{display:none}.landing-grid,.auth-layout,.signup-grid{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--panel);min-height:calc(100vh - 4rem);box-shadow:var(--shadow);grid-template-columns:minmax(0,.95fr) minmax(min(420px,100%),1.05fr);display:grid;overflow:hidden}.landing-copy,.auth-panel,.signup-progress{flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.8rem);display:flex}.landing-copy,.auth-panel,.signup-form-panel{min-height:0;overflow:auto}.hero-text{max-width:640px;margin-top:4.5rem}.eyebrow,.section-label{display:none!important}.hero-text h1,.page-header h1,.course-detail-hero h1,.completion-card h1,.signup-progress h1,.auth-panel h1{color:var(--ink);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.4rem,6vw,5.4rem);line-height:1}.hero-text h1 span{color:var(--primary)}.hero-text p,.auth-panel p,.signup-progress p,.hero-dashboard p,.course-detail-hero p,.state-card p,.upload-drop p{color:var(--muted);font-size:1rem;line-height:1.65}.hero-text p{max-width:560px;margin-top:1.3rem}.cta-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.signup-actions{grid-template-columns:minmax(130px,.35fr) minmax(180px,.65fr);align-items:center;gap:1rem;margin-top:2rem;display:grid}.signup-actions .primary-button,.signup-actions .ghost-button{width:100%}.cta-row.center{justify-content:center}.primary-button,.ghost-button{min-height:48px;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .12s var(--ease-out);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.25rem;font-weight:800;display:inline-flex}.primary-button:active,.ghost-button:active{transform:scale(.97)}.primary-button{background:var(--primary);color:#fff;box-shadow:0 4px 12px #0f9b8e47}@media (hover:hover) and (pointer:fine){.primary-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f9b8e59}}.primary-button:focus-visible,.ghost-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ghost-button{background:var(--card);border:1px solid var(--line);color:var(--ink)}@media (hover:hover) and (pointer:fine){.ghost-button:hover{background:var(--surface-hover)}}.primary-button.full,.ghost-button.full{width:100%}.feature-list{gap:1rem;margin-top:auto;padding-top:4rem;display:grid}.feature-list div,.check-list li{color:var(--ink);align-items:center;gap:.75rem;display:flex}.feature-list svg,.check-list li:before{color:var(--primary);flex:none}.landing-visual,.auth-visual{background:linear-gradient(135deg,#0ea5921f,#0d948840),#042f2e;place-items:center;min-height:100%;padding:3rem;display:grid;position:relative;overflow:hidden}.orb{filter:blur(2px);border-radius:50%;position:absolute}.orb-one{background:#2dd4bf4d;width:280px;height:280px;top:10%;right:10%}.orb-two{background:#0f9b8e59;width:200px;height:200px;bottom:8%;left:8%}.device-frame{border-radius:var(--radius-xl);background:#ffffff1f;border:1px solid #fff3;width:100%;max-width:560px;min-height:680px;padding:1rem;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000004d}.device-header{gap:.5rem;padding:.35rem .55rem 1rem;display:flex}.device-header span{background:var(--line);border-radius:50%;width:10px;height:10px}.device-frame>img{max-width:92%;position:absolute;bottom:0;right:0}.hero-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);z-index:2;padding:1.25rem;position:absolute;box-shadow:0 18px 60px #0000002e}.hero-card.live{top:5rem;left:2rem;right:2rem}.hero-card.live div,.hero-card.floating{align-items:center;gap:.75rem;display:flex}.hero-card.live strong{letter-spacing:-.06em;margin-top:1rem;font-size:2.6rem;display:block}.hero-card.live span,.hero-card.floating span{color:var(--muted)}.hero-card.floating.top{top:16.5rem;right:2rem}.hero-card.floating.bottom{bottom:4rem;left:2rem}.auth-layout{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}.auth-panel{gap:1.5rem}.auth-panel h1{font-size:clamp(2.2rem,5vw,4.2rem)}.auth-form,.step-fields,.profile-form,.event-form{gap:1rem;display:grid}.auth-form label span{align-items:center;gap:.65rem;display:flex;position:relative}.auth-form label svg{color:var(--muted);z-index:1;position:absolute;left:1rem}.auth-form input{padding-left:2.8rem}.password-field{align-items:center;display:flex;position:relative}.password-field input{width:100%;padding-right:2.8rem}.password-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;min-width:48px;height:100%;min-height:48px;padding:0 .5rem;transition:color .16s ease-out;display:grid;position:absolute;top:0;right:0}.password-toggle:hover{color:var(--ink)}.password-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:8px}.form-error{font-weight:700;color:var(--danger)!important}.auth-switch{font-size:.95rem!important}.auth-switch a,.inline-link,.section-title a,.result-count{color:var(--primary-dark)}.auth-divider{align-items:center;gap:1rem;margin:.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{border-top:1px solid var(--line);content:"";flex:1}.auth-divider span{color:var(--muted);text-transform:uppercase;font-size:.85rem;font-weight:600}.google-button{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:48px;padding:.85rem 1.25rem;font-weight:700;transition:transform .16s ease-out,background .16s ease-out;display:inline-flex}.google-button:hover{background:var(--surface-hover)}.google-button:active{transform:scale(.97)}.google-button:disabled{opacity:.6;cursor:not-allowed}.google-button.full{width:100%}.back-link{color:var(--muted);align-items:center;gap:.45rem;font-weight:800;display:inline-flex}.auth-visual img{z-index:1;max-width:min(460px,80%);position:relative}.auth-visual div{background:var(--card);border-radius:var(--radius-lg);color:var(--ink);z-index:2;gap:.5rem;max-width:320px;padding:1.2rem;display:grid;position:absolute;bottom:3rem;right:3rem}.auth-visual div span{color:var(--muted);line-height:1.5}.signup-grid{grid-template-columns:minmax(320px,.65fr) minmax(0,1fr)}.signup-progress{background:var(--surface);border-right:1px solid var(--line);justify-content:flex-start}.signup-progress h1{margin-top:4rem;font-size:clamp(2rem,4vw,3.2rem)}.step-row{opacity:.65;align-items:center;gap:.9rem;margin-top:1rem;display:flex}.step-row span{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:flex}.step-row.active,.step-row.done{opacity:1}.step-row.active span,.step-row.done span{background:var(--primary);color:#fff}.signup-progress .inline-link{margin-top:auto}.signup-form-panel{flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5rem);display:flex}.step-panel{gap:2rem;display:grid}.speech-heading{align-items:flex-start;gap:1rem;display:flex}.speech-heading>span{background:var(--primary-soft);color:var(--primary-dark);border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.speech-heading h2{border:1px solid var(--line);color:var(--ink);background:var(--card);border-radius:22px 22px 22px 4px;flex:1;padding:1rem 1.2rem}.two-col,.three-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.selection-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;display:grid}.selection-grid.departments{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.selection-grid button{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);text-align:left;transition:border-color .16s var(--ease-out), background .16s var(--ease-out), transform .12s var(--ease-out);justify-content:flex-start;align-items:center;gap:.6rem;padding:1rem;font-weight:800;display:flex}.selection-grid button:active{transform:scale(.98)}.selection-grid button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.selection-grid button.selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}[data-theme=dark] .selection-grid button.selected{background:color-mix(in srgb, var(--primary) 25%, transparent);border-color:var(--primary);color:var(--primary)}.course-select-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.course-select-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.9rem 1rem;font-weight:400;transition:border-color .16s ease-out,transform .16s ease-out,background .16s ease-out;display:flex}.course-select-card:hover{border-color:var(--primary);transform:translateY(-2px)}.course-select-card.selected{background:var(--primary-soft);border-color:var(--primary)}.course-select-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.course-select-card:active{transform:scale(.98)}.course-select-card:disabled:not(.selected){cursor:not-allowed;opacity:.55;transform:none}[data-theme=dark] .course-select-card.selected{background:color-mix(in srgb, var(--primary) 25%, transparent);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .course-select-card.selected .course-select-meta span{background:color-mix(in srgb, var(--primary) 15%, transparent);border-color:var(--primary);color:var(--primary);opacity:.9}.course-select-topline{justify-content:space-between;align-items:center;width:100%;display:flex}.course-select-code{color:var(--muted);letter-spacing:.03em;font-size:.8rem;font-weight:700}.course-select-check{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:flex}.course-select-card h4{margin:0;font-size:.95rem;font-weight:700;line-height:1.3}.course-select-meta{flex-wrap:wrap;gap:.4rem;margin-top:.2rem;display:flex}.course-select-meta span{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--pill-pad-sm);color:var(--muted);font-size:.75rem;font-weight:600}.course-select-card.selected .course-select-meta span{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.course-select-count{color:var(--muted);text-align:center;margin-top:.75rem;font-size:.85rem;font-weight:600}.course-count-warning{color:#d97706}[data-theme=dark] .course-count-warning{color:#fbbf24}.course-search-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;transition:border-color .16s ease-out;display:flex}.course-browse-modes{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.course-browse-modes .ghost-button{flex:14rem}.course-browse-modes .ghost-button.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary)}.course-search-row:focus-within{border-color:var(--primary)}.course-search-row svg{color:var(--muted);flex-shrink:0}.course-search-input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:.9rem}.course-search-input::placeholder{color:var(--muted)}.course-load-more{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--ink);cursor:pointer;margin-top:.75rem;padding:.65rem 1rem;font-size:.88rem;font-weight:600;transition:border-color .16s ease-out,background .16s ease-out;display:block}.course-load-more:hover{border-color:var(--primary);background:var(--primary-soft)}.course-load-more:disabled{opacity:.5;cursor:not-allowed}.course-select-loading{flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0;display:flex}.step-hint{color:var(--muted);margin-bottom:.75rem;font-size:.88rem}.credentials-divider{align-items:center;gap:1rem;margin:1.5rem 0 1rem;display:flex}.credentials-divider:before,.credentials-divider:after{content:"";background:var(--line);flex:1;height:1px}.credentials-divider span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.8rem;font-weight:700}.app-shell{grid-template-columns:88px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);overscroll-behavior:contain;z-index:20;flex-direction:column;align-items:center;gap:2rem;height:100dvh;padding:1.4rem .9rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .logo-mark{width:52px;height:52px}.sidebar nav{gap:.8rem;width:100%;display:grid}.nav-item,.profile-chip,.sidebar-footer button{border-radius:var(--radius-md);color:var(--muted);width:100%;min-height:52px;transition:background .12s var(--ease-out), color .12s var(--ease-out);border:0;justify-content:center;align-items:center;gap:.8rem;padding:.8rem;display:flex}@media (hover:hover) and (pointer:fine){.nav-item:hover,.profile-chip:hover,.sidebar-footer button:hover{background:color-mix(in srgb, var(--primary-soft) 60%, transparent);color:var(--primary-dark)}}.nav-item:active{transform:scale(.97)}.nav-item span,.profile-chip span,.sidebar-footer button span{display:none}.nav-item.active{background:color-mix(in srgb, var(--primary-soft) 80%, transparent);color:var(--primary-dark)}[data-theme=dark] .nav-item.active{background:color-mix(in srgb, var(--primary) 35%, transparent);color:var(--primary)}[data-theme=dark] .nav-item:hover{background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--primary)}.sidebar-footer{gap:.75rem;width:100%;margin-top:auto;display:grid}.sidebar-footer button{background:0 0}.app-main{min-width:0;padding:clamp(1.25rem,3vw,2.5rem)}.mobile-menu-button,.close-mobile,.menu-backdrop,.sidebar-header{display:none}.page-stack{gap:1.4rem;max-width:1240px;margin:0 auto;padding-bottom:clamp(2rem,5vh,4rem);display:grid}.page-stack.narrow{max-width:820px}.section-label{display:none!important}.page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{font-size:clamp(2.1rem,4vw,4rem)}.hero-dashboard,.course-detail-hero,.section-card,.metric-card,.quiz-card,.completion-card,.state-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0f9b8e14}[data-theme=dark] .hero-dashboard,[data-theme=dark] .course-detail-hero,[data-theme=dark] .section-card,[data-theme=dark] .metric-card,[data-theme=dark] .quiz-card,[data-theme=dark] .completion-card,[data-theme=dark] .state-card{background:#ffffff08;border-color:#0f9b8e1f}.hero-dashboard,.course-detail-hero{justify-content:space-between;align-items:center;padding:clamp(1.5rem,4vw,2.5rem);display:flex;overflow:hidden}.hero-dashboard h2{color:var(--ink);letter-spacing:-.035em;margin:.5rem 0 .75rem;font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:800;line-height:1.05}.hero-dashboard img{width:200px;max-height:170px}.hub-hero-mark{opacity:.92;flex:none;width:180px;height:180px;-webkit-mask-image:url(/brand/hub.svg);mask-image:url(/brand/hub.svg)}.streak-dashboard-card,.course-journey-card,.course-embark-card,.streak-cta-card,.streak-calendar-card,.streak-hero-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #0f9b8e24}[data-theme=dark] .streak-dashboard-card,[data-theme=dark] .course-journey-card,[data-theme=dark] .course-embark-card,[data-theme=dark] .streak-cta-card,[data-theme=dark] .streak-calendar-card,[data-theme=dark] .streak-hero-card{background:var(--card);border-color:#0f9b8e33}.streak-dashboard-card{justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,1.7rem);display:flex}.streak-dashboard-card h2,.course-embark-card h2,.streak-cta-card h2,.streak-calendar-card h2{color:var(--ink);line-height:1.15}.streak-dashboard-card p:not(.eyebrow),.streak-cta-card p{color:var(--muted);margin-top:.35rem;line-height:1.55}.course-journey-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:clamp(1rem,2vw,1.35rem);display:grid}@keyframes course-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.course-journey-grid>.course-journey-card{animation:course-fade-in .28s var(--ease-out) both}.course-journey-grid>.course-journey-card:first-child{animation-delay:0s}.course-journey-grid>.course-journey-card:nth-child(2){animation-delay:35ms}.course-journey-grid>.course-journey-card:nth-child(3){animation-delay:70ms}.course-journey-grid>.course-journey-card:nth-child(4){animation-delay:.105s}.course-journey-grid>.course-journey-card:nth-child(5){animation-delay:.14s}.course-journey-grid>.course-journey-card:nth-child(6){animation-delay:.175s}.course-journey-card{min-height:132px;transition:transform .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:.75rem;padding:1rem;display:grid}@media (hover:hover) and (pointer:fine){.course-journey-card:hover{border-color:color-mix(in srgb, var(--primary) 34%, transparent);box-shadow:var(--shadow);transform:translateY(-2px)}}.course-journey-card:active{transform:scale(.98)}.course-journey-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.course-journey-icon,.course-embark-icon,.streak-clock{background:color-mix(in srgb, var(--primary) 13%, transparent);border:1px solid color-mix(in srgb, var(--primary) 24%, transparent);color:var(--primary-dark);border-radius:16px;place-items:center;width:54px;height:54px;display:grid}[data-theme=dark] .course-journey-icon,[data-theme=dark] .course-embark-icon,[data-theme=dark] .streak-clock{color:var(--primary)}.course-journey-copy>span,.course-embark-card>div>span{color:var(--primary-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:900}.course-journey-copy h3{color:var(--ink);margin:.2rem 0 .6rem;font-size:1rem;line-height:1.35}.course-journey-tags,.course-embark-tags{flex-wrap:wrap;gap:.45rem;display:flex}.course-journey-tags small,.course-embark-tags small{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.25rem .6rem;font-weight:700}.course-journey-cta{color:var(--primary-dark);border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.25rem;padding-top:.5rem;font-weight:900;display:flex}.course-embark-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,1.7rem);display:grid}.course-embark-icon{border-radius:20px;width:68px;height:68px}.course-embark-card h2{margin:.2rem 0;font-size:clamp(1.25rem,3vw,1.8rem)}.course-embark-tags{grid-column:1/-1}.metrics-grid{grid-template-columns:2fr repeat(4,1fr);gap:.85rem;display:grid}@media (width<=640px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=400px){.metrics-grid{grid-template-columns:1fr}}.metric-card{transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);gap:.4rem;padding:1.15rem 1.25rem;display:grid}@keyframes metric-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.metrics-grid>.metric-card{animation:metric-fade-in .25s var(--ease-out) both}.metrics-grid>.metric-card:first-child{animation-delay:0s}.metrics-grid>.metric-card:nth-child(2){animation-delay:40ms}.metrics-grid>.metric-card:nth-child(3){animation-delay:80ms}.metrics-grid>.metric-card:nth-child(4){animation-delay:.12s}@media (hover:hover) and (pointer:fine){.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #08786f0f}}.metric-card:active{transform:scale(.98)}.metric-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.metric-icon{background:var(--primary-soft);color:var(--primary-dark);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}[data-theme=dark] .metric-icon{background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--primary)}.metric-card p,.metric-card span{color:var(--muted);font-size:var(--text-sm)}.metric-card strong{color:var(--ink);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1.1}.section-card{padding:clamp(1.25rem,3vw,1.75rem)}.section-card.notice{background:#0f9b8e0a;border-color:#0f9b8e24;padding:.8rem 1.2rem}[data-theme=dark] .section-card.notice{background:#0f9b8e0f}.section-title h2,.section-card h2{color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:clamp(1rem,2vw,1.35rem);display:grid}.course-grid>.course-card{animation:course-fade-in .28s var(--ease-out) both}.course-grid>.course-card:first-child{animation-delay:0s}.course-grid>.course-card:nth-child(2){animation-delay:35ms}.course-grid>.course-card:nth-child(3){animation-delay:70ms}.course-grid>.course-card:nth-child(4){animation-delay:.105s}.course-grid>.course-card:nth-child(5){animation-delay:.14s}.course-grid>.course-card:nth-child(6){animation-delay:.175s}.course-card,.course-journey-card{aspect-ratio:1;background:radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--primary) 11%, transparent), transparent 32%), var(--course-card-bg);border:1.5px solid color-mix(in srgb, var(--primary) 25%, transparent);box-shadow:var(--shadow-sm);color:var(--ink);isolation:isolate;min-height:210px;transition:transform .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:clamp(1rem,2vw,1.25rem);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding:clamp(1.25rem,2.8vw,1.7rem);text-decoration:none;display:grid;position:relative;overflow:hidden}.course-card:before,.course-card:after,.course-journey-card:before,.course-journey-card:after{content:"";pointer-events:none;position:absolute;inset:0}.course-card:before,.course-journey-card:before{background-image:linear-gradient(color-mix(in srgb, var(--primary) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--primary) 14%, transparent) 1px, transparent 1px), radial-gradient(circle, color-mix(in srgb, var(--primary) 35%, transparent) 1.2px, transparent 1.6px);opacity:.55;z-index:0;background-position:-1px -1px,-1px -1px,-1px -1px;background-size:42px 42px}.course-card:after,.course-journey-card:after{mix-blend-mode:normal;opacity:.5;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='220' height='92' viewBox='0 0 220 92' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%230f9b8e' stroke-width='1.1' stroke-linecap='round' opacity='0.32'%3E%3Cpath d='M-10 22 C 22 8 54 36 86 22 S 150 8 182 22 246 36 278 22'/%3E%3Cpath d='M-10 48 C 22 34 54 62 86 48 S 150 34 182 48 246 62 278 48'/%3E%3Cpath d='M-10 74 C 22 60 54 88 86 74 S 150 60 182 74 246 88 278 74'/%3E%3C/g%3E%3C/svg%3E");background-size:220px 92px}.course-card>*,.course-journey-card>*{z-index:1;position:relative}@media (hover:hover) and (pointer:fine){.course-card:hover,.course-journey-card:hover{border-color:var(--primary);box-shadow:0 12px 28px #00000024, 0 0 0 1px color-mix(in srgb, var(--primary) 25%, transparent);transform:translateY(-3px)}}.course-card:active,.course-journey-card:active{transition:transform .12s var(--ease-out);transform:scale(.985)}@media (hover:hover) and (pointer:fine){[data-theme=dark] .course-card:hover,[data-theme=dark] .course-journey-card:hover{box-shadow:0 12px 28px #0f9b8e2e, 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent)}}.course-card:focus-visible,.course-journey-card:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 50%, transparent);outline-offset:3px}.course-card-code{color:color-mix(in srgb, var(--primary) 85%, white);letter-spacing:.045em;text-transform:uppercase;font-size:.78rem;font-weight:700}.course-card-title{color:var(--ink);letter-spacing:-.01em;text-align:center;text-transform:uppercase;place-self:center;max-width:14ch;margin:0;font-size:clamp(1.05rem,1.8vw,1.45rem);font-weight:800;line-height:1.1}.pill-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.course-card-bottom{justify-content:flex-end;align-items:flex-end;gap:1rem;display:flex}.course-card-chevron{color:var(--primary);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.score-chip{background:var(--primary);color:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:800}.pill-row span{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .7rem;font-size:.85rem;font-weight:700}.filter-bar{grid-template-columns:minmax(260px,1fr) minmax(220px,.25fr) minmax(160px,.18fr);align-items:center;gap:1rem;display:grid}@media (width<=640px){.filter-bar{grid-template-columns:1fr}}.search-box{background:var(--card);border:1px solid var(--line);transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);border-radius:999px;align-items:center;gap:.6rem;padding:0 1rem;display:flex}.search-box:focus-within{border-color:#0f9b8e8c;box-shadow:0 0 0 3px #0f9b8e1f}.search-box input{box-shadow:none;border:0;padding-left:0}.search-box.compact{max-width:280px}.result-count{margin-left:.2rem}.course-detail-hero{align-items:flex-start;gap:1.2rem}.course-detail-hero h1{margin:.4rem 0 .8rem;font-size:clamp(2rem,4vw,3.8rem)}.course-detail-hero p{max-width:820px}.detail-grid,.planner-grid,.study-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;display:grid}.check-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.check-list li:before{content:"✓";font-weight:800}.topic-dropdown-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.topic-dropdown-item{border:1px solid var(--line);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);transition:background .2s var(--ease-out), border-color .2s var(--ease-out);background:#ffffffb3;overflow:hidden}@media (hover:hover) and (pointer:fine){.topic-dropdown-item:hover{background:#ffffffd9;border-color:#0f9b8e33}}[data-theme=dark] .topic-dropdown-item{background:#111111d9;border-color:#0f9b8e2e}[data-theme=dark] .topic-dropdown-item:hover{background:#1a1a1af2;border-color:#0f9b8e59}.topic-dropdown-header{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;outline:none;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.chevron-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);transition:background .12s var(--ease-out), color .12s var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chevron-btn:active{transform:scale(.92)}.topic-link{border-radius:var(--radius-sm);transition:background .12s var(--ease-out);flex:1;align-items:center;gap:.75rem;padding:.25rem .5rem .25rem .25rem;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.topic-link:hover{background:#0f9b8e0f}}.topic-link:active{background:#0f9b8e1f}.chevron-icon{color:var(--muted);transition:color .2s var(--ease-out);align-items:center;display:flex}.chevron-icon.expanded{color:var(--primary)}.subtopic-count-badge{background:var(--primary-soft);color:var(--primary-dark);border-radius:12px;margin-left:auto;padding:.25rem .6rem;font-size:.8rem;font-weight:700}[data-theme=dark] .subtopic-count-badge{background:color-mix(in srgb, var(--primary) 25%, transparent);color:var(--primary)}.subtopic-dropdown-content{border-top:1px solid #0f766e14;flex-direction:column;gap:.5rem;margin:0;padding:0 1rem 1rem 2.5rem;list-style:none;display:flex}.subtopic-dropdown-content li{color:var(--muted);font-size:.9rem;position:relative}.subtopic-dropdown-content li:before{content:"•";color:var(--primary);width:1em;margin-left:-1em;font-weight:700;display:inline-block}.state-card{text-align:center;place-items:center;gap:.7rem;min-height:240px;padding:2rem;display:grid}.state-card svg{color:var(--primary)}.state-card.error svg,.state-card.error h3{color:var(--danger)}.loader{border:4px solid #0f9b8e26;border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.quiz-card{gap:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid;position:relative;overflow:hidden}.quiz-card:before{content:"";background:var(--primary);opacity:.3;height:3px;position:absolute;top:0;left:0;right:0}.quiz-progress-bar{border-radius:var(--radius-sm);background:#0f9b8e1a;height:6px;margin-bottom:.5rem;overflow:hidden}.quiz-progress-fill{background:var(--primary);border-radius:var(--radius-sm);height:100%;transition:width .4s var(--ease-out)}.quiz-card h2{color:var(--ink);white-space:pre-wrap;letter-spacing:-.01em;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;line-height:1.4}.quiz-card h2 .katex-display{margin:.5rem 0}.quiz-card .katex{font-size:1.1em}.answers-list .katex{font-size:1em}.explanation-text .katex,.explanation-steps .katex{font-size:.95em}.katex-display{margin:.5em 0;overflow:auto hidden}.katex{font-size:1.1em}.katex-display>.katex{font-size:1.2em}.katex .tooltip,.katex .katex-tooltip,.katex .mtitle,.katex .overset,.katex .underset,.katex .cancel,.katex .bcancel,.katex .xcancel{display:none!important}.katex .mord,.katex .mbin,.katex .mrel,.katex .mopen,.katex .mclose,.katex .mpunct,.katex .mop{box-shadow:none!important;background:0 0!important;border:none!important}.quiz-card .katex .mord{margin:0 .1em}.quiz-card .katex .mbin{margin:0 .2em}.quiz-card .katex .mrel{margin:0 .3em}.quiz-meta{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.quiz-meta span{color:var(--muted);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}[data-theme=dark] .quiz-meta span{background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--primary-light)}.answers-list{gap:.75rem;display:grid}.answers-list button{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-md);color:var(--ink);text-align:left;transition:all .16s var(--ease-out);cursor:pointer;align-items:center;gap:1rem;padding:1.1rem 1.25rem;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.answers-list button:hover{background:var(--surface-hover);border-color:#0f9b8e66;transform:translateY(-1px);box-shadow:0 4px 12px #0f9b8e14}}.answers-list button:active{transform:scale(.98)}.answers-list button.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 3px #0f9b8e1f}[data-theme=dark] .answers-list button.selected{background:color-mix(in srgb, var(--primary) 25%, transparent);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .answers-list button.correct{background:#22c55e26;border-color:#22c55e}[data-theme=dark] .answers-list button.wrong{background:#ef444426;border-color:#ef4444}[data-theme=dark] .quiz-result-badge.correct{color:#4ade80;background:#22c55e26;border-color:#22c55e4d}[data-theme=dark] .quiz-result-badge.wrong{color:#f87171;background:#ef444426;border-color:#ef44444d}.answer-icon{flex-shrink:0;margin-left:auto}.correct-icon{color:#22c55e}.wrong-icon{color:#ef4444}.quiz-feedback-section{animation:slideUp .3s var(--ease-out);gap:1rem;display:grid}.quiz-result-badge{border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:700;display:flex}.quiz-result-badge.correct{color:#16a34a;background:#22c55e1a;border:1px solid #22c55e33}.quiz-result-badge.wrong{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.quiz-explanation-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);animation:fadeIn .2s var(--ease-out);gap:1rem;padding:1.25rem;display:grid}.explanation-answer{align-items:flex-start;gap:.5rem;font-size:.95rem;line-height:1.5;display:flex}.explanation-answer strong{color:var(--primary);flex-shrink:0}.explanation-text{font-size:.95rem;line-height:1.6}.explanation-text strong{color:var(--ink);margin-bottom:.5rem;display:block}.explanation-text p{color:var(--muted);margin:0}.explanation-steps{font-size:.95rem}.explanation-steps strong{color:var(--ink);margin-bottom:.5rem;display:block}.explanation-steps ol{color:var(--muted);margin:0;padding-left:1.25rem;line-height:1.7}.explanation-steps li{margin-bottom:.35rem}@media (width<=640px){.quiz-card{padding:1rem}.quiz-card h2{font-size:1.1rem}.answers-list button{gap:.75rem;padding:.85rem 1rem}.answers-list button span:first-child{width:30px;height:30px;font-size:.85rem}.quiz-explanation-panel{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header h1{font-size:1.5rem}.quiz-type-selector{grid-template-columns:1fr}.quiz-type-btn{padding:1.25rem 1rem}.quiz-setup-course h2{font-size:1.1rem}.quiz-setup-stats{flex-wrap:wrap}.course-detail-hero{flex-direction:column;gap:1rem}.detail-grid{grid-template-columns:1fr}.metrics-grid{grid-template-columns:1fr 1fr}.metric-card{padding:1rem}.metric-card strong{font-size:1.5rem}}@media (width<=480px){.metrics-grid{grid-template-columns:1fr}.quiz-card h2{font-size:1rem}.answers-list button p{font-size:.9rem}.quiz-meta span{padding:.25rem .5rem;font-size:.75rem}}.answers-list button span:first-child{background:var(--primary);color:#fff;width:36px;height:36px;transition:transform .16s var(--ease-out);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.answers-list button.selected span:first-child{transform:scale(1.05)}.answers-list button p{flex:1;margin:0;line-height:1.5}.completion-card{text-align:center;background:linear-gradient(135deg,#0f9b8e08,#13b8a70d);place-items:center;gap:1.5rem;min-height:420px;padding:3rem 2rem;display:grid}.completion-card svg{color:var(--primary);animation:bounce .6s var(--ease-out)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.completion-card h1{letter-spacing:-.03em;color:var(--primary);font-size:clamp(2.5rem,6vw,4rem);font-weight:800}.completion-card p{color:var(--muted);max-width:400px;font-size:1.05rem;line-height:1.6}.quiz-setup{gap:1.5rem;display:grid}.quiz-setup-course{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem}.quiz-setup-course h2{color:var(--ink);letter-spacing:-.02em;margin:.25rem 0 .75rem;font-size:1.3rem;font-weight:700}.quiz-setup-stats{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.quiz-setup-stats span{color:var(--muted);border-radius:var(--radius-sm);background:#0f9b8e0f;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.quiz-setup-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem}.quiz-setup-card h3{color:var(--ink);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:1.1rem;font-weight:700}.quiz-type-selector{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}.quiz-type-btn{background:var(--card);border:2px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;transition:all .2s var(--ease-out);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;display:flex}@media (hover:hover) and (pointer:fine){.quiz-type-btn:hover{background:var(--surface-hover);border-color:#0f9b8e66;transform:translateY(-2px);box-shadow:0 4px 12px #0f9b8e1a}}.quiz-type-btn:active{transform:scale(.98)}.quiz-type-btn.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 3px #0f9b8e1f}[data-theme=dark] .quiz-type-btn.selected{background:color-mix(in srgb, var(--primary) 25%, transparent);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .quiz-type-btn.selected span{color:#fff;background:var(--primary);opacity:1}.quiz-type-btn.selected span{color:#fff;background:var(--primary)}.quiz-type-btn svg{color:var(--primary)}.quiz-type-btn strong{font-size:1rem;font-weight:700}.quiz-type-btn span{color:var(--primary-dark);background:color-mix(in srgb, var(--primary) 10%, transparent);letter-spacing:.02em;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:800}[data-theme=dark] .quiz-type-btn span{background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--primary)}.quiz-count-section{margin-bottom:2rem}.quiz-count-section label{margin-bottom:1rem;display:block}.quiz-count-section label p{color:var(--muted);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.quiz-count-slider{align-items:center;gap:1rem;display:flex}.quiz-count-slider input[type=range]{appearance:none;background:#0f9b8e1a;border-radius:999px;outline:none;flex:1;height:10px}.quiz-count-slider input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--primary);cursor:pointer;width:28px;height:28px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 14px #0f9b8e66}[data-theme=dark] .quiz-count-slider input[type=range]::-webkit-slider-thumb{border-color:#1a1d24}.quiz-count-slider input[type=range]::-moz-range-track{background:#0f9b8e1a;border:none;border-radius:999px;height:10px}.quiz-count-slider input[type=range]::-moz-range-thumb{background:var(--primary);cursor:pointer;width:28px;height:28px;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 14px #0f9b8e66}[data-theme=dark] .quiz-count-slider input[type=range]::-moz-range-thumb{border-color:#1a1d24}.quiz-count-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.quiz-count-slider input[type=range]::-webkit-slider-thumb:active{transform:scale(.95)}.quiz-count-value{background:var(--primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:3rem;height:3rem;font-size:1.2rem;font-weight:800;display:flex;box-shadow:0 4px 12px #0f9b8e4d}[data-theme=dark] .quiz-count-value{box-shadow:0 4px 12px #0f9b8e66}.quiz-start-btn{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:all .16s var(--ease-out);border:none;justify-content:center;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:1.05rem;font-weight:700;display:flex;box-shadow:0 4px 12px #0f9b8e47}@media (hover:hover) and (pointer:fine){.quiz-start-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f9b8e59}}.quiz-start-btn:active{transform:scale(.98)}.quiz-start-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.planner-grid{align-items:start}.timeline-list article,.file-list article,.attempt-list article{background:var(--card);border-radius:var(--radius-md);transition:border-color .16s var(--ease-out), background .16s var(--ease-out), transform .16s var(--ease-out);border:1px solid #0f9b8e1f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}@media (hover:hover) and (pointer:fine){.timeline-list article:hover,.file-list article:hover,.attempt-list article:hover{background:#ffffffd9;border-color:#0f9b8e40;transform:translateY(-1px)}}[data-theme=dark] .timeline-list article,[data-theme=dark] .file-list article,[data-theme=attempt-list] article{background:#111111d9;border-color:#0f9b8e2e}[data-theme=dark] .timeline-list article:hover,[data-theme=dark] .file-list article:hover,[data-theme=dark] .attempt-list article:hover{background:#1a1a1af2;border-color:#0f9b8e59}.timeline-list time{color:var(--primary-dark);font-weight:800}.timeline-list p,.file-list span,.attempt-list span{color:var(--muted);margin-top:.2rem;line-height:1.45;display:block}.timeline-list button,.file-list button{background:var(--card);border:1px solid var(--line);color:var(--danger);border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.upload-drop{align-content:center;justify-items:start;gap:1rem;min-height:340px;display:grid}.mastery-table{-webkit-overflow-scrolling:touch;gap:0;display:grid;overflow-x:auto}@media (width<=640px){.mastery-table-header,.mastery-table-row{grid-template-columns:1.2fr .8fr .5fr .5fr .7fr;gap:.5rem;font-size:.68rem}.mastery-table-header{padding:.5rem}.mastery-table-row{padding:.65rem .5rem}}.mastery-table-header{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);grid-template-columns:1.5fr 1.2fr .7fr .7fr .8fr;gap:1rem;padding:.6rem .8rem;font-size:.75rem;font-weight:700;display:grid}.mastery-table-row{transition:background .15s var(--ease-out);border-bottom:1px solid #0f9b8e0f;grid-template-columns:1.5fr 1.2fr .7fr .7fr .8fr;align-items:center;gap:1rem;padding:.75rem .8rem;display:grid}.mastery-table-row:hover{background:var(--surface-hover)}.mastery-course{flex-direction:column;gap:.15rem;display:flex}.mastery-course strong{color:var(--ink);font-size:.9rem}.mastery-course span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.75rem;overflow:hidden}.mastery-bar-cell{align-items:center;gap:.6rem;display:flex}.mastery-bar{background:#0000000f;border-radius:5px;flex:1;max-width:280px;height:10px;overflow:hidden}[data-theme=dark] .mastery-bar{background:#ffffff14}.mastery-bar-fill{height:100%;transition:width .25s var(--ease-out);border-radius:5px;display:block}.mastery-bar-fill.mastery-high{background:var(--primary)}.mastery-bar-fill.mastery-mid{background:color-mix(in srgb, var(--primary) 65%, var(--warning))}.mastery-bar-fill.mastery-low{background:color-mix(in srgb, var(--primary) 45%, var(--danger))}.topic-mastery-list{gap:.75rem;display:grid}.topic-mastery-item{background:var(--card);border-radius:var(--radius-md);transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border:1px solid #0f9b8e24;gap:.6rem;padding:1rem;display:grid}.topic-mastery-item:hover{border-color:#0f9b8e47;box-shadow:0 2px 12px #08786f0d}[data-theme=dark] .topic-mastery-item{background:var(--card);border-color:#0f9b8e2e}.topic-mastery-info{align-items:baseline;gap:.6rem;display:flex}.topic-mastery-info strong{color:var(--ink);font-size:1rem;font-weight:700}.topic-mastery-info span{color:var(--muted);font-size:.8rem}.topic-mastery-bar-wrap{align-items:center;gap:.6rem;display:flex}.topic-mastery-bar{background:#0000000f;border-radius:5px;flex:1;max-width:320px;height:10px;overflow:hidden}[data-theme=dark] .topic-mastery-bar{background:#ffffff14}.topic-mastery-bar .mastery-bar-fill{border-radius:5px}.status-badge{white-space:nowrap;border-radius:999px;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.status-reviewing{color:var(--mastery-high);background:#10b9811f}.status-learning{color:var(--mastery-mid);background:#f59e0b1f}[data-theme=dark] .status-reviewing{color:var(--mastery-high);background:#10b98133}[data-theme=dark] .status-learning{color:var(--mastery-mid);background:#f59e0b33}.auth-switch{text-align:center;color:var(--muted);margin-top:1rem;font-size:.95rem}.topic-mastery-meta{color:var(--muted);gap:1rem;font-size:.8rem;display:flex}.mastery-summary-row{flex-wrap:wrap;gap:2rem;padding:.5rem 0;display:flex}.mastery-summary-stat{flex-direction:column;gap:.2rem;display:flex}.mastery-summary-value{color:var(--ink);font-size:1.5rem;font-weight:800}.mastery-summary-label{color:var(--muted);font-size:.75rem}.review-alerts{background:#f59e0b0a;border:1px solid #f59e0b2e}.review-alert-group{margin-bottom:1rem}.review-alert-group:last-child{margin-bottom:0}.review-alert-heading{align-items:center;gap:.4rem;margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:flex}.review-alert-heading.review-overdue{color:var(--danger)}.review-alert-heading.review-fragile{color:var(--warning)}.review-alert-desc{color:var(--muted);margin:0 0 .6rem;font-size:.8rem}.review-topic-chips{flex-wrap:wrap;gap:.4rem;display:flex}.review-topic-chip{border-radius:var(--radius-sm);transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out);align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.75rem;text-decoration:none;display:flex}.review-topic-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.review-topic-chip:active{transform:scale(.97)}.review-topic-chip.overdue{color:var(--danger);background:#ef44441a;border:1px solid #ef444440}.review-topic-chip.fragile{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b40}[data-theme=dark] .review-topic-chip.overdue{color:var(--danger);background:#ef444426;border-color:#ef44444d}[data-theme=dark] .review-topic-chip.fragile{color:var(--warning);background:#f59e0b26;border-color:#f59e0b4d}.review-chip-code{font-weight:700}.review-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.review-chip-date,.review-chip-stability{opacity:.7;font-size:.65rem}.topic-mastery-item.overdue{background:#ef44440a;border-color:#ef444433}.topic-mastery-item.fragile{background:#f59e0b0a;border-color:#f59e0b33}.topic-mastery-item.strong{background:#10b9810a;border-color:#10b98133}.stability-indicator{font-weight:600}.stability-fragile{color:var(--mastery-mid)}.stability-moderate{color:var(--muted)}.stability-strong{color:var(--mastery-high)}.recency{color:var(--muted)}.recency-stale{color:var(--mastery-mid);font-weight:600}.review-due{color:var(--muted)}.review-overdue{color:var(--mastery-low);font-weight:700}.section-hint{color:var(--muted);margin:-.5rem 0 .8rem;font-size:.8rem}.completion-score-hint{color:var(--muted);margin-top:-.5rem;margin-bottom:.5rem;font-size:1rem}.completion-adaptive-status{border-radius:var(--radius-sm);color:#10b981;background:#10b9811a;border:1px solid #10b98133;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.5rem .8rem;font-size:.8rem;display:flex}[data-theme=dark] .completion-adaptive-status{color:#34d399;background:#10b98126;border-color:#10b98140}.completion-topic-breakdown{text-align:left;width:100%;margin-top:1rem}.completion-topic-breakdown h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem;font-size:.8rem;font-weight:700}.completion-topic-row{border-bottom:1px solid #0f9b8e0f;align-items:center;gap:.6rem;padding:.4rem 0;display:flex}.completion-topic-row:last-child{border-bottom:none}.completion-topic-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:160px;font-size:.8rem;overflow:hidden}.completion-topic-bar{background:#0f9b8e1a;border-radius:3px;width:80px;height:6px;overflow:hidden}.completion-topic-bar .mastery-bar-fill{border-radius:3px}.completion-topic-score{color:var(--muted);text-align:right;min-width:32px;font-size:.75rem;font-weight:700}.upload-drop svg{color:var(--primary)}.upload-drop input[type=file]{display:none}.file-list article{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.85rem;padding:1.15rem;overflow:visible}.file-list svg{color:var(--primary-dark)}.bar-track{background:#0000000f;border-radius:999px;height:10px;overflow:hidden}[data-theme=dark] .bar-track{background:#ffffff14}.bar-track span{background:var(--primary);border-radius:inherit;height:100%;transition:width .4s var(--ease-out);display:block}.profile-form{gap:1rem}textarea{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font:inherit;resize:none;min-height:220px;transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out);outline:none;width:100%;padding:1.15rem}textarea:focus{border-color:#0f9b8e8c;box-shadow:0 0 0 3px #0f9b8e1f}.quiz-mode-actions{align-items:stretch;gap:.75rem;min-width:220px;display:grid}.theory-card textarea{line-height:1.6}.feedback-card{border:1px solid var(--line);border-radius:20px;gap:.5rem;padding:1rem;display:grid}.feedback-card.correct{background:#10b9811a;border-color:#10b9814d}.feedback-card.wrong{background:#f59e0b1f;border-color:#f59e0b59}.feedback-card p,.upload-status,.file-list code,.file-list small{color:var(--muted);line-height:1.5}.upload-badge{border-radius:999px;width:fit-content;padding:.25rem .6rem;font-size:.78rem;font-weight:800;margin-top:.55rem!important;display:inline-flex!important}.upload-badge.uploaded{color:#047857;background:#10b9811f}.upload-badge.pending_upload{color:#92400e;background:#f59e0b1f}.upload-badge.failed{color:var(--danger);background:#dc26261a}.file-list code,.file-list small{overflow-wrap:anywhere;margin-top:.35rem;padding-bottom:.15rem;font-size:.78rem;line-height:1.7;display:block}.file-actions{align-items:center;gap:.5rem;display:flex}.file-actions a{color:var(--primary-dark);font-weight:800}.ai-fab{background:var(--primary);color:#fff;z-index:40;border:0;border-radius:999px;align-items:center;gap:.55rem;min-height:52px;padding:0 1.1rem;font-weight:800;display:inline-flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 18px 45px #0f9b8e52}.assistant-backdrop{z-index:60;background:#042f2e2e;align-items:end;padding:1.5rem;display:grid;position:fixed;inset:0}[data-theme=dark] .assistant-backdrop{background:#000000b3}.assistant-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);justify-self:end;gap:1rem;width:min(100%,560px);max-width:560px;max-height:min(760px,100vh - 3rem);display:grid;overflow:hidden;box-shadow:0 28px 90px #0000003d}.assistant-panel header,.assistant-panel header>div,.assistant-actions,.assistant-input,.assistant-message{align-items:center;display:flex}.assistant-panel header{border-bottom:1px solid var(--line);justify-content:space-between;padding:1.1rem 1.2rem}.assistant-panel header>div{gap:.75rem}.assistant-panel header>div>span{background:color-mix(in srgb, var(--primary) 15%, transparent);border:2px solid color-mix(in srgb, var(--primary) 30%, transparent);border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.assistant-panel header svg{color:var(--primary)}.assistant-message span{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}[data-theme=dark] .assistant-message span{background:color-mix(in srgb, var(--primary) 20%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}.assistant-message.user span{background:var(--surface-hover);border-color:var(--line)}[data-theme=dark] .assistant-panel header>div>span{background:color-mix(in srgb, var(--primary) 25%, transparent);border-color:color-mix(in srgb, var(--primary) 40%, transparent)}.assistant-actions{gap:.5rem}.assistant-actions button{background:color-mix(in srgb, var(--primary) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line));width:42px;height:42px;color:var(--primary-dark);transition:all .16s var(--ease-out);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:flex}.assistant-actions button:hover{background:color-mix(in srgb, var(--primary) 18%, transparent);border-color:color-mix(in srgb, var(--primary) 40%, var(--line));transform:scale(1.05)}[data-theme=dark] .assistant-actions button{background:color-mix(in srgb, var(--primary) 20%, transparent);border-color:color-mix(in srgb, var(--primary) 35%, var(--line));color:var(--primary)}[data-theme=dark] .assistant-actions button:hover{background:color-mix(in srgb, var(--primary) 30%, transparent);border-color:color-mix(in srgb, var(--primary) 50%, var(--line))}.assistant-context{background:color-mix(in srgb, var(--primary) 8%, transparent);border:1px solid color-mix(in srgb, var(--primary) 20%, var(--line));color:var(--primary-dark);overflow-wrap:anywhere;letter-spacing:.01em;border-radius:16px;margin:0 1.2rem;padding:.85rem 1rem;font-size:.82rem;font-weight:600;line-height:1.5}[data-theme=dark] .assistant-context{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 30%, var(--line))}.assistant-messages{gap:1rem;max-height:430px;padding:0 1.2rem;display:grid;overflow:auto}.assistant-message{align-items:flex-start;gap:.65rem}.assistant-message p{background:var(--surface);border:1px solid var(--line);color:var(--ink);white-space:pre-wrap;border-radius:18px;padding:.8rem;line-height:1.55}.assistant-message.user{flex-direction:row-reverse}.assistant-message.user p{background:var(--primary);color:#fff}.assistant-message.error p{color:var(--danger);background:#dc262614}.assistant-input{border-top:1px solid var(--line);gap:.75rem;padding:1rem 1.2rem 1.2rem}.assistant-input .primary-button{flex:none;min-width:56px;padding-inline:1rem}.streaks-page{max-width:900px}.streak-tabs{border-bottom:1px solid var(--line);gap:1.25rem;display:flex}.streak-tabs button{color:var(--muted);letter-spacing:.08em;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 0 .75rem;font-weight:900}.streak-tabs button.active{border-color:var(--primary);color:var(--primary-dark)}.streak-hero-card{justify-content:center;align-items:center;min-height:230px;padding:clamp(1.5rem,4vw,2.4rem);display:flex;position:relative;overflow:hidden}.streak-number-block{z-index:1;place-items:center;display:grid;position:relative}.streak-number-block span{background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 32%, transparent);color:var(--primary-dark);letter-spacing:.08em;border-radius:12px;padding:.38rem .72rem;font-size:.78rem;font-weight:900}.streak-number-block strong{color:var(--primary);letter-spacing:-.08em;margin-top:.5rem;font-size:clamp(5.5rem,24vw,10rem);line-height:.9}.streak-number-block p{color:var(--primary-dark);font-size:clamp(1.35rem,4vw,2rem);font-weight:800}.streak-fire{color:var(--primary);opacity:.96;width:clamp(7rem,28vw,13rem);height:clamp(7rem,28vw,13rem);margin-left:clamp(.5rem,4vw,2rem)}.streak-hero-card.needs-action .streak-number-block strong,.streak-hero-card.needs-action .streak-fire{color:var(--muted)}.streak-cta-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;padding:1.25rem;display:grid}.streak-cta-card a{color:var(--primary-dark);letter-spacing:.08em;margin-top:.65rem;font-size:1.02rem;font-weight:900;display:inline-flex}.streak-calendar-card{padding:clamp(1rem,3vw,1.5rem)}.streak-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;display:grid}.streak-day{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:16px;align-items:center;gap:.25rem;min-height:86px;padding:.65rem .35rem;display:grid}.streak-day span,.streak-day small{color:var(--muted);font-size:.72rem;font-weight:800}.streak-day strong{color:var(--ink);font-size:1.15rem}.streak-day.completed{background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 36%, transparent)}.streak-day.completed strong,.streak-day.completed small{color:var(--primary-dark)}.streak-day.today{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 28%, transparent)}.streak-friends-card{min-height:360px}@media (width<=1050px){.landing-grid,.auth-layout,.signup-grid{grid-template-columns:1fr}.landing-visual,.auth-visual{min-height:520px}.signup-progress{border-right:0;border-bottom:1px solid var(--line)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.planner-grid,.study-grid,.filter-bar{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.public-shell{padding:0}.landing-grid,.auth-layout,.signup-grid{border-radius:0;min-height:100vh}.landing-copy,.auth-panel,.signup-progress,.signup-form-panel{padding:1.4rem}.hero-text{margin-top:3rem}.desktop-only{display:none!important}.mobile-landing{background:linear-gradient(135deg, #0ea5920d, #0d948826), var(--panel);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.mobile-landing-orbs .orb-one{filter:blur(35px);background:#2dd4bf59;width:250px;height:250px;top:-5%;right:-15%}.mobile-landing-orbs .orb-two{filter:blur(30px);background:#0f9b8e59;width:180px;height:180px;bottom:10%;left:-10%}.mobile-landing-top{text-align:center;z-index:1;flex-direction:column;flex:.9;justify-content:center;align-items:center;margin-top:3rem;display:flex}.mobile-landing-top h1{color:var(--ink);letter-spacing:-.04em;margin-top:1.5rem;font-size:2.3rem;font-weight:800}.title-underline{background:var(--primary);border-radius:2px;width:3.5rem;height:3px;margin:1.25rem 0}.scrolling-message{justify-content:center;align-items:center;height:3rem;display:flex;overflow:hidden}.scrolling-message p{color:var(--muted);animation:slideUpFade .6s var(--ease-out) forwards;margin:0;font-size:1.05rem}@keyframes slideUpFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.mobile-landing-middle{z-index:1;flex:1;justify-content:center;align-items:center;padding:0 2rem;display:flex}.mobile-hero-img{object-fit:contain;width:100%;max-height:280px}.mobile-landing-bottom{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:1.5rem;padding:0 1.5rem 3.5rem;display:flex}.mobile-landing-bottom .primary-button{width:100%;padding:1.1rem;font-size:1.05rem;box-shadow:0 8px 24px #0f9b8e40}.mobile-auth-switch{color:var(--muted);font-size:.95rem}.mobile-auth-switch a{color:var(--primary-dark);margin-left:.25rem;font-weight:700;text-decoration:none}.feature-list{padding-top:2.5rem}.app-shell{grid-template-columns:1fr}.mobile-menu-button{background:var(--card);border:1.5px solid color-mix(in srgb, var(--primary) 30%, transparent);color:var(--primary);z-index:30;border-radius:14px;place-items:center;width:48px;height:48px;transition:opacity .25s cubic-bezier(.32,.72,0,1),transform .25s cubic-bezier(.32,.72,0,1),visibility .25s;display:grid;position:fixed;top:1rem;left:1rem;box-shadow:0 8px 24px #0000002e}.mobile-menu-button.sidebar-open{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.8)rotate(-45deg)}.sidebar{background:var(--surface);max-width:320px;padding:0;padding-bottom:max(.75rem, env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:0 24px 24px 0;align-items:stretch;gap:0;width:82vw;transition:transform .25s cubic-bezier(.32,.72,0,1);position:fixed;left:0;overflow:hidden auto;transform:translate(-110%);box-shadow:0 24px 80px #00000047}.sidebar.open{transform:translate(0)}.sidebar-header{background:var(--surface);flex-direction:column;gap:1rem;padding:1.5rem 1.25rem .5rem;display:flex;position:relative}.sidebar-header .close-mobile{color:var(--muted);cursor:pointer;width:32px;height:32px;transition:background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:.85rem;right:.85rem}.sidebar-header .close-mobile:hover{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary)}.sidebar nav{gap:.35rem;padding:.75rem 1rem;display:grid}.sidebar .nav-item{min-height:52px;color:var(--ink);border-radius:16px;justify-content:flex-start;gap:1rem;padding:.85rem 1.25rem;font-weight:500}.sidebar .nav-item span{font-size:.95rem;display:inline}.sidebar .nav-item.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:600}[data-theme=dark] .sidebar .nav-item.active{background:color-mix(in srgb, var(--primary) 25%, transparent);color:var(--primary)}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding:.75rem 1rem 0}.sidebar-footer button{width:100%;color:var(--muted);border-radius:12px;justify-content:flex-start;gap:.75rem;min-height:48px;font-weight:500}.sidebar-footer button:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.close-mobile,.menu-backdrop{display:block}.menu-backdrop{z-index:10;opacity:0;pointer-events:none;background:#0000007a;border:0;transition:opacity .25s cubic-bezier(.32,.72,0,1);position:fixed;inset:0}.sidebar.open~.menu-backdrop,.menu-backdrop.visible{opacity:1;pointer-events:auto}.nav-item,.profile-chip,.sidebar-footer button{justify-content:flex-start}.nav-item span,.profile-chip span,.sidebar-footer button span{display:inline}.app-main{padding:4.5rem 0 max(6rem, env(safe-area-inset-bottom))}.page-stack{gap:1.25rem;padding:0 1rem 6.5rem}.page-header{flex-direction:row;align-items:center;gap:.75rem}.page-header h1{letter-spacing:-.04em;font-size:1.65rem;line-height:1.1}.page-header .ghost-button{white-space:nowrap;flex-shrink:0;min-height:38px;padding:.5rem 1rem;font-size:.82rem}.hero-dashboard{display:none!important}.hub-hero-mark{display:none}.streak-dashboard-card,.course-journey-card,.course-embark-card,.streak-cta-card{grid-template-columns:1fr;align-items:stretch}.streak-dashboard-card{flex-direction:column}.course-journey-cta{justify-content:flex-start}.streak-calendar-grid{gap:.45rem}.streak-day{border-radius:12px;min-height:76px;padding:.55rem .25rem}.streak-day span,.streak-day small{font-size:.66rem}.course-detail-hero,.section-title{flex-direction:column;align-items:flex-start}.scrollable-mobile{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:.85rem;margin-left:-1rem;margin-right:-1rem;padding:4px 1rem 1.5rem;overflow:auto visible;flex-wrap:nowrap!important;display:flex!important}.scrollable-mobile::-webkit-scrollbar{display:none}.metrics-grid.scrollable-mobile>.metric-card{scroll-snap-align:start;flex:0 0 160px;width:160px;min-width:0;max-width:none;min-height:0;margin:0}.metric-card strong{font-size:1.7rem}.course-grid.scrollable-mobile>.course-card{scroll-snap-align:start;flex:0 0 220px;width:220px;min-width:0;max-width:none;min-height:160px;margin:0}.course-grid>.course-card,.course-journey-grid>.course-journey-card{aspect-ratio:auto;min-height:170px}.course-card-title{max-width:18ch;font-size:clamp(1.15rem,3.5vw,1.3rem)}.section-card:has(.scrollable-mobile){padding:1.2rem 0}.section-card:has(.scrollable-mobile) .section-title{padding-left:1.2rem;padding-right:1.2rem}.two-col,.three-col{grid-template-columns:1fr}.mastery-table-header,.mastery-table-row{grid-template-columns:1fr auto;gap:.4rem}.mastery-table-header span:nth-child(n+3),.mastery-table-row span:nth-child(n+3){display:none}.timeline-list article,.file-list article,.attempt-list article{grid-template-columns:1fr}.signup-grid{grid-template-columns:1fr;min-height:100vh}.signup-progress{display:none}.mobile-progress-bar{border-bottom:1px solid var(--line);background:var(--card);z-index:10;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.mobile-progress-bar .back-btn{color:var(--ink);background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.mobile-progress-bar .back-btn:hover{background:var(--surface-hover)}.mobile-progress-bar .progress-track{background:var(--surface);border-radius:999px;flex:1;height:6px;overflow:hidden}.mobile-progress-bar .progress-fill{background:var(--primary);height:100%;transition:width .28s var(--ease-out);border-radius:999px}.signup-form-panel{min-height:calc(100vh - 58px);padding:1.5rem 1rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.signup-form-panel .step-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);gap:clamp(1.25rem,3vw,1.75rem);width:100%;max-width:520px;padding:clamp(1.25rem,4vw,1.75rem)}.speech-heading>span{flex-shrink:0;width:44px;height:44px}.speech-heading h2{font-size:clamp(1.1rem,3vw,1.3rem)}.selection-grid{grid-template-columns:1fr}.selection-grid button{min-height:52px;padding:.85rem 1rem}.course-select-grid{grid-template-columns:1fr}.course-select-card{min-height:48px;padding:.75rem 1rem}.course-search-row{padding:.6rem .75rem}.signup-actions{background:var(--card);width:100%;max-width:520px;padding:.75rem 0;padding-bottom:max(.75rem, env(safe-area-inset-bottom));flex-direction:column;gap:0;margin-top:1.5rem;display:flex;position:sticky;bottom:0}.signup-actions .ghost-button{display:none}.signup-actions .primary-button{border-radius:16px;width:100%;min-height:55px;font-size:1rem}.step-row{gap:.6rem;margin-top:.75rem}.step-row span{width:30px;height:30px;font-size:.8rem}.auth-layout{grid-template-columns:1fr;min-height:100vh}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:clamp(1.5rem,5vw,2.5rem) 1.25rem;padding-top:max(1.5rem, env(safe-area-inset-top));padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.auth-panel .back-link{align-self:flex-start;margin-bottom:1rem}.auth-panel .logo-lockup{margin-bottom:1.25rem}.auth-panel h1{text-align:center;margin-bottom:.35rem;font-size:clamp(1.5rem,5vw,2rem)}.auth-panel>p{text-align:center;margin-bottom:1.5rem}.auth-form,.step-fields{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);gap:1rem;width:100%;max-width:480px;padding:clamp(1.25rem,4vw,1.5rem)}.auth-form input{min-height:48px;padding-left:2.8rem;font-size:16px}.google-button{border-radius:30px;width:100%;min-height:50px}.auth-divider{margin:1rem 0}.primary-button{border-radius:30px;min-height:55px;font-size:1rem}.auth-switch{text-align:center;margin-top:1rem}input,textarea,select{font-size:16px}}.analytics-link-row{color:inherit;text-decoration:none}.inline-back{justify-self:start;align-items:center;gap:.4rem;display:inline-flex}.analytics-two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.progress-chart-card{border-radius:var(--radius-md);background:linear-gradient(#0f9b8e14,#0f9b8e05);border:1px solid #0f9b8e1a;padding:1rem}.progress-line-chart{width:100%;height:260px;display:block}.progress-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.progress-line-area{fill:#0f9b8e1f;stroke:none}.progress-chart-labels{color:var(--muted);justify-content:space-between;margin-top:.6rem;font-size:.8rem;display:flex}.topic-bar-chart{gap:.85rem;display:grid}.topic-bar-row{grid-template-columns:minmax(120px,1fr) minmax(160px,2fr) auto;align-items:center;gap:.75rem;display:grid}.topic-bar-row span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.topic-bar-row strong{color:var(--muted);font-size:.8rem}.topic-bar-track{background:#0f9b8e1a;border-radius:999px;height:14px;overflow:hidden}.topic-bar-track b{background:linear-gradient(90deg, var(--primary), #10b981);border-radius:inherit;height:100%;display:block}.learning-bento-grid{gap:1rem;display:grid}.learning-bento,.learning-review-hero,.learning-course-hero{border:1px solid color-mix(in srgb, var(--primary) 14%, transparent);border-radius:calc(var(--radius-lg) + .5rem);box-shadow:var(--shadow-sm)}.learning-bento{background:var(--card);padding:clamp(1.1rem,2.4vw,1.6rem)}.learning-review-hero{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:1.1rem;padding:clamp(1.25rem,3.5vw,2.35rem);display:grid;overflow:hidden}.learning-no-review{grid-template-columns:1fr}.learning-hero-copy{align-self:center}.learning-kicker{color:color-mix(in srgb, currentColor 68%, transparent);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.learning-hero-copy h2,.learning-course-hero h2{color:inherit;letter-spacing:-.045em;max-width:15ch;margin:.5rem 0 1rem;font-size:clamp(1.9rem,4vw,3.45rem);line-height:.98}.learning-due-chip{background:var(--card);color:var(--primary-dark);border-radius:999px;padding:.5rem .75rem;font-size:.78rem;font-weight:800;display:inline-block}.learning-hero-chart .learning-retention-bento{box-shadow:none;color:#fff;background:#ffffff17;border-color:#ffffff38;height:100%}.learning-hero-chart .section-hint,.learning-hero-chart .progress-chart-labels{color:#ffffffc2}.learning-hero-chart .progress-chart-card{background:#ffffff14;border-color:#ffffff2b}.learning-hero-chart .progress-line{stroke:var(--card)}.learning-review-link{background:var(--card);color:var(--primary-dark);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex}.learning-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.learning-metric-bento{min-height:144px}.learning-metric-bento>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.learning-metric-bento>strong{color:var(--ink);letter-spacing:-.06em;margin-top:.9rem;font-size:clamp(2rem,4vw,3.15rem);line-height:1;display:block}.learning-metric-bento p{color:var(--muted);margin:.75rem 0 0;font-size:.82rem;line-height:1.4}.learning-priority-bento{grid-column:span 1}.learning-priority-list{display:grid}.learning-priority-row{border-top:1px solid color-mix(in srgb, var(--primary) 12%, transparent);color:inherit;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem 0;text-decoration:none;display:grid}.learning-priority-row:first-child{border-top:0}.learning-priority-row strong{color:var(--ink)}.learning-priority-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.learning-ranking-bento{background:color-mix(in srgb, var(--primary) 9%, var(--card))}.learning-ranking-list{gap:.72rem;margin-top:1rem;display:grid}.learning-ranking-row{grid-template-columns:68px minmax(0,1fr) 38px;align-items:center;gap:.6rem;display:grid}.learning-ranking-row>span,.learning-ranking-row>strong{font-size:.78rem}.learning-ranking-row>strong{color:var(--muted);text-align:right}.learning-ranking-bar{background:color-mix(in srgb, var(--primary) 16%, transparent);border-radius:999px;height:.55rem;display:block;overflow:hidden}.learning-ranking-bar b{background:var(--primary);border-radius:inherit;height:100%;display:block}.learning-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-course-hero{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;grid-column:1/-1;padding:clamp(1.25rem,3.5vw,2.35rem);overflow:hidden}.learning-course-hero p{color:#fffc;max-width:60ch}.learning-course-measures{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.35rem;display:grid}.learning-course-measures .learning-metric-bento{box-shadow:none;background:#ffffff17;border-color:#ffffff2e;min-height:0}.learning-course-measures .learning-metric-bento>span,.learning-course-measures .learning-metric-bento p{color:#ffffffad}.learning-course-measures .learning-metric-bento>strong{color:#fff}.learning-topic-list{gap:.7rem;margin-top:1rem;display:grid}.learning-topic-row{grid-template-columns:minmax(120px,1fr) minmax(90px,1.2fr) auto;align-items:center;gap:.8rem;display:grid}.learning-topic-row div{gap:.15rem;min-width:0;display:grid}.learning-topic-row div span{color:var(--muted);font-size:.75rem}.learning-topic-row i{background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:999px;height:.55rem;display:block;overflow:hidden}.learning-topic-row i b{background:var(--primary);border-radius:inherit;height:100%;display:block}.learning-topic-row>strong{color:var(--muted);font-size:.78rem}.learning-explanation{background:color-mix(in srgb, var(--primary) 8%, var(--card))}.learning-explanation h2{letter-spacing:-.035em;margin:.5rem 0;font-size:1.45rem}.learning-explanation p{color:var(--muted);line-height:1.6}@media (width>=900px){.learning-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-bento-grid>.learning-review-hero,.learning-bento-grid>.learning-summary-grid{grid-column:1/-1}}@media (width<=760px){.learning-review-hero,.learning-course-grid{grid-template-columns:1fr}.learning-summary-grid,.learning-course-measures{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-summary-grid>:last-child{grid-column:1/-1}.learning-course-hero{grid-column:auto}.learning-priority-row{grid-template-columns:78px minmax(0,1fr) auto;gap:.6rem}.learning-topic-row{grid-template-columns:1fr;gap:.35rem}}@media (width<=860px){.analytics-two-column,.topic-bar-row{grid-template-columns:1fr}}.schedule-shell{gap:1.25rem;display:grid}@media (width>=1180px){.schedule-shell{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:start}}.rdp-root{--rdp-cell-size:2.75rem;--rdp-accent-color:var(--primary);--rdp-background-color:var(--primary-soft);--rdp-outline:2px solid var(--primary);--rdp-outline-offset:-2px;font-family:inherit}.rdp-month-caption{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--ink);margin-bottom:.75rem;font-weight:700}.rdp-nav{gap:.35rem;display:flex}.rdp-nav-btn{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;place-items:center;width:36px;height:36px;transition:border-color .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1);display:grid}@media (hover:hover) and (pointer:fine){.rdp-nav-btn:hover{border-color:var(--primary);transform:translateY(-1px)}}.rdp-nav-btn:active{transform:scale(.95)}.rdp-month-grid{border-collapse:separate;border-spacing:4px;width:100%}.rdp-weekdays{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.rdp-weekday{text-align:center;padding:.4rem 0}.rdp-day{position:relative}.rdp-day-btn{color:var(--ink);cursor:pointer;font-family:inherit;font-size:var(--text-sm);height:var(--rdp-cell-size);width:var(--rdp-cell-size);background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;transition:background .16s cubic-bezier(.23,1,.32,1),border-color .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1);display:flex}@media (hover:hover) and (pointer:fine){.rdp-day-btn:hover{background:var(--surface-hover);border-color:#0f9b8e33;transform:translateY(-1px)}}.rdp-day-btn:active{transform:scale(.95)}.rdp-selected .rdp-day-btn{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 20px #0f9b8e40}.rdp-selected .rdp-day-btn:hover{background:var(--primary-dark)}.rdp-today:not(.rdp-selected) .rdp-day-btn{color:var(--primary-dark);border-color:#0f9b8e59;font-weight:800}.rdp-has-events .rdp-day-btn:after{content:"";background:var(--primary);border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px}.rdp-selected .rdp-has-events .rdp-day-btn:after{background:#ffffffb3}[data-theme=dark] .rdp-day-btn{color:var(--ink)}[data-theme=dark] .rdp-day-btn:hover{background:#ffffff14}[data-theme=dark] .rdp-today:not(.rdp-selected) .rdp-day-btn{color:var(--primary)}.calendar-card,.polished-event-form{padding:clamp(1.15rem,3vw,1.5rem)}.event-form-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.event-form-heading h2{letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700}.polished-event-form .primary-button:disabled{cursor:not-allowed;opacity:.5}.schedule-time-fields{align-items:start}.agenda-card{min-height:480px}.section-title{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.section-title h2{letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700}.timeline-list,.file-list,.attempt-list{gap:.65rem;display:grid}.timeline-list article,.file-list article,.attempt-list article{background:var(--card);border:1px solid #0f9b8e1a;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem 1rem;transition:border-color .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1);display:grid}@media (hover:hover) and (pointer:fine){.timeline-list article:hover,.file-list article:hover,.attempt-list article:hover{border-color:#0f9b8e40;transform:translateY(-1px)}}.timeline-list article:active,.file-list article:active,.attempt-list article:active{transform:scale(.99)}[data-theme=dark] .timeline-list article,[data-theme=dark] .file-list article,[data-theme=dark] .attempt-list article{background:#ffffff0a;border-color:#0f9b8e1f}.timeline-list time{color:var(--primary-dark);font-weight:700;font-size:var(--text-sm);white-space:nowrap}.timeline-list p,.file-list span,.attempt-list span{color:var(--muted);font-size:var(--text-sm);margin-top:.15rem;line-height:1.4;display:block}.timeline-list button,.file-list button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:32px;height:32px;transition:color .16s cubic-bezier(.23,1,.32,1),border-color .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1);display:grid}@media (hover:hover) and (pointer:fine){.timeline-list button:hover,.file-list button:hover{border-color:var(--danger);color:var(--danger);transform:scale(1.05)}}.timeline-list button:active,.file-list button:active{transform:scale(.9)}.timeline-list p{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}@media (width<=1179px){.planner-grid{gap:1.25rem;display:grid}}@media (width>=1180px){.schedule-shell .planner-grid{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr)}}.schedule-page .page-header h1{font-size:clamp(2rem,5vw,3.9rem)}.schedule-header-actions,.schedule-toolbar,.schedule-view-tabs,.week-strip,.event-card-top,.event-card-meta,.modal-head{align-items:center;display:flex}.schedule-header-actions{gap:.65rem}.ghost-button.icon-only{border-radius:999px;width:42px;height:42px;padding:0}.schedule-board{background:var(--card);border-color:var(--line);padding:clamp(.75rem,2vw,1rem)}.schedule-toolbar{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.schedule-nav-row{align-items:center;gap:.35rem;display:flex}.schedule-range{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;gap:.35rem;padding:.55rem .85rem;font-weight:800;display:inline-flex}.schedule-view-tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:.2rem;padding:.25rem}.schedule-view-tabs button{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--text-xs);text-transform:capitalize;transition:background .18s var(--ease-out), color .18s var(--ease-out);background:0 0;border:0;border-radius:999px;padding:.45rem .8rem;font-weight:800}.schedule-view-tabs button.active,.schedule-view-tabs button:hover{background:var(--ink);color:var(--card)}.week-strip{grid-template-columns:repeat(7,minmax(90px,1fr));gap:.6rem;margin-bottom:.85rem;display:grid}.week-strip:has(.week-corner){grid-template-columns:28px repeat(7,minmax(90px,1fr))}.week-corner{color:var(--muted);font-size:var(--text-xs);text-align:center;font-weight:800}.week-day-card{background:var(--surface);color:var(--ink);cursor:pointer;min-height:56px;transition:background .18s var(--ease-out), border-color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .18s var(--ease-out);border:1px solid #0000;border-radius:14px;place-items:center;display:grid}.week-day-card span{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:800}.week-day-card strong{font-size:var(--text-sm)}.week-day-card.selected{background:var(--ink);border-color:var(--ink);color:var(--card);transform:translateY(-1px);box-shadow:0 8px 20px #11182724}.week-day-card.selected span{color:#ffffffb8}.week-day-card.today:not(.selected){border-color:var(--primary)}.schedule-week-scroll{overscroll-behavior:contain;overflow:auto}.schedule-week-grid{grid-template-columns:48px repeat(7,minmax(100px,1fr));min-width:800px;display:grid}.schedule-week-grid.day-view{overscroll-behavior:contain;grid-template-columns:48px 1fr;min-width:auto;max-height:calc(100vh - 280px);overflow-y:auto}.time-rail{flex-direction:column;display:flex}.time-rail span{color:var(--muted);justify-content:flex-end;align-items:flex-start;height:104px;padding-right:6px;font-size:.65rem;font-weight:600;display:flex}.schedule-day-column{border-left:1px solid var(--line);min-height:832px;position:relative}.schedule-day-empty{color:var(--muted);opacity:.5;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;height:100%;min-height:200px;font-size:.7rem;display:flex}.schedule-event-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:box-shadow .18s var(--ease-out), transform .18s var(--ease-out), border-color .18s var(--ease-out);border-radius:12px;align-items:flex-start;padding:.35rem .5rem;display:flex;overflow:hidden}.schedule-event-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--primary) 30%, transparent);transform:translateY(-1px)}.schedule-event-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.schedule-event-card.tone-0{background:var(--surface);border-left:3px solid var(--primary)}.schedule-event-card.tone-1{background:#fffbe6;border-left:3px solid #e6a817}.schedule-event-card.tone-2{background:#eef4ff;border-left:3px solid #4a7fd4}.schedule-event-card.tone-3{background:#fff0f6;border-left:3px solid #d44a6e}.schedule-event-title{text-overflow:ellipsis;-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:.72rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.event-card-top,.event-card-meta{justify-content:space-between}.event-icon{color:var(--primary-dark);background:#0f9b8e24;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.schedule-event-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.2;overflow:hidden}.schedule-event-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;line-height:1.3;overflow:hidden}.event-card-meta span{color:var(--muted);font-size:.62rem}.event-card-meta button{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:22px;height:22px;display:grid}.event-edit-icon{color:var(--ink);cursor:pointer;background:#ffffff75;border:0;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.schedule-lower-grid{gap:1.25rem;display:grid}.schedule-modal-backdrop{z-index:60;background:#040c0aeb;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.schedule-modal{background:var(--card);border-radius:24px;width:min(100%,760px);max-width:760px;padding:1.75rem;box-shadow:0 16px 48px #00000059}.modal-head{justify-content:space-between;margin-bottom:1.25rem}.schedule-modal textarea,.schedule-modal select{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:12px;width:100%;padding:.85rem .95rem}.schedule-modal input:not([type=checkbox]):not([type=date]){background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;width:100%;transition:border-color .18s var(--ease-out);border-radius:12px;padding:.85rem .95rem}.schedule-modal input:not([type=checkbox]):not([type=date]):focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent);outline:none}.schedule-modal .form-date-input{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;transition:border-color .18s var(--ease-out);border-radius:12px;padding:.65rem .85rem}.schedule-modal .form-date-input:focus,.schedule-modal select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent);outline:none}.schedule-modal .modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.schedule-modal .modal-actions .ghost-button,.schedule-modal .modal-actions .primary-button{flex:1;justify-content:center}.schedule-modal .form-row{margin-bottom:0}.event-detail-body{flex-direction:column;gap:.75rem;display:flex}.event-detail-row{align-items:flex-start;gap:.75rem;display:flex}.event-detail-row svg{color:var(--primary);flex-shrink:0;margin-top:2px}.event-detail-row>div{flex-direction:column;gap:.15rem;display:flex}.event-detail-row strong{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.event-detail-row span{color:var(--ink);font-size:.95rem;line-height:1.4}.event-detail-notes{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.85rem}.event-detail-notes strong{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.7rem;font-weight:600;display:block}.event-detail-notes p{color:var(--ink);white-space:pre-wrap;font-size:.92rem;line-height:1.55}.event-form-header{align-items:center;gap:.75rem;display:flex}.event-form-icon{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.event-form-date{color:var(--muted);margin-top:.15rem;font-size:.82rem}.form-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.form-label-icon{color:var(--muted);white-space:nowrap;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;display:flex}.form-label-icon svg{color:var(--primary);flex-shrink:0}.form-date-input{text-align:right;max-width:200px}.switch-row{cursor:pointer;border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.switch-row>div{flex-direction:column;gap:.1rem;display:flex}.switch-row strong{font-size:.88rem;font-weight:600}.switch-row span{color:var(--muted);font-size:.75rem}.switch-input{appearance:none;background:var(--line);cursor:pointer;width:44px;height:24px;transition:background .18s var(--ease-out);border-radius:999px;flex-shrink:0;position:relative}.switch-input:after{content:"";background:var(--card);width:20px;height:20px;transition:transform .18s var(--ease-out);border-radius:999px;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.switch-input:checked{background:var(--primary)}.switch-input:checked:after{transform:translate(20px)}[data-theme=dark] .schedule-board{background:var(--card)}[data-theme=dark] .schedule-range,[data-theme=dark] .schedule-view-tabs,[data-theme=dark] .week-day-card,[data-theme=dark] .schedule-event-card{background:#151515;border-color:#ffffff1a}[data-theme=dark] .schedule-event-card.tone-1{background:#ffea6614;border-left-color:#e6a817}[data-theme=dark] .schedule-event-card.tone-2{background:#4a7fd414;border-left-color:#4a7fd4}[data-theme=dark] .schedule-event-card.tone-3{background:#d44a6e14;border-left-color:#d44a6e}[data-theme=dark] .schedule-event-card small,[data-theme=dark] .event-card-meta span{color:#ffffff8c}@media (width>=1000px){.schedule-lower-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}}@media (width<=720px){.schedule-toolbar,.schedule-header-actions{flex-direction:column;align-items:stretch}.schedule-header-actions .primary-button,.schedule-header-actions .ghost-button{width:100%}}@media (width<=760px){html,body,#root{max-width:100%;overflow-x:hidden}.app-shell,.app-main,.page-stack,.section-card,.schedule-page,.schedule-board,.schedule-lower-grid,.calendar-card,.agenda-card{box-sizing:border-box;min-width:0;max-width:100%}.app-main{overflow-x:hidden}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid!important}.dashboard-metrics>.metric-card{min-width:0;padding:1rem}.dashboard-metrics .metric-card:first-child strong,.dashboard-metrics .metric-card strong{font-size:1.55rem}.streak-dashboard-card .primary-button{width:100%}.schedule-page{gap:1rem}.schedule-page .page-header{flex-direction:column;align-items:stretch;padding:0 .25rem}.schedule-page .page-header h1{font-size:clamp(1.45rem,7vw,1.85rem);line-height:1.12}.schedule-header-actions{grid-template-columns:minmax(0,1fr) 48px;gap:.6rem;display:grid}.schedule-header-actions .primary-button,.schedule-header-actions .ghost-button{width:100%;min-height:48px}.schedule-board{border-radius:22px;padding:.9rem}.schedule-toolbar{grid-template-columns:1fr;align-items:stretch;gap:.75rem;margin-bottom:.8rem;display:grid}.schedule-nav-row{background:var(--surface);border:1px solid var(--line);border-radius:999px;grid-template-columns:42px minmax(0,1fr) 42px;padding:.25rem;display:grid}.schedule-range{text-align:center;white-space:nowrap;background:0 0;border:0;justify-content:center;min-width:0;padding-inline:.35rem}.schedule-view-tabs{justify-self:stretch}.schedule-view-tabs button{flex:1;min-height:38px}.week-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:.55rem;margin:0 -.9rem;padding:.15rem .9rem .7rem;display:flex;overflow-x:auto}.week-strip::-webkit-scrollbar{display:none}.week-day-card{scroll-snap-align:start;flex:0 0 72px;min-height:58px}.schedule-week-scroll{-webkit-overflow-scrolling:touch;margin:0 -.9rem;padding:0 .9rem;overflow-x:auto}.schedule-lower-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.calendar-card,.agenda-card{border-radius:22px;min-height:0;padding:1rem;overflow:hidden}.rdp-root{--rdp-cell-size:min(2.35rem, calc((100vw - 6rem) / 7));width:100%;max-width:100%;overflow:hidden}.rdp-months,.rdp-month,.rdp-month-grid{table-layout:fixed;width:100%;max-width:100%}.rdp-month-caption{font-size:1.05rem}.rdp-month-grid{border-spacing:2px}.agenda-card .section-title{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;display:grid}.timeline-list article{grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;align-items:start;padding:.9rem}.timeline-list time{white-space:normal}.schedule-modal-backdrop{place-items:end center;padding:.75rem .75rem 0}.schedule-modal{border-radius:24px 24px 0 0;width:100%;max-height:calc(100dvh - .75rem);padding:1.1rem 1.1rem 0;overflow-y:auto}.schedule-modal .two-col,.schedule-modal .three-col,.schedule-modal .schedule-time-fields{grid-template-columns:1fr}.modal-head{z-index:1;background:var(--card);align-items:center;gap:.75rem;padding-top:1.1rem;position:sticky;top:-1.1rem}.modal-actions{background:var(--card);border-top:1px solid var(--line);padding:.75rem 1.1rem max(.75rem, env(safe-area-inset-bottom));grid-template-columns:1fr;margin:1rem -1.1rem 0;display:grid;position:static}}@media (width<=360px){.dashboard-metrics,.schedule-header-actions,.timeline-list article{grid-template-columns:1fr}.timeline-actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.week-day-card,.schedule-event-card{transition:none}.week-day-card.selected,.schedule-event-card:hover{transform:none}}.timeline-actions{align-items:center;gap:.4rem;display:flex}.timeline-actions button{flex:none}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.danger-action{color:var(--danger);border-color:#dc26263d}.metric-card:focus-visible,.mastery-table-row:focus-visible,.review-topic-chip:focus-visible,.topic-mastery-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.metric-card,.course-card,.review-topic-chip,.mastery-table-row,.topic-mastery-item,.attempt-list article{transition:none}.metric-card:hover,.course-card:hover,.review-topic-chip:hover,.attempt-list article:hover,.metric-card:active,.course-card:active{transform:none}.mastery-bar-fill,.topic-mastery-item{transition:none}}.flashcards-stats-row{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.flashcard-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);place-items:center;gap:.25rem;padding:1rem .5rem;display:grid}.flashcard-stat-value{font-size:1.5rem;font-weight:900}.flashcard-stat-value.due{color:var(--danger)}.flashcard-stat-value.weak{color:#f59e0b}.flashcard-stat-value.strong{color:var(--primary)}.flashcard-stat-value.mastered{color:#10b981}.flashcard-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.flashcard-sync-status{border-radius:var(--radius-md);color:var(--primary-dark);background:#0f9b8e14;border:1px solid #0f9b8e29;align-items:center;gap:.5rem;padding:.72rem .9rem;font-size:.86rem;font-weight:700;display:flex}.flashcard-sync-status.queued{color:#b45309;background:#f59e0b1a;border-color:#f59e0b38}.flashcard-sync-status.error{color:var(--danger);background:#ef44441a;border-color:#ef444438}[data-theme=dark] .flashcard-sync-status{background:#0f9b8e1f;border-color:#0f9b8e3d}.flashcard-progress-info{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;font-weight:700;display:flex}.flashcard-scroll-hint{align-items:center;gap:.25rem;animation:2s ease-in-out infinite flashcard-bounce;display:inline-flex}@keyframes flashcard-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.flashcard-scroll-hint{animation:none}}.topic-mastery-list .topic-mastery-item{opacity:0;animation:topic-fade-in .28s var(--ease-out) forwards;transform:translateY(6px)}.topic-mastery-list .topic-mastery-item:first-child{animation-delay:0s}.topic-mastery-list .topic-mastery-item:nth-child(2){animation-delay:35ms}.topic-mastery-list .topic-mastery-item:nth-child(3){animation-delay:70ms}.topic-mastery-list .topic-mastery-item:nth-child(4){animation-delay:.105s}.topic-mastery-list .topic-mastery-item:nth-child(5){animation-delay:.14s}.topic-mastery-list .topic-mastery-item:nth-child(6){animation-delay:.175s}.topic-mastery-list .topic-mastery-item:nth-child(7){animation-delay:.21s}.topic-mastery-list .topic-mastery-item:nth-child(8){animation-delay:.245s}.topic-mastery-list .topic-mastery-item:nth-child(9){animation-delay:.28s}.topic-mastery-list .topic-mastery-item:nth-child(10){animation-delay:.315s}@keyframes topic-fade-in{to{opacity:1;transform:translateY(0)}}.page-stack>.section-card:has(.mastery-summary-row){margin-bottom:-.3rem}.page-stack>.section-card:has(.review-alerts){margin-top:.2rem}.page-stack>.section-card:has(.attempt-list){margin-top:.3rem}.metrics-grid .metric-card:first-child strong{font-size:2.25rem}@media (width<=640px){.metrics-grid .metric-card:first-child strong{font-size:1.75rem}}.flashcard-feed{scroll-snap-type:y proximity;-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 9rem);padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;gap:1.25rem;display:grid;overflow-y:auto}.flashcard-feed::-webkit-scrollbar{width:5px}.flashcard-feed::-webkit-scrollbar-track{background:0 0}.flashcard-feed::-webkit-scrollbar-thumb{background:#0f9b8e33;border-radius:999px}.flashcard-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);scroll-snap-align:start;transition:border-color .16s var(--ease-out), box-shadow .2s var(--ease-out);position:relative}.flashcard-card:hover{border-color:#0f9b8e33;box-shadow:0 12px 36px #0f9b8e0f}[data-theme=dark] .flashcard-card{background:#111111d9;border-color:#ffffff14}[data-theme=dark] .flashcard-card:hover{border-color:#0f9b8e40;box-shadow:0 12px 36px #0f9b8e14}.flashcard-face{gap:1rem;padding:1.5rem;display:grid}.flashcard-face.hidden{display:none}.flashcard-face-front{cursor:pointer}.flashcard-face-front:active{transform:scale(.995)}.flashcard-tap-hint{color:var(--muted);text-align:center;opacity:.5;font-size:.78rem;font-weight:700;animation:2s ease-in-out infinite flashcard-pulse}@keyframes flashcard-pulse{0%,to{opacity:.5}50%{opacity:.8}}.flashcard-front-footer{flex-direction:column;gap:.75rem;margin-top:auto;display:flex}.flashcard-flip-indicator{color:var(--primary-dark);opacity:.6;border-radius:var(--radius-md);border:1px dashed #0f9b8e40;justify-content:center;align-items:center;gap:.4rem;padding:.6rem;font-size:.82rem;font-weight:700;display:flex}.flashcard-flip-back-btn{opacity:.7;font-size:.82rem}@media (width>=761px){.flashcard-tap-hint{display:none}}.flashcard-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.flashcard-meta{flex-wrap:wrap;gap:.5rem;display:flex}.flashcard-course{color:var(--primary-dark);background:#0f9b8e1f;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:800}.flashcard-topic{color:var(--muted);background:#0f9b8e0f;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.flashcard-badges{align-items:center;gap:.5rem;display:flex}.flashcard-result-badge{border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;font-weight:800;display:inline-flex}.flashcard-result-badge.correct{color:#047857;background:#10b9811f}.flashcard-result-badge.wrong{color:#dc2626;background:#ef44441a}[data-theme=dark] .flashcard-result-badge.correct{color:#34d399;background:#10b98133}[data-theme=dark] .flashcard-result-badge.wrong{color:#f87171;background:#ef44442e}.flashcard-strength-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.flashcard-strength-badge.weak{color:#92400e;background:#f59e0b24}.flashcard-strength-badge.learning{color:#1d4ed8;background:#3b82f61f}.flashcard-strength-badge.strong{color:var(--primary-dark);background:#0f9b8e1f}.flashcard-strength-badge.mastered{color:#047857;background:#10b98124}[data-theme=dark] .flashcard-strength-badge.weak{color:#fbbf24;background:#f59e0b33}[data-theme=dark] .flashcard-strength-badge.learning{color:#93c5fd;background:#3b82f633}[data-theme=dark] .flashcard-strength-badge.strong{color:#4db6ac;background:#0f9b8e33}[data-theme=dark] .flashcard-strength-badge.mastered{color:#34d399;background:#10b98133}.flashcard-question{padding:.5rem 0}.flashcard-question h3{font-size:1.1rem;font-weight:700;line-height:1.55}.flashcard-answers{border-radius:var(--radius-md);background:#0f9b8e0a;border:1px solid #0f9b8e1a;gap:.5rem;padding:1rem;display:grid}[data-theme=dark] .flashcard-answers{background:#0f9b8e0f;border-color:#0f9b8e26}.flashcard-answer-row{gap:.35rem;display:grid}.flashcard-answer-row strong{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.flashcard-answer-row span{font-size:.95rem;line-height:1.5}.flashcard-answer-row.student span{color:var(--ink)}.flashcard-answer-row.correct span{color:#047857;font-weight:600}[data-theme=dark] .flashcard-answer-row.correct span{color:#34d399}.flashcard-due-info{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.65rem;font-size:.78rem;display:flex}.flashcard-retention{background:#0f9b8e14;border-radius:999px;padding:.15rem .5rem;font-weight:700}.flashcard-date{margin-left:auto}.flashcard-explain-popup-btn{font-size:.85rem}.flashcard-popup-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out flashcard-popup-fade-in;display:flex;position:fixed;inset:0}@keyframes flashcard-popup-fade-in{0%{opacity:0}to{opacity:1}}.flashcard-popup{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);gap:0;width:100%;max-width:520px;max-height:80vh;animation:.25s cubic-bezier(.4,0,.2,1) flashcard-popup-slide-up;display:grid;overflow:hidden;box-shadow:0 24px 64px #0003}@keyframes flashcard-popup-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.flashcard-popup-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.flashcard-popup-title{color:var(--primary-dark);align-items:center;gap:.5rem;display:flex}.flashcard-popup-title strong{text-transform:uppercase;letter-spacing:.03em;font-size:.9rem}.flashcard-popup-body{gap:.75rem;max-height:calc(80vh - 4rem);padding:1.25rem;display:grid;overflow-y:auto}.flashcard-popup-body .explanation-text p,.flashcard-popup-body .explanation-steps li{color:var(--ink);font-size:.92rem;line-height:1.65}.flashcard-popup-body .explanation-steps{gap:.35rem;display:grid}.flashcard-popup-body .explanation-steps strong{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem}.flashcard-popup-body .explanation-steps ol{padding-left:1.25rem}[data-theme=dark] .flashcard-popup{background:#1a1a1af2;border-color:#ffffff1a}[data-theme=dark] .flashcard-popup-body .explanation-text p,[data-theme=dark] .flashcard-popup-body .explanation-steps li{color:#ffffffd9}.explanation-fallback{color:var(--muted);font-size:.9rem;font-style:italic}.flashcard-ai-btn{font-size:.85rem}.flashcard-ai-response{border-radius:var(--radius-md);background:linear-gradient(145deg,#0f9b8e0f,#0f9b8e05);border:1px solid #0f9b8e26;gap:.5rem;padding:1rem;display:grid}.flashcard-ai-response.error{background:#ef44440f;border-color:#ef44442e;align-items:center;gap:.5rem;display:flex}.flashcard-ai-response.error p{color:var(--danger);font-size:.85rem}[data-theme=dark] .flashcard-ai-response{background:linear-gradient(145deg,#0f9b8e1a,#0f9b8e0a);border-color:#0f9b8e33}.flashcard-ai-header{color:var(--primary-dark);align-items:center;gap:.4rem;display:flex}.flashcard-ai-header strong{text-transform:uppercase;letter-spacing:.03em;font-size:.82rem}.flashcard-ai-response p{color:var(--muted);font-size:.9rem;line-height:1.65}.flashcard-rating-actions{border-top:1px solid var(--line);padding-top:1rem;padding-bottom:env(safe-area-inset-bottom,0px);margin-top:auto}.rate-btn{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;min-height:44px;transition:background .16s var(--ease-out), border-color .16s var(--ease-out), transform .16s var(--ease-out), box-shadow .16s var(--ease-out);justify-content:center;align-items:center;gap:.35rem;padding:.7rem .6rem;font-family:inherit;font-size:.85rem;font-weight:700;display:inline-flex}.rate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.rate-btn:active{transform:scale(.97)}.rate-btn.again{color:#dc2626;border-color:#ef444440}.rate-btn.again:hover{background:#ef44440f;border-color:#ef444466}.rate-btn.hard{color:#d97706;border-color:#f59e0b40}.rate-btn.hard:hover{background:#f59e0b0f;border-color:#f59e0b66}.rate-btn.good{color:var(--primary-dark);border-color:#0f9b8e40}.rate-btn.good:hover{background:#0f9b8e0f;border-color:#0f9b8e66}.rate-btn.easy{color:#047857;border-color:#10b98140}.rate-btn.easy:hover{background:#10b9810f;border-color:#10b98166}[data-theme=dark] .rate-btn{background:#ffffff0a}[data-theme=dark] .rate-btn.again{color:#f87171}[data-theme=dark] .rate-btn.hard{color:#fbbf24}[data-theme=dark] .rate-btn.good{color:#4db6ac}[data-theme=dark] .rate-btn.easy{color:#34d399}.flashcard-rated-msg{color:#047857;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.88rem;font-weight:700;display:flex}[data-theme=dark] .flashcard-rated-msg{color:#34d399}.flashcards-page{flex-direction:column;gap:.75rem;max-width:1240px;height:100dvh;margin:0 auto;padding:0;display:flex;overflow:hidden}.flashcards-page .flashcard-feed{flex:1;min-height:0;padding:0 1.5rem 1.5rem;overflow-y:auto}@media (width<=760px){.flashcards-page .flashcard-feed{padding:0 1rem 1rem}.flashcards-stats-row{grid-template-columns:repeat(2,1fr)}.flashcard-face{padding:1.15rem}.flashcard-rate-buttons{grid-template-columns:repeat(4,1fr)}.flashcard-question h3{font-size:1rem}.flashcard-card-header{flex-direction:column}.flashcard-popup-overlay{align-items:flex-end;padding:.5rem}.flashcard-popup{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:85vh}}@media (width<=480px){.flashcards-stats-row{grid-template-columns:repeat(2,1fr);gap:.5rem}.flashcard-stat{padding:.75rem .4rem}.flashcard-stat-value{font-size:1.25rem}.flashcard-stat-label{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.flashcard-rate-buttons{grid-template-columns:repeat(2,1fr)}.flashcard-question h3{font-size:.95rem}}@media (width<=360px){.flashcard-face{gap:.85rem;padding:1rem}.flashcard-rate-buttons{gap:.4rem}}.flashcard-course-picker{flex-direction:column;gap:1rem;display:flex}.flashcard-picker-hint{color:var(--muted);margin:0;font-size:.92rem}.flashcard-picker-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.flashcard-picker-card{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out), transform .16s var(--ease-out);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.25rem;font-family:inherit;display:flex}.flashcard-picker-card:hover{border-color:#0f9b8e4d;transform:translateY(-2px);box-shadow:0 8px 24px #0f9b8e0f}.flashcard-picker-card:active{transform:scale(.98)}.flashcard-picker-code{color:var(--ink);font-size:1.05rem;font-weight:800}.flashcard-picker-due{color:#dc2626;background:#ef44441a;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.flashcard-picker-perf{color:var(--primary-dark);font-size:.9rem;font-weight:700}[data-theme=dark] .flashcard-picker-card{background:#ffffff08}.flashcard-flip-container{perspective:1200px;cursor:pointer}.flashcard-flip-container:active{transform:scale(.995)}.flashcard-flip-inner{width:100%;transform-style:preserve-3d;min-height:360px;transition:transform .3s cubic-bezier(.23,1,.32,1);position:relative}.flashcard-flip-inner.flipped{transform:rotateY(180deg)}.flashcard-flip-face{backface-visibility:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:0}[data-theme=dark] .flashcard-flip-face{background:#111111d9;border-color:#ffffff14}.flashcard-flip-back{transform:rotateY(180deg)}.flashcard-flip-prompt{justify-content:center;margin-top:auto;display:flex}.flashcard-question-area{flex:1;justify-content:center;align-items:center;padding:1rem 0;display:flex}.flashcard-question-area .flashcard-question{text-align:center;font-size:1.1rem;font-weight:700;line-height:1.55}.flashcard-answer-section{border-radius:var(--radius-md);background:#0f9b8e0a;border:1px solid #0f9b8e1a;padding:1rem}[data-theme=dark] .flashcard-answer-section{background:#0f9b8e0f;border-color:#0f9b8e26}.flashcard-answer-label{color:var(--primary-dark);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.4rem;font-size:.78rem;font-weight:700}.flashcard-answer-text{color:var(--primary-dark);font-size:1rem;font-weight:700;line-height:1.5}.flashcard-explanation{color:var(--muted);padding:0 .25rem;font-size:.9rem;line-height:1.55}.flashcard-counter{color:var(--muted);text-align:center;padding:.5rem 0;font-size:.85rem;font-weight:700}.flashcard-deck-metrics{flex-wrap:wrap;gap:.5rem;display:flex}.flashcard-deck-chip{color:var(--primary-dark);background:#0f9b8e14;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.flashcard-deck-chip svg{width:14px;height:14px}.flashcard-progress-track{background:#0f9b8e1a;border-radius:999px;height:4px;overflow:hidden}.flashcard-progress-fill{background:var(--primary-dark);height:100%;transition:width .25s var(--ease-out);border-radius:999px}.flashcard-complete{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;padding:2rem;display:flex}.flashcard-complete-icon{color:var(--primary-dark);background:#0f9b8e1a;border-radius:50%;place-items:center;width:80px;height:80px;display:grid}.flashcard-complete h2{margin:0;font-size:1.5rem;font-weight:800}.flashcard-complete p{color:var(--muted);max-width:360px;margin:0}.flashcard-rate-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem;font-size:.78rem;font-weight:700;display:block}.flashcard-rate-buttons{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.lp-root{--bg:#f8f7f4;--surface:#fff;--surface-2:#f1f0eb;--surface-3:#e6e5df;--surface-dark:#09090b;--surface-dark-2:#141417;--ink:#0a0a0c;--ink-soft:#4a4a52;--ink-faint:#767682;--ink-light:#f4f4f6;--accent:#059669;--accent-hover:#047857;--accent-soft:#05966917;--accent-soft-2:#05966929;--line:#0a0a0c17;--line-strong:#0a0a0c29;--line-faint:#0a0a0c0a;--line-dark:#ffffff1a;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--ease-editorial:cubic-bezier(.16, 1, .3, 1);min-height:100dvh;color:var(--ink);background-color:var(--bg);font-feature-settings:"cv02", "cv03", "cv04", "cv11", "tnum";-webkit-font-smoothing:antialiased;font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.lp-root *,.lp-root :before,.lp-root :after{box-sizing:border-box}.lp-root a{color:inherit;text-decoration:none}.lp-root button{color:inherit;font:inherit}.lp-container{width:min(1240px,100% - 48px);margin-inline:auto}.lp-root .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.lp-skip-link{z-index:999;border-radius:var(--radius-full);color:#fff;background:var(--accent);transition:transform .16s var(--ease-editorial);padding:10px 18px;font-size:13px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.lp-skip-link:focus{transform:translateY(0)}.lp-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-color:#f8f7f4eb;position:sticky;top:0}.lp-nav{justify-content:space-between;align-items:center;gap:24px;min-height:64px;display:flex}.lp-brand{align-items:center;gap:8px;display:inline-flex}.lp-brand-glyph{background-color:var(--surface-2);border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.lp-brand-name{letter-spacing:-.04em;text-transform:lowercase;font-size:16px;font-weight:800}.lp-brand-name b{color:var(--accent)}.lp-nav-menu{align-items:center;gap:28px;display:flex}.lp-nav-item{color:var(--ink-soft);letter-spacing:-.01em;font-size:13px;font-weight:600;transition:color .15s}.lp-nav-item:hover{color:var(--accent)}.lp-nav-actions{align-items:center;gap:16px;display:flex}.lp-sign-in-btn{color:var(--ink);font-size:13px;font-weight:700;transition:color .15s}.lp-sign-in-btn:hover{color:var(--accent)}.lp-btn-pill{border-radius:var(--radius-full);color:#fff;background-color:var(--ink);letter-spacing:-.01em;transition:background-color .15s var(--ease-editorial), transform .15s var(--ease-editorial);align-items:center;gap:6px;padding:9px 18px;font-size:12px;font-weight:700;display:inline-flex}.lp-btn-pill:hover{background-color:var(--accent);transform:translateY(-1px)}.lp-mobile-menu-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background-color:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;place-items:center;transition:background-color .15s,border-color .15s;display:none}.lp-mobile-menu-toggle:hover{background-color:var(--surface-2);border-color:var(--ink)}.lp-mobile-dropdown{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:lpDropdownSlide .18s var(--ease-editorial);background-color:#f8f7f4fa;padding:16px 0 24px}@keyframes lpDropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lp-mobile-dropdown-inner{flex-direction:column;gap:20px;display:flex}.lp-mobile-nav-links{flex-direction:column;display:flex}.lp-mobile-nav-item{border-bottom:1px solid var(--line-faint);color:var(--ink);letter-spacing:-.01em;justify-content:space-between;align-items:center;padding:14px 4px;font-size:15px;font-weight:700;transition:color .15s;display:flex}.lp-mobile-nav-item:hover{color:var(--accent)}.lp-mobile-auth-actions{flex-direction:column;gap:10px;padding-top:4px;display:flex}.lp-mobile-btn-signin{border:1px solid var(--line-strong);border-radius:var(--radius-full);color:var(--ink);background-color:var(--surface);justify-content:center;align-items:center;padding:13px;font-size:14px;font-weight:700;display:flex}.lp-mobile-btn-webapp{border-radius:var(--radius-full);color:#fff;background-color:var(--accent);justify-content:center;align-items:center;gap:6px;padding:13px;font-size:14px;font-weight:800;display:flex}.lp-hero-section{border-bottom:1px solid var(--line);justify-content:center;align-items:center;min-height:calc(82vh - 64px);padding:clamp(80px,12vh,160px) 0 clamp(90px,14vh,180px);display:flex}.lp-hero-main{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;margin-inline:auto;display:flex}.lp-hero-giant-title{color:var(--accent);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;text-align:center;margin:0 0 28px;font-size:clamp(44px,10.2vw,146px);font-weight:900;line-height:.88}.lp-hero-desc{max-width:52ch;color:var(--ink-soft);text-align:center;margin:0 auto 44px;font-size:clamp(17px,2vw,22px);font-weight:500;line-height:1.6}.lp-hero-cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.lp-btn-cta{border-radius:var(--radius-full);letter-spacing:-.01em;cursor:pointer;transition:transform .15s var(--ease-editorial), background-color .15s ease, border-color .15s ease;align-items:center;gap:10px;padding:16px 36px;font-size:15px;font-weight:800;display:inline-flex}.lp-btn-cta-primary{color:#fff;background-color:var(--accent);border:1px solid var(--accent);box-shadow:0 10px 24px var(--accent-soft-2)}.lp-btn-cta-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 14px 32px var(--accent-soft-2);transform:translateY(-2px)}.lp-btn-cta-secondary{color:var(--ink);background-color:var(--surface);border:1px solid var(--line-strong)}.lp-btn-cta-secondary:hover{border-color:var(--ink);background-color:var(--surface-2);transform:translateY(-2px)}.lp-departments-section{border-bottom:1px solid var(--line);padding:96px 0}.lp-editorial-section-header{margin-bottom:40px}.lp-sec-tag{color:var(--ink-faint);text-transform:capitalize;align-items:center;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:inline-flex}.lp-asterisk{color:var(--accent);font-size:14px}.lp-sec-headline-row{justify-content:space-between;align-items:center;gap:24px;display:flex}.lp-sec-title{letter-spacing:-.05em;text-transform:lowercase;margin:0;font-size:clamp(38px,5.2vw,68px);font-weight:900;line-height:.95}.lp-sec-quote{max-width:58ch;color:var(--ink-soft);margin:20px 0 0;font-size:17px;line-height:1.5}.lp-carousel-buttons{gap:8px;display:flex}.lp-btn-circle{border:1px solid var(--line-strong);background-color:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:grid}.lp-btn-circle:hover{border-color:var(--accent);background-color:var(--accent);color:#fff;transform:scale(1.05)}.lp-carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;gap:24px;padding:12px 0 24px;display:flex;overflow-x:auto}.lp-carousel-track::-webkit-scrollbar{display:none}.lp-dept-poster-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background-color:var(--surface);scroll-snap-align:start;min-height:300px;transition:transform .18s var(--ease-editorial), box-shadow .18s var(--ease-editorial), border-color .18s var(--ease-editorial);flex-direction:column;flex:0 0 330px;justify-content:space-between;padding:30px;display:flex}.lp-dept-poster-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 20px 40px #00000014}.lp-dept-card-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.lp-dept-pill-code{border-radius:var(--radius-full);color:var(--accent);background-color:var(--accent-soft);padding:4px 10px;font-family:Geist Mono,monospace;font-size:13px;font-weight:800}.lp-dept-icon-box{color:var(--ink)}.lp-dept-card-title{letter-spacing:-.03em;margin:0 0 12px;font-size:21px;font-weight:800;line-height:1.2}.lp-dept-card-desc{color:var(--ink-soft);margin:0 0 24px;font-size:14px;line-height:1.55}.lp-dept-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:18px;display:flex}.lp-dept-card-count{color:var(--ink-faint);text-transform:uppercase;font-family:Geist Mono,monospace;font-size:11px;font-weight:700}.lp-arrow-tag{border-radius:var(--radius-full);background-color:var(--surface-2);color:var(--ink);align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:700;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.lp-arrow-label{letter-spacing:.02em;font-size:11px;font-weight:700}.lp-dept-poster-card:hover .lp-arrow-tag{background-color:var(--accent);color:#fff;transform:translate(2px)}.lp-specs-section{border-bottom:1px solid var(--line);background-color:var(--surface);padding:96px 0}.lp-editorial-matrix{border:1px solid var(--line-strong);background-color:var(--line-strong);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:36px;display:grid;overflow:hidden}.lp-matrix-cell{background-color:var(--surface);padding:40px 32px;transition:background-color .15s}.lp-matrix-cell:hover{background-color:var(--bg)}.lp-matrix-num{color:var(--accent);letter-spacing:-.05em;margin-bottom:12px;font-family:Geist Mono,monospace;font-size:clamp(36px,4vw,52px);font-weight:900;line-height:1;display:block}.lp-matrix-title{letter-spacing:-.02em;margin-bottom:10px;font-size:17px;font-weight:800;display:block}.lp-matrix-desc{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.lp-trial-section{border-bottom:1px solid var(--line);padding:96px 0}.lp-trial-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:64px;display:grid}.lp-trial-text{color:var(--ink-soft);margin:20px 0 32px;font-size:16px;line-height:1.6}.lp-trial-check-list{gap:14px;display:grid}.lp-check-row{align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}.lp-check-green{color:var(--accent)}.lp-terminal-poster-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background-color:var(--surface);overflow:hidden;box-shadow:0 20px 48px #0000000d}.lp-term-topbar{border-bottom:1px solid var(--line);background-color:var(--surface-2);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.lp-term-code{color:var(--ink);font-family:Geist Mono,monospace;font-size:12px;font-weight:800}.lp-term-badge{border-radius:var(--radius-full);color:var(--accent);background-color:var(--accent-soft);padding:3px 8px;font-family:Geist Mono,monospace;font-size:10px;font-weight:800}.lp-term-question{padding:32px 28px 20px}.lp-term-question h3{letter-spacing:-.03em;margin:0;font-size:20px;font-weight:800;line-height:1.4}.lp-term-options{gap:10px;padding:0 28px 28px;display:grid}.lp-term-opt-btn{border:1px solid var(--line-strong);border-radius:var(--radius-md);min-height:52px;color:var(--ink);background-color:var(--surface);text-align:left;cursor:pointer;transition:background-color .15s var(--ease-editorial), border-color .15s var(--ease-editorial);align-items:center;gap:14px;padding:12px 18px;display:flex}.lp-term-opt-btn:hover{border-color:var(--ink);background-color:var(--surface-2)}.lp-term-opt-btn.is-selected{border-color:var(--accent)}.lp-term-opt-btn.is-correct{color:#047857;background-color:#05966914;border-color:#059669}.lp-term-opt-btn.is-incorrect{color:#b91c1c;background-color:#dc262614;border-color:#dc2626}.lp-term-opt-tag{color:var(--accent);font-family:Geist Mono,monospace;font-size:13px;font-weight:800}.lp-term-opt-text{flex:1;font-size:14px;font-weight:600}.lp-opt-valid{color:#059669}.lp-term-feedback{border-top:1px solid var(--line);background-color:var(--surface-2);min-height:100px;padding:24px 28px}.lp-feedback-idle{color:var(--ink-faint);font-size:13px}.lp-feedback-result{flex-direction:column;gap:8px;display:flex}.lp-feedback-result b{letter-spacing:.04em;font-family:Geist Mono,monospace;font-size:12px;font-weight:800}.is-correct-box{color:#047857}.is-incorrect-box{color:#b91c1c}.lp-feedback-result p{color:var(--ink);margin:0;font-size:13px;line-height:1.6}.lp-btn-try-again{border:1px solid var(--line-strong);border-radius:var(--radius-full);width:fit-content;color:var(--ink);background-color:var(--surface);cursor:pointer;padding:6px 14px;font-size:11px;font-weight:700;transition:background-color .15s}.lp-btn-try-again:hover{background-color:var(--surface-3)}.lp-feedback-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.lp-btn-feedback-cta{border-radius:var(--radius-full);color:#fff;background-color:var(--accent);align-items:center;gap:6px;padding:7px 14px;font-size:11px;font-weight:800;transition:background-color .15s,transform .15s;display:inline-flex}.lp-btn-feedback-cta:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.lp-dark-banner-section{border-bottom:1px solid var(--line);padding:96px 0}.lp-dark-banner{border-radius:var(--radius-lg);background-color:var(--surface-dark);color:#fff;grid-template-columns:1.2fr .8fr;gap:48px;padding:64px 56px;display:grid;box-shadow:0 30px 70px #0003}.lp-dark-meta{color:#ffffff73;letter-spacing:.1em;gap:16px;margin-bottom:20px;font-family:Geist Mono,monospace;font-size:11px;display:flex}.lp-dark-title{color:#fff;letter-spacing:-.05em;text-transform:lowercase;margin:0 0 20px;font-size:clamp(34px,4.4vw,54px);font-weight:900;line-height:.95}.lp-dark-paragraph{color:#ffffffa6;max-width:48ch;margin:0 0 36px;font-size:15px;line-height:1.6}.lp-dark-actions{flex-wrap:wrap;gap:14px;display:flex}.lp-btn-pill-emerald{border-radius:var(--radius-full);color:#fff;background-color:var(--accent);align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:800;transition:transform .15s,background-color .15s;display:inline-flex}.lp-btn-pill-emerald:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.lp-btn-pill-glass{border-radius:var(--radius-full);color:#fff;background-color:#ffffff0f;border:1px solid #fff3;align-items:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:700;transition:background-color .15s;display:inline-flex}.lp-btn-pill-glass:hover{background-color:#ffffff1f}.lp-dark-specs-card{border:1px solid var(--line-dark);border-radius:var(--radius-md);background-color:var(--surface-dark-2);align-self:center;padding:24px}.lp-card-pill-header{border-bottom:1px solid var(--line-dark);color:#fff6;letter-spacing:.1em;justify-content:space-between;padding-bottom:16px;font-family:Geist Mono,monospace;font-size:11px;font-weight:700;display:flex}.lp-card-spec-body{divide-y:1px solid var(--line-dark);display:grid}.lp-card-spec-row{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.lp-card-spec-row span{color:#ffffff80;font-size:13px}.lp-card-spec-row b{color:#fff;font-size:13px;font-weight:600}.lp-footer{background-color:var(--bg);padding:80px 0 40px}.lp-footer-top{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr;gap:64px;padding-bottom:64px;display:grid}.lp-footer-subtext{max-width:380px;color:var(--ink-soft);margin:18px 0 0;font-size:13px;line-height:1.6}.lp-footer-links-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.lp-footer-col{flex-direction:column;gap:12px;display:flex}.lp-footer-col b{letter-spacing:-.02em;font-size:13px;font-weight:800}.lp-footer-col a{color:var(--ink-soft);font-size:13px;transition:color .15s}.lp-footer-col a:hover{color:var(--accent)}.lp-footer-bottom{color:var(--ink-faint);justify-content:space-between;align-items:center;gap:20px;padding-top:28px;font-family:Geist Mono,monospace;font-size:11px;display:flex}.lp-loading-screen{background-color:var(--bg);place-items:center;min-height:100dvh;display:grid}.lp-loading-indicator{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite lpSpin}@keyframes lpSpin{to{transform:rotate(360deg)}}@media (width<=1024px){.lp-hero-editorial-grid,.lp-trial-grid,.lp-dark-banner,.lp-footer-top{grid-template-columns:1fr}.lp-editorial-matrix{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.lp-container{width:min(100% - 32px,1240px)}.lp-nav-menu,.lp-nav-actions .lp-btn-pill{display:none}.lp-mobile-menu-toggle{display:grid}.lp-hero-giant-title{white-space:normal;letter-spacing:-.05em;margin-bottom:20px;font-size:clamp(52px,14vw,88px);line-height:.9}.lp-hero-desc{margin-bottom:32px;font-size:16px}.lp-hero-section{min-height:auto;padding:48px 0 72px}.lp-hero-editorial-grid{gap:32px;padding:32px 0 40px}.lp-departments-section,.lp-specs-section,.lp-trial-section,.lp-dark-banner-section{padding:64px 0}.lp-dark-banner{padding:40px 28px}.lp-editorial-matrix{grid-template-columns:1fr}}@media (width<=520px){.lp-hero-giant-title{white-space:normal;letter-spacing:-.05em;font-size:clamp(44px,13.5vw,68px);line-height:.9}.lp-dept-poster-card{flex:0 0 280px;padding:24px}.lp-footer-links-grid{grid-template-columns:1fr;gap:24px}.lp-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}}@media (prefers-reduced-motion:reduce){.lp-btn-pill,.lp-dept-poster-card,.lp-btn-circle{transition:none;transform:none}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.pub-page{background:var(--bg);min-height:100vh;color:var(--ink);padding-bottom:60px;font-family:DM Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}.pub-container{width:min(1100px,100% - 44px);margin:0 auto}.pub-container-narrow{width:min(880px,100% - 44px);margin:0 auto}.pub-navbar-wrap{z-index:100;position:fixed;top:14px;left:0;right:0}.pub-navbar{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 84%, transparent);-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);border-radius:18px;align-items:center;gap:24px;height:68px;padding:0 16px 0 20px;display:flex;box-shadow:0 14px 48px #0b201714}.pub-brand{letter-spacing:-.03em;white-space:nowrap;color:var(--ink);align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.pub-brand b{color:var(--accent)}.pub-brand-mark{width:34px;height:34px;color:var(--accent);background:var(--accent-soft);border:1px solid #08b77d3d;border-radius:11px;flex:none;place-items:center;display:grid}.pub-brand-mark svg{width:20px;height:20px}.pub-nav-links{align-items:center;gap:24px;margin-left:auto;display:flex}.pub-nav-links a{color:var(--ink-soft);font-size:13px;font-weight:600;text-decoration:none;transition:color .2s}.pub-nav-links a:hover,.pub-nav-links a.active{color:var(--accent)}.pub-nav-actions{align-items:center;gap:10px;display:flex}.pub-back-btn{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.pub-back-btn:hover{color:var(--accent);transform:translate(-2px)}.pub-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 0%, #08b77d1f, transparent 50%), var(--bg);padding:140px 0 40px;position:relative}.pub-hero-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;font-weight:700;display:inline-flex}.pub-hero h1{letter-spacing:-.04em;margin:0 0 12px;font-family:Manrope,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:800;line-height:1.1}.pub-hero p{color:var(--ink-soft);max-width:680px;margin:0 0 20px;font-size:16px;line-height:1.6}.pub-hero-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:16px;font-size:12px;display:flex}.pub-badge{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-soft);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.pub-badge-warning{color:#f87171;background:#ef44441f;border-color:#ef44444d}.pub-badge-success{background:var(--accent-soft);color:var(--accent);border-color:#08b77d4d}.pub-alert{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);border-radius:18px;gap:16px;margin:32px 0 0;padding:24px;display:flex}.pub-alert-danger{background:#ef44440d;border-color:#ef444440}.pub-alert-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.pub-alert-danger .pub-alert-icon{color:#ef4444;background:#ef444426}.pub-alert-content h4{color:var(--ink);margin:0 0 6px;font-family:Manrope,sans-serif;font-size:16px;font-weight:700}.pub-alert-content p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.55}.pub-content{padding:48px 0 60px}.pub-section{margin-bottom:48px}.pub-section-title{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;margin:0 0 20px;font-family:Manrope,sans-serif;font-size:22px;font-weight:700;display:flex}.pub-section-title svg{color:var(--accent)}.pub-grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.pub-grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.pub-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s}.pub-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.pub-card-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.pub-card-icon{background:var(--surface-2);border:1px solid var(--line);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.pub-card-title{color:var(--ink);margin:0;font-family:Manrope,sans-serif;font-size:17px;font-weight:700}.pub-card p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.pub-timeline{flex-direction:column;gap:16px;padding-left:20px;display:flex;position:relative}.pub-timeline:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:10px;bottom:10px;left:7px}.pub-timeline-item{align-items:flex-start;gap:16px;display:flex;position:relative}.pub-timeline-dot{background:var(--surface);border:3px solid var(--accent);border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:-20px}.pub-timeline-content{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:1;padding:16px 20px}.pub-timeline-tag{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.pub-timeline-title{color:var(--ink);margin:0 0 4px;font-family:Manrope,sans-serif;font-size:15px;font-weight:700}.pub-timeline-desc{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.pub-steps{flex-direction:column;gap:14px;display:flex}.pub-step-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:14px;padding:16px;display:flex}.pub-step-num{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.pub-step-text{color:var(--ink);font-size:14px;line-height:1.5}.pub-step-text strong{color:var(--ink)}.pub-email-box{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:16px 20px;display:flex}.pub-email-info{flex-direction:column;gap:2px;display:flex}.pub-email-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-size:11px;font-weight:700}.pub-email-value{color:var(--accent);font-family:monospace;font-size:14px;font-weight:600}.pub-copy-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.pub-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.pub-faq-list{flex-direction:column;gap:12px;display:flex}.pub-faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;transition:border-color .2s;overflow:hidden}.pub-faq-item:hover{border-color:var(--line-strong)}.pub-faq-question{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;display:flex}.pub-faq-question svg{color:var(--ink-faint);flex:none;transition:transform .2s}.pub-faq-item.open .pub-faq-question svg{color:var(--accent);transform:rotate(180deg)}.pub-faq-answer{color:var(--ink-soft);padding:0 20px 18px;font-size:14px;line-height:1.6}.pub-form{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:18px;padding:28px;display:flex}.pub-form-group{flex-direction:column;gap:6px;display:flex}.pub-form-group label{color:var(--ink);font-size:13px;font-weight:600}.pub-form-control{background:var(--bg);border:1px solid var(--line-strong);color:var(--ink);border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.pub-form-control:focus{border-color:var(--accent)}textarea.pub-form-control{resize:vertical;min-height:120px}.pub-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:60px;padding:60px 0 28px}.pub-footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:50px;display:grid}.pub-footer-brand p{max-width:320px;color:var(--ink-soft);margin-top:16px;font-size:13px;line-height:1.6}.pub-footer-col{flex-direction:column;gap:10px;display:flex}.pub-footer-col b{color:var(--ink);margin-bottom:4px;font-size:13px}.pub-footer-col a{color:var(--ink-soft);font-size:13px;text-decoration:none;transition:color .2s}.pub-footer-col a:hover{color:var(--accent)}.pub-footer-bottom{border-top:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;align-items:center;margin-top:40px;padding-top:24px;font-size:12px;display:flex}.pub-footer-links{gap:16px;display:flex}.pub-footer-links a{color:var(--ink-faint);text-decoration:none;transition:color .2s}.pub-footer-links a:hover{color:var(--accent)}.pub-linear-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:20px 24px;transition:border-color .2s}.pub-linear-card h3{color:var(--ink);align-items:center;gap:8px;margin:0 0 8px;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;display:flex}.pub-linear-card h3 svg{color:var(--accent);flex:none}.pub-linear-card p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.pub-linear-card--danger{background:#ef44440a;border-color:#ef444440}.pub-linear-card--danger h3,.pub-linear-card--danger h3 svg{color:#ef4444}.pub-contact-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.pub-contact-row svg{color:var(--accent);flex:none}.pub-contact-row strong{color:var(--ink);font-size:14px}.pub-contact-row span{color:var(--ink-soft);font-size:13px}.pub-inline-link{color:var(--accent);margin-top:10px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-block}.pub-inline-link:hover{opacity:.8}.pub-inline-link--danger{color:#ef4444}@media (width<=900px){.pub-grid-2,.pub-grid-3{grid-template-columns:1fr}.pub-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.pub-footer-brand{grid-column:1/-1}}@media (width<=640px){.pub-nav-links{display:none}.pub-hero{padding-top:110px}.pub-footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}.nf-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.nf-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:120px 24px 80px;display:flex}.nf-code{align-items:center;gap:12px;margin-bottom:28px;display:flex}.nf-digit{letter-spacing:-.06em;color:var(--ink);opacity:.85;font-family:Manrope,sans-serif;font-size:clamp(96px,20vw,180px);font-weight:800;line-height:1}.nf-glyph{color:var(--accent);opacity:.7;place-items:center;width:clamp(64px,12vw,110px);height:clamp(64px,12vw,110px);display:grid}.nf-glyph svg{width:100%;height:100%}.nf-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 10px;font-family:Manrope,sans-serif;font-size:clamp(24px,3.5vw,36px);font-weight:700}.nf-desc{color:var(--ink-soft);max-width:420px;margin:0 0 36px;font-size:16px;line-height:1.7}
