@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.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);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}.sr-loading{color:var(--text-tertiary);text-align:center;padding:24px;font-size:14px}.sr-root{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:24px 20px 32px;display:flex}.sr-hero{text-align:center;padding:8px 0 12px}.sr-emoji{font-size:40px}.sr-title{font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--text-primary);margin-top:8px}.sr-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.sr-card-success{background:var(--bg-success-soft);border-color:#0000}.sr-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:600}.sr-row{color:var(--text-primary);justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 0;font-size:14px;display:flex}.sr-row+.sr-row{border-top:1px solid var(--border-soft)}.sr-row-sm{font-size:13px}.sr-row-label{overflow-wrap:anywhere;white-space:normal;flex:auto;min-width:0;padding-right:4px;line-height:1.35}.sr-row-value{flex:none;font-weight:600;line-height:1.35}.sr-row-before{color:var(--text-tertiary);font-weight:500}.sr-pct{font-variant-numeric:tabular-nums}.sr-pct.pos{color:var(--color-success)}.sr-pct.neg{color:var(--color-error)}.sr-cta{width:100%;margin-top:8px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-success:#22c55e;--color-error:#ef4444;--color-gold:#fbbf24;--color-indigo:#818cf8;--color-purple:#c084fc;--color-orange:#f59e0b}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.\!block{display:block!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-48{height:calc(var(--spacing) * 48)}.h-\[260px\]{height:260px}.h-full{height:100%}.w-2{width:calc(var(--spacing) * 2)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-\[260px\]{width:260px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[120px\]{max-width:120px}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[14px\]{gap:14px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-80{padding-inline:calc(var(--spacing) * 80)}.px-\[331px\]{padding-inline:331px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.uppercase{text-transform:uppercase}.overline{text-decoration-line:overline}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (width>=48rem){.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}}}:root{--color-primary:#60a5fa;--color-primary-hover:#3b82f6;--color-indigo:#818cf8;--color-purple:#c084fc;--color-success:#22c55e;--color-error:#ef4444;--color-gold:#fbbf24;--color-orange:#f59e0b;--bg:#fff;--bg-card:#f8fafc;--bg-card-elevated:#f1f5f9;--bg-muted:#e2e8f0;--bg-overlay:#0006;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-hero:40px;--text-h1:24px;--text-h2:20px;--text-h3:18px;--text-body:16px;--text-body-sm:14px;--text-caption:14px;--text-small:12px;--text-xs:11px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-fab:0 4px 16px #60a5fa4d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--mastery-not-started:#9ca3af;--mastery-novice:#f87171;--mastery-familiar:#fbbf24;--mastery-confident:#60a5fa;--mastery-master:#22c55e;--bg-success-soft:#22c55e1f;--bg-error-soft:#ef44441f;--border-soft:#0f172a14;--touch-min:44px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}.dark{--bg:#0f172a;--bg-card:#1e293b;--bg-card-elevated:#293548;--bg-muted:#334155;--bg-overlay:#0009;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--border:#1e293b;--border-soft:#f8fafc14;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}.header{height:56px;padding:0 var(--space-4);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.header-back{left:var(--space-4);color:var(--color-primary);cursor:pointer;font-size:20px;position:absolute}.header-title{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.header-action{right:var(--space-4);color:var(--color-primary);font-size:var(--text-body-sm);font-weight:var(--weight-medium);cursor:pointer;position:absolute}.content{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.content-centered{text-align:center;justify-content:center;align-items:center}.tab-bar{border-top:1px solid var(--border);background:var(--bg);height:64px;padding-bottom:max(8px, var(--safe-bottom));flex-shrink:0;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;display:grid}.tab{min-width:0;color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 4px;font-size:10px;text-decoration:none;display:flex}.tab.active{color:var(--color-primary)}.tab-icon{font-size:20px}.tab-label{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab-disabled{cursor:not-allowed;color:var(--text-tertiary);opacity:.7;background:0 0;border:0;font-family:inherit}.tab-soon{letter-spacing:.02em;color:var(--text-tertiary);margin-top:1px;font-size:9px;font-weight:600}.fab{bottom:80px;right:var(--space-4);border-radius:var(--radius-full);background:var(--color-primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-fab);cursor:pointer;z-index:10;transition:transform var(--transition-fast), opacity var(--transition-fast);justify-content:center;align-items:center;font-size:24px;display:flex;position:absolute}.fab:hover{transform:scale(1.05)}.fab-extended{gap:var(--space-2);width:auto;font-size:var(--text-body-sm);font-weight:var(--weight-semibold);padding:0 20px}.btn{min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-body);font-weight:var(--weight-medium);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:all var(--transition-fast);border:none;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--bg-card-elevated);color:var(--text-primary)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-card)}.btn-danger{background:var(--color-error);color:#fff}.btn-gold{background:var(--color-gold);color:#0f172a}.btn-outline{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-block{width:100%}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3);font-size:var(--text-body-sm)}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border)}.card-elevated{background:var(--bg-card-elevated);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.card-accent{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-4);border-left:4px solid var(--color-gold)}.card-interactive{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast)}.card-interactive:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.feature-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.feature-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);gap:var(--space-2);flex-direction:column;display:flex}.feature-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.feature-card-icon{border-radius:var(--radius-md);background:var(--bg-card-elevated);justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:flex}.feature-card-title{font-size:var(--text-body);font-weight:var(--weight-semibold)}.feature-card-subtitle{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.feature-card.disabled{opacity:.5;pointer-events:none}.progress-bar{background:var(--bg-muted);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar-lg{height:8px}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal)}.fill-blue{background:var(--color-primary)}.fill-green{background:var(--color-success)}.fill-red{background:var(--color-error)}.fill-gold{background:var(--color-gold)}.fill-indigo{background:var(--color-indigo)}.badge{border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:var(--weight-semibold);align-items:center;padding:2px 8px;display:inline-flex}.badge-blue{color:var(--color-primary);background:#60a5fa1f}.badge-green{color:var(--color-success);background:#22c55e1f}.badge-red{color:var(--color-error);background:#ef44441f}.badge-gold{color:var(--color-gold);background:#fbbf241f}.badge-indigo{color:var(--color-indigo);background:#818cf81f}.badge-purple{color:var(--color-purple);background:#c084fc1f}.badge-muted{background:var(--bg-muted);color:var(--text-secondary)}.streak-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--color-gold);background:#fbbf241f;display:inline-flex}.score-hero{text-align:center;padding:var(--space-4) 0}.score-hero-value{font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:1.1}.score-hero-label{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:var(--space-1)}.score-hero-delta{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);margin-top:var(--space-1)}.delta-positive{color:var(--color-success)}.delta-negative{color:var(--color-error)}.stat-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;border:1px solid var(--border)}.stat-value{font-size:var(--text-h2);font-weight:var(--weight-bold)}.stat-label{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:2px}.chip-row{gap:var(--space-2);padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-body-sm);font-weight:var(--weight-medium);background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0}.chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.onboarding-dots{gap:var(--space-2);padding:var(--space-4) 0;justify-content:center;display:flex}.onboarding-dot{border-radius:var(--radius-full);background:var(--bg-muted);width:8px;height:8px;transition:all var(--transition-fast)}.onboarding-dot.active{background:var(--color-primary);width:24px}.onboarding-option{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid var(--border);cursor:pointer;transition:all var(--transition-fast);display:flex}.onboarding-option.selected{border-color:var(--color-primary);background:#60a5fa0d}.onboarding-option-icon{background:var(--bg-card-elevated);border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.slider-container{padding:var(--space-4) 0}.slider-label{font-size:var(--text-body-sm);color:var(--text-secondary);margin-bottom:var(--space-2);justify-content:space-between;display:flex}.slider-value{font-size:var(--text-h2);font-weight:var(--weight-bold);color:var(--color-primary);text-align:center;margin-bottom:var(--space-2)}input[type=range]{-webkit-appearance:none;background:var(--bg-muted);border-radius:var(--radius-full);outline:none;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-primary);cursor:pointer;width:24px;height:24px;box-shadow:var(--shadow-md);border-radius:50%}.step-list{background:var(--border);border-radius:var(--radius-md);flex-direction:column;gap:1px;display:flex;overflow:hidden}.step-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-card);display:flex}.step-number{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;width:28px;height:28px;font-size:var(--text-body-sm);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.step-content{flex:1}.step-title{font-weight:var(--weight-medium);margin-bottom:var(--space-1)}.step-math{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--text-secondary)}.step-ai{border-radius:var(--radius-full);width:28px;height:28px;color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);background:#60a5fa1f;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.step-ai:hover{background:var(--color-primary);color:#fff}.chat-messages{padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-body);line-height:var(--leading-relaxed)}.chat-bubble-bot{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.chat-bubble-user{background:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.chat-avatar{border-radius:var(--radius-full);width:28px;height:28px;margin-bottom:var(--space-1);background:#60a5fa1f;justify-content:center;align-items:center;font-size:16px;display:flex}.chat-composer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.chat-input{gap:var(--space-2);padding:var(--space-3) var(--space-4);display:flex}.chat-input-field{padding:var(--space-3) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);font-size:var(--text-body);font-family:var(--font-family);color:var(--text-primary);outline:none;flex:1}.chat-input-field::placeholder{color:var(--text-tertiary)}.chat-send{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.chat-suggestions{gap:var(--space-2);padding:0 var(--space-4);flex-direction:column;display:flex}.chat-suggestion{padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-body-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.chat-suggestion:hover{border-color:var(--color-primary);color:var(--color-primary)}.mastery-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;display:flex}.mastery-label{font-size:var(--text-body-sm);min-width:140px}.mastery-bar{flex:1}.mastery-value{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);text-align:right;min-width:40px}.weekly-chart{height:80px;padding:var(--space-2) 0;justify-content:space-between;align-items:flex-end;display:flex}.weekly-bar-group{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;display:flex}.weekly-bar{background:var(--bg-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:28px;transition:height var(--transition-normal)}.weekly-bar.active{background:var(--color-primary)}.weekly-label{font-size:var(--text-xs);color:var(--text-tertiary)}.weekly-label.active{color:var(--color-primary)}.recommendation-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.recommendation-header{align-items:center;gap:var(--space-3);display:flex}.recommendation-icon{border-radius:var(--radius-md);background:#60a5fa1f;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.recommendation-title{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.recommendation-subtitle{font-size:var(--text-body-sm);color:var(--text-secondary)}.recommendation-cta{font-size:var(--text-body-sm);color:var(--color-primary);font-weight:var(--weight-medium)}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.text-primary-color{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-gold{color:var(--color-gold)}.text-secondary-color{color:var(--text-secondary)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.text-sm{font-size:var(--text-body-sm)}.text-lg{font-size:var(--text-h3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrateScale{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:.3s fadeIn}.animate-celebrate{animation:.5s celebrateScale}.skeleton{background:linear-gradient(90deg, var(--bg-muted) 25%, var(--bg-card-elevated) 50%, var(--bg-muted) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.learning-route{gap:var(--space-4);width:100%;max-width:640px;padding:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.lr-header h1{font-size:var(--text-h1);font-weight:var(--weight-bold)}.lr-sub{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:4px}.lr-roadmap-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.lr-roadmap-title{font-weight:var(--weight-semibold)}.lr-roadmap-track{padding:var(--space-2) 0;align-items:center;gap:0;display:flex;overflow-x:auto}.lr-roadmap-step{align-items:center;display:inline-flex}.lr-node{width:36px;height:36px;font-size:var(--text-small);font-weight:var(--weight-semibold);background:var(--bg-muted);color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lr-node.done{background:var(--color-success);color:#fff}.lr-node.current{background:var(--color-primary);color:#fff;box-shadow:0 0 0 3px #60a5fa4d}.lr-connector{background:var(--bg-muted);flex-shrink:0;width:12px;height:2px}.lr-connector.done{background:var(--color-success)}.lr-roadmap-meta{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:var(--space-1)}.lr-section-kicker{font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin:var(--space-2) var(--space-1) 0}.lm-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width>=768px){.lm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lm-card{gap:var(--space-2);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;min-width:0;text-decoration:none;display:flex;position:relative}.lm-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.lm-card-soon{cursor:default;background:var(--bg-card);opacity:.72}.lm-card-soon:hover{border-color:var(--border);box-shadow:none}.lm-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;display:flex}.lm-title{font-size:var(--text-body);font-weight:var(--weight-semibold)}.lm-sub{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.lm-badge{top:var(--space-3);right:var(--space-3);position:absolute}.lr-reco-title{font-weight:var(--weight-semibold);font-size:var(--text-body-sm);margin-bottom:var(--space-2)}.lr-reco-body{font-size:var(--text-body-sm);color:var(--text-secondary)}.lr-reco-cta{margin-top:var(--space-2);font-size:var(--text-body-sm);color:var(--color-primary);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;padding:0}.onb-shell{flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.onb-header{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;min-height:48px;display:flex}.onb-back,.onb-skip{cursor:pointer;font-size:var(--text-body);color:var(--text-secondary);min-height:44px;padding:0 var(--space-2);background:0 0;border:none}.onb-back{font-size:22px}.onb-back-spacer{width:44px}.onb-content{padding:0 var(--space-4);flex:1;overflow-y:auto}.onb-step{gap:var(--space-5);flex-direction:column;display:flex}.onb-step-diag,.onb-step-goal{gap:var(--space-6)}.onb-hero{text-align:center}.onb-hero-icon{border-radius:var(--radius-full);background:var(--bg-card-elevated);width:64px;height:64px;color:var(--color-primary);margin-bottom:var(--space-3);justify-content:center;align-items:center;display:inline-flex}.onb-title{font-size:var(--text-h1);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.onb-subtitle{color:var(--text-secondary);font-size:var(--text-body-sm)}.onb-step-head{gap:var(--space-2);flex-direction:column;display:flex}.onb-field{border:none;margin:0;padding:0}.onb-field-label{font-size:var(--text-body-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.onb-options-row{gap:var(--space-2);display:flex}.onb-options-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.onb-option-center{padding:var(--space-3);font:inherit;color:var(--text-primary);flex:1;justify-content:center}.onb-slider-ends{font-size:var(--text-body-sm);color:var(--text-secondary);justify-content:space-between;display:flex}.onb-chip-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.onb-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:var(--text-body-sm);cursor:pointer;transition:all var(--transition-fast)}.onb-chip.selected{border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--weight-medium);background:#60a5fa14}.onb-quick-actions{gap:var(--space-2);display:flex}.onb-quick-actions .btn{flex:1}.onb-selected-count{font-size:var(--text-body-sm);color:var(--text-secondary);text-align:center}.onb-choice{text-align:left;width:100%;font:inherit;color:var(--text-primary)}.onb-choice-icon{background:var(--bg-card-elevated);border-radius:var(--radius-md);width:48px;height:48px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.onb-choice-text{flex-direction:column;flex:1;display:flex}.onb-choice-title{font-weight:var(--weight-semibold);margin-bottom:2px}.onb-choice-sub{font-size:var(--text-body-sm);color:var(--text-secondary)}.onb-rewards{text-align:center;width:100%}.onb-rewards-head{font-size:var(--text-body-sm);color:var(--text-secondary)}.onb-rewards-row{justify-content:space-between;gap:var(--space-4);margin-top:var(--space-3);display:flex}.onb-reward{flex:1}.onb-reward-label{font-size:var(--text-body-sm);font-weight:var(--weight-medium)}.onb-footer{gap:var(--space-4);padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));flex-direction:column;display:flex}.profile-route{gap:var(--space-4);width:100%;max-width:560px;padding:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.pf-screen-title{font-size:var(--text-h1);font-weight:var(--weight-bold)}.pf-account{align-items:center;gap:var(--space-3);display:flex}.pf-avatar{border-radius:var(--radius-full);background:var(--bg-card-elevated);border:1px solid var(--border);width:56px;height:56px;font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.pf-account-text{min-width:0}.pf-name{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.pf-email{font-size:var(--text-body-sm);color:var(--text-secondary)}.pf-subscription{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.pf-subscription.premium{border-color:var(--color-gold);background:linear-gradient(180deg, #fbbf240f 0%, var(--bg-card) 70%)}.pf-sub-header{justify-content:space-between;align-items:center;display:flex}.pf-sub-plan{font-weight:var(--weight-semibold)}.pf-sub-meta{font-size:var(--text-body-sm);color:var(--text-secondary)}.pf-section{gap:var(--space-1);flex-direction:column;display:flex}.pf-section-label{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:0 var(--space-1) var(--space-2)}.pf-group{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.pf-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:52px;display:flex}.pf-row:last-child{border-bottom:none}.pf-row-action{border:none;border-bottom:1px solid var(--border);cursor:pointer;width:100%;font:inherit;color:var(--text-primary);background:0 0}.pf-row-label{align-items:center;gap:var(--space-3);font-size:var(--text-body);color:var(--text-primary);display:flex}.pf-row-icon{width:28px;color:var(--text-secondary);justify-content:center;display:flex}.pf-row-value{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;font-family:inherit;display:flex}.pf-segmented{background:var(--bg-card-elevated);border-radius:var(--radius-md);gap:2px;padding:2px;display:inline-flex}.pf-segmented-option{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:32px;padding:6px 10px}.pf-segmented-option.active{background:var(--bg);color:var(--text-primary);box-shadow:var(--shadow-sm)}.pf-toggle{background:var(--bg-muted);border-radius:var(--radius-full);cursor:pointer;width:44px;height:26px;transition:background var(--transition-fast);border:none;flex-shrink:0;padding:0;position:relative}.pf-toggle:after{content:"";width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.pf-toggle.on{background:var(--color-primary)}.pf-toggle.on:after{transform:translate(18px)}.pf-logout{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:52px;color:var(--color-error);font-size:var(--text-body);font-weight:var(--weight-medium);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit;display:flex}.pf-footer{text-align:center;padding:var(--space-4) 0 var(--space-2);font-size:var(--text-small);color:var(--text-tertiary)}.diag-type-chip{color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-small);font-weight:var(--weight-semibold);background:#60a5fa1f;align-items:center;gap:4px;padding:2px 10px;display:inline-flex}.diagnostic-focus{min-height:100dvh;padding:var(--space-4);justify-content:center;align-items:flex-start;display:flex}.diagnostic-frame{gap:var(--space-4);flex-direction:column;width:100%;max-width:28rem;display:flex}@media (width>=768px){.diagnostic-focus{align-items:center}}.diag-answer-input{width:100%;min-height:44px;padding:0 var(--space-4);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-body)}.diag-answer-input:focus{border-color:var(--color-primary);outline:none}.diag-answer-input:disabled{opacity:.5}.icon-btn{width:var(--touch-min);height:var(--touch-min);min-width:var(--touch-min);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-h3);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn-ghost:hover{background:var(--bg-card)}.icon-btn-soft{color:var(--color-primary);background:#60a5fa1f}.icon-btn-soft:hover{background:#60a5fa33}.icon-btn-primary{background:var(--color-primary);color:#fff}.icon-btn-primary:hover{background:var(--color-primary-hover)}.screen-header{grid-template-columns:var(--touch-min) 1fr var(--touch-min);height:56px;padding:0 var(--space-3);flex-shrink:0;align-items:center;display:grid}.screen-header-slot{align-items:center;display:flex}.screen-header-right{justify-content:flex-end}.screen-header-title{text-align:center;font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.empty-state{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);flex-direction:column;display:flex}.empty-state-icon{font-size:40px;line-height:1}.empty-state-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}.empty-state-desc{font-size:var(--text-body-sm);color:var(--text-secondary);max-width:320px}.empty-state-action{margin-top:var(--space-2)}.coming-soon{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);flex-direction:column;display:flex}.coming-soon-icon{opacity:.7;font-size:40px;line-height:1}.coming-soon-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}.coming-soon-desc{font-size:var(--text-body-sm);color:var(--text-secondary);max-width:320px}.overlay{z-index:100;background:var(--bg-overlay);padding:var(--space-4);animation:fadeIn var(--transition-normal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-bottom{align-items:flex-end;padding:0}.modal{background:var(--bg-card-elevated);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:var(--space-5);gap:var(--space-3);animation:celebrateScale var(--transition-normal);flex-direction:column;display:flex}.modal-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}.bottom-sheet{background:var(--bg-card-elevated);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:640px;box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4) calc(var(--space-6) + var(--safe-bottom));gap:var(--space-3);animation:slideUp var(--transition-normal);flex-direction:column;margin:0 auto;display:flex}.bottom-sheet-grip{border-radius:var(--radius-full);background:var(--bg-muted);width:36px;height:4px;margin-bottom:var(--space-1);align-self:center}.bottom-sheet-title{font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.paywall-card{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.paywall-title{font-size:var(--text-h2);font-weight:var(--weight-bold);color:var(--text-primary)}.paywall-subtitle{font-size:var(--text-body-sm);color:var(--text-secondary)}.paywall-benefits{gap:var(--space-2);width:100%;margin:var(--space-1) 0;flex-direction:column;list-style:none;display:flex}.paywall-benefit{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--text-primary);display:flex}.paywall-benefit-check{border-radius:var(--radius-full);background:var(--bg-success-soft);width:20px;height:20px;color:var(--color-success);font-size:var(--text-small);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.math-text{font-size:inherit}.math-text .katex{font-size:1em}@media (prefers-reduced-motion:reduce){.overlay,.modal,.bottom-sheet{animation:none}}.sidebar{display:none}@media (width>=768px){.sidebar{background:var(--bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}}.sidebar-logo{color:var(--text-primary);align-items:center;gap:8px;padding:20px 16px 16px;font-size:18px;font-weight:700;display:flex}.sidebar-logo-icon{background:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 8px;display:flex}.sidebar-item{color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-item:hover{background:var(--bg-card-elevated);color:var(--text-primary)}.sidebar-item.active{color:var(--color-primary);background:#60a5fa1a;font-weight:600}.sidebar-item-icon{text-align:center;width:22px;font-size:17px}.sidebar-item.disabled{cursor:not-allowed;color:var(--text-tertiary);opacity:.65}.sidebar-item-label{flex:1;min-width:0}.sidebar-item-soon{color:var(--text-tertiary);background:var(--bg-muted);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600}.sidebar-divider{background:var(--border);height:1px;margin:8px 16px}.sidebar-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:8px 18px 4px;font-size:11px;font-weight:600}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.sidebar-avatar{background:var(--bg-card-elevated);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;display:flex}.sidebar-user-name{font-size:13px;font-weight:500}.sidebar-user-plan{color:var(--color-gold);font-size:11px;font-weight:600}.sidebar-user-plan.free{color:var(--text-tertiary)}@media (width>=768px){.tab-bar{display:none!important}}.app-shell{flex-direction:column;height:100%;display:flex}@media (width>=768px){.app-shell{flex-direction:row;gap:12px;height:100%;padding:12px}}:root{--chat-dock-width:420px}@media (width>=768px){html[data-chat-docked] .app-shell{padding-right:calc(12px + var(--chat-dock-width));transition:padding-right var(--transition-normal,.2s) ease}html[data-chat-docked] .app-content-scroll{padding-right:var(--space-4,16px);justify-content:flex-end}}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}@media (width>=768px){.app-main{background:var(--bg);border:1px solid var(--border);border-radius:16px;position:relative;box-shadow:0 1px 3px #0000000a}}.app-content-scroll{flex:1;overflow-y:auto}@media (width>=768px){.app-content-scroll{justify-content:center;display:flex}.app-content-scroll>.content{width:100%;max-width:560px;overflow-y:visible}.app-content-scroll:has(>.content>.feature-column){overflow-y:hidden}}@media (width>=1600px){.app-content-scroll>.content{max-width:760px}}@media (width>=768px){.fab{bottom:24px;right:24px}}.app-shell-focus{flex-direction:column;gap:0;height:100%;padding:0}.app-shell-focus .app-main{background:var(--bg);box-shadow:none;border:none;border-radius:0}@media (width>=768px){.app-shell-focus{height:100%}.app-shell-focus .app-content-scroll>.content{max-width:640px}}.app-main-with-rail{flex-direction:row;min-width:0;display:flex}.app-right-rail{display:none}@media (width>=1024px){.app-right-rail{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow-y:auto}}.chain-session{flex-direction:column;gap:16px;margin:-16px -16px 0;display:flex}.chain-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 16px;display:flex;position:sticky;top:0}.chain-header-row{align-items:center;gap:12px;display:flex}.chain-close{background:var(--bg-card);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:all .15s;display:flex}.chain-close:hover{border-color:var(--color-primary);color:var(--color-primary)}.chain-progress-wrap{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.chain-progress-track{background:var(--bg-muted);border-radius:999px;flex:1;height:8px;overflow:hidden}.chain-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1)}.chain-step-text{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:500}.chain-chat-toggle{color:var(--color-orange);cursor:pointer;background:#fbbf241a;border:1px solid #fbbf244d;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.chain-chat-toggle:hover{background:#fbbf242e}.chain-chat-toggle.active{border-color:var(--color-gold);background:#fbbf2433}@media (width<=480px){.chain-chat-toggle-label{display:none}.chain-chat-toggle{padding:7px 9px}}.chain-context-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chain-context-badge{color:var(--color-primary-hover);white-space:nowrap;background:#60a5fa14;border:1px solid #60a5fa2e;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.chain-dots{align-items:center;gap:5px;margin-left:auto;display:flex}.chain-dot{background:var(--bg-muted);border-radius:50%;width:8px;height:8px;transition:all .25s}.chain-dot.done{background:var(--color-success)}.chain-dot.wrong{background:var(--color-error)}.chain-dot.current{background:var(--color-primary);border-radius:4px;width:18px}.chain-body{padding:0 16px 24px}.chain-intro{background:var(--bg-card-elevated);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px 18px;display:flex}.chain-intro-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.chain-intro-label:before{content:"📘";font-size:13px}.chain-intro-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55}.chain-intro-image{border:1px solid var(--border-soft,#0f172a14);background:#fff;border-radius:8px;max-width:100%;height:auto;margin:8px auto 0;padding:6px;display:block}.chain-intro-goal{border-bottom:1px dashed var(--border);flex-direction:column;gap:6px;margin-bottom:4px;padding-bottom:12px;display:flex}.chain-intro-goal-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.chain-intro-goal-label:before{content:"🎯";font-size:13px}.chain-intro-goal-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;font-weight:500;line-height:1.55}.chain-timeline{padding-left:44px;position:relative}.chain-timeline:before{content:"";background:#cbd5e1;border-radius:999px;width:2px;position:absolute;top:18px;bottom:18px;left:13px}.chain-step-row{margin-bottom:16px;position:relative}.chain-step-row:last-child{margin-bottom:0}.chain-step-marker{background:var(--bg);border:2px solid var(--border);width:28px;height:28px;color:var(--text-tertiary);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;transition:all .25s;display:flex;position:absolute;top:14px;left:-44px}.chain-step-row.done .chain-step-marker{background:var(--color-success);border-color:var(--color-success);color:#fff}.chain-step-row.wrong .chain-step-marker{background:var(--color-error);border-color:var(--color-error);color:#fff}.chain-step-row.active .chain-step-marker{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 0 4px #60a5fa33}.chain-step-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;transition:all .25s}.chain-step-row.active .chain-step-card{background:var(--bg);border-color:var(--color-primary);box-shadow:0 0 0 3px #60a5fa1a,0 2px 8px #0f172a0a}.chain-step-row.done .chain-step-card{background:var(--bg);border-color:#22c55e38}.chain-step-row.wrong .chain-step-card{background:var(--bg);border-color:#ef444438}.chain-step-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.chain-step-label{text-transform:uppercase;letter-spacing:.4px;color:var(--color-primary);font-size:11px;font-weight:600}.chain-step-row.done .chain-step-label{color:var(--color-success)}.chain-step-row.wrong .chain-step-label{color:var(--color-error)}.chain-step-status{color:var(--text-tertiary);white-space:nowrap;font-size:11px;font-weight:500}.chain-step-row.done .chain-step-status{color:var(--color-success)}.chain-step-row.wrong .chain-step-status{color:var(--color-error)}.chain-step-prompt{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55}.chain-step-structured{display:block}.chain-step-fields{flex-direction:column;gap:12px;margin:0;display:flex}.chain-step-field{flex-direction:column;gap:3px;min-width:0;display:flex}.chain-step-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin:0;font-size:10.5px;font-weight:600}.chain-step-field-question .chain-step-field-label{color:var(--color-primary)}.chain-step-field-value{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.55}.chain-step-field-question .chain-step-field-value{font-weight:500}.chain-past-summary{border-radius:8px;flex-direction:column;gap:3px;margin-top:10px;padding:9px 11px;font-size:12px;line-height:1.55;display:flex}.chain-past-summary.correct{background:#22c55e12;border-left:2px solid #22c55e73}.chain-past-summary.wrong{background:#ef44440f;border-left:2px solid #ef444473}.chain-past-line{word-break:break-word}.chain-past-line .label{color:var(--text-tertiary);margin-right:4px}.chain-past-line .mono{font-family:var(--font-mono);font-size:12px}.chain-answers{flex-direction:column;gap:6px;margin-top:10px;display:flex}.chain-answer{background:var(--bg);border:2px solid var(--border);cursor:pointer;text-align:left;color:var(--text-primary);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-family:inherit;font-size:13.5px;line-height:1.5;transition:all .15s;display:flex}.chain-answer:disabled{cursor:default}.chain-step-row.active .chain-answer:not(:disabled):hover{border-color:var(--color-primary);background:#60a5fa0a}.chain-answer.selected{border-color:var(--color-primary);background:#60a5fa14}.chain-answer.correct{border-color:var(--color-success);background:#22c55e0f}.chain-answer.wrong{border-color:var(--color-error);background:#ef44440d}.chain-step-row.done .chain-answer:not(.correct),.chain-step-row.wrong .chain-answer:not(.correct):not(.wrong){opacity:.45}.chain-answer-letter{background:var(--bg-card-elevated);width:22px;height:22px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:600;display:flex}.chain-answer.selected .chain-answer-letter{background:var(--color-primary);color:#fff}.chain-answer.correct .chain-answer-letter{background:var(--color-success);color:#fff}.chain-answer.wrong .chain-answer-letter{background:var(--color-error);color:#fff}.chain-input-row{flex-direction:column;gap:8px;margin-top:10px;display:flex}.chain-text-input{border:2px solid var(--border);background:var(--bg);font-size:14px;font-family:var(--font-family);color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;transition:border-color .15s}.chain-text-input:focus{border-color:var(--color-primary)}.chain-text-input::placeholder{color:var(--text-tertiary)}.chain-walkthrough{background:var(--bg-card-elevated);color:var(--text-secondary);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}.chain-walkthrough-expected{font-family:var(--font-mono);color:var(--text-primary);margin-top:6px;font-size:12px}.chain-selfgrade-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.chain-selfgrade-btn{background:var(--bg-card-elevated);min-height:42px;color:var(--text-primary);cursor:pointer;border:none;border-radius:10px;padding:0 20px;font-size:14px;font-weight:600;transition:all .15s}.chain-selfgrade-btn:hover:not(:disabled){background:var(--bg-muted)}.chain-selfgrade-btn:disabled{opacity:.55;color:var(--text-tertiary);cursor:not-allowed}.chain-ai-note{color:var(--text-secondary);background:#fbbf2412;border-left:2px solid #fbbf2459;border-radius:4px 8px 8px 4px;gap:8px;margin-top:10px;padding:9px 11px;font-size:12.5px;line-height:1.5;display:flex}.chain-ai-note.wrong{color:var(--text-primary);background:#ef44440f;border-left-color:#ef444473}.chain-ai-note-icon{flex-shrink:0;font-size:13px}.chain-step-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.chain-hint-btn{color:var(--color-orange);cursor:pointer;background:#fbbf2417;border:1px solid #fbbf2447;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:8px 12px;font-size:12px;font-weight:500;display:inline-flex}.chain-hint-btn:hover{background:#fbbf2429}.chain-hint-btn.disabled,.chain-hint-btn:disabled{cursor:not-allowed;opacity:.55;background:var(--bg-muted);border-color:var(--border);color:var(--text-tertiary)}.chain-hint-btn.disabled:hover,.chain-hint-btn:disabled:hover{background:var(--bg-muted)}.chain-soon-tag{letter-spacing:.06em;background:var(--bg-card);color:var(--text-tertiary);border-radius:999px;margin-left:4px;padding:2px 6px;font-size:10px;font-weight:700}.chain-chat-toggle.disabled,.chain-chat-toggle:disabled{cursor:not-allowed;opacity:.55;background:var(--bg-muted);color:var(--text-tertiary)}.chain-submit-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;min-height:42px;padding:0 20px;font-size:14px;font-weight:600;transition:all .15s}.chain-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.chain-submit-btn:disabled{background:var(--bg-muted);color:var(--text-tertiary);cursor:not-allowed}.chain-retry-btn{background:var(--bg-card-elevated);min-height:42px;color:var(--text-primary);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:10px;padding:0 16px;font-size:13px;font-weight:600;transition:all .15s}.chain-retry-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--bg-card)}@keyframes chainReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.chain-step-row.revealing{animation:.38s cubic-bezier(.16,1,.3,1) forwards chainReveal}.ai-chat-backdrop{display:none}.ai-chat-panel{background:var(--bg);border:1px solid var(--border);z-index:100;opacity:0;pointer-events:none;border-radius:16px;flex-direction:column;width:380px;max-width:calc(100vw - 24px);transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .22s;display:flex;position:fixed;top:12px;bottom:12px;right:12px;overflow:hidden;transform:translate(24px);box-shadow:0 8px 40px #0f172a1a}.ai-chat-panel.open{opacity:1;pointer-events:auto;transform:translate(0)}@media (width<=768px){.ai-chat-panel{border:none;border-radius:0;width:100%;max-width:100%;top:0;bottom:0;right:0;transform:translateY(100%)}.ai-chat-panel.open{transform:translateY(0)}}.ai-chat-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex}.ai-chat-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.ai-chat-badge{color:var(--color-gold);letter-spacing:.3px;background:#fbbf241f;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.ai-chat-close{background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.ai-chat-close:hover{color:var(--color-primary);border-color:var(--color-primary)}.ai-chat-context{border-bottom:1px solid var(--border);color:var(--color-primary);background:#60a5fa0d;flex-shrink:0;align-items:center;gap:6px;padding:10px 16px;font-size:12px;display:flex}.ai-chat-messages{flex-direction:column;flex:1;gap:10px;padding:14px 16px;display:flex;overflow-y:auto}.ai-chat-avatar{background:#60a5fa1f;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-bottom:4px;font-size:12px;display:flex}.ai-chat-bubble-bot{background:var(--bg-card);border:1px solid var(--border);border-radius:14px 14px 14px 4px;max-width:92%;padding:10px 13px;font-size:13px;line-height:1.55}.ai-chat-bubble-bot .mono{font-family:var(--font-mono);background:var(--bg-card-elevated);border-radius:3px;padding:0 4px;font-size:12px}.ai-chat-bubble-user{background:var(--color-primary);color:#fff;border-radius:14px 14px 4px;align-self:flex-end;max-width:85%;padding:10px 13px;font-size:13px;line-height:1.5}.ai-chat-suggestions{flex-direction:column;flex-shrink:0;gap:6px;padding:0 16px 8px;display:flex}.ai-chat-suggestion{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;transition:all .15s}.ai-chat-suggestion:hover{border-color:var(--color-primary);color:var(--color-primary)}.ai-chat-input{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.ai-chat-field{border:1px solid var(--border);background:var(--bg-card);font-size:13px;font-family:var(--font-family);color:var(--text-primary);border-radius:999px;outline:none;flex:1;padding:9px 14px}.ai-chat-field:focus{border-color:var(--color-primary)}.ai-chat-field::placeholder{color:var(--text-tertiary)}.ai-chat-send{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;display:flex}.session-shell{flex-direction:column;gap:16px;margin:-16px -16px 0;display:flex}.session-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border-soft,var(--border));flex-direction:column;gap:10px;padding:14px 16px 12px;display:flex;position:sticky;top:0}.session-header-row{align-items:center;gap:10px;display:flex}.session-close{background:var(--bg-card);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.session-close:hover{border-color:var(--color-primary);color:var(--color-primary)}.session-progress{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.session-segments{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.session-segment{background:var(--bg-muted);flex-shrink:0;width:14px;height:14px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.session-segment.anki{border-radius:3px}.session-segment.chain{border-radius:50%}.session-segment.done{background:var(--color-success)}.session-segment.wrong{background:var(--color-error)}.session-segment.partial{background:var(--color-gold,#fbbf24)}.session-segment.current{background:var(--color-primary);box-shadow:0 0 0 3px #60a5fa2e}.session-segment.current:after{content:"";border-radius:inherit;background:var(--color-primary);animation:1.6s ease-in-out infinite anki-segment-pulse;position:absolute;inset:0}@keyframes anki-segment-pulse{0%,to{opacity:1}50%{opacity:.55}}.session-progress-text{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.02em;background:var(--bg-card);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.session-help-btn{color:var(--color-orange);cursor:pointer;background:#fbbf241f;border:1px solid #fbbf2459;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px 7px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.session-help-btn:hover:not(:disabled){border-color:var(--color-gold);background:#fbbf2433}.session-help-btn:disabled{cursor:not-allowed;opacity:.85}.session-help-btn .icon{font-size:13px;line-height:1}.anki-context{align-items:center;gap:10px;padding:0 16px;display:flex}.anki-context-badge{color:var(--color-primary-hover);white-space:nowrap;text-overflow:ellipsis;background:#60a5fa14;border:1px solid #60a5fa2e;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.anki-body{padding:12px 20px 28px}.anki-stack{width:100%;position:relative}.anki-stack-shadow{background:var(--bg-card);border:1px solid var(--border-soft,var(--border));pointer-events:none;border-radius:24px;position:absolute;inset:0}.anki-stack-shadow.shadow-2{border-color:var(--border-soft,var(--border));transform:translateY(18px)scale(.92);box-shadow:0 4px 14px -6px #0f172a0f}.anki-stack-shadow.shadow-1{border-color:var(--border);transform:translateY(9px)scale(.96);box-shadow:0 6px 18px -6px #0f172a14}.anki-card{background:var(--bg);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:18px;padding:24px 20px 20px;display:flex;position:relative;box-shadow:0 14px 30px -12px #0f172a1a,0 4px 10px -3px #0f172a0d}.anki-question{color:var(--text-primary);letter-spacing:-.005em;white-space:pre-wrap;word-break:break-word;font-size:16px;font-weight:500;line-height:1.5}.anki-source{flex-direction:column;gap:8px;margin-top:-2px;display:flex}.anki-source-body{background:var(--surface-muted,#0f172a08);border:1px solid var(--border-soft,#0f172a14);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.anki-source-text{color:var(--text-secondary,#475569);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55}.anki-source-toggle{cursor:pointer;font:inherit;text-align:left;color:var(--text-secondary,#64748b);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;line-height:1.4;transition:color .15s;display:inline-flex}.anki-source-toggle:hover{color:var(--accent,#3b82f6)}.anki-source-caret{font-size:11px;line-height:1}.anki-question-image{border:1px solid var(--border-soft,#0f172a14);background:#fff;border-radius:8px;max-width:100%;height:auto;margin:0 auto;padding:6px;display:block}.anki-options{flex-direction:column;gap:8px;display:flex}.anki-option{border:1.5px solid var(--border);background:var(--bg);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;padding:13px 16px 13px 13px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;transition:all .15s;display:flex}.anki-option:hover:not(:disabled){border-color:var(--color-primary);background:#60a5fa0a}.anki-option:active:not(:disabled){transform:scale(.99)}.anki-option-letter{background:var(--bg-card);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.anki-option:hover:not(:disabled) .anki-option-letter{border-color:var(--color-primary);color:var(--color-primary-hover)}.anki-option-text{word-break:break-word;flex:1}.anki-option.selected{border-color:var(--color-primary);background:#60a5fa0f}.anki-option.selected .anki-option-letter{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.anki-option.correct{border-color:var(--color-success);color:var(--color-success-deep,var(--color-success));background:#22c55e0f}.anki-option.correct .anki-option-letter{background:var(--color-success);border-color:var(--color-success);color:#fff}.anki-option.wrong{border-color:var(--color-error);color:var(--color-error-deep,var(--color-error));background:#ef44440d}.anki-option.wrong .anki-option-letter{background:var(--color-error);border-color:var(--color-error);color:#fff}.anki-option:disabled{cursor:default}.anki-card.has-feedback .anki-option:not(.correct):not(.wrong){opacity:.55}.anki-card.has-feedback .anki-option:not(.correct):not(.wrong) .anki-option-letter{opacity:.7}.anki-feedback{flex-direction:column;gap:14px;padding-top:4px;animation:.35s cubic-bezier(.16,1,.3,1) anki-feedback-enter;display:flex}@keyframes anki-feedback-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.anki-feedback-title{color:var(--color-error-deep,var(--color-error));letter-spacing:.01em;font-size:13px;font-weight:600}.anki-feedback-title.correct{color:var(--color-success-deep,var(--color-success))}.anki-explanation{background:var(--bg-card-elevated);border:1px solid var(--border);border-radius:14px;overflow:hidden}.anki-explanation-body{color:var(--text-primary);padding:14px 16px;font-size:14px;line-height:1.55}.anki-ask-ai{border:none;border-top:1px solid var(--border);width:100%;color:var(--color-orange);cursor:pointer;background:#fbbf241f;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:flex}.anki-ask-ai:hover:not(:disabled){background:#fbbf2433}.anki-ask-ai:disabled{color:var(--text-tertiary);background:var(--bg);cursor:default}.anki-leitner{background:var(--bg-card);border:1px solid var(--border-soft,var(--border));color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:500;display:inline-flex}.anki-leitner-icon{opacity:.85;font-size:11px}.anki-next-btn{background:var(--color-primary-hover);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:4px;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s}.anki-next-btn:hover{background:var(--color-primary-deep);transform:translateY(-1px);box-shadow:0 6px 14px -4px #2563eb66}.anki-correct-chip{background:var(--color-success);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) anki-chip-pop;display:inline-flex;position:absolute;top:16px;right:16px;box-shadow:0 6px 14px -4px #22c55e66}@keyframes anki-chip-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}:is(.content:has(.session-shell),.content:has(.session-focus)){max-width:none;padding:16px;overflow:visible}.session-focus{flex-direction:column;width:100%;min-width:0;display:flex}.session-focus-main{flex:auto;min-width:0}@media (width>=1024px){.session-focus{align-items:flex-start;gap:var(--space-5,24px);flex-direction:row}.session-focus-main{flex:auto}}.session-state{text-align:center;flex-direction:column;gap:14px;max-width:420px;margin:0 auto;padding:48px 20px;display:flex}.session-state-loading{text-align:center;color:var(--text-tertiary);padding:48px 20px;font-size:15px}.session-state-emoji{font-size:40px}.session-state-title{font-size:var(--text-h2,20px);font-weight:var(--weight-bold,700);color:var(--text-primary)}.session-state-body{color:var(--text-secondary);margin-bottom:6px;font-size:15px;line-height:1.5}.home-desktop{display:none}.home-mobile{display:block}@media (width>=1024px){.home-mobile{display:none}.home-desktop{display:block}.app-content-scroll>.content:has(.home-desktop){flex:none;gap:0;max-width:1280px;padding:8px 24px 80px;display:block;overflow:visible}}.hd-topbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.hd-topbar-left .hd-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--text-tertiary);margin-bottom:6px;font-size:12px;font-weight:600}.hd-topbar-left h1{letter-spacing:-.025em;font-size:32px;font-weight:700;line-height:1}.hd-countdown{background:var(--bg-card-elevated);border:1px solid var(--border-soft);white-space:nowrap;border-radius:999px;align-items:baseline;gap:10px;padding:10px 18px;display:flex}.hd-countdown-n{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:18px;font-weight:700}.hd-countdown-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:500}.hd-subject-row{background:var(--bg-card-elevated);border:1px solid var(--border-soft);border-radius:12px;gap:8px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.hd-subject-chip{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.hd-subject-chip:hover{color:var(--text-primary)}.hd-subject-chip.active{background:var(--bg);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #0000000f}.hd-subject-chip.locked{color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.hd-subject-chip.locked:after{content:" +";opacity:.5;font-size:11px;font-weight:400}.hd-main-grid{grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:20px;display:grid}.hd-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;min-height:360px;padding:36px 40px 32px;display:flex;position:relative;overflow:hidden}.hd-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#60a5fa1a,#0000 70%);width:320px;height:320px;position:absolute;top:-120px;right:-120px}.hd-hero-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);align-items:center;gap:10px;margin-bottom:20px;font-size:12px;font-weight:600;display:flex;position:relative}.hd-hero-kicker .dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px}.hd-hero-range{font-variant-numeric:tabular-nums;align-items:flex-end;gap:12px;display:flex;position:relative}.hd-hero-range-num{letter-spacing:-.045em;color:var(--text-primary);font-size:88px;font-weight:700;line-height:.9}.hd-hero-range-sep{color:var(--text-tertiary);align-self:center;font-size:48px;font-weight:200;line-height:1;transform:translateY(-4px)}.hd-hero-range-unit{color:var(--text-tertiary);letter-spacing:.02em;margin-left:4px;padding-bottom:10px;font-size:16px;font-weight:500}.hd-hero-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;font-size:13px;display:flex}.hd-hero-meta .sep{background:var(--text-tertiary);opacity:.5;border-radius:50%;width:4px;height:4px}.hd-hero-meta strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.hd-hero-scale{margin-top:auto;padding-top:28px;position:relative}.hd-scale-label-row{text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);justify-content:space-between;margin-bottom:10px;font-size:11px;font-weight:600;display:flex}.hd-scale-track{background:var(--bg-muted);border-radius:999px;height:10px;position:relative}.hd-scale-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-deep));border-radius:999px;height:100%;position:absolute;top:0;box-shadow:0 2px 8px #60a5fa40}.hd-scale-target{background:var(--color-gold);border-radius:2px;width:2px;height:22px;position:absolute;top:-6px;transform:translate(-50%)}.hd-scale-target:after{content:"";background:var(--color-gold);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-3px}.hd-target-tag{text-transform:uppercase;letter-spacing:.14em;color:#92580d;white-space:nowrap;background:#fbbf242e;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:700;position:absolute;top:-36px;transform:translate(-50%)}.hd-scale-ticks{color:var(--text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.hd-timeline{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;flex-direction:column;padding:28px 28px 20px;display:flex}.hd-timeline-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.hd-timeline-title{text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);font-size:12px;font-weight:600}.hd-timeline-all{color:var(--color-primary-deep);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s}.hd-timeline-all:hover{opacity:.7}.hd-timeline-list{flex-direction:column;flex:1;display:flex}.hd-tl-row{border-bottom:1px solid var(--border-soft);grid-template-columns:16px 1fr auto;align-items:center;gap:14px;padding:10px 0;font-size:14px;display:grid;position:relative}.hd-tl-row:last-child{border-bottom:none}.hd-tl-row.today{background:linear-gradient(90deg,#60a5fa14,#0000);border-radius:10px;margin:0 -14px;padding-left:14px;padding-right:14px}.hd-ts{width:16px;height:16px;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:12px;display:flex}.hd-ts-done{color:var(--color-success);font-weight:700}.hd-ts-today{background:var(--color-primary);border-radius:50%;width:10px;height:10px;margin:3px;box-shadow:0 0 0 4px #60a5fa3d}.hd-ts-rest{color:var(--text-tertiary);opacity:.5;font-size:10px}.hd-tl-main{align-items:baseline;gap:10px;min-width:0;display:flex}.hd-tl-date{color:var(--text-tertiary);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.06em;min-width:64px;font-size:12px;font-weight:500}.hd-tl-date.is-today{color:var(--color-primary-deep);font-weight:700}.hd-tl-content{color:var(--text-primary)}.hd-tl-content.muted{color:var(--text-tertiary)}.hd-tl-content.future{color:var(--text-secondary)}.hd-tl-content strong{font-weight:600}.hd-tl-delta{font-variant-numeric:tabular-nums;color:var(--color-success);white-space:nowrap;font-size:12px;font-weight:600}.hd-tl-delta.locked{color:var(--text-tertiary);font-weight:400}.hd-recommend{color:#f8fafc;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:28px;margin-bottom:20px;padding:32px 36px;display:grid;position:relative;overflow:hidden}.hd-recommend:before{content:"";pointer-events:none;background:radial-gradient(circle,#60a5fa38,#0000 60%);width:240px;height:240px;position:absolute;top:-60px;right:-40px}.hd-recommend-kicker{text-transform:uppercase;letter-spacing:.16em;color:#f8fafc8c;margin-bottom:10px;font-size:12px;font-weight:600}.hd-recommend-title{letter-spacing:-.02em;color:#f8fafc;margin-bottom:8px;font-size:24px;font-weight:600;line-height:1.2}.hd-recommend-sub{color:#f8fafcb8;margin-bottom:12px;font-size:14px}.hd-recommend-sub strong{color:#4ade80;font-variant-numeric:tabular-nums;font-weight:700}.hd-recommend-meta{color:#f8fafc8c;font-variant-numeric:tabular-nums;align-items:center;gap:14px;font-size:12px;display:flex}.hd-recommend-meta .sep{background:#f8fafc66;border-radius:50%;width:3px;height:3px}.hd-btn-start{background:var(--color-primary);color:#fff;cursor:pointer;letter-spacing:.01em;z-index:1;border:none;border-radius:12px;padding:14px 34px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s;position:relative;box-shadow:0 4px 14px #60a5fa59}.hd-btn-start:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #60a5fa73}.hd-btn-start:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.hd-bottom-grid{grid-template-columns:1fr 1.2fr;gap:20px;display:grid}.hd-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:28px 32px}.hd-panel-title{text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;font-size:12px;font-weight:600;display:flex}.hd-radar-wrap{justify-content:center;align-items:center;padding:8px 0;display:flex}.hd-radar-hero-value{fill:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:44px;font-weight:700}.hd-radar-hero-label{text-transform:uppercase;letter-spacing:.2em;fill:var(--text-tertiary);font-size:10px;font-weight:600}.hd-spots-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.hd-spots-col{padding:0 4px}.hd-spots-col+.hd-spots-col{border-left:1px solid var(--border-soft);padding-left:24px}.hd-spots-col-header{text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;font-weight:700;display:flex}.hd-spots-col-weak .hd-spots-col-header{color:var(--color-error)}.hd-spots-col-strong .hd-spots-col-header{color:var(--color-success)}.hd-spots-col-header .bar{border-radius:2px;width:12px;height:2px}.hd-spots-col-weak .bar{background:var(--color-error)}.hd-spots-col-strong .bar{background:var(--color-success)}.hd-spot-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:flex}.hd-spot-row+.hd-spot-row{border-top:1px solid var(--border-soft)}.hd-spot-main{flex-direction:column;gap:2px;min-width:0;display:flex}.hd-spot-name{color:var(--text-primary);font-size:14px;line-height:1.3}.hd-spot-parent{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.hd-spot-pct{font-variant-numeric:tabular-nums;color:var(--text-tertiary);font-size:14px;font-weight:600;font-family:var(--font-mono);flex-shrink:0}@keyframes hd-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hd-topbar{animation:.35s ease-out both hd-rise}.hd-subject-row{animation:.35s ease-out 40ms both hd-rise}.hd-hero{animation:.45s ease-out 80ms both hd-rise}.hd-timeline{animation:.45s ease-out .14s both hd-rise}.hd-recommend{animation:.45s ease-out .2s both hd-rise}.hd-bottom-grid .hd-panel:first-child{animation:.45s ease-out .24s both hd-rise}.hd-bottom-grid .hd-panel:nth-child(2){animation:.45s ease-out .28s both hd-rise}@media (prefers-reduced-motion:reduce){.hd-topbar,.hd-subject-row,.hd-hero,.hd-timeline,.hd-recommend,.hd-bottom-grid .hd-panel{animation:none!important}}.hm-root{flex-direction:column;gap:20px;max-width:560px;margin:0 auto;padding:12px 16px 152px;display:flex}.hm-header{flex-direction:column;gap:4px;display:flex}.hm-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:600}.hm-h1{letter-spacing:-.02em;color:var(--text-primary);font-size:26px;font-weight:700;line-height:1.05}.hm-radar-panel{justify-content:center;padding:8px 0 4px;display:flex}.hm-radar-panel .hd-radar-wrap svg{max-width:100%;height:auto}.hm-subject{flex-direction:column;gap:8px;display:flex}.hm-subject-row{justify-content:center;align-items:center;gap:12px;display:flex}.hm-subject-arrow{background:var(--bg-card);border:1px solid var(--border-soft,#0f172a14);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;border-radius:50%;flex:0 0 32px;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:flex}.hm-subject-arrow:hover,.hm-subject-arrow:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.hm-subject-current{text-align:center;letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:1;max-width:240px;padding:8px 18px;font-size:14px;font-weight:600;overflow:hidden}.hm-subject-current.active{background:var(--color-primary);color:#fff}.hm-subject-current.locked{background:var(--bg-card-elevated);color:var(--text-tertiary);border:1px dashed var(--border-soft,#0f172a1f)}.hm-subject-soon{text-align:center;color:var(--text-tertiary);letter-spacing:.02em;font-size:11px}.hm-subject-dots{justify-content:center;gap:6px;display:flex}.hm-subject-dot{background:var(--bg-muted);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .15s}.hm-subject-dot:hover{transform:scale(1.2)}.hm-subject-dot.active{background:var(--color-primary)}.hm-recommend{background:var(--bg-card-elevated);border:1px solid var(--border-soft,#0f172a14);border-radius:18px;flex-direction:column;gap:12px;padding:18px 18px 16px;display:flex}.hm-recommend .btn,.hm-recommend button{align-self:flex-start;width:100%;max-width:220px}.hm-recommend-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:600}.hm-recommend-title{letter-spacing:-.015em;color:var(--text-primary);word-break:break-word;margin:0;font-size:20px;font-weight:700;line-height:1.2}.hm-recommend-meta{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.hm-recommend-gain{color:var(--color-success,#22c55e);font-variant-numeric:tabular-nums;font-weight:700}.hm-recommend-chips{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.hm-recommend-chips .dot{opacity:.5;background:currentColor;border-radius:50%;width:3px;height:3px}.hm-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hm-stat{background:var(--bg-card-elevated);border:1px solid var(--border-soft,#0f172a14);border-radius:14px;flex-direction:column;gap:4px;padding:14px 14px 12px;display:flex}.hm-stat-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:600}.hm-stat-value{letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.hm-stat-sub{color:var(--text-tertiary);font-size:11px}.hm-weak{background:var(--bg-card-elevated);border:1px solid var(--border-soft,#0f172a14);border-radius:16px;flex-direction:column;gap:10px;margin-bottom:76px;padding:16px;display:flex}.hm-weak-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.hm-weak-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:600}.hm-weak-sub{color:var(--text-tertiary);text-align:right;font-size:11px}.hm-weak-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.hm-weak-row{color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:14px;display:flex}.hm-weak-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hm-weak-end{flex-shrink:0;align-items:center;gap:10px;display:flex}.hm-weak-pct{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.hm-weak-badge{font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){.hm-root section,.hm-root [class^=hm-]{transition:none;animation:none}}.home-mobile .hd-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;min-height:0;padding:16px}.home-mobile .hd-hero-kicker{margin-bottom:8px;font-size:11px}.home-mobile .hd-hero-range-num{letter-spacing:-.03em;font-size:48px;line-height:1}.home-mobile .hd-hero-range-sep{font-size:32px}.home-mobile .hd-hero-range-unit{align-self:flex-end;margin-bottom:6px;font-size:14px}.home-mobile .hd-hero-meta{display:none}.home-mobile .hd-hero-scale{margin-top:12px}.home-mobile .hd-scale-label-row{margin-bottom:6px;font-size:11px}.home-mobile .hd-target-tag{font-size:10px;top:-36px}.home-mobile .hd-scale-ticks{font-size:10px}.home-mobile .hd-timeline{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:14px}.home-mobile .hd-timeline-header{margin-bottom:12px}.home-mobile .hd-timeline-title{font-size:13px;font-weight:600}.home-mobile .hd-timeline-all{font-size:12px}.home-mobile .hd-timeline-list{flex-direction:column;gap:2px;display:flex}.home-mobile .hd-tl-row{border-radius:10px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;display:flex}.home-mobile .hd-tl-row.today{background:var(--color-primary);color:#fff}.home-mobile .hd-tl-row:not(.today){opacity:.55}.home-mobile .hd-tl-date{min-width:28px;font-size:11px}.home-mobile .hd-tl-content{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.home-mobile .hd-tl-row:not(.today) .hd-tl-delta{display:none}.home-mobile .hd-tl-delta{white-space:nowrap;font-size:12px;font-weight:700}.home-mobile .hd-ts{flex-shrink:0;font-size:12px}.home-mobile .hd-hero:before{display:none}.home-mobile .hm-recommend{color:#f1f5f9;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:1px solid #ffffff14}.home-mobile .hm-recommend-kicker{color:#f1f5f98c}.home-mobile .hm-recommend-title{color:#f1f5f9}.home-mobile .hm-recommend-meta{color:#f1f5f9b3}.home-mobile .hm-recommend-chips{color:#f1f5f98c}.login-page{min-height:100svh;color:var(--text-primary);background:#eef1f6;position:relative}.login-page *{letter-spacing:0}.login-deck{scroll-snap-type:y mandatory;height:100svh;overflow-y:auto}.login-slide{scroll-snap-align:start;scroll-snap-stop:always;align-items:center;min-height:100svh;padding:12px;display:grid}.login-frame,.login-slide-frame{border:1px solid var(--border);background:var(--bg);border-radius:16px;width:min(1200px,100%);min-height:calc(100svh - 24px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 1px 3px #0000000a}.login-frame{grid-template-columns:minmax(0,1.1fr) minmax(340px,420px)}.login-slide-frame{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr)}.login-hero,.login-slide-copy{border-right:1px solid var(--border);flex-direction:column;display:flex}.login-hero{background:var(--bg);gap:28px;padding:40px}.login-slide-copy{background:var(--bg);justify-content:center;gap:24px;padding:56px 48px}.login-auth,.login-slide-visual{background:var(--bg-card);justify-content:center;align-items:center;padding:48px;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-mark{background:var(--color-primary);color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}.login-overline,.login-slide-number,.login-ui-kicker{color:var(--text-tertiary);text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:600;line-height:1.2}.login-tone-plan .login-slide-number,.login-tone-photo .login-slide-number,.login-tone-learning .login-slide-number,.login-tone-progress .login-slide-number,.login-tone-tutor .login-slide-number{color:var(--color-primary-hover)}.login-brand h1,.login-copy h2,.login-slide-copy h2,.login-auth-card h2,.login-page p{margin:0}.login-brand h1{font-size:24px;font-weight:700;line-height:1}.login-copy{max-width:700px}.login-copy h2,.login-slide-copy h2{max-width:680px;font-size:52px;font-weight:700;line-height:1.08}.login-copy p:last-child,.login-slide-lead{max-width:560px;color:var(--text-secondary);margin-top:14px;font-size:17px;line-height:1.55}.login-feature-list{gap:12px;max-width:540px;display:grid}.login-feature-row{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.login-feature-index{width:36px;height:36px;color:var(--color-primary-hover);background:#60a5fa1f;border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid}.login-tone-photo .login-feature-index{color:var(--color-orange);background:#f59e0b1f}.login-tone-learning .login-feature-index{color:var(--color-indigo);background:#818cf81f}.login-tone-progress .login-feature-index{color:var(--color-success);background:#22c55e1f}.login-feature-row strong{margin-bottom:4px;font-size:16px;line-height:1.2;display:block}.login-feature-row span:last-child{color:var(--text-secondary);font-size:14px;line-height:1.45;display:block}.login-status-pill,.login-streak,.login-countdown{white-space:nowrap;border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600}.login-status-pill,.login-countdown{color:var(--text-secondary);background:var(--bg-muted)}.login-streak{color:var(--color-gold);background:#fbbf241f}.login-app-preview{border:1px solid var(--border);background:var(--bg);width:min(560px,100%);box-shadow:var(--shadow-sm);border-radius:16px;overflow:hidden}.login-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:52px;padding:0 18px;font-size:15px;font-weight:600;display:flex}.login-preview-body{flex-direction:column;gap:12px;padding:16px;display:flex}.login-subject-row{border:1px solid var(--border);background:var(--bg-card-elevated);border-radius:12px;gap:6px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow:hidden}.login-subject-row span{color:var(--text-secondary);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:500}.login-subject-row .active{color:var(--text-primary);background:var(--bg);box-shadow:var(--shadow-sm)}.login-score-card{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding:24px;position:relative;overflow:hidden}.login-score-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#60a5fa1f,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-100px;right:-90px}.login-score-range{align-items:flex-end;gap:8px;margin-top:12px;display:flex;position:relative}.login-score-range strong{font-size:60px;font-weight:700;line-height:.95}.login-score-range span{color:var(--text-tertiary);align-self:center;font-size:34px;line-height:1;transform:translateY(-3px)}.login-score-range small{color:var(--text-secondary);padding-bottom:7px;font-size:14px}.login-progress-track{background:var(--bg-muted);border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.login-progress-track span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.login-score-progress{padding-top:24px;position:relative}.login-score-progress .login-progress-track{margin-top:0}.login-score-target{z-index:1;color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;align-items:center;height:18px;padding:0 7px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 0 0 1px #fbbf2473}.login-score-target:after{content:"";background:#f59e0b;border-radius:999px;width:2px;height:14px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 0 0 3px #f59e0b24}.login-scale-row{color:var(--text-tertiary);justify-content:space-between;margin-top:8px;font-size:11px;font-weight:500;display:flex}.login-recommend-dark{color:#f8fafc;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:16px;padding:18px 20px}.login-recommend-dark span,.login-recommend-dark small{color:#f8fafca6;font-size:12px;font-weight:600;display:block}.login-recommend-dark strong{margin:5px 0;font-size:18px;line-height:1.2;display:block}.login-plan-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.login-plan-card strong{font-size:18px;display:block}.login-session-segments{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.login-session-segments span{background:var(--bg-muted);flex-shrink:0;width:14px;height:14px}.login-session-segments .anki{border-radius:3px}.login-session-segments .chain{border-radius:999px}.login-session-segments .done{background:var(--color-success)}.login-session-segments .current{background:var(--color-primary);box-shadow:0 0 0 3px #60a5fa2e}.login-plan-stack{flex-direction:column;gap:8px;display:flex}.login-plan-queue-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-direction:column;gap:9px;padding:14px;display:flex}.login-plan-queue-card.active{border-color:#60a5fa99;box-shadow:0 0 0 3px #60a5fa1f}.login-plan-queue-card>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-plan-queue-card strong{font-size:14px}.login-plan-queue-card span,.login-plan-queue-card small{color:var(--text-secondary);font-size:12px;font-weight:600}.login-plan-queue-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login-plan-queue-card .login-progress-track{height:7px;margin-top:0}.login-plan-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.login-metric-mini{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;min-width:0;padding:11px 12px}.login-metric-mini strong,.login-metric-mini span{display:block}.login-metric-mini strong{font-size:20px;line-height:1}.login-metric-mini span{color:var(--text-secondary);white-space:nowrap;margin-top:5px;font-size:10px;font-weight:600}.login-timeline-list{flex-direction:column;display:flex}.login-timeline-row{border-bottom:1px solid var(--border);grid-template-columns:18px 64px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;font-size:13px;display:grid}.login-timeline-row:last-child{border-bottom:0}.login-timeline-row>span{color:var(--text-tertiary)}.login-timeline-row.done>span{color:var(--color-success);font-weight:700}.login-timeline-row.active{background:#60a5fa14;border-radius:10px;margin:0 -8px;padding:0 8px}.login-timeline-row.active>span,.login-timeline-row.active strong{color:var(--color-primary-hover)}.login-timeline-row small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login-photo-placeholder{background:var(--bg-muted);height:100px;color:var(--text-tertiary);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex}.login-answer-hero{text-align:center;padding:12px 0}.login-answer-hero span{color:var(--text-secondary);font-size:12px;display:block}.login-answer-hero strong{color:var(--color-success);font-size:36px;line-height:1.05;display:block}.login-answer-hero em{color:var(--color-primary);background:#60a5fa1f;border-radius:4px;margin-top:6px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:600;display:inline-flex}.login-step-list{background:var(--border);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.login-step-row{background:var(--bg-card);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.login-step-row>span{color:#fff;background:var(--color-primary);border-radius:999px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:grid}.login-step-row strong,.login-step-row small{display:block}.login-step-row strong{font-size:14px;line-height:1.25}.login-step-row small{color:var(--text-secondary);font-family:var(--font-mono);margin-top:2px;font-size:13px;line-height:1.35}.login-recommendation-card{border:1px dashed var(--color-primary);background:#60a5fa08;border-radius:12px;padding:14px}.login-recommendation-card strong,.login-recommendation-card span{display:block}.login-recommendation-card strong{font-size:14px}.login-recommendation-card span{color:var(--text-secondary);margin-top:4px;font-size:13px}.login-roadmap-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:16px}.login-roadmap-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.login-roadmap-track{align-items:center;gap:4px;display:flex;overflow:hidden}.login-roadmap-track span{width:32px;height:32px;color:var(--text-tertiary);background:var(--bg-muted);border-radius:999px;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.login-roadmap-track span.done{color:#fff;background:var(--color-success)}.login-roadmap-track span.current{color:#fff;background:var(--color-primary);box-shadow:0 0 0 3px #60a5fa38}.login-roadmap-track i{background:var(--bg-muted);flex-shrink:0;width:10px;height:2px}.login-feature-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.login-mode-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-direction:column;gap:8px;min-height:122px;padding:14px;display:flex;position:relative}.login-mode-card.disabled{opacity:.52}.login-mode-icon{background:var(--bg-card-elevated);border-radius:8px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.login-mode-card.tone-blue .login-mode-icon{background:#60a5fa1f}.login-mode-card.tone-green .login-mode-icon{background:#22c55e1f}.login-mode-card.tone-gold .login-mode-icon{background:#fbbf241f}.login-mode-card.tone-indigo .login-mode-icon{background:#818cf81f}.login-mode-card strong,.login-mode-card small{display:block}.login-mode-card strong{font-size:15px;line-height:1.2}.login-mode-card small{color:var(--text-secondary);margin-top:3px;font-size:12px;line-height:1.35}.login-mode-card em{background:var(--bg-muted);color:var(--text-secondary);border-radius:4px;padding:2px 7px;font-size:11px;font-style:normal;font-weight:600;position:absolute;top:10px;right:10px}.login-progress-hero{text-align:center;padding:12px 0}.login-progress-hero span,.login-progress-hero small{display:block}.login-progress-hero span{color:var(--text-secondary);font-size:12px}.login-progress-hero strong{font-size:40px;line-height:1.05;display:block}.login-progress-hero small{color:var(--color-success);font-size:13px;font-weight:600}.login-week-chart{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;justify-content:space-between;align-items:flex-end;gap:8px;height:96px;padding:12px 12px 8px;display:flex}.login-week-bar{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.login-week-bar i{background:var(--bg-muted);border-radius:4px 4px 0 0;width:24px}.login-week-bar i.active{background:var(--color-primary)}.login-week-bar span{color:var(--text-tertiary);font-size:11px}.login-week-bar span.active{color:var(--color-primary)}.login-mastery-list{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.login-mastery-row{grid-template-columns:minmax(120px,1fr) minmax(120px,1.1fr) 42px;align-items:center;gap:10px;font-size:13px;display:grid}.login-mastery-row .login-progress-track{height:6px;margin-top:0}.login-mastery-row.tone-green .login-progress-track span,.login-mastery-row.tone-green>span{background:var(--color-success);color:var(--color-success)}.login-mastery-row.tone-blue .login-progress-track span,.login-mastery-row.tone-blue>span{background:var(--color-primary);color:var(--color-primary)}.login-mastery-row.tone-red .login-progress-track span,.login-mastery-row.tone-red>span{background:var(--color-error);color:var(--color-error)}.login-mastery-row>span{text-align:right;font-weight:600;background:0 0!important}.login-future-preview{opacity:.96}.login-tutor-board{grid-template-columns:.88fr 1.12fr;gap:10px;display:grid}.login-student-list,.login-tutor-detail{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;padding:12px}.login-student-list{gap:8px;display:grid}.login-student-row{border:1px solid var(--border);background:var(--bg);border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:52px;padding:8px;display:grid}.login-student-row.active{background:#60a5fa14;border-color:#60a5fa52}.login-student-row>span{color:#fff;background:var(--color-primary);border-radius:999px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.login-student-row strong,.login-student-row small,.login-tutor-detail strong,.login-tutor-detail small{display:block}.login-student-row strong{font-size:13px}.login-student-row small,.login-tutor-detail small{color:var(--text-secondary);font-size:12px}.login-tutor-detail{align-content:start}.login-tutor-detail strong{margin-top:6px;font-size:18px;line-height:1.2}.login-auth-card{border:1px solid var(--border);background:var(--bg);width:100%;box-shadow:var(--shadow-sm);border-radius:16px;padding:26px}.login-auth-card .login-overline{color:var(--color-primary-hover)}.login-auth-card h2{margin-top:8px;font-size:34px;font-weight:700;line-height:1.1}.login-auth-card>p{color:var(--text-secondary);margin-top:14px;line-height:1.55}.login-provider-btn{cursor:pointer;border:1px solid #0000;border-radius:12px;width:100%;margin-top:4px;padding:14px 18px;font-size:15px;font-weight:600;transition:filter .12s,transform .12s}.login-provider-btn:hover{filter:brightness(1.06)}.login-provider-btn:active{transform:translateY(1px)}.login-provider-yandex{color:#fff;background:#fc3f1d}.login-auth-card>.login-error{border:1px solid var(--color-error);color:var(--color-error);background:#ef444414;border-radius:10px;margin-top:12px;margin-bottom:4px;padding:10px 12px;font-size:13px;line-height:1.45}.login-dev-bypass{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;margin-top:10px;padding:10px 14px;font-size:13px;font-weight:500}.login-dev-bypass:hover{color:var(--text-primary);border-color:var(--text-secondary)}.login-trust-row{color:var(--text-secondary);grid-template-columns:12px minmax(0,1fr);gap:10px;margin-top:18px;font-size:13px;line-height:1.45;display:grid}.login-trust-row span{background:var(--color-success);border-radius:999px;width:12px;height:12px;margin-top:4px}.login-rail{z-index:10;gap:10px;display:grid;position:fixed;top:50%;right:22px;transform:translateY(-50%)}.login-rail a{border:1px solid var(--text-tertiary);background:var(--bg);border-radius:999px;width:10px;height:10px}.login-rail a:hover{border-color:var(--color-primary);background:var(--color-primary)}@media (width<=1180px){.login-copy h2,.login-slide-copy h2{font-size:46px}}@media (width<=980px){.login-deck{scroll-snap-type:none;height:auto;overflow:visible}.login-slide{min-height:auto}.login-frame,.login-slide-frame{grid-template-columns:1fr;min-height:auto}.login-hero,.login-slide-copy{border-right:0;border-bottom:1px solid var(--border);order:1;gap:24px;padding:28px 22px 30px}.login-auth,.login-slide-visual{order:2;padding:22px 18px}.login-copy h2,.login-slide-copy h2{font-size:34px;line-height:1.1}.login-copy p:last-child,.login-slide-lead{font-size:15px}.login-feature-grid,.login-tutor-board{grid-template-columns:1fr}.login-rail{display:none}}@media (width<=520px){.login-slide{padding:12px}.login-hero,.login-slide-copy{padding:24px 18px 26px}.login-auth,.login-slide-visual{padding:18px 14px}.login-copy h2,.login-slide-copy h2{font-size:31px}.login-auth-card h2{font-size:29px}.login-score-range strong{font-size:48px}.login-subject-row{width:100%}.login-subject-row span{text-overflow:ellipsis;min-width:0;overflow:hidden}.login-mastery-row{grid-template-columns:1fr 44px}.login-mastery-row .login-progress-track{grid-area:2/1/auto/-1}}.content>.feature-column{flex:1;min-height:0}.content:has(>.feature-column){min-height:100%}.feature-column{min-height:0;margin:calc(-1 * var(--space-4));height:calc(100% + 2 * var(--space-4));flex-direction:column;display:flex}.chat-column{flex-direction:column;flex:1;min-height:0;display:flex}.chat-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-shrink:0;display:flex}.chat-header-title{font-weight:600}.chat-close{color:var(--text-secondary);font-size:var(--text-body);cursor:pointer;min-width:var(--touch-min);min-height:var(--touch-min);background:0 0;border:0}.chat-context-banner{align-items:center;gap:var(--space-2);margin:0 var(--space-4) var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-body-sm);color:var(--color-primary);background:#60a5fa14;display:flex}.chat-row{gap:var(--space-1);flex-direction:column;display:flex}.chat-row-bot{align-items:flex-start}.chat-column .chat-messages{flex:1;min-height:0}.chat-footer{border-top:1px solid var(--border);background:var(--bg);padding-top:var(--space-2);flex-shrink:0}.chat-suggestions{flex-flow:wrap}.chat-empty{gap:var(--space-2);padding:var(--space-4);text-align:center;flex-direction:column;display:flex}.chat-empty-title{font-weight:600}.chat-empty-hint{font-size:var(--text-body-sm);color:var(--text-tertiary)}.chat-reasoning{margin-bottom:var(--space-2);border-left:2px solid var(--border);padding-left:var(--space-2)}.chat-reasoning-summary{cursor:pointer;font-size:var(--text-small);color:var(--text-tertiary);list-style:none}.chat-reasoning-summary::marker{display:none}.chat-reasoning-summary::-webkit-details-marker{display:none}.chat-reasoning-summary:before{content:"▸ "}.chat-reasoning[open] .chat-reasoning-summary:before{content:"▾ "}.chat-reasoning-body{margin-top:var(--space-1);font-size:var(--text-small);color:var(--text-secondary);white-space:pre-wrap}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown p{margin:0 0 var(--space-2)}.chat-markdown ul,.chat-markdown ol{margin:0 0 var(--space-2);padding-left:var(--space-4)}.chat-markdown pre{padding:var(--space-2);border-radius:var(--radius-md);background:var(--bg-muted);overflow-x:auto}.chat-markdown .katex-display{overflow:auto hidden}.chat-attachment-image{border-radius:var(--radius-md);max-width:100%;margin-bottom:var(--space-1);display:block}.chat-attachments{gap:var(--space-2);padding:var(--space-2) var(--space-4) 0;flex-wrap:wrap;display:flex}.chat-attachment-chip{align-items:center;gap:var(--space-1);max-width:100%;font-size:var(--text-small);color:var(--text-secondary);background:var(--bg-muted);border-radius:var(--radius-full);padding:2px var(--space-1) 2px var(--space-2);display:flex}.chat-attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-attachment-remove{color:var(--text-secondary);cursor:pointer;font-size:var(--text-small);padding:var(--space-1);border-radius:var(--radius-full);background:0 0;border:0;flex-shrink:0;line-height:1}.chat-attachment-remove:hover{color:var(--text-primary);background:var(--bg-card)}.chat-attach{cursor:pointer;min-width:var(--touch-min);min-height:var(--touch-min);font-size:var(--text-body);background:0 0;border:0}.chat-actions{gap:var(--space-2);display:flex}.chat-row-user .chat-actions{align-self:flex-end}.chat-action{color:var(--text-tertiary);cursor:pointer;font-size:var(--text-small);font-family:var(--font-family);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:0 0;border:0}.chat-action:hover{color:var(--text-primary);background:var(--bg-muted)}.chat-action:disabled{opacity:.4;cursor:default}.chat-edit{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.chat-edit-field{resize:vertical;width:100%;min-height:2.5rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);font-size:var(--text-body);font-family:var(--font-family);color:var(--text-primary);outline:none}.chat-edit-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.chat-edit-cancel,.chat-edit-send{cursor:pointer;font-size:var(--text-small);font-family:var(--font-family);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:0}.chat-edit-cancel{color:var(--text-secondary);background:0 0}.chat-edit-send{background:var(--color-primary);color:#fff}.chat-error{font-size:var(--text-body-sm);color:var(--color-danger,var(--text-secondary))}.side-dock{z-index:90;background:var(--bg-card-elevated);border-left:1px solid var(--border-subtle,#00000014);box-shadow:var(--shadow-lg);animation:slideInRight var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.side-dock-grip{cursor:col-resize;z-index:1;width:9px;position:absolute;top:0;bottom:0;left:-3px}.side-dock-grip:hover{background:var(--bg-accent-subtle,#3b82f62e)}.side-dock>.chat-column{flex:auto;min-height:0}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.side-dock{animation:none}}.content:has(>.chat-page){max-width:none}.chat-page{gap:var(--space-4,16px);flex-direction:row;height:100%;min-height:0;display:flex}.chat-page-list{border-right:1px solid var(--border-subtle,#00000014);min-height:0;padding-right:var(--space-2,8px);flex:0 0 260px;overflow-y:auto}.chat-page-thread{flex:auto;min-width:0;min-height:0;display:flex}.chat-page-thread>.chat-column{flex:auto;min-height:0}.chat-threads-pane{min-height:0;padding:var(--space-3,12px);flex:auto;overflow-y:auto}.chat-threads{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chat-thread-row{border-radius:var(--radius-md,10px);text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--text-primary);background:0 0;border:0;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.chat-thread-row:hover{background:var(--bg-subtle,#0000000a)}.chat-thread-row[aria-current]{background:var(--bg-accent-subtle,#3b82f61a)}.chat-thread-title{font-size:var(--text-body-sm);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.chat-thread-meta{font-size:var(--text-caption,12px);color:var(--text-secondary);align-items:center;gap:8px;display:flex}.chat-threads-empty{padding:var(--space-4,16px);color:var(--text-secondary);font-size:var(--text-body-sm);text-align:center}.chat-header-actions{align-items:center;gap:2px;display:flex}.chat-header-action{cursor:pointer;border-radius:var(--radius-sm,8px);color:var(--text-secondary);background:0 0;border:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.chat-header-action:hover{background:var(--bg-subtle,#0000000a);color:var(--text-primary)}.chat-header-action[aria-pressed=true]{color:var(--text-primary);background:var(--bg-subtle,#0000000f)}.chat-ask-question{margin:0}.chat-ask-material{font-size:var(--text-body-sm);margin-top:6px}.chat-ask-material>summary{cursor:pointer;opacity:.85}.chat-ask-material-body{white-space:pre-wrap;overflow-wrap:anywhere;opacity:.9;margin-top:6px}.chat-ask-material-body .katex{white-space:normal;overflow-wrap:normal}.chat-pending{color:var(--text-secondary);font-size:var(--text-body-sm);align-items:center;gap:6px;margin:0;display:flex}.bottom-sheet>.bottom-sheet-body:has(>.chat-column){height:80dvh;min-height:0;display:flex}.photo-body{min-height:0;padding:var(--space-4);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.photo-upload{gap:var(--space-4);flex-direction:column;display:flex}.photo-dropzone{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg-card);cursor:pointer;text-align:center;transition:border-color var(--transition-fast);flex-direction:column;display:flex}.photo-dropzone:hover{border-color:var(--color-primary)}.photo-dropzone-icon{font-size:40px}.photo-dropzone-title{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.photo-dropzone-hint{font-size:var(--text-body-sm);color:var(--text-secondary);max-width:280px}.photo-preview{background:var(--bg-muted);border-radius:var(--radius-md);width:100%;height:120px;color:var(--text-tertiary);font-size:var(--text-body-sm);justify-content:center;align-items:center;display:flex}.answer-hero{text-align:center;padding:var(--space-4) 0 var(--space-2)}.answer-hero-label{font-size:var(--text-body-sm);color:var(--text-secondary);margin-bottom:var(--space-1)}.answer-hero-value{font-size:var(--text-hero);font-weight:var(--weight-bold);color:var(--color-success);line-height:1.1}.answer-hero-type{margin-top:var(--space-2)}.photo-divider{background:var(--border);height:1px;margin:var(--space-1) 0}.photo-section-title{font-weight:var(--weight-semibold)}.step-math .math-text{margin:0}.learning-bridge{gap:var(--space-3);padding:var(--space-5);border:1px dashed var(--color-primary);border-radius:var(--radius-lg);background:#60a5fa0a;flex-direction:column;display:flex}.learning-bridge-header{align-items:flex-start;gap:var(--space-3);display:flex}.learning-bridge-icon{flex-shrink:0;font-size:20px}.learning-bridge-title{font-weight:var(--weight-semibold)}.learning-bridge-body{font-size:var(--text-body-sm);color:var(--text-secondary);margin-top:2px}.learning-bridge-context{font-size:var(--text-small);color:var(--text-tertiary);margin-top:var(--space-1)}.photo-actions{margin-top:var(--space-1)}.pw-content{gap:var(--space-4);flex-direction:column;display:flex}.pw-hero{text-align:center;align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.pw-icon{width:64px;height:64px;margin-bottom:var(--space-2);background:linear-gradient(135deg,#fbbf2426,#fbbf240d);border-radius:16px;justify-content:center;align-items:center;font-size:32px;display:flex}.pw-title{font-size:var(--text-h2);font-weight:var(--weight-bold)}.pw-subtitle{font-size:var(--text-body-sm);color:var(--text-secondary);line-height:var(--leading-normal);max-width:360px}.pw-score{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:#22c55e0f;border:1px solid #22c55e26;display:flex}.pw-score-block{text-align:center}.pw-score-num{font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--text-secondary)}.pw-score-num.projected{color:var(--color-success)}.pw-score-lbl{font-size:var(--text-small);color:var(--text-tertiary);margin-top:2px}.pw-score-arrow{color:var(--color-success);font-size:20px}.pw-features{gap:var(--space-3);flex-direction:column;display:flex}.pw-features-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.pw-feature{align-items:flex-start;gap:var(--space-3);font-size:var(--text-body-sm);display:flex}.pw-features-grid .pw-feature{padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.pw-feature-icon{border-radius:var(--radius-md);background:#fbbf241a;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.pw-feature-title{font-weight:var(--weight-medium)}.pw-feature-desc{font-size:var(--text-small);color:var(--text-secondary);line-height:var(--leading-normal);margin-top:1px}.pw-pricing{gap:var(--space-2);display:flex}.pw-price{padding:var(--space-3);border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--bg-card);transition:all var(--transition-fast);flex:1;position:relative}.pw-price:hover{border-color:var(--color-gold)}.pw-price.selected{border-color:var(--color-gold);background:#fbbf240f}.pw-price-val{font-size:var(--text-h3);font-weight:var(--weight-bold)}.pw-price-per{font-size:var(--text-small);color:var(--text-secondary)}.pw-price-save{margin-top:var(--space-1);font-size:10px;font-weight:var(--weight-semibold);color:var(--color-success);border-radius:var(--radius-sm);background:#22c55e1a;padding:1px 6px;display:inline-block}.pw-alt{text-align:center;font-size:var(--text-body-sm);color:var(--text-secondary)}.pw-alt-link{color:var(--color-primary);font-weight:var(--weight-medium)}.paywall-route-body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.paywall-route-lead{font-size:var(--text-body-sm);color:var(--text-secondary)}.pr-checking{padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-body-sm)}.pr-root{width:100%;max-width:560px;padding:var(--space-4) var(--space-4) var(--space-6);gap:var(--space-3);flex-direction:column;margin:0 auto;display:flex}.pr-hero{text-align:center;padding:var(--space-3) 0 var(--space-2)}.pr-emoji{font-size:44px;line-height:1}.pr-title{font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--text-primary);margin-top:var(--space-2)}.pr-subtitle{margin-top:var(--space-2);font-size:var(--text-body-sm);color:var(--text-secondary);line-height:1.5}.pr-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:10px;padding:18px 20px;display:flex}.pr-card-success{background:var(--bg-success-soft);border-color:#0000}.pr-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:600}.pr-until{font-size:var(--text-h2);font-weight:var(--weight-bold);color:var(--text-primary)}.pr-perk{font-size:var(--text-body-sm);color:var(--text-primary);align-items:center;gap:10px;display:flex}.pr-perk-icon{background:#fbbf241f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;display:inline-flex}.chat-thinking-dots{gap:3px;margin-left:4px;display:inline-flex}.chat-thinking-dots i{border-radius:var(--radius-full);background:currentColor;width:4px;height:4px;animation:1.2s ease-in-out infinite chatThinkingPulse}.chat-thinking-dots i:nth-child(2){animation-delay:.15s}.chat-thinking-dots i:nth-child(3){animation-delay:.3s}@keyframes chatThinkingPulse{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-thinking-dots i{opacity:.6;animation:none}}html{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html,body,#root{background:var(--bg);height:100%;color:var(--text-primary);margin:0}@media (width>=768px){html,body,#root{background:#eef1f6}}@media (width>=1920px){.app-shell{zoom:1.25}}@media (width>=2400px){.app-shell{zoom:1.5}}@media (width>=3200px){.app-shell{zoom:1.8}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
