@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/tutor/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/tutor/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/tutor/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/tutor/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/tutor/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/tutor/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/tutor/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/tutor/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/tutor/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/tutor/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/tutor/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/tutor/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/tutor/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/tutor/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/tutor/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/tutor/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/tutor/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/tutor/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/tutor/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/tutor/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(/tutor/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/tutor/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/tutor/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root{--brand:#ffc933;--brand-edge:#f0b30f;--brand-soft:#fff7d9;--brand-ink:#c29400;--on-brand:#3a2a00;--brand-glow:0 0 0 transparent;--brand-glow-sm:0 0 0 transparent;--pen:#c93a26;--pen-soft:#fbe6e1;--highlight:#ffe066;--chalk:#ffcf3a;--chalk-edge:#f0b30f;--chalk-soft:#fff7d9;--chalk-ink:#9a7400;--on-chalk:#3d2c00;--good:#2c8a57;--good-edge:#22704a;--good-soft:#e4f3ea;--bad:#d33b2c;--bad-edge:#b32e21;--bad-soft:#fbe9e6;--ink:#2b211c;--ink-2:#5b4d44;--muted:#948a82;--line:#eee;--line-strong:#e0e0e0;--bg:#fff;--surface:#fff;--surface-2:#f6f6f5;--grid:transparent;--flame:#e5602e;--flame-edge:#c74c1e;--flame-soft:#fde9df;--paper:#fff;--paper-line:#785a4624;--paper-margin:#e0533d80;--board:#1f3b36;--board-deep:#172e2a;--board-frame:#2c4f48;--board-chalk:#f4f1e8;--font:"PingFang SC", "HarmonyOS Sans SC", "MiSans", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-serif:"Yuanti SC", "YouYuan", "Hiragino Maru Gothic ProN", "Varela Round", "PingFang SC", sans-serif;--font-round:"Yuanti SC", "YouYuan", "Hiragino Maru Gothic ProN", "PingFang SC", sans-serif;--font-hand:"Kaiti SC", "STKaiti", "KaiTi", "LXGW WenKai", serif;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:19px;--fs-xl:24px;--fs-2xl:32px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-pill:999px;--edge:0px;--gap:16px;--side:248px;--tabbar:64px;--shadow-card:0 1px 2px #1414140d, 0 6px 18px -8px #14141429;--shadow-pop:0 2px 4px #1414140f, 0 16px 36px -14px #14141442;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-med:.22s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--brand:#ffc933;--brand-edge:#ffd659;--brand-soft:#3a3016;--brand-ink:#ffd36b;--on-brand:#2a1f00;--pen:#ff8a73;--pen-soft:#3a211b;--highlight:#c9a52a;--chalk-soft:#3a3016;--chalk-ink:#ffd36b;--good-soft:#14352a;--good-edge:#3fd48a;--bad:#ff8a73;--bad-soft:#3a211b;--bad-edge:#ff9d89;--ink:#f4ede7;--ink-2:#cdbfb4;--muted:#9a8b80;--line:#352c26;--line-strong:#463a32;--bg:#1a1512;--surface:#221c18;--surface-2:#2c241f;--grid:#ffdcbe14;--flame-soft:#3d2615;--paper:#201a16;--paper-line:#ffdcbe1a;--paper-margin:#ff8a7373;--shadow-card:0 1px 2px #0000004d, 0 8px 18px -8px #00000080;--shadow-pop:0 2px 4px #0006, 0 16px 36px -14px #000000b3}}:root[data-theme=dark]{--brand:#ffc933;--brand-edge:#ffd659;--brand-soft:#3a3016;--brand-ink:#ffd36b;--on-brand:#2a1f00;--pen:#ff8a73;--pen-soft:#3a211b;--highlight:#c9a52a;--chalk-soft:#3a3016;--chalk-ink:#ffd36b;--good-soft:#14352a;--good-edge:#3fd48a;--bad:#ff8a73;--bad-soft:#3a211b;--bad-edge:#ff9d89;--ink:#f4ede7;--ink-2:#cdbfb4;--muted:#9a8b80;--line:#352c26;--line-strong:#463a32;--bg:#1a1512;--surface:#221c18;--surface-2:#2c241f;--grid:#ffdcbe14;--flame-soft:#3d2615;--paper:#201a16;--paper-line:#ffdcbe1a;--paper-margin:#ff8a7373;--shadow-card:0 1px 2px #0000004d, 0 8px 18px -8px #00000080;--shadow-pop:0 2px 4px #0006, 0 16px 36px -14px #000000b3}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:400 var(--fs-md)/1.55 var(--font);color:var(--ink);background:radial-gradient(circle, var(--grid) 1.1px, transparent 1.6px) 0 0 / 24px 24px, var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#app{height:100%}h1,h2,h3,h4{letter-spacing:-.005em;color:var(--ink);margin:0;font-weight:600}h1,h2{font-family:var(--font-serif);letter-spacing:.01em;font-weight:700}h1{font-size:var(--fs-2xl);line-height:1.2}h2{font-size:var(--fs-xl);line-height:1.25}h3{font-size:var(--fs-lg)}p{margin:0}a{color:var(--brand-ink);text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:color-mix(in srgb, var(--highlight) 70%, transparent);color:var(--ink)}.muted{color:var(--muted)}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}.marker{background:linear-gradient(transparent 58%, color-mix(in srgb, var(--highlight) 75%, transparent) 58%, color-mix(in srgb, var(--highlight) 75%, transparent) 92%, transparent 92%);padding:0 .08em}.icon{flex:none;width:1.25em;height:1.25em}.icon .d{fill:var(--highlight);stroke:none;opacity:.9}.icon .tab-only{display:none}.tabbar .icon .tab-only{display:inline}.btn:not(.ghost):not(.flat) .icon .d,.lb-btn .icon .d,.tabbar .icon .d,.on-dark .icon .d,.immersive .icon .d,.board .icon .d{fill:currentColor;opacity:.22}.btn{--c:var(--brand);--e:var(--brand-edge);--fg:var(--on-brand);--glow:0 0 transparent;border-radius:var(--r-pill);background:var(--c);min-height:44px;color:var(--fg);font-weight:600;font-size:var(--fs-md);letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;transition:transform .16s cubic-bezier(.3,.7,.3,1.4),background-color .16s,color .16s,border-color .16s,box-shadow .16s;display:inline-flex}.btn:hover{background:var(--e)}.btn:active,.btn.pressed{transform:scale(.96)rotate(-.6deg)}.btn.btn:disabled{--c:var(--surface-2);--e:var(--surface-2);--fg:var(--muted);cursor:default;transform:none}.btn.chalk{--c:var(--chalk);--e:var(--chalk-edge);--fg:var(--on-chalk)}.btn.good{--c:var(--good);--e:var(--good-edge);--fg:#fff}.btn.danger{--c:var(--bad);--e:var(--bad-edge);--fg:#fff}.btn.ghost{--c:var(--surface);--e:var(--surface);--fg:var(--ink);border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.btn.ghost:hover{border-color:var(--ink);background:var(--surface)}.btn.flat{--c:transparent;--e:transparent;--fg:var(--ink-2)}.btn.flat:hover{color:var(--ink);background:linear-gradient(transparent 62%, color-mix(in srgb, var(--highlight) 70%, transparent) 62%, color-mix(in srgb, var(--highlight) 70%, transparent) 90%, transparent 90%) no-repeat 14px 0 / calc(100% - 28px) 100%}.btn.flat:not(.round):hover{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--highlight) 75%, transparent);text-decoration-color:color-mix(in srgb, var(--highlight) 75%, transparent);text-underline-offset:-.18em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;background:0 0;text-decoration-thickness:.42em}.btn.flat:active{transform:scale(.97)}.btn.sm{min-height:36px;font-size:var(--fs-sm);padding:0 15px}.btn.sm.flat:hover{background-position:10px 0;background-size:calc(100% - 20px) 100%}.btn.lg{min-height:52px;font-size:var(--fs-lg);padding:0 26px}.btn.block{width:100%}.btn.round{border-radius:50%;width:44px;padding:0}.btn.round.lg{width:60px;min-height:60px}.btn.round.flat:hover{background:var(--surface-2)}@media (prefers-reduced-motion:reduce){.btn:active,.btn.pressed{transform:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:20px}.card.tap{cursor:pointer;transition:transform .2s cubic-bezier(.3,.7,.3,1.3),box-shadow .2s}.card.tap:hover{box-shadow:var(--shadow-pop);transform:translateY(-3px)}.card.tap:active{box-shadow:var(--shadow-card);transform:scale(.985)}.card.brand{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 25%, transparent)}.card.chalk{background:var(--chalk-soft);border-color:color-mix(in srgb, var(--chalk) 45%, transparent)}.card.danger{border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.taped{position:relative}.taped:before{content:"";z-index:2;pointer-events:none;background:color-mix(in srgb, var(--tape,var(--highlight)) 55%, transparent);width:74px;height:20px;transform:rotate(var(--tilt,-3deg));margin-left:-37px;position:absolute;top:-9px;left:50%;-webkit-mask-image:linear-gradient(90deg,#0000 0 2px,#000 2px calc(100% - 2px),#0000 calc(100% - 2px)),repeating-linear-gradient(#0000 0 3px,#000 3px 4px);mask-image:linear-gradient(90deg,#0000 0 2px,#000 2px calc(100% - 2px),#0000 calc(100% - 2px)),repeating-linear-gradient(#0000 0 3px,#000 3px 4px);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-over;mask-composite:add;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pill{border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:.03em;background:var(--surface-2);color:var(--ink-2);align-items:center;gap:5px;padding:3px 10px;font-weight:800;display:inline-flex}.pill.brand{background:var(--brand-soft);color:var(--brand-edge)}.pill.chalk{background:var(--chalk-soft);color:var(--chalk-ink)}.pill.good{background:var(--good-soft);color:var(--good-edge)}.pill.bad{background:var(--bad-soft);color:var(--bad-edge)}.chip{border-radius:var(--r-pill);border:2px solid var(--line);background:var(--surface);font-weight:700;font-size:var(--fs-sm);color:var(--ink-2);transition:border-color var(--t-fast), color var(--t-fast), transform var(--t-fast);border-bottom-width:3px;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.chip:hover{border-color:var(--brand);color:var(--brand-ink)}.chip:active{border-bottom-width:1px;transform:translateY(2px)}.seg{background:var(--surface-2);border-radius:var(--r-md);gap:4px;padding:4px;display:inline-flex}.seg button{font-weight:800;font-size:var(--fs-sm);color:var(--muted);background:0 0;border:none;border-radius:12px;padding:6px 14px}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 0 var(--line-strong), 2px 2px 0 color-mix(in srgb, var(--brand) 10%, transparent)}.field{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r-pill);transition:border-color var(--t-fast);align-items:center;gap:8px;padding:6px 6px 6px 18px;display:flex}.field:focus-within{border-color:var(--brand)}.field input{min-width:0;font-size:var(--fs-md);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-weight:600}.field input::placeholder{color:var(--muted);font-weight:500}.bar{background:var(--surface-2);border-radius:var(--r-pill);height:14px;overflow:hidden}.bar>i{border-radius:inherit;background:var(--good);height:100%;transition:width .4s var(--ease-bounce);display:block;position:relative}.bar>i:after{content:"";background:#ffffff59;border-radius:2px;height:3px;position:absolute;top:3px;left:8px;right:8px}.tabs{border-bottom:2px solid var(--line);gap:6px;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 14px 12px;font-weight:800}.tabs button.on{color:var(--brand-ink);border-bottom-color:var(--brand);box-shadow:0 6px 10px -6px var(--brand);clip-path:inset(0 0 -14px)}.tab-count{background:var(--surface-2);color:var(--muted);font-size:var(--fs-xs);border-radius:999px;margin-left:6px;padding:0 7px}@media (width<=560px){.tabs{box-shadow:inset 0 -2px 0 var(--line);scrollbar-width:none;border-bottom:0;gap:2px;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex:none;margin-bottom:0;padding:10px 11px 12px}}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:48px 16px;display:flex}.empty h3{color:var(--ink)}.toast{z-index:50;opacity:0;background:var(--ink);max-width:min(520px,100vw - 32px);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--shadow-pop);transition:transform var(--t-med) var(--ease-bounce), opacity var(--t-med);padding:12px 18px;font-weight:700;position:fixed;top:18px;left:50%;transform:translate(-50%,-20px)}.toast.show{opacity:1;transform:translate(-50%)}.modal-mask{z-index:40;animation:fade var(--t-med);background:#1e223573;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-lg);width:min(420px,100%);animation:pop var(--t-med) var(--ease-bounce);flex-direction:column;gap:16px;padding:24px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.92)}}.wave{flex:none;justify-content:center;align-self:center;align-items:center;gap:3px;width:28px;height:28px;display:flex}.wave i{background:var(--line-strong);width:4px;height:6px;transition:background var(--t-med);border-radius:2px}.wave.on i{background:var(--brand);animation:.9s ease-in-out infinite wave}.wave.on i:nth-child(2){animation-delay:.15s}.wave.on i:nth-child(3){animation-delay:.3s}.wave.on i:nth-child(4){animation-delay:.45s}@keyframes wave{0%,to{height:6px}50%{height:22px}}@keyframes ring{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}.pick-list{border:2px solid var(--line);border-radius:var(--r-md);flex-direction:column;max-height:260px;display:flex;overflow:hidden auto}.pick-item{background:var(--surface);font:inherit;color:var(--ink);text-align:left;cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 14px;font-weight:700;display:flex}.pick-item+.pick-item{border-top:1px solid var(--line)}.pick-item:hover{background:var(--surface-2)}.pick-item .icon{color:var(--muted);width:16px;height:16px}.select{appearance:none;border:2px solid var(--line);border-radius:var(--r-md);background:var(--surface);font:700 var(--fs-md) var(--font);color:var(--ink);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-repeat:no-repeat;background-size:6px 6px;padding:12px 40px 12px 16px}.select:focus{border-color:var(--brand);outline:none}.pick-item.on{color:var(--brand-ink)}.pick-item.on .icon{color:var(--brand-ink);width:20px;height:20px}.btn.danger-link{color:var(--bad-edge);align-self:flex-start;margin-top:12px}.back{align-self:flex-start;margin-left:-8px}.page-actions{flex:none;align-items:center;gap:8px;display:flex}.list-group{flex-direction:column;gap:8px;display:flex}.list-card,.me-list{padding:0;overflow:hidden}.list-row{width:100%;font:inherit;color:var(--ink);text-align:left;background:0 0;border:none;align-items:center;gap:14px;padding:14px 18px;display:flex}.list-row+.list-row{border-top:1px solid var(--line)}.list-row.tap{cursor:pointer}.list-row.tap:hover{background:var(--surface-2)}.row-ic{background:var(--surface-2);width:34px;height:34px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.row-ic .icon{width:19px;height:19px}.row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.row-title{font-weight:700}.row-desc{color:var(--muted);font-size:var(--fs-sm);line-height:1.6}.row-value{color:var(--muted);font-weight:600;font-size:var(--fs-sm)}.row-chev{width:16px;height:16px;color:var(--line-strong);flex:none}.empty p{max-width:32em;line-height:1.6}.voice-list{max-height:min(60vh,520px);overflow-y:auto}.voice-play{color:var(--brand-ink);flex:none}.voice-play.loading{opacity:.5;pointer-events:none;animation:1s infinite pulse}.voice-tag{font-size:var(--fs-xs);background:var(--chalk-soft);color:var(--chalk-ink);vertical-align:1px;border-radius:6px;margin-left:6px;padding:1px 6px;font-weight:800}.tabs{border-bottom:1px solid var(--line);gap:2px}.tabs button{letter-spacing:.04em;color:var(--muted);border-bottom:none;margin-bottom:-1px;padding:10px 14px 13px;font-weight:600;transition:color .2s;position:relative}.tabs button:hover{color:var(--ink-2)}.tabs button.on{color:var(--ink);box-shadow:none;clip-path:none;border-bottom:none}.tabs button:after{content:"";clip-path:inset(0 100% 0 0);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5C20 3.2 34 6.2 50 4.6S80 3.2 98 4.6' fill='none' stroke='%23f0b30f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:6px;transition:clip-path .4s cubic-bezier(.3,.7,.2,1);position:absolute;bottom:0;left:15px;right:16px}.tabs button.on:after{clip-path:inset(0)}.tabs button.on .tab-count{background:var(--chalk-soft);color:var(--chalk-ink)}@media (width<=560px){.tabs{box-shadow:inset 0 -1px 0 var(--line)}}.card.empty{border:1.5px dashed var(--line-strong);box-shadow:none;background:0 0;padding:44px 20px}.empty>.icon{background:var(--surface-2);width:56px;height:56px;color:var(--brand-ink);border-radius:50%;padding:14px}.empty h3{font:600 19px var(--font-serif)}.sticker{--r:-6deg;white-space:nowrap;background:var(--chalk);color:var(--on-chalk);border:3px solid var(--surface);font-weight:700;font-size:var(--fs-sm);transform:rotate(var(--r));transition:transform .35s var(--ease-bounce);border-radius:999px;align-items:center;gap:6px;padding:7px 14px 7px 10px;display:inline-flex;position:relative;box-shadow:0 1px 2px #171c331f,0 6px 14px -6px #171c3359}.sticker:after{content:"";background:linear-gradient(225deg, var(--surface) 50%, color-mix(in srgb, #000 12%, var(--chalk)) 50%);opacity:.9;border-radius:0 999px 0 6px;width:12px;height:12px;position:absolute;top:2px;right:4px}.sticker:hover{transform:rotate(calc(var(--r) * -1)) scale(1.06)}.sticker .icon{width:18px;height:18px}.sticker .icon .d{fill:currentColor;opacity:.25}.sticker.off{background:var(--surface-2);color:var(--muted)}.streak-sticker{--r:7deg;white-space:nowrap;flex:none;align-self:center;gap:4px;padding:6px 16px 6px 10px;text-decoration:none}.streak-sticker b{font:700 24px var(--font-serif);line-height:1}.streak-sticker span{font-size:12px;font-weight:600}.streak-sticker:not(.off) .icon{color:var(--pen)}.me-wall{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.me-stickers{flex-wrap:wrap;gap:14px 12px;padding:4px 2px 6px;display:flex}.badge{animation:stick .5s var(--ease-bounce) both;animation-delay:calc(.2s + var(--i) * 70ms)}.badge.todo{color:var(--muted);border:2px dashed var(--line-strong);box-shadow:none;background:0 0}.badge.todo:after{display:none}.badge.got .icon{color:var(--pen)}.badge.got:nth-child(3n){background:color-mix(in srgb, var(--brand) 85%, #fff);color:var(--on-brand)}@keyframes stick{0%{opacity:0;transform:rotate(calc(var(--r) - 20deg)) scale(1.4)}}.empty .doodle{width:132px;height:99px;color:var(--brand);margin-bottom:2px;display:block}.empty .doodle svg{width:100%;height:100%;overflow:visible}.empty .doodle path,.empty .doodle circle{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.dd-line{stroke-dasharray:160;stroke-dashoffset:160px;animation:.9s ease-out .1s forwards dd-draw}.dd-trail{stroke-dasharray:3 6;opacity:0;animation:.5s ease-out .8s forwards dd-fade;stroke:var(--pen)!important;stroke-width:2px!important}.empty .doodle svg{animation:3.2s ease-in-out 1.2s infinite dd-float}@keyframes dd-draw{to{stroke-dashoffset:0}}@keyframes dd-fade{to{opacity:.8}}@keyframes dd-float{50%{transform:translate(3px,-4px)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.dd-line{stroke-dashoffset:0;animation:none}.dd-trail{opacity:.8;animation:none}.empty .doodle svg,.badge{animation:none}}.btn.soft{--c:var(--surface-2);--e:color-mix(in srgb, var(--ink) 8%, var(--surface-2));--fg:var(--ink)}.mat{flex-direction:column;gap:14px;display:flex}.mat-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mat-head h3{font:700 var(--fs-lg) var(--font-serif)}.mat-acts{flex-wrap:wrap;gap:8px;display:flex}.mat-files{flex-direction:column;gap:2px;margin:0 -10px;padding:0;list-style:none;display:flex}.mat-file{border-radius:var(--r-sm);transition:background var(--t-fast);align-items:center;gap:14px;padding:10px;display:flex}.mat-file:hover{background:var(--surface-2)}.mat-file-ic{background:var(--surface-2);width:38px;height:38px;color:var(--ink-2);border-radius:11px;flex:none;place-items:center;display:grid}.mat-file:hover .mat-file-ic{background:var(--surface)}.mat-thumb{width:30px;height:39px;color:var(--tone);border-radius:2px 6px 6px 2px;flex:none;margin:0 4px;display:block;overflow:hidden;transform:rotate(-4deg);box-shadow:inset 3px 0 #00000029,0 6px 10px -6px #1e22358c}.mat-thumb svg{width:100%;height:100%;display:block}.mat-file-main{flex-direction:column;flex:1;min-width:0;display:flex}.mat-file-name{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mat-file-desc{font-size:var(--fs-xs);color:var(--muted)}.mat-x{width:32px;height:32px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--t-fast);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.mat-file:hover .mat-x,.mat-x:focus-visible{opacity:1}.mat-x:hover{background:var(--surface);color:var(--ink)}@media (hover:none){.mat-x{opacity:.6}}.mat-hint{font-size:var(--fs-sm);color:var(--muted);margin:0;padding:18px 0 4px}.mat-strict{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;display:flex}.mat-strict input{accent-color:var(--brand);margin-top:4px}.mat-strict b{color:var(--ink);font-weight:600;display:block}.mat-elsewhere{font-size:var(--fs-xs);color:var(--muted);margin:10px 0 0;line-height:1.8}.mat-elsewhere a{color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 25%, transparent);text-underline-offset:3px}.mat-elsewhere a:hover{color:var(--ink);text-decoration-color:currentColor}.kb-modal{gap:20px;width:min(620px,100%);padding:26px 26px 30px}.kb-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.kb-head h2{font:700 22px var(--font-serif)}.kb-sub{font-size:var(--fs-sm);color:var(--muted);margin:0}.kb-close{background:var(--surface-2);width:36px;height:36px;color:var(--ink-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin:-4px -6px 0 0;display:grid}.kb-close:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 10%, var(--surface-2))}.kb-shelf{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:24px 20px;max-height:min(58vh,470px);margin:0 -10px;padding:8px 10px 12px;display:grid;overflow-y:auto}.kb-book{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.kb-cover{aspect-ratio:40/52;color:var(--tone);transition:transform .3s var(--ease-bounce), box-shadow .25s ease;border-radius:3px 10px 10px 3px;display:block;position:relative;overflow:hidden;box-shadow:inset 6px 0 #00000029,0 2px 3px #1e22351a,0 14px 22px -14px #1e22358c}.kb-cover svg{width:100%;height:100%;display:block}.kb-book:hover:not(:disabled) .kb-cover{transform:translateY(-6px)rotate(-2deg);box-shadow:inset 6px 0 #00000029,0 3px 4px #1e22351a,0 22px 28px -14px #1e22358c}.kb-title{font-size:var(--fs-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;line-height:1.4;display:-webkit-box;overflow:hidden}.kb-meta{color:var(--muted);font-size:11px}.kb-chip{border-radius:var(--r-pill);color:var(--ink);background:#fffdf7f0;padding:2px 8px;font-size:11px;font-weight:800;position:absolute;top:7px;right:7px}.kb-book.on{cursor:default}.kb-book.on .kb-cover svg{filter:saturate(.35)brightness(1.08)}.kb-book.busy{cursor:progress}.kb-book.busy .kb-cover:after{content:"";border:3px solid #fff6;border-top-color:#fff;border-radius:50%;width:26px;height:26px;margin:auto;animation:.8s linear infinite cover-spin;position:absolute;inset:0}.kb-book.skel{pointer-events:none}.kb-book.skel .kb-cover{background:var(--surface-2);box-shadow:none}.kb-line{background:var(--surface-2);border-radius:6px;width:70%;height:12px;margin-top:8px;display:block}.kb-none{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 12px 10px;display:flex}.kb-none-ic{background:var(--surface-2);width:64px;height:64px;color:var(--ink-2);border-radius:20px;place-items:center;margin-bottom:4px;font-size:30px;display:grid;transform:rotate(-6deg)}.kb-none b{font:700 var(--fs-lg) var(--font-serif)}.kb-none p{max-width:26em;font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.7}.kb-go{font-weight:800;font-size:var(--fs-sm);color:var(--ink);background:linear-gradient(transparent 60%, color-mix(in srgb, var(--highlight) 80%, transparent) 60%, color-mix(in srgb, var(--highlight) 80%, transparent) 92%, transparent 92%);margin-top:6px}.kb-go:after{content:" ↗"}.kb-err{font-size:var(--fs-sm);color:var(--bad);margin:0}@media (width<=560px){.kb-modal{padding:22px 18px 24px}.kb-shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}}.board{touch-action:none;cursor:crosshair;background:radial-gradient(120% 90% at 30% 20%, #25463f 0%, var(--board) 55%, var(--board-deep) 100%);border-radius:var(--r-lg);box-shadow:inset 0 0 0 6px var(--board-frame), inset 0 0 80px #00000059;position:relative;overflow:hidden}.bd-stage{transform-origin:0 0;width:1280px;height:720px;position:absolute;top:0;left:0}.bd-layer{pointer-events:none;width:1280px;height:720px;position:absolute;inset:0;overflow:visible}.bd-el{white-space:nowrap;color:var(--board-chalk);position:absolute}.bd-text{font-family:var(--font-hand);white-space:pre-line;letter-spacing:.5px;line-height:1.25}.bd-formula{padding:2px 0}.bd-label{font-family:var(--font-hand)}.bd-stroke{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.bd-thin{stroke-width:2px}.bd-ticks text,.bd-plotlabel{font:15px var(--font);fill:var(--board-chalk)}.bd-hl{opacity:.28}.bd-lasso{fill:#ffc93c24;stroke:var(--chalk);stroke-width:3px;stroke-dasharray:8 6}.bd-flash{animation:1.6s ease-out bdflash}@keyframes bdflash{0%,40%{filter:drop-shadow(0 0 6px var(--chalk)) drop-shadow(0 0 14px var(--chalk))}to{filter:none}}.bd-dim{opacity:.2!important;transition:opacity .45s!important}.bd-pulse,.bd-enter-pop{transform-box:fill-box;transform-origin:50%}.bd-pulse{animation:.9s cubic-bezier(.3,.7,.3,1) bdpulse}@keyframes bdpulse{0%{scale:1}35%{filter:drop-shadow(0 0 10px var(--chalk));scale:1.12}to{filter:none;scale:1}}.bd-enter-fade{animation:.55s ease-out both bdfade}.bd-enter-rise{animation:.6s cubic-bezier(.22,.8,.24,1) both bdrise}.bd-enter-pop{animation:.5s cubic-bezier(.3,1.5,.5,1) both bdpop}.bd-enter-slide{animation:.6s cubic-bezier(.22,.8,.24,1) both bdslide}@keyframes bdfade{0%{opacity:0}}@keyframes bdrise{0%{opacity:0;translate:0 26px}}@keyframes bdpop{0%{opacity:0;scale:.6}}@keyframes bdslide{0%{opacity:0;translate:-60px}}@media (prefers-reduced-motion:reduce){.bd-pulse,.bd-enter-fade,.bd-enter-rise,.bd-enter-pop,.bd-enter-slide{animation:none}.bd-stage{transition:none!important}}.board .page-tag{color:#f4f1e859;font-weight:700;font-size:var(--fs-sm);pointer-events:none;position:absolute;bottom:12px;right:18px}.board .status{border-radius:var(--r-pill);color:#fff;font-size:var(--fs-xs);letter-spacing:.04em;pointer-events:none;background:#00000052;align-items:center;gap:8px;padding:6px 12px;font-weight:800;display:inline-flex;position:absolute;bottom:12px;left:14px}.board .status i{background:var(--muted);border-radius:50%;width:8px;height:8px}.board .status[data-s=teaching] i{background:var(--good)}.board .status[data-s=listening] i{background:var(--bad);animation:1s infinite pulse}.board .status[data-s=thinking] i{background:var(--chalk);animation:.7s infinite pulse}.board .status[data-s=paused] i{background:var(--chalk)}@keyframes pulse{50%{opacity:.3}}.board .board-empty{color:#f4f1e88c;font-family:var(--font-hand);pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:clamp(18px,3vw,30px);display:flex;position:absolute;inset:0}.bd-chg{color:var(--chalk);text-shadow:0 0 12px #ffc93c73}.bd-note{font-family:var(--font-hand);white-space:nowrap;font-size:22px}.bd-geolabel{font:italic 22px Times New Roman,STSong,serif}.bd-table{border-collapse:collapse;font-family:var(--font-hand);color:var(--board-chalk);white-space:nowrap;font-size:24px}.bd-table th,.bd-table td{text-align:center;border:2px solid rgba(244, 241, 232, calc(.55 * var(--grid,1)));padding:6px 16px}.bd-table th{color:var(--chalk);font-weight:400}.bd-table tr:first-child th{border-top-color:#0000}.bd-table th:first-child,.bd-table td:first-child{color:var(--chalk);border-left-color:#0000}.bd-table th:last-child,.bd-table td:last-child{border-right-color:#0000}.bd-table tr:last-child td{border-bottom-color:#0000}.bd-quiz{white-space:normal;max-width:560px;font-family:var(--font-hand);border:2px dashed #ffc93cb3;border-radius:14px;padding:16px 20px 18px;font-size:24px;line-height:1.4}.bd-quiz-tag{background:var(--chalk);color:var(--on-chalk);font:800 14px var(--font);border-radius:999px;margin-bottom:8px;padding:1px 10px;display:inline-block}.bd-quiz-opt{margin-top:6px}.bd-quiz-opt b{width:1.4em;color:var(--chalk);display:inline-block}.bd-table .katex{font-size:1em}.bd-image{pointer-events:none;background:#ffffff0a;border-radius:10px;place-items:center;display:grid}.bd-image img{border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 0 0 3px #f4f1e840,0 10px 30px #00000059}.bd-image-tip{color:#f4f1e899;font:600 18px var(--font);position:absolute}.bd-timer{border:2px solid var(--chalk);color:var(--chalk);white-space:nowrap;border-radius:12px;align-items:center;gap:12px;padding:8px 16px;font-size:22px;display:inline-flex}.bd-timer-label{opacity:.85;font-size:18px}.bd-timer-clock{font-variant-numeric:tabular-nums;font-size:30px}.bd-timer.urgent{color:#ff9b8a;border-color:#ff9b8a}.bd-timer.stopped{opacity:.55}.bd-video{cursor:default;color:var(--chalk)}.bd-video-screen{background:#0000002e;border:2px dashed #ffffff73;border-radius:14px;align-content:center;place-items:center;gap:10px;display:grid;position:relative}.bd-video-icon{color:#fff;font-size:44px;line-height:1}.bd-video-status{color:#fffc;font-size:18px}.bd-video-title{color:#fff;text-align:center;margin-top:8px;font-size:20px}.bd-video[data-s=generating] .bd-video-icon:before{content:"";border:3px solid #ffffff4d;border-top-color:var(--chalk);border-radius:50%;width:34px;height:34px;animation:1s linear infinite bdspin;display:block}.bd-video[data-s=ready]{cursor:pointer}.bd-video[data-s=ready] .bd-video-screen{border-style:solid;border-color:var(--chalk)}.bd-video[data-s=ready]:hover .bd-video-screen{background:#ffffff14}.bd-video[data-s=failed],.bd-video[data-s=cancelled]{opacity:.55}@keyframes bdspin{to{transform:rotate(360deg)}}.bd-mol{white-space:normal;text-align:center}.bd-mol-pic{justify-content:center;align-items:center;margin:0 auto;display:flex}.bd-mol-pic.loading{border:2px dashed #f4f1e840;border-radius:10px}.bd-mol-pic.bad{color:#ff9b8a;font:600 16px var(--font);place-items:center;display:grid}.bd-mol-label{font-family:var(--font-hand);color:var(--chalk);white-space:nowrap;margin-top:6px;font-size:24px}.bd-circ-sym{font:700 17px var(--font);fill:var(--board-chalk)}.bd-circ-label{fill:var(--chalk);font:italic 20px Times New Roman,STSong,serif}.bd-flow-node{font-family:var(--font-hand);color:var(--board-chalk);background:#00000014;border:2px solid #f4f1e8d9;border-radius:12px;padding:6px 16px;line-height:1.3}.bd-flow-edge{font-family:var(--font-hand);color:var(--chalk);line-height:1.2}.bd-tl-date{font:700 17px var(--font);color:var(--chalk);line-height:1.3}.bd-tl-event{font-family:var(--font-hand);color:var(--board-chalk);font-size:22px;line-height:1.25}.bd-code{color:var(--board-chalk);background:rgba(0, 0, 0, calc(.22 * var(--frame,1)));border:2px solid rgba(244, 241, 232, calc(.3 * var(--frame,1)));border-radius:12px;padding:10px 16px 12px 6px;font-family:SF Mono,Menlo,Consolas,Courier New,monospace;line-height:1.5}.bd-code-lang{font:700 12px var(--font);letter-spacing:.06em;text-transform:uppercase;color:#f4f1e873;position:absolute;top:6px;right:10px}.bd-code-row{white-space:pre;border-radius:4px;padding-right:8px;display:flex}.bd-code.wrap .bd-code-row{white-space:pre-wrap}.bd-code-row.hl{box-shadow:inset 3px 0 0 var(--chalk);background:#ffd95e29}.bd-code-no{text-align:right;color:#f4f1e859;-webkit-user-select:none;user-select:none;flex:none;width:2.6em;padding-right:.9em}.bd-code-src{flex:1;min-width:0}.bd-code .kw{color:#ffb066}.bd-code .st{color:#9be89a}.bd-code .cm{color:#f4f1e873;font-style:italic}.bd-code .nu{color:#d9b8ff}.bd-code .bi{color:#8ccfff}.bd-code .fn{color:#ffd95e}.bd-chart-label{font:17px var(--font-hand);fill:var(--board-chalk)}.bd-chart-value{font:700 15px var(--font)}.bd-chart-title{font:22px var(--font-hand);fill:var(--chalk)}.bd-halo{paint-order:stroke;stroke:var(--board);stroke-width:6px;stroke-linejoin:round}.bd-homework{white-space:normal;font-family:var(--font-hand);color:var(--board-chalk);background:#00000029;border:2px solid #ffc93cbf;border-radius:12px;padding:16px 20px 14px}.bd-hw-tag{background:var(--chalk);color:var(--on-chalk);font-family:var(--font);border-radius:999px;padding:1px 10px;font-size:16px;font-weight:800;display:inline-block}.bd-hw-title{margin:8px 0 6px;font-size:28px;line-height:1.3}.bd-hw-items{margin:0;padding-left:1.4em;font-size:22px;line-height:1.45}.bd-hw-foot{font-family:var(--font);color:#f4f1e899;margin-top:8px;font-size:15px}.bd-params{pointer-events:auto;white-space:nowrap;gap:6px;display:grid}.bd-param{font:700 20px var(--font);color:var(--chalk);cursor:pointer;grid-template-columns:22px 1fr 56px;align-items:center;gap:10px;display:grid}.bd-param input{width:100%;accent-color:var(--chalk);height:28px}.bd-param span{font-variant-numeric:tabular-nums;color:var(--board-chalk);text-align:right}.bd-demo{pointer-events:auto;background:#1f2a2b;border-radius:10px;position:absolute;overflow:hidden;box-shadow:0 0 0 1px #ffffff1f}.bd-demo iframe{background:#1f2a2b;border:0;width:100%;height:100%;display:block}.bd-demo-zoom{color:#fff;cursor:pointer;background:#0f1616b3;border:1px solid #ffffff40;border-radius:8px;padding:4px 12px;font-size:16px;position:absolute;top:10px;right:10px}.shell{height:100%;display:flex}.side{width:var(--side);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;gap:6px;padding:24px 16px;display:flex}.logo{color:var(--brand-ink);font-weight:900;font-size:var(--fs-xl);letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 12px 22px;display:flex}.logo-mark{place-items:center;width:40px;height:40px;display:grid;transform:rotate(-4deg)}.logo-mark .brand-mark{filter:drop-shadow(0 2px 4px #14282340);width:100%;height:100%;display:block}.logo:hover .logo-mark{transition:transform .3s var(--ease-bounce);transform:rotate(3deg)}.nav-item{border-radius:var(--r-md);color:var(--ink-2);letter-spacing:.04em;border:2px solid #0000;align-items:center;gap:14px;padding:12px 14px;font-weight:800;display:flex}.nav-item .icon{width:26px;height:26px}.nav-item:hover{background:var(--surface-2)}.nav-item.on{color:var(--brand-ink);background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 35%, transparent);box-shadow:var(--brand-glow-sm)}.nav-sub{grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.2,.8,.2,1);display:grid}.nav-sub-in{opacity:0;flex-direction:column;gap:2px;min-height:0;padding-left:26px;transition:opacity .2s,transform .26s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden;transform:translateY(-8px)}.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub,.shell[data-nav=homework] .nav-sub{grid-template-rows:1fr}.nav-group:hover .nav-sub-in,.nav-group:focus-within .nav-sub-in,.shell[data-nav=homework] .nav-sub-in{opacity:1;padding-top:4px;transform:none}.nav-sub-item{border-radius:var(--r-sm,10px);color:var(--ink-2);font-weight:700;font-size:var(--fs-sm);align-items:center;gap:8px;padding:9px 14px;display:flex;position:relative}.nav-sub-item:before{content:"";background:var(--line-strong);border-radius:50%;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:-12px}.nav-sub-item:hover{background:var(--surface-2);color:var(--ink)}.nav-sub-item.on{color:var(--brand-ink);background:var(--brand-soft)}.nav-sub-item.on:before{background:var(--brand);box-shadow:0 0 8px var(--brand)}.nav-count{background:var(--surface-2);min-width:20px;color:var(--muted);font-size:var(--fs-xs);text-align:center;border-radius:999px;padding:0 6px;font-weight:800}.nav-count:empty{display:none}.nav-sub-item[data-s=todo] .nav-count{background:var(--chalk-soft);color:var(--chalk-ink,var(--ink-2))}@media (prefers-reduced-motion:reduce){.nav-sub,.nav-sub-in{transition:none}}.main{flex:1;min-width:0;overflow-y:auto}.tabbar{display:none}.shell.focus .side,.shell.side-moving .side{overflow:hidden}.side{transition:width .45s cubic-bezier(.2,.8,.2,1),padding .45s cubic-bezier(.2,.8,.2,1),opacity .3s,transform .45s cubic-bezier(.2,.8,.2,1),border-color .45s}.side>*{min-width:calc(var(--side) - 32px)}.shell.focus .side{opacity:0;pointer-events:none;border-right-width:0;border-right-color:#0000;width:0;padding-left:0;padding-right:0;transform:translate(-28px)}.book-page{transition:max-width .45s cubic-bezier(.2,.8,.2,1)}.shell.focus .book-page{max-width:1200px;animation:.5s cubic-bezier(.2,.8,.2,1) .1s both focus-in}@keyframes focus-in{0%{opacity:0;transform:scale(.97)}}.side-peek{z-index:20;border:2px solid color-mix(in srgb, var(--brand) 35%, var(--line));background:var(--surface);width:22px;height:64px;color:var(--brand-ink);box-shadow:var(--brand-glow-sm);cursor:pointer;opacity:0;pointer-events:none;border-left:none;border-radius:0 12px 12px 0;place-items:center;margin-top:-32px;padding:0 2px 0 0;transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),width .2s,background .2s;display:grid;position:fixed;top:50%;left:0;transform:translate(-100%)}.side-peek .icon{width:16px;height:16px}.side-peek:hover,.side-peek:focus-visible{background:var(--brand-soft);width:30px}.shell.focus .side-peek{opacity:1;pointer-events:auto;transition-delay:.3s;transform:none}@media (prefers-reduced-motion:reduce){.side,.side-peek{transition:none}.shell.focus .book-page{animation:none}}@media (width<=860px){.side-peek{display:none}}.shell.full .side,.shell.full .tabbar{display:none}.shell.full .main{overflow:hidden}@media (width<=860px){.side{display:none}.tabbar{z-index:10;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line-strong);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar .nav-item{font-size:var(--fs-xs);background:0 0;border:none;flex-direction:column;gap:2px;padding:8px 12px}.tabbar .nav-item.on{box-shadow:none;background:0 0}.tabbar .nav-item{color:var(--muted)}.tabbar .nav-item.on{color:var(--ink)}.tabbar .nav-item.on .icon{transition:transform .3s var(--ease-bounce);transform:rotate(-6deg)scale(1.08)}.tabbar .icon .d{fill:var(--highlight);opacity:0;transition:fill .25s,opacity .25s}.tabbar .icon :is(rect,circle,path){transition:fill .25s}.tabbar .nav-item.on .icon :is(rect,circle,path){fill:var(--highlight)}.tabbar .nav-item.on .icon .d{opacity:1}.main{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom))}.tabbar{transition:transform .34s cubic-bezier(.3,0,.2,1)}.shell.tab-away .tabbar{pointer-events:none;transform:translateY(100%)}.shell.tab-away .main{padding-bottom:env(safe-area-inset-bottom)}.shell.full .main{padding-bottom:0}}.page{flex-direction:column;gap:22px;max-width:1060px;margin:0 auto;padding:32px 28px 56px;display:flex}@media (width<=860px){.page{gap:16px;padding:18px 16px 32px}}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.title-block{flex-direction:column;gap:6px;min-width:0;display:flex}.sync-status{font-size:var(--fs-xs);color:var(--muted);cursor:help;align-self:flex-start;align-items:center;gap:5px;font-weight:700;display:inline-flex}.sync-status .icon{width:14px;height:14px}.sync-status.on{color:var(--good-edge);cursor:default}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head a{font-weight:800}.eyebrow{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--muted);font-weight:800}.group-label{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.06em;margin-top:4px;font-weight:800}.small-link{font-size:var(--fs-sm);font-weight:800}.small{font-size:var(--fs-sm)}b.big{font-size:var(--fs-xl);font-weight:900}.stat-ic{border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.stat-ic .icon{width:24px;height:24px}.stat-ic.brand{background:var(--brand-soft);color:var(--brand-ink)}.stat-ic.chalk{background:var(--chalk-soft);color:var(--chalk-edge)}.stat-ic.good{background:var(--good-soft);color:var(--good-edge)}.stat-ic.bad{background:var(--bad-soft);color:var(--bad-edge)}[data-tone=k12]{--tone:#2f77c9}[data-tone=math]{--tone:#3355d1}[data-tone=physics]{--tone:#e2622d}[data-tone=chem]{--tone:#16956a}[data-tone=bio]{--tone:#0e97ad}[data-tone=cs]{--tone:#5146c9}[data-tone=eng]{--tone:#3f5f7a}[data-tone=econ]{--tone:#c18410}[data-tone=law]{--tone:#b3303f}[data-tone=human]{--tone:#c4542d}[data-tone=exam]{--tone:#d33b2c}[data-tone=lang]{--tone:#8a45c9}[data-tone=ask]{--tone:var(--brand-edge)}[data-tone=art]{--tone:#d2427d}[data-tone=skill]{--tone:#4c8c1c}[data-tone=life]{--tone:#c2761a}[data-tone]{--tone-soft:color-mix(in srgb, var(--tone) 13%, var(--surface))}.side-foot{margin-top:auto;padding:12px 4px 0}.acct-wrap{position:relative}.acct{border-radius:var(--r-md);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:2px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex}.acct:hover{background:var(--surface-2)}.acct-wrap.open .acct{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 35%, transparent)}.acct-avatar{background:var(--brand);width:34px;height:34px;color:var(--on-brand);box-shadow:var(--brand-glow-sm);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.acct-avatar.lg{width:40px;height:40px;font-size:var(--fs-lg)}.acct-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.acct-text b{font-weight:800;font-size:var(--fs-sm)}.acct-text span{font-size:var(--fs-xs);color:var(--muted);font-weight:600}.acct-gear{width:20px;height:20px;color:var(--muted);transition:transform .3s ease, color var(--t-fast)}.acct:hover .acct-gear,.acct-wrap.open .acct-gear{color:var(--brand-ink);transform:rotate(60deg)}.acct-pop{z-index:30;background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);width:280px;max-height:calc(100vh - 120px);box-shadow:var(--shadow-pop);transform-origin:0 100%;flex-direction:column;gap:2px;padding:8px;animation:.22s cubic-bezier(.2,.8,.2,1) acct-up;display:flex;position:absolute;bottom:calc(100% + 10px);left:0;overflow-y:auto}@keyframes acct-up{0%{opacity:0;transform:translateY(8px)scale(.98)}}.acct-head{border-radius:var(--r-sm);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px;display:flex}.acct-head:hover,.acct-head:focus-visible{background:var(--surface-2);outline:none}.acct-edit{width:16px;height:16px;color:var(--muted)}.acct-sep{border-top:2px solid var(--line);height:0;margin:4px 6px}.acct-item,.acct-row{border-radius:var(--r-sm);min-height:38px;color:var(--ink-2);font:inherit;font-weight:700;font-size:var(--fs-sm);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:0 10px;display:flex}.acct-item{cursor:pointer}.acct-item:hover,.acct-item:focus-visible{background:var(--surface-2);color:var(--ink);outline:none}.acct-item .icon,.acct-row>.icon{width:18px;height:18px;color:var(--muted)}.acct-value{color:var(--muted);font-weight:600;font-size:var(--fs-xs)}.acct-item.danger,.acct-item.danger .icon{color:var(--bad-edge)}.acct-item.danger:hover{background:var(--bad-soft)}.acct-theme{background:var(--surface-2);border-radius:var(--r-sm);gap:2px;padding:3px;display:inline-flex}.acct-theme button{font:inherit;font-size:var(--fs-xs);color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:3px 8px;font-weight:800}.acct-theme button:hover{color:var(--ink)}.acct-theme button.on{background:var(--surface);color:var(--brand-ink);box-shadow:0 1px 0 var(--line-strong)}@media (prefers-reduced-motion:reduce){.acct-pop{animation:none}.acct-gear{transition:none}}@media (width>=861px){.me-gear{display:none}}.shell[data-nav=home] .side-cta{visibility:hidden}.page-enter{animation:.22s ease-out page-in}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.skel-group{flex-direction:column;gap:12px;display:flex}.skel{border-radius:var(--r-lg);background:linear-gradient(90deg, var(--surface-2) 0%, var(--line) 40%, var(--surface-2) 80%);background-size:300% 100%;animation:1.4s ease-in-out infinite skel}.skel-card{height:120px}.skel-row{height:64px}.skel-tile{height:96px}.skel-page{height:420px}@keyframes skel{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.page-enter,.skel{animation:none}}.login-page{background:var(--bg);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{border-radius:var(--r-xl,20px);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:14px;width:min(400px,100%);padding:32px 28px;display:flex;box-shadow:0 10px 40px #0000000f}.login-brand{color:var(--brand-ink);font-size:var(--fs-lg,20px);align-items:center;gap:10px;display:flex}.login-card h1{margin:6px 0 0;font-size:26px}.login-card>p{margin:0;line-height:1.6}.login-step{flex-direction:column;gap:12px;display:flex}.login-step.hidden{display:none}.login-step p{margin:0}.login-input{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--bg);width:100%;color:var(--ink);font:inherit;padding:13px 14px;font-size:16px}.login-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft,#6366f126);outline:none}.login-code{letter-spacing:.3em;font-variant-numeric:tabular-nums}.login-err{min-height:1.4em;color:var(--bad,#d14343);font-size:var(--fs-sm);margin:0}.login-err:empty{min-height:0}@media (width>=861px){.shell{flex-direction:column}.side,.shell.focus .side{border-right:none;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;opacity:1;pointer-events:auto;flex-direction:row;flex:none;align-items:center;gap:4px;width:auto;height:64px;padding:0 max(28px,50% - 590px);position:sticky;top:0;overflow:visible;transform:none}.side>*{min-width:0}.shell.side-moving .side{overflow:visible}.side-peek{display:none}.main{overflow-y:auto}.logo{font-family:var(--font-serif);letter-spacing:.04em;padding:0 22px 0 0;font-size:22px;font-weight:700}.logo-mark{border-radius:8px;width:32px;height:32px}.nav-item{letter-spacing:.06em;background:0 0;border:none;border-radius:0;gap:0;padding:8px 14px;font-weight:600;position:relative}.nav-item .icon{display:none}.nav-item:hover{color:var(--ink);background:linear-gradient(transparent 58%, color-mix(in srgb, var(--highlight) 70%, transparent) 58%, color-mix(in srgb, var(--highlight) 70%, transparent) 88%, transparent 88%) no-repeat 15px 0 / calc(100% - 32px) 100%}.nav-item.on{box-shadow:none;color:var(--ink);background:0 0;border:none}.nav-item:after{content:"";clip-path:inset(0 100% 0 0);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5.2C18 3.4 31 6.4 47 4.6S78 3 98 4.4' fill='none' stroke='%23f0b30f' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;height:7px;transition:clip-path .45s cubic-bezier(.3,.7,.2,1);position:absolute;bottom:-2px;left:15px;right:17px}.nav-item.on:after{clip-path:inset(0)}.nav-group{position:relative}.nav-sub,.shell[data-nav=homework] .nav-sub{pointer-events:none;min-width:150px;display:block;position:absolute;top:100%;left:0}.nav-sub-in,.shell[data-nav=homework] .nav-sub-in{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-pop);opacity:0;margin-top:8px;padding:6px;transition:opacity .18s,transform .22s cubic-bezier(.2,.8,.2,1);transform:translateY(-6px)}.nav-group:hover .nav-sub,.nav-group:focus-within .nav-sub{pointer-events:auto}.nav-group:hover .nav-sub-in,.nav-group:focus-within .nav-sub-in{opacity:1;padding-top:6px;transform:none}.nav-sub-item:before{display:none}.side .side-courses{border-left:1px solid var(--line);scrollbar-width:none;overscroll-behavior-x:contain;flex-direction:row;align-items:center;gap:8px;min-width:0;margin:0 0 0 18px;padding:9px 26px 9px 18px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000)}.side .side-courses::-webkit-scrollbar{display:none}.side .side-label{letter-spacing:.08em;color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:800;display:inline-flex}.side .side-label .icon{width:13px;height:13px}.side .side-hint{white-space:nowrap;color:var(--muted);flex:none;margin:0;font-size:11px;line-height:1}.side-course-wrap{flex:none}.side .side-course{max-width:168px;height:30px;font-size:var(--fs-xs);color:var(--ink-2);background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 0 var(--line);transition:transform .2s var(--ease-bounce), box-shadow .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;border-radius:4px 9px 9px 4px;align-items:center;gap:8px;padding:0 12px 0 0;font-weight:700;display:inline-flex;overflow:hidden}.side .side-course i{background:var(--tone,var(--brand));border-radius:0;flex:none;align-self:stretch;width:6px;height:auto}.side .side-course:hover{color:var(--ink);border-color:color-mix(in srgb, var(--highlight) 70%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight) 45%, transparent), 0 0 16px 1px color-mix(in srgb, var(--highlight) 50%, transparent);transform:translateY(-2px)}.side .side-course.on{color:var(--ink);background:color-mix(in srgb, var(--tone,var(--brand)) 11%, var(--surface));border-color:color-mix(in srgb, var(--highlight) 75%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--highlight) 55%, transparent), 0 0 14px 1px color-mix(in srgb, var(--highlight) 45%, transparent)}.side .side-unpin{z-index:1;background:var(--surface);border:1px solid var(--line-strong);opacity:0;width:18px;height:18px;transition:opacity .15s ease, transform .22s var(--ease-bounce);border-radius:50%;margin:0;display:grid;top:-7px;right:-7px;transform:scale(.5);box-shadow:0 2px 6px #3c231426}.side .side-unpin .icon{width:11px;height:11px}.side .side-course-wrap:hover .side-unpin,.side .side-unpin:focus-visible{opacity:1;transform:none}.side .side-unpin:hover{background:var(--brand);border-color:var(--brand-edge);color:var(--on-brand)}.side .side-course-wrap.enter{animation:.6s cubic-bezier(.2,.9,.3,1.3) both pin-in-x;overflow:visible}.side .side-course-wrap.enter .side-course{animation:1.3s ease-out .45s backwards pin-flash-x}.side .side-course-wrap.leave{animation:.3s ease-in both pin-out-x}@keyframes pin-in-x{0%{opacity:0;max-width:0;transform:translateY(-14px)rotate(-6deg)scale(.85)}35%{opacity:0;max-width:180px;transform:translateY(-14px)rotate(-6deg)scale(.85)}to{opacity:1;max-width:180px;transform:none}}@keyframes pin-flash-x{0%{background-color:var(--brand-soft);border-color:var(--highlight);box-shadow:0 0 0 3px color-mix(in srgb, var(--highlight) 45%, transparent), 0 0 20px 2px color-mix(in srgb, var(--highlight) 55%, transparent)}}@keyframes pin-out-x{0%{opacity:1;max-width:180px}to{opacity:0;max-width:0;margin-right:-8px;transform:translateY(-10px)scale(.85)}}.side-foot{margin:0 0 0 auto;padding:0}.acct{border:none;padding:4px}.acct-text,.acct-gear{display:none}.acct-avatar{width:34px;height:34px;box-shadow:none;font-family:var(--font-serif)}.acct-pop{transform-origin:100% 0;animation-name:acct-down;inset:calc(100% + 10px) 0 auto auto}@keyframes acct-down{0%{opacity:0;transform:translateY(-8px)scale(.98)}}.page{padding-top:36px}.shell.focus .book-page{max-width:1060px;animation:none}}.login-page{background:0 0}.login-card{position:relative}.login-card:before{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 112 84'%3E%3Cpath d='M6 76c18 4 30-8 24-18s-18-4-12 8 30 12 46-4' fill='none' stroke='%23f0b30f' stroke-width='2' stroke-dasharray='3 6' stroke-linecap='round'/%3E%3Cpath d='M64 48l40-18-14 40-10-14zM80 56l24-26' fill='none' stroke='%232b211c' stroke-width='2.4' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;width:150px;height:112px;animation:.9s cubic-bezier(.2,.8,.2,1) .2s both plane-in,3.2s ease-in-out 1.2s infinite dd-float;position:absolute;top:-64px;right:-86px}@keyframes plane-in{0%{opacity:0;transform:translate(-60px,40px)rotate(12deg)}}@media (width<=560px){.login-card:before{width:110px;height:82px;top:-84px;right:-10px}}@media (prefers-reduced-motion:reduce){.login-card:before{animation:none}}.page.home{max-width:1120px;container:home/inline-size}.home-main{flex-direction:column;gap:30px;min-width:0;display:flex}.home-main>*{animation:.6s cubic-bezier(.2,.8,.2,1) both home-in}.home-main>:nth-child(2){animation-delay:50ms}.home-main>:nth-child(3){animation-delay:.12s}.home-main>:nth-child(4){animation-delay:.18s}@keyframes home-in{0%{opacity:0;transform:translateY(12px)}}.home-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:-10px;display:flex}.home-hello{flex-direction:column;gap:4px;min-width:0;display:flex}.home-line{color:var(--ink-2);font-size:var(--fs-md)}.home-head h1{color:var(--ink);font-size:36px}.home-sub{color:var(--muted);font-size:var(--fs-sm);letter-spacing:.03em}.last-board{--wood:#6d5640;position:relative}.lb-slate{background:radial-gradient(120% 140% at 15% 0%, #ffffff0f, transparent 55%), radial-gradient(80% 60% at 80% 100%, #0000002e, transparent 70%), var(--board);min-height:280px;box-shadow:inset 0 0 0 10px var(--wood), inset 0 0 0 11px #00000040, inset 0 0 70px #00000059, 0 24px 40px -28px #1f1a12bf;color:var(--board-chalk);border-radius:22px;grid-template-columns:minmax(250px,.82fr) minmax(0,1.6fr);gap:0;display:grid;position:relative;overflow:hidden}.lb-slate:before{content:"";pointer-events:none;opacity:.5;background:radial-gradient(60% 30% at 30% 70%,#f4f1e80d,#0000 70%),radial-gradient(40% 25% at 70% 25%,#f4f1e80a,#0000 70%);position:absolute;inset:0}.lb-chalk{z-index:1;font-family:var(--font-hand);flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-width:0;padding:34px 8px 34px 44px;display:flex;position:relative}.lb-kicker{letter-spacing:.2em;color:var(--chalk);opacity:.9;font-size:15px}.lb-title{max-width:100%;font-family:var(--font-hand);color:#fbf8ef;text-shadow:0 0 1px #ffffff80;-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;font-size:clamp(28px,3.2vw,38px);font-weight:400;line-height:1.2;display:-webkit-box;overflow:hidden}.lb-sub{color:#f4f1e8c7;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:18px;line-height:1.5;overflow:hidden}.lb-actions{font-family:var(--font);flex-wrap:nowrap;align-items:center;gap:4px;margin-top:16px;display:flex}.lb-btn{min-height:40px;color:var(--board-chalk);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:#ffffff08;border:1.5px solid #f4f1e873;border-radius:999px;align-items:center;gap:7px;padding:0 16px;font-weight:600;transition:background .2s,border-color .2s,transform .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.lb-btn .icon{width:17px;height:17px}.lb-btn:hover{background:#ffffff17;border-color:#f4f1e8cc;transform:translateY(-1px)}.lb-btn:active{transform:scale(.97)}.lb-btn.main{background:var(--chalk);color:#3d2d06;border-color:#0000;justify-content:center;min-width:128px;min-height:44px;margin-right:6px;padding:0 22px;font-weight:700}.lb-tool{color:#f4f1e8c7;min-width:58px;height:44px;font:inherit;letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:0 6px;font-size:11px;font-weight:600;transition:background-color .2s,color .2s;display:inline-flex}.lb-tool .icon{width:18px;height:18px}.lb-tool:hover,.lb-tool:focus-visible{color:#fff;background:#ffffff14;outline:none}.lb-tool:active{background:#ffffff21}.lb-tool.lb-snap{display:none}.lb-btn.main:hover{background:color-mix(in srgb, var(--chalk) 80%, #fff)}.lb-screen{z-index:1;justify-content:center;align-items:center;padding:40px 30px 34px 6px;display:flex;position:relative}.lb-board{max-width:440px}.lb-screen.tap{cursor:pointer}.lb-board{aspect-ratio:16/9;width:100%;box-shadow:none;pointer-events:none;cursor:inherit;background:0 0;border-radius:6px}.lb-board .status,.lb-board .page-tag{display:none}.lb-date{z-index:1;font-family:var(--font-hand);color:#f4f1e88c;letter-spacing:.08em;font-size:15px;position:absolute;top:22px;right:30px}.lb-tray{background:linear-gradient(#7a6249,#5f4b37);border-radius:0 0 14px 14px;align-items:center;gap:14px;height:18px;margin:-6px 18px 0;padding:0 22px;display:flex;position:relative;box-shadow:0 6px 12px -8px #0009}.lb-chalk-piece{background:linear-gradient(#fbe08c, #e2b13c) 0 0 / max(7px, calc(var(--p) * 100%)) 100% no-repeat, #00000047;border-radius:4px;flex:none;width:100px;height:7px;animation:.9s cubic-bezier(.2,.8,.2,1) .4s both chalk-grow;display:block;box-shadow:inset 0 1px 1px #00000059,0 1px #ffffff14}@keyframes chalk-grow{0%{background-size:7px 100%,auto}}.lb-tray-note{color:#fff5e1bf;letter-spacing:.06em;font-size:11px}.lb-eraser{background:linear-gradient(#3b3b3b 0 45%,#c9c1b0 45%);border-radius:3px;width:46px;height:12px;margin-left:auto;box-shadow:0 1px #0000004d}.attend{flex-direction:column;gap:12px;display:flex}.at-head{align-items:baseline;gap:12px;display:flex}.at-head h3{font-family:var(--font-serif);font-size:var(--fs-lg)}.at-head a{color:var(--muted);margin-left:auto}.at-head a:hover{color:var(--brand-ink)}.at-row{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.at-cell{border-left:1px solid var(--line);animation:.5s both home-in;animation-delay:calc(.25s + var(--i) * 40ms);flex-direction:column;align-items:center;gap:4px;padding:10px 4px 12px;display:flex;position:relative}.at-cell:first-child{border-left:none}.at-name{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.05em}.at-mark{place-items:center;width:30px;height:30px;display:grid}.at-mark svg{width:24px;height:24px}.at-mark path{fill:none;stroke:var(--brand);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.at-cell.full .at-mark svg{filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--brand-edge) 70%, transparent))}.at-cell.some .at-mark path{stroke:var(--muted)}.at-min{min-height:1em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.at-cell.today{background:color-mix(in srgb, var(--chalk) 12%, var(--surface))}.at-cell.today .at-name{color:var(--ink);font-weight:700}@container home (width<=760px){.home-head{margin-bottom:-14px}.home-head h1{font-size:28px}.lb-slate{min-height:0;box-shadow:inset 0 0 0 7px var(--wood), inset 0 0 0 8px #00000040, inset 0 0 50px #00000059, 0 18px 30px -24px #1f1a12bf;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) 42%;align-items:start;column-gap:12px;padding:22px 20px 18px}.lb-chalk{display:contents}.lb-kicker{grid-column:1;font-size:13px}.lb-title{grid-column:1;margin-top:2px;font-size:26px}.lb-sub,.lb-date{display:none}.lb-screen{grid-area:1/2/3;align-self:center;padding:0}.lb-actions{grid-column:1/-1;gap:2px;margin-top:14px}.lb-actions .lb-btn.main{flex:auto;min-width:0;min-height:44px;margin-right:4px;padding:0 10px}.lb-tool.lb-snap{display:inline-flex}.lb-tool{min-width:52px;padding:0 4px}.lb-tray{margin:-4px 12px 0}.at-name{font-size:10px}.at-cell{padding:8px 2px 10px}}@media (prefers-reduced-motion:reduce){.home-main>*,.at-cell,.lb-chalk-piece{animation:none}}.cz{--bw:172px;--bh:calc(var(--bw) * 4 / 3);--strip:66px;flex-direction:column;gap:10px;display:flex}.cz-count{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;font-weight:800}.cz-stage{contain:inline-size;position:relative}.cz-track{align-items:center;gap:calc(var(--strip) + 18px);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:26px calc(50% - var(--bw) / 2) 30px;scrollbar-width:none;perspective:1000px;cursor:grab;outline:none;display:flex;position:relative;overflow:auto hidden}.cz-stage:before,.cz-stage:after{content:"";z-index:1;width:var(--fade,14%);pointer-events:none;position:absolute;top:0;bottom:0}.cz-stage:before{background:linear-gradient(90deg, var(--bg), transparent);left:0}.cz-stage:after{background:linear-gradient(-90deg, var(--bg), transparent);right:0}.cz-track::-webkit-scrollbar{display:none}.cz-track.dragging{cursor:grabbing;scroll-snap-type:none}.cz-track.dragging *{pointer-events:none}.cz-track:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--brand) 40%, transparent);border-radius:var(--r-lg)}.cz-item{width:var(--bw);scroll-snap-align:center;animation:.55s cubic-bezier(.2,.8,.2,1) both cz-in;animation-delay:calc(var(--i) * 70ms);flex:none}@keyframes cz-in{0%{opacity:0;transform:translate(48px)}}@property --zd{syntax:"<number>";inherits:false;initial-value:0}@property --zs{syntax:"<number>";inherits:false;initial-value:1}@property --zk{syntax:"<number>";inherits:false;initial-value:1}.cz-card{transform:rotateY(calc(var(--zs) * min(var(--zd), 1) * -16deg)) scale(calc(1 - min(var(--zd), 1) * .16));filter:blur(calc(min(var(--zd), 2) * 1.8px)) saturate(calc(1 - min(var(--zd), 2) * .25));opacity:calc(1 - min(var(--zd), 2) * .3);will-change:transform;position:relative}.cz .book{width:100%;box-shadow:0 1px 1px #1e223514,0 14px 28px -10px #1e22354d}.cz .book:hover,.cz .book:focus-visible{transform:none}.cz-item.on .book{box-shadow:0 1px 1px #1e223514,0 18px 36px -14px #14141452}.cz-item.on .book:hover{transform:translateY(-4px)}.cz-data{width:var(--strip);background:var(--surface);border:2px solid color-mix(in srgb, var(--tone) 30%, var(--line));box-shadow:0 10px 24px -12px color-mix(in srgb, var(--tone) 60%, transparent);opacity:0;pointer-events:none;border-radius:12px;flex-direction:column;align-items:stretch;gap:2px;padding:10px 6px;transition:opacity .15s .3s,transform .45s cubic-bezier(.3,0,.2,1);display:flex;position:absolute;top:0;bottom:0;left:calc(100% + 10px);transform:translate(calc(-100% - 10px))}.cz-item.on .cz-data{opacity:1;pointer-events:auto;transition:opacity .1s 50ms,transform .5s cubic-bezier(.2,.9,.3,1.12) 50ms;transform:none}.cz .book{z-index:1;position:relative}.cz-data-title{letter-spacing:.08em;color:var(--tone);text-align:center;border-bottom:1px dashed color-mix(in srgb, var(--tone) 35%, transparent);margin-bottom:2px;padding-bottom:4px;font-size:10px;font-weight:800}.cz-stat{flex-direction:column;align-items:center;padding:1px 0;line-height:1.1;display:flex}.cz-stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px;font-weight:900}.cz-stat span{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.cz-stat.hot b{color:var(--chalk-ink,var(--brand-ink))}@keyframes cz-pop{0%{opacity:0;transform:translateY(4px)}}.cz-meter{flex-direction:column;flex:1;align-items:center;gap:3px;min-height:44px;padding-top:4px;display:flex}.cz-meter-track{background:var(--surface-2);border-radius:4px;flex:1;align-items:flex-end;width:8px;display:flex;overflow:hidden}.cz-meter-track i{width:100%;height:calc(var(--p) * 100%);background:var(--tone);transform-origin:bottom;border-radius:4px}.cz-meter span{color:var(--muted);font-size:10px;font-weight:700}.cz-arrow{z-index:2;border:2px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:opacity var(--t-fast), color var(--t-fast), border-color var(--t-fast), transform var(--t-fast);border-radius:50%;place-items:center;margin-top:-20px;padding:0;display:grid;position:absolute;top:50%;box-shadow:0 4px 12px #1e22351f}.cz-arrow .icon{width:18px;height:18px}.cz-arrow.prev{left:4px}.cz-arrow.next{right:4px}.cz-arrow:hover{color:var(--brand-ink);border-color:var(--brand);transform:scale(1.06)}.cz-arrow:disabled{opacity:0;pointer-events:none}.cz-foot{border-radius:var(--r-lg);background:var(--surface);border:2px solid var(--line);border-left:6px solid var(--tone,var(--brand));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions""last last";align-items:center;gap:12px 14px;padding:14px 14px 14px 18px;transition:border-color .3s;display:grid}.cz-info{flex-direction:column;grid-area:info;gap:2px;min-width:0;display:flex}.cz-name{font-family:var(--font-serif);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.cz-meta{font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cz-actions{grid-area:actions;gap:10px;display:flex}.cz-last{min-width:0;font:inherit;text-align:left;cursor:pointer;background:color-mix(in srgb, var(--tone,var(--brand)) 7%, var(--surface-2));color:var(--ink-2);transition:background-color var(--t-fast);border:0;border-radius:12px;grid-area:last;align-items:center;gap:10px;padding:9px 12px;display:flex}.cz-last:hover:not(:disabled){background:color-mix(in srgb, var(--tone,var(--brand)) 13%, var(--surface-2))}.cz-last:disabled{cursor:default}.cz-last-tag{background:color-mix(in srgb, var(--tone,var(--brand)) 15%, var(--surface));color:var(--tone,var(--brand-ink));font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-weight:800}.cz-last-title{min-width:0;font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-weight:800;overflow:hidden}.cz-steps{flex:none;gap:3px;display:flex}.cz-steps i{background:var(--line-strong);border-radius:3px;width:16px;height:6px}.cz-steps i.done{background:var(--good)}.cz-steps i.cur{background:var(--chalk);box-shadow:0 0 0 3px var(--chalk-soft)}.cz-last-now{min-width:0;font-size:var(--fs-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;font-weight:700;overflow:hidden}.cz-last-now.done{color:var(--good-edge);align-items:center;gap:4px;display:inline-flex}.cz-last-now.done .icon{width:14px;height:14px}.cz-last-hint{font-size:var(--fs-xs);color:var(--muted);flex:1;font-weight:700}.cz-last-go{width:16px;height:16px;color:var(--muted);flex:none;margin-left:auto}.cz-last:disabled .cz-last-go{display:none}.cz-due{background:var(--brand);min-width:18px;height:18px;color:var(--on-brand);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:900;line-height:18px}.cz-due:empty{display:none}.cz-track.jump .cz-data{transition:none}@container home (width<=600px){.cz{--bw:min(236px, 68vw)}.cz-stage{--fade:9%}.cz-track{perspective:800px;gap:16px;padding-top:18px;padding-bottom:22px}.cz-data,.cz-arrow,.cz:not(.cz-none) .cz-foot{display:none}}@media (prefers-reduced-motion:reduce){.cz-item{animation:none}.cz-card,.cz-data{transition:none}.cz-card{transform:scale(calc(1 - min(var(--zd), 1) * .12));filter:none}}.cz-empty-row{justify-content:center;align-items:center;gap:calc(var(--strip) + 18px);perspective:1000px;padding:26px 0 30px;display:flex}.cz-outline{width:var(--bw);aspect-ratio:3/4;border:2px dashed color-mix(in srgb, var(--brand) 55%, var(--line-strong));border-left-style:solid;border-left-width:11px;border-left-color:color-mix(in srgb, var(--brand) 30%, transparent);background:color-mix(in srgb, var(--brand-soft) 55%, transparent);color:var(--brand-ink);font:inherit;cursor:pointer;border-radius:3px 10px 10px 3px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;transition:transform .2s,box-shadow .2s,background-color .2s;animation:.55s cubic-bezier(.2,.8,.2,1) both cz-in;display:flex;position:relative}.cz-outline:after{content:"";opacity:.6;background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--brand) 25%, transparent) 0 1px, transparent 1px 2px);width:5px;position:absolute;top:6px;bottom:6px;right:3px}.cz-outline b{font-family:var(--font-serif);font-size:18px;font-weight:900}.cz-outline>span:last-child{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.cz-outline-plus{background:var(--brand);width:44px;height:44px;color:var(--on-brand);box-shadow:var(--brand-glow-sm);border-radius:50%;place-items:center;transition:transform .25s cubic-bezier(.3,1.6,.5,1);display:grid}.cz-outline-plus .icon{width:22px;height:22px}.cz-outline:hover,.cz-outline:focus-visible{background:var(--brand-soft);box-shadow:var(--brand-glow);outline:none;transform:translateY(-4px)}.cz-outline:hover .cz-outline-plus,.cz-outline:focus-visible .cz-outline-plus{transform:scale(1.12)rotate(90deg)}.cz-ghost{width:calc(var(--bw) * .84);aspect-ratio:3/4;border:2px dashed var(--line-strong);border-left:9px solid var(--line);opacity:.45;filter:blur(1.2px);border-radius:3px 10px 10px 3px;flex:none;animation:.55s cubic-bezier(.2,.8,.2,1) .12s both cz-in}.cz-ghost.l{transform:rotateY(16deg)}.cz-ghost.r{transform:rotateY(-16deg)}.cz-none .cz-foot{text-align:center;border-left:2px solid var(--line);justify-content:center;display:flex}.cz-none .cz-info{align-items:center}.cz-none .cz-name{color:var(--muted)}@container home (width<=600px){.cz-empty-row{gap:18px}.cz-ghost{width:calc(var(--bw) * .6)}}@media (prefers-reduced-motion:reduce){.cz-outline,.cz-ghost{animation:none}}.quick-ask{flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;display:flex}.hw-list{flex-direction:column;gap:12px;display:flex;container:hw/inline-size}.hw-empty{text-align:center;justify-content:center;align-items:center;padding:56px 16px}.hw-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 16px;padding:16px 18px;display:grid}.hw-card>:not(.hw-ring){grid-column:2}.hw-card.done{background:color-mix(in srgb, var(--good-soft) 35%, var(--surface))}.hw-head{flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:24px;display:flex}.hw-head b{font-size:var(--fs-md,17px);line-height:1.35}.hw-course{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.hw-course i{background:var(--tone,var(--brand));border-radius:50%;width:8px;height:8px}.hw-items{color:var(--ink-2);margin:0;padding-left:1.3em;line-height:1.6}.hw-feedback{border-radius:var(--r-md);background:var(--good-soft);color:var(--ink);gap:8px;margin:0;padding:10px 12px;line-height:1.55;display:flex}.hw-feedback .icon{width:18px;height:18px;color:var(--good);flex:none;margin-top:2px}.hw-foot{align-items:center;gap:10px;display:flex}.hw-sep{margin:8px 2px 0}@property --p{syntax:"<number>";inherits:true;initial-value:0}.hw-ring{--ring:var(--brand);--rs:56px;width:var(--rs);height:var(--rs);border-radius:50%;grid-row:span 3;place-items:center;transition:--p .7s cubic-bezier(.2,.8,.2,1);animation:.9s cubic-bezier(.2,.8,.2,1) .1s both hw-ring-in;display:grid;position:relative}@keyframes hw-ring-in{0%{--p:0}}.hw-ring-arc{background:conic-gradient(var(--ring) calc(var(--p) * 360deg), color-mix(in srgb, var(--ring) 14%, var(--surface-2)) 0);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 6px),#000 calc(100% - 5.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 6px),#000 calc(100% - 5.5px))}.hw-ring-mid{color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;line-height:1;display:flex;position:relative}.hw-ring-mid b{font-size:19px;font-weight:900}.hw-ring-mid small{color:var(--muted);font-size:11px;font-weight:700}.hw-ring-mid .icon{width:20px;height:20px}.hw-ring[data-s=open] .hw-ring-mid b{color:var(--muted)}.hw-ring[data-s=doing] .hw-ring-mid .icon{color:var(--brand-ink)}.hw-card:has(.hw-feedback) .hw-ring{grid-row:span 4}.hw-ring[data-s=done]{--ring:var(--good)}.hw-ring[data-s=done] .hw-ring-mid .icon{color:var(--good);stroke-width:3px;width:24px;height:24px}.hw-ring.wait .hw-ring-arc{animation:1.2s ease-in-out infinite alternate hw-ring-wait}@keyframes hw-ring-wait{to{opacity:.45}}@container hw (width<=520px){.hw-card{column-gap:12px;padding:14px}.hw-ring{--rs:46px;grid-row:1}.hw-card:has(.hw-feedback) .hw-ring{--rs:46px;grid-row:1}.hw-ring-mid b{font-size:16px}.hw-head{flex-direction:column;align-self:center;align-items:flex-start;gap:2px}.hw-card>:is(.hw-items,.hw-feedback,.hw-foot){grid-column:1/-1}.hw-foot .btn{min-height:40px;padding:0 18px}}@media (prefers-reduced-motion:reduce){.hw-ring{transition:none;animation:none}.hw-ring.wait .hw-ring-arc{animation:none}}@container home (width<=600px){.quick-ask>.row{width:100%}.quick-ask>.row .btn{flex:1}}.at-star{color:var(--chalk-edge);animation:star-pop .6s .6s var(--ease-bounce) both;position:absolute;top:4px;right:6px}.at-star .icon{width:18px;height:18px}.at-star .icon .d{fill:var(--chalk);opacity:1}@keyframes star-pop{0%{opacity:0;transform:scale(0)rotate(-90deg)}}.lb-board{transition:opacity .38s}.lb-board.lb-flip{opacity:0}@container home (width<=600px){.home-head{margin-bottom:-20px}.home-head h1{font-size:26px;line-height:1.15}.home-line{display:none}.streak-sticker{--r:0deg}}.cz-in{display:none}@container home (width<=600px){.cz .book-paper{z-index:1;background:var(--paper);height:75%;transform:translateY(calc((1 + var(--zk)) * 100% / 3));will-change:transform;contain:size layout;border-radius:10px 10px 0 0;gap:2px;padding:10px 12px 10px 13px;position:absolute;bottom:0;left:11px;right:0;box-shadow:0 -8px 16px -12px #1414144d}.cz .book-meta{margin-top:0}.cz-item.tog .book-paper{transition:transform .45s cubic-bezier(.2,.9,.3,1.05)}.cz-item.open .book-paper{transform:none}.cz-item.on .book-paper>:not(.cz-in){display:none}.cz-item.on .book:hover{transform:none}.cz-item.on .cz-in{color:var(--ink);text-align:left;cursor:pointer;flex-direction:column;gap:7px;display:flex}.cz-in.in{animation:.35s ease-out both cz-pop}.cz-in-grab{cursor:pointer;background:0 0;border:none;align-self:center;place-items:center;width:48px;height:12px;margin:-6px 0 -3px;padding:0;display:grid}.cz-in-grab:before{content:"";background:var(--line-strong);border-radius:99px;width:22px;height:3px;transition:background-color .2s,width .3s}.cz-item.open .cz-in-grab:before{background:var(--highlight);width:14px}.cz-in-name{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900;line-height:1.25;overflow:hidden}.cz-in-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.cz-in-meta em{color:var(--brand-ink);font-style:normal}.cz-in-more{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.9,.3,1.05),opacity .25s;display:grid}.cz-in-more>div{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:hidden}.cz-item.open .cz-in-more{opacity:1;grid-template-rows:1fr;transition-delay:0s,.1s}.cz-in-stats{border-top:1px dashed var(--line-strong);border-bottom:1px dashed var(--line-strong);gap:6px;padding:6px 0;display:flex}.cz-in-stat{flex-direction:column;flex:1;align-items:center;gap:1px;line-height:1.1;display:flex}.cz-in-stat b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:900}.cz-in-stat span{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.cz-in-stat.hot b{color:var(--brand-ink)}.cz-in-week{background:linear-gradient(90deg, var(--chalk) calc(var(--p) * 100%), var(--line-strong) 0);border-radius:2px;width:34px;height:3px;margin-top:2px}.cz-in-steps{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.cz-in-steps .cz-steps{flex:none}.cz-in-last{min-width:0;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:600;display:flex}span.cz-in-last{color:var(--muted);cursor:default}.cz-in-bar{background:linear-gradient(90deg, var(--chalk) calc(var(--p) * 100%), var(--line-strong) 0);border-radius:2px;flex:none;width:28px;height:4px}.cz-in-actions{align-items:center;gap:8px;margin-top:3px;display:flex}.cz-in-icon{background:var(--surface-2);width:38px;height:38px;color:var(--ink-2);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.cz-in-icon:disabled{opacity:.45;cursor:default}.cz-in-icon .icon{width:18px;height:18px}.cz-in-icon .cz-due{position:absolute;top:-4px;right:-4px}.cz-in-go{min-width:0;min-height:38px;font-size:var(--fs-sm);flex:1;padding:0 12px}}@media (prefers-reduced-motion:reduce){.cz-in.in{animation:none}.cz-item.tog .book-paper,.cz-in-more{transition:none}}@media (width<=600px){.page.home{padding:10px 16px 12px}}@container home (width<=600px){.home-main{min-height:calc(100dvh - var(--tabbar) - env(safe-area-inset-bottom) - 22px);gap:14px}.home-head{margin-bottom:-4px}.home-head h1{font-size:24px}.lb-slate{column-gap:14px;padding:16px 18px 14px}.lb-kicker{font-size:12px}.lb-title{margin-top:0;font-size:22px}.lb-actions{margin-top:12px}.lb-actions .lb-btn.main{min-height:38px}.lb-btn:not(.main){white-space:nowrap;min-height:38px;padding:0 8px}.lb-tray{height:14px}.cz{--bw:min(264px, 68vw, (100cqh - 52px) * .75);flex:1 1 0;gap:2px;min-height:min-content}.cz-card{filter:none}.cz .section-head h2{font-size:20px}.cz-stage{flex:1 1 0;min-height:239px;container-type:size}.cz-track{height:100%;margin-bottom:0;padding-top:8px;padding-bottom:44px}.cz-empty-row{height:100%;padding:8px 0 22px}.attend{gap:6px}.at-head h3{font-size:16px}.at-cell{gap:1px;padding:5px 2px 6px}.at-mark{width:22px;height:22px}.at-mark svg{width:18px;height:18px}.at-min{font-size:10px}.at-star .icon{width:14px;height:14px}.cz{--bk-h:clamp(28px, 28px + (var(--bw) - 140px) * .129, 44px);--bk-p:8px}.cz .book{border-radius:8px calc(var(--bk-h) / 2 + var(--bk-p)) calc(var(--bk-h) / 2 + var(--bk-p)) 8px;container:book/inline-size}.cz .book-paper{--bk-top:10px;padding:var(--bk-top) var(--bk-p) var(--bk-p) 13px}.cz-item.open .book-paper{scrollbar-width:none;overflow-y:auto}.cz-item.on .cz-in{min-height:calc((100% + var(--bk-top) + var(--bk-p)) * 2 / 3 - var(--bk-top) - var(--bk-p))}.cz-item.on.open .cz-in{min-height:100%}.cz-item.tog .cz-in{transition:min-height .45s cubic-bezier(.2,.9,.3,1.05)}.cz-in-name{font-size:20px}.cz-in-meta,.cz-in-last{font-size:13px}.cz-in-actions{gap:8px;margin-top:auto}.cz-item.on:not(.open) .cz-in.snug{gap:3px}.cz-item:not(.open) .cz-in.tight .cz-in-last{display:none}.cz-in-icon{width:var(--bk-h);height:var(--bk-h);border-radius:50%}.cz-in-icon .icon{width:calc(var(--bk-h) * .45);height:calc(var(--bk-h) * .45)}.cz-in-go{min-height:var(--bk-h);border-radius:999px;font-size:15px}.cz-in-go .icon{width:calc(var(--bk-h) * .4);height:calc(var(--bk-h) * .4)}}@container book (width<=200px){.cz .book-paper{--bk-top:8px;padding-left:10px}.cz-item.on .cz-in{gap:4px}.cz-in-name{font-size:16px}.cz-in-meta{font-size:12px}.cz-item:not(.open) .cz-in-last{display:none}.cz-in-actions{gap:4px}.cz-in-go{gap:4px;padding:0 8px;font-size:13px}}@container book (width<=159px){.cz .book-paper{--bk-top:6px}.cz-item.on:not(.open) .cz-in-grab{display:none}.cz-item.on .cz-in{gap:3px}.cz-in-go{gap:3px;padding:0 3px;font-size:12px}}@media (prefers-reduced-motion:reduce){.cz-item.tog .cz-in{transition:none}}.snap{background:var(--bg);color:var(--ink);font-family:var(--font);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.snap>div{min-height:0;padding-top:env(safe-area-inset-top);background:var(--bg);flex-direction:column;flex:1;display:flex}.snap-top{flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 8px;display:flex}.snap-top h1{color:var(--ink);font-size:var(--fs-md);margin:0;font-weight:600}.snap-icon,.snap-icon-space{width:44px;height:44px}.snap-icon{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.snap-icon .icon{width:24px;height:24px}.snap-icon:active{background:var(--surface-2)}.snap-body{min-height:0;padding:8px 20px calc(24px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.snap-frame{aspect-ratio:4/3;border-radius:var(--r-lg);background:var(--surface-2);place-items:center;width:100%;max-width:340px;margin:2vh auto 0;display:grid;position:relative;overflow:hidden}.snap-frame i{border:3px solid var(--chalk);width:30px;height:30px;position:absolute}.snap-frame .c1{border-bottom:0;border-right:0;border-top-left-radius:10px;top:16px;left:16px}.snap-frame .c2{border-bottom:0;border-left:0;border-top-right-radius:10px;top:16px;right:16px}.snap-frame .c3{border-top:0;border-right:0;border-bottom-left-radius:10px;bottom:16px;left:16px}.snap-frame .c4{border-top:0;border-left:0;border-bottom-right-radius:10px;bottom:16px;right:16px}.snap-demo{font-size:var(--fs-xl);color:var(--ink);margin:0}.snap-scan{background:var(--chalk);border-radius:2px;height:2px;animation:2.8s ease-in-out infinite alternate snap-scan;position:absolute;top:0;left:24px;right:24px}@keyframes snap-scan{0%{top:12%}to{top:88%}}.snap-lead{text-align:center;font-size:var(--fs-lg);color:var(--ink);margin:22px 0 0;font-weight:600}.snap-tips{text-align:center;font-size:var(--fs-sm);color:var(--muted);margin:10px 0 0}.snap-picks{gap:10px;margin-top:22px;display:flex}.snap-picks .btn{flex:1 1 0;gap:8px;min-width:0}.snap-picks .icon{flex:none;width:20px;height:20px}.snap-recent{margin-top:28px}.snap-recent h2{font-size:var(--fs-sm);color:var(--muted);margin:0 0 4px;font-weight:600}.snap-past{border:0;border-top:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:var(--fs-md) var(--font);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.snap-past span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.snap-past .icon{width:16px;height:16px;color:var(--muted);flex:none}.snap-oops{flex-direction:column;gap:12px;margin:auto 0;padding-bottom:12vh;display:flex}.snap-oops p{text-align:center;font-size:var(--fs-lg);color:var(--ink);margin:0 0 8px;line-height:1.5}.snap-wrap{border-radius:var(--r-md);background:var(--surface-2);flex:1;place-items:center;min-height:0;margin:0 16px;display:grid;position:relative;overflow:hidden}.snap-stage{touch-action:none;position:relative;overflow:hidden}.snap-stage img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:none;transition:transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.snap-box{box-shadow:0 0 0 100vmax color-mix(in srgb, var(--ink) 52%, transparent);outline:2px solid var(--chalk);cursor:move;touch-action:none;border-radius:4px;position:absolute}.snap-h{width:44px;height:44px;position:absolute}.snap-h:after{content:"";border:4px solid var(--chalk);width:22px;height:22px;position:absolute}.snap-h.nw{top:-22px;left:-22px}.snap-h.nw:after{border-bottom:0;border-right:0;border-top-left-radius:6px;top:18px;left:18px}.snap-h.ne{top:-22px;right:-22px}.snap-h.ne:after{border-bottom:0;border-left:0;border-top-right-radius:6px;top:18px;right:18px}.snap-h.sw{bottom:-22px;left:-22px}.snap-h.sw:after{border-top:0;border-right:0;border-bottom-left-radius:6px;bottom:18px;left:18px}.snap-h.se{bottom:-22px;right:-22px}.snap-h.se:after{border-top:0;border-left:0;border-bottom-right-radius:6px;bottom:18px;right:18px}.snap-crop .snap-tips{flex:none}.snap-bar{padding:12px 20px calc(14px + env(safe-area-inset-bottom));flex:none;align-items:center;gap:12px;display:flex}.snap-bar .btn{flex:1;gap:4px}.snap-round{border:1.5px solid color-mix(in srgb, var(--ink) 22%, transparent);background:var(--surface);width:52px;height:52px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.snap-round .icon{width:22px;height:22px}.snap-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px 16px 24px;display:flex;overflow-y:auto}.snap-scroll>*{flex:none}.snap-scroll [hidden]{display:none}.snap-photo{border-radius:var(--r-md);background:var(--surface-2);place-items:center;max-height:28vh;display:grid;position:relative;overflow:hidden}.snap-photo img{object-fit:contain;max-width:100%;max-height:28vh;display:block}.snap-photo .snap-scan{display:none}.snap-photo.reading .snap-scan{animation-duration:1.3s;display:block}.snap-state{color:var(--muted);font-size:var(--fs-sm);margin:0;animation:1.4s ease-in-out infinite snap-breathe}@keyframes snap-breathe{50%{opacity:.45}}.snap-scroll h2{font-size:var(--fs-sm);color:var(--muted);margin:0 0 8px;font-weight:600}.snap-answer{animation:.25s ease-out snap-in}.snap-answer h2{color:var(--chalk-ink)}.snap-answer-body{font-size:var(--fs-lg);overflow-wrap:anywhere;font-weight:700;line-height:1.5}.snap-answer-body p,.snap-steps p,.snap-point-body p,.snap-q-body p{margin:0 0 4px}@keyframes snap-in{0%{opacity:0;transform:translateY(6px)}}.snap-steps ol{counter-reset:step;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.snap-steps li{counter-increment:step;font-size:var(--fs-md);overflow-wrap:anywhere;padding-left:36px;line-height:1.65;position:relative}.snap-steps li:before{content:counter(step);background:var(--chalk);width:25px;height:25px;color:var(--on-chalk);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:1px;left:0}.snap-steps .katex-display,.snap-answer .katex-display,.snap-point .katex-display{margin:6px 0;overflow:auto hidden}.snap-point{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.65}.snap-q{font-size:var(--fs-sm);color:var(--ink-2)}.snap-q summary{min-height:36px;color:var(--muted);cursor:pointer;align-items:center;display:flex}.snap-q-body{overflow-wrap:anywhere;line-height:1.6}.snap-foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 -1px 0 var(--line);flex:none;gap:10px;display:flex}.snap-foot[hidden]{display:none}.snap-foot .btn{white-space:nowrap;gap:6px}.snap-foot .btn:not(.ghost){flex:1.5 1 0}.snap-foot .btn.ghost{flex:1 1 0}.snap-foot .icon{flex:none;width:18px;height:18px}@media (prefers-reduced-motion:reduce){.snap-scan,.snap-state{animation:none}.snap-scan{top:50%}}.nb-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.field.search{width:min(320px,100%);padding:2px 6px 2px 14px}.shelf{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:28px 22px;display:grid}@media (width<=560px){.shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.shelf .book-paper{gap:2px;padding:8px 10px 8px 20px}.shelf .book-subject{font-size:10px}.shelf .book-title{font-size:15px}.nb-tools>.grow{display:none}.nb-tools .field.search{width:100%}}.courses-empty{min-height:52vh;color:var(--muted);font-size:var(--fs-lg);letter-spacing:.04em;place-items:center;font-weight:700;display:grid}.book{aspect-ratio:3/4;cursor:pointer;background:var(--paper);color:var(--tone,var(--brand));border-radius:8px 18px 18px 8px;outline:none;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 1px #1e223514,0 10px 24px -8px #1e223538}.book:after{content:"";background:repeating-linear-gradient(90deg,#00000012 0 1px,#0000 1px 2px);width:5px;position:absolute;top:4px;bottom:4px;right:0}.book:hover,.book:focus-visible{transform:translateY(-4px)rotate(-.4deg);box-shadow:0 1px 1px #1e223514,0 18px 32px -10px #1e22354d}.book-spine{z-index:1;background:var(--tone,var(--brand));width:11px;position:absolute;top:0;bottom:0;left:0;box-shadow:inset -2px 0 #00000026,inset 2px 0 #ffffff26}.book-art{height:56%;padding-left:11px}.book-art svg{width:100%;height:100%;display:block}.book-paper{border-top:1px solid color-mix(in srgb, var(--tone) 18%, transparent);flex-direction:column;flex:1;gap:4px;padding:12px 14px 12px 24px;display:flex}.book-subject{letter-spacing:.12em;color:var(--tone);font-size:11px;font-weight:800}.book-title{font-family:var(--font-serif);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:19px;font-weight:900;line-height:1.3;display:-webkit-box;overflow:hidden}.book-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:auto;font-weight:700}.book-new{color:var(--muted);border:2px dashed var(--line-strong);box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:6px}.book-new:after{display:none}.book-new .plus{font-size:40px;font-weight:300;line-height:1}.book-new:hover{color:var(--brand-ink);border-color:var(--brand);box-shadow:none}.mini-cover{width:44px;height:56px;color:var(--tone);background:var(--paper);box-shadow:inset 4px 0 0 var(--tone), 0 2px 6px #1e223526;border-radius:2px 6px 6px 2px;flex:none;display:block;overflow:hidden}.mini-cover svg{width:100%;height:100%;display:block}.book-page{gap:18px}.nb-book{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:36px;display:grid}.nb-toc{flex-direction:column;max-height:calc(100vh - 48px);display:flex;position:sticky;top:24px;overflow-y:auto}.nb-toc-head{font:inherit;color:var(--ink);text-align:left;pointer-events:none;background:0 0;border:none;align-items:baseline;gap:8px;padding:0 0 10px 14px;display:flex}.nb-toc-head b{font-size:var(--fs-sm)}.nb-toc-head span{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.nb-toc-chev{display:none}.nb-toc-list{border-left:2px solid var(--line);flex-direction:column;display:flex}.nb-toc-item{color:var(--muted);font-size:var(--fs-sm);border-left:2px solid #0000;margin-left:-2px;padding:7px 12px;font-weight:600;line-height:1.45;display:block}.nb-toc-item:hover{color:var(--ink)}.nb-toc-item.on{color:var(--tone,var(--brand));border-left-color:var(--tone,var(--brand));font-weight:800}.nb-doc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;padding:44px 56px 56px}.nb-point{scroll-margin-top:24px}.nb-point+.nb-point{border-top:1px solid var(--line);margin-top:48px;padding-top:44px}.nb-point-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.nb-point-head h2{font-family:var(--font-serif);color:var(--ink);font-size:clamp(21px,2.4vw,25px);font-weight:900;line-height:1.3}.nb-date{font-size:var(--fs-xs);color:var(--muted);flex:none;font-weight:700}.nb-body{flex-direction:column;gap:20px;display:flex}.nb-label{font-size:var(--fs-xs);letter-spacing:.12em;color:var(--tone,var(--brand));margin:0 0 4px;font-weight:800}.md{font-size:var(--fs-md);color:var(--ink-2);overflow-wrap:anywhere;line-height:1.85}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.35em 0}.md h1,.md h2{font-size:var(--fs-lg);color:var(--ink);margin:1em 0 .3em}.md h3,.md h4{font-size:var(--fs-md);color:var(--ink);margin:.9em 0 .2em}.md ul,.md ol{margin:.3em 0;padding-left:1.3em}.md li{margin:.15em 0}.md li::marker{color:var(--tone,var(--brand))}.md strong{color:var(--ink)}.md blockquote{background:var(--surface-2);border-left:3px solid var(--tone,var(--brand));border-radius:0 var(--r-sm) var(--r-sm) 0;margin:.5em 0;padding:6px 14px}.md code{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:.92em}.md pre{border-radius:var(--r-sm);background:var(--surface-2);padding:12px 14px;overflow-x:auto}.md pre code{background:0 0;padding:0}.md table{border-collapse:collapse;margin:.5em 0;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);padding:6px 10px}.md .katex{color:var(--ink)}.md .katex-display{margin:.6em 0;padding:4px 0;overflow:auto hidden}.nb-topic{gap:18px;max-width:880px}.nb-topic-head{border-left:4px solid var(--tone,var(--brand));flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:2px 0 2px 16px;display:flex}.nb-topic-head h1{font-family:var(--font-serif);font-size:clamp(24px,3.4vw,32px);line-height:1.25}.topic-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.replay-days{gap:22px}@media (width<=860px){.nb-book{grid-template-columns:1fr;gap:12px}.nb-toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);max-height:none;position:static;overflow:visible}.nb-toc-head{pointer-events:auto;cursor:pointer;align-items:center;width:100%;padding:14px 16px}.nb-toc-chev{width:18px;height:18px;color:var(--muted);transition:transform var(--t-med);margin-left:auto;display:block;transform:rotate(90deg)}.nb-toc.open .nb-toc-chev{transform:rotate(-90deg)}.nb-toc-list{margin:0 16px 12px;display:none}.nb-toc.open .nb-toc-list{display:flex}.nb-doc{border-radius:var(--r-md);padding:26px 20px 32px}.nb-point+.nb-point{margin-top:36px;padding-top:32px}.nb-point-head{flex-direction:column;gap:4px}}.page-head .btn{flex:none}.course-pill .plus{font-size:32px;font-weight:300;line-height:1}.course-form{max-width:720px}.course-form.cf-prep{min-height:70dvh;position:relative}.course-form.cf-prep>:not(.cf-loading){visibility:hidden}.cf-loading{color:var(--muted);font-size:var(--fs-sm);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .25s;display:flex;position:absolute;inset:0}.cf-loading.out{opacity:0;pointer-events:none}.cf-loading-icon{background:var(--brand-soft);width:56px;height:56px;color:var(--brand-ink);border-radius:18px;place-items:center;animation:1.1s ease-in-out infinite cf-bob;display:grid}.cf-loading-icon .icon{width:28px;height:28px}@keyframes cf-bob{50%{transform:translateY(-6px)rotate(-4deg)}}.course-form.cf-in>:not(.cf-loading){animation:.38s cubic-bezier(.2,.8,.2,1) both cf-in}.course-form.cf-in>:nth-child(2){animation-delay:40ms}.course-form.cf-in>:nth-child(3){animation-delay:80ms}.course-form.cf-in>:nth-child(4){animation-delay:.12s}@keyframes cf-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.cf-loading-icon,.course-form.cf-in>*{animation:none}}.step-top{align-items:center;gap:14px;display:flex}.step-head{align-items:center;gap:16px;margin-top:10px;display:flex}.form-step,.form-card{gap:18px}.form-label{color:var(--ink-2);font-weight:800;font-size:var(--fs-sm)}.chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-edge)}.textarea{resize:vertical;border:2px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:96px;font:600 var(--fs-md)/1.6 var(--font);color:var(--ink);outline:none;padding:12px 16px}.textarea:focus{border-color:var(--brand)}.step-foot{justify-content:space-between;gap:12px;margin-top:12px;display:flex}.merge-list{flex-direction:column;gap:10px;display:flex}.merge-item{text-align:left;font:inherit;color:inherit;background:var(--surface);border:2px solid var(--line);border-left:8px solid var(--tone,var(--brand));border-radius:var(--r-md);cursor:pointer;align-items:center;gap:14px;padding:14px 16px;display:flex}.merge-check{border:2px solid var(--line-strong);color:#0000;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid}.merge-item.on{border-color:var(--brand)}.merge-item.on .merge-check{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.side-courses{flex-direction:column;gap:2px;margin-top:14px;display:flex}.side-label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.06em;padding:6px 14px;font-weight:800}.side-course{border-radius:var(--r-sm);color:var(--ink-2);font-weight:700;font-size:var(--fs-sm);align-items:center;gap:10px;padding:8px 14px;display:flex}.side-course:hover{background:var(--surface-2);color:var(--ink)}.side-course i{background:var(--tone,var(--brand));border-radius:3px;flex:none;width:10px;height:10px}.side-course-wrap{border-radius:var(--r-sm);position:relative}.side-course-wrap.enter,.side-course-wrap.leave{overflow:hidden}.side-course-wrap .side-course{padding-right:36px}.side-unpin{width:24px;height:24px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--t-fast), background var(--t-fast), color var(--t-fast);background:0 0;border:none;border-radius:6px;place-items:center;margin-top:-12px;padding:0;display:grid;position:absolute;top:50%;right:6px}.side-unpin .icon{width:15px;height:15px}.side-course-wrap:hover .side-unpin,.side-unpin:focus-visible{opacity:1}.side-unpin:hover{background:var(--brand-soft);color:var(--brand-ink)}@media (hover:none){.side-unpin{opacity:1}}.side-hint{font-size:var(--fs-xs);color:var(--muted);margin:2px 14px 0;line-height:1.6}.side-course-wrap.enter{animation:.6s cubic-bezier(.2,.9,.3,1.3) both pin-in}.side-course-wrap.enter .side-course{animation:1.2s ease-out .45s both pin-flash}.side-course-wrap.leave{pointer-events:none;animation:.28s ease-in both pin-out}@keyframes pin-in{0%{opacity:0;max-height:0;transform:translate(-16px)scale(.9)}35%{opacity:0;max-height:44px;transform:translate(-16px)scale(.9)}to{opacity:1;max-height:44px;transform:none}}@keyframes pin-flash{0%{background-color:var(--brand-soft);color:var(--brand-ink);box-shadow:var(--brand-glow-sm)}to{background-color:#0000;box-shadow:0 0 #0000}}@keyframes pin-out{0%{opacity:1;max-height:44px}to{opacity:0;max-height:0;transform:translate(-14px)scale(.95)}}.book-pin.pop .icon,.pin-toggle.pop .icon{animation:.45s cubic-bezier(.3,1.6,.5,1) pin-pop}@keyframes pin-pop{0%{transform:scale(.6)rotate(-25deg)}60%{transform:scale(1.25)rotate(8deg)}to{transform:none}}.book-pin.deny,.pin-toggle.deny{animation:.4s ease-in-out pin-deny}@keyframes pin-deny{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.side-course-wrap.enter,.side-course-wrap.enter .side-course,.side-course-wrap.leave,.book-pin.pop .icon,.pin-toggle.pop .icon,.book-pin.deny,.pin-toggle.deny{animation:none}}.side-hint .icon{vertical-align:-2px;width:13px;height:13px;margin:0 2px}.book-pin{z-index:2;background:color-mix(in srgb, var(--surface) 88%, transparent);width:30px;height:30px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--t-fast), transform var(--t-fast), color var(--t-fast), background var(--t-fast);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:10px;transform:scale(.85);box-shadow:0 1px 4px #1e22352e}.book-pin .icon{width:16px;height:16px}.book:hover .book-pin,.book:focus-within .book-pin,.book-pin.on{opacity:1;transform:none}.book-pin:hover{color:var(--brand-ink)}.book-pin.on{background:var(--brand);color:var(--on-brand);box-shadow:var(--brand-glow-sm)}@media (hover:none){.book-pin{opacity:1;transform:none}}.btn.flat.pin-toggle.on{--fg:var(--brand-ink);background:var(--brand-soft)}.form-row{flex-direction:column;gap:8px;display:flex}.step-title{margin-top:8px}.style-grid{flex-direction:column;gap:10px;display:flex}.style-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.style-name{width:3em;color:var(--muted);font-weight:800;font-size:var(--fs-sm)}.initiative-row .style-name{width:4em}.initiative-row .seg{flex-wrap:wrap;max-width:100%}.initiative-row .seg button{white-space:nowrap}.sp{position:relative}.sp-panel{z-index:20;background:var(--surface);border:2px solid var(--line);border-radius:var(--r-md);max-height:340px;box-shadow:var(--shadow-pop);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.sp-panel:has(.sp-browse){overflow:hidden}.sp-browse{grid-template-columns:130px 1fr;gap:6px;height:324px;display:grid}.sp-cats,.sp-items{overscroll-behavior:contain;min-height:0;overflow-y:auto}.sp-cats{border-right:1px solid var(--line);flex-direction:column;gap:2px;padding-right:6px;display:flex}.sp-cat,.sp-item,.sp-custom{text-align:left;width:100%;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;display:block}.sp-cat{font-weight:800;font-size:var(--fs-sm);color:var(--muted)}.sp-cat.on{background:var(--surface-2);color:var(--ink)}.sp-items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;display:grid}.sp-item:hover,.sp-cat:hover,.sp-custom:hover{background:var(--surface-2);color:var(--ink)}.sp-item.on,.sp-custom{color:var(--brand-ink);font-weight:800}.sp-group+.sp-group{margin-top:6px}.sp-group-name{font-size:var(--fs-xs);color:var(--muted);padding:6px 10px 2px;font-weight:800}.dd-trigger{text-align:left;width:100%;min-height:52px;font:inherit;color:var(--ink);cursor:pointer;padding-right:14px;font-weight:600}.dd-trigger:hover{border-color:var(--line-strong)}.dd.open .dd-trigger,.dd-trigger:focus-visible{border-color:var(--brand);outline:none}.dd-text.muted{font-weight:500}.dd-chev{width:18px;height:18px;color:var(--muted);transition:transform var(--t-fast);transform:rotate(90deg)}.dd.open .dd-chev{transform:rotate(-90deg)}.dd-panel{transform-origin:top;animation:.18s ease-out dd-down}.dd-items{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:2px;display:grid}.dd-panel .sp-item:focus-visible{background:var(--surface-2);color:var(--ink);outline:none}.dd-panel .sp-item.on{background:var(--brand-soft)}@keyframes dd-down{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.dd-panel{animation:none}.dd-chev{transition:none}}@media (width<=560px){.sp-browse{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.sp-cats{border-right:none;border-bottom:1px solid var(--line);flex-direction:row;padding:0 0 6px;overflow:auto hidden}.sp-cat{white-space:nowrap;width:auto}}.course-head{align-items:stretch;gap:26px;display:flex}.ch-cover{aspect-ratio:3/4;width:150px;color:var(--tone);background:var(--paper);box-shadow:inset 10px 0 0 var(--tone), 0 10px 24px -8px #1e22354d;border-radius:3px 10px 10px 3px;flex:none;position:relative;overflow:hidden}.ch-cover svg{width:100%;height:100%;display:block}.ch-info{flex-direction:column;gap:6px;min-width:0;padding-top:6px;display:flex}.ch-title{font-family:var(--font-serif);font-size:clamp(26px,4vw,36px);font-weight:900;line-height:1.2}.ch-meta{color:var(--muted);font-weight:700;font-size:var(--fs-sm)}.ch-persona{color:var(--ink-2);max-width:560px;margin-top:4px;line-height:1.6}.course-head .topic-actions{margin-top:auto;padding-top:12px}@media (width<=560px){.course-head{grid-template-columns:88px minmax(0,1fr);align-items:start;gap:4px 14px;display:grid}.ch-cover{grid-row:1/span 3;width:88px}.ch-info{display:contents}.ch-info>*{grid-column:2}.ch-title{font-size:24px}.course-head .ch-persona,.course-head .topic-actions{grid-column:1/-1}.ch-persona{margin-top:10px}.course-head .topic-actions{gap:8px;padding-top:10px}.course-head .topic-actions .btn{flex:auto}.course-head .topic-actions .btn:first-child{flex-basis:100%}}.teacher-tab{gap:16px}.t-card,.mem-editor{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.mem-head{align-items:flex-start;gap:12px;display:flex}.mem-head h3{font-size:var(--fs-md,17px);margin:0 0 2px}.mem-head p{margin:0}.t-row{grid-template-columns:64px 1fr;align-items:start;gap:12px;display:grid}.t-row>span{color:var(--muted);font-size:var(--fs-sm);padding-top:9px;font-weight:700}.t-field{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--bg);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:8px 12px;line-height:1.55}.t-field:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft,#6366f126);outline:none}.mem-status{white-space:nowrap;align-self:center}.danger-text{color:var(--bad,#d14343)}.mem-body{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.mem-sec{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.mem-sec-head{align-items:baseline;gap:8px;display:flex}.mem-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.mem-item{border-radius:8px;align-items:flex-start;gap:4px;display:flex}.mem-item:hover{background:var(--surface)}.mem-text{cursor:text;border-radius:6px;outline:none;flex:1;min-width:0;padding:5px 6px;line-height:1.5}.mem-text:focus{background:var(--surface);box-shadow:0 0 0 2px var(--brand-soft,#6366f133)}.mem-del{opacity:0;color:var(--muted);flex:none}.mem-item:hover .mem-del,.mem-item:focus-within .mem-del{opacity:1}@media (hover:none){.mem-del{opacity:.6}}.mem-add{color:var(--muted);align-items:center;gap:6px;padding:2px 6px;display:flex}.mem-add .icon{flex:none;width:15px;height:15px}.mem-add-input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:5px 0}@media (width<=640px){.t-row{grid-template-columns:1fr;gap:4px}.t-row>span{padding-top:0}}.page.courses{max-width:900px;container:courses/inline-size}.page.courses .page-head{align-items:center}.courses-tools{align-items:center;gap:12px;display:flex}.field.search.shelf-search{width:min(260px,100%)}.cl-group{flex-direction:column;gap:10px;display:flex}.cl-title{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.08em;align-items:baseline;gap:8px;font-weight:600;display:flex}.cl-title span{font-weight:500;font-size:var(--fs-xs)}.cl-list{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.cl-row{cursor:pointer;outline:none;align-items:center;gap:16px;padding:12px 16px 12px 14px;transition:background .18s;display:flex;position:relative}.cl-row+.cl-row{border-top:1px solid var(--line)}.cl-row:before{content:"";background:var(--tone);opacity:0;border-radius:0 3px 3px 0;width:3px;transition:opacity .18s,width .18s;position:absolute;top:10px;bottom:10px;left:0}.cl-row:hover,.cl-row:focus-visible{background:color-mix(in srgb, var(--tone) 5%, var(--surface))}.cl-row:hover:before,.cl-row:focus-visible:before{opacity:1}.cl-cover{width:40px;height:52px;color:var(--tone);background:var(--paper);box-shadow:inset 4px 0 0 var(--tone), 0 1px 2px #1f2a261f, 0 6px 12px -8px #1f2a2666;border-radius:6px 12px 12px 6px;flex:none;transition:transform .25s cubic-bezier(.2,.8,.2,1);overflow:hidden}.cl-cover svg{width:100%;height:100%;display:block}.cl-row:hover .cl-cover{transform:rotate(-4deg)translateY(-1px)}.cl-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.cl-name{font:600 17px var(--font-serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cl-meta{min-width:0;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;gap:10px;display:flex;overflow:hidden}.cl-subject{color:var(--tone);text-overflow:ellipsis;font-weight:600;overflow:hidden}.cl-attend{opacity:0;flex:none;transition:opacity .18s,transform .2s;transform:translate(6px)}.cl-row:hover .cl-attend,.cl-row:focus-within .cl-attend{opacity:1;transform:none}.cl-go{color:var(--muted);flex:none}.cl-asks{gap:8px}.cl-asks .cl-title small{font-size:var(--fs-xs);letter-spacing:0;margin-left:auto;font-weight:400}.cl-ask{width:100%;min-height:46px;color:var(--ink);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:7px 14px;transition:background .18s;display:flex}.cl-ask+.cl-ask{border-top:1px solid var(--line)}.cl-ask-icon{background:color-mix(in srgb, var(--tone) 16%, var(--surface));width:30px;height:30px;color:color-mix(in srgb, var(--tone) 60%, var(--ink));border-radius:9px;flex:none;place-items:center;display:grid}.cl-ask-icon .icon{width:16px;height:16px}.cl-ask b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.cl-ask>span:not(.cl-ask-icon){color:var(--muted);font-size:var(--fs-xs)}.cl-ask>.icon{width:14px;height:14px;color:var(--muted)}.cl-ask:hover,.cl-ask:focus-visible{background:color-mix(in srgb, var(--tone) 6%, var(--surface));outline:none}.cl-ask.more{min-height:38px;color:var(--muted);font-size:var(--fs-xs);justify-content:center}.course-first{border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--muted);font:inherit;text-align:center;cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;transition:border-color .2s,color .2s;display:flex}.course-first b{font:600 20px var(--font-serif);color:var(--ink)}.cf-plus{background:var(--brand);width:48px;height:48px;color:var(--on-brand);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.course-first:hover{border-color:var(--brand);color:var(--ink-2)}@media (hover:none){.cl-attend{opacity:1;transform:none}}@container courses (width<=560px){.page.courses .page-head{flex-flow:wrap;align-items:center;row-gap:12px}.page.courses .page-actions,.courses-tools{display:contents}.page.courses .courses-new{min-height:38px;font-size:var(--fs-sm);order:0;align-self:flex-start;margin:1px 0 0 auto;padding:0 14px}.field.search.shelf-search{flex:100%;order:1;width:100%;min-width:0}.cl-row{gap:12px;padding:10px 12px}.cl-attend{border-radius:50%;width:40px;min-height:40px;padding:0}.cl-attend span{display:none}}.ch-actions{flex-direction:row;align-items:center;gap:14px}.ch-more{flex-wrap:wrap;gap:2px;display:flex}.ch-more .btn{color:var(--muted)}.ch-more .btn:hover{color:var(--ink)}.ch-title{font-weight:700}@media (width<=560px){.ch-actions{flex-direction:column;align-items:stretch}.ch-actions>.btn{width:100%}.ch-more{justify-content:space-between}}.nb-doc{background:radial-gradient(circle at 20px 50%, var(--bg) 0 6px, color-mix(in srgb, var(--ink) 10%, transparent) 6px 7px, transparent 7.5px) 0 18px / 40px 64px repeat-y, linear-gradient(90deg, transparent 48px, var(--paper-margin) 48px 49.5px, transparent 49.5px), var(--paper);box-shadow:var(--shadow-card);padding-left:78px;position:relative}@media (width<=560px){.nb-doc{background-position:-6px 14px,-14px 0,0 0;background-size:30px 56px,auto,auto;padding-left:52px}}@container courses (width<=560px){.cl-attend{--c:transparent;--e:var(--surface-2);--fg:var(--brand-ink);border:1.5px solid color-mix(in srgb, var(--brand) 35%, transparent);width:38px;min-height:38px}.cl-group{gap:12px}.page.courses .col{gap:30px!important}}.cover-picks{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;padding:6px 2px 2px;display:grid}.cover-pick{color:var(--tone);cursor:pointer;text-align:center;background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.cover-pick-art{aspect-ratio:200/140;transition:transform .25s var(--ease-bounce), box-shadow .2s ease;border-radius:5px 12px 12px 5px;display:block;overflow:hidden;box-shadow:inset 5px 0 #00000024,0 1px 2px #00000014,0 6px 14px -8px #00000059}.cover-pick-art svg{width:100%;height:100%;display:block}.cover-pick-name{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.cover-pick:hover .cover-pick-art{transform:translateY(-2px)rotate(-1.5deg)}.cover-pick.on .cover-pick-art{box-shadow:0 0 0 2.5px var(--surface), 0 0 0 5px var(--tone), 0 10px 18px -8px #0006;transform:translateY(-2px)}.cover-pick.on .cover-pick-name{color:var(--ink)}.cover-upload .cover-pick-art{color:var(--muted);background:var(--surface-2);border:2px dashed var(--line-strong);box-shadow:none;place-items:center;font-size:22px;display:grid}.cover-upload .cover-pick-art .icon{width:26px;height:26px}.cover-upload:hover .cover-pick-art{color:var(--tone);border-color:var(--tone)}.cover-upload:disabled{cursor:progress}.cover-upload-busy{border:3px solid var(--line-strong);border-top-color:var(--tone);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite cover-spin}@keyframes cover-spin{to{transform:rotate(360deg)}}@media (width<=560px){.cover-picks{scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:6px 16px 8px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.cover-picks::-webkit-scrollbar{display:none}.cover-pick{scroll-snap-align:start;flex:0 0 104px}}.ch-cap{font-size:var(--fs-sm);color:var(--muted);max-width:52ch;margin:6px 0 0;line-height:1.6}.me{gap:18px;max-width:760px}.me-head{align-items:center;gap:18px;padding:8px 0 4px;display:flex}.me-avatar{background:var(--tone,var(--brand));color:#fff;width:72px;height:72px;font:900 30px var(--font-serif);box-shadow:0 0 0 4px var(--surface), 0 0 0 6px color-mix(in srgb, var(--tone,var(--brand)) 30%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.me-name{font-size:var(--fs-xl)}.me-quota{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-end;gap:0;padding-right:4px;display:flex}.me-quota b{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:900;line-height:1.1}.me-quota span{font-size:var(--fs-xs);color:var(--muted);font-weight:700}.me-gear{flex:none}.me-gear .icon{width:22px;height:22px}@media (width<=560px){.me-quota{display:none}}.me-data{flex-direction:column;gap:18px;padding:20px 22px;display:flex}.me-stats{grid-template-columns:repeat(4,1fr);display:grid}.me-stat{flex-direction:column;gap:2px;padding:0 14px;display:flex}.me-stat:first-child{padding-left:0}.me-stat+.me-stat{border-left:2px solid var(--line)}.me-stat b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900;line-height:1.15}.me-stat .unit{font-size:var(--fs-sm);color:var(--ink-2);margin-left:3px;font-weight:800}.me-stat .muted{font-size:var(--fs-xs);font-weight:700}@media (width<=560px){.me-stats{grid-template-columns:1fr 1fr;row-gap:14px}.me-stat:nth-child(3){border-left:none;padding-left:0}}.me-chart{border-top:2px solid var(--line);flex-direction:column;gap:12px;padding-top:16px;display:flex}.wc{padding-top:16px}.wc-plot{grid-template-columns:repeat(7,1fr);gap:10px;height:150px;padding-bottom:26px;display:grid;position:relative}.wc-col{cursor:default;outline:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.wc-track{border-radius:4px;flex:1;align-items:flex-end;width:100%;max-width:40px;display:flex;position:relative}.wc-col:hover .wc-track,.wc-col:focus .wc-track{background:var(--surface-2)}.wc-track i{background:color-mix(in srgb, var(--brand) 40%, var(--surface));width:100%;transition:height .6s var(--ease-bounce);border-radius:4px 4px 0 0}.wc-track i.today{background:var(--brand)}.wc-label{font-size:var(--fs-xs);color:var(--muted);font-weight:800;position:absolute;bottom:-24px}.wc-label.today{color:var(--ink)}.wc-goal{border-top:2px dashed var(--chalk-edge);pointer-events:none;z-index:1;height:0;margin-bottom:26px;position:absolute;left:0;right:0}.wc-goal span{font-size:var(--fs-xs);color:var(--chalk-ink);background:var(--surface);padding:0 4px;font-weight:800;position:absolute;top:-22px;right:0}.wc-tip{background:var(--ink);color:var(--bg);font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;z-index:2;border-radius:8px;padding:6px 10px;font-weight:700;position:absolute;top:-8px;transform:translate(-50%,-100%)}.wc-track i{transform-origin:bottom;animation:.55s cubic-bezier(.3,1.35,.5,1) both wc-grow;animation-delay:calc(var(--i,0) * 60ms)}.wc-track i.today{box-shadow:var(--brand-glow-sm)}.wc-col:hover .wc-track i,.wc-col:focus .wc-track i{filter:brightness(1.08)}.wc-goal{animation:.5s ease-out .5s both wc-draw}.wc-goal span{animation:.3s ease-out .9s both wc-fade}.wc-tip:not(.hidden){animation:.16s ease-out wc-tip}@keyframes wc-grow{0%{transform:scaleY(0)}}@keyframes wc-draw{0%{clip-path:inset(-30px 100% -4px 0)}to{clip-path:inset(-30px 0 -4px)}}@keyframes wc-fade{0%{opacity:0}}@keyframes wc-tip{0%{opacity:0;transform:translate(-50%,calc(4px - 100%))}}@media (prefers-reduced-motion:reduce){.wc-track i,.wc-goal,.wc-goal span,.wc-tip:not(.hidden){animation:none}}.me-teacher{flex-direction:column;gap:14px;display:flex}.memory-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.memory-card{border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-2);padding:14px 16px}.memory-card .row{color:var(--ink)}.memory-card[data-tone=good]{background:var(--good-soft)}.memory-card[data-tone=good] .row{color:var(--good-edge)}.memory-card[data-tone=bad]{background:var(--bad-soft)}.memory-card[data-tone=bad] .row{color:var(--bad-edge)}.memory-card[data-tone=brand]{background:var(--brand-soft)}.memory-card[data-tone=brand] .row{color:var(--brand-edge)}.memory-card[data-tone=chalk]{background:var(--chalk-soft)}.memory-card[data-tone=chalk] .row{color:var(--chalk-ink)}.memory-card ul{font-size:var(--fs-sm);margin:8px 0 0;padding-left:1.2em;line-height:1.7}.me-groups{flex-direction:column;gap:18px;display:flex}.me-group{flex-direction:column;gap:8px;display:flex}.danger-row{color:var(--bad-edge);justify-content:center;font-weight:800}.danger-row .grow{text-align:center}.about{flex-direction:column;align-items:center;gap:8px;padding:36px;display:flex}.teacher-empty{gap:16px}.me-foot{justify-content:space-between;align-items:center;display:flex}.me-set-name{font:800 var(--fs-xl) var(--font);color:var(--brand-ink);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.me-set-name .icon{width:18px;height:18px}.plan-now{flex-direction:column;gap:12px;padding:20px 22px;display:flex}.plan-name{font-size:var(--fs-lg);font-weight:900}.plan-today{flex-direction:column;gap:2px;display:flex}.plan-today b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:900}.plan-h{font-size:var(--fs-lg);margin:22px 0 10px}.plan-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.plan-list+div .plan-card{margin-bottom:10px}.plan-card{border:2px solid var(--line);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.plan-card.on{border-color:var(--brand)}.plan-card .chip{align-self:flex-start}.plan-price{color:var(--muted)}.plan-price b{font-size:var(--fs-xl);color:var(--ink);font-weight:900}.plan-rules{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.sup-page{gap:14px}.sup-intro p{margin:6px 0 0;line-height:1.6}.sup-form{gap:12px}.sup-field{flex-direction:column;gap:6px;display:flex}.sup-field>span:first-child{font-size:14px;font-weight:700}.page.me:not(.me-sub){gap:30px;max-width:1040px;container:me/inline-size}.me-top{grid-template-columns:360px minmax(0,1fr);align-items:stretch;gap:26px;display:grid}@container me (width<=760px){.me-top{grid-template-columns:1fr}}.id-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:24px;flex-direction:column;align-self:start;align-items:stretch;gap:0;padding:0;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden;transform:rotate(-1.2deg)}.id-card:hover{transform:rotate(0)translateY(-2px)}.id-card:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 38%,#ffffff38 46%,#0000 54%);position:absolute;inset:0}.id-band{background:var(--brand);color:var(--on-brand);font-family:var(--font-serif);letter-spacing:.2em;font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.id-gear{width:30px;height:30px;color:inherit;cursor:pointer;background:#fff;border:none;border-radius:50%;place-items:center;display:grid}.id-gear:hover{background:#fff;box-shadow:0 2px 6px #0000001f}.id-gear .icon{width:17px;height:17px}@media (width>=861px){.id-gear{display:none}}.id-body{gap:18px;padding:20px 18px 12px;display:flex}.id-photo{background:color-mix(in srgb, var(--tone,var(--brand)) 14%, var(--surface));width:92px;height:116px;color:var(--tone,var(--brand));font:700 46px var(--font-serif);border-radius:18px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0000000f}.id-fields{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.id-field{flex-direction:column;gap:1px;min-width:0;display:flex}.id-field>span{color:var(--muted);letter-spacing:.14em;font-size:11px}.id-field b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.id-name{align-items:center;gap:4px;display:inline-flex}.id-name b{font:700 20px var(--font-serif)}.id-edit{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.id-edit:hover{background:var(--surface-2);color:var(--ink)}.id-edit .icon{width:14px;height:14px}.id-field .me-set-name{font:700 18px var(--font-serif);color:var(--brand-ink);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;display:inline-flex}.id-quota{border:1px dashed var(--line-strong);color:var(--muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-start;align-items:baseline;gap:6px;margin-top:2px;padding:4px 10px;display:flex}.id-quota b{font:700 18px var(--font-serif);color:var(--ink)}.id-quota:hover{border-color:var(--brand);color:var(--brand-ink)}.id-code{opacity:.75;background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 8px, var(--ink) 8px 11px, transparent 11px 12px, var(--ink) 12px 13px, transparent 13px 17px);height:34px;margin:6px 18px 16px;-webkit-mask:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.page.me .me-data{justify-content:space-between}.me-stat b{font-family:var(--font-serif);font-weight:700}.me-stat+.me-stat{border-left-width:1px}.me-chart{border-top-width:1px}.remark{flex-direction:column;gap:14px;display:flex}.remark-paper{border-radius:var(--r-lg);background:linear-gradient(90deg, transparent 46px, #d9604f73 46px 47.5px, transparent 47.5px), repeating-linear-gradient(to bottom, transparent 0 35px, #24574a24 35px 36px), var(--paper);min-height:180px;box-shadow:var(--shadow-card);border:1px solid var(--line);background-position:0 0,0 18px,0 0;padding:22px 120px 30px 64px;position:relative;overflow:hidden}.remark-lines{counter-reset:rk;margin:0;padding:0;list-style:none}.remark-lines li{min-height:36px;line-height:36px;font-family:var(--font-hand);color:var(--pen);align-items:baseline;gap:10px;font-size:20px;display:flex}.remark-lines li:before{counter-increment:rk;content:counter(rk) ".";min-width:1.2em;color:color-mix(in srgb, var(--pen) 70%, transparent)}.remark-tag{font-family:var(--font);border:1px solid color-mix(in srgb, var(--pen) 35%, transparent);color:color-mix(in srgb, var(--pen) 85%, transparent);border-radius:4px;flex:none;padding:3px 6px;font-size:11px;line-height:1;transform:translateY(-3px)}.remark-empty{line-height:36px;font-family:var(--font-hand);color:var(--pen);margin:0;font-size:20px}.remark-sign{font-family:var(--font-hand);color:color-mix(in srgb, var(--pen) 75%, transparent);font-size:16px;position:absolute;bottom:16px;right:130px}.remark-stamp{z-index:1;width:76px;height:76px;position:absolute;bottom:16px;right:26px;transform:rotate(-8deg)}.remark-stamp svg{width:100%;height:100%;overflow:visible}.remark-stamp path{fill:none;stroke:var(--pen);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.rs-ring{stroke-dasharray:220;stroke-dashoffset:220px;animation:.7s ease-out .3s forwards pen-draw}.rs-tick{stroke-width:4.2px;stroke-dasharray:60;stroke-dashoffset:60px;animation:.35s ease-out .95s forwards pen-draw}@keyframes pen-draw{to{stroke-dashoffset:0}}@container me (width<=560px){.id-card,.id-card:hover{transform:none}.remark-paper{padding:18px 18px 106px 56px}.remark-sign{bottom:26px;left:56px;right:auto}.remark-lines li,.remark-empty{font-size:18px}}@media (prefers-reduced-motion:reduce){.rs-ring,.rs-tick{stroke-dashoffset:0;animation:none}.id-card,.id-card:hover{transform:none}}.class-page{background:var(--bg);flex-direction:column;height:100dvh;display:flex}.class-top{padding:12px 20px;padding-top:calc(12px + env(safe-area-inset-top));align-items:center;gap:12px;display:flex}.class-board{flex:1;place-items:center;min-height:0;padding:0 20px;display:grid;container-type:size}.class-board .board{aspect-ratio:16/9;width:min(100cqw,177.778cqh)}@media (width<=640px){.class-top{flex-wrap:wrap;gap:8px;padding:10px 12px}.class-board{padding:0 8px}.class-board .board{border-radius:var(--r-md)}}.plan{gap:6px;height:14px;display:flex}.plan i{border-radius:var(--r-pill);background:var(--surface-2);box-shadow:inset 0 -3px 0 var(--line);transition:background var(--t-med);flex:1}.plan i.done{background:var(--good);box-shadow:inset 0 -3px 0 var(--good-edge)}.plan i.cur{background:var(--chalk);box-shadow:inset 0 -3px 0 var(--chalk-edge);animation:1.6s ease-in-out infinite pulse}.plan:empty{background:var(--surface-2);border-radius:var(--r-pill)}.dock{width:100%;max-width:1100px;padding:12px 20px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}@media (width<=640px){.dock{padding:10px 12px calc(12px + env(safe-area-inset-bottom));gap:10px}}.dock-top{align-items:flex-end;gap:12px;display:flex}.bubble{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);border-bottom-left-radius:6px;flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;min-height:56px;padding:12px 16px;display:flex;position:relative}.sub-text{font-size:var(--fs-lg);max-height:4.4em;font-weight:700;line-height:1.45;overflow:hidden}.sub-text:empty:before{content:"…";color:var(--line-strong)}.heard{font-size:var(--fs-sm);color:var(--muted);font-weight:700}.heard.final{color:var(--brand-ink)}.dock-input{align-items:center;gap:12px;display:flex}.mic{border:2px solid var(--line-strong);background:var(--surface);width:64px;height:64px;color:var(--muted);transition:transform var(--t-fast), background var(--t-med), box-shadow var(--t-fast);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;box-shadow:0 2px 8px #0000002e}.mic .icon{z-index:1;width:28px;height:28px;position:relative}.mic:active{transform:scale(.95)}.mic .mic-level{pointer-events:none;border-radius:50%;position:absolute;inset:0;overflow:hidden}.mic .mic-level i{background:#ffffff40;border-radius:50%;transition:transform 80ms linear;position:absolute;inset:6px;transform:scale(.6)}.mic.on{background:var(--brand);border-color:var(--brand-edge);color:var(--on-brand);box-shadow:var(--brand-glow)}.mic.on:after{content:"";border:3px solid var(--brand);opacity:.35;border-radius:50%;animation:1.8s ease-out infinite ring;position:absolute;inset:-6px}.mic.on.talking{background:var(--bad);border-color:var(--bad-edge);box-shadow:0 6px 18px -8px var(--bad)}.mic.on.talking:after{border-color:var(--bad)}.lasso-bar,.answer-bar{border-radius:var(--r-md);background:var(--chalk-soft);color:var(--chalk-ink);font-weight:700;font-size:var(--fs-sm);border:2px solid color-mix(in srgb, var(--chalk) 50%, transparent);animation:pop var(--t-med) var(--ease-bounce);align-items:center;gap:10px;padding:10px 14px;display:flex}.answer-bar{background:var(--brand-soft);width:calc(100% - 40px);max-width:1100px;color:var(--brand-edge);border-color:color-mix(in srgb, var(--brand) 30%, transparent);margin:10px auto 0}.transport{align-items:center;gap:16px;width:100%;max-width:1100px;margin:0 auto;padding:14px 20px 0;display:flex;position:relative}.track{cursor:pointer;padding:6px 0;position:relative}.track .bar{height:12px}.track b{background:var(--ink-2);opacity:.5;border-radius:2px;width:4px;height:18px;margin-left:-2px;position:absolute;top:3px}.time{font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:700}.chapters{z-index:5;width:min(320px,100vw - 32px);max-height:50vh;box-shadow:var(--shadow-pop);flex-direction:column;padding:8px;display:flex;position:absolute;bottom:64px;right:20px;overflow:auto}.chapter{text-align:left;border-radius:var(--r-sm);background:0 0;border:none;padding:10px 12px;font-weight:700}.chapter:hover{background:var(--surface-2);color:var(--brand-ink)}@media (aspect-ratio<=4/5){.class-page:not(.class-auto-landscape) .class-board{flex:none;display:block;container-type:normal}.class-page:not(.class-auto-landscape) .class-board .board{width:100%}.class-page:not(.class-auto-landscape) .dock{flex:1;justify-content:space-between}.class-page:not(.class-auto-landscape) .dock-top{align-items:flex-start}.class-page:not(.class-auto-landscape) .sub-text{max-height:none;font-size:var(--fs-xl)}.class-page:not(.class-auto-landscape) .transport{padding-top:12px}}@media (width<=640px){.class-top>.grow{flex-basis:100%;order:5}.class-top>.seg{order:0;margin-left:auto}.class-top .pill{display:none}}.quiz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);animation:pop var(--t-med) var(--ease-bounce);flex-direction:column;gap:14px;padding:18px 20px;transition:opacity .18s,transform .18s;display:flex}.quiz-card.leaving{opacity:0;transform:translateY(8px)}.quiz-q{font-size:var(--fs-lg);font-weight:800}.quiz-opts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.quiz-opt{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-weight:700;font-size:var(--fs-md);transition:transform var(--t-fast), border-color var(--t-fast), background var(--t-fast);align-items:center;gap:12px;padding:12px 14px;display:flex}.quiz-opt b{border:2px solid var(--line);width:30px;height:30px;color:var(--muted);font-size:var(--fs-sm);border-radius:8px;flex:none;place-items:center;display:grid}.quiz-opt:hover{border-color:var(--line-strong)}.quiz-opt:active{border-bottom-width:2px;transform:translateY(2px)}.quiz-opt.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-edge)}.quiz-opt.on b{border-color:var(--brand);color:var(--brand-ink)}.quiz-opt.right{border-color:var(--good);background:var(--good-soft);color:var(--good-edge)}.quiz-opt.right b{border-color:var(--good);color:var(--good-edge)}.quiz-opt.wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad-edge);animation:.35s shake}.quiz-opt.wrong b{border-color:var(--bad);color:var(--bad-edge)}.quiz-opt.dim{opacity:.5}.quiz-verdict{border-radius:var(--r-md);font-size:var(--fs-lg);align-items:center;gap:10px;padding:12px 16px;display:flex}.quiz-verdict .icon{width:28px;height:28px}.quiz-card.is-right .quiz-verdict{background:var(--good-soft);color:var(--good-edge)}.quiz-card.is-wrong .quiz-verdict{background:var(--bad-soft);color:var(--bad-edge)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.upload-bar{border-radius:var(--r-md);background:var(--brand-soft);color:var(--brand-edge);font-weight:700;font-size:var(--fs-sm);border:2px solid color-mix(in srgb, var(--brand) 30%, transparent);animation:pop var(--t-med) var(--ease-bounce);align-items:center;gap:10px;padding:10px 14px;display:flex}.upload-progress{flex:none;width:120px;height:10px}.upload-progress>i{background:var(--brand)}.field .btn.round.sm{width:38px}body.dropping .class-board .board{outline:4px dashed var(--chalk);outline-offset:6px}body.dropping .class-board:after{content:"松手，把文件发给老师";border-radius:var(--r-md);background:var(--ink);color:var(--bg);z-index:20;padding:14px 22px;font-weight:800;position:fixed;top:40%;left:50%;transform:translate(-50%)}.board .board-empty{gap:22px}.how-title{color:var(--board-chalk);font-size:clamp(22px,3.4vw,36px)}.how{font-family:var(--font);grid-template-columns:repeat(4,minmax(0,150px));gap:14px;display:grid}.how-item{color:#f4f1e8bf;border:2px dashed #f4f1e840;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.how-item .icon{width:26px;height:26px;color:var(--chalk)}.how-item b{font-size:var(--fs-md);color:var(--board-chalk)}.how-item span{font-size:var(--fs-xs);line-height:1.5}@media (width<=640px){.how{display:none}}.lasso-count{background:var(--chalk);width:26px;height:26px;color:var(--on-chalk);font-weight:900;font-size:var(--fs-xs);border-radius:50%;place-items:center;display:grid}.pace-btn{gap:6px}.pace-btn .icon{width:18px;height:18px}.class-end{text-align:center;align-items:center;gap:14px}.end-stats{gap:10px;width:100%;display:flex}.end-stats>div{border-radius:var(--r-md);background:var(--surface-2);flex-direction:column;flex:1;gap:2px;padding:12px 6px;display:flex}.end-stats b{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;font-weight:900}.end-stats span{font-size:var(--fs-xs);color:var(--muted);font-weight:800}.course-chip{border-radius:var(--r-pill);background:var(--tone-soft,var(--brand-soft));color:var(--tone,var(--brand));font-size:var(--fs-xs);flex:none;align-items:center;gap:6px;padding:2px 10px;font-weight:800;display:inline-flex}.course-chip i{background:var(--tone,var(--brand));border-radius:2px;width:8px;height:8px}.video-mask{padding:24px}.video-modal{border-radius:var(--r-lg);background:var(--surface);width:min(960px,100%);box-shadow:var(--shadow-pop);flex-direction:column;gap:10px;padding:14px;display:flex}.video-body{aspect-ratio:16/9;border-radius:var(--r-md);background:#1e1915;width:100%;max-height:76vh;position:relative;overflow:hidden}.video-body video,.video-body iframe{background:#1e1915;border:0;width:100%;height:100%;display:block}.video-loading{color:#ffffffb3;place-items:center;height:100%;display:grid}.video-head{gap:8px}.class-page.immersive{--bg:#181411;--surface:#231d18;--surface-2:#2d251f;--ink:#f4ede4;--ink-2:#d3c6b9;--muted:#9b8d80;--line:#ffffff17;--line-strong:#ffffff2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--ink)}.immersive .class-top{background:0 0;gap:10px;padding:10px 16px}.immersive .class-top .btn{border:1px solid var(--line-strong);min-height:36px;color:var(--ink-2);box-shadow:none;background:#ffffff0f;border-radius:999px;padding:0 14px;font-weight:700}.immersive .class-top .btn:hover{color:var(--ink);background:#ffffff1f}.immersive .class-top .btn.round{width:36px;padding:0}.immersive .course-chip{color:var(--muted);background:0 0}.immersive .board .status,.immersive .board .page-tag{display:none}.immersive .class-board{padding:0 16px 16px;position:relative}.immersive .class-board .board{border-radius:14px}.immersive .caption{z-index:4;pointer-events:none;width:min(960px,100% - 160px);transition:bottom var(--t-med), opacity var(--t-fast,.15s);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.immersive .caption .dock-top{display:block}.immersive .caption .wave{display:none}.immersive .caption .bubble{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;background:#140e0aa8;border:none;border-radius:12px;flex-direction:column;align-items:center;min-height:0;padding:10px 18px;display:inline-flex}.immersive .caption .sub-text{color:#fff;text-shadow:0 1px 3px #0009;max-height:2.9em;font-size:clamp(18px,2vw,26px);line-height:1.45}.immersive .caption .sub-text:empty{display:none}.immersive .caption .sub-text:empty:before{content:none}.immersive .caption .heard{color:#ffffff9e;font-size:var(--fs-sm)}.immersive .caption .heard.final{color:var(--chalk)}.immersive .caption:not(:has(.sub-text:not(:empty))):not(:has(.heard:not(.hidden))) .bubble{display:none}.immersive .sheet{z-index:6;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:none;transition:transform var(--t-med) var(--ease-out,ease);background:#161f1ef5;border-radius:16px 16px 0 0;padding-top:14px;position:absolute;bottom:0;left:0;right:0;transform:translateY(calc(100% + 8px));box-shadow:0 -12px 30px #00000059}.immersive .sheet>*{width:100%;max-width:1000px;margin-left:auto;margin-right:auto}.immersive .sheet .field{border-color:var(--line-strong);background:#ffffff0f}.immersive .sheet .mic{border-color:var(--line-strong);box-shadow:none;color:var(--ink-2);background:#ffffff0f}@media (aspect-ratio<=4/5){.immersive:not(.class-auto-landscape) .caption{align-items:stretch;width:auto;padding:14px 4px 0;position:static;transform:none}.immersive:not(.class-auto-landscape) .caption .bubble{text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;align-items:flex-start;padding:0;display:flex}.immersive:not(.class-auto-landscape) .caption:not(:has(.sub-text:not(:empty))):not(:has(.heard:not(.hidden))) .bubble{display:flex}.immersive:not(.class-auto-landscape) .caption .sub-text{max-height:none;text-shadow:none;font-size:22px}.immersive:not(.class-auto-landscape) .sheet{box-shadow:none;background:0 0;border:none;border-radius:0;justify-content:flex-end;gap:8px;position:static;transform:none}}.dock .field{-webkit-touch-callout:none;touch-action:manipulation}.dock .field.ptt{background:color-mix(in srgb, var(--brand) 30%, var(--surface));animation:1.2s ease-in-out infinite ptt-breathe}.dock .field.ptt input{pointer-events:none}.dock .field input:placeholder-shown{-webkit-user-select:none;user-select:none}.dock .field.ptt input::placeholder{color:var(--ink);font-weight:700}.dock .field.ptt>.btn{opacity:.35}@keyframes ptt-breathe{50%{transform:scale(1.015)}}@media (prefers-reduced-motion:reduce){.dock .field.ptt{animation:none}}.sup-badge{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sup-badge i{background:#3fb67a;border-radius:50%;width:8px;height:8px}.sup-badge.away i{background:#f0a24a}@media (aspect-ratio>=4/5) and (height<=520px){.immersive .class-top{z-index:5;scrollbar-width:none;padding:calc(4px + env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 4px max(10px, env(safe-area-inset-left));flex-wrap:nowrap;flex:none;position:relative;overflow-x:auto}.immersive .class-top::-webkit-scrollbar{display:none}.immersive .class-top>*{flex-shrink:0}.immersive .class-top>.grow{flex:auto;min-width:0}.immersive .class-top>*{pointer-events:auto}.immersive .class-top .btn{background:#140e0a8c;min-height:30px;padding:0 10px;font-size:13px}.immersive .class-top .btn.round{width:30px}.immersive .class-board{padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.immersive .class-board .board{border-radius:0}.immersive .caption{width:calc(100% - 120px);bottom:10px}.immersive .caption .bubble{padding:6px 12px}.immersive .caption .sub-text{font-size:16px}.immersive .sheet{padding-top:6px}.immersive .sheet.dock{padding:6px max(12px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));gap:6px}.immersive .sheet .mic{width:44px;height:44px}.immersive .sheet{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;flex:none;transition:none;position:static;transform:none}.immersive .caption{transition:none}.immersive :is(.quiz-card,.quiz-opt,.lasso-bar,.answer-bar,.upload-bar,.handpad){transition:none;animation:none}}.handpad{z-index:9;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line-strong) inset;animation:pop var(--t-med) var(--ease-out,ease);background:#111b1a;flex-direction:column;display:flex;position:absolute;inset:0}.handpad.hidden{display:none}.hp-bar{border-bottom:1px dashed #ffffff1f;align-items:center;gap:6px;padding:10px 12px;display:flex}.hp-tag{background:var(--chalk);color:var(--on-chalk);font-size:var(--fs-xs);border-radius:999px;flex:none;padding:3px 10px;font-weight:800}.hp-prompt{min-width:0;color:var(--board-chalk);font-family:var(--font-hand);padding:0 6px;font-size:20px}.hp-bar .btn.flat{color:var(--ink-2)}.hp-bar .btn[disabled]{opacity:.35;pointer-events:none}.hp-surface{flex:1;min-height:0;position:relative}.hp-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.hp-hint{pointer-events:none;color:#f4f1e84d;font-family:var(--font-hand);place-items:center;font-size:clamp(18px,2.4vw,26px);display:grid;position:absolute;inset:0}.cam-block{flex-direction:column;gap:12px;max-width:420px;display:flex}.cam-block h2{margin:0}.cam-block p{margin:0;line-height:1.6}@media (aspect-ratio>=4/5){.immersive>.caption{flex:none;justify-content:center;align-self:center;width:min(960px,100% - 96px);min-height:104px;padding:0 0 20px;position:relative;bottom:auto;left:auto;transform:none}}@media (aspect-ratio>=4/5) and (height<=520px){.immersive>.caption{width:calc(100% - 96px);min-height:64px;padding-bottom:8px}.immersive>.caption .sub-text{font-size:18px}}@media (height<=520px){.class-top{padding:4px 10px;padding-top:calc(4px + env(safe-area-inset-top));gap:8px}.class-board{padding:0 6px}.dock{padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:6px}.dock-top{gap:8px}.bubble{min-height:38px;padding:6px 10px}.sub-text{max-height:2.6em;font-size:15px;line-height:1.3}.mic{width:46px;height:46px}}@media (aspect-ratio>=4/5) and (height<=520px){.class-page.immersive{position:relative}.immersive .sheet{background:0 0;border:none;padding-top:4px}.immersive .sheet .dock-input{gap:8px}.immersive .sheet .field{height:46px;padding-top:0;padding-bottom:0}.immersive .sheet .mic{flex:none;width:46px;height:46px}.immersive>.caption{left:50%;bottom:calc(var(--sheet-h,60px) + 10px);pointer-events:none;width:calc(100% - 96px);min-height:0;padding:0;position:absolute;transform:translate(-50%)}}.cload{z-index:200;color:var(--ink);background:#fff;place-items:center;padding:24px;transition:opacity .32s .18s;animation:.18s ease-out backwards cload-in;display:grid;position:fixed;inset:0;container-type:size}.land-stage>.cload{position:absolute}.cload-in{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(360px,100%);transition:opacity .22s,transform .26s cubic-bezier(.3,0,.6,1);display:flex}.cload-art{border-radius:20px;width:min(180px,51cqh);height:min(120px,34cqh);margin-bottom:8px}.cload-title{max-width:100%;font:900 clamp(20px, 6cqh, 28px) / 1.25 var(--font-serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cload-tip{min-height:1.5em;font-size:var(--fs-sm);color:var(--muted);font-weight:600}.cload-bar{background:var(--line);border-radius:99px;width:min(220px,70%);height:4px;margin-top:10px;position:relative;overflow:hidden}.cload-bar i{border-radius:inherit;background:var(--brand);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.cload-bar:after{content:"";z-index:1;background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:40%;animation:1.4s ease-in-out infinite cload-sweep;position:absolute;top:0;bottom:0;left:0}.cload-in>*{animation:.42s cubic-bezier(.2,.8,.2,1) both cload-rise}.cload-in>:nth-child(2){animation-delay:60ms}.cload-in>:nth-child(3){animation-delay:.12s}.cload-in>:nth-child(4){animation-delay:.18s}.cload.out{opacity:0;pointer-events:none}.cload.out .cload-in{opacity:0;transform:translateY(-10px)}@keyframes cload-in{0%{opacity:0}}@keyframes cload-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes cload-sweep{0%{transform:translate(-100%)}to{transform:translate(260%)}}@container (height<=300px){.cload-in{gap:6px}.cload-art{margin-bottom:2px}}@media (prefers-reduced-motion:reduce){.cload,.cload-in>*,.cload-bar:after{animation:none}.cload-in{transition:none}}@media (pointer:coarse) and (width<=767px) and (orientation:portrait){.class-page.class-auto-landscape{transform-origin:0 0;width:100dvh;height:100vw;position:fixed;top:0;left:0;overflow:hidden;transform:translate(100vw)rotate(90deg)}.class-auto-landscape .class-top{flex-wrap:nowrap;flex:none;padding:4px 10px;overflow-x:auto}.class-auto-landscape .class-top>*{flex-shrink:0}.class-auto-landscape .class-top>.grow{flex:auto;order:0;min-width:0}.class-auto-landscape .class-board{flex:1;place-items:center;min-height:0;padding:0 6px;display:grid;container-type:size}.class-auto-landscape .class-board .board{width:min(100cqw,177.778cqh)}.class-auto-landscape .caption{z-index:4;width:calc(100% - 96px);position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.class-auto-landscape .caption .sub-text{font-size:16px}.class-auto-landscape .sheet{flex:none;transition:none;position:static;transform:none}.class-auto-landscape .dock{padding:4px 10px}body:has(.class-auto-landscape) .modal-mask{transform-origin:0 0;width:100dvh;height:100vw;inset:0 auto auto 0;transform:translate(100vw)rotate(90deg)}body:has(.class-auto-landscape) .modal{max-height:100%;overflow-y:auto}}body:has(.class-page.immersive) .modal-mask{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a080680}body:has(.class-page.immersive) .modal{--surface:#2a231d;--surface-2:#ffffff12;--ink:#f4ede4;--ink-2:#d3c6b9;--muted:#9b8d80;--line:#ffffff17;--line-strong:#ffffff2e;color:var(--ink);-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#241e19e0;box-shadow:inset 0 1px #ffffff0f,0 30px 60px -24px #000000b3}body:has(.class-page.immersive .teaching-space:is([data-view=board],[data-view=whiteboard],[data-view=split],[data-view=material-split],[data-view=workspace]) .is-whiteboard) .modal{--surface:#f7f4ee;--surface-2:#2b211c0f;--ink:#2b211c;--ink-2:#4c4239;--muted:#8b8076;--line:#2b211c14;--line-strong:#2b211c24;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#faf7f1e6;box-shadow:inset 0 1px #ffffffe6,0 30px 60px -24px #46321e73}body:has(.class-page.immersive) .modal .btn.ghost{background:var(--surface-2);color:var(--ink);border-color:#0000}body:has(.class-page.immersive) .modal .btn.flat{color:var(--ink-2)}body:has(.class-page.immersive) .modal .btn.flat:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.class-end{border-radius:24px;gap:12px;width:min(400px,100%);padding:22px}.class-end h2{margin:0 0 2px;font-size:22px}.class-end .end-stats>div{border-radius:16px;padding:14px 6px 12px}.class-end .btn{border-radius:999px;min-height:46px}.class-end>.btn:not(.ghost):not(.flat){order:1;margin-top:4px}.class-end>.btn.ghost{order:2}.class-end>.btn.end-later{font-size:var(--fs-sm);order:3}.class-end>.btn.flat:not(.end-later){order:4;min-height:40px}@media (height<=520px),(pointer:coarse) and (width<=767px) and (orientation:portrait){body:has(.class-auto-landscape) .class-end{grid-template-columns:1fr 1fr;grid-auto-rows:auto;align-items:center;gap:8px 18px;width:min(600px,100%);padding:18px;display:grid}body:has(.class-auto-landscape) .class-end>h2{grid-area:1/1;align-self:end}body:has(.class-auto-landscape) .class-end>.end-stats{grid-area:2/1/span 3;align-self:start}body:has(.class-auto-landscape) .class-end>.btn{grid-column:2;min-height:42px;margin:0}body:has(.class-auto-landscape) .class-end>.btn:not(.ghost):not(.flat){grid-row:1}body:has(.class-auto-landscape) .class-end>.btn.ghost{grid-row:2}body:has(.class-auto-landscape) .class-end>.btn.end-later{grid-row:3}body:has(.class-auto-landscape) .class-end>.btn.flat:not(.end-later){grid-row:4;min-height:36px}}.class-page.immersive{--glass:#ffffff14;--glass-hover:#ffffff24;--glass-ink:var(--ink-2);--glass-fx:blur(18px) saturate(160%);--glass-shadow:inset 0 1px 0 #ffffff14, 0 10px 26px -16px #000000b3}.class-page.immersive:has(.teaching-space:is([data-view=board],[data-view=whiteboard],[data-view=split],[data-view=material-split],[data-view=workspace]) .is-whiteboard){--bg:#e8e4db;--surface:#f7f4ee;--surface-2:#eee9e0;--ink:#2b211c;--ink-2:#4c4239;--muted:#8b8076;--line:#2b211c14;--line-strong:#2b211c24;--glass:#ffffff94;--glass-hover:#fffc;--glass-ink:#3d332b;--glass-shadow:inset 0 1px 0 #ffffffe6, 0 10px 26px -16px #46321e66;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;transition:background-color .35s}.class-page.immersive :is(.class-top .btn,.sheet .field,.sheet .mic:not(.on),.quiz-opt){background:var(--glass);color:var(--glass-ink);-webkit-backdrop-filter:var(--glass-fx);backdrop-filter:var(--glass-fx);box-shadow:var(--glass-shadow);transition:background-color .2s ease, color .2s ease, transform var(--t-fast);border-color:#0000}.class-page.immersive :is(.class-top .btn,.sheet .mic:not(.on),.quiz-opt):hover{background:var(--glass-hover);color:var(--ink)}.class-page.immersive .sheet .field:focus-within{background:var(--glass-hover)}.class-page.immersive .sheet .field.ptt{background:color-mix(in srgb, var(--brand) 34%, var(--glass));color:var(--ink)}.class-page.immersive .mic.on:after{content:none}.class-page.immersive :is(.class-top .btn,.sheet .field,.sheet .mic,.quiz-opt):focus-visible{background:var(--glass-hover);outline:none}.class-page.immersive .sheet .mic.on{border-color:#0000}.class-page.immersive .quiz-opt b{background:var(--glass-hover);border-color:#0000}.class-page.immersive .quiz-opt.on{background:color-mix(in srgb, var(--brand) 26%, var(--glass));color:var(--ink)}.class-page.immersive .quiz-opt.right{background:color-mix(in srgb, var(--good) 30%, var(--glass));color:var(--ink)}.class-page.immersive .quiz-opt.wrong{background:color-mix(in srgb, var(--bad) 28%, var(--glass));color:var(--ink)}.class-page.immersive :is(.quiz-opt.on,.quiz-opt.right,.quiz-opt.wrong) b{color:inherit;background:#ffffff38}.class-page.immersive .sheet{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:0}.class-page.immersive:has(.teaching-space:is([data-view=board],[data-view=whiteboard],[data-view=split],[data-view=material-split],[data-view=workspace]) .is-whiteboard) .caption .bubble{background:#2b211cb8}@media (pointer:coarse) and (width<=767px) and (orientation:portrait){.class-auto-landscape .sheet.dock{gap:6px;padding:6px 12px 8px}.class-auto-landscape .sheet .dock-input{gap:8px}.class-auto-landscape .sheet .field{height:44px;padding-top:0;padding-bottom:0}.class-auto-landscape .sheet .mic{flex:none;width:44px;height:44px}}@media (prefers-reduced-transparency:reduce){.class-page.immersive{--glass-fx:none}}.class-page.immersive{--gap:clamp(8px, 1.6vmin, 18px)}.class-page.immersive .class-board{padding:var(--gap) calc(var(--gap) + env(safe-area-inset-right)) var(--gap) calc(var(--gap) + env(safe-area-inset-left))}.class-page.immersive .teacher-presence{width:min(100cqw,177.778cqh);max-width:none;height:auto;max-height:none}.class-page.immersive .class-board .board,.class-page.immersive .teacher-presence{border-radius:clamp(10px,1.6vmin,18px)}@media (aspect-ratio>=4/5) and (height<=520px),(pointer:coarse) and (width<=767px) and (orientation:portrait){.class-page.immersive{--gap:8px}.class-page.immersive .teacher-presence{gap:14px;box-shadow:inset 0 0 0 7px #6d5640,inset 0 0 0 8px #0000004d,inset 0 0 50px #00000059}.class-page.immersive .teacher-presence p{font-size:18px}.class-page.immersive .teacher-orb{width:64px}}@media (aspect-ratio>=2) and (height<=520px),(pointer:coarse) and (width<=767px) and (orientation:portrait) and (aspect-ratio<=1/2){.class-page.immersive>.class-top{z-index:7;pointer-events:none;background:0 0;position:absolute;top:0;left:0;right:0}.class-page.immersive>.class-top>*{pointer-events:auto}.class-page.immersive>.class-top>.grow{pointer-events:none}.class-page.immersive>.class-top .course-chip{display:none}}.class-page.immersive>.class-top{padding:calc(var(--gap) + env(safe-area-inset-top)) calc(var(--gap) + 4px + env(safe-area-inset-right)) 0 calc(var(--gap) + 4px + env(safe-area-inset-left));flex-wrap:nowrap;flex:none;gap:8px;overflow:visible}.class-page.immersive>.class-top>.grow{flex:auto;order:0;min-width:0}.class-page.immersive .class-top .btn{min-height:36px}.class-page.immersive .class-leave{gap:6px;padding:0 14px 0 10px}.class-page.immersive .class-leave .icon{width:18px;height:18px}.class-page.immersive .class-top .btn.round{width:36px;padding:0}.class-page.immersive .course-chip{font-size:var(--fs-sm);color:var(--ink-2);padding:0 4px}.class-more-wrap{flex:none;position:relative}.class-more-wrap:not(:has(.cm-item:not(.hidden):not([style*=none]))){display:none}.class-menu{z-index:30;background:color-mix(in srgb, var(--surface) 82%, transparent);min-width:220px;-webkit-backdrop-filter:var(--glass-fx);backdrop-filter:var(--glass-fx);animation:pop var(--t-fast,.15s) var(--ease-out,ease);border-radius:16px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px -18px #0000008c}.class-menu.hidden{display:none}.cm-item{width:100%;min-height:42px;color:var(--ink);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;padding:0 12px;font-weight:600;display:flex}.cm-item.hidden{display:none}.cm-item .icon{width:18px;height:18px;color:var(--muted)}.cm-item .cm-val{color:var(--muted);margin-left:auto;padding-left:12px;font-weight:500}.cm-item:hover,.cm-item:focus-visible{background:var(--glass-hover);outline:none}.class-page.immersive.class-auto-landscape>.caption{left:50%;bottom:calc(var(--sheet-h,70px) + var(--gap) + 12px);pointer-events:none;z-index:4;width:min(960px,100% - 120px);min-height:0;padding:0;position:absolute;transform:translate(-50%)}@media (pointer:fine){.class-page.immersive.class-auto-landscape{position:relative}}.class-page.immersive .sheet{z-index:6;padding:0 calc(var(--gap) + env(safe-area-inset-right)) calc(var(--gap) + env(safe-area-inset-bottom)) calc(var(--gap) + env(safe-area-inset-left));flex:none;transition:none;position:static;transform:none}.class-page.immersive .sheet>*{max-width:760px}.class-page.immersive .sheet .dock-input{align-items:center;gap:10px}.class-page.immersive .sheet .mic{flex:none;width:52px;height:52px}.class-page.immersive .sheet .field{height:52px;padding-top:0;padding-bottom:0}@media (aspect-ratio>=4/5) and (height<=520px),(pointer:coarse) and (width<=767px) and (orientation:portrait){.class-page.immersive.class-auto-landscape>.caption{left:50%;bottom:calc(var(--sheet-h,56px) + 14px);pointer-events:none;width:calc(100% - 120px);min-height:0;padding:0;position:absolute;transform:translate(-50%)}.class-page.immersive .class-top .btn{min-height:32px;font-size:13px}.class-page.immersive .class-top .btn.round{width:32px}.class-page.immersive .sheet .mic{width:44px;height:44px}.class-page.immersive .sheet .field{height:44px}}@media (pointer:fine) and (aspect-ratio<=6/5){.class-page.immersive.class-auto-landscape{z-index:1;outline:100vmax solid var(--bg);height:min(100dvh,75vw);margin:auto;position:fixed;inset:0}}.class-page.immersive .class-top .btn.round .icon{width:18px;height:18px}.class-page.immersive .class-top .class-more{gap:6px;padding:0 15px 0 12px}.class-page.immersive .class-top .class-more .icon{width:17px;height:17px}.class-page.immersive .class-top .class-more[aria-expanded=true]{background:var(--glass-hover);color:var(--ink)}.class-menu{overscroll-behavior:contain;scrollbar-width:none;max-height:min(440px,100dvh - 90px);overflow-y:auto}@media (pointer:coarse) and (width<=767px) and (orientation:portrait){.class-auto-landscape .class-menu{max-height:calc(100vw - 70px)}}@media (pointer:coarse){.cm-item{min-height:46px}}.cm-switch{background:var(--line-strong);border-radius:999px;flex:none;width:34px;height:20px;margin-left:auto;transition:background-color .2s;position:relative}.cm-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.cm-switch.on{background:var(--brand)}.cm-switch.on:after{transform:translate(14px)}.cm-item.on{background:color-mix(in srgb, var(--brand) 22%, transparent)}.cm-item.on .icon{color:var(--brand-ink)}@media (pointer:fine) and (width>=1100px) and (aspect-ratio>=6/5){.class-page.immersive.class-auto-landscape>.class-top{left:0;right:0;bottom:calc(var(--gap) + env(safe-area-inset-bottom));z-index:7;height:52px;padding:0 calc(var(--gap) + 6px);pointer-events:none;background:0 0;align-items:center;position:absolute}.class-page.immersive.class-auto-landscape>.class-top>*{pointer-events:auto}.class-page.immersive.class-auto-landscape>.class-top>.grow{pointer-events:none}.class-page.immersive.class-auto-landscape .course-chip{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;max-width:calc(50vw - 520px);display:block;overflow:hidden}.class-page.immersive.class-auto-landscape .class-board{padding-top:calc(var(--gap) + env(safe-area-inset-top))}.class-page.immersive.class-auto-landscape .class-menu{top:auto;bottom:calc(100% + 10px)}}
