@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.BQhdFMY1.woff2)format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.DMm9YOAa.woff)format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.BEiXGLvX.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2)format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.CTRA-rTL.woff)format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.CL6g_b3V.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.BsDP51OF.woff)format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.CTYiF6lA.woff2)format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.Dxdc4cR9.woff)format("woff"),url(/_next/static/media/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(/_next/static/media/KaTeX_Main-Bold.Cx986IdX.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.Jm3AIy58.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Bold.waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.SpSLRI95.woff)format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.NWA7e6Wa.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.BMLOBm91.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Italic.3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.B22Nviop.woff2)format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.Dr94JaBh.woff)format("woff"),url(/_next/static/media/KaTeX_Main-Regular.ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.iY-2wyZ7.woff)format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.t53AETM-.woff2)format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.DA0__PXp.woff)format("woff"),url(/_next/static/media/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(/_next/static/media/KaTeX_SansSerif-Bold.D1sUS0GD.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.DbIhKOiC.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.C3H0VqGB.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.DN2j7dab.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2)format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.CS6fqUqJ.woff)format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.D3wIWfF6.woff2)format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.D5yQViql.woff)format("woff"),url(/_next/static/media/KaTeX_Script-Regular.C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.mCD8mA8B.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.C195tn64.woff)format("woff"),url(/_next/static/media/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(/_next/static/media/KaTeX_Size2-Regular.Dy4dx90m.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.oD1tc_U0.woff)format("woff"),url(/_next/static/media/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(/_next/static/media/KaTeX_Size3-Regular.CTq5MqoE.woff)format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.Dl5lxZxV.woff2)format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.BF-4gkZK.woff)format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.CO6r4hn1.woff2)format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.C0xS9mPB.woff)format("woff"),url(/_next/static/media/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.1"}.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}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--color-black:#000;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-1\/2{top:50%}.right-2{right:calc(var(--spacing) * 2)}.bottom-0{bottom:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-42{margin:calc(var(--spacing) * 42)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.my-1{margin-block:var(--spacing)}.mt-4{margin-top:calc(var(--spacing) * 4)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1{height:var(--spacing)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-full{height:100%}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.w-\(--anchor-width\){width:var(--anchor-width)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.animate-caret-blink{animation:1.25s ease-out infinite caret-blink}.cursor-default{cursor:default}.resize{resize:both}.scroll-my-1{scroll-margin-block:var(--spacing)}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-border{background-color:var(--border)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[3px\]{padding:3px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-1000{--tw-duration:1s;transition-duration:1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}:is(:where(.group\/alert-dialog-content)[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid){display:grid}:is(:where(.group\/alert-dialog-content)[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2){grid-template-columns:repeat(2,minmax(0,1fr))}:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:bg-transparent){background-color:#0000}:is(:where(.group\/tabs):where([data-orientation=horizontal]) .group-data-horizontal\/tabs\:h-8){height:calc(var(--spacing) * 8)}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:h-fit){height:fit-content}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:w-full){width:100%}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:flex-col){flex-direction:column}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:justify-start){justify-content:flex-start}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:is(:where(.group\/tabs):where([data-orientation=horizontal]) .group-data-horizontal\/tabs\:after\:inset-x-0):after{content:var(--tw-content);inset-inline:0}:is(:where(.group\/tabs):where([data-orientation=horizontal]) .group-data-horizontal\/tabs\:after\:bottom-\[-5px\]):after{content:var(--tw-content);bottom:-5px}:is(:where(.group\/tabs):where([data-orientation=horizontal]) .group-data-horizontal\/tabs\:after\:h-0\.5):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:after\:inset-y-0):after{content:var(--tw-content);inset-block:0}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:after\:-right-1):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}:is(:where(.group\/tabs):where([data-orientation=vertical]) .group-data-vertical\/tabs\:after\:w-0\.5):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.first\:rounded-l-lg:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.first\:border-l:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.last\:rounded-r-lg:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus,:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}:is(.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.has-aria-invalid\:border-destructive:has([aria-invalid=true]){border-color:var(--destructive)}.has-aria-invalid\:ring-3:has([aria-invalid=true]){--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.has-aria-invalid\:ring-destructive\/20:has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-4:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:var(--ring)}.data-\[active\=true\]\:ring-3[data-active=true]{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.data-\[active\=true\]\:aria-invalid\:border-destructive[data-active=true][aria-invalid=true]{border-color:var(--destructive)}.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[active\=true\]\:aria-invalid\:ring-destructive\/20[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start],.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-8[data-size=default]{height:calc(var(--spacing) * 8)}.data-\[size\=default\]\:max-w-\[calc\(100vw-32px\)\][data-size=default]{max-width:calc(100vw - 32px)}.data-\[size\=default\]\:max-w-xs[data-size=default]{max-width:var(--container-xs)}.data-\[size\=sm\]\:h-7[data-size=sm]{height:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-1\.5>*)[data-slot=select-value]{gap:calc(var(--spacing) * 1.5)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );backdrop-filter:var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, )}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:is(:where(.group\/alert-dialog-content)[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2){grid-row:span 2/span 2}:is(:where(.group\/alert-dialog-content)[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start){place-items:start}:is(:where(.group\/alert-dialog-content)[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left){text-align:left}:is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) :is(:where(.group\/alert-dialog-content)[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2)){grid-column-start:2}:is(:where(.group\/alert-dialog-content)[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}.data-\[size\=default\]\:sm\:max-w-md[data-size=default]{max-width:var(--container-md)}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:var(--container-sm)}}@media (min-width:48rem){.md\:text-pretty{text-wrap:pretty}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:has-aria-invalid\:ring-destructive\/40:is(.dark *):has([aria-invalid=true]){--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[active\=true\]\:aria-invalid\:ring-destructive\/40:is(.dark *)[data-active=true][aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}:is(:where(.group\/tabs-list)[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent):where([data-active]:not([data-active=false])){background-color:#0000}:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}:is(:where(.group\/tabs-list)[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *)):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *)):where([data-active]:not([data-active=false])){border-color:#0000}:is(:where(.group\/tabs-list)[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *)):where([data-state=active]),:is(:where(.group\/tabs-list)[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *)):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:#f6f7fb;--foreground:#20223c;--card:#fff;--card-foreground:#20223c;--popover:#fff;--popover-foreground:#20223c;--primary:#7050d8;--primary-foreground:#fff;--secondary:#ece9fa;--secondary-foreground:#5937b6;--muted:#f0f1f7;--muted-foreground:#707289;--accent:#eeebfc;--accent-foreground:#5b38b7;--destructive:#bb3449;--border:#e3e4ef;--input:#dcddea;--ring:#9579e5;--radius:.75rem;--font-geist-sans:Arial, Helvetica, sans-serif;--font-geist-mono:Consolas, monospace}.teacher-account-shell{max-width:960px;margin:0 auto;padding:28px 20px 64px}.teacher-account-shell>header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.teacher-account-card{background:var(--card);border:1px solid var(--border);border-radius:20px;width:min(100%,480px);margin:0 auto;padding:clamp(20px,4vw,36px)}.teacher-account-card h1{margin:0 0 24px;font-size:28px}.teacher-account-card form{gap:18px;margin-top:22px;display:grid}.teacher-account-card label{gap:8px;font-size:16px;font-weight:600;display:grid}.teacher-account-card input{width:100%;min-width:0;padding:12px 14px;font-size:16px;font-weight:400;display:block}.teacher-account-card .account-hint{color:var(--muted-foreground);margin:-12px 0 0;font-size:14px}.account-links{gap:16px;margin-top:24px;font-size:15px;display:grid}.account-links a{color:var(--primary)}.account-success{color:#205b33;background:#e9f7ed;border-radius:10px;padding:12px}.dashboard-profile>button{color:inherit;cursor:pointer;background:0 0;border:0;padding:8px}.dark{--background:#19192b;--foreground:#f5f4fd;--card:#232338;--card-foreground:#f5f4fd;--popover:#232338;--popover-foreground:#f5f4fd;--primary:#ac90ff;--primary-foreground:#171126;--secondary:#383049;--secondary-foreground:#ddd0ff;--muted:#29283c;--muted-foreground:#b6b2c9;--accent:#40305b;--accent-foreground:#eee4ff;--border:#4b4660;--input:#4b4660;--ring:#ad94f3}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.1px;font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.25}h2{font-size:22px;font-weight:600;line-height:1.4}h3{font-size:22px;font-weight:600;line-height:1.35}:is(button:focus-visible,a:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}input,textarea{border:1px solid var(--input);color:#22233b;background:#fff;border-radius:10px;outline:none;width:100%;padding:12px 14px}input:focus,textarea:focus{border-color:#8862df;box-shadow:0 0 0 3px #8862df19}textarea{resize:vertical}label{margin-bottom:8px;font-size:14px;font-weight:650;display:block}label input,label textarea{margin-top:8px;display:block}svg{flex-shrink:0}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e8e9f1;justify-content:space-between;align-items:center;gap:20px;height:92px;padding:0 max(32px,50vw - 620px);display:flex}.brand{letter-spacing:-1.5px;align-items:center;gap:10px;font-size:28px;font-weight:600;line-height:1;display:flex}.brand-play{color:#7854d8;margin-left:4px}.brand small{color:#7b7c91;margin-top:7px;font-size:10px;font-weight:600;display:block}.brand-icon{color:#fff;background:#7650d4;border-radius:13px;place-items:center;width:42px;height:42px;display:grid;transform:rotate(-7deg)}.header-right{align-items:center;gap:27px;display:flex}.avatar{color:#7150bf;background:#ece7fa;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:600;display:grid}.button{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);box-shadow:0 3px 0 var(--primary-shadow);border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:15px;font-weight:600;line-height:1.4;transition:background .15s,transform .15s;display:inline-flex}.button:hover:not(:disabled){background:var(--primary-text);transform:translateY(-1px)}.button-outline{background:var(--surface);color:var(--primary-text);border-color:var(--input);box-shadow:none}.button-outline:hover:not(:disabled){background:var(--quiz-bg)}.button-soft{background:var(--primary-soft);color:var(--primary-text);border-color:var(--primary-soft);box-shadow:none}.button-soft:hover:not(:disabled){background:var(--accent);border-color:var(--border-hover)}.button-small{border-radius:12px;padding:9px 13px;font-size:14px}.main-content{width:calc(100% - 64px);max-width:1240px;margin:0 auto;padding:42px 0 45px}.eyebrow{color:var(--muted-foreground);margin-bottom:8px;font-size:12px;font-weight:600}.muted{color:var(--muted-foreground)}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.count{color:#9290a8;background:#ebeaf3;border-radius:8px;justify-content:center;align-items:center;min-width:24px;height:24px;margin-left:7px;font-size:13px;font-weight:650;display:inline-flex}.field-select{min-width:145px;background:#fff!important;border-radius:9px!important;height:44px!important;padding:10px 13px!important;font-size:14px!important}.signin-note{color:#777286;background:#fff;border:1px solid #e4e4ef;border-radius:10px;align-items:center;gap:12px;margin-bottom:20px;padding:14px 17px;font-size:14px;display:flex}.signin-note a{color:#6e43ca;text-underline-offset:3px;text-decoration:underline}.button-danger{background:var(--danger);border-color:var(--danger);box-shadow:0 3px 0 var(--danger-strong)}.button-danger:hover{background:var(--danger-strong)}.icon-button{color:#9892aa;background:#fff;border:1px solid #e4e2ed;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.exam-lobby{border:1px solid var(--border);background:#fff;border-radius:16px;grid-template-columns:minmax(220px,.8fr) 1.4fr;align-items:center;gap:24px;padding:28px;display:grid}.exam-lobby-copy{gap:10px;display:grid}.exam-lobby-copy h2{margin:0}.exam-lobby-copy p{color:#858197;margin:0}.exam-summary{color:#716a85;flex-wrap:wrap;grid-column:1/-1;gap:16px;font-size:14px;display:flex}.exam-summary strong{color:#7650d4}.exam-monitor{border:1px solid var(--border);background:#fff;border-radius:16px;padding:24px}.exam-monitor .section-heading{flex-wrap:wrap;gap:16px}.exam-student-status{color:#716a85;background:#f3f0f8;border-radius:8px;padding:5px 9px;font-size:14px;display:inline-block}.exam-student-status.is-submitted{color:#24634e;background:#e8f6ef}.game-shell.is-sitting>.topbar,.game-shell.is-sitting .game-heading,.game-shell.is-sitting .game-toolbar{display:none}.game-shell.is-sitting{background:#fff;min-height:100dvh}.game-shell.is-sitting>.game-content{width:100%;max-width:none;margin:0;padding:0}.exam-question-stage{background:#fff;container:exam-stage/inline-size}.exam-bar{z-index:20;border-bottom:1px solid var(--border);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:8px max(16px,50% - 576px) 0;display:grid;position:sticky;top:0}.exam-bar-title{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:600;display:none;overflow:hidden}.exam-bar .timer-display{white-space:nowrap;font-variant-numeric:tabular-nums;justify-self:start;min-width:0;padding:6px 10px;font-size:16px}.exam-sheet-toggle{border:1px solid var(--border);min-height:44px;color:var(--foreground);white-space:nowrap;font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.exam-sheet-toggle svg{transition:transform .15s}.exam-sheet-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.exam-bar .question-progress{grid-column:1/-1;margin:0;height:3px!important}.exam-layout{grid-template-columns:minmax(0,1fr);max-width:1184px;margin:0 auto;display:grid}.exam-sheet{background:var(--primary-soft);border-bottom:1px solid var(--border);gap:12px;padding:16px;display:none}.exam-sheet.is-open{display:grid}.exam-sheet nav{gap:8px;min-width:0;display:grid}.exam-sheet-who{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin:0;font-size:14px;display:flex}.exam-sheet-who b{font-weight:600}.exam-sheet-who span,.exam-sheet-hint,.exam-sheet-count{color:#5f6079}.exam-sheet-hint,.exam-sheet-count{margin:0;font-size:14px}.exam-question-numbers{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;display:grid}.exam-question-number{min-height:44px;color:var(--foreground);font-variant-numeric:tabular-nums;background:#fff;border:1px solid #c9c5d7;border-radius:999px;padding:0;font-size:15px}.exam-question-number.is-answered{border-color:var(--primary);background:var(--primary);color:#fff}.exam-question-number.is-current{outline:3px solid var(--foreground);outline-offset:2px;font-weight:600}.exam-question-number:disabled{cursor:default}.exam-sheet>.button{justify-content:center;width:100%}.exam-work{flex-direction:column;gap:12px;min-width:0;min-height:calc(100dvh - 64px);padding:16px;display:flex}.exam-work-meta{color:#5f6079;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:14px;display:flex}.exam-question-stage .question-text,.exam-question-stage .question-text.is-long{letter-spacing:0;text-align:start;max-width:72ch;margin:0;padding:0;font-size:clamp(18px,2.4cqi,22px);font-weight:600;line-height:1.45;display:block}.exam-question-stage .question-text .formatted-blocks{font-size:17px;font-weight:500}.exam-answers{gap:8px;display:grid}.exam-question-stage .answer-button{border:2px solid var(--border);min-height:56px;color:var(--foreground);box-shadow:none;background:#fff;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:16px;font-weight:500;transition:border-color .15s,background-color .15s}.exam-question-stage .answer-button svg{color:var(--primary);flex:none}.exam-question-stage .answer-button.chosen-answer{border-color:var(--primary);background:var(--primary-soft);box-shadow:none}.exam-question-stage .answer-button:hover:not(:disabled){filter:none;transform:none}@media (hover:hover){.exam-question-stage .answer-button:hover:not(:disabled){border-color:var(--primary)}}.exam-question-stage .answer-button:focus-visible{outline:3px solid var(--foreground);outline-offset:2px}.exam-question-stage .submitted-note{color:#24634e;justify-content:flex-start;margin:0;padding:8px 12px;font-size:14px}.exam-question-stage .text-question-answer{margin:0}.game-shell .exam-question-stage .text-question-answer :is(input,textarea){font-size:16px}.exam-question-stage .matching-columns{margin:0}.exam-question-stage .matching-columns p>:first-child{flex:none}.exam-question-stage .matching-selects{padding:0}.exam-question-stage .matching-pair{flex:100%}.exam-question-stage .matching-pair .field-select{flex:1;width:auto;font-size:16px}.exam-pager{z-index:10;padding:8px 16px max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;grid-template-columns:1fr 1fr;gap:8px;margin:auto -16px -16px;display:grid;position:sticky;bottom:0}.exam-pager .button{justify-content:center;min-height:48px}@container exam-stage (width>=560px){.exam-bar{grid-template-columns:minmax(0,1fr) auto auto}.exam-bar-title{display:block}}@container exam-stage (width>=900px){.exam-layout{grid-template-columns:minmax(0,1fr) 296px;gap:32px;padding:0 16px}.exam-sheet,.exam-sheet.is-open{border:1px solid var(--border);border-radius:12px;order:2;align-self:start;margin-top:16px;display:grid;position:sticky;top:76px}.exam-work{min-height:0;padding:16px 0 32px}.exam-sheet-toggle{display:none}.exam-bar .timer-display{font-size:18px}.exam-pager{border:0;margin:12px 0 0;padding:0;position:static}}@media (max-height:500px){.exam-bar{position:static}.exam-work{min-height:0}.exam-pager{position:static}.exam-question-stage .answer-button{min-height:48px;padding:8px 12px}}.exam-results-stage{max-width:850px;margin:0 auto}.error-note{color:#a72f43;background:#fff0f2;border:1px solid #f0c5cd;border-radius:10px;margin:12px 0;padding:13px 16px;font-size:14px}.required{color:#bd485d}.back-button{color:#807592;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:15px;padding:0;font-size:14px;display:inline-flex}.loading-line{color:var(--muted-foreground);align-items:center;gap:10px;padding:30px;display:flex}.spin-icon{animation:1s linear infinite spinner}@keyframes spinner{to{transform:rotate(360deg)}}.active-rooms{margin:25px 0}.answer-history{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:24px;padding:20px}.answer-history summary{cursor:pointer;padding:8px 0;font-weight:600}.autosave-note{color:var(--muted-foreground);margin:-.5rem 0 0;font-size:14px}@media (max-width:767px){.answer-history{padding:16px}}.active-rooms h2{margin-bottom:12px}.active-room-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin:8px 0;display:grid}.active-rooms a{background:#fff;border:1px solid #e4e2ef;border-radius:10px;align-items:center;gap:20px;padding:15px 20px;font-size:14px;display:flex}.active-room-link{min-width:0}.active-rooms a strong{flex:1}.active-rooms a b{letter-spacing:2px;color:#7553c5}.active-room-delete{color:#a06b89;cursor:pointer;background:#fff;border:1px solid #e4e2ef;border-radius:10px;place-items:center;width:46px;display:grid}.active-room-delete:hover{color:#c34f73;background:#fff7fa;border-color:#e1a9bb}.active-room-delete:disabled{cursor:wait;opacity:.6}.active-rooms-more{margin:15px auto 0}.student-shell{background:#efebfa;min-height:100vh}.join-stage,.join-tab{background:#efebfa;justify-content:center;min-height:calc(100vh - 93px);padding:45px 24px 65px;display:flex}.join-panel{text-align:center;background:#fff;border-radius:24px;align-self:flex-start;width:440px;max-width:100%;padding:32px 37px;box-shadow:0 13px 50px #5436800a}.join-symbol{color:#9571db;margin-bottom:20px;font-size:45px;line-height:1;display:block}.join-panel h1{font-size:32px}.join-panel>.muted{margin-top:10px;font-size:14px}.join-panel>.join-card-hint{color:#807592;margin-top:6px;font-size:14px}.join-card-hint a{color:#6843bb;font-weight:600}.join-card-hint a:hover{text-decoration:underline}.join-panel form{text-align:left;margin-top:26px}.join-panel form>label{margin-top:17px}.join-panel .field-select{width:100%}.code-input{text-align:center;letter-spacing:8px;background:#f6f4fc;padding:13px;font-size:28px;font-weight:600}.join-submit{width:100%;min-height:49px;margin-top:24px}.join-footnote{color:#9790a6;text-align:left;justify-content:center;gap:6px;margin-top:22px;font-size:12px;display:flex}.wheel-layout{background:#fff;border:1px solid #e1e1ef;border-radius:18px;grid-template-columns:1fr 360px;align-items:start;gap:60px;padding:40px;display:grid}.wheel-stage{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.wheel-disc{border:10px solid #f4f0fc;border-radius:50%;flex-shrink:0;width:360px;height:360px;transition:transform 4.2s cubic-bezier(.12,.72,.12,1);position:relative;box-shadow:0 0 0 2px #e1d8f4,0 12px 24px #56368112}.wheel-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:124px;font-weight:600;position:absolute;top:50%;left:50%;overflow:hidden}.wheel-hub{background:#fff;border:7px solid #fff7;border-radius:50%;width:43px;height:43px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 12px #27134330}.wheel-pointer{z-index:2;border-top:27px solid #36204f;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;top:-7px}.wheel-spin{min-width:210px;margin-top:30px}.wheel-result{text-align:center;min-height:97px;margin-top:19px}.wheel-result strong{overflow-wrap:anywhere;margin:4px 0;font-size:24px;display:block}.wheel-result small{color:#9e8eb9;letter-spacing:1px;font-size:11px}.wheel-result p{color:#a18eae;font-size:14px}.wheel-editor{border-left:1px solid #eeebf4;padding-left:30px}.wheel-editor label{color:#8e859d;font-size:13px}.field-hint{color:#9b92a9;margin:12px 0;font-size:13px;line-height:1.7}.room-wheel{background:#faf8ff;padding:20px;display:block}@media (min-width:1450px){.main-content{padding-top:48px}}@media (max-width:1050px){.wheel-layout{grid-template-columns:1fr 300px;gap:25px;padding:30px}.wheel-disc{width:310px;height:310px}.wheel-label{max-width:95px}.main-content{width:calc(100% - 48px)}}@media (max-width:760px){.topbar{height:auto;min-height:82px;padding:18px 20px}.header-right{gap:10px}.brand{font-size:24px}.brand small{font-size:10px}.button-small{padding:9px;font-size:12px}.exam-lobby{grid-template-columns:1fr}.main-content{width:calc(100% - 36px);padding-top:26px}.wheel-layout{grid-template-columns:1fr;padding:28px 15px}.wheel-editor{border-left:0;border-top:1px solid var(--border);padding:23px 0 0}.wheel-disc{width:300px;height:300px}.wheel-label{transform-origin:50%;max-width:90px}.join-panel{padding:28px 24px}.active-rooms a{flex-wrap:wrap;gap:10px}.active-room-delete{width:42px}.active-rooms a strong{min-width:60%}}@media (max-width:430px){.section-heading h2{font-size:18px}.section-heading .field-select{min-width:113px;font-size:12px!important}.join-tab,.join-stage{padding:24px 15px}.wheel-disc{width:270px;height:270px}.wheel-label{max-width:69px}.brand-icon{width:34px;height:34px}.button-small svg{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.wheel-disc{transition-duration:.01ms}.button{transition:none}.spin-icon{animation:none}}.game-shell{min-height:100vh}.game-content{max-width:1120px}.game-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.game-heading h1{letter-spacing:-.5px;font-size:28px}.room-grade{color:#7351b6;background:#ede8fa;border-radius:8px;padding:5px 12px;font-size:14px;font-weight:600}.small-code{color:#9b92a8;font-size:13px}.small-code b{color:#645578;letter-spacing:2px;margin-left:6px;font-size:18px}.player-name{align-items:center;gap:15px;font-size:14px;display:flex}.player-name b{color:#7a55c3;background:#f0e9fa;border-radius:8px;padding:5px 10px}.connection-status{color:#7daf9c;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.game-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.game-toolbar>.muted{align-items:center;gap:7px;font-size:14px;display:flex}.game-nav{background:#eae6f3!important;height:43px!important;padding:4px!important}.game-nav [data-slot=tabs-trigger]{gap:7px!important;padding:7px 13px!important;font-size:14px!important}.lobby-layout{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}.lobby-main{border:1px solid var(--border);text-align:center;background:#fff;border-radius:16px;overflow:hidden}.lobby-code-block{color:#fff;background:#704bc7;flex-direction:column;align-items:center;padding:30px 25px 27px;display:flex}.lobby-code-block>p{letter-spacing:2px;color:#e1d7fb;font-size:13px;font-weight:600}.lobby-code{letter-spacing:6px;font-variant-numeric:tabular-nums;font-size:clamp(42px,6vw,72px);font-weight:600;line-height:1.5}.lobby-code-block>span{color:#e0d4f8;font-size:14px}.copy-button{color:#fff;background:#ffffff10;border:1px solid #fff5;border-radius:8px;align-items:center;gap:6px;margin-top:19px;padding:8px 12px;font-size:13px;display:flex}.lobby-bottom{padding:27px 30px 30px}.lobby-bottom p{color:#9c90ad;margin-top:7px;font-size:14px}.lobby-bottom .button{min-width:230px;margin-top:23px}.lobby-bottom small{color:#a69bb5;margin-top:24px;font-size:12px;display:block}.lobby-roster{border:1px solid var(--border);background:#fff;border-radius:16px;padding:25px}.participants{gap:12px;max-height:450px;display:grid;overflow-y:auto}.participants>div{background:#f8f7fc;border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}.participants strong{overflow-wrap:anywhere;flex:1;font-size:14px}.participants svg{color:#75b19e}.participant-avatar{border-radius:10px;place-items:center;width:36px;height:36px;font-size:15px;font-weight:600;display:grid}.color-0{color:#9370b3;background:#efe6fa}.color-1{color:#6594bb;background:#e3effa}.color-2{color:#b79755;background:#faeddd}.color-3{color:#63977d;background:#e4f5ec}.roster-empty{text-align:center;color:#b2a6c0;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:200px;font-size:15px;display:flex}.waiting-dots{justify-content:center;gap:8px;margin:30px;display:flex}.waiting-dots span{background:#b095dc;border-radius:50%;width:9px;height:9px;animation:1.5s ease-in-out infinite pulse}.waiting-dots span:nth-child(2){animation-delay:.2s}.waiting-dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{50%{opacity:.5}}.question-stage{border:1px solid var(--border);background:#fff;border-radius:16px;padding:25px 30px}.question-topline{color:#9f92ad;justify-content:space-between;align-items:center;font-size:14px;display:flex}.timer-display{color:#7751bd;background:#f1eafa;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-width:100px;padding:7px 13px;font-size:20px;font-weight:600;display:flex}.timer-urgent{color:#c54154;background:#fff0f1}.question-progress{margin:20px 0 5px;height:5px!important}.question-text{text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;max-width:920px;min-height:0;margin:22px auto;padding:0 8px;font-size:clamp(24px,3.2vw,37px);line-height:1.45;display:flex}.formatted-text{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;min-width:0}.question-text .formatted-text{text-align:start}.formatted-blank{text-align:center;white-space:nowrap;border-bottom:2px solid;min-width:3.2em;margin:0 .2em;line-height:1.1;display:inline-block}.formatted-blank b{background:var(--quiz-bg,#f1eefb);min-width:1.6em;color:var(--quiz-fg,#4b2fc0);vertical-align:.2em;border-radius:999px;padding:0 .4em;font-size:.7em;font-weight:600;line-height:1.5;display:inline-block}.formatted-math,.formatted-math-block{white-space:normal}.formatted-math-block{max-width:100%;display:block;overflow-x:auto}.formatted-text .katex{font-size:1.1em}.answer-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.answer-button{color:#fff;text-align:left;border:3px solid #0000;border-radius:12px;justify-content:flex-start;align-items:flex-start;gap:20px;min-height:84px;padding:16px 18px 24px;font-size:18px;font-weight:600;line-height:1.4;display:flex;position:relative;box-shadow:0 4px #0002}.answer-color-0{background:#ce5268}.answer-color-1{background:#487ebe}.answer-color-2{background:#b88624}.answer-color-3{background:#399479}.answer-shape{flex-shrink:0;font-size:28px}.answer-button>span:nth-child(2){overflow-wrap:anywhere;flex:1}.answer-button .formatted-text{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0}.answer-button:disabled{opacity:1;cursor:default}.answer-button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}.answer-button small{color:#fff9;font-size:11px;position:absolute;bottom:7px;right:15px}.answer-button.chosen-answer{border-color:#312039;box-shadow:0 0 0 3px #c3a9d5}.answer-button.correct-answer{border-color:#164d30;box-shadow:0 0 0 3px #74c894}.answer-button.dim-answer{opacity:.35}.submitted-note{color:#488e71;background:#f0f8f5;border-radius:8px;justify-content:center;align-items:center;gap:10px;margin-top:23px;padding:17px;font-size:15px;display:flex}.host-controls{border-top:1px solid #ede7f4;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:22px;display:flex}.host-controls>span{color:#a99db5;font-size:12px}.explanation-block{color:#7d6d8c;background:#f7f4fc;border-radius:12px;margin-top:24px;padding:20px 24px;font-size:16px}.explanation-block strong{align-items:center;gap:10px;margin-bottom:10px;display:flex}.explanation-block strong svg{width:22px}.student-wait-note{text-align:center;color:#aaa0b6;margin-top:22px;font-size:14px}.countdown-stage{color:#8555cd;flex-direction:column;justify-content:center;align-items:center;height:300px;display:flex}.countdown-stage strong{font-size:110px;line-height:1.3}.countdown-stage p{font-size:22px}.leaderboard-panel,.results-stage,.room-wheel-wrapper{border:1px solid var(--border);background:#fff;border-radius:16px;padding:28px}.leaderboard-panel h2{align-items:center;gap:10px;display:flex}.leaderboard-table th{color:#a79ab5;height:44px;font-size:13px}.leaderboard-table td{border-bottom:1px solid #f1edf7;padding-top:15px;padding-bottom:15px;font-size:16px}.leaderboard-table td strong{white-space:normal;overflow-wrap:anywhere;font-size:15px}.leaderboard-table tr:last-child td{border:0}.score-cell{text-align:right;font-variant-numeric:tabular-nums;color:#7d56bc;font-weight:600!important}.rank-number{color:#a399b0;background:#f5f2f9;border-radius:8px;place-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:grid}.rank-0{color:#b88529;background:#fbefcd}.rank-1{color:#8d939f;background:#eef0f4}.rank-2{color:#b48c6e;background:#f5eadd}.my-rank{background:#f3edfb}.you-badge{color:#9a78bf;margin-left:10px;font-size:11px}.results-stage{text-align:center;padding:35px}.results-trophy{color:#c39c45;background:#fcf2d6;border-radius:50%;margin:0 0 20px;padding:21px;display:inline-flex}.results-stage h2{font-size:32px}.winner-name{color:#7955bd;margin:16px 0 28px;font-size:28px}.winner-name span{color:#aa96bf;margin-top:5px;font-size:16px;display:block}.results-stage .leaderboard-table{text-align:left;max-width:800px;margin:auto}.results-stage>a{margin-top:25px}.room-wheel-wrapper>.section-heading p{margin-top:7px;font-size:14px}.invite-otp{justify-content:center;gap:10px;margin:10px 0 6px;display:flex}.invite-otp [data-slot=input-otp-slot]{background:#f7f4fc;width:44px;height:57px;font-size:28px;font-weight:600}.invite-otp>span{color:#b6a4ca}@media (max-width:760px){.game-heading{align-items:flex-start}.game-heading h1{font-size:24px}.connection-status{font-size:11px}.game-toolbar{flex-direction:column;align-items:flex-start}.game-nav{width:100%;justify-content:space-between!important}.game-nav [data-slot=tabs-trigger]{padding:8px!important;font-size:12px!important}.game-nav svg{width:15px}.lobby-layout{grid-template-columns:1fr}.lobby-code{font-size:60px}.small-code{display:none}.game-content{padding-top:23px}.question-stage{padding:18px}.question-text{margin:24px auto;font-size:24px}.answer-button{gap:10px;min-height:115px;padding:17px 13px 28px;font-size:15px}.answer-shape{font-size:22px}.answer-grid{gap:11px}.question-topline{font-size:12px}.timer-display{min-width:80px;font-size:16px}.host-controls{flex-direction:column;align-items:stretch}.host-controls>span{text-align:center}.leaderboard-panel,.results-stage,.room-wheel-wrapper{padding:20px}.leaderboard-panel .section-heading>.muted,.room-grade{font-size:12px}.player-name{flex-direction:column;align-items:flex-end;gap:7px;font-size:12px}.leaderboard-table td,.leaderboard-table td strong{font-size:14px}.game-heading .connection-status{display:none}.game-shell .topbar{padding:15px 18px}.invite-otp{gap:6px}.invite-otp [data-slot=input-otp-slot]{width:38px}}@media (max-width:380px){.invite-otp [data-slot=input-otp-slot]{width:32px}.answer-grid{grid-template-columns:1fr}.lobby-code{font-size:49px}.room-grade{display:none}}.teacher-dashboard{background:#f6f7fb;grid-template-columns:246px minmax(0,1fr);min-height:100vh;display:grid}.dashboard-sidebar{background:#edf0fc;border-right:1px solid #e3e6f2;flex-direction:column;height:100vh;padding:32px 18px 22px;display:flex;position:sticky;top:0}.dashboard-sidebar .brand{gap:9px;padding:0 8px;font-size:24px}.dashboard-sidebar .brand small{font-size:10px}.dashboard-sidebar .brand-icon{width:37px;height:37px}.sidebar-caption{color:#777e96;margin:46px 14px 15px;font-size:10px;font-weight:600}.dashboard-nav{background:0 0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:7px;width:100%;height:auto;padding:0;display:flex}.dashboard-nav [role=tab]{color:#66708a;white-space:normal;text-align:left;border-radius:12px;flex:none;justify-content:flex-start;gap:12px;height:auto;min-height:48px;padding:12px 14px;font-size:14px;font-weight:600}.dashboard-nav [role=tab] svg{width:20px;height:20px}.dashboard-nav [role=tab][data-active]{color:#704dca;background:#fff;box-shadow:0 3px 12px #26336208}.dashboard-profile{border-top:1px solid #dce0f0;align-items:center;gap:10px;margin-top:auto;padding:22px 5px 0;display:flex}.dashboard-profile .avatar{background:#e0d8f8;flex-shrink:0;width:38px;height:38px}.dashboard-profile>div{flex:1;min-width:0}.dashboard-profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.dashboard-profile small{color:#80879c;margin-top:3px;font-size:12px;display:block}.dashboard-profile a{color:#727b95;border-radius:8px;padding:8px}.ai-settings p{margin:0 0 14px;line-height:1.55}.ai-settings code{overflow-wrap:anywhere}.ai-settings select{width:100%;min-width:0;padding:12px 14px;font-size:16px;font-weight:400;display:block}.ai-settings form .button{justify-self:start}.ai-settings .account-success{margin-bottom:16px;display:block}.ai-settings hr{border:0;border-top:1px solid var(--border);margin:22px 0}.ai-confirm-code strong{letter-spacing:3px;margin-top:4px;font-family:ui-monospace,monospace;font-size:28px;display:block}.ai-steps{gap:12px;margin:16px 0 0;padding-left:22px;line-height:1.55;list-style:decimal;display:grid}.ai-waiting{margin-top:14px;line-height:1.55;display:block}.ai-install{margin-top:20px}.ai-history{margin-top:24px}.ai-history-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ai-history-head h2{margin:0;font-size:20px}.ai-history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ai-history-list li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.ai-history-list a{color:var(--primary)}.ai-command{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.ai-settings .error-note{margin-top:14px;line-height:1.55}.ai-install summary{cursor:pointer;font-weight:600}.ai-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.dashboard-profile a:hover{color:#704dca;background:#fff}.dashboard-profile>.teacher-profile-trigger{color:#273047;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;width:100%;height:auto;padding:10px;display:flex}.teacher-profile-trigger:hover,.teacher-profile-trigger[data-popup-open]{background:#e7e6f3}.teacher-profile-name{flex:1;min-width:0}.teacher-profile-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;display:block;overflow:hidden}.teacher-profile-name small{color:#81818c;margin-top:3px;font-size:13px;display:block}.teacher-profile-positioner{z-index:100}.teacher-profile-popup{width:min(300px,100vw - 24px);max-height:min(580px, var(--available-height));color:#24242a;background:#fff;border:1px solid #e8e8ed;border-radius:24px;padding:10px;font-size:15px;overflow-y:auto;box-shadow:0 10px 38px #28203b24}.teacher-profile-popup .avatar{color:#7550ce;background:#e8defa;flex-shrink:0;width:36px;height:36px}.teacher-profile-menu-header{color:inherit;border-radius:12px;align-items:center;gap:10px;padding:12px 10px;display:flex}.teacher-profile-popup hr{border:0;border-top:1px solid #e6e6e9;margin:9px 7px}.teacher-profile-item{width:100%;min-height:46px;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 13px;line-height:1.4;text-decoration:none;display:flex}.teacher-profile-item svg,.teacher-profile-trigger>svg{flex-shrink:0}.teacher-profile-item:hover,.teacher-profile-menu-header:hover{background:#f3f3f5}:is(.teacher-profile-item:focus-visible,.teacher-profile-trigger:focus-visible,.teacher-profile-menu-header:focus-visible){outline-offset:2px;outline:2px solid #8055dc}.teacher-profile-logout{background:#f5f5f6}.teacher-profile-logout:disabled{opacity:.6;cursor:wait}.teacher-profile-help summary{list-style:none}.teacher-profile-help summary::-webkit-details-marker{display:none}.teacher-help-chevron{margin-left:auto}.teacher-profile-help[open] .teacher-help-chevron{transform:rotate(90deg)}.teacher-profile-help>div{color:#666775;padding:0 12px 10px;font-size:13px;line-height:1.6}.teacher-profile-help p{margin:8px 0}.teacher-profile-error{color:#b42338;padding:10px;font-size:13px}#display-name,#account-security{scroll-margin-top:32px}.dashboard-main{width:100%;min-width:0;max-width:1560px;margin:0 auto;padding:36px clamp(22px,3vw,48px) 48px}.dashboard-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.dashboard-header .eyebrow{margin-bottom:7px;font-size:10px}.dashboard-header h1{letter-spacing:-.6px;font-size:clamp(24px,2.2vw,32px);line-height:1.3}.dashboard-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.dashboard-header-actions .button{border-radius:12px;min-height:44px;padding:11px 17px;font-size:14px}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.dashboard-stat{background:#fff;border:1px solid #e7e8f1;border-radius:16px;flex-direction:column;align-items:flex-start;min-width:0;padding:20px;display:flex;box-shadow:0 4px 12px #28325103}.stat-icon{color:#7954cc;background:#f0eafa;border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:16px;display:grid}.dashboard-stat:nth-child(2) .stat-icon{color:#527fc1;background:#eaf1fc}.dashboard-stat:nth-child(3) .stat-icon{color:#408f7d;background:#e5f4ef}.dashboard-stat:nth-child(4) .stat-icon{color:#b58338;background:#fff3e4}.dashboard-stat>span:not(.stat-icon){color:#69738a;font-size:13px}.dashboard-stat>strong{margin:9px 0 7px;font-size:32px;font-weight:600;line-height:1.2}.dashboard-stat>small{color:#9298a9;font-size:11px}.teacher-dashboard .dashboard-panel{background:#fff;border:1px solid #e7e8f1;border-radius:16px;margin:24px 0 0;padding:22px}.dashboard-main>[role=tabpanel]:not([hidden])>.dashboard-panel:first-child{margin-top:0}.teacher-dashboard .section-heading{gap:12px;margin-bottom:17px}.teacher-dashboard .section-heading h2{margin:0;font-size:18px;line-height:1.4}.dashboard-text-button{color:#7954c6;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:6px 0;font-size:12px;display:inline-flex}.dashboard-text-button:hover{text-underline-offset:4px;text-decoration:underline}.dashboard-empty{text-align:center;color:var(--muted-foreground);padding:28px 10px;font-size:13px}.teacher-dashboard .active-room-row{gap:6px;margin:9px 0 0}.teacher-dashboard .active-room-link{background:#fcfcfe;border-color:#edf0f6;flex-wrap:nowrap;gap:14px;padding:15px}.teacher-dashboard .active-room-link:hover{background:#faf8ff;border-color:#cfc3ea}.teacher-dashboard .active-live-rooms .dashboard-room-title strong{font-size:16px}.teacher-dashboard .active-live-rooms .dashboard-room-title small,.teacher-dashboard .active-live-rooms .dashboard-room-detail small,.teacher-dashboard .active-live-rooms .dashboard-room-action{font-size:14px}.room-state-icon{color:#428c78;background:#e9f5ef;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.room-state-icon.is-finished{color:#7c60bc;background:#f0ebf9}.dashboard-room-title{flex:1;min-width:0}.teacher-dashboard .dashboard-room-title strong{overflow-wrap:anywhere;flex-basis:auto;font-size:13px;display:block}.dashboard-room-title small,.dashboard-room-detail small,.dashboard-room-submitted small{color:#9298a9;margin-top:5px;font-size:11px;line-height:1.4;display:block}.dashboard-room-detail{text-align:right;flex-shrink:0}.teacher-dashboard .dashboard-room-detail strong{font-size:14px}.dashboard-room-submitted{text-align:center;color:#69738a;min-width:48px;font-size:13px}.dashboard-room-action{color:#7954c6;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.teacher-dashboard .active-room-delete{color:#a091a9;border-color:#edf0f6;width:34px}.dashboard-quick-sets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-quick-sets button{text-align:left;color:#7954c6;background:#fcfcfe;border:1px solid #edf0f6;border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.dashboard-quick-sets button:hover{background:#faf8ff;border-color:#cfc3ea}.dashboard-quick-sets button>span{flex:1;min-width:0}.dashboard-quick-sets strong{color:#343d56;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.dashboard-quick-sets small{color:#9298a9;margin-top:6px;font-size:11px;display:block}.dashboard-quick-sets svg{flex-shrink:0}@media (max-width:1300px){.teacher-dashboard{grid-template-columns:218px minmax(0,1fr)}.dashboard-sidebar{padding-inline:12px}.dashboard-sidebar .brand{font-size:24px}.dashboard-stats{gap:12px}.dashboard-stat{padding:16px}.dashboard-room-action{display:none}}@media (max-width:1020px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-quick-sets{grid-template-columns:1fr}.teacher-dashboard .active-room-link{flex-wrap:wrap}.dashboard-room-title{flex-basis:calc(100% - 60px)}.dashboard-room-detail{text-align:left;margin-left:52px}.dashboard-room-submitted{margin-left:auto}}@media (max-width:760px){.teacher-dashboard{grid-template-columns:minmax(0,1fr)}.dashboard-sidebar{border-bottom:1px solid #e3e6f2;border-right:0;height:auto;padding:18px 18px 12px;position:static}.dashboard-sidebar .brand{width:fit-content}.sidebar-caption{display:none}.dashboard-nav{flex-flow:wrap;gap:5px;margin-top:20px}.dashboard-nav [role=tab]{gap:7px;min-height:38px;padding:9px 10px;font-size:12px}.dashboard-nav [role=tab] svg{width:16px;height:16px}.dashboard-profile{margin-top:12px;padding:12px 4px 0}.dashboard-profile .avatar{width:30px;height:30px;font-size:12px}.dashboard-profile small{display:none}.dashboard-main{padding:24px 16px 36px}.dashboard-header{margin-bottom:22px}.dashboard-header-actions{justify-content:space-between;gap:8px;width:100%}.dashboard-header-actions .field-select{min-width:125px}.teacher-dashboard .dashboard-panel{padding:16px}.teacher-dashboard .section-heading{align-items:flex-start}.teacher-dashboard .section-heading h2{font-size:15px}.teacher-dashboard .section-heading .count{display:none}.dashboard-text-button{gap:4px;font-size:11px}}@media (max-width:480px){.dashboard-stat{padding:14px}.dashboard-stat>span:not(.stat-icon){font-size:12px}.teacher-dashboard .active-room-link{gap:10px;padding:12px}.room-state-icon{width:30px;height:30px}.dashboard-room-title{flex-basis:calc(100% - 42px)}.dashboard-room-detail{margin-left:40px}.dashboard-room-detail small{max-width:130px}}.exam-results-sheet{background:#fff;border:1px solid #e4e3ee;border-radius:16px;min-width:0;padding:24px}.exam-results-sheet .section-heading{flex-wrap:wrap;align-items:flex-start}.exam-results-sheet h2{font-size:22px}.exam-results-sheet .section-heading p{color:#71768b;margin-top:6px;font-size:14px}.exam-results-sheet .muted{font-size:14px}.exam-report-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exam-report-actions .muted{flex-basis:100%}.exam-sheet-note{color:#777c90;margin:18px 0 12px;font-size:14px}.exam-sheet-scroll{border:1px solid #c9ccda;border-radius:8px;max-width:100%;max-height:min(55vh,480px);overflow:auto}.exam-sheet-scroll [data-slot=table-container]{overflow:visible}.exam-sheet-scroll:focus-visible{outline-offset:3px;outline:2px solid #7954c6}.exam-results-sheet table{border-collapse:collapse;font-size:14px}.exam-results-sheet th,.exam-results-sheet td{text-align:center;color:#30384e;border:1px solid #d6d9e4;height:auto;padding:9px 12px}.exam-results-sheet thead th{background:#edf0fa;font-weight:650}.exam-results-sheet tfoot th,.exam-results-sheet tfoot td{background:#f3f4f9;font-weight:650}.exam-score-matrix{width:max-content;min-width:100%}.exam-score-matrix thead{z-index:1;background:#edf0fa;position:sticky;top:0}.exam-score-matrix td{min-width:54px}.exam-score-matrix .sheet-student{white-space:normal;overflow-wrap:anywhere;text-align:left;min-width:170px;max-width:250px}.exam-score-matrix th small{color:#737b94;margin-top:5px;font-size:12px;font-weight:400;display:block}.exam-score-matrix .sheet-total{background:#f8f5ff;font-weight:600}.exam-level-summary{max-width:450px;margin-top:26px}.exam-level-summary h3{margin-bottom:12px;font-size:16px}.exam-game-nav{flex-wrap:wrap;height:auto}@media (max-width:640px){.exam-results-sheet{padding:16px}.exam-results-sheet h2{font-size:20px}.exam-results-sheet th,.exam-results-sheet td{padding:8px}}.lesson-back{color:#75678f;align-items:center;gap:7px;padding:8px 0;font-size:14px;display:inline-flex}@media (max-width:1100px){.learning-editor-layout{grid-template-columns:1fr!important}.learning-stage-list{max-width:100%;overflow-x:auto;display:flex!important}.learning-stage-list button{min-width:150px}}.learning-editor-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:20px;display:grid}.learning-stage-list{gap:8px;max-height:420px;display:grid;overflow:auto}.learning-stage-list button{text-align:left;overflow-wrap:anywhere;background:#fff;border:1px solid #e4e2ef;border-radius:10px;padding:12px;font-size:14px}.learning-stage-list small{color:#736b86;margin-top:5px;display:block}.learning-stage-list button[aria-pressed=true]{color:#6840ba;background:#f1ebfc;border-color:#a889ec}.learning-editor-layout .learning-stage-editor{background:#fff;min-width:0;margin:0}.learning-editor .section-heading{align-items:start;gap:16px}.learning-editor .section-heading .button{flex-shrink:0}.learning-stage-remove{margin-top:24px}.learning-question summary{cursor:pointer;overflow-wrap:anywhere;font-size:15px}.learning-question>label{gap:8px;margin:16px 0;display:grid}@media (max-width:700px){.learning-editor-layout{grid-template-columns:1fr}.learning-stage-list{max-width:100%;display:flex;overflow-x:auto}.learning-stage-list button{min-width:150px}.learning-editor .section-heading{flex-wrap:wrap}}.lesson-viewer{background:#fff;border:1px solid #e4e3ee;border-radius:14px;min-width:0}.lesson-viewer:-webkit-full-screen{border-radius:0;width:100%;height:100%;overflow-y:auto}.lesson-viewer:fullscreen{border-radius:0;width:100%;height:100%;overflow-y:auto}.lesson-viewer-header{border-bottom:1px solid #eceaf4;align-items:center;gap:20px;padding:22px;display:flex}.lesson-viewer-header>div{flex:1;min-width:0}.lesson-viewer-header span{color:#8b82a2;font-size:14px}.lesson-viewer-header h2{overflow-wrap:anywhere;margin-top:5px;font-size:24px}.lesson-section-nav{background:#faf9fe;border-bottom:1px solid #eceaf4;flex-wrap:wrap;gap:8px;padding:16px 22px;display:flex}.lesson-section-nav button{color:#746b85;border-radius:8px;padding:10px 15px;font-size:15px}.lesson-section-nav button[aria-pressed=true]{color:#fff;background:#7650d4}.lesson-presentation-content{padding:28px}.lesson-lecture-text{color:#273047;margin-bottom:24px;font-size:clamp(20px,2vw,30px);line-height:1.7}.lesson-material-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.lesson-material-tabs button{overflow-wrap:anywhere;color:#776690;border:1px solid #e6e1f1;border-radius:8px;align-items:center;gap:7px;max-width:100%;padding:8px 10px;font-size:14px;display:flex}.lesson-material-tabs button[aria-pressed=true]{background:#f1ebfc;border-color:#c5b4e5}.lesson-material-tabs svg{flex-shrink:0}.lesson-document{border:1px solid #e6e1f1;border-radius:8px;overflow:hidden}.lesson-document-heading{background:#faf9fd;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.lesson-document-heading strong{overflow-wrap:anywhere;font-size:14px}.lesson-document-heading a{flex-shrink:0}.lesson-document iframe{border:0;width:100%;height:70vh;display:block}.lesson-ppt-help,.lesson-empty-section{text-align:center;color:#817790;padding:32px 24px;font-size:16px;line-height:1.7}@media (max-width:600px){.lesson-viewer-header{flex-wrap:wrap;gap:12px;padding:16px}.lesson-viewer-header>div{flex-basis:calc(100% - 55px)}.lesson-viewer-header .lesson-back{width:100%}.lesson-section-nav{gap:4px;padding:12px}.lesson-section-nav button{padding:9px 10px;font-size:14px}.lesson-presentation-content{padding:16px}.lesson-document-heading{flex-wrap:wrap}}.ppt-slides{outline:none;min-width:0;padding:8px 0 4px}.ppt-slides:focus-visible{box-shadow:inset 0 0 0 2px #b7a0ec}.ppt-loading{color:#80728f;justify-content:center;align-items:center;gap:10px;padding:48px 16px;font-size:16px;display:flex}.ppt-slide-stage{background:#f2f2f5;justify-content:center;align-items:flex-start;width:100%;max-width:100%;min-height:0;display:flex;overflow:hidden}.ppt-slide-stage div:has(>table){overflow:visible!important}.ppt-slide-viewport{min-width:0}.ppt-slides.is-fitted{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.ppt-slides.is-fitted .ppt-slide-viewport{flex:1;place-items:center;min-height:0;display:grid;overflow:hidden}.ppt-slide-controls{flex:none;justify-content:center;align-items:center;gap:16px;padding:10px 0 2px;display:flex}.ppt-slide-controls .ppt-slide-picker{white-space:nowrap;color:#746a85;flex-direction:row;flex:none;align-items:center;gap:8px;font-size:15px;display:inline-flex}.ppt-slide-controls .ppt-slide-picker select{background:#fff;border:1px solid #ded7eb;border-radius:8px;flex:0 0 4.5rem;width:4.5rem;min-width:4.5rem;max-width:none;min-height:40px;padding:7px 10px}@media (max-width:600px){.ppt-slides{padding:6px}.ppt-slide-controls{gap:8px}.ppt-slide-controls .button{padding:8px}}@media (max-width:420px){.ppt-slide-controls .ppt-navigation-text,.ppt-slide-controls .ppt-picker-caption{display:none}.ppt-slide-controls .button{flex:0 0 40px;width:40px;height:40px}.ppt-slide-controls .button svg{display:block}}.live-shell{max-width:1600px;margin:auto;padding:24px}.live-topbar{align-items:center;gap:28px;margin-bottom:24px;display:flex}.live-topbar>div{flex:1}.live-topbar h1{margin:6px 0;font-size:28px}.live-topbar .eyebrow{align-items:center;gap:6px;display:flex}.live-toolbar,.live-launch,.live-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.live-toolbar{background:#fff;border:1px solid #deddf0;border-radius:16px;margin-bottom:20px;padding:18px}.live-code{letter-spacing:3px;color:#744cdb;font-size:24px}.live-layout{gap:24px;display:grid}.live-slide-mode{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;font-size:14px;display:flex}.live-slide-mode .button{white-space:normal}.live-layout.is-teacher{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start}.live-main{gap:20px;min-width:0;display:grid}.live-slide-card,.live-monitor,.learning-path,.live-quiz-controls,.live-quick-question,.live-results,.live-lesson-materials,.live-teacher-example{background:#fff;border:1px solid #deddf0;border-radius:16px;min-width:0;padding:20px}.live-lesson-materials{gap:14px;display:grid}.live-lesson-materials .section-heading{margin-bottom:0}.live-material-file{border:1px solid #e6e1f1;border-radius:10px;gap:10px;padding:12px;display:grid;overflow:hidden}.live-material-file>strong{overflow-wrap:anywhere}.live-material-file iframe{border:1px solid #e6e1f1;border-radius:8px;width:100%;height:min(65vh,620px);display:block}.live-slide-card,.live-quiz-controls,.live-quick-question{overflow:hidden}.live-slide-card .section-heading{gap:12px;margin-bottom:4px}.live-slide-card>.section-heading>select{max-width:55%}.live-slide-card:-webkit-full-screen{border:0;border-radius:0;flex-direction:column;gap:8px;width:100%;height:100%;padding:16px;display:flex;overflow:hidden}.live-slide-card:fullscreen{border:0;border-radius:0;flex-direction:column;gap:8px;width:100%;height:100%;padding:16px;display:flex;overflow:hidden}.live-slide-card:-webkit-full-screen>.section-heading{flex:none}.live-slide-card:fullscreen>.section-heading{flex:none}.live-quiz-controls .live-actions{grid-template-columns:minmax(150px,1fr) minmax(150px,220px) auto;align-items:end;display:grid}.live-quiz-controls .live-actions>select,.live-quiz-controls .live-actions>label,.live-quiz-controls .live-actions>button{min-width:0}.live-quiz-controls .live-actions>select,.live-quiz-controls .live-actions>label input{width:100%}.live-quiz-controls .live-actions>button{white-space:nowrap}.live-shell select,.live-shell input:not([type=radio]),.live-shell textarea,.learning-editor input:not([type=radio]),.learning-editor textarea,.learning-editor select,.live-launch input{color:#18243d;font:inherit;background:#fff;border:1px solid #d9d6ec;border-radius:8px;min-width:0;padding:10px}.live-shell label,.learning-editor label{gap:7px;display:grid}.live-launch{padding-bottom:20px}.live-launch label{align-items:center;gap:12px;display:flex}.live-launch input{width:100px}.live-history{margin-bottom:20px}.live-history a{color:#6843bb;padding:10px;display:block}.live-monitor{max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}.live-monitor h2{align-items:center;gap:8px;font-size:20px;display:flex}.live-stats{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;display:grid}.live-stats>div{border:1px solid #e4e4ef;border-radius:12px;padding:12px}.live-stats span{color:#66738b;font-size:14px;display:block}.live-stats strong{font-size:24px}.live-legend{flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.live-legend span{background:#eee;border-radius:4px;padding:5px}.live-students{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.live-student{overflow-wrap:anywhere;border-radius:12px;padding:12px;font-size:14px}.live-student summary{cursor:pointer;gap:4px;list-style:none;display:grid}.live-student strong{font-size:16px}.live-student small{font-size:14px}.live-student p{margin:8px 0}.live-student.done,.live-legend .done{color:#21542c;background:#d6f1db}.live-student.help,.live-legend .help{color:#6b430b;background:#ffe8b8}.live-student.working,.live-legend .working{color:#214b83;background:#dceaff}.live-student.offline{color:#5e6172;background:#eeeef2}.live-student small.live-away{color:var(--danger-strong);font-weight:700}.live-gate{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);width:min(440px,100vw - 32px);color:var(--foreground);box-shadow:var(--shadow-dialog);text-align:center;margin:auto;padding:24px}.live-gate::backdrop{background:var(--scrim)}.live-gate h2{margin:0 0 8px}.live-gate p{margin:0 0 20px}.live-lock{z-index:10000;color:#fff;text-align:center;background:#282044f5;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.live-lock h2{margin:24px 0 12px;font-size:36px}.live-lock p{font-size:20px}.live-ended{color:#244770;background:#e2ebff;border-radius:12px;padding:16px}.live-colored-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.live-answer{color:#fff;text-align:left;border:0;border-radius:12px;align-items:flex-start;gap:14px;min-height:72px;padding:16px;font-size:18px;font-weight:600;line-height:1.4;display:flex}.live-answer .formatted-text{text-align:left;overflow-wrap:anywhere;min-width:0}.live-answer:disabled{cursor:default}.live-answer.color-0{background:#c74866}.live-answer.color-1{background:#3472bd}.live-answer.color-2{background:#a8760e}.live-answer.color-3{background:#24866e}.live-results{max-height:400px;overflow:auto}.live-results table{border-collapse:collapse;width:100%}.live-results td,.live-results th{text-align:left;border-bottom:1px solid #ddd;padding:12px}.live-lesson-results{max-height:none;overflow:visible}.live-result-selector{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.live-result-selector select{width:min(100%,360px);min-height:44px}.live-lesson-results-scroll{max-height:60vh;overflow:auto}.live-lesson-results-scroll table{min-width:500px;font-size:16px}.live-lesson-results-scroll thead th{z-index:1;background:#f4f1fc;position:sticky;top:0}.live-lesson-results-scroll tbody th{font-weight:500}.live-result-pending{color:#8b5900;white-space:nowrap;background:#fff1cf;border-radius:8px;padding:4px 8px}.learning-editor{width:100%;margin:24px 0}.learning-stage-editor{border:1px solid #deddf0;border-radius:12px;margin:12px 0;padding:20px}.learning-stage-editor summary{cursor:pointer;margin-bottom:18px;font-size:18px;font-weight:600}.learning-stage-editor>label{margin:14px 0}.learning-question{background:#f7f7fc;border-radius:12px;margin-bottom:16px;padding:18px}.learning-question-editor h4{margin:24px 0 12px}.learning-options{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.learning-options label{align-items:center;display:flex}.learning-options input:not([type=radio]){width:100%}.learning-question>label>input[type=number]{max-width:120px}.learning-path progress{accent-color:#754ddd;width:100%;margin-bottom:18px}.learning-path-steps,.learning-phase-nav{flex-wrap:wrap;gap:10px;margin:14px 0 22px;display:flex}.learning-path-steps button,.learning-phase-nav button{color:#33405a;font:inherit;background:#fff;border:1px solid #dcd7ed;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;display:flex}.learning-path-steps .selected,.learning-phase-nav .selected{color:#6237b3;background:#eee7ff;border-color:#9d80e0}.learning-path button:disabled{opacity:.6}.code-lab{margin:20px 0}.code-lab label{margin:12px 0}.code-input{tab-size:2;text-align:left;letter-spacing:normal;width:100%;font-weight:400;line-height:1.6;font-family:Consolas,monospace!important;font-size:15px!important}.code-output{white-space:pre-wrap;overflow-wrap:anywhere;color:#e5f0ff;background:#192238;border-radius:10px;min-height:80px;max-height:350px;padding:16px;overflow:auto}.code-preview{border:1px solid #ddd;border-radius:10px;width:100%;height:300px;margin-top:16px}.code-worker-frame{display:none}.learning-assignment fieldset{border:1px solid #ddd8ee;border-radius:12px;min-width:0;margin:0 0 16px;padding:14px 16px 16px}.learning-assignment legend{overflow-wrap:anywhere;max-width:100%;padding:0 8px;font-weight:600;line-height:1.45}.learning-assignment label{align-items:start;justify-content:initial;text-align:left;overflow-wrap:anywhere;background:#f4f4fb;border-radius:8px;grid-template-columns:20px minmax(0,1fr);gap:10px;width:100%;min-height:0;margin:8px 0;padding:12px 14px;line-height:1.45;display:grid}.learning-assignment label input[type=radio]{justify-self:start;width:16px;height:16px;margin:3px 0 0}.learning-option-text{text-align:left;overflow-wrap:anywhere;min-width:0}.learning-pass{background:#d6f1db;border-radius:10px;padding:14px}@media (max-width:1100px){.live-layout.is-teacher{grid-template-columns:1fr}.live-monitor{max-height:none;position:static}.live-students{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.live-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.live-shell{padding:12px}.live-topbar{flex-wrap:wrap;gap:14px}.live-topbar h1{font-size:22px}.live-topbar .brand{display:none}.live-colored-options,.learning-options{grid-template-columns:1fr}.live-slide-card,.learning-path,.live-monitor{padding:12px}.live-toolbar{gap:10px}.live-stats{grid-template-columns:1fr 1fr}.live-slide-card>.section-heading>select{max-width:100%}.live-quiz-controls .live-actions{grid-template-columns:1fr}.live-quiz-controls .live-actions>button{width:100%}.live-lock h2{font-size:28px}}.screen-share-card{background:var(--card,#fff);border:1px solid #e4e3ee;border-radius:16px;min-width:0;padding:18px}.screen-share-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.screen-share-toolbar .icon-button{margin-left:auto}.screen-share-message{margin-block:12px;display:block}.screen-share-video{aspect-ratio:16/9;object-fit:contain;background:#111827;border-radius:8px;width:100%;max-height:72vh;margin:14px 0;display:block}.screen-share-card:-webkit-full-screen{border-radius:0;overflow:auto}.screen-share-card:fullscreen{border-radius:0;overflow:auto}.screen-share-card:-webkit-full-screen .screen-share-video{height:calc(100dvh - 130px);max-height:calc(100dvh - 130px)}.screen-share-card:fullscreen .screen-share-video{height:calc(100dvh - 130px);max-height:calc(100dvh - 130px)}.screen-share-card[hidden],.live-slide-card[hidden]{display:none}.matching-columns{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.matching-columns p{overflow-wrap:anywhere;gap:.5rem;padding:.6rem;display:flex}.matching-columns input{width:100%;min-width:0}.matching-columns label{margin-bottom:.6rem;display:block}.matching-selects{border:0;flex-wrap:wrap;gap:1rem;min-width:0;padding:1rem 0;display:flex}.matching-pair{align-items:center;gap:.5rem;display:flex}.matching-pair .field-select{width:7rem;min-width:7rem}.matching-selects:disabled{pointer-events:none;opacity:.75}.matching-editor{margin:1rem 0}@media (max-width:600px){.matching-columns{gap:.5rem}.matching-columns p{padding:.3rem}}.teacher-review{border:0;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;display:flex}.teacher-review .button{min-height:40px}.teacher-review-blanks{gap:6px;margin-top:8px;display:grid}.teacher-review-blanks .teacher-review{align-items:center;margin:0}.teacher-review-blanks legend{min-width:76px;padding:0;font-size:13px;font-weight:600}.teacher-review .is-right[aria-pressed=true]{border-color:var(--correct,#1e8a5e);background:var(--correct,#1e8a5e);color:#fff}.teacher-review .is-wrong[aria-pressed=true]{border-color:var(--danger,#b42339);background:var(--danger,#b42339);color:#fff}.text-question-answer{text-align:left;gap:1rem;margin:1rem 0;display:grid}.text-question-answer label{gap:.5rem;display:grid}.text-question-answer .button{justify-self:start}.code-exercise-editor,.live-code-exercises{background:#fff;border:1px solid #e0dcf0;border-radius:16px;min-width:0;margin:20px 0;padding:24px}.code-exercise-edit{border-bottom:1px solid #e0dcf0;padding:18px 0}.code-exercise-edit>label{gap:8px;margin:14px 0;display:grid}.code-exercise-edit summary{cursor:pointer;font-weight:600}.code-template-editor,.code-exercise-template{text-align:left;letter-spacing:normal;font-family:Consolas,monospace}.code-exercise-template{color:#e2e8f0;white-space:pre;background:#101b2e;border-radius:12px;margin:16px 0;padding:20px;line-height:2.3;overflow-x:auto}.code-exercise-template input{color:#15213a;width:12ch;min-width:8ch;max-width:25ch;height:auto;min-height:0;font:inherit;vertical-align:baseline;background:#fff;border:1px solid #a78bfa;border-radius:4px;margin:0 3px;padding:3px 7px;line-height:1.5;display:inline-block}.code-exercise-template input:focus{outline-offset:2px;outline:2px solid #c4b5fd}.code-exercise-blank{color:#fde68a}.code-exercise-instruction{white-space:pre-wrap;overflow-wrap:anywhere}.code-exercise-controls{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.code-exercise-controls label{gap:6px;max-width:100%;display:grid}.code-exercise-controls select{max-width:100%}.live-code-exercises[hidden]{display:none}.live-code-exercises output{color:#276346;margin-top:8px;display:block}.live-code-exercises details{margin-top:16px}.live-code-exercises article{overflow-wrap:anywhere;border-bottom:1px solid #e0dcf0;padding:12px}@media (max-width:600px){.live-code-exercises,.code-exercise-editor{padding:14px}.code-exercise-template{padding:12px;font-size:14px}}.classes>.muted{max-width:70ch;margin-bottom:18px}.class-create{background:#fff;border:1px solid #e4e3ee;border-radius:16px;flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;padding:18px;display:flex}.class-create label{flex-direction:column;gap:6px;margin:0;display:flex}.class-create input{width:120px}.class-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.class-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e3ee;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;display:flex}.class-card strong{color:#6843bb;font-size:28px}.class-card span{align-items:center;gap:6px;display:flex}:is(.class-card:hover,.class-card:focus-visible){border-color:#7650c8}.class-detail h2{margin:0}.roster-add{gap:8px;max-width:520px;margin:18px 0;display:grid}.roster-add textarea{width:100%}.roster-add .button{justify-self:start}.roster-actions{margin:8px 0 12px}.roster-table{border-collapse:collapse;background:#fff;width:100%;max-width:640px}.roster-table th,.roster-table td{text-align:left;border-bottom:1px solid #edf0f6;padding:10px 12px}.roster-table thead th{color:var(--text-2);font-size:13px}.roster-row-actions{justify-content:flex-end;gap:8px;display:flex}.class-archive{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.class-archive .muted{flex:260px;max-width:60ch;margin:0;font-size:13px}.class-archived{margin-top:26px}.class-archived>summary,.roster-archived>summary{cursor:pointer;color:var(--ink-3,#55516b);padding:6px 0;font-weight:600}.class-archived>.muted{max-width:70ch;margin:6px 0 14px}.class-card.is-archived{background:#faf9fd;border-style:dashed}.class-card.is-archived strong{color:#6b6785}.class-archived-note{background:#fff8dc;border:1px solid #f2d56b;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:14px 18px;display:flex}.class-archived-note p{color:#6b4e00;flex:280px;margin:0}.roster-archived{max-width:640px;margin-top:18px}.me-access{background:#fff;border:1px solid #e4e3ee;border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px 20px;max-width:640px;margin:0 0 18px;padding:16px 18px;display:flex}.me-access-text{flex:100%}.me-access h2{font-size:18px}.me-access-text p{margin-top:4px;font-size:13px}.me-access-code{align-items:baseline;gap:8px;margin:0;display:flex}.me-access-code span{color:#6b7285;font-size:13px}.me-access-code b{font-family:var(--font-mono), monospace;letter-spacing:2px;color:#3d2a7a;font-size:24px}.me-access-switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.me-access-switch input{accent-color:#6843bb;cursor:pointer;width:22px;height:22px;padding:0}.me-access-online{flex:100%;margin:0;font-size:14px}.me-access-online small{font-size:12px}.roster-online{color:#2f7a5f;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:600;display:flex}.roster-online-dot{background:#3fa37e;border-radius:50%;flex-shrink:0;width:8px;height:8px}.roster-sign-out{color:#2f7a5f;min-height:32px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9dccd;border-radius:999px;align-items:center;gap:4px;margin-left:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.roster-sign-out:hover{background:#eef9f3}.roster-sign-out:disabled{opacity:.6;cursor:default}.me-access-sign-out{vertical-align:middle;margin-left:10px}.roster-archived ul{margin:6px 0 0;padding:0;list-style:none}.roster-archived li{color:#6b6785;background:#fff;border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.roster-archived-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button-outline.purge-button{color:var(--danger);border-color:var(--danger)}.button-outline.purge-button:hover{background:var(--danger-bg)}.purge-confirm{color:var(--ink-3,#55516b);gap:6px;font-size:14px;display:grid}.purge-confirm input{width:100%}.restore-warning{color:#6b4e00;background:#fff8dc;border:1px solid #f2d56b;border-radius:12px;padding:12px 14px;font-size:14px}.restore-warning ul{gap:6px;margin:6px 0 0;padding-left:18px;list-style:outside;display:grid}.class-picker{gap:10px;margin:14px 0;display:grid}.student-code-input{letter-spacing:3px;text-align:center;font-size:24px}.code-cards-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.code-cards-toolbar p{flex:260px;margin:0}.code-card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.code-card{break-inside:avoid;background:#fff;border:2px dashed #b9a8e6;border-radius:12px;padding:16px}.code-card p{margin:0}.code-card-class{color:#6b7285;font-size:13px}.code-card-name{font-size:20px;font-weight:600;margin:6px 0!important}.code-card-code{font-family:var(--font-mono), monospace;letter-spacing:3px;color:#3d2a7a;font-size:28px;font-weight:600}.code-card-help{color:#6b7285;font-size:12px;margin-top:8px!important}@media (max-width:600px){.class-create{padding:14px}.class-create label,.class-create input,.class-create .button{width:100%}.roster-row-actions .button{padding-inline:8px}}@media print{body *{visibility:hidden}.code-card-grid,.code-card-grid *{visibility:visible}.code-card-grid{grid-template-columns:repeat(3,1fr);width:100%;position:absolute;inset:0 auto auto 0}.code-card{border-color:#555}}.progress-note{max-width:75ch}.student-progress h3{margin:14px 0 6px}.topic-empty{max-width:75ch;margin-top:14px}.attendance-value{white-space:nowrap}.attendance-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.attendance-saved{color:#14532d;align-items:center;gap:4px;font-weight:600;display:inline-flex}.trend{border:1px solid var(--border);background:var(--card);border-radius:12px;max-width:760px;margin:16px 0;padding:14px 16px 8px}.trend figcaption{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.trend-change{color:var(--muted-foreground);font-size:14px}.trend-delta{color:var(--foreground);align-items:center;gap:4px;margin-left:8px;font-weight:600;display:inline-flex}.trend-empty{margin:14px 0}.trend-plot{touch-action:pan-y;border-radius:8px;height:220px;margin-top:8px;position:relative}.trend-plot:has(.trend-range:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.trend-range{opacity:0;clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.trend-grid{stroke:var(--border);stroke-width:1px}.trend-baseline{stroke:#c3c2d2;stroke-width:1px}.trend-axis{fill:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.trend-line{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-crosshair{stroke:var(--muted-foreground);stroke-width:1px;stroke-opacity:.6}.trend-tooltip{border:1px solid var(--border);background:var(--card);max-width:180px;color:var(--muted-foreground);pointer-events:none;border-radius:8px;gap:2px;padding:8px 10px;font-size:13px;display:grid;position:absolute;box-shadow:0 4px 14px #20223c1f}.trend-tooltip strong{color:var(--foreground);font-size:15px}.student-timeline{gap:12px;padding:0;list-style:none;display:grid}.student-timeline>li{background:#fff;border:1px solid #e4e3ee;border-radius:12px;padding:14px}.student-timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.stage-table th,.stage-table td{text-align:left;border-bottom:1px solid #edf0f6;padding:6px 8px}@media (max-width:600px){.stage-table{font-size:13px}}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/rubik-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/rubik-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/rubik-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:#f6f5fb;--foreground:#1b1830;--card-foreground:#1b1830;--popover-foreground:#1b1830;--primary:#5b3fd9;--primary-shadow:#3f28a8;--primary-soft:#efebff;--primary-text:#4b2fc0;--brand-mark:#6a4bea;--accent:#efebff;--accent-foreground:#4b2fc0;--text-2:#5e5a73;--muted-foreground:#6b6780;--surface:#fff;--border:#e7e4f2;--border-hover:#cfc6f5;--border-dashed:#d6cff2;--input:#d9d4ea;--segment-bg:#ece9f5;--handle:#d6d2e4;--focus-ring:#8b6cff;--scrim:#1b18308c;--shadow-segment:0 1px 3px #1b18301f;--shadow-hover:0 10px 30px #341e8c1a;--shadow-pop:0 12px 32px #1c183029;--shadow-fab:0 8px 24px #341e8c59;--shadow-dialog:0 30px 80px #140c3c59;--font-geist-sans:Manrope, system-ui, Arial, sans-serif;--display:Rubik, Manrope, system-ui, sans-serif;--ink-2:#3a3652;--ink-3:#55516b;--link:#5b3cd6;--line-soft:#eeebf6;--quiz-bg:#f1eefb;--quiz-fg:#4b2fc0;--exam-bg:#fff1d6;--exam-fg:#7a4100;--correct:#1e8a5e;--correct-bg:#eef9f3;--warning:#d99a00;--warning-fg:#8a4b00;--toolbar-bg:#faf9fd;--danger:#b42339;--danger-strong:#98243c;--danger-bg:#fdecef;--ready:#1e7a52;--file-pptx-bg:#fde8e1;--file-pptx-fg:#b4401c;--file-pdf-bg:#fdecef;--file-pdf-fg:#b42339;--shape-triangle:#d8344e;--shape-diamond:#2f6bdb;--shape-circle:#c98a00;--shape-square:#1e9a6a;--grade-6-bg:#eee9ff;--grade-6-fg:#4b2fc0;--grade-7-bg:#e0efff;--grade-7-fg:#0b4f8a;--grade-8-bg:#fde8f1;--grade-8-fg:#9d174d;--grade-9-bg:#e3f6ea;--grade-9-fg:#17603f;--grade-10-bg:#ddf3f5;--grade-10-fg:#0e5a66;--grade-11-bg:#ffe9dd;--grade-11-fg:#9a3412;--grade-12-bg:#e8ecf3;--grade-12-fg:#334155;--present-bg:#e3f5ec;--present-border:#1e8a5e;--present-fg:#14553a;--late-bg:#fff1d6;--late-border:#d99a00;--late-fg:#7a4100;--sick-bg:#e0f2fe;--sick-border:#0284c7;--sick-fg:#075985;--excused-bg:#e0efff;--excused-border:#3b82c4;--excused-fg:#0b4f8a;--absent-bg:#fdecee;--absent-border:#d64560;--absent-fg:#8e1b2d;--choice-border:#e2def0;--choice-fg:#3f3b55;--notice-bg:#fff1d6;--notice-border:#f0d9a0;--notice-fg:#7a4100;--table-head:#faf9fe;--ink-strong:#2e2a45}body{background:var(--background);color:var(--foreground);font-family:Manrope,system-ui,Arial,sans-serif}.teacher-dashboard{background:var(--background);grid-template-columns:264px minmax(0,1fr)}.dashboard-sidebar{border-right:1px solid var(--border);background:#fff;gap:28px;padding:24px 16px}.dashboard-sidebar .brand{font-family:var(--display);letter-spacing:-.5px;color:var(--foreground);gap:12px;padding:0 8px;font-size:20px;font-weight:600}.dashboard-sidebar .brand .brand-play{color:var(--primary)}.dashboard-sidebar .brand small{color:#6b6785;font-family:Manrope,system-ui,sans-serif;font-size:10px;font-weight:500}.dashboard-sidebar .brand-icon{background:var(--brand-mark);color:#fff;border-radius:12px;width:44px;height:44px}.sidebar-caption{color:#6b6785;margin:0 0 -24px;padding:0 12px 8px;font-size:11px}.dashboard-nav{gap:4px}.dashboard-nav [role=tab]{min-height:44px;color:var(--ink-2);border-radius:10px;gap:12px;padding:0 12px;font-size:15px;font-weight:600}.dashboard-nav [role=tab] svg{stroke-width:1.8px;width:20px;height:20px}.dashboard-nav [role=tab]:hover{color:var(--accent-foreground);background:#f4f2fb}.dashboard-nav [role=tab][data-active]{background:var(--accent);color:var(--accent-foreground);box-shadow:none;font-weight:600}.nav-icon{justify-content:center;align-items:center;display:inline-flex}.nav-short,.nav-more{display:none}.dashboard-profile{border-top:1px solid var(--border);padding:16px 0 0}.dashboard-profile .avatar{color:var(--accent-foreground);background:#e4ddfb;font-weight:600}.dashboard-main{padding:40px clamp(40px,3.34vw,48px) 48px}.dashboard-header[hidden]{display:none}.dashboard-header h1{font-family:var(--display);letter-spacing:-.5px;font-weight:600}@media (min-width:900px) and (max-width:1199px){.teacher-dashboard{grid-template-columns:72px minmax(0,1fr)}.dashboard-sidebar{border-right:1px solid var(--border);border-bottom:0;flex-direction:column;align-items:center;gap:16px;height:100vh;padding:14px 10px;position:sticky;top:0;overflow-y:auto}.dashboard-sidebar .brand{width:auto;padding:0}.dashboard-sidebar .brand>span:not(.brand-icon){display:none}.dashboard-sidebar .brand-icon{border-radius:12px;width:40px;height:40px}.sidebar-caption{display:none}.dashboard-navbar{flex:auto;width:100%;min-height:0;overflow-y:auto}.dashboard-nav{flex-flow:column;align-items:center;gap:4px;margin:0}.dashboard-nav [role=tab]{width:48px;height:44px;min-height:0;color:var(--ink-2);border-radius:12px;justify-content:center;padding:0;position:relative}.dashboard-nav [role=tab] svg{width:20px;height:20px}.nav-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dashboard-profile{border-top:0;flex:none;margin-top:auto;padding:0}.dashboard-profile>.teacher-profile-trigger{border-radius:50%;width:auto;padding:2px}.dashboard-profile .teacher-profile-name,.dashboard-profile>.teacher-profile-trigger>svg{display:none}.dashboard-profile .avatar{width:40px;height:40px}.dashboard-main{padding:32px}}@media (max-width:899px){.teacher-dashboard{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.dashboard-sidebar{z-index:30;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;gap:8px;height:60px;padding:0 12px 0 16px;position:sticky;top:0}.dashboard-sidebar .brand{padding:0;font-size:18px}.dashboard-sidebar .brand small,.sidebar-caption{display:none}.dashboard-sidebar .brand-icon{border-radius:10px;width:36px;height:36px}.dashboard-sidebar .brand-icon svg{width:18px;height:18px}.dashboard-navbar{z-index:40;height:calc(76px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fff;grid-template-columns:4fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0}.dashboard-nav{flex-direction:row;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;height:100%;margin:0;display:grid}.dashboard-nav [role=tab].nav-extra{display:none}.dashboard-nav [role=tab],.nav-more{width:auto;height:100%;min-height:0;color:var(--ink-3);font:inherit;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:12px;font-weight:600;display:flex}.dashboard-nav [role=tab]:hover{background:0 0}.dashboard-nav [role=tab] .nav-icon,.nav-more .nav-icon{border-radius:16px;width:56px;height:30px}.dashboard-nav [role=tab] svg,.nav-more svg{width:22px;height:22px}.dashboard-nav [role=tab][data-active],.nav-more[data-current]{color:var(--accent-foreground);background:0 0;font-weight:600}.dashboard-nav [role=tab][data-active] .nav-icon,.nav-more[data-current] .nav-icon{background:var(--accent)}.nav-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-short{display:block}.dashboard-profile{border-top:0;margin:0;padding:0}.dashboard-profile>.teacher-profile-trigger{border-radius:50%;justify-content:center;width:44px;height:44px;padding:5px}.dashboard-profile .teacher-profile-name,.dashboard-profile>.teacher-profile-trigger>svg{display:none}.dashboard-profile .avatar{width:34px;height:34px;font-size:14px}.dashboard-main{padding:16px 16px calc(110px + env(safe-area-inset-bottom))}}.library{flex-direction:column;gap:28px;display:flex}:is(.library :focus-visible,.picker :focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.library-head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.library-head>div{flex-direction:column;gap:10px;min-width:0;display:flex}.library-head .eyebrow{color:var(--muted-foreground);margin:0;font-size:12px;font-weight:600}.library-head h1{font-family:var(--display);color:var(--foreground);margin:0;font-size:36px;font-weight:600;line-height:1.1}.library-summary{color:var(--text-2);margin:0;font-size:15px;font-weight:500}.library-phone,.library-fab,.library-chips{display:none}.library-create,.library-fab{background:var(--primary);height:48px;color:var(--primary-foreground);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:10px;padding:0 22px;font-size:15px;font-weight:600}.library-create{box-shadow:0 4px 0 var(--primary-shadow);flex:none;display:inline-flex}.library-create:hover,.library-fab:hover{background:var(--primary-text)}.library-create:active{box-shadow:0 2px 0 var(--primary-shadow);transform:translateY(2px)}.library-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.library-search{border:1px solid var(--input);background:var(--surface);max-width:420px;height:48px;color:var(--text-2);border-radius:12px;flex:220px;align-items:center;gap:10px;margin:0;padding:0 16px;display:flex}.library-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.library-search input{min-width:0;height:100%;font:inherit;color:var(--foreground);background:0 0;border:0;outline:none;flex:1;font-size:15px}.library-search input::placeholder{color:var(--muted-foreground)}.library-kinds{background:var(--segment-bg);border:0;border-radius:12px;gap:4px;min-width:0;margin:0;padding:4px;display:flex}.library-kinds button{height:40px;color:var(--ink-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:14px;font-weight:600}.library-kinds button span{color:var(--text-2);font-weight:600}.library-kinds button:hover{color:var(--foreground)}.library-kinds button[aria-pressed=true]{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-segment);font-weight:600}.library-grade{border:1px solid var(--input);background:var(--surface);height:48px;color:var(--text-2);border-radius:12px;align-items:center;gap:4px;margin-left:auto;padding:0 2px 0 16px;font-size:14px;font-weight:600;display:flex}.library-grade .field-select{min-width:124px;height:44px;box-shadow:none;color:var(--foreground);background:0 0;border:0;font-size:15px;font-weight:600}.set-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.39vw,20px);display:grid}.set-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;gap:14px;min-width:0;padding:20px;transition:box-shadow .15s,border-color .15s;display:flex;container:set-card/inline-size}.set-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover)}.set-card-top{align-items:center;gap:12px;min-width:0;display:flex}.set-grade{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-text);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.set-grade b{font-family:var(--display);font-size:18px;font-weight:600;line-height:1}.set-grade small{margin-top:3px;font-size:10px;font-weight:600;line-height:1}.set-grade[data-grade="6"]{background:var(--grade-6-bg);color:var(--grade-6-fg)}.set-grade[data-grade="7"]{background:var(--grade-7-bg);color:var(--grade-7-fg)}.set-grade[data-grade="8"]{background:var(--grade-8-bg);color:var(--grade-8-fg)}.set-grade[data-grade="9"]{background:var(--grade-9-bg);color:var(--grade-9-fg)}.set-grade[data-grade="10"]{background:var(--grade-10-bg);color:var(--grade-10-fg)}.set-grade[data-grade="11"]{background:var(--grade-11-bg);color:var(--grade-11-fg)}.set-grade[data-grade="12"]{background:var(--grade-12-bg);color:var(--grade-12-fg)}.set-kind{background:var(--quiz-bg);min-width:0;color:var(--quiz-fg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.set-kind svg{flex:none}.set-kind[data-kind=exam]{background:var(--exam-bg);color:var(--exam-fg)}.set-count{color:var(--text-2);white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:13px;font-weight:600;display:inline-flex}@container set-card (width<=300px){.set-count-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@container set-card (width<=250px){.set-card-top{gap:8px}.set-card-foot{gap:6px}.set-play{gap:6px;padding:0 12px}}.set-card h3{min-height:50px;color:var(--foreground);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:20px;font-weight:600;line-height:25px;display:-webkit-box;overflow:hidden}.set-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:14px;font-weight:600;display:flex}.set-meta span{align-items:center;gap:6px;display:inline-flex}.set-meta .set-untagged{color:var(--warning-fg)}.library-untagged{background:var(--exam-bg);color:var(--warning-fg);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.library-untagged p{flex:260px;margin:0;line-height:1.45}.library-untagged button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:#fff;border:1px solid;border-radius:10px;padding:8px 14px}.library-untagged button[aria-pressed=true]{background:var(--warning-fg);color:#fff}.set-card-foot{border-top:1px solid var(--line-soft);align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex}.set-play{background:var(--primary-soft);height:44px;color:var(--primary-text);font:inherit;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;margin-right:auto;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.set-play:hover:not(:disabled){background:var(--primary);color:var(--primary-foreground)}.lesson-item .set-play{border:1px solid var(--border);background:var(--surface)}.lesson-item .set-play:hover:not(:disabled){border-color:var(--border-hover);background:var(--primary-soft);color:var(--primary-text)}.set-icon{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.set-icon:hover:not(:disabled),.set-icon[data-popup-open]{border-color:var(--border-hover);background:var(--quiz-bg)}.set-play:disabled,.set-icon:disabled{cursor:not-allowed;opacity:.55}.set-menu-positioner{z-index:60}.set-menu{border:1px solid var(--border);background:var(--surface);min-width:180px;box-shadow:var(--shadow-pop);border-radius:14px;outline:none;gap:2px;padding:6px;display:grid}.set-menu-item{min-height:44px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;outline:none;align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:600;display:flex}.set-menu-item[data-highlighted]{background:var(--accent);color:var(--accent-foreground)}.set-menu-item.is-danger{color:var(--danger)}.set-menu-item.is-danger[data-highlighted]{background:var(--danger-bg);color:var(--danger)}.set-new{border:2px dashed var(--border-dashed);min-height:240px;font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.set-new:hover{border-color:var(--focus-ring);background:var(--surface)}.set-new>span{background:var(--primary-soft);width:52px;height:52px;color:var(--primary-text);border-radius:50%;justify-content:center;align-items:center;display:flex}.set-new strong{color:var(--foreground);font-size:18px;font-weight:600}.set-new small{color:var(--text-2);font-size:14px}.library-empty{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:18px;flex-direction:column;grid-column:1/-1;align-items:center;gap:8px;padding:32px 16px;display:flex}.library-empty strong{font-size:18px;font-weight:600}.library-empty p{color:var(--text-2);margin:0 0 4px}.picker-backdrop{z-index:50;background:var(--scrim);position:fixed;inset:0}.picker{z-index:51;background:var(--surface);width:min(820px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);color:var(--foreground);border-radius:24px;outline:none;flex-direction:column;gap:24px;padding:36px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.picker-handle,.picker-short,.picker-chevron,.picker-cancel{display:none}.picker-head{align-items:flex-start;gap:16px;display:flex}.picker-head>div{flex-direction:column;flex:1;gap:8px;display:flex}.picker-title{font-family:var(--display);margin:0;font-size:28px;font-weight:600}.picker-lead{color:var(--text-2);margin:0;font-size:15px}.picker-close{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.picker-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.picker-option{border:2px solid var(--border);background:var(--surface);color:var(--foreground);font:inherit;text-align:left;cursor:pointer;border-radius:20px;flex-direction:column;align-items:stretch;gap:14px;padding:24px;transition:border-color .15s,box-shadow .15s;display:flex}.picker-option:hover{border-color:var(--focus-ring);box-shadow:var(--shadow-hover)}.picker-icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary-text);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.picker-option[data-kind=exam] .picker-icon{background:var(--exam-bg);color:var(--exam-fg)}.picker-name{flex-direction:column;gap:4px;display:flex}.picker-name strong{font-size:20px;font-weight:600}.picker-name>span{color:var(--text-2);font-size:15px;font-weight:600}.picker-points{border-top:1px solid var(--line-soft);color:var(--ink-2);flex-direction:column;gap:8px;padding-top:14px;font-size:14px;display:flex}.picker-points>span{align-items:center;gap:8px;display:flex}.picker-points svg{color:var(--correct);stroke-width:2.4px;flex:none}.picker-go{background:var(--primary);height:48px;color:var(--primary-foreground);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:15px;font-weight:600;display:flex}.picker-option[data-kind=exam] .picker-go{background:var(--foreground)}.picker-word{background:var(--background);color:var(--primary-text);border-radius:14px;align-items:center;gap:12px;padding:16px 18px;display:flex}.picker-word>svg{flex:none}.picker-word-text{color:var(--ink-2);flex:1;font-size:14px}.picker-word-text b{color:var(--foreground)}.picker-word-button{min-height:44px;color:var(--primary-text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 4px;font-size:14px;font-weight:600;display:inline-flex}.picker-word-button svg{display:none}.picker-word-button:hover{text-decoration:underline}@media (min-width:768px) and (max-width:1199px){.library{gap:24px}.library-head h1{font-size:28px}.library-search{flex-basis:100%;max-width:none}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.set-card{padding:18px}.set-grade{width:44px;height:44px}.set-card h3{min-height:48px;font-size:18px;line-height:24px}.set-new{min-height:230px}}@media (max-width:767px){.library{gap:14px;padding-bottom:72px}.library-head{flex-direction:column;align-items:stretch}.library-head>div{gap:6px}.library-head .eyebrow,.library-create,.library-wide,.library-kinds,.library-grade,.set-new{display:none}.library-phone{display:inline}.library-head h1{font-size:24px;line-height:1.2}.library-summary{font-size:14px}.library-tools{flex-direction:column;align-items:stretch;gap:14px}.library-search{flex:none;max-width:none;padding:0 14px}.library-search input{font-size:16px}.library-chips{scrollbar-width:none;border:0;gap:8px;width:calc(100% + 32px);min-width:0;margin:0 -16px;padding:0 16px 4px;display:flex;overflow-x:auto}.library-chips button{border:1px solid var(--input);background:var(--surface);height:40px;color:var(--ink-2);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:0 16px;font-size:14px;font-weight:600}.library-chips button[aria-pressed=true]{border-color:var(--foreground);background:var(--foreground);color:var(--primary-foreground);font-weight:600}.set-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:4px}.set-card{border-radius:16px;gap:12px;padding:16px}.set-card-top{gap:10px}.set-grade{border-radius:12px;width:40px;height:40px}.set-grade b{font-size:16px}.set-grade small{margin-top:2px;font-size:10px}.set-kind{gap:5px;padding:4px 9px}.set-count-word{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.set-card h3{min-height:0;font-size:18px;line-height:23px}.set-meta{gap:6px 14px;font-size:13px}.set-card-foot{border-top:0;padding-top:0}.set-play{flex:1;justify-content:center;margin-right:0}.library-fab{right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:35;height:56px;box-shadow:var(--shadow-fab);border-radius:18px;display:inline-flex;position:fixed}.picker{width:auto;max-height:calc(100dvh - 60px);padding:12px 16px calc(28px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;gap:16px;inset:auto 0 0;transform:none}.picker-handle{background:var(--handle);border-radius:999px;align-self:center;width:40px;height:5px;display:block}.picker-close,.picker-wide,.picker-points,.picker-go,.picker-word>svg,.picker-word-text{display:none}.picker-head>div{gap:6px}.picker-title{font-size:22px}.picker-lead{font-size:14px}.picker-options{grid-template-columns:minmax(0,1fr)}.picker-option{border-radius:18px;flex-direction:row;gap:14px;padding:16px}.picker-icon{border-radius:14px;width:52px;height:52px}.picker-icon svg{width:24px;height:24px}.picker-name{flex:1}.picker-name strong{font-size:18px}.picker-name>span{font-size:14px}.picker-short{color:var(--ink-2);margin-top:4px;font-size:13px;display:block}.picker-chevron{color:var(--text-2);flex:none;align-self:center;display:block}.picker-word{background:0 0;padding:0}.picker-word-button{background:var(--background);height:48px;color:var(--foreground);border-radius:12px;flex:1;font-size:15px}.picker-word-button svg{display:block}.picker-word-button:hover{text-decoration:none}.picker-cancel{height:48px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}}.ed{background:var(--background);min-height:100vh;color:var(--foreground)}:is(.ed :focus-visible,.ed-preview :focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.ed-bar{z-index:30;border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;height:72px;padding:0 40px;display:flex;position:sticky;top:0}.ed-mark{background:var(--brand-mark);width:40px;height:40px;color:var(--primary-foreground);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.ed-divider{background:var(--input);width:1px;height:28px}.ed-back{height:44px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:15px;font-weight:600;display:inline-flex}.ed-back:hover{background:var(--quiz-bg);color:var(--primary-text)}.ed-bar-title,.ed-narrow,.ed-phone-bar{display:none}.ed-spacer{flex:1}.ed-dirty{color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.ed-dirty i{background:var(--warning);border-radius:50%;width:8px;height:8px}.ed-preview-button{border:1px solid var(--border);background:var(--surface);height:44px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.ed-preview-button:hover{border-color:var(--border-hover);background:var(--quiz-bg)}.ed-save,.ed-phone-save{background:var(--primary);height:44px;color:var(--primary-foreground);font:inherit;cursor:pointer;box-shadow:0 3px 0 var(--primary-shadow);border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.ed-save:hover:not(:disabled),.ed-phone-save:hover:not(:disabled){background:var(--primary-text)}.ed-save:disabled,.ed-phone-save:disabled{cursor:progress;opacity:.7}.ed-main{flex-direction:column;gap:20px;max-width:1600px;margin:0 auto;padding:28px 40px 40px;display:flex}.ed-heading{flex-direction:column;gap:6px;display:flex}.ed-heading .eyebrow{color:var(--muted-foreground);margin:0;font-size:12px;font-weight:600}.ed-heading h1{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:600;line-height:1.15}.ed-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;min-width:0;padding:24px}.ed h2{margin:0;font-size:16px;font-weight:600;line-height:1.3}.ed-field{flex-direction:column;gap:8px;min-width:0;margin:0;font-size:14px;font-weight:600;display:flex}.ed-field>label{align-items:center;gap:6px;margin:0;display:flex}.ed-field input,.ed-field textarea{border-radius:12px;margin:0;font-size:15px;font-weight:500}.ed-field input:not([type=radio]){height:48px}.ed-field .field-select{white-space:normal;width:100%;min-height:48px;border-radius:12px!important;height:auto!important;font-size:15px!important}.ed-field .field-select>[data-slot=select-value]{-webkit-line-clamp:unset;line-height:1.3;display:block;overflow:visible}.ed-hint{color:var(--text-2);font-size:13px;font-weight:500;line-height:1.45}.ed-optional{color:var(--text-2);font-weight:500}.ed-details{flex-direction:column;gap:20px;display:flex}.ed-kinds{border:0;border-bottom:1px solid var(--line-soft);min-width:0;margin:0;padding:0 0 20px}.ed-kinds legend{margin-bottom:10px;padding:0;font-size:14px;font-weight:600}.ed-kind-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ed-kind-options label{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 12px;margin:0;padding:14px;display:grid}.ed-kind-options label[data-checked]{border-color:var(--primary);background:var(--primary-soft)}.ed-kind-options input{width:18px;height:18px;accent-color:var(--primary);grid-row:span 2;margin:0;padding:0;box-shadow:none!important}.ed-kind-options strong{align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.ed-kind-options small{color:var(--text-2);grid-column:2;font-size:13px;font-weight:500}.ed-fields{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.ed-field-title{flex:320px}.ed-field-grade .field-select{width:200px}.ed-unit{border:1px solid var(--input);background:var(--surface);height:48px;color:var(--text-2);border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.ed-unit:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ed-field .ed-unit input{width:64px;height:100%;color:var(--foreground);box-shadow:none;background:0 0;border:0;padding:0;font-size:16px;font-weight:600}.ed-total{background:var(--primary-soft);min-width:72px;height:48px;color:var(--primary-text);border-radius:12px;align-items:center;padding:0 14px;font-size:18px;font-weight:600;display:flex}.ed-grid{grid-template-columns:280px minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.ed-questions{flex-direction:column;gap:10px;max-height:calc(100vh - 112px);padding:18px;display:flex;position:sticky;top:92px;overflow-y:auto}.ed-questions-head{justify-content:space-between;align-items:baseline;padding:0 4px 6px;display:flex}.ed-questions-head span{color:var(--text-2);font-size:13px;font-weight:600}.ed-question-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ed-question-item{width:100%;min-height:44px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.ed-question-item:hover{background:var(--background)}.ed-question-item[aria-current]{background:var(--primary-soft)}.ed-question-number{width:22px;color:var(--text-2);flex:none;font-size:13px;font-weight:600}.ed-question-item[aria-current] .ed-question-number{color:var(--primary-text)}.ed-question-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ed-question-text>span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ed-question-text small{color:var(--text-2);font-size:12px;font-weight:600}.ed-question-item[data-issue] .ed-question-text small{color:var(--warning-fg)}.ed-flag{background:var(--exam-bg);width:20px;height:20px;color:var(--warning-fg);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.ed-question-go{color:var(--primary-text);opacity:0}.ed-question-item[aria-current] .ed-question-go{opacity:1}.ed-add-question{border:2px dashed var(--border-dashed);background:var(--surface);height:48px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:0 14px;font-size:15px;font-weight:600;display:flex}.ed-add-question:hover{border-color:var(--focus-ring)}.ed-questions .word-import>.button{width:100%;height:44px;min-height:44px;color:var(--ink-2);box-shadow:none;background:0 0;border:0;font-size:14px}.ed-questions .word-import>.button:hover:not(:disabled){background:var(--quiz-bg)}.ed-question{flex-direction:column;gap:18px;display:flex;container:ed-question/inline-size}.ed-question-head{align-items:center;gap:8px;display:flex}.ed-question-head h2{flex:1;font-size:22px}.ed-question-head h2 span{color:var(--text-2);font-size:15px;font-weight:600}.ed-icon{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ed-icon:hover:not(:disabled){border-color:var(--border-hover);background:var(--quiz-bg)}.ed-icon.is-danger{color:var(--danger)}.ed-icon:disabled{cursor:not-allowed;opacity:.45}.ed-text{border:1px solid var(--input);background:var(--surface);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.ed-text:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ed-toolbar{border-bottom:1px solid var(--segment-bg);background:var(--toolbar-bg);align-items:center;gap:2px;padding:6px 8px;display:flex}.ed-toolbar button{min-width:36px;height:36px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:15px;display:inline-flex}.ed-toolbar button:hover{background:var(--quiz-bg)}.ed-toolbar b{font-weight:600}.ed-toolbar i{font-family:Georgia,serif;font-weight:600}.ed-toolbar .ed-toolbar-wide{font-size:14px;font-weight:600}.ed-toolbar-divider{background:var(--input);width:1px;height:20px;margin:0 6px}.ed-text textarea{border:0;border-radius:0;min-height:96px;padding:14px 16px;font-size:18px;display:block;box-shadow:none!important}.ed-rendered{background:var(--background);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;font-size:16px;font-weight:500;display:flex}.ed .matching-editor{margin:0}.ed .matching-columns{margin:12px 0 0}.ed-accepted label{margin:0}.ed-accepted label textarea{margin-top:8px}.ed-answers-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.ed-answer-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}@container ed-question (width>=620px){.ed-answer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed-answer{border:2px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.ed-answer:focus-within{border-color:var(--border-hover)}.ed-answer[data-correct]{border-color:var(--correct);background:var(--correct-bg)}.ed-shape{width:44px;height:44px;color:var(--primary-foreground);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.ed [data-shape="0"],.ed-preview [data-shape="0"]{--shape:var(--shape-triangle)}.ed [data-shape="1"],.ed-preview [data-shape="1"]{--shape:var(--shape-diamond)}.ed [data-shape="2"],.ed-preview [data-shape="2"]{--shape:var(--shape-circle)}.ed [data-shape="3"],.ed-preview [data-shape="3"]{--shape:var(--shape-square)}.ed-shape,.ed-preview-answers li{background:var(--shape)}.ed-field .ed-answer input{min-width:0;height:44px;box-shadow:none;background:0 0;border:0;flex:1;padding:0 4px;font-size:16px;font-weight:600}.ed-correct{border:1px solid var(--input);background:var(--surface);height:40px;color:var(--text-2);font:inherit;cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.ed-correct:hover{border-color:var(--correct);color:var(--correct)}.ed-correct[aria-pressed=true]{border-color:var(--correct);background:var(--correct);color:var(--primary-foreground)}.ed-answer-remove{width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ed-answer-remove:hover{background:var(--danger-bg);color:var(--danger)}@media (hover:hover) and (pointer:fine){.ed-answer{position:relative}.ed-answer-remove{border:1px solid var(--border);background:var(--surface);opacity:0;border-radius:50%;width:28px;height:28px;position:absolute;top:-10px;right:-10px}.ed-answer-remove svg{width:14px;height:14px}.ed-answer:hover .ed-answer-remove{opacity:1}.ed-answer-remove:focus-visible{opacity:1}}.ed-add-answer{height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.ed-add-answer:hover{background:var(--primary-soft)}.ed-question-nav{border-top:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding-top:16px;display:flex}.ed-step{border:1px solid var(--border);background:var(--surface);height:44px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.ed-step:hover:not(:disabled){border-color:var(--border-hover);background:var(--quiz-bg)}.ed-step:disabled{cursor:default;opacity:.45}.ed-settings{flex-direction:column;gap:20px;padding:20px;display:flex}.ed-note{background:var(--exam-bg);color:var(--exam-fg);border-radius:12px;gap:10px;margin:0;padding:12px;font-size:13px;font-weight:600;display:flex}.ed-stepper{align-items:center;gap:8px;display:flex}.ed-field .ed-stepper input{text-align:center;width:80px;height:44px;padding:0 8px;font-size:16px;font-weight:600}.ed-field-topic{border-top:1px solid var(--line-soft);padding-top:20px}.ed-field-topic>span,.ed-field-explanation>span{display:block}.ed-tag-rest{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--link);font:inherit;text-align:left;cursor:pointer;border-radius:10px;align-self:flex-start;align-items:center;gap:8px;margin-top:-8px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.3;display:inline-flex}.ed-topic-near{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-fg);border-radius:10px;margin:-8px 0 0;padding:8px 12px;font-size:14px;line-height:1.4;display:block}.ed-topic-near button{min-height:44px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600;text-decoration:underline}.ed-preview{z-index:51;background:var(--surface);width:min(760px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);color:var(--foreground);border-radius:24px;outline:none;flex-direction:column;gap:16px;padding:28px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.ed-preview-nav{justify-content:space-between;gap:12px;display:flex}.ed-preview-nav .button{min-height:44px}.ed-preview-head{align-items:flex-start;gap:16px;display:flex}.ed-preview-head>div{flex-direction:column;flex:1;gap:4px;display:flex}.ed-preview-title{font-family:var(--display);margin:0;font-size:22px;font-weight:600}.ed-preview-screen{background:var(--background);border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.ed-preview-question{background:var(--surface);text-align:center;border-radius:14px;justify-content:center;margin:0;padding:18px;font-size:20px;font-weight:600;line-height:1.45;display:flex}.ed-preview-question .formatted-text{text-align:start}.ed-preview-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.ed-preview-answers li{min-height:56px;color:var(--primary-foreground);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:16px;font-weight:600;display:flex}.ed-preview-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ed-preview-columns ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ed-preview-columns li{background:var(--surface);border-radius:10px;gap:8px;padding:10px 12px;font-weight:600;display:flex}.ed-preview-inputs{gap:12px;display:grid}.ed-preview-input-row{gap:6px;font-size:14px;font-weight:600;display:grid}.ed-preview-input{border:2px dashed var(--input);background:var(--surface);color:var(--muted-foreground);border-radius:12px;padding:14px;font-weight:500}.ed-preview-input[data-long]{min-height:96px}.ed-preview-looks{border:0;gap:6px;margin:0;padding:0;display:flex}.ed-preview-looks button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);border-radius:999px;padding:0 16px;font-weight:600}.ed-preview-looks button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.ed-preview-screen[data-kodoo]{border:6px solid var(--foreground);border-radius:28px;width:100%;max-width:340px;margin:0 auto}.ed-preview-screen[data-kodoo] .ed-preview-question{font-size:17px}.ed-preview-screen[data-kodoo] .ed-preview-answers{grid-template-columns:1fr}.ed-preview-screen[data-kodoo] .ed-preview-answers li{border:2px solid var(--border);background:var(--surface);color:var(--foreground)}.ed-preview-screen[data-kodoo] .ed-preview-answers li>span:first-child{background:var(--primary);width:30px;height:30px;color:var(--primary-foreground);border-radius:999px;flex:none;place-items:center;display:inline-grid}.ed-kodoo-top{gap:6px;font-size:14px;font-weight:600;display:grid}.ed-kodoo-bar{gap:3px;display:flex}.ed-kodoo-bar i{background:var(--border);border-radius:3px;flex:1;height:6px}.ed-kodoo-bar i[data-on]{background:var(--primary)}.ed-kodoo-coins{color:var(--muted-foreground);text-align:center;margin:0;font-size:14px}@media (min-width:768px) and (max-width:1199px){.ed-bar{gap:10px;height:68px;padding:0 24px}.ed-mark,.ed-divider,.ed-wide{display:none}.ed-narrow{display:inline}.ed-main{gap:16px;padding:24px}.ed-heading h1{font-size:28px}.ed-card{padding:20px}.ed-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.ed-settings h2{grid-column:1/-1}.ed-field-topic{border-top:0;padding-top:0}}@media (max-width:1199px){.ed-grid{grid-template-columns:minmax(0,1fr);gap:16px}.ed-preview-button{width:44px;padding:0}.ed-preview-button span{display:none}.ed-questions{flex-direction:row;align-items:center;gap:8px;max-height:none;padding:12px 14px;position:static;overflow-x:auto}.ed-questions-head,.ed-question-text,.ed-question-go{display:none}.ed-question-list{flex-direction:row;gap:8px}.ed-question-item{border-color:var(--border);gap:6px;width:auto;height:44px;padding:0 12px}.ed-question-item[aria-current]{border-color:var(--primary)}.ed-question-number{width:auto}.ed-flag{width:18px;height:18px;font-size:12px}.ed-add-question{height:44px;margin:0}.ed-questions .word-import{flex:none}.ed-questions .word-import>.button{width:auto;padding:0 12px}.ed-correct{border-radius:50%;width:44px;height:44px;padding:0}.ed-correct span{display:none}}@media (max-width:767px){.ed-bar{gap:4px;height:56px;padding:0 6px}.ed-mark,.ed-divider,.ed-spacer,.ed-save,.ed-heading .eyebrow,.ed-add-question{display:none}.ed-back{justify-content:center;width:44px;padding:0}.ed-back span,.ed-wide{display:none}.ed-narrow{display:inline}.ed-bar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:16px;font-weight:600;display:block;overflow:hidden}.ed-dirty{font-size:12px}.ed-preview-button{border:0}.ed-main{padding:16px 16px calc(100px + env(safe-area-inset-bottom));gap:12px}.ed-heading h1{font-size:20px}.ed-card{border-radius:16px;padding:16px}.ed-details{gap:14px}.ed-kinds{padding-bottom:14px}.ed-kinds legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ed-kind-options{gap:8px}.ed-kind-options label{grid-template-columns:minmax(0,1fr);padding:12px}.ed-kind-options input{grid-row:auto}.ed-kind-options strong{font-size:14px}.ed-kind-options small{grid-column:1;font-size:12px}.ed-fields{flex-direction:column;align-items:stretch;gap:14px}.ed-field-title{flex:none}.ed-field-grade .field-select{width:100%}.ed-field input,.ed-field textarea,.ed-text textarea{font-size:16px}.ed-grid{gap:12px}.ed-questions{padding:10px 12px}.ed-question{gap:16px}.ed-question-head h2{font-size:18px}.ed-text{flex-direction:column-reverse}.ed-toolbar{border-top:1px solid var(--segment-bg);border-bottom:0;padding:4px 6px}.ed-toolbar button{min-width:44px;height:40px}.ed-answer{gap:8px}.ed-settings{gap:18px;padding:16px}.ed-field-topic{border-top:1px solid var(--line-soft);padding-top:18px}.ed-phone-bar{z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.ed-phone-add{border:1px solid var(--input);background:var(--surface);height:52px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.ed-phone-save{border-radius:14px;flex:1.4;height:52px}.ed-preview{width:auto;max-height:calc(100dvh - 40px);padding:20px 16px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;inset:auto 0 0;transform:none}.ed-preview-question{font-size:18px}.ed-preview-answers{grid-template-columns:minmax(0,1fr)}}.lesson-tools .lesson-grade-filter{margin-left:0}.lesson-retry{align-self:flex-start}.lesson-group{flex-direction:column;gap:14px;display:flex}.lesson-group-head{align-items:center;gap:12px;display:flex}.lesson-group-head h2{color:var(--foreground);white-space:nowrap;margin:0;font-size:20px;font-weight:600}.lesson-group-count{background:var(--segment-bg);color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:13px;font-weight:600}.lesson-group-rule{background:var(--input);flex:1;height:1px}.lesson-group-add{height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.lesson-group-add:hover{background:var(--primary-soft)}.lesson-group-add:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.lesson-add-narrow,.lesson-play-narrow,.lesson-item-sub{display:none}.lesson-item time{font-variant-numeric:tabular-nums}.share-list{flex-direction:column;gap:8px;max-height:min(50vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.share-list li{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.share-list li[data-open]{border-color:var(--correct-bg);background:var(--correct-bg)}.share-class{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.share-class strong{font-size:15px;font-weight:600}.share-class small{color:var(--text-2);font-size:13px}.share-state{color:var(--ready);align-items:center;gap:4px;font-weight:600;display:inline-flex}.share-class .share-warn{color:var(--warning-fg);font-weight:600}.share-list .button{flex:none;min-width:96px;height:44px}.share-empty{color:var(--text-2);margin:0;font-size:14px}@media (min-width:768px) and (max-width:1199px){.lesson-tools .library-grade{flex:1 1 0;margin-left:0}.lesson-group-head h2{font-size:18px}.lesson-add-wide,.lesson-play-wide{display:none}.lesson-add-narrow,.lesson-play-narrow{display:inline}}@media (max-width:767px){.lessons-page .library-summary,.lesson-group-rule,.lesson-group-add{display:none}.lesson-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lesson-tools .library-search{grid-column:1/-1}.lessons-page .lesson-tools .library-grade{background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;height:auto;margin:0;padding:0;font-size:12px;display:flex}.lessons-page .lesson-tools .library-grade .field-select{width:100%;min-width:0;border:1px solid var(--input)!important;background:var(--surface)!important;border-radius:12px!important;height:44px!important;font-size:16px!important}.lesson-group{gap:10px}.lesson-group-head h2{font-size:18px}.lesson-group-count{padding:2px 9px;font-size:12px}.lesson-item{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:2px 12px;padding:14px;display:grid}.lesson-item .set-card-top{display:contents}.lesson-item .set-grade{grid-row:1/span 2;align-self:start}.lesson-item .set-kind,.lesson-item .set-count,.lesson-item .set-meta{display:none}.lesson-item h3{grid-column:2;min-height:0;font-size:16px;line-height:22px}.lesson-item-sub{color:var(--text-2);grid-column:2;margin:0;font-size:13px;display:block}.lesson-item .set-card-foot{grid-column:1/-1;margin-top:10px}}.lesson-ed{flex-direction:column;gap:20px;min-width:0;display:flex}.lesson-ed :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.lesson-ed-head{align-items:flex-end;gap:12px;display:flex}.lesson-ed-title{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lesson-ed-back{min-height:44px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-self:flex-start;align-items:center;gap:6px;margin:-8px 0 -4px -8px;padding:0 8px;font-size:14px;font-weight:600;display:inline-flex}.lesson-ed-back:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-text)}.lesson-ed-head h1{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:600;line-height:1.1}.lesson-ed-cancel{border:1px solid var(--border);background:var(--surface);height:48px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:12px;flex:none;align-items:center;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.lesson-ed-cancel:hover:not(:disabled){border-color:var(--border-hover);background:var(--quiz-bg)}.lesson-ed-head .ed-dirty{height:48px}.lesson-ed .ed-save{font-variant-numeric:tabular-nums;height:48px;padding:0 22px}.lesson-ed-body{border:0;flex-direction:column;gap:20px;min-width:0;margin:0;padding:0;display:flex}.lesson-ed-details{grid-template-columns:minmax(0,1fr) 200px 180px;align-items:start;gap:20px;display:grid}.lesson-ed-details .ed-field>label b{color:var(--danger)}.lesson-ed-details .ed-unit{width:100%}.lesson-ed-details .ed-field .ed-unit input{width:48px;font-weight:600}.lesson-ed-name input[aria-invalid=true],.lesson-ed-details .ed-unit[data-invalid],.lesson-ed-details .field-select[aria-invalid=true]{border-color:var(--danger)!important}.lesson-field-error{color:var(--danger);font-size:13px;font-weight:600;line-height:1.4}.lesson-materials{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;min-width:0;display:flex}.lesson-tabs{border-bottom:1px solid var(--segment-bg);scrollbar-width:none;gap:4px;padding:0 16px;display:flex;overflow-x:auto}.lesson-tab{height:60px;color:var(--ink-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex;position:relative}.lesson-tab:hover{color:var(--primary-text)}.lesson-tab[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary-text)}.lesson-tab-count{background:var(--segment-bg);min-width:22px;height:22px;color:var(--ink-2);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.lesson-tab[aria-selected=true] .lesson-tab-count{background:var(--primary);color:var(--primary-foreground)}.lesson-panel{flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.lesson-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.lesson-panel-head h2{margin:0;font-size:18px;font-weight:600}.lesson-panel-head .ed-hint{margin:0}.lesson-drop{border:2px dashed var(--border-hover);background:var(--toolbar-bg);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:180px;padding:24px;transition:border-color .15s,background-color .15s;display:flex}.lesson-drop[data-over]{border-color:var(--primary);background:var(--primary-soft)}.lesson-drop-icon{background:var(--primary-soft);width:52px;height:52px;color:var(--primary-text);border-radius:50%;justify-content:center;align-items:center;display:flex}.lesson-drop strong{font-size:16px;font-weight:600}.lesson-drop-or{color:var(--text-2);font-size:14px}.lesson-drop-pick{background:var(--primary);height:44px;color:var(--primary-foreground);font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.lesson-drop-pick:hover:not(:disabled){background:var(--primary-text)}.lesson-drop-pick:disabled{cursor:progress;opacity:.7}.lesson-files{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-file{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.lesson-file-kind{background:var(--file-pptx-bg);width:40px;height:40px;color:var(--file-pptx-fg);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.lesson-file-kind[data-kind=PDF]{background:var(--file-pdf-bg);color:var(--file-pdf-fg)}.lesson-file-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.lesson-file-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.lesson-file-main small{color:var(--text-2);font-size:13px}.lesson-file-note{display:none}.lesson-file-state{color:var(--ready);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.lesson-file-state[data-pending]{color:var(--text-2);font-weight:600}.lesson-file[data-sending] .lesson-file-state{color:var(--primary-text);font-variant-numeric:tabular-nums;font-weight:600}.lesson-file[data-removed]{background:var(--toolbar-bg);border-style:dashed}.lesson-file[data-removed] .lesson-file-main strong{color:var(--text-2);text-decoration:line-through}.lesson-file[data-removed] .lesson-file-state{color:var(--danger)}.lesson-file-button{width:44px;height:44px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.lesson-file-button[data-danger]{color:var(--danger)}.lesson-file-button:hover:not(:disabled){background:var(--segment-bg)}.lesson-file-button[data-danger]:hover:not(:disabled){background:var(--danger-bg)}.lesson-file-bar{background:var(--segment-bg);-webkit-appearance:none;appearance:none;border:0;border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.lesson-file-bar::-webkit-progress-bar{background:var(--segment-bg);border-radius:999px}.lesson-file-bar::-webkit-progress-value{background:var(--primary);border-radius:999px}.lesson-file-bar::-moz-progress-bar{background:var(--primary);border-radius:999px}.lesson-files-empty{color:var(--text-2);text-align:center;margin:0;font-size:14px}.lesson-note textarea{resize:vertical;min-height:110px}.lesson-panel .learning-editor,.lesson-panel .code-exercise-editor{margin:0}@media (min-width:768px) and (max-width:1199px){.lesson-ed,.lesson-ed-body{gap:16px}.lesson-ed-head h1{font-size:28px}.lesson-ed-cancel{display:none}.lesson-ed-details{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-ed-name{grid-column:1/-1}.lesson-tabs{padding:0 12px}.lesson-tab{gap:6px;height:56px;padding:0 10px;font-size:14px}.lesson-panel{padding:20px}.lesson-panel-head{flex-direction:column;align-items:flex-start;gap:2px}}@media (max-width:767px){.teacher-dashboard.is-editing{grid-template-rows:minmax(0,1fr)}.teacher-dashboard.is-editing .dashboard-sidebar{display:none}.teacher-dashboard.is-editing .dashboard-main{padding:0 16px calc(100px + env(safe-area-inset-bottom))}.lesson-ed,.lesson-ed-body{gap:12px}.lesson-ed-head{z-index:30;border-bottom:1px solid var(--segment-bg);background:var(--surface);align-items:center;gap:8px;height:56px;margin:0 -16px;padding:0 16px 0 6px;position:sticky;top:0}.lesson-ed-title{flex-direction:row;align-items:center}.lesson-ed-back{width:44px;color:var(--ink-2);justify-content:center;align-self:center;margin:0;padding:0}.lesson-ed-back span,.lesson-ed-cancel{display:none}.lesson-ed-back svg{width:22px;height:22px}.lesson-ed-head h1{text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:16px;font-weight:600;overflow:hidden}.lesson-ed-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.lesson-ed-name{grid-column:1/-1}.lesson-ed-details .ed-field .ed-unit input{width:100%}#lesson-week-unit{display:none}.lesson-materials{background:0 0;border:0;border-radius:0;gap:12px}.lesson-tabs{border-bottom:0;gap:8px;margin:0 -16px;padding:0 16px 4px}.lesson-tab{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:6px;height:44px;padding:0 14px;font-size:14px}.lesson-tab[aria-selected=true]{border-color:var(--foreground);background:var(--foreground);color:var(--surface)}.lesson-tab-count,.lesson-tab[aria-selected=true] .lesson-tab-count{min-width:0;height:auto;color:inherit;opacity:.8;background:0 0;padding:0;font-weight:600}.lesson-panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:12px;padding:16px}.lesson-panel-head{flex-direction:column;align-items:flex-start;gap:2px}.lesson-drop{min-height:0;padding:16px}.lesson-drop strong,.lesson-drop-or{display:none}.lesson-drop-pick{align-self:stretch;height:48px}.lesson-file{gap:10px;padding:10px 4px 10px 10px}.lesson-file-main{gap:4px}.lesson-file-main strong{font-size:14px}.lesson-file-main small{font-size:12px;font-weight:600}.lesson-file[data-saved] small{color:var(--ready)}.lesson-file[data-removed] small{color:var(--danger)}.lesson-file-note{display:inline}.lesson-file-state{display:none}.lesson-file[data-sending] .lesson-file-state{display:inline-flex}}.game-back{border:1px solid var(--border);background:var(--surface);height:44px;color:var(--ink-2);white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.game-back:hover{border-color:var(--border-hover);background:var(--quiz-bg);color:var(--primary-text)}.game-back:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.results-stage>.button{margin-top:8px}@media (max-width:767px){.game-back{justify-content:center;width:44px;padding:0}.game-back span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.class-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.class-head-title{flex-direction:column;gap:6px;min-width:0;display:flex}.crumb-back{min-height:32px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.crumb-back:hover{color:#3f24ae;text-decoration:underline}.class-head h1{font-family:var(--display);letter-spacing:-.5px;margin:0;font-size:28px;font-weight:600;line-height:1.2}.class-head-meta{color:var(--ink-3);margin:0;font-size:14px}.class-switch{color:var(--ink-3);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.class-switch select{border:1px solid var(--input);min-width:170px;height:44px;color:var(--foreground);font:inherit;background:#fff;border-radius:10px;padding:0 12px;font-size:14px;font-weight:500}.segmented{background:#ece9f6;border:0;border-radius:12px;align-self:flex-end;min-inline-size:0;margin:0;padding:4px;display:flex}.segmented button{height:36px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:14px;font-weight:600}.segmented button[aria-pressed=true]{color:var(--accent-foreground);background:#fff;font-weight:600;box-shadow:0 1px 3px #1c18301f}.kpi-wide{display:inline}.progress-page{flex-direction:column;gap:22px;display:flex}.progress-note{max-width:none;color:var(--ink-3);align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.45;display:flex}.progress-note svg{flex-shrink:0;margin-top:1px}.progress-note-phone{display:none}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:18px 20px;display:flex}.kpi-card.is-attention{background:#fff8f6;border-color:#f6d5cf}.kpi-label{color:var(--ink-3);font-size:13px;font-weight:600}.kpi-alert{align-items:center;gap:6px;display:flex}.kpi-card.is-attention .kpi-alert{color:#9b1c1c;font-weight:600}.kpi-value{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.kpi-number{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.2}.kpi-name{font-family:var(--display);overflow-wrap:anywhere;font-size:24px;font-weight:600;line-height:1.25}.kpi-person{flex-direction:column;gap:4px}.kpi-person .kpi-name{color:var(--foreground);text-align:left;font-size:22px}.kpi-delta{align-items:center;gap:8px}.kpi-delta.is-up{color:#0f6b3e}.kpi-delta.is-down{color:#9b1c1c}.kpi-delta.is-flat{color:var(--ink-3)}.kpi-unit{font-size:14px;font-weight:600}.kpi-sub{color:#6b6785;font-size:13px}.link-button{color:var(--link);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link-button:hover{color:#3f24ae;text-decoration:underline}.pill{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-block}.kpi-card .pill{padding:3px 9px;font-size:12px}.tone-low{color:#9b1c1c;background:#fde2e0}.tone-mid{color:#8a3b00;background:#ffe3cc}.tone-fair{color:#6b4e00;background:#fff0bf}.tone-good{color:#0f5e36;background:#d6f2e1}.tone-absent{color:var(--ink-3);background:#eeedf3;font-weight:600}.tone-thin{color:var(--ink-3);background:0 0;padding-inline:0;font-style:italic;font-weight:500}.pill small{font-weight:500}.progress-duo{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.trend{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:12px;max-width:none;margin:0;padding:20px 22px;display:flex}.trend-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;display:flex}.trend-title{margin:0;font-size:16px;font-weight:600}.trend-legend{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:flex}.trend-legend-dot{background:var(--primary);border-radius:50%;width:10px;height:10px}.trend-plot{margin-top:0}.trend-grid{stroke:#eceaf3}.trend-baseline{stroke:#d5d1e4}.trend-band{fill:#f8f7fc}.trend-axis{fill:#6b6785;font-size:11px}.trend-level{fill:#8f8aa6;font-size:11px;font-weight:600}.trend-line{stroke:var(--primary);stroke-width:2.5px}.trend-area{fill:var(--primary);fill-opacity:.08}.trend-dot{fill:#fff;stroke:var(--primary);stroke-width:2.5px}.trend-value{fill:var(--foreground);font-size:13px;font-weight:600}.trend-date{fill:var(--ink-3);font-size:11px;font-weight:600}.trend-session{fill:var(--ink-3);font-size:11px}.topics-panel{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:18px;padding:20px 22px;display:flex}.panel-head{flex-direction:column;gap:4px;display:flex}.panel-head h2{margin:0;font-size:16px;font-weight:600}.panel-head .muted{font-size:13px}.topic-bars{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.topic-bars li{flex-direction:column;gap:8px;display:flex}.topic-bar-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.topic-bar-head strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.topic-bar-head .pill{padding:3px 9px;font-size:12px}.topic-track{background:var(--line-soft);border-radius:999px;height:8px;display:block;overflow:hidden}.topic-fill{border-radius:999px;height:8px;display:block}.bar-low{background:#d64541}.bar-mid{background:#e0782f}.bar-fair{background:#d4a514}.bar-good{background:#2f9e62}.topic-count{font-size:12px}.topics-action{border:1px solid var(--input);min-height:44px;color:var(--link);line-height:1.3;font:inherit;cursor:pointer;background:#fff;border-radius:10px;margin-top:auto;padding:10px 14px;font-size:14px;font-weight:600}.topics-action:hover{background:#f7f5fe}.students-panel{border:1px solid var(--border);background:#fff;border-radius:16px;overflow:hidden}.students-panel>.panel-head{flex-direction:row;justify-content:space-between;align-items:center;padding:16px 22px}.tone-legend{color:var(--ink-3);align-items:center;gap:14px;font-size:12px;display:flex}.tone-legend>span{align-items:center;gap:5px;display:flex}.tone-legend i{border-radius:4px;width:10px;height:10px}.swatch-low{background:#f4b4ae}.swatch-mid{background:#f8c08f}.swatch-fair{background:#f2d56b}.swatch-good{background:#8fd8ae}.students-average{display:none}.students-scroll{overflow-x:auto}.students-table{border-collapse:collapse;width:100%;font-size:14px}.students-table thead tr{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;background:#faf9fd}.students-table th,.students-table td{text-align:left;vertical-align:middle;padding:14px 8px}.students-table thead th{vertical-align:top;white-space:nowrap;padding:12px 8px;font-size:13px;font-weight:600}.students-table thead th small{color:#6b6785;font-size:12px;font-weight:400;display:block}.session-name{text-overflow:ellipsis;white-space:nowrap;max-width:96px;display:block;overflow:hidden}.session-live{color:var(--primary);font-size:11px;font-weight:600;display:block}.students-table th:first-child{padding-left:22px}.students-table th:last-child,.students-table td:last-child{text-align:right;padding-right:22px}.students-table tbody tr{border-bottom:1px solid var(--line-soft)}.students-table tbody tr.is-attention{background:#fffbfa}.students-table tbody th{white-space:nowrap;font-weight:600}.attention-tag{color:#9b1c1c;margin-left:6px;font-size:11px;font-weight:600}.students-table .strong{font-weight:600}.students-table tfoot tr{border-top:1px solid var(--line-soft);background:#faf9fd}.students-table tfoot th{font-weight:600}.delta{color:var(--ink-3);font-weight:600}.delta.is-up{color:#0f6b3e}.delta.is-down{color:#9b1c1c}.spark path{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linejoin:round}.spark-end{fill:var(--primary)}.spark-missing{fill:none;stroke:#a7a3ba;stroke-width:1.5px}.student-cards{display:none}.student-title{font-family:var(--display);letter-spacing:-.5px;flex-direction:column;gap:4px;margin:0;font-size:28px;font-weight:600;display:flex}.student-title small{letter-spacing:0;color:var(--ink-3);font-family:Manrope,system-ui,sans-serif;font-size:14px;font-weight:500}.print-report{flex-direction:column;gap:22px;display:flex}.report-actions{justify-content:flex-end;margin-bottom:-12px;display:flex}.advice-panel{background:#fff;border:1px solid #e4e3ee;border-radius:16px;gap:12px;padding:18px 20px;display:grid}.advice-panel h3{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.advice-panel h3 svg{color:#c28a00}.advice-notes{gap:10px;margin:0;padding:0;list-style:none;display:grid}.advice-notes li{background:#f4f0ff;border-radius:12px;padding:12px 14px}.advice-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.advice-notes small{color:#6b6785;align-items:center;gap:8px;margin-top:6px;display:flex}.remarks-panel h3 svg{color:var(--primary-text)}.me-remarks-title{margin:8px 0 0;font-size:16px}.me-remarks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.me-remarks li{background:var(--primary-soft);overflow-wrap:anywhere;border-radius:10px;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.me-remarks small{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none}.remarks-tally{flex-wrap:wrap;gap:6px;margin:0;display:flex}.remarks-list{gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.remarks-list li{background:var(--background);border-radius:12px;padding:10px 14px}.remarks-list small{color:var(--muted-foreground);font-size:12px}.remarks-list p{overflow-wrap:anywhere;margin:2px 0 0}@media print{.remarks-list{max-height:none;overflow:visible}}.advice-delete{color:var(--danger);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px;display:inline-flex}.advice-delete:hover{background:#fff1f3}.advice-form{gap:6px;display:grid}.advice-form label{font-size:14px;font-weight:600}.advice-form textarea{resize:vertical;width:100%}.advice-form-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.advice-auto{gap:8px;margin:0;padding:0;list-style:none;display:grid}.advice-auto li{border-radius:10px;padding:10px 12px 10px 36px;position:relative}.advice-auto li:before{font-weight:600;position:absolute;left:12px}.advice-auto li.is-work{color:#6b4e00;background:#fff8dc}.advice-auto li.is-work:before{content:"!"}.advice-auto li.is-good{color:#1f6b50;background:#e9f7f1}.advice-auto li.is-good:before{content:"✓"}.advice-source{margin:0;font-size:13px}@media print{body:has(.print-report) :not(:has(.print-report)):not(.print-report):not(.print-report *){display:none!important}body:has(.print-report) .no-print{display:none!important}.print-report,.print-report *{visibility:visible}body:has(.print-report) :has(.print-report){width:auto!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.print-report{gap:14px}.advice-panel,.advice-notes li,.advice-auto li{break-inside:avoid}}@page{margin:14mm}.student-progress .crumb-back{align-self:flex-start}.student-progress .student-timeline>li{border-color:var(--border);border-radius:14px}@media (min-width:700px) and (max-width:1099px){.class-head{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:18px}.class-head h1{font-size:28px}.class-switch{flex:1}.class-switch>span{display:none}.class-switch select{width:100%}.segmented button{padding:0 18px}.progress-page{gap:18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{padding:16px 18px}.kpi-number{font-size:28px}.kpi-name{font-size:22px}.kpi-person{flex-direction:row;align-items:baseline;gap:10px}.kpi-person .kpi-name{font-size:20px}.kpi-wide{display:none}.progress-duo{flex-direction:column;gap:18px;display:flex}.trend,.topics-panel{padding:18px 20px}.topics-panel{gap:14px}.topics-panel>.panel-head{flex-direction:row;justify-content:space-between;align-items:baseline}.topic-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.topics-action,.tone-legend,.col-trend,.col-change{display:none}.students-panel>.panel-head{padding:16px 20px}.students-table{font-size:13px}.students-table thead th{padding:10px 6px}.students-table th,.students-table td{padding:14px 6px}.students-table th:first-child{padding-left:20px}.students-table th:last-child,.students-table td:last-child{padding-right:20px}.students-table .pill{padding:4px 8px;font-size:12px}.session-name{max-width:88px}}@media (max-width:699px){.class-head{flex-direction:column;align-items:stretch;gap:16px;margin-bottom:16px}.class-head-title{gap:4px}.class-head h1{font-size:24px}.class-head-meta{font-size:13px}.class-switch>span{display:none}.class-switch select{border-radius:12px;width:100%;height:48px;font-size:16px}.segmented{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-self:stretch;display:grid}.segmented button{height:40px;padding:0;font-size:15px}.kpi-wide{display:none}.progress-page{gap:16px}.progress-note{display:none}.progress-note-phone{border:1px solid var(--border);color:var(--ink-3);background:#fff;border-radius:12px;padding:0 14px;font-size:13px;display:block}.progress-note-phone summary{min-height:44px;color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.progress-note-phone p{margin:0;padding-bottom:12px;line-height:1.45}.kpi-grid,.kpi-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-card{border-radius:14px;gap:4px;padding:14px}.kpi-label,.kpi-sub{font-size:12px}.kpi-number{font-size:24px}.kpi-card .pill{padding:2px 8px;font-size:11px}.kpi-name,.kpi-person .kpi-name{font-family:Manrope,system-ui,sans-serif;font-size:16px;font-weight:600}.kpi-topic{flex-direction:column;align-items:flex-start;gap:4px}.kpi-delta{gap:6px}.kpi-delta svg{width:18px;height:18px}.kpi-unit{display:none}.progress-duo{display:contents}.students-panel{order:1}.topics-panel{order:2}.trend{gap:8px;padding:16px 14px 10px}.trend-title{font-size:15px}.trend-legend{display:none}.trend-value{font-size:12px}.topics-panel{gap:14px;padding:16px 14px}.topics-panel>.panel-head{flex-direction:row;justify-content:space-between;align-items:baseline}.topics-panel .panel-head h2{font-size:15px}.topics-panel .panel-head .muted{font-size:12px}.topic-bars{gap:14px}.topic-bars li{gap:7px}.topic-count,.topics-action{display:none}.students-panel{background:0 0;border:0;border-radius:0;overflow:visible}.students-panel>.panel-head{align-items:baseline;padding:0 0 10px}.tone-legend,.students-scroll{display:none}.students-average{font-size:12px;display:inline}.student-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.student-card{border:1px solid var(--border);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.student-card.is-attention{border-color:#f6d5cf}.student-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-card-name{flex-direction:column;min-width:0;display:flex}.student-card-name strong{font-size:16px;font-weight:600}.student-card-name small{font-size:11px;font-weight:600}.attention-text{color:#9b1c1c}.student-card-score{color:#6b6785;flex-shrink:0;align-items:center;gap:10px;display:flex}.student-card-score .delta{font-size:13px}.student-card-score b{font-family:var(--display);color:var(--foreground);font-size:18px;font-weight:600}.student-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.result-tile{border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:8px 6px;display:flex}.result-tile small{color:var(--ink-3);font-size:10px;font-weight:600}.result-tile b{font-size:15px;font-weight:600}.result-tile em{font-size:11px;font-style:normal;font-weight:600}.result-tile.tone-thin{background:#f4f3f8;padding-inline:6px}.tile-absent{padding:2px 0;font-size:13px!important;font-weight:600!important}.student-title{font-size:22px}}.me-stage{background:#efebfa;justify-content:center;min-height:calc(100vh - 93px);padding:45px 24px 65px;display:flex}.join-stage{flex-direction:column;justify-content:flex-start;align-items:center;gap:18px}.join-stage>.join-panel{align-self:center}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.topbar-actions .back-button{margin-bottom:0}.me-stage>.loading-line{align-self:flex-start}.me-page{width:100%;max-width:1080px}.me-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.me-head p{flex:260px;margin:0}.join-panel form>p.muted{margin-top:6px;font-size:13px}.me-note{color:#2f7a5f;margin:14px 0 0;font-size:14px}.student-empty{margin:0}.me-open{background:#fff;border:1px solid #e4e3ee;border-radius:16px;gap:10px;padding:18px 20px;display:grid}.me-open h2{font-size:18px}.me-open>.muted{margin:0;font-size:14px}.me-open-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.me-open-item{background:#f6f4fc;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.me-open-icon{color:#6843bb;background:#ebe4fb;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.me-open-icon.is-live{color:#2f7a5f;background:#dff3ea}.me-open-text{flex:1;min-width:0;display:grid}.me-open-text small{color:#6b7285;font-size:12px}.me-open-text strong{overflow-wrap:anywhere}.me-open-item .button{min-height:44px}.me-open-late{font-size:13px}.me-open-text .me-open-due{color:#9a5b00;font-weight:600}.me-lesson-body{background:#fff;border:1px solid #e4e3ee;border-radius:16px;gap:16px;padding:20px;display:grid}.me-lesson-body .lesson-lecture-text{margin:0;font-size:clamp(16px,1.6vw,20px)}.class-lessons-note{color:#6b4e00;background:#fff8dc;border:1px solid #f2d56b;border-radius:12px;margin:0;padding:10px 14px;font-size:14px}.class-assign-hint{margin:0;font-size:13px}.class-assign-who{border:0;flex-wrap:wrap;gap:8px 20px;margin:4px 0;padding:0;display:flex}.class-assign-who legend{margin-bottom:6px;font-weight:600}.class-assign-who label,.class-assign-students label{align-items:center;gap:8px;min-height:44px;display:flex}.class-assign-students{gap:8px;display:grid}.class-assign-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-assign-students ul{border:1px solid var(--border);border-radius:12px;max-height:320px;margin:0;padding:4px 12px;list-style:none;display:grid;overflow-y:auto}.class-assign-students label{flex-wrap:wrap}.class-assign-students small{margin-left:auto}.class-assign-students input,.class-assign-who input{width:18px;height:18px}.class-review-actions{flex-wrap:wrap;gap:8px;display:flex}.class-review-plan ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-review-plan li{background:var(--muted,#f5f6fa);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.class-review-few{color:var(--warning-fg)}.class-review-hint{color:var(--warning-fg);margin:8px 0 0}.class-review-hint .topics-action{margin-top:8px;display:block}.class-review-done{display:block}.class-classwork{gap:16px;display:grid}.class-lessons-list{background:#fff;border:1px solid #edf0f6;border-radius:12px;margin:0;padding:0;list-style:none;display:grid}.class-lessons-list li{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.class-lessons-list li:last-child{border-bottom:0}.class-lessons-list span{min-width:0;display:grid}.class-lessons-list strong{overflow-wrap:anywhere}.class-lessons-list small{font-size:12px}@media (max-width:699px){.me-stage{padding:24px 15px}}.word-import{gap:6px;display:grid}.word-template-link{justify-self:start;align-items:center;gap:6px;min-height:32px;display:inline-flex}.word-import-set{background:var(--segment-bg);border-radius:10px;flex-wrap:wrap;gap:4px 12px;margin:0;padding:10px 12px;display:flex}.word-import-dialog[data-slot=alert-dialog-content]{max-width:min(720px,100vw - 32px);max-height:88vh;overflow-y:auto}.word-import-list{counter-reset:word-import;gap:10px;margin:0;padding:0;list-style:none;display:grid}.word-import-list>li{counter-increment:word-import;background:#fff;border:1px solid #e4e3ee;border-radius:12px;gap:6px;min-width:0;padding:12px 14px;display:grid}.word-import-dialog .formatted-code{white-space:pre-wrap;overflow-wrap:anywhere}.word-import-dialog .formatted-table th,.word-import-dialog .formatted-table td{overflow-wrap:anywhere;min-width:0}.word-import-list>li.has-warning{background:#fffcef;border-color:#f2d56b}.word-import-head{align-items:center;gap:8px;margin:0;display:flex}.word-import-head:before{content:counter(word-import) ".";font-weight:600}.word-import-text{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-weight:600}.word-import-options{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.word-import-options li{overflow-wrap:anywhere}.word-import-options svg{vertical-align:-2px;display:inline}.word-import-options .is-correct{color:#2f7a5f;font-weight:600}.word-import-answer{color:#2f7a5f;overflow-wrap:anywhere;margin:0;font-size:14px}.word-import-warning{color:#8a5a00;align-items:flex-start;gap:6px;margin:0;font-size:13px;display:flex}.word-import-warning svg{flex-shrink:0;margin-top:2px}.word-import-help summary{cursor:pointer;font-size:14px;font-weight:600}.word-import-help pre{white-space:pre-wrap;background:#f6f4fc;border-radius:10px;margin:8px 0 0;padding:12px;font-size:12px}.level-badge{width:30px;height:30px;color:var(--primary-foreground);background:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.level-badge.is-large{width:72px;height:72px;font-size:28px}.xp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:16px;display:grid}.xp-panel{background:#fff;border:1px solid #e4e3ee;border-radius:16px;gap:10px;padding:16px 18px;display:grid}.xp-panel h2{align-items:center;gap:6px;font-size:18px;display:flex}.xp-ranking,.xp-race{gap:6px;margin:0;padding:0;list-style:none;display:grid}.xp-ranking li,.xp-race li{background:#f8f7fc;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.xp-ranking li.is-me,.xp-race li.is-own{background:#efe8fd;outline:2px solid #b294f3}.xp-rank{text-align:center;width:26px;color:var(--text-2);flex-shrink:0;font-weight:600}.xp-ranking li.is-top-1 .xp-rank{color:var(--warning-fg)}.xp-name,.xp-race-label{flex:1;min-width:0;display:grid}.xp-name strong,.xp-race-label strong{overflow-wrap:anywhere}.xp-name small,.xp-race-label small,.xp-points small{font-size:12px}.xp-points{flex-shrink:0;justify-items:end;display:grid}.xp-race-label{flex:0 0 72px}.xp-race-track{background:#ebe8f4;border-radius:999px;flex:1;height:10px;overflow:hidden}.xp-race-track span{border-radius:inherit;background:#6843bb;height:100%;display:block}.xp-race-help{margin:0;font-size:13px}.xp-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}@media (max-width:699px){.level-badge.is-large{width:60px;height:60px;font-size:28px}}.class-create-kind{align-self:flex-start;margin-bottom:12px}.class-create-kind button{align-items:center;gap:6px;display:inline-flex}.class-create .class-create-name input{width:min(280px,70vw)}.class-clubs{margin-top:26px}.class-clubs h2{margin:0 0 12px;font-size:18px}.class-card.is-club strong{overflow-wrap:anywhere;align-items:center;gap:8px;font-size:20px;display:flex}.class-card.is-club strong svg{flex:none}.club-library{flex-direction:column;gap:16px;margin-top:30px;display:flex}.club-stage .club-library{margin-top:0}.club-library-head h2{margin:0 0 4px;font-size:22px}.club-library-head p{max-width:70ch;margin:0}.club-sections{flex-wrap:wrap;align-self:flex-start;gap:4px}.club-sections button{align-items:center;gap:6px;min-height:40px;display:inline-flex}.club-parts{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.club-part{border:1px solid var(--border);background:var(--surface);width:100%;height:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;padding:0;display:flex;overflow:hidden}:is(.club-part:hover,.club-part:focus-visible){border-color:var(--border-hover);box-shadow:var(--shadow-hover)}.club-part-photo{aspect-ratio:4/3;border-bottom:1px solid var(--line-soft);background:#fff;flex:none;display:block;position:relative}.club-part-photo img{object-fit:contain;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px}.club-part-name{grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:12px 14px 14px;display:grid}.club-part-name b{background:var(--primary-soft);width:30px;height:30px;color:var(--primary-text);border-radius:8px;grid-row:span 2;place-items:center;font-size:14px;display:grid}.club-part-name strong{font-size:15px;line-height:1.25}.club-part-name span{color:var(--muted-foreground);font-size:13px}.club-dialog{z-index:51;background:var(--surface);width:min(980px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);color:var(--foreground);border-radius:24px;outline:none;flex-direction:column;gap:16px;padding:28px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.club-dialog-head{align-items:flex-start;gap:16px;display:flex}.club-dialog-head>div{flex-direction:column;flex:1;gap:2px;display:flex}.club-dialog-head p{margin:0}.club-dialog-title{font-family:var(--display);margin:0;font-size:22px;font-weight:600}.club-dialog-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.club-dialog-photos{align-content:start;gap:14px;display:grid}.club-figure{gap:6px;margin:0;display:grid}.club-figure img{object-fit:contain;border:1px solid var(--line-soft);background:#fff;border-radius:14px;width:100%;height:auto;max-height:340px;padding:8px}.club-figure figcaption{color:var(--ink-3);gap:2px;font-size:13px;display:grid}.club-credit{color:var(--muted-foreground);font-size:12px}.club-credit a{color:var(--link)}.club-dialog-text h3{margin:16px 0 6px;font-size:16px}.club-dialog-text h3:first-child{margin-top:0}.club-dialog-text p{margin:0;line-height:1.5}.club-pins{gap:8px;margin:0;display:grid}.club-pins>div{background:var(--toolbar-bg);border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px}.club-pins dt{color:var(--primary-text);font-weight:600}.club-pins dd{margin:2px 0 0;line-height:1.45}.club-tips{gap:4px;margin:0;padding-left:20px;line-height:1.45;list-style:outside;display:grid}.club-safety{background:var(--danger-bg);color:var(--danger);border-radius:12px;gap:10px;padding:12px 14px;display:flex;margin-top:16px!important}.club-safety svg{flex:none;margin-top:2px}.club-dialog-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.club-dialog-foot .button{min-height:44px}.club-boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.club-board{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-content:start;gap:12px;padding:18px;display:grid}.club-board h3{margin:0;font-size:18px}.club-wiring{border:1px solid var(--line-soft);background:var(--toolbar-bg);border-radius:12px;padding:14px}.club-wiring h4{margin:0 0 6px;font-size:15px}.club-wiring ol{margin:0 0 8px;padding-left:20px;line-height:1.5;list-style:decimal}.club-wiring pre{color:#f3f0ff;font-family:var(--font-geist-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#1f1b33;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;overflow-x:auto}.club-steps,.club-check{counter-reset:club-step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.club-steps li,.club-check li{border:1px solid var(--border);background:var(--surface);counter-increment:club-step;border-radius:14px;padding:14px 16px 14px 60px;line-height:1.45;position:relative}.club-steps li:before,.club-check li:before{content:counter(club-step);background:var(--primary-soft);width:32px;height:32px;color:var(--primary-text);border-radius:10px;place-items:center;font-weight:600;display:grid;position:absolute;top:12px;left:14px}.club-steps p{color:var(--text-2);margin:4px 0 0}.club-mistakes{gap:22px;display:grid}.club-mistakes dl{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;display:grid}.club-mistakes dl>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px 16px}.club-mistakes dt{color:var(--warning-fg);align-items:flex-start;gap:8px;font-weight:600;display:flex}.club-mistakes dt svg{flex:none;margin-top:2px}.club-mistakes dd{margin:6px 0 0;line-height:1.45}.club-mistakes h3{margin:0 0 10px;font-size:18px}.club-stage{width:100%;max-width:1120px;margin:0 auto;padding:32px 24px 64px}.club-stage>h1{font-family:var(--display);margin:0 0 16px;font-size:28px}.me-club{border:1px solid var(--border-hover);background:var(--primary-soft);color:var(--primary-text);border-radius:16px;align-items:center;gap:14px;padding:16px 20px;text-decoration:none;display:flex}.me-club>span{flex:1;gap:2px;display:grid}.me-club strong{font-size:18px}.me-club svg{flex:none}:is(.me-club:hover,.me-club:focus-visible){box-shadow:var(--shadow-hover)}@media (max-width:767px){.club-dialog{border-radius:22px 22px 0 0;width:100vw;max-height:92dvh;padding:20px 16px;top:auto;bottom:0;transform:translate(-50%)}.club-dialog-body,.club-boards{grid-template-columns:minmax(0,1fr)}.club-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-part-name{padding:10px}.club-part-name b{width:26px;height:26px}.club-stage{padding:20px 16px 48px}.club-sections{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-self:stretch;display:grid}.club-sections button{justify-content:center;height:auto;padding:6px 8px}}.club-status{background:var(--line-soft);color:var(--ink-3);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.club-status[data-status=seen]{color:#2556b8;background:#e8f0fe}.club-status[data-status=done]{color:var(--warning-fg);background:#fff4d6}.club-status[data-status=explained]{background:var(--correct-bg);color:var(--correct)}.club-weeks{gap:10px;display:grid}.club-prep,.club-week-item,.club-demo,.club-pinout{border:1px solid var(--border);background:var(--surface);border-radius:14px}.club-prep>summary,.club-week-item>summary,.club-demo>summary,.club-pinout>summary{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.club-prep>ol,.club-demo>:not(summary),.club-pinout>:not(summary){margin:0 16px 14px}.club-prep>ol,.club-demo ol{padding-left:20px;line-height:1.5;list-style:decimal}.club-week-item>summary b{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-text);border-radius:10px;flex:none;place-items:center;display:grid}.club-week-item>summary>span{gap:2px;display:grid}.club-week-item>summary .muted{font-size:13px;font-weight:500}.club-week{gap:10px;padding:4px 16px 16px;line-height:1.5;display:grid}.club-week p,.club-week h4{margin:0}.club-week h4{margin-top:6px;font-size:15px;font-weight:600}ol.club-tips{list-style:decimal}.club-week-cards{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.club-card-chip{border:1px solid var(--border-hover);background:var(--primary-soft);color:var(--primary-text);font:inherit;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}button.club-card-chip{cursor:pointer}.club-schedule{border-collapse:collapse;width:100%;font-size:14px}.club-schedule caption{text-align:left;padding:10px 0 6px;font-weight:600}.club-schedule th,.club-schedule td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:8px 10px}.club-schedule tbody th{width:1%;color:var(--primary-text);white-space:nowrap}.club-schedule thead th{color:var(--muted-foreground);font-size:13px}.club-questions{gap:8px;margin:0;padding-left:22px;list-style:decimal;display:grid}.club-key{background:var(--correct-bg);color:var(--correct);border-radius:10px;padding:6px 10px;display:block;margin:4px 0 0!important}.club-criteria,.club-help,.club-note{background:var(--toolbar-bg);border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px}.club-note{color:#6b4e00;background:#fff8dc;border-color:#f2d56b;margin:0}.club-figure.is-diagram img{max-height:220px;padding:4px}.club-question{background:var(--primary-soft);color:var(--ink-2);border-radius:12px;gap:10px;padding:12px 14px;display:flex;margin-top:12px!important}.club-question svg{color:var(--primary-text);flex:none;margin-top:2px}.club-sources{color:var(--muted-foreground);font-size:12px;margin-top:12px!important}.club-sources a{color:var(--link)}.club-next{margin:4px 0 0;font-size:15px}.club-words{gap:18px;display:grid}.club-words h3{margin:0 0 8px;font-size:18px}.club-words p{margin:0}.club-program{gap:14px;display:grid}.club-program>.crumb-back{justify-self:start}.club-program h2{margin:0}.club-program>.muted{max-width:75ch;margin:0}.club-open-week{align-items:center;gap:8px;font-weight:600;display:flex}.club-open-week select{min-height:40px}.club-matrix-wrap{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow-x:auto}.club-matrix{border-collapse:collapse;width:100%}.club-matrix th,.club-matrix td{border-bottom:1px solid var(--line-soft);text-align:center;padding:8px 10px}.club-matrix tbody th{background:var(--surface);text-align:left;white-space:nowrap;position:sticky;left:0}.club-matrix thead th:first-child{text-align:left}.club-week-head{border:1px solid var(--border-hover);background:var(--primary-soft);min-width:48px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:10px;justify-items:center;padding:4px 8px;font-weight:600;display:grid}.club-week-head small{color:var(--muted-foreground);font-size:11px;font-weight:600}.club-week-head[data-closed]{background:var(--toolbar-bg);color:var(--muted-foreground);border-style:dashed}.club-legend{flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:13px;display:flex}.club-work-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.club-work{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:10px;padding:16px;display:grid}.club-work[data-status=new]{background:var(--toolbar-bg)}.club-work p{margin:0}.club-work a{color:var(--link);align-items:center;gap:4px;display:inline-flex}.club-work-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.club-work-answers{gap:8px;margin:0;padding-left:22px;list-style:decimal;display:grid}.club-work-answers .muted{font-size:13px}.club-work-answers p{white-space:pre-wrap;overflow-wrap:anywhere}.club-work-actions{gap:8px;display:grid}.club-work-actions label{gap:4px;font-size:14px;font-weight:600;display:grid}.club-work-actions textarea{width:100%;font-weight:400}.club-work-buttons{flex-wrap:wrap;gap:8px;display:flex}.club-work-buttons .button[aria-pressed=true]{background:var(--correct)}.club-feedback{color:#1f3f86;white-space:pre-wrap;background:#e8f0fe;border-radius:12px;gap:8px;margin:0;padding:10px 12px;display:flex}.club-feedback svg{flex:none;margin-top:3px}.me-week{width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:#f6f4fc;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.me-week>b{background:var(--primary-soft);width:32px;height:32px;color:var(--primary-text);border-radius:10px;flex:none;place-items:center;display:grid}.me-week>span:not(.club-status){flex:1;gap:2px;display:grid}.me-week .muted{font-size:13px}.me-week svg:last-child{color:var(--primary-text);flex:none}.club-week-page{background:0 0;border:0;gap:14px;padding:0;display:grid}.club-week-page>.crumb-back{justify-self:start}.club-week-page .club-week{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:16px}.club-week-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.club-week-title h1{margin:0;font-size:22px}.club-answer-form{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:12px;padding:16px;display:grid}.club-answer-form h2{margin:0;font-size:18px}.club-answer-form label{gap:6px;font-weight:600;display:grid}.club-answer-form textarea,.club-answer-form input{width:100%;font-weight:400}.club-answer-form .button{justify-self:start;min-height:44px}.club-photo{border:1px dashed var(--border);border-radius:12px;gap:8px;min-width:0;margin:0;padding:12px;display:grid}.club-photo legend{padding:0 4px;font-weight:600}.club-photo p{margin:0}.club-photo img,.club-work-photo img{object-fit:contain;background:var(--toolbar-bg);border-radius:10px;width:auto;max-width:100%;height:auto;max-height:320px;display:block}.club-photo-empty{color:var(--muted-foreground);font-style:italic}.club-answer-form .club-photo-pick{cursor:pointer;display:inline-flex}.club-photo-pick:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.club-work-photo{justify-items:start;gap:8px;margin:0;display:grid}@media (max-width:767px){.club-week{padding:4px 12px 14px}.club-schedule th,.club-schedule td{padding:6px}.club-work-buttons .button{flex:100%;justify-content:center}.club-answer-form .button{justify-content:center;justify-self:stretch}}.class-attendance{max-width:1180px}.attendance-day{border:0;min-width:0;margin:0;padding:0}.attendance-day legend{margin-bottom:4px;padding:0;font-weight:600}.attendance-day>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.attendance-day-step,.date-button>button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.attendance-day-step{width:40px}.attendance-day-step:disabled{opacity:.4;cursor:default}.date-button{position:relative}.date-button>button{font-variant-numeric:tabular-nums;padding:6px 12px;font-weight:600}.date-button>input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.attendance-export{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.attendance-export select{border:1px solid var(--border);background:var(--card);min-height:36px;font:inherit;border-radius:8px;padding:4px 8px;font-size:14px}.attendance-remark-tags{border:0;flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;display:flex}.attendance-remark-tags button{border:1px solid var(--border);background:var(--card);min-height:32px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:13px}.attendance-remark-tags button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text);font-weight:600}.me-marks h2{align-items:center;gap:8px;display:flex}.me-marks-wrap{overflow-x:auto}.me-marks-table{border-collapse:collapse;width:100%;font-size:14px}.me-marks-table th,.me-marks-table td{border-bottom:1px solid var(--line-soft);text-align:center;padding:7px 8px}.me-marks-table thead th{color:var(--muted-foreground);font-size:13px}.me-marks-table tbody th{text-align:left;white-space:nowrap}.me-marks-table td[data-mark]{color:var(--primary-text);font-weight:600}.me-marks-table td[data-mark="4"]{color:var(--correct)}.me-marks-table td.is-sick{color:var(--sick-fg)}.me-marks-table td.is-absent{color:var(--danger)}.me-marks-legend{margin:0;font-size:12px}.me-marks .button{justify-self:start}@media (max-width:699px){.attendance-export{margin-left:0}}.time-select{border:0;min-width:0;margin:0;padding:0}.time-select legend{margin-bottom:4px;padding:0;font-size:13px;font-weight:600}.time-select>div{font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;font-weight:600;display:grid}.due-field{border:0;min-width:0;margin:0;padding:0}.due-field legend{margin-bottom:6px;padding:0;font-weight:600}.due-field legend small{color:var(--muted-foreground);font-weight:500}.due-field>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.due-field .time-select{border:0;min-width:0;margin:0;padding:0}.due-field .time-select select{width:auto;min-width:72px}.due-field .date-button>button{min-height:44px}.class-list-page{flex-direction:column;gap:24px;display:flex}.class-list-page :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.class-list-tools{flex-wrap:nowrap}.class-list-tools .library-search{flex:1 1 0;min-width:0}.class-list-tools .library-grade{flex:none;margin-left:0}.class-missing{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-fg);border-radius:14px;align-items:center;gap:12px;margin:0;padding:14px 18px;font-size:15px;font-weight:600;display:flex}.class-missing svg{flex:none}.class-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.class-list-page .class-clubs{margin-top:4px}.class-tile{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;gap:16px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex}.class-tile:hover{border-color:var(--border-hover);box-shadow:var(--shadow-hover)}.class-tile-head{align-items:center;gap:14px;display:flex}.class-tile-badge{background:var(--grade-6-bg);width:56px;height:56px;color:var(--grade-6-fg);font-family:var(--display);white-space:nowrap;border-radius:14px;flex:none;justify-content:center;align-items:center;padding:0 4px;font-size:20px;font-weight:600;display:flex;overflow:hidden}.class-tile-badge[data-size=s]{letter-spacing:-.5px;font-size:16px}.class-tile-badge[data-size=xs]{letter-spacing:-.5px;font-size:12px}.class-tile-badge[data-grade="7"]{background:var(--grade-7-bg);color:var(--grade-7-fg)}.class-tile-badge[data-grade="8"]{background:var(--grade-8-bg);color:var(--grade-8-fg)}.class-tile-badge[data-grade="9"]{background:var(--grade-9-bg);color:var(--grade-9-fg)}.class-tile-badge[data-grade="10"]{background:var(--grade-10-bg);color:var(--grade-10-fg)}.class-tile-badge[data-grade="11"]{background:var(--grade-11-bg);color:var(--grade-11-fg)}.class-tile-badge[data-grade="12"]{background:var(--grade-12-bg);color:var(--grade-12-fg)}.class-tile-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.class-tile-name h3{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:600;line-height:26px}.class-tile-name span{color:var(--text-2);font-size:14px;font-weight:600}.class-tile-more{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--choice-fg);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.class-tile-today{flex-direction:column;justify-content:center;gap:8px;min-height:44px;display:flex}.class-tile-today p{margin:0}.class-tile-count{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.class-tile-count strong{color:var(--present-fg);font-weight:600}.class-tile-bar{background:var(--segment-bg);border-radius:999px;height:8px;display:block;overflow:hidden}.class-tile-bar>span{background:var(--present-border);border-radius:999px;height:100%;display:block}.class-tile-missing{background:var(--notice-bg);color:var(--notice-fg);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.class-tile-quiet{color:var(--muted-foreground);font-size:14px;font-weight:600}.class-tile-foot{border-top:1px solid var(--line-soft);align-items:center;gap:8px;margin-top:auto;padding-top:16px;display:flex}.class-tile-attend,.class-tile-open{height:44px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.class-tile-attend{background:var(--primary-soft);color:var(--primary-text);border:0;flex:1}.class-tile-attend.is-due{background:var(--primary);color:var(--primary-foreground);box-shadow:0 4px 0 var(--primary-shadow)}.class-tile-open{border:1px solid var(--choice-border);background:var(--surface);color:var(--ink-strong);gap:4px;padding:0 14px 0 16px}.class-tile-more:hover,.class-tile-attend:hover,.class-tile-open:hover{filter:brightness(.96)}.class-tile-attend.is-due:active{box-shadow:0 2px 0 var(--primary-shadow);transform:translateY(2px)}.class-create-dialog .class-create{border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin:0;padding:0;display:grid}.class-create-dialog .class-create input,.class-create-dialog .class-create .class-create-name input,.class-create-dialog .class-create .field-select{width:100%;min-height:48px}.class-create-dialog .class-create-name,.class-create-dialog .class-create .button{grid-column:1/-1}.class-create-dialog .class-create .button{min-height:48px}.class-create-dialog .class-create-kind{margin:0}.class-create-dialog [data-slot=alert-dialog-footer] button{min-height:44px;padding-inline:18px}@media (min-width:768px) and (max-width:1199px){.class-list-page{gap:18px}.class-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-list-tools .library-search{max-width:none}}@media (max-width:767px){.class-list-page{gap:14px;padding-bottom:72px}.class-list-tools{flex-direction:row;gap:8px}.class-list-tools .library-search{max-width:none}.class-list-tools .library-grade{flex:none;padding:0 2px;display:flex}.class-list-tools .library-grade>span{display:none}.class-list-tools .library-grade .field-select{min-width:104px;font-size:16px}.class-missing{padding:12px 14px;font-size:14px}.class-create-dialog .class-create input{font-size:16px}.class-tiles{grid-template-columns:minmax(0,1fr);gap:12px}.class-tile{border-radius:16px;gap:12px;padding:14px}.class-tile-head{gap:12px}.class-tile-badge{border-radius:12px;width:44px;height:44px;font-size:16px}.class-tile-badge[data-size=s]{font-size:12px}.class-tile-badge[data-size=xs]{font-size:10px}.class-tile-name h3{font-size:18px;line-height:22px}.class-tile-name span{font-size:13px}.class-tile-today{min-height:40px}.class-tile-foot{border-top:0;padding-top:0}}.class-detail :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.class-detail .class-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"back back""title switch";align-items:end;gap:6px 24px;margin-bottom:20px;display:grid}.class-back{height:40px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;grid-area:back;justify-self:start;align-items:center;gap:4px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.class-back:hover{text-decoration:underline}.class-detail .class-head-title{grid-area:title;gap:10px}.class-detail .class-head h1{letter-spacing:0;overflow-wrap:anywhere;font-size:36px;font-weight:600;line-height:1.1}.class-detail .class-head-meta{color:var(--text-2);font-size:15px;font-weight:500}.class-detail .class-switch{border:1px solid var(--choice-border);background:var(--surface);height:48px;color:var(--text-2);border-radius:12px;flex-direction:row;grid-area:switch;align-items:center;gap:8px;margin:0;padding:0 8px 0 16px;font-size:14px;font-weight:600}.class-detail .class-switch>span{display:inline}.class-detail .class-switch select{width:auto;min-width:64px;height:44px;color:var(--foreground);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:15px;font-weight:600}.class-tabs{scrollbar-width:none;box-shadow:inset 0 -1px 0 var(--choice-border);gap:4px;margin:0 0 20px;display:flex;overflow-x:auto}.class-tabs::-webkit-scrollbar{display:none}.class-tabs button{height:48px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex}.class-tabs button:hover{color:var(--primary-text)}.class-tabs button[aria-selected=true]{color:var(--primary-text);box-shadow:inset 0 -3px 0 var(--primary);font-weight:600}.class-tabs button:focus-visible{outline-offset:-3px}.class-detail .class-attendance{flex-direction:column;gap:20px;max-width:none;display:flex}.att-controls{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 20px;display:flex}.att-nott{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-wrap:wrap;align-items:flex-start;gap:22px;padding:30px;display:flex}.att-nott-icon{background:var(--notice-bg);width:56px;height:56px;color:var(--notice-fg);border-radius:16px;flex:none;place-items:center;display:grid}.att-nott-text{flex-direction:column;flex:420px;gap:12px;min-width:0;display:flex}.att-nott-text h2{margin:0;font-size:22px;font-weight:800;line-height:28px}.att-nott-text p{margin:0;font-size:17px;line-height:26px}.att-nott-text p.muted{font-size:16px;line-height:22px}.att-nott-actions{flex-wrap:wrap;align-self:center;align-items:center;gap:12px;display:flex}.att-nott-go{background:var(--primary);min-height:54px;color:var(--primary-foreground);box-shadow:0 4px 0 var(--primary-shadow);font:inherit;cursor:pointer;border:0;border-radius:14px;align-items:center;gap:8px;padding:0 24px;font-size:17px;font-weight:700;display:inline-flex}.att-nott-go:active{box-shadow:0 2px 0 var(--primary-shadow);transform:translateY(2px)}@container (width<=600px){.att-nott{border-radius:16px;gap:14px;padding:18px}.att-nott-text h2{font-size:19px;line-height:25px}.att-nott-actions,.att-nott-go{width:100%}.att-nott-go{justify-content:center}}.att-day{flex-direction:column;gap:6px;min-width:0;display:flex}.att-daypicker{border:0;margin:0;padding:0}.att-daypicker>div{gap:8px}.att-daypicker .att-step{border:1px solid var(--choice-border);width:48px;height:48px;color:var(--choice-fg);border-radius:12px}.att-daypicker .date-button>button{border:1px solid var(--choice-border);border-radius:12px;height:48px;padding:0 18px;font-size:15px;font-weight:600}.att-latest{background:var(--primary-soft);height:44px;color:var(--primary-text);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:0 14px;font-size:14px;font-weight:600}.att-source{color:var(--muted-foreground);font-size:13px;font-weight:600}.att-dayline{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.att-saved{color:var(--present-fg);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.att-saved:not([data-state=saved]){color:var(--late-fg)}.att-saved:not([data-state=saved]) .att-dot{background:var(--late-border)}.att-export{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.att-export-title{display:none}.att-month{border:1px solid var(--choice-border);background:var(--surface);height:48px;color:var(--text-2);border-radius:12px;align-items:center;gap:8px;margin:0;padding:0 8px 0 16px;font-size:14px;font-weight:600;display:flex}.att-month select{height:44px;font:inherit;color:var(--foreground);cursor:pointer;background:0 0;border:0;font-size:15px;font-weight:600}.att-excel{border:1px solid var(--border-hover);background:var(--surface);height:48px;color:var(--primary-text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.att-export>:not(.att-export-title,.att-month,.att-excel){flex-basis:100%}.att-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.att-tiles:has(>:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}@container (width<=600px){:is(.att-tiles,.att-tiles:has(>:nth-child(5))){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.att-tile{border:1px solid;border-radius:14px;align-items:center;gap:12px;min-width:0;height:52px;padding:0 16px;display:flex}.att-tile strong{font-family:var(--display);font-size:28px;font-weight:600;line-height:1}.att-tile span{font-size:14px;font-weight:600}.att-tile[data-status=present]{border-color:var(--present-border);background:var(--present-bg);color:var(--present-fg)}.att-choice label[data-status=present]:has(input:checked){border-color:var(--present-border);background:var(--present-bg);color:var(--present-fg)}.att-tile[data-status=sick]{border-color:var(--sick-border);background:var(--sick-bg);color:var(--sick-fg)}.att-choice label[data-status=sick]:has(input:checked){border-color:var(--sick-border);background:var(--sick-bg);color:var(--sick-fg)}.att-tile[data-status=late]{border-color:var(--late-border);background:var(--late-bg);color:var(--late-fg)}.att-choice label[data-status=late]:has(input:checked){border-color:var(--late-border);background:var(--late-bg);color:var(--late-fg)}.att-tile[data-status=excused]{border-color:var(--excused-border);background:var(--excused-bg);color:var(--excused-fg)}.att-choice label[data-status=excused]:has(input:checked){border-color:var(--excused-border);background:var(--excused-bg);color:var(--excused-fg)}.att-tile[data-status=absent]{border-color:var(--absent-border);background:var(--absent-bg);color:var(--absent-fg)}.att-choice label[data-status=absent]:has(input:checked){border-color:var(--absent-border);background:var(--absent-bg);color:var(--absent-fg)}.att-all{background:var(--primary-soft);height:44px;color:var(--primary-text);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:12px;flex:none;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.att-roster{--att-cols:36px minmax(160px, 1fr) 184px repeat(4, 76px) 44px;container-type:inline-size}.att-head{display:none}.att-list{border:1px solid var(--border);background:var(--surface);border-radius:18px;margin:0;padding:0;list-style:none;display:block}.att-row{border-top:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr) 44px;grid-template-areas:"num name note""choice choice choice""marks marks marks""remark remark remark";align-items:center;gap:10px;padding:14px 16px;display:grid}.att-row:first-child{border-top:0}.att-row[data-edited]{box-shadow:inset 3px 0 0 var(--late-border)}.att-num{color:var(--text-2);grid-area:num;font-size:14px;font-weight:600}.att-name{flex-direction:column;grid-area:name;gap:2px;min-width:0;display:flex}.att-name strong{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:20px}.att-joined{color:var(--ready);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.att-joined.att-late-joined{color:var(--notice-fg)}.att-late{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-fg);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:12px 16px;font-size:14px;display:flex}.att-late output{flex:260px;margin:0;line-height:1.45}.att-late button{background:var(--card,#fff);min-height:44px;color:inherit;font:inherit;cursor:pointer;border:1px solid;border-radius:10px;padding:8px 14px;font-weight:600}.att-note{border:1px solid var(--choice-border);background:var(--surface);width:44px;height:44px;color:var(--choice-fg);cursor:pointer;border-radius:12px;grid-area:note;justify-content:center;align-items:center;display:flex}.att-note[data-has]{border-color:var(--border-hover);background:var(--primary-soft);color:var(--primary-text)}.att-note[aria-expanded=true]{border-color:var(--primary)}.att-choice{grid-area:choice;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.att-legend{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.att-legend small{color:var(--muted-foreground);margin-top:2px;font-weight:600;display:block}.lc{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;gap:16px;padding:20px 22px;display:flex;container-type:inline-size}.lc-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.lc-head h2{margin:0;font-size:20px;font-weight:600}.lc-plan{color:var(--muted-foreground);align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.lc-track{background:var(--primary-soft);border-radius:999px;width:120px;height:8px;overflow:hidden}.lc-track span{background:var(--primary);border-radius:999px;height:8px;display:block}.lc-parts{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@container (width>=900px){.lc-parts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.lc-part{border:1px solid var(--line-soft);background:#fbfaff;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.lc-part h3{align-items:center;gap:10px;margin:0;font-size:15px;font-weight:700;display:flex}.lc-num{background:var(--primary);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.lc-text,.lc-own,.lc-search input,.lc-subject{border:1px solid var(--input);background:var(--surface);width:100%;min-height:44px;font:inherit;color:var(--foreground);border-radius:12px;padding:10px 14px;font-size:15px}.lc-text{field-sizing:content;resize:vertical;line-height:22px}.lc-chosen{border:1px solid var(--border-hover,var(--border));background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.lc-chosen>span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lc-chosen b{font-size:15px}.lc-chosen small,.lc-suggest small{color:var(--muted-foreground);font-size:12px}.lc-tick{color:#14553a;background:#e3f5ec;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.lc-suggest{border:1px dashed var(--border-hover,var(--border));background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.lc-suggest b{font-size:15px}.lc-row{flex-wrap:wrap;gap:8px;display:flex}.lc-row .lc-own{flex:200px;width:auto}.lc-link{min-height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:14px;font-weight:600}.lc-pick{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:8px;min-width:0;margin:0;padding:12px;display:flex;box-shadow:0 12px 30px #1b18301f}.lc-search{display:block;position:relative}.lc-search svg{color:var(--muted-foreground);position:absolute;top:14px;left:12px}.lc-search input{padding-left:36px}.lc-pick ul{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.lc-pick li p{color:var(--muted-foreground);margin:0;padding:8px 8px 4px;font-size:12px;font-weight:700}.lc-pick li button{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.lc-pick li button:hover{background:var(--primary-soft)}.lc-pick li small{color:var(--muted-foreground);border-radius:999px;flex:none;padding:3px 8px;font-size:11px;font-weight:700}.lc-pick li small[data-state=done]{background:#f0f1f7}.lc-pick li small[data-state=next]{background:var(--primary-soft);color:var(--primary-text)}.lc-none{color:var(--muted-foreground);padding:8px;font-size:13px}.lc-close{align-self:flex-end}.lc-seg{background:#f0eef7;border:0;border-radius:12px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;min-width:0;margin:0;padding:4px;display:grid}.lc-seg button{min-height:40px;font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:700}.lc-seg button[aria-pressed=true]{background:var(--surface);color:var(--primary-text);box-shadow:0 1px 3px #1b183026}.lc-muted{color:var(--muted-foreground);margin:0;font-size:13px}.lc-info{background:var(--primary-soft);color:var(--text-2);border-radius:10px;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.lc-info svg{flex:none;margin-top:1px}.lc .hw-panel{margin:0}.lc-files{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.lc-files ul{flex-direction:column;align-self:stretch;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lc-files li{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:0 4px 0 12px;display:flex}.lc-files li>svg{color:#b42318;flex:none}.lc-files li a{overflow-wrap:anywhere;min-width:0;color:var(--foreground);flex:1;font-size:14px;font-weight:600}.lc-files li small{color:var(--muted-foreground);flex:none;font-size:12px}.lc-files .button{gap:8px}.att-prev-hw{color:#5c4300;background:#fff8e6;border:1px solid #f0d9a0;border-radius:14px;margin:0;padding:12px 16px;font-size:13px}.att-prev-hw b{color:#3d2c00}.att-lessons{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px 20px}.att-lessons-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.att-lessons-head h2{margin:0;font-size:16px;font-weight:600}.att-lessons-head p{margin:4px 0 0;font-size:13px}.att-history{border:1px solid var(--border-hover);background:var(--surface);height:44px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:12px;padding:0 18px;font-size:14px;font-weight:600}.att-lessons-head~*{margin-top:14px}.att-lessons ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.att-lessons li{border:1px solid var(--input);background:var(--surface);border-radius:12px;padding:10px 14px}.att-lessons li p{overflow-wrap:anywhere;white-space:pre-line;margin:4px 0 0}.att-lessons li small{color:var(--muted-foreground);margin-right:6px;font-weight:600}.me-lessons span{overflow-wrap:anywhere;white-space:pre-line}.me-lessons .me-day-files{white-space:normal;flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.me-day-files a{border:1px solid var(--border);min-height:44px;color:var(--foreground);border-radius:12px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.att-choice label{border:2px solid var(--choice-border);background:var(--surface);min-width:0;height:44px;color:var(--choice-fg);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:0 2px;font-size:14px;font-weight:600;display:flex;position:relative}.att-choice label:has(input:checked){font-weight:600}.att-choice label:hover{filter:brightness(.97)}.att-choice label:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.att-choice label:has(input:disabled){cursor:default;filter:none}.att-choice input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.att-marks{grid-area:marks;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:6px;min-height:44px;display:grid}.att-marks label{min-width:0;color:var(--text-2);flex-direction:column;gap:4px;margin:0;font-size:12px;font-weight:600;display:flex}.att-marks select,.att-marks input{border:1px solid var(--input);background:var(--surface);width:100%;height:44px;font:inherit;color:var(--foreground);cursor:pointer;border-radius:12px;margin:0;padding:0 6px;font-size:15px;font-weight:600}.att-marks select[data-empty],.att-marks input[data-empty]{color:var(--muted-foreground)}.att-marks select[data-suggested]{border:2px dashed var(--primary);background:var(--primary-soft);color:var(--primary-text);font-weight:800}.att-app-why{color:var(--text-2);overflow-wrap:anywhere;font-size:11px;font-weight:500}.att-app-hw{border:1px solid var(--primary);background:var(--primary-soft);border-radius:18px;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px;display:flex}.att-app-hw>div{flex-direction:column;flex:1;gap:4px;min-width:min(100%,280px);font-size:14px;display:flex}.att-app-hw small{color:var(--text-2);font-size:13px}.leave-dialog{box-sizing:border-box;background:var(--surface);width:min(580px,100vw - 32px);height:fit-content;color:var(--foreground);border:0;border-radius:24px;margin:auto;padding:0;position:fixed;inset:0;box-shadow:0 24px 60px #1b183040}.leave-dialog::backdrop{background:#1b183073}.leave-body{flex-direction:column;gap:16px;padding:28px;display:flex}.leave-head{align-items:flex-start;gap:14px;display:flex}.leave-head h2{margin:0;font-size:20px;font-weight:800}.leave-head span:not(.leave-icon){color:var(--text-2);font-size:14px}.leave-icon{background:var(--late-bg);width:48px;height:48px;color:var(--late-fg);border-radius:16px;flex:none;place-items:center;display:grid}.leave-items{flex-direction:column;gap:8px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.leave-items li{background:var(--line-soft);border-radius:14px;flex-wrap:wrap;gap:4px 10px;padding:12px 14px;display:flex}.leave-items b{min-width:128px}.leave-note{color:var(--text-2);margin:0;font-size:14px}.leave-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.leave-actions button{min-height:46px;font:inherit;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:800;display:inline-flex}.leave-drop{border:1px solid var(--absent-border);background:var(--surface);color:var(--absent-fg)}.leave-save{border:1px solid var(--border);background:var(--surface);color:var(--foreground)}.leave-stay{background:var(--primary);color:#fff;border:0}@media (max-width:600px){.leave-dialog{border-radius:24px 24px 0 0;width:100vw;max-width:100vw;margin:auto 0 0;top:auto}.leave-body{padding:22px 16px 28px}.leave-actions{flex-direction:column-reverse}.leave-actions button{width:100%}}.att-app-hw button{border:1px solid var(--primary);background:var(--surface);min-height:44px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:12px;padding:0 16px;font-weight:800}.att-nomarks{background:var(--background);color:var(--muted-foreground);border-radius:12px;grid-column:1/-1;margin:0;padding:11px 14px;font-size:13px;font-weight:600}.att-remark{flex-direction:column;grid-area:remark;gap:8px;display:flex}.att-remark input{border:1px solid var(--input);background:var(--surface);height:48px;font:inherit;border-radius:12px;padding:0 14px;font-size:15px}.att-remark-text{min-width:0;color:var(--muted-foreground);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.att-remark-text>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@container (width>=900px){.att-head{grid-template-columns:var(--att-cols);border:1px solid var(--border);background:var(--table-head);letter-spacing:.04em;white-space:nowrap;color:var(--text-2);border-bottom:0;border-radius:18px 18px 0 0;align-items:end;column-gap:12px;padding:12px 20px;font-size:12px;font-weight:600;display:grid}.att-list{border-radius:0 0 18px 18px}.att-row{grid-template-columns:var(--att-cols);grid-template-areas:none;gap:8px 12px;padding:8px 20px}.att-row>*,.att-marks>*{grid-area:auto}.att-marks{display:contents}.att-nomarks{grid-column:span 4}.att-remark{grid-column:2/-1}.att-choice label,.att-marks select,.att-marks input{height:40px}.att-mark-label{display:none}}.att-savebar{z-index:5;border:1px solid var(--border);background:var(--surface);border-radius:18px;align-items:center;gap:12px;padding:12px 16px 12px 24px;display:flex;position:sticky;bottom:16px;box-shadow:0 8px 24px #341e8c1f}.att-state{min-width:0;color:var(--present-fg);align-items:center;gap:8px;margin-right:auto;font-size:15px;font-weight:600;display:inline-flex}.att-dot{background:var(--present-border);border-radius:50%;flex:none;width:10px;height:10px}.att-savebar[data-state=dirty] .att-state,.att-savebar[data-state=draft] .att-state,.att-savebar[data-state=busy] .att-state{color:var(--late-fg)}.att-savebar[data-state=dirty] .att-dot,.att-savebar[data-state=draft] .att-dot,.att-savebar[data-state=busy] .att-dot{background:var(--late-border)}.att-savebar .att-all{height:48px}.att-save{background:var(--primary);height:48px;color:var(--primary-foreground);box-shadow:0 4px 0 var(--primary-shadow);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:14px;flex:none;align-items:center;gap:8px;padding:0 26px;font-size:15px;font-weight:600;display:inline-flex}.att-save:disabled{background:var(--segment-bg);color:var(--muted-foreground);box-shadow:none;cursor:default}.att-save:not(:disabled):active{box-shadow:0 2px 0 var(--primary-shadow);transform:translateY(2px)}.att-all:hover,.att-excel:hover,.att-latest:hover,.att-note:hover{filter:brightness(.96)}@media (max-width:1199px){.class-detail .class-head h1{font-size:28px;line-height:1.15}.class-detail .class-head-meta{font-size:14px}}@media (max-width:767px){.class-detail .class-head{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"back title switch";align-items:center;gap:4px;margin:0 -8px 8px}.class-back{width:48px;height:48px;color:var(--ink-strong);justify-content:center}.class-back-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.class-detail .class-head-title{gap:2px}.class-detail .class-head h1{font-size:18px;line-height:22px}.class-detail .class-head-meta{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.class-detail .class-switch{height:44px;padding:0 4px}.class-detail .class-switch>span{display:none}.class-detail .class-switch select{max-width:104px;font-size:16px}.class-tabs{background:var(--surface);margin:0 -16px 16px;padding:0 8px}.class-tabs button{flex:auto;justify-content:center;padding:0 10px}.class-detail .class-attendance{gap:12px;padding-bottom:76px}.att-controls{display:contents}.att-daypicker>div{flex-wrap:nowrap}.att-daypicker .date-button{flex:1;min-width:0}.att-daypicker .date-button>button{width:100%;padding:0 8px}.att-latest{flex:none}.att-export{border:1px solid var(--border);background:var(--surface);border-radius:16px;order:10;gap:8px;margin:8px 0 0;padding:16px}.att-export-title{flex-basis:100%;margin:0 0 4px;font-size:16px;font-weight:600;display:block}.att-month{flex:1 1 0;min-width:0;padding:0 4px 0 8px}.att-month>span,.att-excel-wide{display:none}.att-month select{width:100%}.att-month select,.att-marks select,.att-marks input,.lc-text,.lc-own,.lc-search input,.att-remark input{font-size:16px}.att-excel{padding:0 16px}.att-dayline>.att-daypicker{flex:100%;min-width:0}.att-tile strong{font-size:22px}.att-savebar .att-all{justify-content:center;width:48px;padding:0}.att-all-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.att-savebar{right:0;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;border-width:1px 0 0;border-radius:0;height:68px;padding:10px 16px;position:fixed;left:0;box-shadow:0 -6px 18px #341e8c14}.att-state{font-size:14px}}.admin-shell{max-width:880px;color:var(--foreground);gap:20px;margin:0 auto;padding:24px 16px 48px;display:grid}.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-head>a:last-child{color:var(--link);font-size:15px;font-weight:600}.admin-shell>h1{font-family:var(--display);margin:8px 0 0;font-size:36px;font-weight:600;line-height:1.1}.admin-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:20px}.admin-card>*{margin:0}.admin-card>*+*{margin-top:12px}.admin-card>h2{font-size:20px;font-weight:600;line-height:25px}.admin-card>p{color:var(--text-2);font-size:15px}.admin-card>label{color:var(--ink-2);gap:8px;font-size:14px;font-weight:600;display:grid}.admin-card>label input{border:1px solid var(--input);background:var(--surface);max-width:420px;height:48px;color:var(--foreground);border-radius:12px;padding:0 16px;font-size:15px;font-weight:500}.admin-card>label input::placeholder{color:var(--muted-foreground)}.admin-card>label input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.admin-temp{border-color:var(--border-hover);background:var(--primary-soft)}.admin-temp>p{color:var(--ink-2)}.admin-temp code{letter-spacing:.04em;-webkit-user-select:all;user-select:all;font-size:20px}.admin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-list li{border:1px solid var(--line-soft);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:12px 16px;font-size:15px;display:flex}.admin-list li small{color:var(--text-2);font-size:13px;font-weight:600}.admin-list li.is-disabled{opacity:.65}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:767px){.admin-shell>h1{font-size:28px}.admin-card{padding:16px}}.password-rules{color:var(--muted-foreground);gap:2px;margin:4px 0 12px;padding:0;font-size:13px;list-style:none;display:grid}.password-rules li[data-met=true]{color:var(--ready);font-weight:600}.recovery-codes{border:1px dashed var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:12px 0;padding:12px;list-style:none;display:grid}.recovery-codes code,.mfa-secret{letter-spacing:.06em;-webkit-user-select:all;user-select:all;font-size:16px}.checkbox-row{align-items:center;gap:8px;margin:8px 0 16px;display:flex}.grp-c-red{--grp:#d64550}.grp-c-orange{--grp:#e07a1f}.grp-c-yellow{--grp:#d6a600}.grp-c-green{--grp:#2f9e5b}.grp-c-teal{--grp:#1b9aa0}.grp-c-blue{--grp:#3b6fd6}.grp-c-purple{--grp:#7a4fd0}.grp-c-pink{--grp:#d6498f}.grp-page{gap:16px;display:grid}.grp-toolbar{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.grp-split{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grp-split select,.grp-form input[type=text],.grp-form input:not([type]){border:1px solid var(--border);background:var(--card);min-height:40px;color:inherit;border-radius:8px;padding:6px 10px}.grp-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.grp-card{border:1px solid var(--border);border-top:6px solid var(--grp,var(--border));background:var(--card);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.grp-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grp-card-head h2{margin:0;font-size:18px}.grp-card-actions{gap:4px;margin-left:auto;display:flex}.grp-swatch{background:var(--grp,var(--border));border-radius:50%;flex:none;width:16px;height:16px}.grp-members{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.grp-members li{background:var(--muted);border-radius:999px;padding:2px 8px;font-size:14px}.grp-form{gap:8px;margin:12px 0;display:grid}.grp-colors{border:0;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:8px 0 0;padding:0;display:grid}.grp-colors legend{margin-bottom:4px;padding:0;font-weight:600}.grp-color{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:4px 10px;display:flex}.grp-color:has(input:checked){border-color:var(--grp);box-shadow:0 0 0 2px var(--grp)}.grp-color:has(input:focus-visible){outline:2px solid var(--grp);outline-offset:2px}.grp-color input{opacity:0;pointer-events:none;position:absolute}.grp-empty{margin:0}.me-group{border:1px solid var(--border);border-left:8px solid var(--grp,var(--border));background:var(--card);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.me-group h2{margin:0 0 6px;font-size:18px}.me-group p{margin:0}.gp-standings{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.gp-row{border:1px solid var(--border);border-left:10px solid var(--grp,var(--border));background:var(--card);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.gp-rank{text-align:center;font-variant-numeric:tabular-nums;flex:none;min-width:2ch;font-size:clamp(24px,4vw,40px);font-weight:600}.gp-name{flex:1;gap:2px;min-width:0;display:grid}.gp-name strong{overflow-wrap:anywhere;font-size:clamp(18px,2.6vw,28px)}.gp-name small{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:14px}.gp-name small,.gp-mine small{color:var(--text-2)}.gp-absent{color:var(--muted-foreground);text-decoration:line-through}.grp-members .gp-absent{font-style:italic}.gp-score{white-space:nowrap;flex:none;font-size:clamp(16px,2.2vw,24px)}.gp-score b{font-variant-numeric:tabular-nums;font-size:clamp(22px,3.4vw,36px)}.gp-answered{color:var(--accent-foreground);flex:none;align-items:center;gap:4px;font-weight:600;display:inline-flex}.gp-lobby{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.gp-mine{border:1px solid var(--border);border-left:8px solid var(--grp,var(--border));background:var(--card);border-radius:10px;align-items:center;gap:12px;margin:8px 0;padding:10px 14px;display:flex}.gp-mine>div{flex:1;gap:2px;min-width:0;display:grid}.gp-mine small{color:var(--muted-foreground);overflow-wrap:anywhere}.gp-place{white-space:nowrap;flex:none;font-size:clamp(20px,3.4vw,30px)}.gp-place small{font-size:14px;font-weight:600}.gp-said{align-items:center;gap:8px;display:flex}@media (max-width:767px){.gp-row{flex-wrap:wrap;padding:10px 12px}.gp-score{margin-left:auto}}.gp-lives{color:#d64550;flex:none;gap:2px;display:inline-flex}.gp-life-lost{opacity:.35}.gp-out{opacity:.6}.gp-out-tag{background:var(--muted);border-radius:999px;flex:none;padding:2px 10px;font-size:14px;font-weight:600}.ui-page{container-type:inline-size}@container (width<=520px){.class-detail .class-head h1{font-size:28px}.class-tabs button{padding:0 14px;font-size:14px}}.ui-pills{border:0;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;display:flex}.ui-pill{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600;position:relative}.ui-pill:after{content:"";position:absolute;inset:-6px 0}.ui-pill:hover{border-color:var(--border-hover);color:var(--foreground)}.ui-pill[aria-pressed=true]{border-color:var(--border-hover);background:var(--primary-soft);color:var(--primary-text)}.ui-search{position:relative}.ui-search input::-webkit-search-cancel-button{display:none}.ui-search-clear{width:44px;height:44px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;margin-right:-8px;display:grid}.ui-search-clear:hover{color:var(--foreground)}.ui-page .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-page .progress-duo{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.ui-page .topics-panel{gap:14px;min-width:0}.ui-page .topics-panel>.panel-head{flex-direction:row;justify-content:space-between;align-items:baseline}@container (width<=1000px){.ui-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=860px){.ui-page .progress-duo{grid-template-columns:minmax(0,1fr)}}.topic-spread{gap:8px;display:grid}.topic-spread-bar{background:var(--segment-bg);border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.topic-spread-bar span{flex-basis:0;min-width:6px}.topic-spread-legend{flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;display:flex}.topic-spread-legend span{align-items:center;gap:6px;display:inline-flex}.topic-spread-legend i{border-radius:50%;width:8px;height:8px}.topic-rows{margin:0;padding:0;list-style:none}.topic-rows:has(+.topic-actions [aria-expanded=true]){max-height:420px;overflow-y:auto}.topic-rows li{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 64px 40px auto;align-items:center;gap:12px;padding:10px 0;display:grid}.topic-name{min-width:0;display:grid}.topic-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.long-name{max-width:100%;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;margin:0;padding:0;display:block;overflow:hidden}.long-name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.long-name[aria-expanded=true]{white-space:normal;overflow-wrap:anywhere}.mst-skill-name>b:has(>.long-name){flex:8em;min-width:0}.topic-name small{font-size:12px}.topic-rows .topic-track,.topic-rows .topic-fill{height:6px}.topic-percent{font-variant-numeric:tabular-nums;text-align:right;font-size:14px;font-weight:600}.topic-rows .pill{justify-self:start}.topic-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:auto;display:flex}.topic-actions .button{min-height:40px}@container (width<=520px){.topic-rows li{grid-template-columns:minmax(0,1fr) 40px auto}.topic-rows .topic-track{display:none}}.ui-page .progress-duo .trend{flex-direction:column;max-width:none;margin:0;display:flex}.trend-plot.is-fill{flex:1;height:auto;min-height:210px}.classwork-cards{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:stretch;gap:16px;display:grid}.classwork-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:16px;min-width:0;padding:22px 24px;display:flex}.classwork-head{align-items:flex-start;gap:14px;display:flex}.classwork-head h2,.classwork-lists h2{margin:0;font-size:18px;font-weight:600}.classwork-head p{margin:4px 0 0;font-size:13px;line-height:1.5}.classwork-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.classwork-icon.is-lesson{background:var(--quiz-bg);color:var(--primary)}.classwork-icon.is-exam{background:var(--exam-bg);color:var(--warning-fg)}.classwork-icon.is-review{background:var(--present-bg);color:var(--present-fg)}.classwork-form{flex-direction:column;flex:1;gap:10px;display:flex}.classwork-form>label{color:var(--text-2);font-size:13px;font-weight:600}.classwork-card select{border:1px solid var(--input);background:var(--surface);width:100%;min-height:44px;font:inherit;color:var(--foreground);border-radius:12px;padding:8px 12px}.classwork-card .due-field .time-select select{width:auto;min-width:76px}.classwork-submit{align-self:flex-start;margin-top:auto}.classwork-review-row{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.classwork-review-row>.classwork-head{flex:2 420px}.classwork-review-actions{flex-wrap:wrap;flex:360px;align-items:flex-end;gap:10px 12px;display:flex}.classwork-groups{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start;gap:12px;display:grid}.classwork-group{border:1px dashed var(--border-hover);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:16px;display:flex}.classwork-group h3{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.classwork-count{background:var(--segment-bg);color:var(--text-2);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.classwork-group>p{margin:0;font-size:13px}.classwork-group .class-lessons-list li{flex-wrap:wrap;padding:10px 12px}@container (width<=520px){.classwork-card{padding:18px 16px}}.xp-month{border:1px solid var(--input);background:var(--surface);height:44px;color:var(--text-2);border-radius:12px;align-items:center;gap:8px;margin:0;padding:0 8px 0 14px;font-size:14px;display:flex}.xp-month select{height:40px;font:inherit;color:var(--foreground);background:0 0;border:0;font-weight:600}.xp-rule-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.xp-rule-chips li{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.xp-rule-note{font-size:12px}.xp-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.xp-layout>.xp-race-card{flex:999 560px;min-width:0}.xp-side{flex-direction:column;flex:340px;gap:16px;min-width:0;display:flex}.xp-race-card{border-color:var(--border);background:var(--surface);gap:16px;padding:22px 24px}.xp-race-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.xp-race-head h2{margin:0}.xp-race-head p{margin:2px 0 0;font-size:13px}.xp-race-head .ui-search{max-width:320px;height:44px}.xp-empty{text-align:center;margin:0}.xp-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin:0;padding:0;list-style:none;display:grid}.xp-podium li{border:1px solid var(--border);background:var(--background);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:16px 12px;display:flex}.xp-podium li.xp-podium-1{border:2px solid var(--primary);background:var(--primary-soft);order:2;padding-block:22px}.xp-podium-2{order:1}.xp-podium li.xp-podium-3{order:3;padding-block:12px}.xp-podium-place{background:var(--segment-bg);color:var(--text-2);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.xp-podium-1 .xp-podium-place{background:var(--exam-bg);color:var(--warning-fg)}.xp-podium-name{overflow-wrap:anywhere;max-width:100%;font-size:15px}.xp-podium-xp{font-family:var(--display);font-size:22px;font-weight:600;line-height:1}.xp-podium-1 .xp-podium-xp{color:var(--primary-text);font-size:28px}.xp-podium-level{font-size:12px}.xp-race-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:13px;display:flex}.xp-dialog{border:1px solid var(--border);background:var(--surface);width:min(640px,94vw);max-height:88vh;color:var(--foreground);border-radius:16px;margin:auto;padding:22px 24px}.xp-dialog::backdrop{background:#17132b66}.xp-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.xp-dialog-head h2{margin:0;font-size:18px}.xp-dialog-head p{margin:2px 0 0;font-size:13px}.xp-pager{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-weight:600;display:flex}@container (width<=520px){.xp-race-card{padding:18px 16px}.xp-podium{gap:8px}.xp-podium li{padding:12px 6px}.xp-podium-name{font-size:13px}.xp-podium-xp,.xp-podium-1 .xp-podium-xp{font-size:18px}.xp-podium-level{display:none}}.grp-page .grp-toolbar{justify-content:space-between}.grp-page .grp-toolbar .ui-search{max-width:340px;height:44px}.grp-movebar{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;min-width:0;margin:0;padding:12px 16px;display:flex}.grp-movebar[data-active]{z-index:5;border-color:var(--primary);background:var(--primary-soft);position:sticky;top:12px;box-shadow:0 8px 24px #341e8c1f}@media (max-width:767px){.grp-movebar[data-active]{top:72px}}.grp-movebar p{margin:0;font-size:14px}.grp-done{color:var(--present-fg);font-weight:600}.grp-left{color:var(--warning-fg);font-weight:600}.grp-targets{flex-wrap:wrap;gap:6px;display:flex}.grp-target{border:1px solid var(--border-hover);background:var(--surface);min-height:40px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.grp-target .grp-swatch{width:10px;height:10px}.grp-target:disabled{opacity:.45;cursor:default}.grp-cancel{color:var(--text-2)}.grp-page .grp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@container (width<=1000px){.grp-page .grp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=600px){.grp-page .grp-cards{grid-template-columns:minmax(0,1fr)}}.grp-page .grp-card{background:var(--surface);border-top-width:4px;border-radius:16px;gap:14px;padding:18px 18px 16px}.grp-page .grp-card-head h2{font-size:16px}.grp-page .grp-unassigned{border-top-color:var(--warning);border-style:dashed}.grp-page .grp-members li{background:0 0;padding:0}.grp-pill{border:1px solid var(--border);background:var(--background);min-height:36px;color:var(--foreground);font:inherit;border-radius:999px;align-items:center;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}button.grp-pill{cursor:pointer;position:relative}button.grp-pill:after{content:"";position:absolute;inset:-4px 0}button.grp-pill:hover{border-color:var(--border-hover)}.grp-pill[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.grp-pill[data-found]{border-color:var(--warning);background:var(--exam-bg);color:var(--warning-fg)}.play-rooms{flex-direction:column;gap:16px;display:flex}.play-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.play-head .eyebrow{margin-bottom:6px}.play-head h1{letter-spacing:-.6px;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15}.play-head-actions{flex-wrap:wrap;flex:360px;justify-content:flex-end;gap:8px;display:flex}.play-head-actions .ui-search{height:44px}.play-rooms .class-tabs{margin:0}.play-notice{border:1px solid var(--warning);background:var(--exam-bg);color:var(--warning-fg);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.play-notice>span:first-child{align-items:flex-start;gap:8px;display:inline-flex}.play-notice.is-choosing{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.play-notice-actions{gap:8px;display:flex}.play-list{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow:hidden;container-type:inline-size}.play-row{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 150px 110px 170px auto;align-items:center;gap:16px;padding:14px 20px;display:grid}.play-row:has(.play-choose){grid-template-columns:28px minmax(0,1fr) 150px 110px 170px auto}.play-row-head{background:var(--table-head);color:var(--text-2);letter-spacing:.04em;border-top:0;padding-block:10px;font-size:12px;font-weight:600}.play-rooms:has(.play-choose) .play-row-head{grid-template-columns:28px minmax(0,1fr) 150px 110px 170px auto}.play-row[data-chosen]{background:var(--primary-soft)}.play-name{align-items:center;gap:12px;min-width:0;display:flex}.play-icon{border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.play-icon.is-live{background:var(--present-bg);color:var(--present-fg)}.play-icon.is-exam{background:var(--exam-bg);color:var(--warning-fg)}.play-icon.is-quiz{background:var(--quiz-bg);color:var(--primary)}.play-title{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.play-title strong{overflow-wrap:anywhere;font-size:15px}.play-badge{background:var(--segment-bg);color:var(--text-2);white-space:nowrap;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}.play-state{color:var(--present-fg);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.play-dot{background:var(--present-border);border-radius:50%;width:7px;height:7px}.play-cell{flex-direction:column;gap:4px;min-width:0;font-size:14px;display:flex}.play-cap{color:var(--muted-foreground);font-size:11px;font-weight:600;display:none}.play-slide{white-space:nowrap;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.play-bar{background:var(--segment-bg);border-radius:4px;flex:1;height:6px;overflow:hidden}.play-bar span{border-radius:inherit;background:var(--primary);height:100%;display:block}.play-code{align-items:center;gap:6px;display:flex}.play-code b{font-family:var(--display);letter-spacing:.12em;color:var(--primary-text);font-size:18px}.play-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.play-actions .button{white-space:nowrap;min-height:40px}.play-choose{justify-content:center;align-items:center;width:28px;height:44px;margin:0;display:flex}.play-choose input{width:20px;height:20px}.play-empty{border-top:1px solid var(--line-soft);color:var(--muted-foreground);justify-content:center;align-items:center;gap:8px;margin:0;padding:28px 20px;font-size:14px;display:flex}.play-more{border-top:1px solid var(--line-soft);background:var(--table-head);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:flex}.play-blank{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:32px 24px;display:flex}.play-blank h2{margin:0;font-size:18px}.play-blank p{max-width:440px;margin:0;font-size:14px}.play-blank-icon{background:var(--primary-soft);width:48px;height:48px;color:var(--primary);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}@container (width<=760px){.play-row-head{display:none}:is(.play-row,.play-row:has(.play-choose)){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;padding:16px}.play-row:first-of-type{border-top:0}.play-row:has(.play-choose) .play-choose{grid-column:1/-1;justify-content:flex-start}.play-name,.play-actions{grid-column:1/-1}.play-cap{display:block}.play-actions .button{flex:1;justify-content:center}}[data-slot=tabs-content]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:12px}.journal{gap:20px;display:grid}.jr-head{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.jr-head>div:first-child{flex:320px;min-width:0}.jr-head .eyebrow{margin:0}.jr-head h1{font-family:var(--display);margin:2px 0 8px;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.3}.jr-head-actions{flex-wrap:wrap;gap:12px;display:flex}.yp-lead{max-width:62ch;color:var(--text-2);margin:0;font-size:15px}.yp-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.yp-year{gap:6px;font-size:14px;font-weight:600;display:grid}.yp-year select,.yp-field select,.yp-field input,.yp-lesson input{border:1px solid var(--input);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--foreground);font:inherit;border-radius:12px;padding:0 12px;font-size:15px}.yp-plans{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.yp-plan-pill{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--ink-2);font:inherit;cursor:pointer;border-radius:999px;padding:0 16px;font-size:14px;font-weight:600}.yp-plan-pill[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.yp-empty{border:1px dashed var(--border-dashed);background:var(--surface);color:var(--text-2);text-align:center;border-radius:18px;padding:32px 20px}.yp-form>fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.yp-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:14px;padding:20px;display:grid}.yp-details{grid-template-columns:minmax(140px,200px) minmax(0,1fr) auto;align-items:end}.yp-field{gap:6px;min-width:0;display:grid}.yp-field label{font-size:14px;font-weight:600}.yp-field label b{color:var(--danger)}.yp-totals{gap:8px;margin:0;display:flex}.yp-totals div{background:var(--segment-bg);text-align:center;border-radius:12px;min-width:72px;padding:6px 12px}.yp-totals dt{color:var(--text-2);font-size:12px;font-weight:600}.yp-totals dd{font-family:var(--display);margin:0;font-size:22px;font-weight:600}.yp-unit-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.yp-unit-no{color:var(--primary-text);font-size:13px;font-weight:600}.yp-unit-meta{color:var(--text-2);flex:1;font-size:14px;font-weight:600}.yp-moves{gap:4px;display:inline-flex}.yp-remove{color:var(--danger)}.yp-unit-fields{grid-template-columns:minmax(0,1fr) minmax(140px,180px);gap:12px;display:grid}.yp-lessons{gap:8px;margin:0;padding:0;list-style:none;display:grid}.yp-lesson{grid-template-columns:28px minmax(0,1fr) 72px 88px 140px;align-items:center;gap:8px;display:grid}.yp-lesson-head{color:var(--muted-foreground);font-size:12px;font-weight:600}.yp-lesson-no{color:var(--text-2);text-align:center;font-weight:600}.yp-add{border:1px dashed var(--border-dashed);min-height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.yp-add-unit{background:var(--surface);min-height:52px}.yp-save{z-index:2;border-top:1px solid var(--border);background:var(--background);flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:12px 0;display:flex;position:sticky;bottom:0}.yp-save .error-note{flex-basis:100%}.yp-state{color:var(--text-2);flex:1;margin:0;font-size:14px;font-weight:600}.yp-delete{color:var(--danger)}.yp{container-type:inline-size}.yp-narrow{display:none}.yp-sum{color:var(--text-2);margin:0;font-size:15px}.yp-sum b{color:var(--foreground)}.yp-details .yp-sum{align-self:center}.yp-back{min-height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:700;display:inline-flex}.yp-unit-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 18px;display:flex}.yp-unit-row-name{flex:240px;min-width:0;display:grid}.yp-unit-row-name small,.ypo-unit-name small{color:var(--text-2);font-size:14px;font-weight:600}.ypo-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.ypo-head h2{margin:0;font-size:20px;font-weight:800}.ypo-key{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:inline-flex}.ypo-key>span{background:var(--foreground);border-radius:2px;width:3px;height:16px}.ypo-class{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.ypo-tile{width:48px;height:48px;font-family:var(--display);box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;border-radius:14px;flex:none;place-items:center;padding:0 4px;font-size:17px;font-weight:700;display:grid;overflow:hidden}.ypo-class-main{flex:300px;gap:8px;min-width:0;display:grid}.ypo-class-main p{flex-wrap:wrap;justify-content:space-between;gap:2px 12px;margin:0;font-size:15px;display:flex}.ypo-class-main p span{color:var(--text-2)}.ypo-class>:last-child:not(.ypo-class-main){margin-left:auto}.ypo-bar{background:var(--segment-bg);border-radius:999px;height:10px;position:relative}.ypo-bar i{background:var(--primary);border-radius:999px;height:100%;display:block}.ypo-bar b{background:var(--foreground);border-radius:2px;width:3px;margin-left:-1px;position:absolute;top:-5px;bottom:-5px}.ypo-chip{background:var(--segment-bg);max-width:100%;color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.ypo-chip[data-state=part]{background:var(--primary-soft);color:var(--primary-text)}.ypo-chip[data-state=done]{background:var(--present-bg);color:var(--present-fg)}.ypo-chip[data-state=late]{background:var(--notice-bg);color:var(--notice-fg)}.ypo-fill{border:1px solid var(--notice-border);background:var(--notice-bg);min-height:44px;color:var(--notice-fg);font:inherit;cursor:pointer;border-radius:14px;padding:0 16px;font-weight:700}.ypo-unit{border:1px solid var(--border);border-radius:16px}.ypo-unit[data-now]{border-color:var(--primary)}.ypo-unit summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:44px;padding:14px 18px;display:flex}.ypo-unit-name{flex:260px;min-width:0;display:grid}.ypo-unit-name b{font-size:16px}.ypo-unit-name b .ypo-chip{vertical-align:2px;margin-left:8px}.ypo-chips{flex-wrap:wrap;gap:6px;display:flex}.ypo-table-box{padding:0 18px 12px;overflow-x:auto}.ypo-table{border-collapse:collapse;width:100%;font-size:15px}.ypo-table th{border-bottom:1px solid var(--border);color:var(--muted-foreground);text-align:left;padding:8px 10px;font-size:13px;font-weight:700}.ypo-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.ypo-table tr:last-child td{border-bottom:0}.ypo-table tr[data-now] td{background:var(--primary-soft)}.ypo-topic small{color:var(--primary-text);font-size:13px;font-weight:700;display:block}.ypo-no,.ypo-week,.ypo-dash{color:var(--text-2)}.ypo-dialog{background:var(--surface);width:min(760px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--foreground);border:0;border-radius:24px;margin:auto;padding:0}.ypo-dialog::backdrop{background:#1b18306b}.ypo-dialog-head{padding:22px 24px 12px}.ypo-dialog-head h2{margin:0 0 6px;font-size:22px;font-weight:800}.ypo-dialog-head p{color:var(--text-2);margin:0}.ypo-fill-list{margin:0;padding:0;list-style:none}.ypo-fill-list li{border-top:1px solid var(--border);grid-template-columns:170px minmax(0,1fr);align-items:center;gap:6px 12px;padding:8px 24px;display:grid}.ypo-fill-list li[data-skip]{background:var(--notice-bg)}.ypo-fill-list label{font-weight:700}.ypo-fill-list select{border:1px solid var(--input);background:var(--surface);min-width:0;min-height:44px;color:var(--foreground);font:inherit;border-radius:12px;padding:0 10px}.ypo-dialog-foot{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 24px 18px;display:flex;position:sticky;bottom:0}.ypo-dialog-foot>span{color:var(--text-2);margin-right:auto;font-size:14px}.ypo-dialog-foot .error-note{flex-basis:100%}@container (width<=640px){.yp .jr-head-actions{flex-wrap:nowrap;width:100%}.yp .jr-head-actions .button{flex:1 1 0;min-width:0;padding:0 10px}.yp .yp-wide{display:none}.yp .yp-narrow{display:inline}.ypo-class{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:8px 12px;display:grid}.ypo-tile{width:40px;height:40px;font-size:15px}.ypo-class>:last-child:not(.ypo-class-main){grid-column:2;justify-self:start;margin-left:0}.ypo-class-main p{font-size:14px}.ypo-table thead{display:none}.ypo-table,.ypo-table tbody,.ypo-table tr,.ypo-table td{display:block}.ypo-table tr{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:10px 0;display:flex}.ypo-table td{border:0;padding:0}.ypo-table .ypo-no{display:none}.ypo-table .ypo-topic{flex-basis:100%;font-weight:700}.ypo-table td[data-label]:not(.ypo-week):before{content:attr(data-label) " ";color:var(--text-2);font-size:13px;font-weight:700}.ypo-table-box{padding:0 14px 8px}.ypo-unit summary{grid-template-columns:20px minmax(0,1fr);align-items:start;padding:12px 14px;display:grid}.ypo-chips{grid-column:2}.ypo-table tr[data-now]{background:var(--primary-soft);border-radius:12px;margin:0 -8px;padding:10px 8px}.ypo-table tr[data-now] td{background:0 0}}@media (max-width:600px){.ypo-dialog{border-radius:20px 20px 0 0;width:100vw;max-width:100vw;margin:auto 0 0}.ypo-fill-list li{grid-template-columns:minmax(0,1fr);padding:8px 16px}.ypo-dialog-foot>span{flex-basis:100%}.ypo-dialog-foot .button{flex:1}}.plan-next-line{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.plan-next-line b{color:var(--foreground);font-weight:600}.plan-next-line small{margin-left:auto}.mst-tools{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:12px;display:flex}.mst-tools .ui-search{flex:220px}.mst-unit{border:1px solid var(--border);background:var(--surface);border-radius:14px}.mst-unit+.mst-unit{margin-top:10px}.mst-unit-head{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 14px;display:flex}.mst-unit-name{min-width:0;display:grid}.mst-unit-name b{font-size:15px}.mst-unit-name small{color:var(--text-2);font-size:13px;font-weight:600}.mst-unit .mst-skills{padding:0 14px}.mst-unit .mst-skill-name b{text-overflow:ellipsis;white-space:nowrap;flex:8em;min-width:0;overflow:hidden}.mst-more{margin:0 14px 12px}.mst-link-form{background:var(--primary-soft);border-radius:12px;flex-wrap:wrap;flex-basis:100%;align-items:end;gap:8px;padding:10px 12px;display:flex}.mst-link-form label{color:var(--primary-text);flex:240px;gap:4px;font-size:13px;font-weight:700;display:grid}.mst-link-form select{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;border-radius:12px;padding:0 10px}@media (max-width:899px){.yp-save{bottom:calc(76px + env(safe-area-inset-bottom))}}@container (width<=700px){.yp-details,.yp-unit-fields{grid-template-columns:minmax(0,1fr)}.yp-lesson{grid-template-columns:24px minmax(0,1fr) 64px 72px}.yp-lesson .yp-moves{grid-column:2/-1;justify-content:flex-end}}.jr-chips{flex-wrap:wrap;gap:8px;margin:0;display:flex}.jr-chips span{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.jr-chips span[data-warn]{border-color:var(--notice-border);background:var(--notice-bg);color:var(--notice-fg)}.jr-editnote{border:1px solid var(--border-hover);background:var(--primary-soft);color:var(--primary-text);border-radius:14px;align-items:center;gap:12px;margin:0;padding:14px 18px;font-weight:600;display:flex}.jr-editnote svg{flex:none}.jr-icon:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-act:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-today:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-lesson:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-add:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-switch button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-daytabs button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.jr-notice{border:1px solid var(--notice-border);background:var(--notice-bg);color:var(--notice-fg);border-radius:12px;margin:0;padding:12px 16px;font-weight:600}.jr-bar{background:var(--segment-bg);-webkit-appearance:none;appearance:none;border:0;border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.jr-bar::-webkit-progress-bar{background:var(--segment-bg)}.jr-bar::-webkit-progress-value{background:var(--primary)}.jr-bar::-moz-progress-bar{background:var(--primary)}.jr-board,.jr-load,.jr-toolbar,.jr-panel{border:1px solid var(--border);background:var(--surface);border-radius:18px}.jr-board{min-width:0;overflow:hidden}.jr-toolbar{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:12px 16px;display:flex}.jr-toolbar .jr-legend{margin-left:auto}.jr-layout{align-items:start;gap:20px;display:grid}@container (width>=1100px){.jr-layout{grid-template-columns:minmax(0,1fr) 340px}}@container (width>=1400px){.jr-layout{grid-template-columns:minmax(0,1fr) 380px}}.jr-side{gap:20px;display:grid}.jr-panel{gap:14px;padding:22px;display:grid}.jr-panel h2{margin:0;font-size:20px;font-weight:600;line-height:1.3}.jr-panel .eyebrow{margin:0}.jr-panel-note{border:1px solid var(--line-soft);background:var(--table-head);color:var(--text-2);border-radius:12px;margin:0;padding:12px 14px;font-size:14px}.jr-panel-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.jr-danger{color:var(--danger)}.jr-sel-head{align-items:center;gap:14px;display:flex}.jr-sel-head p{color:var(--text-2);margin:0;font-size:14px;font-weight:600}.jr-tile{width:56px;height:56px;font-family:var(--display);border-radius:14px;flex:none;place-items:center;font-size:16px;font-weight:600;display:grid}.journal [data-grade],.dash [data-grade]{background:var(--grade-6-bg);color:var(--grade-6-fg)}.journal [data-grade="7"],.dash [data-grade="7"]{background:var(--grade-7-bg);color:var(--grade-7-fg)}.journal [data-grade="8"],.dash [data-grade="8"]{background:var(--grade-8-bg);color:var(--grade-8-fg)}.journal [data-grade="9"],.dash [data-grade="9"]{background:var(--grade-9-bg);color:var(--grade-9-fg)}.journal [data-grade="11"],.dash [data-grade="11"]{background:var(--grade-11-bg);color:var(--grade-11-fg)}.journal [data-grade="12"],.dash [data-grade="12"]{background:var(--grade-12-bg);color:var(--grade-12-fg)}.journal [data-grade="10"],.journal [data-grade=club],.dash [data-grade="10"],.dash [data-grade=club]{background:var(--grade-10-bg);color:var(--grade-10-fg)}.jr-status-chip{background:var(--segment-bg);color:var(--ink-2);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.jr-status-chip[data-state=done]{background:var(--present-bg);color:var(--present-fg)}.jr-status-chip[data-state=due]{background:var(--notice-bg);color:var(--notice-fg)}.jr-form{gap:14px;display:grid}.jr-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.jr-form label{min-width:0;color:var(--ink-2);gap:6px;font-size:13px;font-weight:600;display:grid}.jr-form select,.jr-form input{border:1px solid var(--input);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--foreground);font:inherit;border-radius:12px;padding:0 12px;font-size:15px;font-weight:600}.jr-form input[readonly]{background:var(--table-head)}.jr-form-hint{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.jr-form-hint b{color:var(--foreground)}.jr-form-alert,.jr-form-ok{border-radius:12px;gap:10px;margin:0;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.jr-form-alert svg,.jr-form-ok svg{flex:none;margin-top:2px}.jr-form-alert{background:var(--danger-bg);color:var(--danger)}.jr-form-ok{background:var(--present-bg);color:var(--present-fg)}.jr-form-actions{flex-wrap:wrap;gap:8px;display:flex}.jr-form-actions .button:first-child{flex:auto}.jr-addrow{padding:0 16px 16px}.jr-weeknav{align-items:center;gap:6px;display:flex}.jr-weeknav strong{text-align:center;font-variant-numeric:tabular-nums;min-width:112px}.jr-icon{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--foreground);cursor:pointer;border-radius:12px;flex:none;place-items:center;display:inline-grid}.jr-icon:disabled{opacity:.5;cursor:default}.jr-today{background:var(--segment-bg);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:0 14px;font-weight:600}.jr-legend{color:var(--text-2);flex-wrap:wrap;gap:14px;margin:0;font-size:13px;font-weight:600;display:flex}.jr-legend span:before{content:"";vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.jr-legend [data-key=done]:before{background:var(--present-border)}.jr-legend [data-key=due]:before{background:var(--warning)}.jr-legend [data-key=later]:before{border:1px solid var(--border);background:var(--surface)}.jr-legend [data-key=cancelled]:before{border:1px dashed var(--muted-foreground);background:var(--segment-bg)}.jr-switch{background:var(--segment-bg);border:0;border-radius:999px;min-width:0;margin:0;padding:4px;display:inline-flex}.jr-switch button{min-height:36px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-weight:600}.jr-switch button[aria-pressed=true]{background:var(--surface);color:var(--primary-text);box-shadow:var(--shadow-segment)}.jr-grid{grid-template-columns:minmax(76px, 96px) repeat(var(--days,5), minmax(112px, 1fr));display:grid;overflow-x:auto}.jr-row{display:contents}.jr-corner,.jr-dayhead,.jr-period,.jr-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.jr-corner{background:var(--table-head)}.jr-dayhead{background:var(--table-head);grid-template-columns:1fr auto;gap:2px 8px;padding:12px;display:grid}.jr-dayhead span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:13px}.jr-dayhead small{background:var(--segment-bg);border-radius:999px;grid-area:1/2/span 2;align-self:center;padding:2px 8px;font-size:12px;font-weight:600}.jr-dayhead[data-today],.jr-cell[data-today]{background:var(--primary-soft)}.jr-dayhead[data-today] strong{color:var(--primary-text)}.jr-dayhead[data-off],.jr-cell[data-off]{background:repeating-linear-gradient(135deg, var(--segment-bg) 0 8px, transparent 8px 16px)}.jr-period{background:var(--table-head);align-content:start;gap:2px;padding:12px;display:grid}.jr-period strong{font-size:18px}.jr-period span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.jr-cell{align-content:start;gap:6px;min-height:92px;padding:4px;display:grid}.jr-lesson{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.jr-lesson:hover{border-color:var(--border-hover)}.jr-lesson[aria-pressed=true]{border:2px solid var(--primary);padding:9px 11px}.jr-lesson-top{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.jr-chip{white-space:nowrap;border-radius:8px;padding:1px 8px;font-size:13px;font-weight:600}.jr-room,.jr-time{color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.jr-time+.jr-room{margin-left:0}.jr-lesson-title{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.3}.jr-status{color:var(--text-2);justify-self:start;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.jr-status[data-state=done]{color:var(--present-fg);font-weight:600}.jr-status[data-state=due]{background:var(--notice-bg);color:var(--notice-fg);border-radius:999px;padding:1px 8px;font-weight:600}.jr-lesson[data-state=cancelled]{background:var(--segment-bg);border-style:dashed}.jr-lesson[data-state=cancelled] .jr-lesson-title{text-decoration:line-through}.jr-add{border:1px dashed var(--border-dashed);background:var(--table-head);min-height:84px;color:var(--primary-text);font:inherit;cursor:pointer;border-radius:12px;place-items:center;gap:4px;font-weight:600;display:grid}.jr-daylist .jr-add{justify-content:center;min-height:56px;display:flex}.jr-empty{color:var(--text-2);text-align:center;justify-items:center;gap:12px;margin:0;padding:32px 16px;display:grid}.jr-empty p{margin:0}.jr-dayview{padding:12px;display:none}.journal[data-view=day] .jr-grid{display:none}.journal[data-view=day] .jr-dayview{display:block}.jr-daytabs{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.jr-daytabs button{border:1px solid var(--border);background:var(--surface);min-height:52px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:12px;justify-items:center;padding:6px 0;display:grid}.jr-daytabs button[data-today]{border-color:var(--primary)}.jr-daytabs button[aria-selected=true]{background:var(--primary);color:var(--primary-foreground)}.jr-daylist{gap:10px;display:grid}.jr-load{gap:16px;padding:24px;display:grid}.jr-load-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.jr-load h2{margin:0;font-size:20px;font-weight:600}.jr-load-head p{color:var(--text-2);margin:0;font-size:14px;font-weight:600}.jr-load ul{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.jr-load li{border:1px solid var(--border);border-radius:14px;gap:10px;min-width:0;padding:14px;display:grid}.jr-load-top{align-items:center;gap:10px;min-width:0;display:flex}.jr-load li strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.jr-load li small{color:var(--text-2);font-size:13px;font-weight:600}.jr-load li small b{color:var(--foreground)}.jr-load li .jr-load-merged{color:var(--muted-foreground);font-size:12px}.jr-count{background:var(--segment-bg);color:var(--ink-2);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:600}.att-off{color:var(--notice-fg);font-weight:600}.cal-dialog{background:var(--card);width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--foreground);box-shadow:var(--shadow-dialog);border:0;border-radius:20px;margin:auto;padding:20px 24px}.cal-dialog::backdrop{background:var(--scrim)}.cal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cal-head h2{margin:0}.cal-dialog h3{margin:18px 0 8px;font-size:16px}.cal-list{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.cal-row{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.cal-row input[type=text]{border:1px solid var(--input);background:var(--surface);min-width:0;min-height:44px;font:inherit;color:var(--foreground);border-radius:10px;flex:96px;padding:0 12px}.cal-weeks{color:var(--text-2);font-weight:600}.cal-row .jr-icon{margin-left:auto}.cal-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;font-weight:600;display:flex}.cal-saved{color:var(--present-fg);display:block}@media (max-width:1199px){.jr-grid{grid-template-columns:minmax(60px, 76px) repeat(var(--days,5), minmax(108px, 1fr))}.jr-period,.jr-dayhead{padding:10px 8px}.jr-cell{padding:6px}.jr-lesson{padding:8px}.jr-lesson[aria-pressed=true]{padding:7px}}@media (max-width:767px){.jr-grid,.journal[data-view=week] .jr-grid{display:none}.jr-dayview{display:block}.jr-switch,.jr-addrow{display:none}.jr-head-actions,.jr-head-actions .button{flex:auto}.jr-toolbar .jr-legend{margin-left:0}.jr-form-grid{grid-template-columns:1fr}.jr-form select,.jr-form input,.cal-row input[type=text]{font-size:16px}}.crs-page{flex-direction:column;gap:20px;padding-block:8px 48px;display:flex}.crs-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.crs-head>div{flex-direction:column;gap:6px;max-width:62ch;display:flex}.crs-empty{border:1px dashed var(--border-dashed);background:var(--surface);text-align:center;border-radius:20px;padding:32px 24px}.crs-empty p{color:var(--text-2);margin-top:8px}.crl-tiles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.crl-tile{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;gap:4px;margin:0;padding:18px 22px;display:flex}.crl-tile strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.2}.crl-tile span{color:var(--text-2);font-size:15px;font-weight:600}.crl-tile[data-warn]{border-color:var(--notice-border);background:var(--notice-bg)}.crl-tile[data-warn],.crl-tile[data-warn] span{color:var(--notice-fg)}.crl-grid{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:stretch;gap:20px;margin:0;padding:0;list-style:none;display:grid}.crl-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-direction:column;gap:14px;padding:24px;display:flex}.crl-card h2{min-height:2.6em;font-size:21px;line-height:1.3}.crl-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.crl-count{color:var(--text-2);font-size:14px;font-weight:600}.crl-classes{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crl-classes li{border-radius:10px;padding:4px 10px;font-size:13px;font-weight:700}.crl-stats{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:14px 0;display:grid}.crl-stats div{flex-direction:column;gap:2px;display:flex}.crl-stats dt{color:var(--text-2);order:2;font-size:13px}.crl-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:800}.crl-stats div[data-warn] dt,.crl-stats div[data-warn] dd{color:var(--danger);font-weight:700}.crl-none{border-block:1px solid var(--border);flex-direction:column;gap:4px;margin:0;padding:14px 0;display:flex}.crl-none span{color:var(--text-2);font-size:14px}.crl-help{background:var(--notice-bg);min-height:44px;color:var(--notice-fg);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:700;display:flex}.crl-live{color:var(--correct);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.crl-publish{border:1px dashed var(--border-dashed);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.crl-foot{align-items:center;gap:8px;display:flex}.crl-stats,.crl-none{margin-bottom:auto}.crl-foot>.button:first-child{flex:1}.crl-more{flex:none}.crs-subject{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.crs-count{color:var(--text-2);font-size:13px}.crs-ed{flex-direction:column;gap:16px;padding-block:8px 64px;display:flex}.crs-bar{z-index:5;background:var(--background);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex;position:sticky;top:0}.crs-bar-title{flex:1;min-width:160px}.crs-bar-title h1{overflow-wrap:anywhere;font-size:clamp(20px,2.4vw,26px)}.crs-bar-note{color:var(--warning-fg);font-size:13px;font-weight:600}.crs-body{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.crs-details{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.crs-wide{grid-column:1/-1}.crs-unit{flex-direction:column;gap:14px;display:flex}.crs-unit-head,.crs-level-tools{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.crs-grow{flex:1;min-width:200px}.crs-badge{background:var(--primary-soft);width:36px;height:48px;color:var(--primary-text);border-radius:12px;flex:none;place-items:center;font-weight:600;display:grid}.crs-mover{gap:4px;display:inline-flex}.crs-add{align-self:flex-start}.crs-add-unit{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.crs-add-unit small{color:var(--text-2)}.crs-level{border:1px solid var(--border);background:var(--toolbar-bg);border-radius:16px}.crs-level>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;list-style-position:inside;display:flex}.crs-level-title{font-weight:600}.crs-level-meta{color:var(--text-2);font-size:13px}.crs-issue{background:var(--danger-bg);color:var(--danger);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}.crs-level-body{flex-direction:column;gap:16px;padding:4px 16px 18px;display:flex}.crs-count{color:var(--text-2);font-size:12px;font-weight:500}.crs-exercises{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.crs-ex{border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.crs-ex[data-type=blanks]{border-left-color:var(--correct)}.crs-ex[data-type=order]{border-left-color:var(--warning)}.crs-ex-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.crs-ex-head .crs-mover{margin-left:auto}.crs-options,.crs-answers{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.crs-options legend,.crs-answers legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.crs-option{align-items:center;gap:8px;display:flex}.crs-option input[type=radio]{width:22px;height:22px;accent-color:var(--primary);flex:none;padding:0}.crs-option input[type=text]{border-radius:12px;height:44px}.crs-add-row{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.crs-code{font-family:var(--font-geist-mono);tab-size:2;font-size:14px}.ed-field .crs-code{font-family:var(--font-geist-mono);font-size:14px}.hw-panel,.hw-form,.hw-my,.hw-play,.hw-task{flex-direction:column;gap:12px;min-width:0;display:flex}.hw-form,.hw-play{border:0;margin:0;padding:0}.hw-head,.hw-row,.hw-q-head,.hw-confirm{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 12px;display:flex}.hw-head h3,.hw-my h2,.hw-task h3{margin:0}.hw-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hw-list li{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.hw-list li>span{gap:2px;min-width:0;display:grid}.hw-list small{color:var(--text-2)}.hw-chips{flex-wrap:wrap;gap:8px;display:flex}.hw-chip{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);border-radius:999px;padding:0 14px;font-weight:600}.hw-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.hw-box{border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.hw-box legend{padding:0 4px;font-weight:600}.hw-box .crs-option input:not([type]){flex:1;min-width:0;height:44px}.hw-q-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.hw-recap{background:var(--primary-soft);border-radius:12px;gap:6px;padding:12px;display:grid}.hw-recap ul,.hw-recap p,.hw-recap pre{margin:0}.hw-q{border:1px solid var(--border);border-radius:12px;gap:8px;padding:12px;display:grid}.hw-q-prompt{margin:0;font-weight:600}.hw-blank{margin:0;line-height:2.4}.hw-blank input{width:9em;min-height:40px;margin-inline:4px}.hw-match{gap:8px;display:grid}.hw-match label{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.hw-match select,.hw-q textarea{min-height:44px}.hw-open{border-top:1px solid var(--border);gap:6px;padding-top:8px;display:grid}.hw-open-answer{white-space:pre-wrap;margin:0}.hw-ai{background:var(--primary-soft);color:var(--primary-text);border-radius:10px;padding:6px 10px}.hw-open .hw-q-head input{flex:1;min-width:180px;min-height:44px}.hww{flex-direction:column;gap:12px;display:flex}.hww-switch{background:var(--segment-bg);border:0;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:4px;display:grid}.hww-switch button{min-height:42px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:700}.hww-switch button[aria-pressed=true]{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-segment);font-weight:800}.hww-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.hww-step{border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.hww-step[data-drop]{border:2px dashed var(--primary);background:var(--primary-soft)}.hww-kicker{letter-spacing:.12em;color:var(--muted-foreground);font-size:12px;font-weight:800}.hww-ok{background:var(--present-bg);color:var(--present-fg);border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;padding:12px 16px;display:flex}.hww-link{min-height:44px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-weight:700}.hww-warn{border:1px solid var(--late-border);background:var(--late-bg);color:var(--late-fg);border-radius:16px;padding:12px 16px}.hww-warn ul{margin:6px 0 0;padding-left:18px}.hww-tag{background:var(--present-bg);color:var(--present-fg);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:800;display:inline-block}.hww-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.hww-tiles>div{border:1px solid var(--border);background:var(--surface);border-radius:18px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.hww-tiles span{color:var(--ink-2);font-size:13px;font-weight:700}.hww-tiles b{font-size:26px}.hww-tiles small{color:var(--muted-foreground);font-size:12px}.hww-tiles b[data-tone=ok]{color:var(--present-fg)}.hww-tiles>div[data-tone=warn]{border-color:var(--late-border);background:var(--late-bg)}.hww-tiles>div[data-tone=warn] *{color:var(--late-fg)}.hww-summary{background:var(--line-soft);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;font-size:14px;display:flex}.hww-table{border-collapse:collapse;width:100%;font-size:14px}.hww-table th,.hww-table td{border-top:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:10px 8px}.hww-table thead th{color:var(--muted-foreground);border-top:0;font-size:12px}.hww-task th{padding-top:16px;font-size:15px}.hww-table td small{color:var(--text-2);margin-top:2px;display:block}.hww-table td small.hww-bad,.hww-table tr[data-warn] .hww-state{color:var(--late-fg);font-weight:700}.hww-table tr[data-warn]>*{background:var(--late-bg)}.hww-table tr[data-picked]>*{background:var(--primary-soft)}.hww-state{color:var(--present-fg);white-space:nowrap;font-weight:800}.hww-chip{background:var(--primary-soft);color:var(--primary-text);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.hww-chip[data-kind=open]{background:var(--grade-8-bg);color:var(--grade-8-fg)}.hww-prompt{color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.hww-prompt:hover{color:var(--link)}.hw-q-list .crs-ex[data-warn]{border:2px solid var(--late-border);background:var(--late-bg)}.hww-need{color:var(--late-fg);margin-left:auto;font-size:13px;font-weight:800}@media (max-width:700px){.hww-table thead{display:none}.hww-table,.hww-table tbody,.hww-table tr,.hww-table th,.hww-table td{display:block}.hww-table tr:not(.hww-task){border:1px solid var(--border);border-radius:14px;margin-top:8px;padding:8px 12px}.hww-table th,.hww-table td{border:0;padding:2px 0}.hww-table tr[data-warn]{border-color:var(--late-border);background:var(--late-bg)}.hww-table tr[data-picked]{border-color:var(--primary);background:var(--primary-soft)}}.rvp-card,.rvp{gap:14px;display:grid}.rvp-missed{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rvp-missed label{border:1px solid var(--border);border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;min-height:44px;padding:10px 12px;display:grid}.rvp-missed input{grid-row:span 2;width:20px;height:20px}.rvp-missed small,.rv-review-head small{color:var(--muted-foreground)}.rv-review{gap:8px;display:grid}.rv-review-head{margin:0;display:grid}.rv-path,.rv-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rv-node{border:2px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-weight:600;display:inline-flex}.rv-node>span{background:var(--primary-soft);width:30px;height:30px;color:var(--primary-text);border-radius:50%;place-items:center;display:inline-grid}.rv-node[aria-current=step]{border-color:var(--primary)}.rv-path li[data-done] .rv-node>span{background:var(--correct-bg);color:var(--correct)}.rv-steps li{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:4px 12px;font-size:14px}.rv-steps li[aria-current=step]{background:var(--primary);color:var(--primary-foreground)}.rv-ok,.rv-miss{align-items:center;gap:4px;margin-left:8px;font-weight:700;display:inline-flex}.rv-ok{color:var(--correct)}.rv-miss{color:var(--danger)}.rv-recap{justify-items:start;gap:8px;display:grid}.rv-check{align-items:center;gap:10px;min-height:44px;display:flex}.rv-check input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.dq-card{gap:12px;display:grid}.dq-label{margin:4px 0 0;font-weight:600}.dq-two{gap:16px;display:grid}@media (min-width:900px){.dq-two{grid-template-columns:minmax(0,1fr) 280px;align-items:start}}.dq-two h4{margin:0 0 8px}.dq-list,.dq-week{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.dq-list li{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.dq-list li>span{gap:2px;display:grid}.dq-list small{color:var(--muted-foreground)}.dq-phone{border:6px solid var(--foreground);background:var(--surface);border-radius:28px;gap:10px;padding:16px;display:grid}.dq-phone-head{color:var(--primary-text);margin:0;font-weight:700}.dq-phone-q{margin:0;font-weight:600}.dq-phone ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.dq-phone li{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.dq-remind{background:var(--primary);color:var(--primary-foreground);border-radius:12px;margin:0;padding:10px 14px;font-weight:700}.kpage{gap:14px;display:grid;container-type:inline-size}.kpage-back{min-height:44px;color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.kpage-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.kpage-kicker{color:var(--muted-foreground);margin:0 0 4px;font-size:13px;font-weight:600}.kpage-title{font-family:var(--display);margin:0;font-size:28px;font-weight:600}.kpage-actions{flex-wrap:wrap;gap:10px;display:flex}.kpage-intro{border:1px solid var(--border);background:var(--surface);color:var(--muted-foreground);border-radius:14px;margin:0;padding:12px 16px}.kpage-grid{align-items:start;gap:20px;display:grid}.kpage-main{gap:16px;min-width:0;display:grid}@container (width>=980px){.kpage-grid{grid-template-columns:minmax(0,1fr) 360px}.kp{position:sticky;top:16px}}.kp{justify-self:center;gap:10px;width:min(100%,360px);display:grid}.kp-title{margin:0;font-weight:700}.kp-tabs{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.kp-tabs button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:12px;font-weight:600}.kp-tabs button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.kp-phone{background:#1b1830;border-radius:30px;padding:10px}.kp-screen{color:#2e2a2a;background:#fbe3da;border-radius:22px;flex-direction:column;gap:12px;min-height:560px;max-height:72vh;padding:14px;font-family:Manrope,system-ui,sans-serif;font-size:12px;display:flex;overflow-y:auto}.kp-top p{color:#6b5f5c;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:11px;font-weight:700;display:flex}.kp-bar{background:#fff;border-radius:999px;height:6px;display:block;overflow:hidden}.kp-bar i{border-radius:inherit;background:#c8401c;height:100%;display:block}.kp-say{align-items:flex-start;gap:8px;display:flex}.kp-say .kd-kodoo{flex:none}.kp-say p{background:#fff;border-radius:14px;margin:0;padding:8px 10px;font-weight:700}.kp-card{background:#fff;border-radius:18px;gap:8px;padding:12px;display:grid}.kp-card :is(h4,h5,p){margin:0}.kp-card h5{font-size:16px;font-weight:800}.kp-card .kp-list{gap:4px;margin:0;padding-left:22px;display:grid}ol.kp-list{list-style:decimal}ul.kp-list{list-style:outside}.kp-card pre,.kp-screen .cw-code{color:#f7efec;white-space:pre-wrap;background:#2e2a2a;border-radius:12px;margin:0;padding:10px 12px;font-family:Consolas,ui-monospace,monospace;font-size:12px;overflow-x:auto}.kp-card small,.kp-empty{color:#6b5f5c}.kp-empty{text-align:center;margin:0}.kp-tip{color:#1f5f58;background:#e3f4ef;border-radius:14px;margin:0;padding:10px 12px;font-weight:700}.kp-btn{color:#fff;text-align:center;background:#c8401c;border-radius:14px;place-items:center;min-height:40px;margin-top:auto;font-weight:800;display:grid}.kp-options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kp-options li{background:#fff;border:2px solid #f1d5cb;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}.kp-options b{color:#a33415;background:#fbe3da;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;display:inline-grid}.kp-path{gap:10px;margin:0;padding:0;list-style:none;display:grid}.kp-path li{background:#fff;border-radius:16px;align-items:center;gap:10px;padding:10px;font-weight:700;display:flex}.kp-path li>b{color:#fff;background:#c8401c;border-radius:999px;flex:none;place-items:center;width:32px;height:32px;display:inline-grid}.kp-path small{color:#6b5f5c;font-weight:600;display:block}.kp-note{color:var(--muted-foreground);margin:0;font-size:12px}.kpage .hw-form{gap:12px;display:grid}.kpage .ed-card.hw-form{border:1px solid var(--border);border-radius:20px;padding:24px}.kpage fieldset.ed-card{min-width:0;margin:0}.kpage fieldset.ed-card>legend{float:left;width:100%;margin:0}.hw-legend{padding:0;font-size:18px;font-weight:600}.kpage .crs-ex[data-picked]{outline:2px solid var(--primary);outline-offset:4px;border-radius:12px}.kpage .dq-week{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.kpage .dq-week li{border:1px solid var(--border);border-radius:14px;justify-items:center;gap:2px;padding:10px;display:grid}.kpage .dq-week small{color:var(--muted-foreground)}.crs-outline{flex-direction:column;gap:14px;display:flex}.crs-outline h2{margin:0;font-size:18px}.crs-unit-row{flex-direction:column;gap:8px;display:flex}.crs-unit-head input{height:48px}.crs-chips{flex-wrap:wrap;gap:8px;padding-inline-start:48px;display:flex}.crs-chip{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--foreground);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.crs-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.crs-lesson{flex-direction:column;gap:14px;display:flex}.crs-lesson-head{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.crs-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;display:flex}.crs-tabs button{min-height:44px;color:var(--text-2);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.crs-tabs button.is-current{border-bottom-color:var(--primary);color:var(--foreground)}.crs-issue-line{color:var(--danger);margin:0;font-size:14px;font-weight:600}.crs-size-note{background:var(--danger-bg);color:var(--danger);border-radius:12px;margin:0;padding:10px 14px;font-size:14px;font-weight:600}.crs-lesson-grid{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:20px;display:grid}.crs-lesson-grid.is-solo{grid-template-columns:minmax(0,1fr)}.crs-page{align-items:start;gap:20px;display:grid}@media (min-width:1200px){.crs-page:has(>.kp){grid-template-columns:minmax(0,1fr) 360px}.crs-page>.kp{position:sticky;top:16px}}.crs-fields{flex-direction:column;gap:12px;min-width:0;display:flex}.crs-option input:not([type]){border-radius:12px;flex:1;min-width:0;height:44px}.crs-try{border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.crs-try legend{padding:0 4px;font-size:14px;font-weight:600}.crs-run-toggle{border:1px solid var(--border);background:var(--toolbar-bg);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.crs-run-toggle input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:2px 0 0}.crs-run-toggle label{cursor:pointer;flex-direction:column;gap:4px;display:flex}.crs-code-check{display:block}.crs-run-toggle small{color:var(--text-2);font-size:14px;line-height:1.45}.crs-code-check{border-radius:12px;margin:-4px 0 0;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.45}.crs-code-check[data-ok]{background:var(--success-bg,#e3f5ec);color:var(--success-fg,#14553a)}.crs-code-check:not([data-ok]){background:var(--warning-bg,#fff1d6);color:var(--warning-fg)}.crs-walk-steps,.crs-ex-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.crs-walk-steps>li{border:1px solid var(--border);border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 12px;padding:12px;display:grid}.crs-step-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.crs-empty{border:1px dashed var(--border);border-radius:14px;justify-items:start;gap:10px;padding:16px;display:grid}.crs-empty p{margin:0}.crs-steps{counter-reset:crs-step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.crs-steps>li{counter-increment:crs-step;justify-items:start;gap:10px;display:grid}.crs-steps h3{margin:0;font-size:18px}.crs-steps h3:before{content:counter(crs-step) ". ";color:var(--primary-text)}.crs-steps p{margin:0}.crs-labels{gap:8px;width:100%;margin:0;display:grid}.crs-labels>div{background:var(--muted);border-radius:12px;padding:10px 12px}.crs-labels dt{font-weight:700}.crs-labels dd{color:var(--muted-foreground);margin:2px 0 0;font-size:14px}.crs-import-note{border:1px solid var(--border);border-radius:12px;gap:8px;width:100%;padding:12px 14px;display:grid}.crs-import-note p{align-items:center;gap:6px;font-weight:600;display:flex}.crs-import-note ul{margin:0;padding-left:20px}.crs-import-actions{flex-wrap:wrap;gap:8px;display:flex}.crs-preview{gap:8px;display:grid;position:sticky;top:16px}.crs-phone{border:6px solid var(--foreground);background:var(--background);border-radius:28px;gap:10px;max-height:70vh;padding:16px;display:grid;overflow-y:auto}.crs-phone h4,.crs-phone h5,.crs-phone .cw{margin:0}.crs-tip{background:var(--primary-soft);border-radius:12px;margin:0;padding:8px 12px}.crs-pq{border:1px solid var(--border);border-radius:12px;gap:6px;padding:10px;display:grid}.crs-pq ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:899px){.crs-lesson-grid{grid-template-columns:1fr}.crs-preview{position:static}.crs-chips{padding-inline-start:0}}@media (max-width:767px){.crs-bar{position:static}}.cs-page{gap:1rem;max-width:44rem;margin-inline:auto;display:grid}.cs-bar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cs-streak{color:var(--foreground);align-items:center;gap:.4rem;font-weight:600;display:flex}.cs-hearts,.cs-stars{gap:.2rem;display:inline-flex}.cs-hearts svg,.cs-stars svg{color:var(--input)}.cs-hearts svg.is-on{color:var(--destructive);fill:var(--destructive)}.cs-stars svg.is-on{color:#c98a00;fill:#e8a900}.cs-unit h3{margin:0 0 .5rem}.cs-levels{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.cs-level{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;min-height:48px;color:var(--card-foreground);text-align:left;cursor:pointer;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.cs-level>span:first-of-type{flex:1}.cs-level.is-open{border-color:var(--primary)}.cs-level:disabled{cursor:not-allowed;opacity:.65}.cs-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.cs-prompt{font-size:1.1rem;font-weight:600}.cs-lecture{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:1rem;padding:1rem;display:grid}.cs-progress{width:100%;height:.6rem;accent-color:var(--primary)}.cs-exercise{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:1rem;padding:1rem;display:grid}.cs-options{border:0;gap:.5rem;margin:0;padding:0;display:grid}.cs-options label{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.6rem;min-height:48px;padding:.5rem .8rem;display:flex}.cw{color:#2e2a2a;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-block:16px;font-family:Manrope,system-ui,sans-serif;display:grid}.cw-stage,.cw-side{box-sizing:border-box;background:#fff;border-radius:28px;flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex;box-shadow:0 10px 30px #8a5a4e1a}.cw-stage{position:relative}.cw-board{box-sizing:border-box;background:#2f5d50;border:12px solid #9c6b3e;border-radius:22px;flex-direction:column;justify-content:center;gap:10px;min-height:220px;padding:18px 24px 18px 170px;display:flex;box-shadow:0 12px 28px #3c281440}.cw-board>span{color:#cfe3d9;font-size:14px;font-weight:700}.cw-board pre{color:#f7f3e8;white-space:pre-wrap;overflow-wrap:anywhere;min-height:48px;margin:0;font-family:Consolas,monospace;font-size:30px;font-weight:700;line-height:1.3}.cw-value{color:#ffc94d;margin:0;font-family:Consolas,monospace;font-size:18px;font-weight:700}.cw-value code{font:inherit}.cw-kodoo{position:absolute;top:92px;left:14px}.cw-say{background:#fff8f5;border:1.5px solid #f1d5cb;border-radius:20px;min-height:56px;margin:0;padding:14px 18px;font-size:17px;font-weight:700;line-height:1.5}.cw-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cw-head h3{margin:0;font-size:22px;font-weight:800}.cw-head span{background:#f7f1ef;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800}.cw-code{color:#f7efec;background:#2e2a2a;border-radius:18px;margin:0;padding:12px 0;font-family:Consolas,monospace;font-size:17px;line-height:1.6;overflow-x:auto}.cw-code span{border-left:4px solid #0000;padding:2px 18px;display:block}.cw-code span[data-on]{background:#ffc94d2e;border-left-color:#ffc94d}.cw-code b{color:#a89a95;text-align:end;width:2ch;margin-inline-end:12px;font-weight:400;display:inline-block}.cw-nav{align-items:center;gap:10px;margin-top:auto;display:flex}.cw-own{border-top:1px dashed #f1d5cb;padding-top:14px}.cw-own summary{cursor:pointer;align-items:center;min-height:44px;font-size:18px;font-weight:800;display:flex}.cw-own p{color:#6b5f5c;margin:0 0 12px;font-size:15px;font-weight:600}.cw-nav button{min-height:56px;font:inherit;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.cw-nav button:disabled{opacity:.35;cursor:default}.cw-prev{color:#2e2a2a;background:#f7f1ef;flex:none;width:56px}.cw-next{color:#fff;background:#c8401c;flex:1;box-shadow:0 8px 20px #c8401c40}.cw-try{background:#fff8f5;border:0;border-radius:20px;margin:0;padding:16px}.cw-try legend{float:left;width:100%;margin-block-end:10px;font-size:16px;font-weight:800;line-height:1.45}@media (max-width:900px){.cw{grid-template-columns:minmax(0,1fr)}.cw-board{min-height:0;padding-left:24px}.cw-kodoo{align-self:center;position:static}.cw-kodoo svg{width:110px;height:116px}}.kp-screen .cw{grid-template-columns:minmax(0,1fr)}.kp-screen .cw-board{min-height:0;padding-left:24px}.kp-screen .cw-kodoo{align-self:center;position:static}.kp-screen .cw-kodoo svg{width:110px;height:116px}.cs-match{border:0;gap:.5rem;margin:0;padding:0;display:grid}.cs-match label{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.6rem;min-height:48px;padding:.5rem .8rem;display:grid}.cs-match select{min-height:44px}.cs-options label.is-right,.cs-feedback.is-right{background:#1f7a46;border-color:#1f7a46}@supports (color:color-mix(in lab, red, red)){.cs-options label.is-right,.cs-feedback.is-right{background:color-mix(in srgb, #1f7a46 14%, var(--card))}}.cs-options label.is-wrong,.cs-feedback.is-wrong{border-color:var(--destructive);background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.cs-options label.is-wrong,.cs-feedback.is-wrong{background:color-mix(in srgb, var(--destructive) 12%, var(--card))}}.cs-code{border-radius:var(--radius);background:var(--muted);font-family:var(--font-geist-mono);white-space:pre-wrap;padding:.8rem;line-height:2.2;display:block}.cs-code input{border:1px solid var(--input);background:var(--card);width:9ch;min-height:36px;color:var(--foreground);font:inherit;border-radius:.4rem;margin-inline:.2rem;padding:.1rem .4rem}.cs-picked,.cs-pool{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.cs-picked{border:1px dashed var(--input);border-radius:var(--radius);counter-reset:pick;min-height:3rem;padding:.5rem}.cs-picked li:before{counter-increment:pick;content:counter(pick) ". "}.cs-picked button,.cs-pool button{border:1px solid var(--border);background:var(--muted);width:100%;min-height:44px;color:var(--foreground);text-align:left;cursor:pointer;border-radius:.5rem;padding:.4rem .7rem}.cs-order{gap:.75rem;display:grid}.cs-feedback{border:1px solid var(--border);border-radius:var(--radius);gap:.6rem;padding:.8rem;display:grid}.cs-feedback strong{align-items:center;gap:.4rem;display:flex}.cs-feedback pre{margin:0;overflow-x:auto}.cs-result{text-align:center;justify-items:center}.cs-page{align-content:start}.cs-page>.button{justify-self:start}.cs-options label{margin-bottom:0}.cs-options input[type=radio]{width:22px;height:22px;accent-color:var(--primary);flex:none;margin:0;padding:0}.cpr-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.cpr-class{gap:.3rem;min-width:12rem;margin:0;display:grid}.cpr-class select{border:1px solid var(--input);background:var(--card);min-height:44px;color:var(--foreground);font:inherit;border-radius:10px;padding:.4rem .6rem}.cpr-summary{color:var(--foreground);margin:0;font-weight:650}.cpr-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow-x:auto}.cpr-table{border-collapse:collapse;width:100%;font-size:14px}.cpr-table th,.cpr-table td{border-bottom:1px solid var(--border);text-align:center;white-space:nowrap;padding:.55rem .7rem}.cpr-table thead th{background:var(--muted);color:var(--foreground);font-weight:600}.cpr-table thead th[title]{text-overflow:ellipsis;max-width:9rem;overflow:hidden}.cpr-table .cpr-name{background:var(--card);text-align:left;min-width:9rem;position:sticky;left:0}.cpr-table thead .cpr-name{background:var(--muted)}.cpr-table td[data-passed]{background:#1f7a46}@supports (color:color-mix(in lab, red, red)){.cpr-table td[data-passed]{background:color-mix(in srgb, #1f7a46 12%, var(--card))}}.cpr-table td:not([data-passed]){color:var(--muted-foreground)}.cpr-stars{align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.cpr-stars svg{color:#c98a00;fill:#e8a900}.cpr-table tfoot th,.cpr-table tfoot td{background:var(--muted);border-bottom:0;font-weight:600}.crs-tests{border:0;gap:.75rem;margin:0;padding:0;display:grid}.crs-test{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:.5rem;padding:.75rem;display:grid}.crs-test .icon-button{justify-self:end}.cs-codebox{gap:.6rem;display:grid}.cs-codebox label{margin:0}.cs-example{overflow-wrap:anywhere;margin:0}.cs-editor{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);font-family:var(--font-geist-mono);tab-size:4;resize:vertical;padding:.6rem .7rem;font-size:15px;line-height:1.5}.cs-run{border-radius:var(--radius);background:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.6rem .8rem}.cs-run.is-error{background:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.cs-run.is-error{background:color-mix(in srgb, var(--destructive) 12%, var(--card))}}.cs-report{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.cs-report li{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:.5rem;gap:.15rem;padding:.5rem .7rem;display:grid}.cs-report li.is-right{border-color:#1f7a46}.cs-report li.is-wrong{border-color:var(--destructive)}.exam-confirm{border:1px solid var(--border);background:var(--surface);width:min(440px,92vw);color:var(--foreground);border-radius:16px;margin:auto;padding:22px 24px}.exam-confirm::backdrop{background:#17132b80}.exam-confirm h2{margin:0 0 10px;font-size:20px}.exam-confirm-warning{color:var(--destructive);font-weight:600}.exam-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.exam-confirm-actions .button{min-height:44px}.cb-blocks{flex-direction:column;gap:16px;display:flex}.cb-rich{flex-direction:column;gap:10px;min-width:0;display:flex}.cb-rich p{white-space:pre-line;overflow-wrap:anywhere}.cb-heading{font-size:20px;line-height:1.35}.cb-goal{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary-text);border-radius:14px;padding:12px 14px;line-height:1.5}.cb-pre{border:1px solid var(--border);background:var(--toolbar-bg);max-width:100%;color:var(--foreground);font-family:var(--font-geist-mono);tab-size:2;border-radius:12px;margin:0;padding:12px 14px;font-size:14px;line-height:1.55;overflow-x:auto}.cb-inline{background:var(--toolbar-bg);border:1px solid var(--line-soft);font-family:var(--font-geist-mono);border-radius:8px;padding:1px 6px;font-size:.92em}.cb-code{flex-direction:column;gap:8px;margin:0;display:flex}.cb-code figcaption{font-size:14px;font-weight:600}.psr{color:#2e2a2a;flex-direction:column;gap:12px;min-width:0;font-family:Manrope,system-ui,sans-serif;display:flex;container-type:inline-size}@container (width<=460px){.psr-soft .psr-btn-text{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.psr-bar .psr-soft{padding:0 12px}}.psr-code{background:#f7f6fb;border:1px solid #e3dfee;border-radius:16px;overflow:hidden}.psr-bar{background:#fff;border-bottom:1px solid #e3dfee;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex}.psr-label{color:#6b5f5c;letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:800}.psr-chip{color:#7a4100;background:#fff1d6;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.psr-grow{flex:auto}.psr-bar button{min-height:44px;font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:700;display:inline-flex}.psr-bar button:disabled{opacity:.45;cursor:default}.psr-soft{color:#a33415;background:#fff;border:1px solid #f1d5cb}.psr-go{color:#fff;background:#c8401c;border:0;font-weight:800}.psr-lines{white-space:pre;margin:0;padding:12px 0;font-family:Consolas,monospace;font-size:15px;line-height:1.75;overflow-x:auto}.psr-lines span{border-left:4px solid #0000;padding:0 16px;display:block}.psr-lines span[data-now]{background:#ffc94d52;border-left-color:#ffc94d}.psr-lines span[data-bad]{background:#fde2dc;border-left-color:#c8401c}.psr-lines b{color:#8d817c;text-align:end;-webkit-user-select:none;user-select:none;width:2ch;margin-inline-end:12px;font-weight:400;display:inline-block}.psr-edit{box-sizing:border-box;outline-offset:-2px;color:#2e2a2a;resize:vertical;background:#fffdfb;border:0;outline:2px solid #c8401c;width:100%;padding:12px 16px;font-family:Consolas,monospace;font-size:16px;line-height:1.75;display:block}.psr-panels{flex-wrap:wrap;gap:12px;display:flex}.psr-vars,.psr-out{box-sizing:border-box;border-radius:16px;flex-direction:column;flex:260px;gap:10px;min-width:0;padding:12px 14px 14px;display:flex}.psr-vars{background:#fff8f5;border:1px solid #f1d5cb}.psr h4{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.psr-vars h4{color:#a33415}.psr-vars p{color:#6b5f5c;margin:0;font-size:14px;font-weight:600}.psr-vars ul{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.psr-vars li{flex-direction:column;gap:4px;min-width:0;display:flex}.psr-vars small{color:#6b5f5c;letter-spacing:.04em;justify-content:space-between;gap:6px;font-size:11px;font-weight:800;display:flex}.psr-vars em{text-transform:uppercase;font-style:normal}.psr-vars li b{overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:15px}.psr-vars code{box-sizing:border-box;overflow-wrap:anywhere;background:#fff;border:2px solid #e3dfee;border-radius:10px;align-items:center;min-height:44px;padding:0 10px;font-family:Consolas,monospace;font-size:17px;font-weight:700;display:flex}.psr-vars li[data-new] em{color:#7a4100}.psr-vars li[data-new] code{background:#fff4c8;border-color:#ffc94d;box-shadow:0 0 0 4px #ffc94d4d}.psr-vars li[data-bad] small{color:#a33415}.psr-vars li[data-bad] code{color:#a33415;background:#fde2dc;border-color:#c8401c}.psr-out{color:#f7efe9;background:#2b2624}.psr-out-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.psr-out h4{color:#f2b8a4}.psr-out-head span{color:#cbbfb9;font-size:13px;font-weight:600}.psr-out pre{white-space:pre-wrap;overflow-wrap:anywhere;min-height:26px;margin:0;font-family:Consolas,monospace;font-size:15px;line-height:1.7}.psr-ask{background:#3a3330;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.psr-ask label{font-size:14px;font-weight:700}.psr-ask input{box-sizing:border-box;color:#fff;background:#2b2624;border:2px solid #9fd9cf;border-radius:10px;flex:120px;min-width:0;min-height:44px;padding:0 12px;font-family:Consolas,monospace;font-size:16px}.psr-ask button{color:#173a35;min-height:44px;font:inherit;cursor:pointer;background:#9fd9cf;border:0;border-radius:10px;padding:0 16px;font-weight:800}.psr-error{color:#ffd9cf;background:#5a2a20;border-radius:12px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:15px;font-weight:600;line-height:1.5;display:flex}.psr-error svg{flex:none;margin-top:2px}.psr-done{color:#9fd9cf;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:700;display:flex}.psr-hint{color:#6b5f5c;margin:0;font-size:14px;font-weight:600}.kp-card .psr pre{color:inherit;white-space:pre;background:0 0;border-radius:0;padding:10px 0;font-size:13px}.kp-card .psr-out pre{white-space:pre-wrap;padding:0}.kp-card .psr-bar button{min-height:36px;padding:0 10px;font-size:13px}@media (prefers-reduced-motion:no-preference){.psr-vars code,.psr-lines span{transition:background-color .2s,border-color .2s}}.cb-note{border:1px solid var(--border);background:var(--surface);border-left-width:4px;border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.cb-note>b{align-items:center;gap:6px;font-size:14px;display:inline-flex}.cb-tip{border-left-color:var(--primary)}.cb-trap{border-left-color:var(--warning);background:var(--toolbar-bg)}.cb-trap>b{color:var(--warning-fg)}.cb-summary{border-left-color:var(--correct)}.cb-summary ul{margin:0;padding-left:20px;line-height:1.55}.cb-term{border:1px dashed var(--border-dashed);border-radius:12px;flex-wrap:wrap;gap:4px 12px;margin:0;padding:10px 14px;display:flex}.cb-term dt{align-items:center;gap:6px;font-weight:600;display:inline-flex}.cb-term dd{color:var(--ink-3);margin:0}.cs-prompt .cb-pre{font-size:14px}.crs-head-actions{flex-wrap:wrap;gap:8px;display:flex}.crs-blocks h4,.crs-level-body>h4{margin:0;font-size:15px;font-weight:600}.crs-block-list{flex-direction:column;gap:10px;margin:0 0 10px;padding:0;list-style:none;display:flex}.crs-block{border:1px solid var(--border);border-left:4px solid var(--border-hover);background:var(--surface);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.crs-block[data-type=tip]{border-left-color:var(--primary)}.crs-block[data-type=misconception]{border-left-color:var(--warning)}.crs-block[data-type=summary]{border-left-color:var(--correct)}.crs-hints{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.crs-hints legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.cpr-legend{margin:0;font-size:13px}.cs-badge.is-wrong{background:var(--danger-bg);color:var(--danger)}.cs-open{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);width:100%;color:var(--foreground);font:inherit;resize:vertical;padding:.6rem .7rem;line-height:1.5}.kp-open{color:#8a7f7b;background:#fff;border:2px dashed #f1d5cb;border-radius:14px;margin:0;padding:10px 12px;font-size:13px}.coa{gap:12px;margin-top:16px;display:grid}.coa-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.coa-head h2{margin:0;font-size:20px}.coa-filter{gap:6px;display:flex}.coa-filter button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-weight:600}.coa-filter button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.coa-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.coa-list>li{border:1px solid var(--border);border-radius:14px;gap:8px;padding:14px 16px;display:grid}.coa-list>li[data-mark=right]{border-color:var(--correct)}.coa-list>li[data-mark=wrong]{border-color:var(--danger)}.coa-who{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.coa-chip{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.coa-chip.is-right{background:var(--correct-bg);color:var(--correct)}.coa-chip.is-wrong{background:var(--danger-bg);color:var(--danger)}.coa-prompt{color:var(--muted-foreground)}.coa-text{background:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px 12px}.coa-note{gap:4px;font-size:14px;display:grid}.coa-note input{border:1px solid var(--input);min-height:40px;font:inherit;border-radius:10px;padding:0 10px}.coa-actions{flex-wrap:wrap;gap:8px;display:flex}.cpr-help{color:var(--warning-fg);align-items:center;gap:4px;margin-top:2px;font-size:12px;font-weight:600;display:flex}.cpr-table td[data-state=unassisted]{background:var(--correct-bg);color:var(--correct);font-weight:600}.cpr-table td[data-state=started]{color:var(--warning-fg)}.crp-page{gap:24px;container:crp/inline-size}.crp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.crp-head-text{flex-direction:column;gap:6px;min-width:0;display:flex}.crp-head-text h1{font-family:var(--display);letter-spacing:-.015em;margin:0;font-size:40px;line-height:44px}.crp-head-text p{margin:0;font-size:16px}.crp-back{min-height:32px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:700;display:flex}.crp-eyebrow{letter-spacing:.14em;color:var(--muted-foreground);font-size:13px;font-weight:700}.crp-tools{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.crp-field{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.crp-field select{border:1px solid var(--input);background:var(--surface);height:44px;font:inherit;border-radius:14px;padding:0 12px;font-size:15px;font-weight:500}.crp-pills{background:var(--segment-bg);border:0;border-radius:999px;gap:4px;margin:0;padding:4px;display:flex}.crp-pills button{height:36px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:15px;font-weight:600}.crp-pills button[aria-pressed=true]{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-segment);font-weight:700}.crp-excel{background:var(--accent-foreground);color:#fff;border-radius:14px;height:44px}.crp-help-note{background:var(--late-bg);color:var(--late-fg);border-radius:14px;align-items:center;gap:8px;margin:0;padding:10px 14px;font-weight:700;display:flex}.crr{flex-direction:column;gap:24px;display:flex}.crr [data-state=done]{--st-bg:var(--present-bg);--st-fg:var(--present-fg)}.crr [data-state=going]{--st-bg:var(--excused-bg);--st-fg:var(--excused-fg)}.crr [data-state=stuck]{--st-bg:var(--absent-bg);--st-fg:var(--absent-fg)}.crr [data-state=idle],.crr [data-state=help]{--st-bg:var(--late-bg);--st-fg:var(--late-fg)}.crr [data-state=none]{--st-bg:var(--line-soft);--st-fg:var(--ink-2)}.crr [data-band=low]{color:var(--absent-fg)}.crr [data-band=mid]{color:var(--late-fg)}.crr [data-band=high]{color:var(--present-fg)}.crr-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.crr-tile{border:1px solid var(--border);background:var(--surface);border-radius:22px;flex-direction:column;gap:4px;min-width:0;padding:18px 20px;display:flex}.crr-tile[data-attention]{border-color:var(--absent-border);background:var(--absent-bg)}.crr-tile>span{color:var(--ink-2);font-size:14px;font-weight:700}.crr-tile>b{font-family:var(--display);color:var(--st-fg,var(--foreground));font-size:32px;line-height:38px}.crr-tile>small{color:var(--muted-foreground);font-size:13px}.crr-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.crr-card h2,.crr-units-wrap h2{margin:0;font-size:21px;font-weight:800;line-height:28px}.crr-card header p{margin:4px 0 0;font-size:14px}.crr-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.crr-chip{background:var(--st-bg);color:var(--st-fg);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.crr-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.crr-bar{background:var(--line-soft);border-radius:999px;height:8px;display:block;overflow:hidden}.crr-bar>span{border-radius:inherit;background:var(--link);height:100%;display:block}.crr-bar>span[data-done],[data-done]>.crr-bar>span{background:var(--present-border)}.crr-dash{color:var(--muted-foreground)}.crr-grid{border-collapse:collapse;width:100%;font-size:14px}.crr-grid th,.crr-grid td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:10px 8px}.crr-grid thead th{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:13px;font-weight:700}.crr-grid thead th small{font-weight:500;display:block}.crr-name{color:var(--link);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.crr-name:hover{text-decoration:underline}.crr-unit{flex-direction:column;gap:4px;min-width:64px;display:flex}.crr-unit-top{justify-content:space-between;gap:6px;display:flex}.crr-unit-top small{color:var(--muted-foreground)}.crr-unit[data-done] b{color:var(--present-fg)}.crr-now b,.crr-now small{display:block}.crr-now small{color:var(--muted-foreground)}.crr-last{white-space:nowrap}td.crr-last[data-state=idle],td.crr-last[data-state=stuck]{color:var(--st-fg);font-weight:700}.crr-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:none}.crr-card-row{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;gap:6px;padding:12px 14px;font-size:14px;display:flex}.crr-card-name{justify-content:space-between;align-items:center;gap:8px;font-size:16px;display:flex}.crr-segments{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;display:grid}.crr-units{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:12px;display:grid}.crr-unit-card{gap:8px;padding:18px 20px;font-size:14px}.crr-unit-card>b{font-size:17px}.crr-kicker{letter-spacing:.1em;color:var(--muted-foreground);text-transform:uppercase;font-size:12px;font-weight:700}.crr-ink{color:var(--foreground)}.crr-bad{color:var(--absent-fg)}.crr-step{border:1px solid var(--border);background:var(--surface);height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.crr-sentence{border-left:5px solid var(--link);background:var(--segment-bg);border-radius:18px;flex-direction:column;gap:6px;padding:20px 24px;display:flex}.crr-sentence p{margin:0;font-size:17px;line-height:1.5}.crr-timeline{flex-direction:column;gap:10px;display:flex}.crr-axis{color:var(--muted-foreground);justify-content:space-between;margin-left:180px;font-size:12px;display:flex}.crr-tl-row{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:10px;display:grid}.crr-tl-name{overflow-wrap:anywhere;font-size:14px;font-weight:700}.crr-tl-track{background:var(--line-soft);border-radius:10px;height:30px;position:relative}.crr-tl-bar{background:var(--excused-bg);color:var(--excused-fg);white-space:nowrap;border-radius:10px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.crr-tl-bar[data-done]{background:var(--present-bg);color:var(--present-fg)}.crr-tl-empty{height:100%;color:var(--muted-foreground);align-items:center;padding:0 8px;font-size:12px;display:flex}.crr-unit-details summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.crr-summary-text{flex-direction:column;gap:2px;min-width:0;display:flex}.crr-summary-text>b{font-size:18px}.crr-summary-text>.muted{font-size:14px}.crr-lessons{border-collapse:collapse;width:100%;font-size:14px}.crr-lessons th,.crr-lessons td{border-bottom:1px solid var(--line-soft);text-align:left;padding:9px 8px}.crr-lessons thead th{color:var(--muted-foreground);font-size:12px;font-weight:700}.crr-lessons tbody th{font-weight:700}.crr-lessons tr[data-state=stuck]{background:var(--absent-bg)}.crr-lessons td[data-bad]{color:var(--absent-fg);font-weight:800}.crr-dots{flex-wrap:wrap;gap:3px;display:inline-flex}.crr-dots span,.crr-keys i{background:var(--absent-border);border-radius:50%;width:10px;height:10px;display:inline-block}.crr-dots span[data-ok],.crr-keys i[data-ok]{background:var(--present-border)}.crr-note{margin:0;font-size:13px}.crr-chart-wrap h3{margin:0 0 6px;font-size:16px}.crr-chart{width:100%;height:auto;display:block}.crr-grid-line{stroke:var(--line-soft)}.crr-axis-text{fill:var(--muted-foreground);font-size:12px}.crr-fail{fill:var(--absent-border)}.crr-pass{fill:var(--present-border)}.crr-keys{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;margin:6px 0 0;font-size:13px;display:flex}.crr-keys span{align-items:center;gap:6px;display:flex}@container crp (width<=1050px){.crr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@container crp (width<=860px){.crr-grid{display:none}.crr-cards{display:flex}.crr-lessons thead{display:none}.crr-lessons,.crr-lessons tbody,.crr-lessons tr,.crr-lessons th,.crr-lessons td{display:block}.crr-lessons tr{border-bottom:1px solid var(--line-soft);padding:8px 0}.crr-lessons th,.crr-lessons td{border:0;padding:2px 0}.crr-lessons td{justify-content:space-between;gap:12px;display:flex}.crr-lessons td:before{content:attr(data-label);color:var(--muted-foreground);font-size:13px}.crr-axis{margin-left:0}.crr-tl-row{grid-template-columns:minmax(0,1fr);gap:4px}}@container crp (width<=700px){.crp-head-text h1{font-size:24px;line-height:30px}.crp-head-text p{font-size:13px}.crp-tools{width:100%}.crp-field,.crp-tools .ui-search{flex:1}.crp-excel,.crr-step{justify-content:center;width:44px;padding:0}.crp-excel span,.crr-step span{display:none}.crr-tiles{gap:10px}.crr-tile{border-radius:18px;padding:12px}.crr-tile>span,.crr-tile>small{font-size:12px}.crr-tile>b{font-size:24px;line-height:30px}.crr-card{border-radius:20px;gap:12px;padding:16px}.crr-sentence{padding:14px 16px}.crr-sentence p{font-size:15px}.crr-axis span:nth-child(2n){display:none}.crr-axis-text{font-size:26px}}.crs-publish{border:1px solid var(--border);border-left:4px solid var(--warning);background:var(--toolbar-bg);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.crs-share-row{flex-direction:column;align-items:stretch}.crs-share-main{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.crs-share-main .share-class{flex:200px}.crs-share-settings{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;margin:0;padding:12px;display:flex}.crs-share-settings legend{padding:0 4px;font-size:13px;font-weight:600}.crs-radio,.crs-check{cursor:pointer;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.crs-radio input,.crs-check input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0;padding:0}.crs-pick{border:1px solid var(--line-soft);border-radius:10px;flex-direction:column;gap:10px;max-height:260px;padding:10px;display:flex;overflow-y:auto}.crs-pick-unit ul{margin:6px 0 0;padding-left:28px;list-style:none}.crs-share-actions{flex-wrap:wrap;gap:8px;display:flex}.cs-cards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cs-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.cs-card-actions{flex-wrap:wrap;gap:8px;display:flex}.cs-card-actions .button{text-align:left;flex-wrap:wrap}.cs-card-actions .button small{opacity:.9;flex-basis:100%;font-size:12px;font-weight:600}.cs-steps{flex-wrap:wrap;gap:8px;margin:4px 0;display:flex}.cs-steps button{border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.cs-steps button.is-solved{border-color:var(--correct);background:var(--correct-bg);color:var(--correct)}.cs-steps button.is-current{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground,#fff)}.cs-ex-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.cs-ex-num{color:var(--text-2);font-size:13px;font-weight:600}.cs-badge{background:var(--toolbar-bg);border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.cs-badge.is-right{background:var(--correct-bg);color:var(--correct)}.cs-save{color:var(--text-2);margin:0;font-size:13px}.cs-save[data-state=unsaved]{color:var(--warning-fg);font-weight:600}.cs-ex-actions,.cs-nav{flex-wrap:wrap;gap:8px;display:flex}.cs-nav{justify-content:space-between}.cs-hints{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cs-hints li{border:1px solid var(--border);border-left:4px solid var(--primary);background:var(--primary-soft);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.cs-hints li>strong{color:var(--primary-text);align-items:center;gap:6px;font-size:13px;display:inline-flex}.cs-offline,.cs-leave,.cs-done-note{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:14px;display:flex}.cs-offline,.cs-leave{border-left:4px solid var(--warning);background:var(--toolbar-bg);color:var(--warning-fg);font-weight:600}.cs-leave{flex-direction:column;align-items:stretch}.cs-done-note{background:var(--correct-bg);color:var(--correct);font-weight:600}.cs-level small{margin-left:auto}.cs-level.is-started{border-color:var(--warning)}.cs-level.is-unassisted{border-color:var(--correct)}.cs-card>.cs-progress,.cs-page>.cs-progress{width:100%;height:8px;accent-color:var(--primary)}@media (prefers-reduced-motion:reduce){.cs-steps button,.cs-progress{transition:none}}.cs-progress{-webkit-appearance:none;appearance:none;background:var(--line-soft);border:0;border-radius:999px;overflow:hidden}.cs-progress::-webkit-progress-bar{background:var(--line-soft)}.cs-progress::-webkit-progress-value{background:var(--primary)}.cs-progress::-moz-progress-bar{background:var(--primary)}.ed-kind-options{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ed-split{cursor:pointer;align-items:center;gap:10px;margin:14px 0 0;font-size:15px;font-weight:600;display:flex}.ed-split input{width:18px;height:18px;accent-color:var(--primary);margin:0;box-shadow:none!important}.ed-variants{background:var(--primary-soft);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:4px;display:grid}.ed-variant-tab{min-height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:15px;font-weight:600;display:flex}.ed-variant-tab[aria-selected=true]{background:var(--surface);color:var(--foreground);box-shadow:0 1px 3px #00000024}.ed-variant-tab small{color:inherit;font-size:13px;font-weight:600}.ed-variant-badge{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;margin-left:10px;padding:2px 10px;font-size:13px;font-weight:600}.variant-chip{background:var(--primary-soft);color:var(--primary-text);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600;display:inline-block}.picker-option[data-kind=term]{grid-column:1/-1}.exam-variant-summary{flex-wrap:wrap;gap:8px 20px;margin:0 0 12px;padding:0;font-size:14px;list-style:none;display:flex}.question-text.is-long,.ed-preview-question.is-long{text-align:start;font-size:clamp(17px,1.6vw,22px);font-weight:600;line-height:1.55;display:block}.formatted-blocks{white-space:normal;gap:12px;min-width:0;display:grid}.formatted-paragraph{white-space:pre-wrap}.formatted-code{border:1px solid var(--border);background:var(--toolbar-bg);max-width:100%;color:var(--foreground);font-family:var(--font-geist-mono);text-align:start;white-space:pre;tab-size:4;border-radius:12px;margin:0;padding:12px 14px;font-size:15px;font-weight:500;line-height:1.55;overflow-x:auto}.formatted-table-wrap{max-width:100%;overflow-x:auto}.formatted-table{border-collapse:collapse;text-align:start;font-size:15px;font-weight:500}.formatted-table th,.formatted-table td{border:1px solid var(--border);vertical-align:top;white-space:pre-wrap;min-width:7em;padding:8px 12px}.formatted-table th{background:var(--toolbar-bg);font-weight:600}.answer-table td:has(input){padding:4px}.answer-table input{border:1px solid var(--border);background:var(--background);width:100%;min-width:8em;min-height:44px;color:inherit;font:inherit;font-family:var(--font-geist-mono);border-radius:8px;padding:6px 8px}.text-question-answer textarea.is-open,.ed-code-input{min-height:14em;font-family:var(--font-geist-mono);tab-size:4;font-size:15px;line-height:1.5}.ed-code-input{min-height:8em}.open-answer-meta{color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:-.5rem 0 0;font-size:13px;display:flex}.ed-preview-input[data-open]{min-height:9em;font-family:var(--font-geist-mono)}.teacher-points{gap:6px;margin-top:8px;font-size:13px;display:grid}.teacher-points label{font-weight:600}.teacher-points-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.teacher-points input{border:1px solid var(--input);background:var(--surface);border-radius:8px;width:5.5em;min-height:40px;padding:4px 8px;font-size:15px}.teacher-points .button{min-height:40px}.teacher-points-error{color:var(--danger)}.sheet-ungraded{background:var(--exam-bg);color:var(--warning-fg);font-weight:600}.sheet-ungraded-note{color:var(--warning-fg);font-weight:600}.sres{--sres-gutter:clamp(16px, 4vw, 40px);--sres-card-pad:clamp(16px, 2.6vw, 24px);--sres-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;padding:var(--sres-gutter) var(--sres-gutter) 32px;background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans);text-align:start;font-size:16px;line-height:1.55}.sres *,.sres :before,.sres :after{box-sizing:border-box}.sres :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.sres-wrap{flex-direction:column;gap:24px;max-width:1184px;margin:0 auto;display:flex}@media (min-width:1600px){.sres-wrap{max-width:1440px}}.sres-eyebrow{color:var(--muted-foreground);margin:0;font-size:12px;font-weight:600}.sres-muted{color:var(--text-2);margin:0}.sres-body{min-width:0;color:var(--ink-strong);flex-direction:column;gap:2px;margin:0;display:flex}.sres-dt{color:var(--text-2);font-size:13px;font-weight:600;display:block}.sres-btn{border-radius:var(--radius-md);min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.sres-btn:disabled{cursor:not-allowed;opacity:.5}.sres-btn-outline{border:1px solid var(--input);background:var(--surface);color:var(--primary-text)}.sres-btn-outline:hover:not(:disabled){background:var(--quiz-bg)}.sres-btn-icon{width:44px;padding:0}.sres-chip{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.3;display:inline-block}.sres-tone-good{background:var(--present-bg);color:var(--present-fg)}.sres-tone-fair{background:var(--notice-bg);color:var(--notice-fg)}.sres-tone-low{background:var(--absent-bg);color:var(--absent-fg)}.sres-tone-mid{background:var(--excused-bg);color:var(--excused-fg)}.sres-tone-absent{background:var(--segment-bg);color:var(--ink-3);font-weight:600}.sres-kind{background:var(--quiz-bg);color:var(--quiz-fg);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.sres-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;display:flex}.sres-head-text{flex-direction:column;flex:320px;gap:8px;min-width:0;display:flex}.sres-title{font-family:var(--display);letter-spacing:-.5px;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,4.6vw,32px);font-weight:600;line-height:1.15}.sres-lead{color:var(--text-2);margin:0;font-size:15px}.sres-actions{gap:8px;display:flex}.sres-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.sres-stat{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:6px;min-width:0;padding:16px 18px;display:flex}.sres-stat dd{margin:0}.sres-stat-value{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.1}.sres-stat-value small{color:var(--muted-foreground);font-size:.6em;font-weight:500}.sres-stat-date{font-size:18px;font-weight:600;line-height:1.3}.sres-stat-date .sres-muted{font-weight:600;display:inline}.sres-nav{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.sres-pills{border:0;flex-wrap:wrap;gap:12px 8px;min-width:0;margin:0;padding:0;display:flex}.sres-fpill{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-2);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600;position:relative}.sres-fpill:after{content:"";position:absolute;inset:-6px 0}.sres-fpill:hover{border-color:var(--border-hover);color:var(--foreground)}.sres-fpill[aria-pressed=true]{border-color:var(--border-hover);background:var(--primary-soft);color:var(--primary-text);font-weight:600}.sres-strip{flex-wrap:wrap;gap:8px;display:flex}.sres-qchip{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);width:52px;height:56px;color:var(--ink-2);font:inherit;cursor:pointer;scroll-snap-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:0;display:flex}.sres-qchip:hover{border-color:var(--border-hover);background:var(--quiz-bg)}.sres-qchip b{font-family:var(--display);font-size:16px;font-weight:600;line-height:1}.sres-qchip span{font-size:13px;font-weight:600;line-height:1}.sres-mark-good span{color:var(--present-fg)}.sres-mark-fair span{color:var(--notice-fg)}.sres-mark-low span{color:var(--absent-fg)}.sres-mark-mid span{color:var(--excused-fg)}.sres-mark-absent span{color:var(--ink-3)}.sres-qchip[aria-current=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground);box-shadow:0 3px 0 var(--primary-shadow)}.sres-qchip[aria-current=true] span{color:var(--primary-foreground)}.sres-legend{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.sres-q{flex-direction:column;gap:20px;min-width:0;display:flex}.sres-qhead{flex-direction:column;gap:8px;min-width:0;display:flex}.sres-qtitle{font-family:var(--display);letter-spacing:-.3px;overflow-wrap:anywhere;margin:0;font-size:clamp(20px,3.4vw,26px);font-weight:600;line-height:1.25}.sres-qtitle:focus{outline:none}.sres-qtitle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px;border-radius:8px}.sres-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:14px;font-weight:600;display:flex}.sres-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:24px;display:grid}.sres-main{flex-direction:column;gap:24px;min-width:0;display:flex}.sres-aside{position:sticky;top:24px}.sres-card{min-width:0;padding:var(--sres-card-pad);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);flex-direction:column;gap:16px;display:flex}.sres-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.sres-card-title{align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;line-height:25px;display:flex}.sres-step{border-radius:var(--radius-sm);background:var(--primary-soft);width:32px;height:32px;color:var(--primary-text);font-family:var(--display);flex:none;place-items:center;font-size:15px;font-weight:600;display:grid}.sres .formatted-code{white-space:pre;max-width:100%;overflow-x:auto}.sres-empty{border:1px dashed var(--border-dashed);border-radius:var(--radius-md);background:var(--toolbar-bg);align-items:center;gap:16px;padding:20px;display:flex}.sres-empty>div{flex-direction:column;gap:2px;min-width:0;display:flex}.sres-empty strong{font-weight:600}.sres-empty span:not(.sres-empty-icon){color:var(--text-2);font-size:14px;font-weight:600}.sres-empty-icon{border-radius:var(--radius-md);background:var(--segment-bg);width:44px;height:44px;color:var(--ink-3);flex:none;place-items:center;display:grid}.sres-answer{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--toolbar-bg);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px 16px;font-family:inherit}.sres-answer.is-long{font-family:var(--sres-mono);font-size:15px}.sres-correct,.sres-correct-box{background:var(--correct-bg)}.sres-correct{border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 16px;font-size:18px;font-weight:600}.sres-total{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--toolbar-bg);justify-content:space-between;align-items:flex-end;gap:12px;padding:18px 20px;display:flex}.sres-total>div{flex-direction:column;gap:4px;display:flex}.sres-total-value{font-family:var(--display);font-size:40px;font-weight:600;line-height:1}.sres-total-value small{color:var(--muted-foreground);font-size:22px;font-weight:500}.sres-note{border-radius:var(--radius-md);background:var(--notice-bg);color:var(--notice-fg);overflow-wrap:anywhere;margin:0;padding:12px 14px;font-size:14px;font-weight:600}.sres .teacher-review .button,.sres .teacher-points .button,.sres .teacher-points input{min-height:44px}.sres-pager{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.sres-pager-pos{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:600}.sres-none{border:1px dashed var(--border-dashed);border-radius:var(--radius-xl);color:var(--text-2);text-align:center;margin:0;padding:32px}.sres-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--background);width:min(1280px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-dialog);margin:auto;padding:0;overflow:auto}.sres-dialog::backdrop{background:var(--scrim)}.sres-list{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}@media (max-width:1199px){.sres-grid{grid-template-columns:minmax(0,1fr)}.sres-aside{position:static}}@media (max-width:767px){.sres-dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.sres-wrap{gap:20px}.sres-main,.sres-grid{gap:16px}.sres-actions .sres-btn{width:44px;padding:0}.sres-btn-label{display:none}.sres-stats{gap:8px}.sres-stat{gap:4px;padding:12px}.sres-stat .sres-eyebrow{font-size:11px}.sres-stat-value{font-size:22px}.sres-stat-date{font-size:14px}.sres-stat-date span,.sres-stat-date .sres-muted{display:block}.sres-nav{margin-inline:calc(var(--sres-gutter) * -1);border-inline:0;border-radius:0;padding:12px}.sres-pills,.sres-strip{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.sres-pills::-webkit-scrollbar{display:none}.sres-strip::-webkit-scrollbar{display:none}.sres-pills{padding-block:6px}.sres-strip{padding-block:2px 6px}.sres-legend{font-size:12px}.sres-card-title{font-size:18px}.sres .formatted-code{font-size:14px}.sres-empty{gap:12px;padding:16px}.sres-total-value{font-size:32px}.sres-pager{z-index:2;box-shadow:var(--shadow-pop);position:sticky;bottom:8px}.sres-pager-label{display:none}.sres-pager .sres-btn{width:56px;padding:0}.sres .formatted-table-wrap{overflow:visible}.sres .formatted-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sres .formatted-table,.sres .formatted-table tbody,.sres .formatted-table tr{width:100%;display:block}.sres .formatted-table tr{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;padding:6px 0}.sres .formatted-table td{text-align:end;overflow-wrap:anywhere;border:0;justify-content:space-between;gap:12px;min-width:0;padding:6px 14px;display:flex}.sres .formatted-table td[data-label]:before{content:attr(data-label);max-width:50%;color:var(--text-2);text-align:start;flex:none;font-size:13px;font-weight:600}}@media (prefers-reduced-motion:no-preference){.sres-qchip,.sres-fpill,.sres-btn{transition:background-color .15s,border-color .15s,color .15s}}.exam-held-note{border:1px solid var(--notice-border);border-radius:var(--radius-md);background:var(--notice-bg);max-width:640px;color:var(--notice-fg);text-align:center;margin:16px auto;padding:12px 16px;font-weight:600;display:block}.exam-held-note.is-open{border-color:var(--present-border);background:var(--present-bg);color:var(--present-fg)}.type-shares{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);margin:16px 0;padding:16px}.type-shares h3{margin:0 0 8px;font-size:1rem}.nav-group{color:var(--muted-foreground);margin:12px 0 2px;padding:0 12px 4px;font-size:11px;font-weight:600}.dashboard-nav>.nav-group:first-child{margin-top:0}@media (max-width:1199px){.nav-group{display:none}}@media (min-width:1200px){.dashboard-navbar{flex:auto;min-height:0;overflow-y:auto}.dashboard-profile{flex:none}}.nav-badge{background:var(--muted);min-width:22px;color:var(--muted-foreground);text-align:center;border-radius:999px;flex:none;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600;line-height:16px}.nav-badge[data-live]{background:var(--primary);color:#fff}.nav-badge[data-live]:before{content:"● "}@media (min-width:1200px){.teacher-dashboard{grid-template-columns:228px minmax(0,1fr)}.dashboard-sidebar{gap:12px;padding:16px 12px}.dashboard-sidebar .brand{gap:10px;font-size:18px}.dashboard-sidebar .brand-icon{border-radius:10px;width:34px;height:34px}.dashboard-nav{gap:2px}.dashboard-nav [role=tab]{border-radius:8px;gap:10px;min-height:36px;padding:0 10px;font-size:14px}.dashboard-nav [role=tab] svg{width:18px;height:18px}.dashboard-nav [role=tab][data-active]{background:var(--primary-soft);color:var(--primary-text)}.nav-group{margin:10px 0 0;padding:0 10px 4px;font-size:10px}.dashboard-profile{padding-top:10px}}@media (max-width:1199px){.dashboard-nav [role=tab]{position:relative}.dashboard-nav .nav-badge{display:none}.dashboard-nav .nav-badge[data-live]{border:1.5px solid var(--surface);box-sizing:content-box;width:8px;min-width:0;height:8px;padding:0;font-size:0;display:block;position:absolute;top:6px;right:6px;overflow:hidden}.dashboard-nav .nav-badge[data-live]:before{content:none}}@media (max-width:899px){.dashboard-nav .nav-badge[data-live]{top:2px;right:calc(50% - 26px)}.att-savebar{bottom:calc(92px + env(safe-area-inset-bottom))}.grp-movebar[data-active]{top:72px}}.nav-group,.nav-badge{font-size:12px}.dashboard-profile small{color:var(--text-2)}.ed-dirty i{background:var(--warning-fg)}.ed-shape[data-shape="2"]{color:var(--foreground)}.picker-cancel{flex:none}@media (max-width:1199px){.dashboard-nav .nav-badge[data-live]{color:#0000;font-size:12px;line-height:0}}@media (pointer:coarse){.brand,.dash .button,.dash .dash-segment button{min-height:44px}.ed-toolbar button{min-width:44px;height:44px}.word-template-link{min-height:44px;font-size:14px}.ed-main input,.ed-main select,.ed-main textarea,.teacher-dashboard input,.teacher-dashboard select,.teacher-dashboard textarea{font-size:16px}}@media (max-width:899px) and (max-height:500px){.dashboard-sidebar{height:48px}.dashboard-sidebar .brand-icon{width:32px;height:32px}.dashboard-navbar{height:calc(56px + env(safe-area-inset-bottom));padding:4px 8px calc(4px + env(safe-area-inset-bottom))}.dashboard-nav [role=tab],.nav-more{flex-direction:row;gap:6px}.dashboard-nav [role=tab] .nav-icon,.nav-more .nav-icon{width:40px;height:28px}.att-savebar{bottom:calc(68px + env(safe-area-inset-bottom))}.grp-movebar[data-active]{top:56px}.ed-bar{height:48px}.ed-phone-bar{padding:4px 16px calc(4px + env(safe-area-inset-bottom))}.ed-phone-add,.ed-phone-save{height:44px}}.nav-sheet{background:var(--surface);width:100%;max-width:560px;max-height:80dvh;color:var(--foreground);border:0;border-radius:20px 20px 0 0;margin:auto auto 0;padding:0;inset:auto 0 0}.nav-sheet::backdrop{background:var(--scrim)}.nav-sheet-body{padding:10px 12px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:2px;display:flex}.nav-sheet-handle{background:var(--handle);border-radius:4px;align-self:center;width:40px;height:4px;margin-bottom:8px}.nav-sheet-group{color:var(--muted-foreground);margin:0;padding:10px 10px 4px;font-size:12px;font-weight:600}.nav-sheet-item{width:100%;min-height:44px;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 10px;font-size:15px;font-weight:600;display:flex}.nav-sheet-item:hover{background:var(--muted)}.nav-sheet-item[aria-current=page]{background:var(--primary-soft);color:var(--primary-text);font-weight:600}.nav-sheet-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash{gap:24px;display:grid}.dash-top{flex-wrap:wrap;align-items:flex-end;gap:16px 24px;display:flex}.dash-top>div{flex:320px;min-width:0}.dash-top .eyebrow{margin:0}.dash-top h1{font-family:var(--display);letter-spacing:-.5px;margin:2px 0;font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.3}.dash-date{color:var(--text-2);font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:500}.dash-filter{color:var(--text-2);gap:4px;font-size:13px;font-weight:600;display:grid}.dash-filter select{border:1px solid var(--input);background:var(--surface);min-width:200px;min-height:48px;color:var(--foreground);font:inherit;border-radius:12px;padding:0 16px;font-size:15px;font-weight:600}.dash-board{align-items:start;gap:24px;display:grid}.dash-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;align-content:start;gap:12px;min-width:0;padding:24px;display:grid}.dash-card-head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.dash-card-head h2{margin:0;font-size:20px;font-weight:600;line-height:1.3}.dash-card-head .dashboard-text-button{min-height:44px;color:var(--link);margin-left:auto;font-size:15px;font-weight:600}.dash-count{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.dash-muted{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.dash-empty{color:var(--text-2);text-align:center;margin:0;padding:24px 12px;font-size:14px}.dash-hero{flex-wrap:wrap;gap:24px 28px;padding:28px;display:flex}.dash-hero>.loading-line{margin:0}.dash-hero-main{flex:380px;align-content:start;gap:16px;min-width:0;display:grid}.dash-hero-eyebrow{color:var(--muted-foreground);align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;display:inline-flex}.dash-hero-eyebrow[data-now]{color:var(--primary-text)}.dash-hero-eyebrow[data-now]:before{content:"";background:var(--primary);border-radius:999px;width:8px;height:8px}.dash-hero-empty{color:var(--text-2);margin:0}.dash-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.dash-hero-aside{border-left:1px solid var(--line-soft);min-width:200px;color:var(--text-2);flex:0 260px;align-content:start;gap:8px;padding-left:28px;font-size:14px;font-weight:600;display:grid}.dash-hero-aside .eyebrow{margin:0}.dash-hero-aside strong{color:var(--foreground);font-family:var(--display);font-size:22px;font-weight:600}.dash-hero-foot{margin-top:8px}.dash-hero-foot b{color:var(--foreground)}.dash-lesson-head{flex:200px;align-items:center;gap:16px;min-width:0;display:flex}.dash-lesson-head>div{min-width:0;display:grid}.dash-lesson-head strong{overflow-wrap:anywhere;font-size:16px;font-weight:600}.dash-lesson-head span:not(.dash-tile){color:var(--text-2);font-size:14px;font-weight:600}.dash-lesson-head[data-big] strong{font-family:var(--display);font-size:clamp(20px,2.4vw,28px);font-weight:600;line-height:1.2}.dash-lesson-head[data-big] span:not(.dash-tile){font-size:15px}.dash-tile{width:48px;height:48px;font-family:var(--display);border-radius:12px;flex:none;align-content:center;place-items:center;font-size:16px;font-weight:600;display:grid}.dash-lesson-head[data-big] .dash-tile{border-radius:16px;width:72px;height:72px;font-size:24px}.dash-tile-small{width:46px;height:46px}.dash-tile-small b{font-size:18px;line-height:1}.dash-tile-small small{font-family:var(--font-geist-sans);margin-top:3px;font-size:10px;font-weight:600;line-height:1}.dash-pills{flex-wrap:wrap;gap:8px;display:flex}.dash-pills:empty{display:none}.dash-pill{background:var(--segment-bg);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.dash-pill[data-tone=warn]{background:var(--notice-bg);color:var(--notice-fg)}.dash-pill[data-tone=ok]{background:var(--present-bg);color:var(--present-fg)}.dash-pill[data-tone=now]{background:var(--primary-soft);color:var(--primary-text)}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dash-kpi{border:1px solid var(--border);background:var(--surface);border-radius:18px;align-content:start;gap:6px;min-width:0;padding:18px;display:grid}.dash-kpi>span{color:var(--text-2);font-size:13px;font-weight:600}.dash-kpi strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.dash-kpi small{color:var(--text-2);font-size:13px;font-weight:600}.dash-fold{border:1px dashed var(--border-dashed);background:var(--table-head);min-height:52px;color:var(--present-fg);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.dash-fold>span:nth-child(2){flex:auto}.dash-fold b{color:var(--primary-text);font-weight:600}.dash-fold-icon{background:var(--present-bg);border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid}.dash-lessons{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dash-lessons li{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;display:flex}.dash-lessons li[data-state=now]{border:2px solid var(--primary);background:var(--table-head);padding:13px 15px}.dash-lessons li[data-state=cancelled] .dash-lesson-head strong{text-decoration:line-through}.dash-when{font-variant-numeric:tabular-nums;flex:none;width:56px;display:grid}.dash-when strong{font-size:18px;font-weight:600;line-height:1.2}.dash-when small{color:var(--text-2);font-size:13px;font-weight:600}.dash-row-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.dash-row-note{color:var(--text-2);font-size:14px;font-weight:600}.dash-side{align-content:start;gap:24px;min-width:0;display:grid}.dash-live-list,.dash-bars,.dash-rows{margin:0;padding:0;list-style:none;display:grid}.dash-live-list{gap:8px}.dash-live-list a{border:1px solid var(--border);min-height:52px;color:var(--foreground);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.dash-live-list a:hover{border-color:var(--border-hover)}.dash-live-list a>span{flex:auto;min-width:0;display:grid}.dash-live-list small{color:var(--text-2);font-size:13px;font-weight:600}.dash-live-state{white-space:nowrap}.dash-live-empty{border:1px dashed var(--border-dashed);border-radius:14px;justify-items:start;gap:12px;padding:18px;display:grid}.dash-live-empty p{color:var(--text-2);margin:0;font-size:15px;font-weight:500}.dash-bars{gap:4px}.dash-bars li{align-items:center;gap:12px;min-height:36px;display:flex}.dash-bars li>span{flex:none;width:80px;font-size:14px;font-weight:600}.dash-bars li[data-today]>span{color:var(--primary-text);font-weight:600}.dash-bars .jr-bar{flex:auto;width:auto;height:8px}.dash-bars b{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:48px;font-size:14px}.dash-rows>li+li{border-top:1px solid var(--line-soft)}.dash-result,.dash-set{flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 0;display:flex}.dash-row-text{flex:220px;min-width:0;display:grid}.dash-row-text strong{overflow-wrap:anywhere;font-size:16px;font-weight:600}.dash-row-text small{color:var(--text-2);font-size:14px;font-weight:600}.dash .result-score{color:var(--text-2);white-space:nowrap;flex:0 0 200px;align-items:center;gap:12px;font-size:14px;display:flex}.dash .result-score b{color:var(--foreground);font-family:var(--display);font-size:20px}.dash .result-bar{background:var(--segment-bg);border-radius:999px;flex:auto;height:8px;display:block;overflow:hidden}.dash .result-bar i{background:var(--primary);border-radius:999px;height:100%;display:block}.dash .result-actions{align-items:center;gap:4px;display:flex}.dash .result-actions a{border:1px solid var(--border);min-height:44px;color:var(--link);border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.dash .result-actions a:hover{border-color:var(--border-hover)}.dash .result-menu{width:44px;height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.dash .result-menu:hover{background:var(--segment-bg)}.dash-segment{background:var(--segment-bg);border:0;border-radius:12px;justify-self:start;min-width:0;margin:0;padding:4px;display:inline-flex}.dash-segment button{min-height:36px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 14px;font-size:14px;font-weight:600}.dash-segment button[aria-pressed=true]{background:var(--surface);color:var(--primary-text);box-shadow:var(--shadow-segment);font-weight:600}.dash-set{width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:nowrap;padding:12px 0}.dash-set .dash-row-text strong{font-size:15px;line-height:1.35}.dash-set .dash-row-text small{font-size:13px}.dash-kind{background:var(--quiz-bg);color:var(--quiz-fg);white-space:nowrap;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:600}.dash-kind[data-kind=exam]{background:var(--exam-bg);color:var(--exam-fg)}.dash-sets-create{justify-self:stretch}.dash-pill:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash-fold:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash-set:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash-segment button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash-live-list a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash .result-actions a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.dash .result-menu:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@container (width>=600px){.dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width>=1100px){.dash-board{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.dash-hero,.dash-today,.dash-results{align-self:stretch}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-side{grid-template-columns:minmax(0,1fr)}}@container (width<=899px){.dash-hero-aside{border-left:0;border-top:1px solid var(--line-soft);flex-basis:100%;padding:12px 0 0}}@container (width<=599px){.dash,.dash-board,.dash-side{gap:16px}.dash-card,.dash-hero{padding:18px}.dash-hero-actions .button{flex:auto}.dash-lesson-head[data-big] .dash-tile{width:56px;height:56px;font-size:20px}.dash-kpi{padding:14px}.dash-kpi strong{font-size:22px}.dash-row-actions{flex-basis:100%}.dash-lessons .dash-tile{display:none}.dash .result-score{flex:100%}.dash-filter,.dash-filter select{width:100%}}html,.dashboard-navbar{scrollbar-width:thin;scrollbar-color:var(--border-hover) transparent}html::-webkit-scrollbar{width:8px;height:8px}.dashboard-navbar::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track{background:0 0}.dashboard-navbar::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-button{display:none}.dashboard-navbar::-webkit-scrollbar-button{display:none}html::-webkit-scrollbar-thumb{background:var(--border-hover) padding-box;border:2px solid #0000;border-radius:8px}.dashboard-navbar::-webkit-scrollbar-thumb{background:var(--border-hover) padding-box;border:2px solid #0000;border-radius:8px}.results-filters{flex-wrap:wrap;gap:8px;display:flex}.results-filters .field-select{min-width:200px}.results-view .dashboard-empty{flex-direction:column;align-items:center;gap:12px;display:flex}.results-view .dashboard-empty p{margin:0}@media (max-width:520px){.results-filters>*{flex:100%}}.result-set{margin:8px 0}.result-set>summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:20px;padding:15px 20px;font-size:14px;list-style:none;display:flex}.result-set>summary::-webkit-details-marker{display:none}.result-set>summary strong{flex:1}.result-set>summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.result-set-chevron{transition:transform .15s}.result-set[open] .result-set-chevron{transform:rotate(180deg)}.result-set-rooms{border-left:2px solid var(--border);margin:4px 0 0 18px;padding:0 0 0 clamp(12px,3vw,28px)}.grd-page{container-type:inline-size}.grd-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grd-field{color:var(--text-2);align-items:center;gap:8px;font-weight:600;display:inline-flex}.grd-field select{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;border-radius:10px;padding:0 12px;font-weight:600}.grd-status{background:var(--notice-bg);min-height:32px;color:var(--notice-fg);border-radius:999px;align-items:center;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.grd-spacer{flex:1 1 0}.grd-notice{border:1px solid var(--border);background:var(--toolbar-bg);color:var(--text-2);border-radius:12px;align-items:center;gap:10px;margin:0;padding:12px 16px;display:flex}.grd-notice p{flex:1;margin:0}.grd-warn{border-color:var(--notice-border);background:var(--notice-bg);color:var(--notice-fg)}.grd-two{gap:16px;display:grid}@container (width>=860px){.grd-two{grid-template-columns:1fr 1fr}}.grd-spread{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.grd-spread li{grid-template-columns:52px 1fr 70px;align-items:center;gap:10px;display:grid}.grd-count{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.grd-weights{border-radius:10px;height:36px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.grd-weights span{justify-content:center;align-items:center;min-width:0;display:flex}.grd-w-term{background:var(--primary-soft);color:var(--primary-text)}.grd-w-progress{background:var(--excused-bg);color:var(--excused-fg)}.grd-w-attendance{background:var(--present-bg);color:var(--present-fg)}.grd-w-participation{background:var(--grade-8-bg);color:var(--grade-8-fg)}.grd-w-homework{background:var(--late-bg);color:var(--late-fg)}.grd-rules{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;display:flex}.grd-scale{margin:0;font-size:13px}.grd-list .panel-head{flex-flow:wrap;align-items:center;gap:10px}.grd-list .panel-head .ui-search{margin-left:auto}.grd-table-wrap{display:none;overflow-x:auto}.grd-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.grd-table th,.grd-table td{border-bottom:1px solid var(--line-soft);text-align:right;white-space:nowrap;padding:10px}.grd-table thead th{background:var(--table-head);color:var(--text-2);vertical-align:bottom;font-size:13px}.grd-table small{color:var(--muted-foreground);font-size:12px;font-weight:600;display:block}.grd-table .grd-name{text-align:left;white-space:normal}.grd-table tbody th{font-weight:600}.grd-cards{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.grd-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;display:flex}.grd-card-head{align-items:center;gap:10px;width:100%;display:flex}.grd-card-head b:first-child{flex:1}.grd-card-parts{font-size:13px}.grd-more{align-self:center}@container (width>=760px){.grd-table-wrap{display:block}.grd-cards,.grd-more{display:none}}.grd-foot{margin:0;font-size:13px}.grd-two .panel-head{flex-direction:row;justify-content:space-between;align-items:center}.grd-edit{min-height:44px;color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600}.grd-edit:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.grd-dialog fieldset{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin:0 0 16px;padding:14px 16px;display:flex}.grd-dialog legend{padding:0 6px;font-weight:600}.grd-set-weights label{grid-template-columns:1fr 88px 16px;align-items:center;gap:8px;display:grid}.grd-set-weights input{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;text-align:right;border-radius:10px;padding:0 10px}.grd-set-weights p{margin:0;font-weight:600}.grd-set-error{color:var(--danger)}.grd-set-exams>label,.grd-set-list label{align-items:center;gap:10px;min-height:44px;display:flex}.grd-set-exams input{width:20px;height:20px}.grd-set-list{flex-direction:column;max-height:260px;margin:0;padding:0 4px;list-style:none;display:flex;overflow-y:auto}.grd-set-list label span{flex:1}.grd-set-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.grd-status.grd-locked{background:var(--present-bg);color:var(--present-fg);gap:6px}.grd-ask{border-color:var(--border-hover);background:var(--primary-soft);color:var(--foreground);flex-wrap:wrap}.grd-ask p{flex:280px}.grd-set-list select{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;border-radius:10px;padding:0 10px}.grd-set-exams>p{margin:0;font-size:13px}.grd-table td small+small{margin-top:2px}.grd-student{margin-top:16px}.grd-student .panel-head{flex-direction:row;justify-content:space-between;align-items:center}.grd-student-total{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.grd-student-parts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.grd-student-parts li{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding:8px 0;display:grid}.grd-student-parts li small:last-child{grid-column:1/-1;font-size:13px}.grd-student-parts li small:last-child:empty{display:none}.grd-total{flex-direction:column;align-items:flex-end;gap:2px;display:inline-flex}.grd-total small{color:var(--notice-fg);font-size:12px;font-weight:600}.grd-total-edit{min-height:44px;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.grd-total-edit:hover{border-color:var(--border-hover);background:var(--primary-soft)}.grd-total-edit:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.grd-total-edit svg{color:var(--link)}.grd-override-note{flex-direction:column;gap:6px;margin-bottom:16px;font-weight:600;display:flex}.grd-override-note input{border:1px solid var(--input);background:var(--surface);min-height:44px;color:var(--foreground);font:inherit;border-radius:10px;padding:0 12px;font-weight:400}.grd-override-note small{font-weight:400}.grd-table small.grd-fixed,.grd-total small.grd-fixed{color:var(--notice-fg);font-weight:600}.grd-quiz-tag{background:var(--quiz-bg);color:var(--quiz-fg);border-radius:999px;margin-right:6px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.leaderboard-note{text-align:center;margin:0 0 8px;font-size:13px}.mst-page{container-type:inline-size}.mst-two{align-items:start;gap:16px;display:grid}@container (width>=860px){.mst-two{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.mst-side{gap:16px;min-width:0;display:grid}.mst-skills{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mst-skills li{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:8px 14px;padding:12px 0;display:grid}.mst-skills .topic-track{grid-area:2/1/auto/-1}@container (width>=600px){.mst-skills li{grid-template-columns:minmax(0,1fr) 140px 56px}.mst-skills .topic-track{grid-area:auto}}.mst-skill-name{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.mst-skill-name small{color:var(--muted-foreground);flex-basis:100%;font-size:13px;font-weight:600}.mst-percent{text-align:right;font-variant-numeric:tabular-nums}.mst-group{border-top:1px solid var(--line-soft);padding:10px 0}.mst-group summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:44px;display:flex}.mst-group p{margin:4px 0 8px;font-size:14px}.mst-names{columns:2 160px;margin:0;padding-left:0;font-size:15px;list-style:none}.mst-skill-name input{width:20px;height:20px;accent-color:var(--primary);margin:0}.mst-link{color:var(--primary-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.game-shell.is-presenting{box-sizing:border-box;background:var(--background);flex-direction:column;height:100dvh;min-height:0;padding:5vh 5vw;display:flex;overflow:hidden}.game-shell.is-presenting>.topbar,.game-shell.is-presenting .connection-status,.game-shell.is-presenting .game-toolbar,.game-shell.is-presenting .copy-button,.game-shell.is-presenting .results-stage>a{display:none}.game-shell.is-presenting>.game-content{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:flex}.game-shell.is-presenting .game-heading{flex:none;margin-bottom:2vh}.game-shell.is-presenting:is([data-phase=question],[data-phase=reveal]) .game-heading{display:none}.game-shell.is-presenting .game-heading .eyebrow{margin-bottom:.6vh;font-size:2.2vh}.game-shell.is-presenting .game-heading h1{font-family:var(--display);font-size:4.2vh;line-height:1.2}.game-shell.is-presenting [data-slot=tabs],.game-shell.is-presenting [data-slot=tabs-content]:not([hidden]){flex-direction:column;flex:1;min-height:0;display:flex}.game-shell.is-presenting [data-slot=tabs-content]>*{flex:1;min-height:0}.game-shell.is-presenting .lobby-layout{gap:2.5vw}.game-shell.is-presenting .lobby-main,.game-shell.is-presenting .lobby-roster{border:2px solid var(--border-hover);min-height:0}.game-shell.is-presenting .lobby-main{flex-direction:column;display:flex}.game-shell.is-presenting .lobby-code-block{padding:3vh 2vw}.game-shell.is-presenting .lobby-code-block>p,.game-shell.is-presenting .lobby-code-block>span{font-size:2.6vh}.game-shell.is-presenting .lobby-code{font-family:var(--display);letter-spacing:.06em;white-space:nowrap;font-size:13vh;line-height:1.15}.game-shell.is-presenting .lobby-bottom{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3vh 2vw;display:flex}.game-shell.is-presenting .lobby-bottom h2{font-family:var(--display);font-size:4vh}.game-shell.is-presenting .lobby-bottom p,.game-shell.is-presenting .lobby-bottom small{margin-top:1.2vh;font-size:2.4vh}.game-shell.is-presenting .lobby-bottom .button,.game-shell.is-presenting .host-controls .button,.game-shell.is-presenting .present-all{border-width:2px;min-height:7vh;padding:1vh 2.5vw;font-size:2.8vh}.game-shell.is-presenting .lobby-bottom .button{margin-top:2.5vh}.game-shell.is-presenting .lobby-bottom .button svg,.game-shell.is-presenting .host-controls .button svg{width:3vh;height:3vh}.game-shell.is-presenting .lobby-roster{flex-direction:column;padding:3vh 1.5vw;display:flex}.game-shell.is-presenting .lobby-roster .section-heading h2{font-size:3.2vh}.game-shell.is-presenting .lobby-roster .count{font-size:2.6vh}.game-shell.is-presenting .participants{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:1vh .8vw;min-height:0;max-height:none}.game-shell.is-presenting .participants>div>svg{display:none}.game-shell.is-presenting .participants>div{gap:1vw;padding:.8vh .8vw}.game-shell.is-presenting .participants strong,.game-shell.is-presenting .roster-empty{font-size:2.6vh}.game-shell.is-presenting .participant-avatar{flex-shrink:0;width:4vh;height:4vh;font-size:2.2vh}.game-shell.is-presenting .participants svg,.game-shell.is-presenting .roster-empty svg{width:3vh;height:3vh}.game-shell.is-presenting .question-stage{border:2px solid var(--border-hover);flex-direction:column;padding:3vh 3vw;display:flex;overflow:hidden}.game-shell.is-presenting .question-topline{color:var(--ink-3);flex:none;font-size:2.6vh}.game-shell.is-presenting .timer-display{min-width:0;padding:.8vh 1.5vw;font-size:3.4vh}.game-shell.is-presenting .timer-display svg{width:3.4vh;height:3.4vh}.game-shell.is-presenting .question-progress{flex:none;margin:1.5vh 0 .5vh;height:1vh!important}.game-shell.is-presenting .question-text{max-width:none;min-height:0;font-family:var(--display);flex:0 auto;margin:2vh auto 1vh;font-size:5.4vh;line-height:1.25}.game-shell.is-presenting .question-text.is-long{font-family:inherit;font-size:3vh;overflow:hidden}.game-shell.is-presenting .question-stage>.muted{text-align:center;color:var(--ink-3);flex:none;margin-bottom:1.5vh;font-size:2.2vh}.game-shell.is-presenting .answer-grid{flex:1 1 0;grid-auto-rows:minmax(0,1fr);gap:1.6vh 1.2vw;min-height:12vh}.game-shell.is-presenting .answer-button{height:100%;min-height:0;box-shadow:none;border-width:2px;align-items:center;gap:1.5vw;padding:1.2vh 1.5vw 2.8vh;font-size:3.4vh;line-height:1.25;overflow:hidden}.game-shell.is-presenting .answer-shape{font-size:4vh}.game-shell.is-presenting .answer-button>svg{flex-shrink:0;width:3.4vh;height:3.4vh}.game-shell.is-presenting .answer-button small{color:var(--primary-foreground);font-size:2.2vh;bottom:.4vh;right:1vw}.game-shell.is-presenting .answer-button.chosen-answer,.game-shell.is-presenting .answer-button.correct-answer{box-shadow:0 0 0 .6vh var(--correct-bg)}.game-shell.is-presenting .explanation-block{color:var(--ink-2);flex:none;max-height:14vh;margin-top:1.5vh;padding:1.2vh 1.5vw;font-size:2.6vh;overflow:hidden}.game-shell.is-presenting .host-controls{border-top:2px solid var(--border-hover);flex:none;margin-top:1.5vh;padding-top:1.5vh}.game-shell.is-presenting .host-controls>span{color:var(--ink-3);font-size:2.2vh}.game-shell.is-presenting .countdown-stage{flex:1;height:auto;min-height:0}.game-shell.is-presenting .countdown-stage strong{font-family:var(--display);font-size:24vh;line-height:1.1}.game-shell.is-presenting .countdown-stage p{font-size:3.6vh}.game-shell.is-presenting .results-stage{border:2px solid var(--border-hover);flex-direction:column;align-items:center;padding:2.5vh 3vw;display:flex;overflow:hidden}.game-shell.is-presenting .results-trophy{margin:0 0 1vh;padding:1.4vh}.game-shell.is-presenting .results-trophy svg{width:5vh;height:5vh}.game-shell.is-presenting .results-stage>.eyebrow{margin-bottom:.5vh;font-size:2.2vh}.game-shell.is-presenting .results-stage h2{font-family:var(--display);font-size:4.6vh;line-height:1.2}.game-shell.is-presenting .winner-name{font-family:var(--display);margin:1vh 0 2vh;font-size:4vh}.game-shell.is-presenting .winner-name span{color:var(--ink-3);font-size:2.4vh}.present-board-wrap{width:min(100%,120vh)}.present-board{text-align:start;gap:1vh;margin:0;padding:0;list-style:none;display:grid}.present-board-wrap[data-wide=true] .present-board{grid-template-rows:repeat(5,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:2vw}.present-board li{border:2px solid var(--line-soft);background:var(--surface);border-radius:1.2vh;align-items:center;gap:1.5vw;min-width:0;padding:.8vh 1.2vw;font-size:2.8vh;display:flex}.present-board li>strong{overflow-wrap:anywhere;min-width:0;color:var(--foreground);flex:1}.present-board .rank-number{border-radius:1vh;flex-shrink:0;width:4.6vh;height:4.6vh;font-size:2.4vh}.present-all{margin-top:2vh}.present-dialog{border:2px solid var(--border-hover);background:var(--surface);width:min(90vw,140vh);max-height:90vh;color:var(--foreground);box-shadow:var(--shadow-dialog);border-radius:2vh;margin:auto;padding:3vh 3vw}.present-dialog::backdrop{background:var(--scrim)}.present-dialog-head{justify-content:space-between;align-items:center;gap:2vw;margin-bottom:2vh;display:flex}.present-dialog-head h2{font-family:var(--display);font-size:3.6vh}.present-dialog-head .button{min-height:6vh;font-size:2.4vh}.present-dialog .present-board{grid-template-columns:repeat(auto-fill,minmax(min(100%,52vh),1fr))}.live-slide-card.is-presenting:-webkit-full-screen{background:var(--background);gap:1.5vh;padding:5vh 5vw}.live-slide-card.is-presenting:fullscreen{background:var(--background);gap:1.5vh;padding:5vh 5vw}.live-slide-card.is-presenting>.live-slide-mode,.live-slide-card.is-presenting>.section-heading>select{display:none}.live-slide-card.is-presenting>.section-heading strong{font-size:2.6vh}.live-slide-card.is-presenting>.section-heading .icon-button{border-width:2px;width:6vh;height:6vh}.live-slide-card.is-presenting .ppt-slide-stage{border:2px solid var(--border-hover)}.live-slide-card.is-presenting .ppt-slide-controls{gap:2vw;padding-top:1.5vh}.live-slide-card.is-presenting .ppt-slide-controls :is(span,label){font-size:2.4vh}.live-slide-card.is-presenting .ppt-slide-controls .button,.live-slide-card.is-presenting .ppt-slide-controls select{border-width:2px;min-height:6vh;font-size:2.4vh}.live-slide-card.is-presenting .ppt-slide-controls .ppt-slide-picker select{flex-basis:10vh;width:10vh;min-width:10vh}.library-order{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:-16px;display:flex}.library-sort{border:1px solid var(--input);background:var(--surface);height:44px;color:var(--text-2);border-radius:12px;align-items:center;gap:8px;padding:0 12px 0 14px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.library-sort select{-webkit-appearance:none;appearance:none;height:100%;color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border:0;outline:none;padding-right:22px;font-weight:600}.library-sort svg{pointer-events:none;position:absolute;right:10px}.library-sort:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.library-switch{min-height:44px;color:var(--ink-2);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.library-switch input{opacity:0;width:1px;height:1px;position:absolute}.library-switch span{background:var(--muted-foreground);border-radius:12px;flex:none;width:40px;height:24px;transition:background .15s;position:relative}.library-switch span:after{content:"";background:var(--surface);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.library-switch input:checked+span{background:var(--primary)}.library-switch input:checked+span:after{transform:translate(16px)}.library-switch input:focus-visible+span{outline:3px solid var(--focus-ring);outline-offset:2px}.set-list{flex-direction:column;gap:22px;display:flex;container:set-list/inline-size}.set-section-head{color:var(--ink-3);letter-spacing:.6px;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:600;display:flex}.set-section-head span{background:var(--segment-bg);letter-spacing:0;border-radius:999px;padding:1px 8px;font-size:12px}.set-rows,.set-versions{gap:10px;margin:0;padding:0;list-style:none;display:grid}.set-row{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:112px minmax(0,1fr) 200px 130px auto;grid-template-areas:"grades body kinds last acts";align-items:center;gap:8px 16px;padding:14px 16px;display:grid}.set-row.set-series{border-color:var(--border-hover)}.set-row.is-version{background:var(--toolbar-bg);border:0;border-radius:12px;grid-template-columns:52px minmax(0,1fr) 200px 130px auto;padding:8px 8px 8px 10px}.set-grades{grid-area:grades;display:flex}.set-grades .set-grade{border:2px solid var(--surface)}.set-grades .set-grade+.set-grade{margin-left:-10px}.set-grades:has(.set-grade+.set-grade) small{display:none}.set-row-body{flex-direction:column;grid-area:body;gap:4px;min-width:0;display:flex}.set-row h3{overflow-wrap:anywhere;color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.set-row .set-meta{gap:4px 14px;font-size:13px}.set-series-count{background:var(--primary-soft);color:var(--primary-text);border-radius:999px;padding:1px 8px;font-weight:600}.set-kinds{flex-wrap:wrap;grid-area:kinds;gap:6px;display:flex}.set-last{color:var(--text-2);flex-direction:column;grid-area:last;font-size:12px;font-weight:600;display:flex}.set-last b{color:var(--foreground);font-family:var(--display);font-size:16px;font-weight:600}.set-row .set-row-acts{border:0;grid-area:acts;justify-content:flex-end;align-items:center;gap:8px;margin:0;padding:0;display:flex}.set-row .set-play{white-space:nowrap;margin-right:0}.set-series-toggle[aria-expanded=true]{background:var(--primary);color:var(--primary-foreground)}.set-series-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.set-versions{border-top:1px solid var(--line-soft);grid-column:1/-1;gap:6px;margin-top:6px;padding-top:10px}@container set-list (width<=1099px){.set-row,.set-row.is-version{grid-template-columns:112px minmax(0,1fr) auto;grid-template-areas:"grades body acts""grades kinds last"}.set-row.is-version{grid-template-columns:52px minmax(0,1fr) auto}.set-last{flex-direction:row;justify-content:flex-end;align-items:baseline;gap:6px}.set-last b{font-size:14px}}@container set-list (width<=759px){.set-row,.set-row.is-version{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"grades kinds""body body""last acts";gap:10px 12px;padding:14px}.set-kinds{justify-content:flex-end}.set-last{flex-direction:column;align-items:flex-start;gap:0}.set-row.is-version{grid-template-areas:"grades kinds""body body""last last""acts acts"}.set-row.is-version .set-row-acts{justify-content:flex-start}.set-last b+small{display:none}}.library-order .library-shelf{display:flex}.library-shelf button{align-items:center;gap:6px;display:inline-flex}.library-untagged.is-quiet{border-color:var(--border);background:var(--surface);color:var(--text-2)}.set-played{color:var(--text-2);align-items:flex-start;gap:6px;margin:2px 0 0;font-size:13px;font-weight:600;display:flex}.set-played svg{flex:none;margin-top:2px}.ed-count{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px 12px;margin-top:14px;display:grid}.ed-count-title{grid-column:1/-1;font-size:14px;font-weight:600}.ed-count label{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;min-height:44px;margin:0;padding:10px 12px;display:grid}.ed-count label[data-checked]{border-color:var(--primary);background:var(--primary-soft)}.ed-count input{width:18px;height:18px;accent-color:var(--primary);grid-row:span 2;margin:0;box-shadow:none!important}.ed-count strong{font-size:14px;font-weight:600}.ed-count small{color:var(--text-2);grid-column:2;font-size:13px}.set-last small,.set-row .set-grade small{font-size:12px}.library-sort{height:48px}@media (pointer:coarse){.library-kinds button,.library-chips button{min-height:44px}.library-search input,.library-sort select{font-size:16px}}@media (max-width:767px){.library-order{scrollbar-width:none;flex-wrap:nowrap;margin:-4px -16px 0;padding:2px 16px 4px;overflow-x:auto}.library-order>*{white-space:nowrap;flex:none}}@media (max-height:500px){.library-summary,.library-untagged{display:none}}.student-shell:has(.kd-page)>.topbar{display:none}.me-stage:has(.kd-page){min-height:100vh;padding:0;display:block}.kd-page{--kd-bg:#fbe3da;--kd-ink:#2e2a2a;--kd-muted:#6b5f5c;--kd-line:#f1d5cb;--kd-accent:#c8401c;--kd-accent-ink:#a33415;--kd-field:#fff8f5;--kd-alert:#fdece7;--kd-deco:#f2b8a4;box-sizing:border-box;min-height:100vh;color:var(--kd-ink);background:var(--kd-bg);font-family:Manrope,system-ui,sans-serif}.kd-page :is(a,button,input):focus-visible{outline:3px solid var(--kd-accent);outline-offset:2px}.kd-muted{color:var(--kd-muted);margin:0;font-weight:500;line-height:1.5}.kd-kodoo-pet{transform-box:fill-box;transform-origin:50% 100%;animation:3s ease-in-out infinite kd-breathe}.kd-kodoo-blink{transform-box:fill-box;transform-origin:50%;animation:4s infinite kd-blink}@keyframes kd-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,1.05)}}@keyframes kd-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes kd-drift{0%,to{translate:0}50%{translate:0 -8px}}@media (prefers-reduced-motion:reduce){.kd-page *,.kd-kodoo *{animation:none!important}}.kd-primary{background:var(--kd-accent);color:#fff;min-height:54px;font:inherit;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:800;display:flex;box-shadow:0 8px 20px #c8401c40}.kd-primary:disabled{opacity:.7;cursor:wait}.kd-secondary{border:1px solid var(--kd-line);min-height:50px;color:var(--kd-ink);background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.kd-secondary:hover{color:var(--kd-ink);background:var(--kd-field)}.kd-join{justify-content:center;align-items:center;padding:32px;display:flex}.kd-join-card{box-sizing:border-box;background:#fff;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:1120px;padding:12px;display:grid;box-shadow:0 24px 60px #8a5a4e29}.kd-join-stage{box-sizing:border-box;background:linear-gradient(170deg,#fff1ea 0%,#fbd3c4 100%);border-radius:24px;flex-direction:column;justify-content:space-between;min-height:640px;padding:32px;display:flex;position:relative;overflow:hidden}.kd-deco{color:var(--kd-deco);font-family:Consolas,monospace;font-weight:700;animation:4s ease-in-out infinite kd-drift;position:absolute}.kd-deco-1{font-size:40px;top:120px;left:34px;rotate:-16deg}.kd-deco-2{font-size:44px;animation-delay:-1s;top:90px;right:40px;rotate:12deg}.kd-deco-3{font-size:38px;animation-delay:-2s;top:330px;right:56px;rotate:-10deg}.kd-join-kodoo{flex:1;justify-content:center;align-items:flex-end;display:flex;position:relative}.kd-join-tagline{color:var(--kd-accent);letter-spacing:-.02em;margin:20px 0 0;font-size:40px;font-weight:800;line-height:1.1;position:relative}.kd-join-side{box-sizing:border-box;flex-direction:column;place-self:center;gap:18px;width:100%;max-width:380px;padding:40px 0;display:flex}.kd-join-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.kd-join-head h1{margin:0;font-size:30px;font-weight:800;line-height:1.2}.kd-join-head .kd-muted{font-size:14px}.kd-brand{color:var(--kd-accent);margin:0;font-size:15px;font-weight:800}.kd-note{color:#1d5b3a;text-align:center;background:#e8f5ee;border-radius:14px;margin:0;padding:12px 14px;font-weight:700}.kd-join-form{flex-direction:column;gap:16px;display:flex}.kd-field{flex-direction:column;gap:8px;display:flex}.kd-field label{font-size:14px;font-weight:700}.kd-field input{box-sizing:border-box;border:1px solid var(--kd-line);background:var(--kd-field);width:100%;min-height:52px;color:var(--kd-ink);font:inherit;letter-spacing:3px;border-radius:16px;padding:0 16px;font-size:18px;font-weight:700}.kd-field input::placeholder{color:#8a7f7c;letter-spacing:0;font-weight:600}.kd-field input[aria-invalid=true]{border-color:var(--kd-accent)}.kd-secret{display:flex;position:relative}.kd-secret input{padding-right:56px}.kd-eye{width:44px;height:44px;color:var(--kd-muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.kd-hint{color:var(--kd-muted);margin:0;font-size:13px;font-weight:600}.kd-hint.is-bad{color:var(--kd-accent-ink)}.kd-alert{background:var(--kd-alert);color:var(--kd-accent-ink);border-radius:14px;margin:0;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4}.kd-foot{color:var(--kd-muted);justify-content:center;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:600;display:flex}@media (max-width:860px){.kd-join{align-items:flex-start;padding:16px}.kd-join-card{border-radius:28px;grid-template-columns:minmax(0,1fr);padding:8px}.kd-join-stage{min-height:0;padding:20px 20px 0}.kd-join-stage .kd-kodoo{width:140px;height:147px}.kd-join-tagline,.kd-deco-3{display:none}.kd-join-side{padding:8px 12px 20px}.kd-join-head h1{font-size:26px}}.kd-teacher .kd-field input{letter-spacing:0;font-size:16px;font-weight:600}.kd-teacher-chip{align-self:flex-start;font-size:13px;position:relative}.kd-teacher-back{min-height:44px;color:var(--kd-muted);align-self:flex-start;align-items:center;gap:6px;margin:-12px 0 0 -4px;padding:0 4px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.kd-teacher-back:hover{color:var(--kd-ink)}.kd-teacher-links{border-top:1px solid var(--kd-line);flex-wrap:wrap;justify-content:space-between;gap:0 12px;padding-top:4px;display:flex}.kd-teacher-links button{min-height:44px;color:var(--kd-accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:800}.kd-teacher-note{background:var(--kd-field);color:var(--kd-muted);border:1px dashed #e8bfaf;border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45}.kd-teacher-note a{color:var(--kd-accent-ink);font-weight:800}.kd-teacher .kd-secondary:disabled{opacity:.7;cursor:wait}.kd-teacher-head{flex-direction:column;align-items:flex-start;gap:14px;display:flex;position:relative}.kd-teacher-head .kd-join-tagline{margin:0}@media (min-width:861px){.kd-teacher .kd-deco-1{top:230px}.kd-teacher .kd-deco-2{top:210px}.kd-teacher .kd-deco-3{top:400px}}.kd-teacher .kd-join-kodoo{align-items:center;padding:16px 0}.kd-steps-card{background:#fff;border-radius:24px;padding:22px 22px 8px;position:relative;box-shadow:0 10px 30px #8a5a4e1f}.kd-steps-card h2{color:var(--kd-muted);margin:0 0 16px;font-size:13px;font-weight:800}.kd-steps-card ol{margin:0;padding:0;list-style:none}.kd-steps-card li{gap:14px;padding-bottom:18px;display:flex;position:relative}.kd-steps-card li:not(:last-child):before{content:"";border-left:2px dashed var(--kd-line);position:absolute;top:38px;bottom:2px;left:17px}.kd-steps-card li.is-done:not(:last-child):before{border-color:#6cc5ba;border-left-style:solid}.kd-step-dot{box-sizing:border-box;border:2px solid var(--kd-line);width:36px;height:36px;color:var(--kd-accent);background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.kd-steps-card li.is-now .kd-step-dot{border-color:var(--kd-accent);background:var(--kd-accent);color:#fff;box-shadow:0 0 0 5px var(--kd-bg)}.kd-steps-card li.is-done .kd-step-dot{color:#1f6e67;background:#ddf3ef;border-color:#6cc5ba}.kd-step-text{color:var(--kd-muted);flex-direction:column;gap:2px;padding-top:6px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.kd-step-text strong{color:var(--kd-ink);font-size:15px;font-weight:800}.kd-steps-card li.is-done strong{color:#1f6e67}.kd-teacher-rules{background:var(--kd-field);color:var(--kd-muted);border-radius:14px;gap:4px;margin:0;padding:12px 14px;font-size:13px;font-weight:600;list-style:none;display:grid}.kd-teacher-rules li{gap:8px;display:flex}.kd-teacher-rules li[data-met=true]{color:#1f6e67}@media (max-width:860px){.kd-teacher-head{position:static}.kd-teacher-chip{position:absolute;top:16px;left:16px}.kd-steps-card{display:none}.kd-teacher .kd-join-kodoo{padding:24px 0 0}}.kd-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px 16px;display:flex}.kd-center .kd-muted{align-items:center;gap:8px;display:flex}.kd-app{padding:24px 32px 40px}.kd-app>*{max-width:1440px;margin-inline:auto}.kd-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kd-bar button{font:inherit;cursor:pointer}.kd-logo{background:0 0;border:0;border-radius:16px;justify-content:center;align-items:flex-end;width:52px;height:56px;padding:0;display:flex}.kd-nav{background:#fff;border-radius:999px;flex-wrap:wrap;gap:4px;margin-left:auto;padding:5px;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-nav button{min-height:40px;color:var(--kd-ink);background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;display:flex}.kd-nav button[aria-current=page]{background:var(--kd-ink);color:#fff}.kd-nav button[aria-disabled=true],.kd-type[aria-disabled=true],.kd-tabbar button[aria-disabled=true]{cursor:default;color:var(--kd-muted)}.kd-nav small,.kd-type small{color:var(--kd-muted);background:#f5edea;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.kd-coins{box-sizing:border-box;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:15px;font-weight:800;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-me{background:0 0;border:2px solid #fff;border-radius:999px;padding:0;line-height:0;box-shadow:0 6px 16px #8a5a4e14}.kd-round{width:44px;height:44px;color:var(--kd-ink);cursor:pointer;background:#fff;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-avatar{border-radius:999px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.kd-tabbar{display:none}.kd-main{padding-top:22px}.kd-home{flex-direction:column;gap:22px;display:flex}.kd-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;display:flex}.kd-hello-text{flex-direction:column;flex:520px;gap:4px;min-width:0;display:flex}.kd-hello-text .kd-muted{font-size:14px;font-weight:600}.kd-hello h1{letter-spacing:-.01em;margin:0;font-size:44px;font-weight:600;line-height:1.15}.kd-strips{flex-wrap:wrap;gap:14px;margin-top:14px;display:flex}.kd-strip{flex-direction:column;flex:150px;gap:6px;min-width:0;display:flex}.kd-strip-label{color:var(--kd-muted);font-size:13px;font-weight:700}.kd-strip-track{background:#fff;border-radius:999px;height:34px;display:flex;overflow:hidden}.kd-strip-track>span{box-sizing:border-box;color:#fff;border-radius:999px;align-items:center;min-width:56px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.kd-strip.is-course .kd-strip-track>span{background:#1f6e67}.kd-strip.is-homework .kd-strip-track>span{background:#a3245c}.kd-stats{gap:28px;margin:0;display:flex}.kd-stats div{flex-direction:column-reverse;gap:2px;display:flex}.kd-stats dd{letter-spacing:-.02em;margin:0;font-size:52px;font-weight:500;line-height:1}.kd-stats dt{color:var(--kd-muted);font-size:13px;font-weight:700}.kd-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"kodoo today cont hw""types sched sched hw";gap:16px;display:grid}.kd-card{box-sizing:border-box;background:#fff;border-radius:28px;flex-direction:column;gap:12px;min-width:0;padding:20px;display:flex;box-shadow:0 10px 30px #8a5a4e1a}.kd-card h2{margin:0;font-size:18px;font-weight:800}.kd-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kd-chip{border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.kd-chip.is-course{color:#1f6e67;background:#ddf3ef}.kd-fill{text-align:center;flex:1;justify-content:center;align-items:center;margin:0;display:flex}.kd-small{border-radius:14px;min-height:44px;padding:0 18px;font-size:14px}.kd-kodoo-card{background:linear-gradient(160deg,#fff 0%,#fff4ef 100%);grid-area:kodoo;min-height:300px}.kd-say{margin:0;font-size:16px;font-weight:800;line-height:1.35}.kd-poke{cursor:pointer;background:0 0;border:0;border-radius:24px;flex:1;justify-content:center;align-items:flex-end;min-height:150px;padding:0;display:flex}.kd-poke.is-happy .kd-kodoo-pet{animation:.9s ease-in-out infinite kd-hop}@keyframes kd-hop{0%,to{transform:translateY(0)scale(1.06,.94)}20%,80%{transform:translateY(0)scale(1)}50%{transform:translateY(-14px)scale(.97,1.04)}}.kd-level{align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.kd-level .kd-muted{font-weight:700}.kd-bar-track{-webkit-appearance:none;appearance:none;background:#f5edea;border:0;border-radius:999px;flex:1;height:8px;overflow:hidden}.kd-bar-track::-webkit-progress-bar{background:#f5edea;border-radius:999px}.kd-bar-track::-webkit-progress-value{background:var(--kd-accent);border-radius:999px}.kd-bar-track::-moz-progress-bar{background:var(--kd-accent);border-radius:999px}.kd-today{grid-area:today;min-height:300px}.kd-today-empty{flex-direction:column;flex:1;gap:12px;display:flex}.kd-today-empty .kd-muted{font-size:14px}.kd-time{color:#4a2f9e;background:#efe8fb;border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:16px;font-size:13px;font-weight:800;display:flex}.kd-time strong{color:var(--kd-ink);letter-spacing:-.02em;font-size:48px;font-weight:600}.kd-now{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.kd-now li{background:#efe8fb;border-radius:20px;align-items:center;gap:12px;padding:12px;display:flex}.kd-now li.is-quiz{background:#f2f8fa}.kd-now li.is-exam{background:#fff1cc}.kd-now-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kd-now-text small{color:var(--kd-muted);font-size:12px;font-weight:800}.kd-now-text strong{overflow-wrap:anywhere;font-size:15px;font-weight:800}.kd-join-now{background:var(--kd-accent);color:#fff;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:800;display:flex}.kd-join-now:disabled{opacity:.7;cursor:wait}.kd-cont{grid-area:cont;min-height:300px}.kd-ring{flex:1;justify-content:center;align-items:center;display:flex;position:relative}.kd-ring>span{flex-direction:column;align-items:center;display:flex;position:absolute}.kd-ring strong{font-size:30px;font-weight:600}.kd-ring small{color:var(--kd-muted);font-size:12px;font-weight:700}.kd-cont-foot{align-items:center;gap:10px;display:flex}.kd-cont-foot p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:16px;font-weight:800}.kd-hw{background:var(--kd-ink);color:#fff;grid-area:hw;padding:22px 20px;box-shadow:0 14px 34px #2e2a2a38}.kd-hw .kd-card-head p{color:#d9cbc6;margin:4px 0 0;font-size:13px;font-weight:600}.kd-hw-count{font-size:34px;font-weight:500;line-height:1}.kd-hw .kd-fill{color:#d9cbc6;font-weight:600}.kd-hw-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.kd-hw-list button{color:#fff;width:100%;min-height:56px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #4a4444;align-items:center;gap:12px;padding:8px 4px;font-size:15px;font-weight:700;display:flex}.kd-hw-list button>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.kd-hw-list .is-done{color:#d9cbc6;text-decoration:line-through}.kd-hw-list small{color:#d9cbc6;font-size:12px;font-weight:700}.kd-hw-dot{border:2px solid #8a7f7c;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.kd-hw-dot.is-done{color:var(--kd-ink);background:#ffc94d;border-color:#ffc94d}.kd-light{min-height:44px;color:var(--kd-ink);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:14px;margin-top:auto;font-size:15px;font-weight:800}.kd-types{grid-area:types}.kd-type-list{flex-direction:column;gap:8px;display:flex}.kd-type{box-sizing:border-box;min-height:56px;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:15px;font-weight:800;display:flex}.kd-type.is-course{color:#1f6e67;background:#ddf3ef}.kd-type.is-review{color:#3f51a8;background:#e6e8f7}.kd-type.is-homework{color:#a3245c;background:#f9dce8}.kd-type.is-test{color:#7a5000;background:#fff1cc}.kd-type.is-daily{background:var(--kd-bg);color:var(--kd-accent-ink)}.kd-type.is-slides{color:#4a2f9e;background:#efe8fb}.kd-type[aria-disabled=true]{opacity:.75}.kd-sched{grid-area:sched}.kd-week{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.kd-week li{min-width:0;color:var(--kd-muted);background:#fbf7f5;border-radius:16px;flex-direction:column;gap:6px;padding:10px;display:flex}.kd-week li.is-today{background:var(--kd-bg);color:var(--kd-accent-ink)}.kd-week strong{font-size:13px;font-weight:800}.kd-slot{color:var(--kd-ink);overflow-wrap:anywhere;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.kd-slot small{color:var(--kd-muted);font-size:12px;font-weight:800}.kd-section{flex-direction:column;gap:16px;display:flex}.kd-section-head{align-items:center;gap:12px;display:flex}.kd-section-head h1{margin:0;font-size:26px;font-weight:800}.kd-section-body{flex-direction:column;gap:16px;display:flex}.kd-section-body>*{background:#fff;border-radius:24px}.kd-section-body:empty{color:var(--kd-muted);text-align:center;background:#fff;border-radius:24px;padding:32px 20px;font-weight:600}.kd-section-body:empty:after{content:"Одоогоор энд юу ч алга. Багш нээхэд энд гарч ирнэ."}button.kd-coins{color:var(--kd-ink);cursor:pointer;border:0;font-family:inherit}button.kd-coins:hover,button.kd-coins[aria-current=page]{background:#fff1cc}.kd-rank{flex-direction:column;gap:18px;display:flex}.kd-rank-head{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.kd-rank-title{flex:1;min-width:200px}.kd-rank-title p{color:var(--kd-muted);margin:0;font-size:14px;font-weight:600}.kd-rank-title h1{margin:0;font-size:clamp(24px,3vw,36px);font-weight:800}.kd-rank-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kd-rank-switch{cursor:pointer;background:linear-gradient(135deg,#ffe3d4,#f7b9a2);border:3px solid #fff;border-radius:999px;flex:none;width:92px;height:46px;padding:0;transition:background .35s;position:relative;box-shadow:0 8px 20px #8a5a4e2e}.kd-rank-switch.is-on{background:linear-gradient(135deg, #e8683c, var(--kd-accent))}.kd-rank-switch>span{width:34px;height:34px;color:var(--kd-accent);background:#fff;border-radius:999px;justify-content:center;align-items:center;transition:left .4s cubic-bezier(.22,.8,.3,1);display:flex;position:absolute;top:3px;left:3px;box-shadow:0 3px 8px #6e281440}.kd-rank-switch.is-on>span{left:49px}.kd-rank-wait{justify-content:center;padding:40px;display:flex}.kd-rank-body{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:900px){.kd-rank-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.kd-rank-stage{flex-direction:column;justify-content:space-between;gap:18px;padding:24px;display:flex}.kd-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:0;padding:10px 0 0;list-style:none;display:grid}.kd-podium li{flex-direction:column;align-items:center;gap:8px;min-width:0;animation:.6s ease-out both kd-rise;display:flex}.kd-podium li.is-place-1{padding-bottom:20px}.kd-crown{color:#e8a317}.kd-podium-badge{box-sizing:border-box;background:#fff;border:5px solid;border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:800;display:flex;position:relative;box-shadow:0 10px 24px #8a5a4e29}.is-place-1 .kd-podium-badge{width:92px;height:92px;font-size:28px}.kd-podium li.is-mine .kd-podium-badge{background:#fbd3c4}.kd-podium-badge b{width:26px;height:26px;color:var(--kd-ink);border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;bottom:-12px}.kd-podium-name{text-align:center;overflow-wrap:anywhere;margin-top:8px;font-size:14px;font-weight:800}.kd-podium li.is-mine .kd-podium-name{color:var(--kd-accent-ink)}.kd-podium-xp{background:#fff8f5;border-radius:999px;padding:5px 12px;font-size:14px;font-weight:800}.kd-rank-empty{color:var(--kd-muted);text-align:center;margin:0;padding:24px 8px;font-weight:700}.kd-rank-prize{background:#fff8f5;border-radius:20px;align-items:center;gap:12px;padding:14px 16px;display:flex}.kd-rank-prize>span:first-child{color:#b57a00;background:#fff1cc;border-radius:14px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.kd-rank-prize>span:last-child{flex-direction:column;gap:2px;display:flex}.kd-rank-prize small{color:var(--kd-muted);font-size:13px;font-weight:600;line-height:1.45}.kd-rank-side{flex-direction:column;gap:12px;display:flex}.kd-rank-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kd-rank-list li{background:#fff;border:2px solid #0000;border-radius:18px;align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex}.kd-rank-list li.is-mine{border-color:var(--kd-accent)}.kd-rank-list li.kd-rank-gap{color:#a07e75;background:0 0;justify-content:center;min-height:0;padding:0;font-size:18px;font-weight:800}.kd-rank-place{width:24px;color:var(--kd-muted);font-weight:800}.kd-rank-badge{background:var(--kd-bg);border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:800;display:flex;overflow:hidden}.kd-rank-label{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:800}.kd-rank-mine{background:var(--kd-accent);color:#fff;border-radius:20px;align-items:center;gap:10px;margin:0;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.kd-rank-mine svg{flex:none}.kd-rank-win{color:#7a5200;background:#fff1cc;border-radius:16px;align-items:center;gap:8px;margin:0;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.kd-rank-foot{color:var(--kd-muted);text-align:center;margin:0;font-size:13px;font-weight:600;line-height:1.45}@keyframes kd-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.kd-podium li,.kd-rank-switch,.kd-rank-switch>span{transition:none;animation:none}}.kd-app[data-size=sm] .kd-main{zoom:.9}.kd-app[data-size=lg] .kd-main{zoom:1.15}.kd-app.is-calm *,.kd-app.is-calm :before,.kd-app.is-calm :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.kd-settings{flex-direction:column;gap:16px;display:flex}.kd-settings-state{color:var(--kd-muted);margin-left:auto;font-size:14px;font-weight:700}.kd-settings-cols{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}@media (max-width:1100px){.kd-settings-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.kd-settings-cols{grid-template-columns:minmax(0,1fr)}}.kd-settings-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.kd-settings-me{text-align:center;align-items:center}.kd-settings-me p{margin:0}.kd-settings-name{font-size:22px;font-weight:800}.kd-settings-class{color:var(--kd-muted);font-weight:700}.kd-settings-note{color:var(--kd-muted);font-size:14px;font-weight:600;line-height:1.45}.kd-settings-me>.kd-secondary{justify-content:center;width:100%}.kd-settings-out{box-sizing:border-box;text-align:left;background:#fff8f5;border:0;border-radius:20px;flex-direction:column;gap:10px;width:100%;min-width:0;margin:0;padding:16px;display:flex}.kd-settings-out h2{margin:0;font-size:18px;font-weight:800}.kd-settings-out p{color:var(--kd-muted);font-size:14px;font-weight:600;line-height:1.45}.kd-settings-out button{justify-content:center}.kd-settings-group{gap:4px}.kd-settings-group h2{margin:0 0 6px;font-size:18px;font-weight:800}.kd-switch{width:100%;min-height:64px;color:var(--kd-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f5edea;align-items:center;gap:12px;padding:8px 0;display:flex}.kd-switch:last-child{border-bottom:0}.kd-switch[aria-disabled=true]{cursor:default}.kd-switch[aria-disabled=true] .kd-switch-text,.kd-switch[aria-disabled=true] .kd-switch-track{opacity:.55}.kd-switch-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kd-switch-text>span{font-size:15px;font-weight:800}.kd-switch-text>small{color:var(--kd-muted);font-size:13px;font-weight:600}.kd-soon{background:var(--kd-field);color:var(--kd-muted);border-radius:999px;margin-left:4px;padding:2px 8px;font-size:11px;font-weight:800}.kd-switch-track{background:#d9cfcb;border-radius:999px;flex:none;width:48px;height:28px;transition:background .25s;position:relative}.kd-switch-track>span{background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .3s cubic-bezier(.22,.8,.3,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #6e281440}.kd-switch[aria-checked=true] .kd-switch-track{background:#1f6e67}.kd-switch[aria-checked=true] .kd-switch-track>span{transform:translate(20px)}.kd-settings-sizes{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.kd-settings-sizes button{justify-content:center}.kd-settings-sample{text-align:center;background:#fff8f5;border-radius:16px;margin:10px 0 0;padding:14px;font-size:16px;font-weight:700}.kd-settings-privacy summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:48px;font-weight:800;list-style:none;display:flex}.kd-settings-privacy summary::-webkit-details-marker{display:none}.kd-settings-privacy[open] summary svg{transform:rotate(180deg)}.kd-settings-privacy p{color:var(--kd-muted);margin:0 0 8px;font-size:14px;font-weight:600;line-height:1.5}.kd-settings-help{color:#7a5200;background:#fff1cc;border-radius:16px;align-items:center;gap:12px;margin:6px 0 0;padding:12px 14px;display:flex}.kd-settings-help span{flex-direction:column;gap:2px;display:flex}.kd-settings-help small{font-weight:600}.kd-profile{flex-direction:column;gap:18px;display:flex}.kd-profile-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kd-profile-head h1{margin:0;font-size:36px;font-weight:700}.kd-tabs,.kd-pills{background:#fff;border:0;border-radius:999px;flex-wrap:wrap;gap:4px;margin:0;padding:5px;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-tabs button,.kd-pills button{min-height:40px;color:var(--kd-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;display:flex}.kd-tabs button[aria-pressed=true],.kd-pills button[aria-pressed=true]{background:var(--kd-accent);color:#fff}.kd-badge{box-sizing:border-box;min-width:20px;height:20px;color:var(--kd-ink);background:#ffc94d;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:800;display:inline-flex}.kd-profile-grid{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.kd-profile-side,.kd-profile-main{flex-direction:column;gap:16px;min-width:0;display:flex}.kd-profile-main{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kd-profile-main>*{grid-area:auto}.kd-profile-main>:is(.kd-period,.kd-report,.kd-trend,.kd-marks,.kd-sched,.kd-notices){grid-column:1/-1}.kd-period{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kd-period-step{align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.kd-period-step .kd-round:disabled{opacity:.4;cursor:default}.kd-big{margin:0;font-size:34px;font-weight:600;line-height:1}.kd-big small{color:var(--kd-muted);font-size:13px;font-weight:700}.kd-class-goal .kd-muted strong{color:var(--kd-ink)}.kd-class-goal .kd-bar-track{flex:none;width:100%;height:10px}.kd-group{flex-direction:row;align-items:center;gap:14px}.kd-group h2{font-size:20px}.kd-group p{margin:0}.kd-group-icon{background:var(--kd-bg);width:48px;height:48px;color:var(--kd-accent-ink);border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.kd-goal{text-align:center;align-items:center}.kd-goal h2{align-self:flex-start}.kd-compare{margin:0;font-size:14px;font-weight:700;line-height:1.4}.kd-work-row{grid-template-columns:1fr auto;gap:6px;font-size:14px;font-weight:800;display:grid}.kd-work-bar{background:#f5edea;border-radius:999px;grid-column:1/-1;height:10px;overflow:hidden}.kd-work-bar>span{background:var(--kd-accent);border-radius:999px;height:100%;display:block}.kd-work-row.is-exercise .kd-work-bar>span{background:#ffc94d}.kd-work-row.is-homework .kd-work-bar>span{background:#6cc5ba}.kd-chip.is-own{background:var(--kd-bg);color:var(--kd-accent-ink)}.kd-chip.is-review{color:#3f51a8;font:inherit;cursor:pointer;background:#e6e8f7;border:0;font-size:12px;font-weight:800}.kd-report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.kd-report-grid>div{background:#fbf7f5;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:14px;display:flex}.kd-report-grid .kd-muted{font-size:13px;font-weight:700}.kd-report-grid strong{font-size:30px;font-weight:600;line-height:1.1}.kd-report-grid .kd-report-topic{overflow-wrap:anywhere;font-size:18px;font-weight:800}.kd-report-grid .kd-text-button{min-height:32px;padding:0}.kd-trend figure{flex-direction:column;gap:8px;margin:0;display:flex}.kd-trend svg{width:100%;height:180px}.kd-trend figcaption{color:#1f6e67;font-size:14px;font-weight:800}.kd-topics ul,.kd-tests ul,.kd-notices ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.kd-topics li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 8px;font-size:14px;font-weight:800;display:grid}.kd-topic-name{overflow-wrap:anywhere}.kd-topics li.is-weak .kd-work-bar>span{background:#ffc94d}.kd-topics li.is-good .kd-work-bar>span{background:#1f6e67}.kd-tests li{background:#fbf7f5;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.kd-tests li>span{flex-direction:column;gap:2px;min-width:0;display:flex}.kd-tests li strong{overflow-wrap:anywhere;font-size:14px;font-weight:800}.kd-tests li small{font-size:12px;font-weight:700}.kd-tests li b{flex:none;font-size:15px;font-weight:800}.kd-notices li{background:#fbf7f5;border-radius:18px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.kd-notices li.is-homework{background:#f9dce8}.kd-notices li.is-practice{background:#e6e8f7}.kd-notices li.is-exam{background:#fff1cc}.kd-notices li.is-kodoo{background:#ddf3ef}.kd-notice-title{font-size:13px;font-weight:800}.kd-notice-text{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.45}.kd-marks h2{margin-bottom:0}.kd-marks h3{margin:6px 0 0;font-size:15px;font-weight:800}.kd-mark-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.kd-mark-tiles>div{color:var(--kd-muted);background:#fbf7f5;border-radius:16px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.kd-mark-tiles>div.is-given{background:var(--kd-bg);color:var(--kd-accent-ink)}.kd-mark-tiles b{color:var(--kd-ink);font-size:22px;font-weight:700}.kd-marks .me-marks-wrap{overflow-x:auto}.kd-marks .me-marks-table{border-collapse:collapse;width:100%;font-size:14px}.kd-marks .me-marks-table :is(th,td){text-align:left;border-bottom:1px solid #f5edea;padding:8px 10px}.kd-marks .me-remarks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kd-marks .me-remarks li{background:#fbf7f5;border-radius:14px;gap:10px;padding:10px 12px;font-size:14px;display:flex}.kd-marks .me-remarks small{color:var(--kd-muted);flex:none;font-weight:800}.kd-marks .kd-text-button{align-self:flex-start}.kd-avatar-card{text-align:center;align-items:center;width:100%}:is(.kd-kind,.kd-task).is-intro{--kd-t:#efe8fb;--kd-i:#5b3fb8}:is(.kd-kind,.kd-task).is-course{--kd-t:#ddf3ef;--kd-i:#1f6e67}:is(.kd-kind,.kd-task).is-review{--kd-t:#e6e8f7;--kd-i:#3f51a8}:is(.kd-kind,.kd-task).is-homework{--kd-t:#f9dce8;--kd-i:#a3245c}:is(.kd-kind,.kd-task).is-test{--kd-t:#fff1cc;--kd-i:#7a5000}:is(.kd-kind,.kd-task).is-daily{--kd-t:#fbd3c4;--kd-i:#b0381a}.kd-tasks{flex-direction:column;gap:18px;display:flex}.kd-tasks-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.kd-tasks-head h1{letter-spacing:-.01em;margin:0;font-size:44px;font-weight:600}.kd-tasks-head .kd-muted{font-size:14px;font-weight:600}.kd-tasks-tools{flex:0 520px;gap:8px;min-width:0;display:flex}.kd-search{box-sizing:border-box;min-width:0;height:48px;color:var(--kd-muted);background:#fff;border-radius:999px;flex:1;align-items:center;gap:8px;padding:0 12px 0 16px;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-search:focus-within{outline:3px solid var(--kd-accent);outline-offset:2px}.kd-search input{min-width:0;height:44px;color:var(--kd-ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:16px;font-weight:700}.kd-select{height:48px;color:var(--kd-ink);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:999px;flex:0 0 180px;padding:0 16px;font-size:14px;font-weight:800;box-shadow:0 6px 16px #8a5a4e14}.kd-tasks-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:16px;display:grid}.kd-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 4px;display:grid}.kd-kind{color:var(--kd-ink);font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:800;line-height:1.2;display:flex}.kd-kind small{color:var(--kd-muted);font-size:11px}.kd-kind[aria-disabled=true]{cursor:default;opacity:.7}.kd-kind-icon{background:var(--kd-t);width:56px;height:56px;color:var(--kd-i);border-radius:18px;flex:none;justify-content:center;align-items:center;transition:transform .25s,background .25s;display:flex}.kd-kind[aria-pressed=true] .kd-kind-icon{background:var(--kd-i);color:#fff;transform:translateY(-3px)}.kd-tasks-empty{text-align:center;align-items:center}.kd-task-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.kd-task>:is(button,div){box-sizing:border-box;width:100%;height:100%;min-height:168px;color:var(--kd-ink);font:inherit;text-align:left;background:#fff;border:0;border-radius:24px;flex-direction:column;gap:10px;padding:18px;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-task>button{cursor:pointer;transition:transform .2s,box-shadow .2s}.kd-task>button:hover{transform:translateY(-3px);box-shadow:0 14px 30px #8a5a4e29}.kd-task .kd-kind-icon{border-radius:14px;width:46px;height:46px}.kd-task-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.kd-task-tag{background:var(--kd-t);color:var(--kd-i);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.kd-task-text{flex-direction:column;gap:3px;display:flex}.kd-task-text strong{overflow-wrap:anywhere;font-size:16px;font-weight:800;line-height:1.3}.kd-task-text small{color:var(--kd-muted);font-size:12px;font-weight:600;line-height:1.4}.kd-task-foot{align-items:center;gap:10px;margin-top:auto;display:flex}.kd-task-foot .kd-work-bar{flex:1;height:8px}.kd-task-foot .kd-work-bar>span{background:var(--kd-i)}.kd-task-foot b{white-space:nowrap;margin-left:auto;font-size:13px;font-weight:800}.kd-course>*+*{margin-top:18px}.kd-course .kd-muted{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kd-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kd-actions.is-end{justify-content:flex-end;margin-top:auto}.kd-actions .kd-primary,.kd-actions .kd-secondary{padding:0 22px}.kd-secondary{cursor:pointer;font:inherit;font-size:15px;font-weight:800}.kd-path-page{flex-direction:column;gap:18px;display:flex}.kd-path-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.kd-path-title{align-items:flex-end;gap:14px;display:flex}.kd-path-title>div{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.kd-path-title h1{letter-spacing:-.01em;margin:0;font-size:40px;font-weight:600;line-height:1.15}.kd-path-progress{white-space:nowrap;background:#fff;border-radius:999px;flex:0 420px;align-items:center;gap:12px;padding:12px 18px;font-size:14px;font-weight:800;display:flex;box-shadow:0 6px 16px #8a5a4e14}.kd-path-progress .kd-bar-track{width:auto;min-width:0;height:10px}.kd-path-progress .kd-bar-track::-webkit-progress-value{background:#2e8c82}.kd-path-progress .kd-bar-track::-moz-progress-bar{background:#2e8c82}.kd-path-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.kd-trail{background:#e2f3ea;border-radius:28px;flex-direction:column;gap:18px;padding:20px 24px;display:flex}.kd-trail-unit h2{color:#1f5f58;margin:0 0 8px;font-size:15px;font-weight:800}.kd-trail-unit ol{flex-wrap:wrap;gap:26px 8px;margin:0;padding:0;list-style:none;display:flex}.kd-stop{flex-direction:column;align-items:center;width:112px;display:flex;position:relative}.kd-stop:not(:last-child):after{content:"";background:#c6e3d6;border-radius:999px;width:36px;height:6px;position:absolute;top:29px;left:84px}.kd-stop button{width:112px;color:var(--kd-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.kd-stop-dot{color:#2e8c82;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;transition:transform .2s;display:flex;box-shadow:0 6px #c6e3d6}.kd-stop.is-done .kd-stop-dot,.kd-stop.is-unassisted .kd-stop-dot{color:#fff;background:#2e8c82;box-shadow:0 6px #1f6e67}.kd-stop.is-locked .kd-stop-dot{color:#a39591;background:#f1ece9;box-shadow:0 6px #e2d9d5}.kd-stop.is-now .kd-stop-dot{background:var(--kd-accent);color:#fff;width:66px;height:66px;box-shadow:0 6px #a33415}.kd-stop button[aria-pressed=true] .kd-stop-dot{outline-offset:3px;outline:4px solid #fff;transform:translateY(-2px)}.kd-stop-label{text-align:center;overflow-wrap:anywhere;background:#ffffffeb;border-radius:10px;max-width:108px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.25}.kd-stop.is-locked .kd-stop-label{color:var(--kd-muted)}.kd-stop-kodoo{z-index:1;pointer-events:none;position:absolute;top:-50px}.kd-trail-unit:has(.is-now) ol{padding-top:46px}.kd-stop.is-now .kd-stop-dot{margin-top:-4px}.kd-path-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:16px}.kd-stop-card h2{font-size:22px;line-height:1.3}.kd-parts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kd-parts li{background:#fbf7f5;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.kd-parts small{color:var(--kd-muted);font-size:12px;font-weight:700}.kd-stop-state{color:#1f6e67;margin:0;font-size:14px;font-weight:800}.kd-stop-go{background:var(--kd-ink);color:#fff}.kd-stop-go p{color:#d9cbc6;margin:0;font-size:14px;font-weight:600}.kd-stop-go strong{color:#fff;font-size:28px;font-weight:600}.kd-stop-go .kd-muted{color:#d9cbc6}.kd-lesson-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.kd-lesson-name{flex-direction:column;gap:2px;min-width:0;display:flex}.kd-lesson-name span{color:#1f6e67;font-size:12px;font-weight:800}.kd-lesson-name strong{overflow-wrap:anywhere;font-size:16px;font-weight:800}.kd-lesson-steps{background:#fff;border-radius:999px;flex-wrap:wrap;gap:4px;margin:0 0 0 auto;padding:5px;list-style:none;display:flex}.kd-lesson-steps button{min-height:38px;color:var(--kd-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:800}.kd-lesson-steps button.is-past{color:#1f5f58;background:#e3f4ef}.kd-lesson-steps button[aria-current=step]{background:var(--kd-accent);color:#fff}.kd-done-note{color:#1f5f58;background:#e3f4ef;border-radius:14px;align-items:center;gap:8px;margin:0;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.kd-learn{grid-template-columns:340px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.kd-learn-kodoo{background:linear-gradient(160deg,#fff 0%,#fff4ef 100%);justify-content:space-between}.kd-bubble{background:#fff;border:1.5px solid #f1d5cb;border-radius:22px 22px 22px 6px;margin:0;padding:16px 18px;font-size:17px;font-weight:800;line-height:1.45}.kd-learn-figure{justify-content:center;display:flex}.kd-remember{color:#1f5f58;background:#e3f4ef;border-radius:18px;margin:0;padding:14px 16px;font-size:14px;font-weight:700;line-height:1.5}.kd-learn-text{gap:18px;padding:28px}.kd-learn-text h1{margin:0;font-size:34px;font-weight:800;line-height:1.2}.kd-learn-text{font-size:17px;line-height:1.65}.kd-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kd-learn-cards{gap:20px;min-height:480px;padding:28px 36px}.kd-learn-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.kd-learn-dots{gap:8px;display:flex}.kd-learn-dots span{background:var(--kd-line);border-radius:999px;width:10px;height:10px}.kd-learn-dots span[data-seen]{background:var(--kd-accent)}.kd-learn-dots span[data-now]{width:36px}.kd-learn-count{color:var(--kd-muted);font-size:15px;font-weight:800}.kd-learn-card{flex-direction:column;flex:1;justify-content:center;gap:20px;max-width:760px;display:flex}.kd-learn-card h2{margin:0;font-size:34px;font-weight:800;line-height:1.2}.kd-course .kd-learn-card .kd-learn-big .cs-text{font-size:23px;font-weight:500;line-height:1.6}.kd-learn-list{counter-reset:kd-step;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.kd-learn-list li{align-items:center;gap:16px;font-size:21px;font-weight:600;line-height:1.4;display:flex}ol.kd-learn-list li:before{counter-increment:kd-step;content:counter(kd-step);background:var(--kd-accent);color:#fff;border-radius:999px;flex:none;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:grid}ul.kd-learn-list li:before{content:"";background:var(--kd-accent);border-radius:999px;flex:none;width:12px;height:12px}.kd-learn-card .cb-tip{background:#fff4c7;border:3px solid #f2c94c;border-radius:26px;gap:10px;padding:26px 30px}.kd-learn-card .cb-tip>b{color:#5a4300;letter-spacing:.06em;text-transform:uppercase;font-size:15px}.kd-course .kd-learn-card .cb-tip .cs-text{font-size:25px;font-weight:800;line-height:1.45}.kd-learn-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.kd-learn-done{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-left:auto;display:flex}.kd-try-card{border:1.5px solid var(--kd-line);background:#fff;border-radius:20px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.kd-try-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.kd-try-head b{font-size:17px}.kd-try-head span{color:var(--kd-muted);font-size:14px;font-weight:700}.kd-try-bar{background:#f6e6df;border-radius:999px;height:14px;position:relative}.kd-try-bar span{background:var(--kd-accent);border-radius:999px;position:absolute;inset:0 auto 0 0}.kd-try-bar i{background:#1f5f58;border-radius:2px;width:3px;position:absolute;top:-5px;bottom:-5px}.kd-try-card p{margin:0;font-size:14px;font-weight:700}.kd-try-card p b{color:var(--kd-accent-ink)}@media (max-width:700px){.kd-learn-cards{min-height:0;padding:22px 20px}.kd-learn-card h2{font-size:25px}.kd-course .kd-learn-card .kd-learn-big .cs-text{font-size:19px}.kd-learn-list li{gap:12px;font-size:18px}ol.kd-learn-list li:before{width:34px;height:34px;font-size:16px}.kd-course .kd-learn-card .cb-tip .cs-text{font-size:21px}.kd-learn-card .cb-tip{padding:20px}.kd-learn-kodoo{grid-template-columns:76px minmax(0,1fr);align-items:end;gap:10px 12px;padding:14px;display:grid}.kd-learn-kodoo .kd-try-card{order:-1;grid-column:1/-1}.kd-learn-kodoo .kd-learn-figure svg{width:76px;height:80px}.kd-learn-kodoo .kd-bubble{order:1;padding:10px 12px;font-size:14px}.kd-learn-kodoo .kd-remember{order:2;grid-column:1/-1}}.kd-practice{flex-direction:column;gap:16px;display:flex}.kd-practice-head{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.kd-practice-head h1{margin:0;font-size:28px;font-weight:800}.kd-dots{flex-wrap:wrap;gap:6px;display:flex}.kd-dots button{width:40px;height:40px;color:var(--kd-ink);font:inherit;cursor:pointer;background:#fff;border:2px solid #f1d5cb;border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.kd-dots button.is-solved{color:#1f5f58;background:#e3f4ef;border-color:#2e8c82}.kd-dots button.is-picked{border-color:var(--kd-accent);color:var(--kd-accent-ink)}.kd-dots button.is-miss{border-color:var(--kd-accent);background:var(--kd-alert);color:var(--kd-accent-ink)}.kd-quiz-card .cs-prompt{font-size:20px;font-weight:800;line-height:1.45}.kd-quiz-card output.cs-feedback{display:block}.kd-course .kd-quiz-card.is-wrong .cs-options:disabled label:has(input:checked){border-color:var(--kd-accent);background:var(--kd-alert)}:is(.kd-daily,.kd-course:has(>.kd-lesson-done)){flex-direction:column;gap:16px;display:flex}.kd-daily .kd-lesson-bar .kd-chip.is-coins{align-self:center;margin-left:auto;font-size:15px}.kd-center{text-align:center}.kd-status{flex-direction:column;gap:16px;display:flex}.kd-status-head{align-items:center;gap:12px 16px;display:flex}.kd-status-head p{min-height:1.4em;color:var(--kd-accent-ink);margin:0;font-size:15px;font-weight:800}.kd-status-head h1{margin:0;font-size:clamp(24px,3vw,36px);font-weight:800}.kd-status-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;display:grid}@media (max-width:1060px){.kd-status-layout{grid-template-columns:minmax(0,1fr)}}.kd-status-stage{text-align:center;background:linear-gradient(160deg,#fff 0%,#fff4ef 100%);flex-direction:column;align-items:center;gap:16px;padding:28px 20px;display:flex}.kd-status-stage .kd-kodoo{max-width:100%;height:auto}.kd-status-stage .kd-actions{justify-content:center}.kd-status-stage .kd-primary[aria-disabled=true]{cursor:default;opacity:.6}.kd-status-stage .kd-primary small{margin-left:6px;font-weight:700}.kd-status-say{background:#fff;border-radius:20px;max-width:440px;margin:0;padding:14px 18px;font-size:18px;font-weight:800;line-height:1.4;position:relative;box-shadow:0 6px 18px #8a5a4e24}.kd-status-needs{flex-direction:column;gap:16px;display:flex}.kd-need{flex-direction:column;gap:8px;display:flex}.kd-need-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.kd-need-head h2{align-items:center;gap:8px;margin:0;font-size:17px;font-weight:800;display:flex}.kd-need-head h2:before{content:"";background:var(--need);border-radius:50%;width:12px;height:12px}.kd-need-head span{color:var(--kd-muted);font-size:14px;font-weight:800}.kd-need-value{margin:0;font-size:34px;font-weight:800;line-height:1}.kd-need.is-full{--need:#e0a21f}.kd-need.is-joy{--need:var(--kd-accent)}.kd-need.is-energy{--need:#3f9c92}.kd-need .kd-bar-track{flex:none;width:100%;height:10px}.kd-need .kd-bar-track::-webkit-progress-value{background:var(--need)}.kd-need .kd-bar-track::-moz-progress-bar{background:var(--need)}.kd-status-note{align-items:flex-start;gap:8px;display:flex}.kd-status-note svg{color:var(--kd-accent);flex:none;margin-top:2px}.kd-shop{flex-direction:column;gap:16px;display:flex}.kd-shop-head{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.kd-shop-head h1{flex:1;margin:0;font-size:clamp(24px,3vw,36px);font-weight:800}.kd-shop-layout{grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr);align-items:start;gap:16px;display:grid}.kd-shop-stage{text-align:center;background:linear-gradient(160deg,#fff 0%,#fff4ef 100%);flex-direction:column;align-items:center;gap:14px;padding:24px 20px;display:flex}.kd-shop-stage-head{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.kd-shop-stage-head h2{margin:0;font-size:18px;font-weight:800}.kd-shop-stage .kd-chip.is-coins{align-self:center;font-size:14px}.kd-shop-say{background:#fff;border-radius:18px;min-height:3em;margin:0;padding:12px 16px;font-size:16px;font-weight:800;line-height:1.4;box-shadow:0 6px 18px #8a5a4e1f}.kd-shop-stage .kd-kodoo{max-width:100%;height:auto}.kd-shop-note{font-size:13px}.kd-shop-stage .kd-primary{min-height:48px;padding:0 22px}.kd-shop-effect{color:#1f6e67!important}.kd-status-home{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kd-status-home li{background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:13px;font-weight:700;display:flex}.kd-shop-goods{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:12px;margin:0;padding:0;list-style:none;display:grid}.kd-shop-item{flex-direction:column;gap:10px;padding:16px;display:flex}.kd-shop-name{flex-direction:column;gap:2px;display:flex}.kd-shop-name strong{font-size:16px;font-weight:800}.kd-shop-name small{color:var(--kd-muted);font-size:13px;font-weight:700}.kd-shop-buy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.kd-shop-price{font-size:15px;font-weight:800}.kd-shop-buy button,.kd-shop-ask button{min-height:44px;padding:0 16px}.kd-shop-buy .kd-secondary[aria-disabled=true]{cursor:default;color:var(--kd-muted)}.kd-shop-ask{border:0;flex-wrap:wrap;align-items:center;gap:8px;margin:auto 0 0;padding:0;display:flex}.kd-shop-ask legend{width:100%;margin-bottom:8px;padding:0;font-size:14px;font-weight:800;line-height:1.4}@media (max-width:1060px){.kd-shop-layout{grid-template-columns:minmax(0,1fr)}.kd-shop-goods{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.kd-shop-goods{grid-template-columns:minmax(0,1fr)}}.kd-kodoo-antenna{transform-box:fill-box;transform-origin:25% 100%}.kd-kodoo.is-happy .kd-kodoo-pet{animation:.9s ease-in-out infinite kd-hop}.kd-kodoo.is-happy .kd-kodoo-antenna{animation:.9s ease-in-out infinite kd-sway}.kd-kodoo.is-sleepy .kd-kodoo-pet{animation-duration:5.5s}.kd-kodoo.is-bored .kd-kodoo-pet{animation:4s ease-in-out infinite kd-droop}.kd-kodoo-zz text{transform-box:fill-box;animation:2.4s ease-in infinite kd-zfloat}.kd-kodoo-zz text+text{animation-delay:1.2s}@keyframes kd-sway{0%,to{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}@keyframes kd-droop{0%,to{transform:scale(1)}50%{transform:scale(1.04,.95)}}@keyframes kd-zfloat{0%{opacity:0;transform:translate(0)}25%{opacity:1}to{opacity:0;transform:translate(8px,-18px)}}.kd-meet .kd-kodoo-pet{animation:.9s ease-in-out infinite kd-hop}.kd-meet .kd-kodoo-antenna{animation:.9s ease-in-out infinite kd-sway}.kd-meet .kd-join-kodoo{transform-origin:50% 100%;transition:rotate .25s ease-out}.kd-kodoo-look{transition:transform .12s linear}.kd-meet-say{text-align:center;background:#fff;border-radius:22px 22px 22px 6px;align-self:center;max-width:340px;margin:0;padding:14px 18px;font-size:17px;font-weight:800;line-height:1.4;animation:.5s ease-out both kd-rise;position:relative;box-shadow:0 10px 30px #8a5a4e1f}.kd-meet-side{flex-direction:column;gap:18px;width:100%;max-width:380px;display:flex}.kd-meet-side h1{text-align:center;margin:0;font-size:30px;font-weight:800;line-height:1.2;animation:.5s ease-out both kd-rise}.kd-meet-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.kd-meet-steps li{background:#fff8f5;border:1px solid #f1d5cb;border-radius:20px;align-items:center;gap:12px;padding:14px;font-size:15px;font-weight:700;line-height:1.4;animation:.5s ease-out both kd-rise;display:flex}.kd-meet-steps li span{background:var(--kd-accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:flex}.kd-meet-side .kd-primary{min-height:54px}.kd-meet.is-calm *,.kd-meet.is-calm :before,.kd-meet.is-calm :after{transition:none!important;animation:none!important}@media (max-width:860px){.kd-meet-say{font-size:15px}.kd-meet-side h1{font-size:26px}}.kd-open{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.kd-open-card{background:#fff;border-radius:32px;flex-direction:column;gap:16px;width:100%;max-width:1200px;min-height:640px;padding:28px 40px 32px;display:flex;position:relative;box-shadow:0 24px 60px #8a5a4e24}.kd-open-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.kd-open-logo{display:flex}.kd-open-signin{min-height:44px;color:var(--kd-accent-ink);font:inherit;cursor:pointer;background:#fbe3da;border:0;border-radius:999px;padding:0 20px;font-size:14px;font-weight:800}.kd-open-hero{flex:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"left kodoo right""left kodoo text";align-items:center;gap:8px 16px;display:grid}.kd-open-words{display:contents}.kd-open-left,.kd-open-right{letter-spacing:-.03em;font-size:clamp(56px,7vw,92px);font-weight:800;line-height:.92;animation:.7s ease-out both kd-rise}.kd-open-left{text-align:right;grid-area:left;place-self:start end;margin-top:56px}.kd-open-right{grid-area:right;place-self:end start;animation-delay:.15s}.kd-open-kodoo{transform-origin:50% 100%;grid-area:kodoo;justify-content:center;transition:rotate .25s ease-out;display:flex}.kd-open-kodoo .kd-kodoo{max-width:100%;height:auto;overflow:visible}.kd-open-text{max-width:300px;color:var(--kd-muted);grid-area:text;place-self:start;margin:0;font-size:15px;font-weight:600;line-height:1.55;animation:.7s ease-out .3s both kd-rise}.kd-open-badge{position:absolute;top:96px;right:48px}.kd-open-spin{transform-box:fill-box;transform-origin:50%;animation:18s linear infinite kd-spin}@keyframes kd-spin{to{transform:rotate(360deg)}}.kd-open-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.kd-open-foot p{color:var(--kd-muted);align-items:center;gap:10px;margin:0;font-size:13px;font-weight:700;display:flex}.kd-open-foot p span{width:40px;height:40px;color:var(--kd-accent);background:#fbe3da;border-radius:999px;justify-content:center;align-items:center;display:flex}.kd-open-cta{background:var(--kd-ink);color:#fff;min-height:54px;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:14px;padding:0 8px 0 26px;font-size:16px;font-weight:800;transition:translate .2s,box-shadow .2s;display:flex}.kd-open-cta:hover{translate:0 -2px;box-shadow:0 12px 26px #2e2a2a38}.kd-open-cta span{width:40px;height:40px;color:var(--kd-ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:flex}@media (max-width:860px){.kd-open{align-items:flex-start;padding:16px}.kd-open-card{border-radius:28px;min-height:0;padding:20px}.kd-open-hero{text-align:center;grid-template-columns:minmax(0,1fr);grid-template-areas:"left""kodoo""right""text";justify-items:center}.kd-open-left,.kd-open-right,.kd-open-text{text-align:center;justify-self:center;margin:0}.kd-open-kodoo .kd-kodoo{width:230px}.kd-open-badge{display:none}.kd-open-foot{justify-content:center}}.kd-dots button[aria-current=step]{border-color:var(--kd-accent);background:var(--kd-accent);color:#fff}.kd-practice-head .kd-muted{margin-left:auto;font-weight:800}.kd-lesson-done{text-align:center;align-items:center;max-width:560px;margin-inline:auto;padding:32px}.kd-lesson-done h1{margin:0;font-size:30px;font-weight:800}.kd-lesson-done .kd-muted,.kd-lesson-done .kd-actions{justify-content:center}.kd-try-marks{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kd-try-marks li{width:34px;height:34px;color:var(--kd-ink);background:#f3ece9;border-radius:50%;place-items:center;font-weight:800;display:grid}.kd-try-marks li.is-right{color:#1f5f58;background:#e3f4ef}.kd-try-marks li.is-wrong{color:#a2321f;background:#fde3dd}.kd-try-fail{flex-direction:column;gap:14px;display:flex}.kd-done-note.is-again{color:var(--kd-ink);background:#fff4ef}.kd-reward{background:#fff;border-radius:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:1100px;margin-inline:auto;padding:12px;display:grid;box-shadow:0 24px 60px #8a5a4e29}.kd-reward-stage{text-align:center;background:linear-gradient(170deg,#fff1ea 0%,#fbd3c4 100%);border-radius:24px;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;min-height:480px;padding:32px;display:flex}.kd-reward-stage h1{margin:0 0 6px;font-size:clamp(32px,4vw,44px);font-weight:800}.kd-reward-stage .kd-muted{font-size:16px;font-weight:600}.kd-reward-stage .kd-kodoo{max-width:100%;height:auto}.kd-reward-side{flex-direction:column;justify-content:center;gap:18px;padding:36px 32px;display:flex}.kd-reward-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.kd-reward-tile{background:#fff8f5;border:1px solid #f1d5cb;border-radius:24px;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:20px;animation:.7s ease-out .2s both kd-rise;display:flex}.kd-reward-tile.is-xp{color:var(--kd-accent);animation-delay:.6s}.kd-reward-tile strong{color:var(--kd-ink);font-size:40px;font-weight:700;line-height:1}.kd-reward-tile small{color:var(--kd-muted);font-size:13px;font-weight:600}.kd-reward-coin{border:2px solid var(--kd-accent);background:#ffc94d;border-radius:50%;width:38px;height:38px}.kd-reward-level{flex-direction:column;gap:8px;display:flex}.kd-reward-level p{justify-content:space-between;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.kd-reward-level .kd-bar-track{flex:none;width:100%;height:12px}.kd-reward-actions{flex-direction:column;gap:10px;margin-top:8px;display:flex}.kd-reward-actions .kd-primary{justify-content:center;min-height:56px}.kd-reward-actions .kd-primary[aria-disabled=true]{cursor:default;opacity:.6}.kd-reward-actions .kd-primary small{margin-left:6px;font-weight:700}.kd-reward-actions .kd-secondary{justify-content:center;min-height:48px}@media (max-width:860px){.kd-reward{border-radius:28px;grid-template-columns:minmax(0,1fr);padding:8px}.kd-reward-stage{min-height:0;padding:24px 16px}.kd-reward-stage .kd-kodoo{width:170px}.kd-reward-side{padding:16px 12px 20px}}.kd-hw-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:16px;display:grid}.kd-hw-info{flex-direction:column;gap:16px;display:flex}.kd-hw-due strong{font-size:22px;font-weight:800}.kd-hw-left{color:var(--kd-accent-ink);font-size:15px;font-weight:800}.kd-chip.is-coins{color:#7a5000;background:#fff1cc;align-self:flex-start}.kd-hw-recap ul{flex-direction:column;gap:6px;margin:0;padding-left:20px;font-size:15px;font-weight:600;line-height:1.5;display:flex}.kd-hw-code{color:#f7efec;background:#2e2a2a;border-radius:16px;margin:0;padding:14px 18px;font-family:Consolas,monospace;font-size:15px;line-height:1.6;overflow-x:auto}.kd-hw-tasks ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kd-hw-task{width:100%;min-height:64px;color:var(--kd-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:2px solid #f1d5cb;border-radius:18px;align-items:center;gap:12px;padding:10px 14px;display:flex}.kd-hw-task:hover{background:var(--kd-field)}.kd-hwt-dot{border:2px solid #d9cbc6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kd-hw-task.is-part .kd-hwt-dot{background:#fff1cc;border-color:#ffc94d}.kd-hw-task.is-full .kd-hwt-dot{color:#fff;background:#2e8c82;border-color:#2e8c82}.kd-hw-task-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.kd-hw-task-text strong{overflow-wrap:anywhere;font-size:15px;font-weight:800}.kd-hw-task-text small{color:var(--kd-muted);font-size:12px;font-weight:700}.kd-hw-cta{background:var(--kd-bg);color:var(--kd-accent-ink);border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:800}.kd-hw-tasks>.kd-primary{align-self:stretch}.kd-hw-confirm p{margin:0 0 10px}.kd-homework .cs-exercise{margin:0}.kd-homework .hw-q{background:0 0;border:0;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.kd-homework .hw-q-prompt{margin:0;font-size:18px;font-weight:700;line-height:1.5}.kd-homework :is(.hw-blank input,.hw-match select,.hw-q textarea){box-sizing:border-box;background:var(--kd-field);min-height:44px;color:var(--kd-ink);font:inherit;border:2px solid #f1d5cb;border-radius:12px;padding:8px 12px;font-size:16px}.kd-homework .hw-q textarea{width:100%}.kd-homework .hw-match{gap:10px;display:grid}.kd-homework .hw-match label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}@media (max-width:1060px){.kd-hw-layout{grid-template-columns:minmax(0,1fr)}}.kd-course .cs-exercise{box-sizing:border-box;background:#fff;border:0;border-radius:28px;flex-direction:column;gap:14px;padding:22px;font-size:16px;display:flex;box-shadow:0 10px 30px #8a5a4e1a}.kd-course .cs-prompt,.kd-course .cs-text{font-size:18px;font-weight:700;line-height:1.5}.kd-course .cs-options{border:0;gap:10px;margin:0;padding:0;display:grid}.kd-course .cs-options label{box-sizing:border-box;cursor:pointer;background:#fff;border:2px solid #f1d5cb;border-radius:16px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;font-size:16px;font-weight:700;display:flex}.kd-course .cs-options label:has(input:checked){border-color:var(--kd-accent);background:var(--kd-field)}.kd-course .cs-options:disabled label:has(input:checked){background:#e3f4ef;border-color:#2e8c82}.kd-course form.cs-exercise .cs-options:disabled label:has(input:checked){border-color:var(--kd-accent);background:var(--kd-field)}.kd-course .cs-feedback{border:0;border-radius:16px;padding:12px 14px;font-weight:700}.kd-course .cs-feedback.is-right{color:#1f5f58;background:#e3f4ef}.kd-course .cs-feedback.is-wrong{background:var(--kd-alert);color:var(--kd-accent-ink)}.kd-course .button{background:var(--kd-accent);color:#fff;border:0;border-radius:14px;min-height:48px;font-weight:800;box-shadow:0 8px 20px #c8401c33}.kd-course .button:is(.button-outline,.button-soft){border:1px solid var(--kd-line);color:var(--kd-ink);box-shadow:none;background:#fff}@media (max-width:1060px){.kd-path-layout,.kd-learn{grid-template-columns:minmax(0,1fr)}.kd-path-side{position:static}}@media (max-width:700px){.kd-path-title h1{font-size:28px}.kd-lesson-steps{margin-left:0}.kd-learn-text{padding:20px}.kd-learn-text h1{font-size:26px}.kd-learn-figure svg{width:140px;height:147px}.kd-stop,.kd-stop button{width:96px}.kd-stop:not(:last-child):after{width:30px;left:74px}}.kd-avatar-big{line-height:0;position:relative}.kd-avatar-big>.kd-avatar{border:4px solid var(--kd-bg)}.kd-avatar-edit{color:var(--kd-accent);position:absolute;bottom:-2px;right:-6px}.kd-me-name{margin:8px 0 0;font-size:22px;font-weight:800}.kd-picker{flex-direction:column;gap:12px;width:100%;display:flex}.kd-picker h2{margin:8px 0 0;font-size:17px}.kd-picker-grid{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.kd-picker-grid label{cursor:pointer;background:#fff;border:3px solid #f1d5cb;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;font-size:12px;font-weight:800;display:flex;position:relative}.kd-picker-grid input{opacity:0;pointer-events:none;position:absolute}.kd-picker-grid label:has(input:checked){border-color:var(--kd-accent);background:var(--kd-field)}.kd-picker-grid label:has(input:focus-visible){outline:3px solid var(--kd-accent);outline-offset:2px}.kd-text-button{min-height:44px;color:var(--kd-accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:800}.kd-material>*+*{margin-top:18px}.kd-material .kd-lesson-bar,.kd-live .kd-lesson-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.kd-material .kd-lesson-name{flex-direction:column;gap:2px;min-width:0;display:flex}.kd-material .kd-lesson-name span{color:#4a2f9e;font-size:12px;font-weight:800}.kd-material .kd-lesson-name strong{overflow-wrap:anywhere;font-size:18px;font-weight:800}.kd-material .kd-lesson-steps{background:#fff;border-radius:999px;flex-wrap:wrap;gap:4px;margin:0 0 0 auto;padding:5px;display:flex}.kd-material .kd-lesson-steps button{min-height:38px;color:var(--kd-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:800}.kd-material .kd-lesson-steps button[aria-current=step]{background:var(--kd-accent);color:#fff}.kd-material-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.kd-material-main{flex-direction:column;gap:16px;min-width:0;display:flex}.kd-material-text{font-size:17px;line-height:1.65}.kd-material-view{padding:12px;overflow:hidden}.kd-material-view iframe{background:#525659;border:0;border-radius:18px;width:100%;height:70vh;min-height:420px}.kd-material-files ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.kd-material-files li{align-items:center;gap:8px;display:flex}.kd-file{min-width:0;min-height:56px;color:var(--kd-ink);font:inherit;text-align:left;cursor:pointer;background:#fbf7f5;border:2px solid #0000;border-radius:16px;flex:1;align-items:center;gap:10px;padding:8px 10px;display:flex}.kd-file[aria-pressed=true]{border-color:var(--kd-accent);background:var(--kd-field)}.kd-file-icon{color:#4a2f9e;background:#efe8fb;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.kd-file-text{flex-direction:column;gap:2px;min-width:0;display:flex}.kd-file-text strong{overflow-wrap:anywhere;font-size:14px;font-weight:800}.kd-file-text small{color:var(--kd-muted);font-size:12px;font-weight:700}.kd-material-files .kd-round{color:var(--kd-accent-ink);flex:none}.kd-live.live-shell{max-width:1440px;padding:24px 32px 40px}.kd-live .live-topbar{gap:14px;margin-bottom:18px}.kd-live .live-topbar h1{margin:2px 0 0;font-size:18px;font-weight:800}.kd-live .live-topbar .eyebrow{color:#4a2f9e;letter-spacing:0;text-transform:none;font-size:12px;font-weight:800}.kd-live-logo{justify-content:center;align-items:flex-end;width:52px;height:56px;display:flex}.kd-live .game-back{min-height:44px;color:var(--kd-ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 6px 16px #8a5a4e14}.kd-live :is(.live-slide-card,.learning-path,.live-quiz-controls,.live-quick-question,.live-results,.live-lesson-materials){background:#fff;border:0;border-radius:28px;padding:20px;box-shadow:0 10px 30px #8a5a4e1a}.kd-live .section-heading strong{font-size:15px;font-weight:800}.kd-live .live-ended{color:#1f5f58;background:#e3f4ef;border-radius:16px;padding:12px 16px;font-weight:700}.kd-live .button{background:var(--kd-accent);color:#fff;border:0;border-radius:14px;min-height:48px;font-weight:800;box-shadow:0 8px 20px #c8401c33}.kd-live .button:is(:hover,:focus-visible){background:var(--kd-accent-ink);color:#fff}.kd-live .button:is(.button-outline,.button-soft){border:1px solid var(--kd-line);color:var(--kd-ink);box-shadow:none;background:#fff}.kd-live .button:is(.button-outline,.button-soft):is(:hover,:focus-visible){background:var(--kd-field);color:var(--kd-ink)}.kd-live .icon-button{background:#fff;border-radius:999px}.kd-live .learning-phase-nav button,.kd-live .learning-path-steps button{border-radius:999px;font-weight:800}.kd-live :is(.learning-phase-nav,.learning-path-steps) button.selected{border-color:var(--kd-accent);background:var(--kd-accent);color:#fff}.kd-live .live-material-file{background:#fbf7f5;border-radius:16px}.kd-live .live-gate{color:var(--kd-ink);background:#fff;border:0;border-radius:28px;font-family:Manrope,system-ui,sans-serif}.kd-live .live-gate::backdrop{background:#2e2a2a61}.kd-live .live-gate h2{font-size:22px;font-weight:800}.kd-game{--primary:var(--kd-accent);--primary-shadow:var(--kd-accent-ink);--primary-soft:#fff4ef;--primary-text:var(--kd-accent-ink);--border:var(--kd-line);--muted:#fff4ef;--muted-foreground:var(--kd-muted);--background:#fff;--foreground:var(--kd-ink)}.kd-game>.topbar{background:0 0;border:0;height:auto;padding:16px 32px 0}.kd-game-logo{justify-content:center;align-items:flex-end;width:52px;height:56px;display:flex}.kd-game .game-back{min-height:44px;color:var(--kd-ink);background:#fff;border-radius:999px;font-weight:800;box-shadow:0 6px 16px #8a5a4e14}.kd-game .room-grade{color:var(--kd-muted);background:#fff;border-radius:999px;font-weight:800}.kd-game .player-name{background:var(--kd-ink);color:#fff;border-radius:999px;flex-direction:row;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:800;display:inline-flex}.kd-game .player-name b{color:#ffc94d}.kd-game .game-heading h1{font-size:22px;font-weight:800}.kd-game .game-heading .eyebrow{color:#0f5a70;letter-spacing:0;text-transform:none;font-weight:800}.kd-game .connection-status{background:#fff;border-radius:999px}.kd-game .game-nav{border-radius:999px;background:#fff!important}.kd-game :is(.question-stage,.results-stage,.leaderboard-panel,.exam-question-stage){background:#fff;border:0;border-radius:28px;box-shadow:0 10px 30px #8a5a4e1a}.kd-game .question-text{text-align:left;font-size:clamp(22px,2.6vw,28px);font-weight:800}.kd-game .timer-display{color:var(--kd-ink);background:#fff;border-radius:999px;font-family:Consolas,monospace;box-shadow:0 6px 16px #8a5a4e14}.kd-game .timer-display.timer-urgent{color:#b0381a}.kd-game .answer-button{border:2px solid var(--kd-line);min-height:72px;color:var(--kd-ink);box-shadow:none;background:#fff;border-radius:20px;align-items:center;gap:14px;padding:12px 16px;font-weight:700}.kd-game .answer-button:hover:not(:disabled){filter:none;border-color:var(--kd-accent)}.kd-game .answer-shape{background:var(--kd-accent);color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:flex}.kd-game .answer-color-1 .answer-shape{color:var(--kd-ink);background:#ffc94d}.kd-game .answer-color-2 .answer-shape{color:#1f1b1b;background:#6cc5ba}.kd-game .answer-color-3 .answer-shape{background:#3f51a8}.kd-game .answer-button small{color:var(--kd-accent-ink);font-weight:800}.kd-game .answer-button.chosen-answer{border-color:var(--kd-accent);box-shadow:none;background:#fff4ef}.kd-game .answer-button.correct-answer{background:#e3f4ef;border-color:#1f6e67}.kd-game.is-sitting{background:var(--kd-bg)}.kd-game .lobby-code-block{background:#0f5a70}.kd-game .participant-avatar{background:var(--kd-bg);color:var(--kd-accent-ink)}.kd-game .waiting-dots span{background:var(--kd-accent)}.kd-game .button{background:var(--kd-accent);color:#fff;border:0;border-radius:14px;font-weight:800}.kd-game .button:is(.button-outline,.button-soft){border:1px solid var(--kd-line);color:var(--kd-ink);background:#fff}@media (max-width:700px){.kd-game>.topbar{padding:12px 16px 0}.kd-game .answer-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:1060px){.kd-material-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.kd-material .kd-lesson-steps{margin-left:0}.kd-material-view iframe{height:60vh;min-height:320px}.kd-live.live-shell{padding:16px}}@media (max-width:1060px){.kd-profile-grid,.kd-tasks-layout{grid-template-columns:minmax(0,1fr)}.kd-kind-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kd-task-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-profile-side{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.kd-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"kodoo today""cont hw""sched sched""types types"}}@media (max-width:700px){.kd-app{padding:16px 16px 112px}.kd-nav{display:none}.kd-coins{margin-left:auto}.kd-hello h1{font-size:30px}.kd-stats{gap:20px}.kd-stats dd{font-size:34px}.kd-bento{grid-template-columns:minmax(0,1fr);grid-template-areas:"kodoo""today""cont""hw""sched""types"}.kd-kodoo-card,.kd-today,.kd-cont{min-height:0}.kd-week{grid-template-columns:minmax(0,1fr)}.kd-profile-head h1{font-size:28px}.kd-profile-main{grid-template-columns:minmax(0,1fr)}.kd-tasks-head h1{font-size:30px}.kd-tasks-tools{flex:100%}.kd-select{flex-basis:140px}.kd-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kd-task-cards{grid-template-columns:minmax(0,1fr)}.kd-task>:is(button,div){min-height:0}.kd-report-grid,.kd-mark-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-tabbar{z-index:20;background:#fff;border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:6px 8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 10px 30px #8a5a4e2e}.kd-tabbar button{color:#a07e75;min-height:52px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;display:flex}.kd-tabbar small{font-size:11px;font-weight:800}.kd-tabbar button[aria-current=page]{background:var(--kd-bg);color:var(--kd-accent)}.kd-tabbar .kd-tab-kodoo{border-radius:999px;justify-content:flex-end;justify-self:center;align-items:center;width:72px;height:76px;margin-top:-48px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}
