@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.38"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.confirm-dialog.howto-video-dialog{width:min(1100px,96vw);max-width:min(1100px,96vw);max-height:min(94vh,980px);overflow:auto;gap:.85rem;padding:1.5rem 1.65rem}.howto-video-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.howto-video-dialog__close{width:36px;height:36px;min-width:36px;padding:0;display:grid;place-items:center;flex-shrink:0;border:none!important;box-shadow:none!important;background:transparent!important;color:var(--error-color)!important}.howto-video-dialog__close:hover:not(:disabled){color:#b91c1c!important;background:color-mix(in srgb,var(--error-color) 10%,transparent)!important;transform:none;filter:none}.howto-video-dialog__head h4{margin:0;font-size:1.15rem}.howto-video-dialog__choose-hint{margin:0;font-size:.95rem}.howto-video-dialog__back{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start}.howto-clip-picker__grid{display:grid;grid-template-columns:1fr;gap:.65rem}@media (min-width: 561px){.howto-clip-picker__grid{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.howto-clip-picker__grid{grid-template-columns:1fr 1fr 1fr}}.howto-clip-card{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;text-align:left;padding:.85rem 1rem;border-radius:var(--radius-md, 8px);border:1px solid var(--border-subtle);background:var(--bg-glass, var(--bg-surface));color:var(--text-main);cursor:pointer;box-shadow:none;transform:none;filter:none;animation:howtoClipIn .28s var(--ease-out, ease-out) both}@keyframes howtoClipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.howto-clip-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500, #7c3aed) 45%,var(--border-subtle));background:color-mix(in srgb,var(--primary-500, #7c3aed) 8%,var(--bg-surface));transform:none;filter:none;box-shadow:none}.howto-clip-card:focus-visible{outline:2px solid var(--primary-500, #7c3aed);outline-offset:2px}.howto-clip-card--hint{border-color:color-mix(in srgb,var(--primary-500, #7c3aed) 40%,var(--border-subtle))}.howto-clip-card__icon{flex-shrink:0;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;color:var(--text-blue-accent, var(--primary-500, #7c3aed));background:color-mix(in srgb,var(--primary-500, #7c3aed) 12%,transparent)}.howto-clip-card__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.howto-clip-card__name{font-size:.98rem;font-weight:700;letter-spacing:-.01em;line-height:1.35}.howto-video-dialog__player-wrap{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(72vh,640px);background:var(--slate-100, #f1f5f9);border-radius:var(--radius-md, 8px);overflow:hidden}.howto-video-dialog__player{display:block;width:100%;height:100%;object-fit:contain;background:#0f172a}.see-howto-button{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;flex-shrink:0}.howto-help-card{display:flex;align-items:center;gap:.7rem;width:100%;min-height:48px;padding:.55rem .8rem;text-align:left;cursor:pointer;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--text-muted) 38%,transparent);background:color-mix(in srgb,var(--slate-100, #f1f5f9) 72%,var(--bg-surface));box-shadow:none;color:var(--text-main);transform:none;filter:none;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.howto-help-card:hover:not(:disabled){transform:none;filter:none;box-shadow:none;border-color:color-mix(in srgb,var(--text-muted) 55%,transparent);background:color-mix(in srgb,var(--slate-100, #f1f5f9) 90%,var(--bg-surface))}.howto-help-card__play{flex-shrink:0;color:var(--text-blue-accent, var(--text-secondary))}.howto-help-card__text{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.45rem;row-gap:.05rem;min-width:0}.howto-help-card__title{font-size:.92rem;font-weight:700;letter-spacing:-.01em;color:var(--text-main)}.howto-help-card__hint{font-size:.8rem;font-weight:500;color:var(--text-muted);line-height:1.3}@media (min-width: 561px){.howto-help-card{width:auto;max-width:none;align-self:start;min-height:44px;padding:.25rem .15rem;gap:.5rem;border:none;background:transparent;border-radius:var(--radius-sm)}.howto-help-card:hover:not(:disabled){background:transparent}.howto-help-card:hover:not(:disabled) .howto-help-card__title{color:var(--logo-blue-dark, var(--text-main))}.howto-help-card__title{font-size:.95rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;color:var(--text-blue-accent, var(--text-main))}}.video-embed--native{padding-bottom:0;height:auto;aspect-ratio:16 / 9}.video-embed--native video{display:block;width:100%;height:100%;object-fit:contain;background:#0f172a;border:none}@media (max-width: 560px){.confirm-dialog.howto-video-dialog{width:calc(100vw - 1.25rem);max-width:calc(100vw - 1.25rem);padding:1.1rem}.howto-video-dialog__player-wrap{max-height:48vh}.howto-help-card{min-height:44px;padding:.45rem .7rem}}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/inter-300-14LG-y7V.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-400-COLGFB3M.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-500-CDhBSFyE.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-600-BAEEcJ4E.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-700-BOs3KVhN.woff2) format("woff2")}:root{--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-wide: 1280px;--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--primary-950: #082f49;--logo-blue-light: #6bb6f2;--logo-blue-main: #56a3ed;--logo-blue-variant: #57a4ed;--logo-blue-deep: #5da8ee;--logo-blue-dark: #4a8cd8;--text-on-blue: #ffffff;--text-on-light-blue: #1e40af;--text-blue-accent: var(--logo-blue-dark);--accent-500: var(--logo-blue-main);--accent-600: var(--logo-blue-dark);--accent-light: var(--logo-blue-light);--error-color: #dc2626;--tool-worksheets: #6366f1;--tool-worksheets-ink: #4338ca;--tool-worksheets-tint: #eef0ff;--tool-worksheets-grad: linear-gradient(135deg, #8b5cf6, #6366f1);--tool-plays: #ec4899;--tool-plays-ink: #be185d;--tool-plays-tint: #fdeef6;--tool-plays-grad: linear-gradient(135deg, #f43f5e, #ec4899);--tool-coloring: #0891b2;--tool-coloring-ink: #0e7490;--tool-coloring-tint: #e6fafd;--tool-coloring-grad: linear-gradient(135deg, #10b981, #06b6d4);--tool-games: #ea580c;--tool-games-ink: #c2410c;--tool-games-tint: #fff2e4;--tool-games-grad: linear-gradient(135deg, #f59e0b, #ef4444);--tool-essays: #0284c7;--tool-essays-ink: #0369a1;--tool-essays-tint: #e7f4ff;--tool-essays-grad: linear-gradient(135deg, #0ea5e9, #6366f1);--tool-math: #0d9488;--tool-math-ink: #0f766e;--tool-math-tint: #e3faf3;--tool-math-grad: linear-gradient(135deg, #14b8a6, #22c55e);--tool-guardian: #0284c7;--tool-guardian-ink: #0369a1;--tool-guardian-tint: #e7f4ff;--tool-guardian-grad: linear-gradient(135deg, #0ea5e9, #6366f1);--tool-student: #0d9488;--tool-student-ink: #0f766e;--tool-student-tint: #e3faf3;--tool-student-grad: linear-gradient(135deg, #14b8a6, #22c55e);--tool-assignments: #6366f1;--tool-assignments-ink: #4338ca;--tool-assignments-tint: #eef0ff;--tool-assignments-grad: linear-gradient(135deg, #8b5cf6, #6366f1);--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--bg-body: #f6f1e9;--bg-surface: #ffffff;--bg-subtle: #f1ebe0;--bg-glass: rgba(255, 255, 255, .72);--text-main: var(--slate-900);--text-secondary: var(--slate-600);--text-muted: var(--slate-400);--border-subtle: #ece4d6;--border-glass: #efe7d9;--focus-ring: rgba(86, 163, 237, .4);--font-sans: "Inter", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 25px 50px -12px rgb(0 0 0 / .15);--shadow-glass: 0 8px 32px 0 rgba(31, 38, 135, .1);--shadow-card: 0 1px 2px rgba(76, 60, 40, .04), 0 6px 16px -6px rgba(76, 60, 40, .12);--shadow-card-hover: 0 2px 4px rgba(76, 60, 40, .06), 0 16px 32px -12px rgba(76, 60, 40, .18);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--z-chrome: 100;--z-bottom-nav: 200;--z-modal: 1000;--z-toast: 1100;--z-tooltip: 2000;--app-bottom-nav-height: 0px;--shadow-primary-sm: 0 1px 3px 0 rgba(86, 163, 237, .1);--shadow-primary-md: 0 4px 6px -1px rgba(86, 163, 237, .15), 0 2px 4px -2px rgba(86, 163, 237, .1);--shadow-primary-lg: 0 10px 20px -3px rgba(86, 163, 237, .2), 0 4px 6px -4px rgba(86, 163, 237, .1);--shadow-primary-xl: 0 25px 50px -12px rgba(86, 163, 237, .25);--shadow-elevated: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-float: 0 30px 60px -15px rgba(0, 0, 0, .2);--gradient-mesh-1: rgba(86, 163, 237, .08);--gradient-mesh-2: rgba(139, 92, 246, .06);--gradient-mesh-3: rgba(52, 211, 153, .05);--noise-texture: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");--blur-sm: 8px;--blur-md: 12px;--blur-lg: 20px;--blur-xl: 40px;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--primary-50: #0c1824;--primary-100: #0f2435;--primary-200: #1e3a52;--primary-300: #2e506b;--primary-400: #3d6684;--primary-500: #56a3ed;--primary-600: #6bb6f2;--primary-700: #7cc2f4;--primary-800: #a3d4f7;--primary-900: #c9e7fb;--primary-950: #e6f4fd;--error-color: #f87171;--slate-50: #020617;--slate-100: #0f172a;--slate-200: #1e293b;--slate-300: #334155;--slate-400: #64748b;--slate-500: #94a3b8;--slate-600: #cbd5e1;--slate-700: #e2e8f0;--slate-800: #f1f5f9;--slate-900: #f8fafc;--bg-body: #0a1118;--bg-surface: #161f2e;--bg-subtle: #0f1826;--bg-glass: rgba(15, 23, 42, .4);--text-main: var(--slate-900);--text-secondary: var(--slate-600);--text-muted: var(--slate-500);--border-subtle: rgba(51, 65, 85, .6);--border-glass: rgba(255, 255, 255, .08);--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 16px -6px rgba(0, 0, 0, .5);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .5), 0 16px 32px -12px rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 25px 50px -12px rgb(0 0 0 / .6);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .4);--shadow-primary-sm: 0 1px 3px 0 rgba(86, 163, 237, .15);--shadow-primary-md: 0 4px 6px -1px rgba(86, 163, 237, .2), 0 2px 4px -2px rgba(86, 163, 237, .15);--shadow-primary-lg: 0 10px 20px -3px rgba(86, 163, 237, .25), 0 4px 6px -4px rgba(86, 163, 237, .15);--shadow-primary-xl: 0 25px 50px -12px rgba(86, 163, 237, .3);--shadow-elevated: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .3);--shadow-float: 0 30px 60px -15px rgba(0, 0, 0, .5);--gradient-mesh-1: rgba(86, 163, 237, .12);--gradient-mesh-2: rgba(139, 92, 246, .1);--gradient-mesh-3: rgba(52, 211, 153, .08)}[data-theme=dark] body{background-image:radial-gradient(ellipse 80% 60% at 0% 0%,rgba(139,92,246,.18) 0%,transparent 100%),radial-gradient(ellipse 70% 50% at 100% 100%,rgba(86,163,237,.15) 0%,transparent 100%),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(244,114,182,.12) 0%,transparent 100%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-sans);background-color:var(--bg-body);overflow-x:hidden;max-width:100vw;background-image:radial-gradient(ellipse 90% 60% at 0% 0%,rgba(245,158,11,.08) 0%,transparent 60%),radial-gradient(ellipse 80% 55% at 100% 0%,rgba(236,72,153,.06) 0%,transparent 55%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(20,184,166,.06) 0%,transparent 60%);background-attachment:fixed;color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}#root:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:var(--noise-texture);opacity:.07;z-index:9999;pointer-events:none;mix-blend-mode:overlay}h1,h2,h3,h4,h5,h6{color:var(--slate-900);margin-top:0;line-height:1.12;letter-spacing:-.025em;font-weight:800}h2{font-size:1.9rem;font-weight:800}h3{font-size:1.4rem;font-weight:700;margin-bottom:.75rem}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){h2{font-size:1.5rem}h3{font-size:1.2rem}}p{margin-top:0;margin-bottom:1rem;color:var(--text-secondary)}#root{min-height:100vh;display:flex;flex-direction:column;min-width:0;overflow-x:hidden}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;border:1px solid var(--slate-200);border-radius:var(--radius-lg);background:var(--bg-glass);transition:all .2s;color:var(--slate-900)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;background:var(--bg-surface);border-color:var(--primary-500);box-shadow:0 0 0 4px var(--primary-100)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:2.5rem}button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.8rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light));color:var(--text-on-blue);box-shadow:0 4px 6px -1px #56a3ed4d}button:hover:not(:disabled){filter:brightness(110%);transform:translateY(-1px);box-shadow:0 8px 12px -1px #56a3ed66}button:active:not(:disabled){transform:translateY(0)}.icon-optical-center{padding:0;line-height:0}.icon-optical-center>svg{display:block;margin:0;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-5%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion: no-preference){.animate-fadeIn{animation:fadeIn .2s ease-out forwards}.animate-slideUp{animation:slideUp .3s ease-out forwards}.animate-slideDown{animation:slideDown .3s ease-out forwards}.animate-slideInLeft{animation:slideInLeft .3s ease-out forwards}.animate-slideInRight{animation:slideInRight .3s ease-out forwards}.animate-scaleIn{animation:scaleIn .2s ease-out forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-float{animation:float 3s ease-in-out infinite}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow .2s ease}.hover-glow:hover{box-shadow:0 0 20px #56a3ed4d}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.press-scale:active{transform:scale(.98)}.transition-all{transition:all .2s ease}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-opacity{transition:opacity .2s ease}.transition-transform{transition:transform .2s ease}.transition-shadow{transition:box-shadow .2s ease}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-75{transition-delay:75ms}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}}.skeleton{background:linear-gradient(90deg,var(--slate-200) 0%,var(--slate-100) 50%,var(--slate-200) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--slate-300) 0%,var(--slate-200) 50%,var(--slate-300) 100%);background-size:200% 100%}.animate-stagger-children>*{animation:slideUp var(--duration-normal) var(--ease-out) both}.animate-stagger-children>*:nth-child(1){animation-delay:0ms}.animate-stagger-children>*:nth-child(2){animation-delay:50ms}.animate-stagger-children>*:nth-child(3){animation-delay:.1s}.animate-stagger-children>*:nth-child(4){animation-delay:.15s}.animate-stagger-children>*:nth-child(5){animation-delay:.2s}.animate-stagger-children>*:nth-child(6){animation-delay:.25s}.animate-stagger-children>*:nth-child(7){animation-delay:.3s}.animate-stagger-children>*:nth-child(8){animation-delay:.35s}.animate-stagger-children>*:nth-child(9){animation-delay:.4s}.animate-stagger-children>*:nth-child(10){animation-delay:.45s}.animate-stagger-children>*:nth-child(n+11){animation-delay:.5s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none;background:var(--slate-200)}}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reduced-motion=true] .skeleton{animation:none;background:var(--slate-200)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-full{grid-column:1 / -1}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.w-fit{width:fit-content}.min-w-0{min-width:0}.max-w-full{max-width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.min-h-dvh{min-height:100dvh}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-normal{white-space:normal}.text-main{color:var(--text-main)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-600)}.text-error{color:var(--error-color)}.text-white{color:#fff}.error{color:var(--error-color);font-weight:600}.bg-transparent{background-color:transparent}.bg-surface{background-color:var(--bg-surface)}.bg-body{background-color:var(--bg-body)}.bg-glass{background-color:var(--bg-glass)}.bg-primary{background-color:var(--primary-500)}.bg-primary-50{background-color:var(--primary-50)}.bg-primary-100{background-color:var(--primary-100)}.bg-slate-50{background-color:var(--slate-50)}.bg-slate-100{background-color:var(--slate-100)}.bg-white{background-color:#fff}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded,.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.border{border:1px solid var(--border-subtle)}.border-0{border-width:0}.border-2{border-width:2px}.border-t{border-top:1px solid var(--border-subtle)}.border-b{border-bottom:1px solid var(--border-subtle)}.border-l{border-left:1px solid var(--border-subtle)}.border-r{border-right:1px solid var(--border-subtle)}.border-transparent{border-color:transparent}.border-primary{border-color:var(--primary-500)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow,.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-primary-sm{box-shadow:var(--shadow-primary-sm)}.shadow-primary,.shadow-primary-md{box-shadow:var(--shadow-primary-md)}.shadow-primary-lg{box-shadow:var(--shadow-primary-lg)}.shadow-primary-xl{box-shadow:var(--shadow-primary-xl)}.shadow-elevated{box-shadow:var(--shadow-elevated)}.shadow-float{box-shadow:var(--shadow-float)}.shadow-glass{box-shadow:var(--shadow-glass)}.backdrop-blur-sm{-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm))}.backdrop-blur,.backdrop-blur-md{-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md))}.backdrop-blur-lg{-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg))}.backdrop-blur-xl{-webkit-backdrop-filter:blur(var(--blur-xl));backdrop-filter:blur(var(--blur-xl))}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}label{font-size:.85rem;font-weight:600;color:var(--slate-700);margin-bottom:.5rem;display:block}.field-group{margin-bottom:.5rem}.input-sources{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch}.input-sources__topic,.input-sources .book-sources{margin:0;padding:1.5rem;min-height:180px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-glass)}.input-sources__or{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;width:3.5rem}.input-sources__or:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--border-subtle)}.input-sources__or span{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:999px;background:var(--bg-body, #fff);border:2px solid var(--border-subtle);color:var(--text-muted);font-size:.9rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}@media (max-width: 767px){.input-sources{grid-template-columns:1fr}.input-sources__topic,.input-sources .book-sources{min-height:0;padding:1.15rem}.input-sources__or{width:auto;height:3rem}.input-sources__or:before{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px}}label.field-group>input,label.field-group>select,label.field-group>textarea{display:block;margin-top:.5rem}.form__footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.play-exports{gap:1.25rem}.play-detail-scene-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);display:grid;gap:.75rem}.play-detail-scenes-label>span{font-size:1rem}.play-detail-scenes-label>div{margin-top:.5rem}.play-detail-scenes-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.play-exports h3{margin-bottom:0}.play-exports__section{border-top:1px solid var(--border-subtle);padding-top:1.1rem;display:grid;gap:.8rem}.play-exports__actions{display:flex;align-items:center;justify-content:flex-start;gap:1rem;flex-wrap:wrap}.play-exports__students{display:grid;gap:.35rem}.play-exports__button-loading{display:inline-flex;align-items:center;gap:.5rem}.play-exports__button-spinner{width:.95rem;height:.95rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes play-form-actor-new-glow{0%{box-shadow:var(--shadow-lg),var(--shadow-primary-sm);border-color:var(--border-glass);background:var(--bg-surface);transform:none}45%{box-shadow:var(--shadow-xl),var(--shadow-primary-lg);border-color:var(--primary-400);background:color-mix(in srgb,var(--bg-surface) 85%,var(--primary-100));transform:none}to{box-shadow:var(--shadow-lg),var(--shadow-primary-sm);border-color:var(--border-glass);background:var(--bg-surface);transform:none}}.card.play-form-actor-card{animation:none}.card.play-form-actor-card.play-form-actor--new{animation:play-form-actor-new-glow var(--duration-slower) var(--ease-out) 1}.card.play-form-actor-card:hover,.card.play-form-actor-card:active{transform:none}.play-form-pane{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;background:var(--bg-glass)}.play-form-pane--actors{margin-top:1rem}.play-form-pane__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.play-form-style-tags{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.play-form-style-tags__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.play-form-style-tags__list{display:flex;flex-wrap:wrap;gap:.4rem}.play-form-style-tag--selected{background:var(--primary-500);color:var(--text-inverse);border-color:var(--primary-500)}.play-form-add-actor-button{margin-top:.75rem;min-height:2.6rem;padding:.75rem 1.25rem;font-size:1rem}.play-concepts-list{gap:.75rem}.play-concept-card{width:100%;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.play-concept-card--skeleton{pointer-events:none}@keyframes play-concept-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.play-concept-skeleton-line,.play-concept-skeleton-pill{background:linear-gradient(90deg,color-mix(in srgb,var(--slate-200) 70%,transparent) 25%,color-mix(in srgb,var(--bg-surface) 70%,var(--slate-100)),color-mix(in srgb,var(--slate-200) 70%,transparent) 75%);background-size:220% 100%;animation:play-concept-skeleton-shimmer 1.2s linear infinite;border-radius:var(--radius-sm)}.play-concept-skeleton-line{height:.85rem}.play-concept-skeleton-line--title{width:58%;height:1rem}.play-concept-skeleton-line--short{width:72%}.play-concept-skeleton-pill{width:5rem;height:1.35rem;border-radius:var(--radius-pill)}.play-concept-card:hover,.play-concept-card:focus-visible{border-color:var(--primary-300);box-shadow:var(--shadow-primary-sm)}.play-concept-card--selected{border-color:var(--primary-500);box-shadow:var(--shadow-primary-md);background:color-mix(in srgb,var(--bg-surface) 90%,var(--primary-100))}.play-concept-card__badges{display:inline-flex;align-items:center;gap:.4rem}.play-concept-selected-badge{background:var(--primary-500);color:var(--text-inverse);border-color:var(--primary-500)}.play-concept-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.play-concept-card__header h4{margin:0}.play-concept-tags{display:flex;flex-wrap:wrap;gap:.4rem}.play-concepts-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.play-form-footer{flex-direction:column;align-items:flex-start;gap:.9rem}.play-form-footer .checkbox-group{margin:0}.play-concept-checkbox-label{display:inline-flex;align-items:center;gap:.45rem}.play-concept-checkbox-label .info-tooltip{margin-left:0;transform:none}label.switch,label.checkbox-group{display:inline-flex;align-items:center;gap:.65rem;text-transform:none;letter-spacing:0;font-size:.95rem;margin-bottom:0}label.switch input[type=checkbox],label.checkbox-group input[type=checkbox]{width:auto;padding:0;margin:0;accent-color:var(--primary-500)}label.checkbox-group{flex-wrap:wrap}label.checkbox-group .hint{flex-basis:100%;margin:.35rem 0 0;font-weight:400;text-transform:none;letter-spacing:0}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;border:1px solid var(--slate-200);border-radius:var(--radius-lg);background:var(--bg-glass);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);color:var(--slate-900)}.date-input-wrapper{position:relative;display:flex;align-items:center}.date-input-wrapper input[type=text]{padding-right:2.75rem}.date-input-native{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.date-input-button{position:absolute;right:.6rem;background:transparent;border:none;padding:.25rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--slate-500)}.date-input-button svg{width:1.1rem;height:1.1rem;stroke:currentColor;fill:none;stroke-width:1.6}textarea{resize:vertical}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;background:var(--bg-surface);border-color:var(--primary-500);box-shadow:var(--shadow-primary-sm)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem;padding-right:2.5rem}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){input,select,textarea{padding:1rem;font-size:16px}.form__footer{flex-direction:column;gap:1rem}.form__footer button{width:100%}fieldset{min-width:0}form,.field-group{min-width:0;max-width:100%}.field-group input,.field-group select,.field-group textarea{max-width:100%}.play-form-pane__header{flex-direction:column;align-items:stretch}.play-form-add-actor-button{width:100%}}@media (prefers-reduced-motion: reduce){.play-form-actor--new{animation:none}}.ui-select__menu-action{display:block;width:100%;margin-top:.15rem;padding:.65rem .75rem;border:0;border-radius:.5rem;border-top:1px solid var(--border-subtle);background:transparent;color:var(--primary-600);font:inherit;font-weight:500;text-align:left;cursor:pointer}.ui-select__menu-action:hover,.ui-select__menu-action:focus-visible{background:var(--slate-200);outline:none}button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.8rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out);border:1px solid transparent;background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light));color:var(--text-on-blue);box-shadow:var(--shadow-primary-md)}button:hover:not(:disabled){filter:brightness(110%);transform:translateY(-2px);box-shadow:var(--shadow-primary-lg)}button:active:not(:disabled){transform:translateY(0) scale(.98)}button:disabled{background:var(--slate-200);color:var(--slate-400);cursor:not-allowed;box-shadow:none}button.ghost{background:transparent;color:var(--text-blue-accent);border:1px solid var(--logo-blue-light);box-shadow:none}button.ghost:hover:not(:disabled){background:#6bb6f21a;border-color:var(--logo-blue-main);color:var(--logo-blue-dark)}button.btn-back{background:transparent;color:var(--text-secondary);border:1px solid transparent;box-shadow:none;gap:.35rem;padding:.4rem .65rem;font-size:.88rem;font-weight:600;border-radius:var(--radius-sm);width:auto;min-height:0}button.btn-back:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-main);border-color:var(--border-subtle);transform:none;box-shadow:none;filter:none}button.btn-back:active:not(:disabled){transform:none}button.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 6px -1px #dc26264d}button.ghost.danger{background:transparent;color:#dc2626;border:1px solid rgba(220,38,38,.35);box-shadow:none}button.ghost.danger:hover:not(:disabled){background:#dc262614;border-color:#dc2626;color:#b91c1c}button.small{padding:.5rem 1rem;font-size:.85rem;border-radius:var(--radius-sm)}button.large{padding:1rem 2rem;font-size:1.1rem}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){button{padding:.9rem 1.25rem;min-height:44px}button.small{padding:.6rem 1rem;min-height:40px}.icon-button{width:44px;height:44px}}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);position:relative;overflow:visible;min-width:0;max-width:100%;animation:slideUp var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--border-subtle);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card__header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--border-subtle);padding-bottom:1rem;margin-bottom:1rem}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.card{padding:1.25rem;border-radius:var(--radius-lg)}.card__header{flex-direction:column;align-items:flex-start;gap:1rem}.card__header .detail-actions{width:100%;display:flex;justify-content:flex-end;gap:.5rem}.card__header .detail-actions>button:not(.icon-button){width:100%}}.empty-state,.page-header,.empty-state--worksheets,.page-header--worksheets{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad)}.empty-state--plays,.page-header--plays{--tone: var(--tool-plays);--tone-ink: var(--tool-plays-ink);--tone-tint: var(--tool-plays-tint);--tone-grad: var(--tool-plays-grad)}.empty-state--coloring,.page-header--coloring{--tone: var(--tool-coloring);--tone-ink: var(--tool-coloring-ink);--tone-tint: var(--tool-coloring-tint);--tone-grad: var(--tool-coloring-grad)}.empty-state--games,.page-header--games{--tone: var(--tool-games);--tone-ink: var(--tool-games-ink);--tone-tint: var(--tool-games-tint);--tone-grad: var(--tool-games-grad)}.empty-state--essays,.page-header--essays{--tone: var(--tool-essays);--tone-ink: var(--tool-essays-ink);--tone-tint: var(--tool-essays-tint);--tone-grad: var(--tool-essays-grad)}.empty-state--math,.page-header--math{--tone: var(--tool-math);--tone-ink: var(--tool-math-ink);--tone-tint: var(--tool-math-tint);--tone-grad: var(--tool-math-grad)}.empty-state--guardian,.page-header--guardian{--tone: var(--tool-guardian);--tone-ink: var(--tool-guardian-ink);--tone-tint: var(--tool-guardian-tint);--tone-grad: var(--tool-guardian-grad)}.empty-state--student,.page-header--student{--tone: var(--tool-student);--tone-ink: var(--tool-student-ink);--tone-tint: var(--tool-student-tint);--tone-grad: var(--tool-student-grad)}.empty-state--assignments,.page-header--assignments{--tone: var(--tool-assignments);--tone-ink: var(--tool-assignments-ink);--tone-tint: var(--tool-assignments-tint);--tone-grad: var(--tool-assignments-grad)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding:2.5rem 1.5rem}.empty-state__art{width:120px;height:120px;display:grid;place-items:center;border-radius:50%;background:var(--tone-tint);margin-bottom:.5rem}.empty-art__page{fill:#fff;stroke:var(--tone);stroke-width:3;opacity:.95}.empty-art__line{stroke:color-mix(in srgb,var(--tone) 45%,#cbd5e1);stroke-width:3;stroke-linecap:round}.empty-art__badge{fill:var(--tone)}.empty-art__plus{stroke:#fff;stroke-width:3.5;stroke-linecap:round}.empty-state__title{margin:0;font-size:1.25rem}.empty-state__message{margin:0;color:var(--text-secondary);max-width:42ch}.empty-state__action{margin-top:.75rem}.page-header{display:flex;align-items:center;gap:1.1rem;padding:1.4rem 1.6rem;border-radius:var(--radius-lg);background:linear-gradient(0deg,var(--bg-surface),var(--bg-surface)) padding-box,var(--tone-grad) border-box;border:1px solid transparent;box-shadow:var(--shadow-card);position:relative;z-index:2;overflow:visible}.page-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,transparent 55%,var(--tone-tint) 100%);opacity:.7;pointer-events:none}.page-header__icon{position:relative;z-index:1;flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-md);color:#fff;background:var(--tone-grad);box-shadow:0 6px 14px -6px var(--tone)}.page-header__text{position:relative;z-index:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.page-header__eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tone-ink)}.page-header__title{margin:0;font-size:1.5rem}.page-header__subtitle{margin:0;color:var(--text-secondary);font-size:.92rem}.page-header__action{position:relative;z-index:1;margin-left:auto}@media (max-width: 767px){.page-header{flex-wrap:wrap;padding:1.15rem 1.2rem}.page-header__action{margin-left:0;width:100%}}.form-heading{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad);display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border-subtle);padding-bottom:1.25rem;margin-bottom:.5rem}.form-heading--worksheets{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad)}.form-heading--plays{--tone: var(--tool-plays);--tone-ink: var(--tool-plays-ink);--tone-tint: var(--tool-plays-tint);--tone-grad: var(--tool-plays-grad)}.form-heading--coloring{--tone: var(--tool-coloring);--tone-ink: var(--tool-coloring-ink);--tone-tint: var(--tool-coloring-tint);--tone-grad: var(--tool-coloring-grad)}.form-heading--games{--tone: var(--tool-games);--tone-ink: var(--tool-games-ink);--tone-tint: var(--tool-games-tint);--tone-grad: var(--tool-games-grad)}.form-heading--essays{--tone: var(--tool-essays);--tone-ink: var(--tool-essays-ink);--tone-tint: var(--tool-essays-tint);--tone-grad: var(--tool-essays-grad)}.form-heading--math{--tone: var(--tool-math);--tone-ink: var(--tool-math-ink);--tone-tint: var(--tool-math-tint);--tone-grad: var(--tool-math-grad)}.form-heading__icon{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius-md);color:#fff;background:var(--tone-grad);box-shadow:0 6px 14px -6px var(--tone)}.form-heading__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.form-heading__text h3,.form-heading__text p{margin:0}.form-heading__action{margin-left:auto;align-self:flex-start}@media (max-width: 767px){.form-heading{flex-wrap:wrap}.form-heading__action{margin-left:0;width:100%}.form-heading__action button:not(.btn-back){width:100%}}.worksheet-detail,.play-detail,.coloring-detail,.essay-detail,.game-detail{--tone-grad: var(--tool-worksheets-grad)}.play-detail{--tone-grad: var(--tool-plays-grad)}.coloring-detail{--tone-grad: var(--tool-coloring-grad)}.essay-detail{--tone-grad: var(--tool-essays-grad)}.game-detail,.game-session{--tone-grad: var(--tool-games-grad)}.worksheet-detail:before,.play-detail:before,.coloring-detail:before,.essay-detail:before,.game-detail:before,.game-session:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);background:var(--tone-grad)}.subscription-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.subscription-stat{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.4rem}.subscription-stat__label{font-size:.75rem;font-weight:700;color:var(--text-secondary)}.subscription-stat__value{font-weight:700;font-size:1.05rem;color:var(--text-main);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.plan-badge{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.85rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light))}.plan-badge--cancelled{background:var(--slate-200);color:var(--slate-600)}.plan-card{position:relative;display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.plan-card--current{border-color:color-mix(in srgb,var(--logo-blue-main) 55%,transparent);box-shadow:var(--shadow-card-hover)}.plan-card__ribbon{position:absolute;top:1rem;right:1rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light));padding:.28rem .65rem;border-radius:999px}.plan-card__head{display:flex;flex-direction:column;gap:.4rem}.plan-card__name{margin:0;font-size:1.2rem}.plan-card__price{margin:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .45rem}.plan-card__amount{font-size:2.1rem;font-weight:800;letter-spacing:-.02em;color:var(--text-main)}.plan-card__amount--offer{color:#027a48}.plan-card__amount-was{font-size:1.05rem;font-weight:650;color:var(--text-secondary);text-decoration:line-through;letter-spacing:0}.plan-card__amount-was--inline{font-size:.85rem}.plan-card__renewal-note{margin:.15rem 0 0;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.plan-card__period{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.plan-card__features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.plan-card__features li{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;color:var(--text-main);line-height:1.4}.plan-card__features li svg{flex:0 0 auto;margin-top:.15rem;color:var(--tool-math)}.plan-card__asterisk{font-size:.65em;line-height:0;vertical-align:super}.plan-card__footnotes{list-style:none;margin:.15rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;line-height:1.35;color:var(--text-secondary)}.plan-card__cta{width:100%}.plan-card__billing{display:flex;flex-direction:column;gap:.55rem;margin-top:auto}.plan-card__billing-label{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.plan-card__billing-options{display:flex;flex-direction:column;gap:.4rem}.plan-card__billing-option{display:flex;align-items:center;gap:.55rem;margin-bottom:0;padding:.55rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px);cursor:pointer;background:var(--bg-surface);text-transform:none;letter-spacing:normal;font-size:.92rem;font-weight:500;color:var(--text-main)}.plan-card__billing-option:hover{border-color:color-mix(in srgb,var(--logo-blue-main) 40%,transparent)}.plan-card__billing-option--selected{border-color:color-mix(in srgb,var(--logo-blue-main) 65%,transparent);background:color-mix(in srgb,var(--logo-blue-main) 8%,transparent)}.plan-card__billing-option input{margin:0}.plan-card__billing-option-price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.35rem;font-size:.92rem;font-weight:650;color:var(--text-main)}.plan-card__billing-option-period{font-weight:500;color:var(--text-secondary)}.plan-card__discounts{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem}.plan-card__discounts p{margin:0}.subscription-discount{display:flex;flex-direction:column;gap:.55rem}.subscription-discount__label{margin-bottom:0}.subscription-discount__controls{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch;max-width:34rem}.subscription-discount__input{flex:1 1 12rem;min-width:0;max-width:100%;box-sizing:border-box;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:clamp(1.05rem,3.8vw,1.45rem);font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.7rem .75rem;border-radius:.7rem;min-height:2.85rem}.subscription-discount__input:focus{outline:2px solid color-mix(in srgb,var(--logo-blue-main) 45%,transparent);outline-offset:1px}.subscription-discount__input:disabled{opacity:.72}.subscription-discount__apply{flex:0 0 auto;min-height:2.85rem;padding:.7rem 1.15rem;border-radius:.7rem;font-weight:650;white-space:nowrap;align-self:stretch}.subscription-discount__social{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.subscription-discount__social-hint{font-size:.9rem}.subscription-discount__social-links{display:inline-flex;align-items:center;gap:.55rem}.subscription-discount__social-links a{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.55rem;color:var(--text-secondary);transition:color .15s ease,background-color .15s ease}.subscription-discount__social-links a:hover{color:var(--logo-blue-main);background:color-mix(in srgb,var(--logo-blue-main) 10%,transparent)}.subscription-discount__hint{margin:0;font-size:.88rem;color:var(--text-secondary);line-height:1.35}.subscription-discount__hint--valid{color:#027a48;font-weight:650}.subscription-discount__hint--invalid{color:#b42318;font-weight:650}.subscription-discount__hint--blocked{color:#b54708;font-weight:650}@media (max-width: 480px){.subscription-discount__apply{flex:1 1 100%}}.plan-card__included{margin:0;font-size:.9rem;font-weight:650}.auth-card{max-width:460px;margin:1.5rem auto;position:relative}.auth-card--terms{max-width:min(720px,100%)}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light))}.auth-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding-bottom:.5rem}.auth-hero__logo{width:56px;height:56px;border-radius:14px;box-shadow:var(--shadow-card)}.auth-hero__title{margin:.6rem 0 0;font-size:1.6rem}.auth-hero__email{margin:.15rem 0 0;font-size:1.05rem;font-weight:650;word-break:break-all;max-width:100%}.auth-hero__subtitle{margin:0;color:var(--text-secondary);max-width:34ch}.auth-otp-input{font-size:1.75rem!important;letter-spacing:.4em;text-align:center;font-weight:650;padding:.85rem .75rem!important}.create-hub{display:flex;flex-direction:column;gap:2rem;width:100%}.create-hub__intro{display:flex;flex-direction:column;gap:.5rem}.create-hub__eyebrow{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tool-games-ink);background:var(--tool-games-tint);padding:.3rem .7rem;border-radius:999px}.create-hub__title{font-size:clamp(1.9rem,4vw,2.75rem);margin:0}.create-hub__subtitle{font-size:1.05rem;color:var(--text-secondary);margin:0;max-width:46ch}.create-hub__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.1rem}.create-hub__help{display:flex;margin-top:-.5rem}.create-hub__help-link{display:flex;align-items:center;gap:.7rem;width:100%;min-height:44px;padding:.55rem .8rem;text-decoration:none;color:inherit;border-radius:var(--radius-md);border:1px dashed color-mix(in srgb,var(--text-muted) 38%,transparent);background:color-mix(in srgb,var(--slate-100, #f1f5f9) 72%,var(--bg-surface));transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.create-hub__help-link:hover{border-color:color-mix(in srgb,var(--text-muted) 55%,transparent);background:color-mix(in srgb,var(--slate-100, #f1f5f9) 90%,var(--bg-surface))}.create-hub__help-link>svg{flex-shrink:0;color:var(--text-blue-accent, var(--text-secondary))}.create-hub__help-text{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.45rem;row-gap:.05rem;min-width:0}.create-hub__help-title{font-size:.92rem;font-weight:700;letter-spacing:-.01em;color:var(--text-main)}.create-hub__help-hint{font-size:.8rem;font-weight:500;color:var(--text-muted);line-height:1.3}@media (min-width: 561px){.create-hub__help-link{width:auto;padding:.25rem .15rem;gap:.5rem;border:none;background:transparent}.create-hub__help-link:hover{background:transparent}.create-hub__help-title{font-size:.95rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;color:var(--text-blue-accent, var(--text-main))}.create-hub__help-link:hover .create-hub__help-title{color:var(--logo-blue-dark, var(--text-main))}}.tool-card{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad);display:flex;align-items:center;gap:1rem;text-align:left;width:100%;padding:1.4rem 1.5rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;position:relative;overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out);animation:toolCardIn var(--duration-slow) var(--ease-out) both}@keyframes toolCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.tool-card{animation:none}}.tool-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--tone-grad);opacity:.9}.tool-card:hover{border-color:color-mix(in srgb,var(--tone) 45%,transparent);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.tool-card:active{transform:translateY(-1px) scale(.99)}.tool-card:focus-visible{outline:3px solid color-mix(in srgb,var(--tone) 40%,transparent);outline-offset:2px}.tool-card__icon{position:relative;flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-md);color:#fff;background:var(--tone-grad);box-shadow:0 6px 14px -6px var(--tone)}.tool-card__free-count{position:absolute;top:-.35rem;right:-.35rem;z-index:1;min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:999px;background:color-mix(in srgb,var(--tone-ink) 72%,#1a1a1a);color:#fff;font-size:.6rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15rem;text-align:center;letter-spacing:-.02em;box-shadow:0 0 0 1.5px var(--bg-surface);opacity:.88;pointer-events:none}.tool-card__body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.tool-card__name{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.05rem;color:var(--text-main);letter-spacing:-.01em}.tool-card__badge{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tone-ink);background:var(--tone-tint);padding:.15rem .45rem;border-radius:999px}.tool-card__desc{font-size:.88rem;color:var(--text-secondary);line-height:1.45}.tool-card__go{margin-left:auto;align-self:center;font-size:1.3rem;font-weight:700;color:var(--tone-ink);opacity:0;transform:translate(-6px);transition:opacity var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.tool-card:hover .tool-card__go{opacity:1;transform:translate(0)}.tool-card--worksheets{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad)}.tool-card--plays{--tone: var(--tool-plays);--tone-ink: var(--tool-plays-ink);--tone-tint: var(--tool-plays-tint);--tone-grad: var(--tool-plays-grad)}.tool-card--coloring{--tone: var(--tool-coloring);--tone-ink: var(--tool-coloring-ink);--tone-tint: var(--tool-coloring-tint);--tone-grad: var(--tool-coloring-grad)}.tool-card--games{--tone: var(--tool-games);--tone-ink: var(--tool-games-ink);--tone-tint: var(--tool-games-tint);--tone-grad: var(--tool-games-grad)}.tool-card--essays{--tone: var(--tool-essays);--tone-ink: var(--tool-essays-ink);--tone-tint: var(--tool-essays-tint);--tone-grad: var(--tool-essays-grad)}.tool-card--math{--tone: var(--tool-math);--tone-ink: var(--tool-math-ink);--tone-tint: var(--tool-math-tint);--tone-grad: var(--tool-math-grad)}.tool-card--guardian{--tone: var(--tool-guardian);--tone-ink: var(--tool-guardian-ink);--tone-tint: var(--tool-guardian-tint);--tone-grad: var(--tool-guardian-grad)}.tool-card--student{--tone: var(--tool-student);--tone-ink: var(--tool-student-ink);--tone-tint: var(--tool-student-tint);--tone-grad: var(--tool-student-grad)}.tool-card--assignments{--tone: var(--tool-assignments);--tone-ink: var(--tool-assignments-ink);--tone-tint: var(--tool-assignments-tint);--tone-grad: var(--tool-assignments-grad)}@media (max-width: 767px){.tool-card{padding:1.15rem 1.2rem}.tool-card__go{display:none}}.tool-chooser{display:flex;flex-direction:column;gap:1.5rem;width:100%}.tool-chooser__alert{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.9rem 1.1rem;border-radius:var(--radius-md);background:var(--tool-games-tint);color:var(--tool-games-ink);font-weight:600;font-size:.9rem}.tool-chooser__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.tool-chooser__help{display:flex;margin-top:-.65rem}.action-tile{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad);display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;padding:1.5rem;min-height:130px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-card);cursor:pointer;text-align:left;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.action-tile:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:color-mix(in srgb,var(--tone) 40%,transparent)}.action-tile:disabled{opacity:.55;cursor:not-allowed}.action-tile__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--tone-tint);color:var(--tone-ink)}.action-tile__text{display:flex;flex-direction:column;gap:.25rem}.action-tile__title{font-weight:800;font-size:1.05rem;color:var(--text-main);letter-spacing:-.01em}.action-tile__description{font-size:.85rem;font-weight:500;color:var(--text-muted);line-height:1.4}.action-tile--primary{background:var(--tone-grad);border-color:transparent;box-shadow:0 10px 24px -10px var(--tone)}.action-tile--primary .action-tile__icon{background:#ffffff38;color:#fff}.action-tile--primary .action-tile__title{color:#fff}.action-tile--primary .action-tile__description{color:#ffffffd9}.action-tile--primary:hover:not(:disabled){border-color:transparent;filter:brightness(1.04)}.action-tile--worksheets{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint);--tone-grad: var(--tool-worksheets-grad)}.action-tile--plays{--tone: var(--tool-plays);--tone-ink: var(--tool-plays-ink);--tone-tint: var(--tool-plays-tint);--tone-grad: var(--tool-plays-grad)}.action-tile--coloring{--tone: var(--tool-coloring);--tone-ink: var(--tool-coloring-ink);--tone-tint: var(--tool-coloring-tint);--tone-grad: var(--tool-coloring-grad)}.action-tile--games{--tone: var(--tool-games);--tone-ink: var(--tool-games-ink);--tone-tint: var(--tool-games-tint);--tone-grad: var(--tool-games-grad)}.action-tile--essays{--tone: var(--tool-essays);--tone-ink: var(--tool-essays-ink);--tone-tint: var(--tool-essays-tint);--tone-grad: var(--tool-essays-grad)}.action-tile--math{--tone: var(--tool-math);--tone-ink: var(--tool-math-ink);--tone-tint: var(--tool-math-tint);--tone-grad: var(--tool-math-grad)}.action-tile--guardian{--tone: var(--tool-guardian);--tone-ink: var(--tool-guardian-ink);--tone-tint: var(--tool-guardian-tint);--tone-grad: var(--tool-guardian-grad)}.action-tile--student{--tone: var(--tool-student);--tone-ink: var(--tool-student-ink);--tone-tint: var(--tool-student-tint);--tone-grad: var(--tool-student-grad)}.action-tile--assignments{--tone: var(--tool-assignments);--tone-ink: var(--tool-assignments-ink);--tone-tint: var(--tool-assignments-tint);--tone-grad: var(--tool-assignments-grad)}.stack{display:flex;flex-direction:column;gap:1.5rem}.grid{display:grid;gap:1.5rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.choose-mode-actions{display:flex;gap:.7rem;flex-wrap:wrap}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.grid--2,.grid--3{grid-template-columns:1fr;max-width:100%}.choose-mode-actions{gap:.5rem}}.app-shell{display:flex;min-height:100vh;width:100%;min-width:0;overflow-x:hidden}.main-panel{flex:1;min-width:0;display:flex;flex-direction:column;padding-top:calc(65px + env(safe-area-inset-top,0))}.main-content{flex:1;padding:2rem 3rem;overflow-y:auto;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2rem;min-width:0;width:100%}.icon-button{width:42px;height:42px;padding:0;border-radius:999px;background:var(--bg-surface);color:var(--slate-700);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);filter:none;transform:none}.icon-button:hover:not(:disabled){background:var(--primary-50);color:var(--primary-600);box-shadow:var(--shadow-md);filter:none;transform:none}.icon-button:active:not(:disabled){filter:none;transform:none}.icon-button svg{display:block}.language-switcher{height:42px;padding:0 1.75rem 0 .75rem;border-radius:999px;background:var(--bg-surface);color:var(--slate-700);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);font-size:.85rem;font-weight:500;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.language-switcher:hover{background-color:var(--primary-50);color:var(--primary-600);box-shadow:var(--shadow-md)}.language-switcher:focus{outline:2px solid var(--primary-500);outline-offset:2px}.dashboard-footer{position:sticky;bottom:0;padding:1.5rem 0;background:linear-gradient(to top,var(--bg-body) 70%,transparent);border-top:none;display:flex;justify-content:space-between;margin-top:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.app-shell{flex-direction:column;min-height:100dvh}.main-content{flex:1 0 auto;padding:1rem;padding-bottom:calc(var(--app-bottom-nav-height) + 1rem);max-width:100%;overflow-y:visible}.dashboard-footer{padding:1rem 0;background:linear-gradient(to top,var(--bg-body) 80%,transparent);margin-bottom:var(--app-bottom-nav-height)}}.site-chrome{top:0;left:0;right:0;z-index:var(--z-chrome);background:color-mix(in srgb,var(--bg-body) 82%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle)}.site-chrome--fixed{position:fixed}.site-chrome--sticky{position:sticky}.site-chrome__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.7rem 1.25rem;padding-top:calc(.7rem + env(safe-area-inset-top,0))}.site-chrome__brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;flex:0 0 auto;min-width:0}.site-chrome__logo{width:30px;height:30px;border-radius:8px;display:block;flex:0 0 auto}.site-chrome__brand-text{font-weight:800;font-size:1.1rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--primary-700),var(--primary-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.site-chrome__actions{flex:0 0 auto;display:flex;align-items:center;gap:.5rem;margin-left:auto}@media (max-width: 767px){.site-chrome__inner{gap:.6rem;padding:.6rem .9rem;padding-top:calc(.6rem + env(safe-area-inset-top,0))}}@media (max-width: 420px){.site-chrome__brand-text{max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.settings-menu-container{position:relative;display:inline-block}.settings-trigger{color:var(--text-secondary)!important;filter:none;transform:none}.settings-trigger:hover:not(:disabled),.settings-trigger:active:not(:disabled){filter:none;transform:none}.settings-trigger.active,.settings-trigger:hover{background-color:var(--slate-100);color:var(--primary-600)!important}.settings-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--slate-50);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;z-index:1000;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;opacity:1;isolation:isolate;animation:fadeIn .2s ease-out}[data-theme=dark] .settings-dropdown{background:var(--slate-200)}.settings-section{display:flex;flex-direction:column;gap:.25rem}.settings-label{font-size:.7rem;font-weight:600;color:var(--text-muted);padding:.25rem .5rem}.settings-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border:none;background:none;color:var(--text-main);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:all .2s;text-decoration:none}.settings-item:hover{background-color:var(--slate-100);color:var(--primary-600)}[data-theme=dark] .settings-item:hover{background-color:var(--slate-300);color:#fff}.settings-item svg{color:var(--text-secondary);transition:color .2s}.settings-item:hover svg{color:var(--primary-600)}[data-theme=dark] .settings-item:hover svg{color:#fff}.settings-item--attention{color:#b45309;background-color:#fffbeb;font-weight:600}.settings-item--attention svg{color:#b45309}.settings-item--attention:hover,[data-theme=dark] .settings-item--attention:hover{background-color:#fef3c7;color:#b45309}.settings-item--attention:hover svg,[data-theme=dark] .settings-item--attention:hover svg{color:#b45309}.settings-item__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-item__badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.125rem .375rem;border-radius:var(--radius-sm);background-color:#b45309;color:#fff;white-space:nowrap}.settings-divider{height:1px;background-color:var(--border-subtle);margin:.25rem 0}.settings-options{display:flex;background:var(--slate-100);border-radius:var(--radius-md);padding:3px;gap:2px}[data-theme=dark] .settings-options{background:var(--slate-100)}.settings-option{flex:1;border:none;background:none;font-size:.8125rem;padding:.375rem;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;color:var(--text-secondary);transition:all .2s;font-weight:500;text-align:center}.settings-option:hover{color:var(--text-main)}.settings-option.active{background:var(--slate-50);color:var(--primary-600);box-shadow:var(--shadow-sm);font-weight:600}[data-theme=dark] .settings-option.active{background-color:var(--slate-300);color:#fff}.settings-option__with-icon{display:inline-flex;align-items:center;justify-content:center;gap:4px}.settings-language-select,.settings-language-select .language-switcher,.settings-section .settings-language-select{width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.notification-bell{position:relative;flex:0 0 auto}.notification-bell__trigger{position:relative;flex:0 0 auto;color:var(--text-secondary);filter:none;transform:none}.notification-bell__trigger:hover:not(:disabled),.notification-bell__trigger:active:not(:disabled){filter:none;transform:none}.notification-bell__trigger svg{display:block;flex:0 0 auto}.notification-bell__badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .28rem;border-radius:999px;background:var(--danger-500, #ef4444);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.notification-bell__panel{position:absolute;top:calc(100% + .45rem);right:0;width:min(22rem,calc(100vw - 1.5rem));max-height:min(28rem,70vh);display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:.85rem;background:var(--bg-surface);box-shadow:var(--shadow-lg);overflow:hidden;z-index:120}.notification-bell__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem .5rem}.notification-bell__header strong{font-size:.95rem}.notification-bell__mark-all{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:var(--primary-600, var(--primary-500));font-size:.78rem;font-weight:600;cursor:pointer;padding:.2rem .3rem}.notification-bell__mark-all:disabled{opacity:.45;cursor:default}.notification-bell__filters{display:flex;gap:.35rem;padding:0 .75rem .6rem}.notification-bell__filters button{border:0;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:.3rem .55rem;border-radius:.5rem;cursor:pointer}.notification-bell__filters button.is-active{background:var(--primary-50, #f0f9ff);color:var(--primary-700, var(--primary-600))}.notification-bell__list{flex:1 1 auto;overflow-y:auto;border-top:1px solid var(--border-subtle)}.notification-bell__empty{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.88rem;display:flex;justify-content:center}.notification-bell__item{width:100%;display:flex;align-items:flex-start;gap:.55rem;text-align:left;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;padding:.75rem .9rem;color:inherit}.notification-bell__item:hover{background:color-mix(in srgb,var(--primary-50, #f0f9ff) 70%,transparent)}.notification-bell__item.is-unread{background:color-mix(in srgb,var(--primary-50, #f0f9ff) 55%,transparent)}.notification-bell__item-body{flex:1 1 auto;display:flex;flex-direction:column;gap:.2rem;min-width:0;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.notification-bell__item-text{font-size:.86rem;line-height:1.35;color:var(--text-main)}.notification-bell__item-time{font-size:.72rem;color:var(--text-secondary)}.notification-bell__dot{width:.7rem;height:.7rem;margin-top:.28rem;padding:0;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--primary-500) 45%,var(--border-subtle));background:transparent;flex:0 0 auto;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.notification-bell__dot:hover:not(:disabled){border-color:var(--primary-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-500) 18%,transparent)}.notification-bell__dot.is-unread{background:var(--primary-500);border-color:var(--primary-500)}.notification-bell__dot:disabled{opacity:.55;cursor:default}.notification-bell__load-more{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;border:0;border-top:1px solid var(--border-subtle);background:transparent;padding:.7rem;font-size:.82rem;font-weight:600;color:var(--primary-600, var(--primary-500));cursor:pointer}.notification-bell__load-more:disabled{opacity:.55;cursor:default}.notification-bell .spin{animation:notification-spin .8s linear infinite}@keyframes notification-spin{to{transform:rotate(360deg)}}.info-tooltip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:var(--slate-400);cursor:help;margin-left:.35rem;position:relative;vertical-align:middle;transform:translateY(-1px);transition:color .2s}.info-tooltip:hover,.info-tooltip:focus-visible{color:var(--primary-500);outline:none}.student-play__match-submit{min-height:60px;font-size:1.1rem;font-weight:700}.form-wizard{display:flex;flex-direction:column;gap:1.25rem;min-height:62vh}.form-wizard__body{flex:1;display:flex;flex-direction:column}.form-wizard__body:before{content:"";flex:1}.form-wizard__body:after{content:"";flex:2}.form-wizard__panel{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:0}.form-wizard__steps{display:flex;list-style:none;margin:0;padding:0}.form-wizard__step{flex:1 1 0;min-width:0;position:relative;display:flex;justify-content:center}.form-wizard__step:not(:first-child):before{content:"";position:absolute;top:.9rem;right:50%;left:-50%;height:2px;background:var(--border-subtle);z-index:0}.form-wizard__step--done:before,.form-wizard__step--active:before{background:var(--primary-500)}.form-wizard__step-button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0;background:none;border:none;font:inherit;color:var(--text-muted);cursor:default}.form-wizard__step-button,.form-wizard__step-button:disabled{background:none;border:none;border-radius:0;box-shadow:none;padding:0}.form-wizard__step--done .form-wizard__step-button{cursor:pointer}.form-wizard__step-index{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:var(--bg-body, #fff);border:2px solid var(--border-subtle);color:var(--text-muted);font-size:.85rem;font-weight:700;line-height:1;transition:border-color .15s ease,background .15s ease,color .15s ease}.form-wizard__step--active .form-wizard__step-index{border-color:var(--primary-500);color:var(--primary-600, var(--primary-500))}.form-wizard__step--done .form-wizard__step-index{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.form-wizard__step-title{font-size:.8rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.form-wizard__step--active .form-wizard__step-title{color:var(--text-main)}.form-wizard__progress{display:none;position:relative;height:6px;border-radius:999px;background:var(--border-subtle)}.form-wizard__progress-fill{display:block;height:100%;border-radius:999px;background:var(--primary-500);transition:width .2s ease}.form-wizard__progress-tick{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--bg-body, #fff);border:2px solid var(--border-subtle)}.form-wizard__progress-tick--done{background:var(--primary-500);border-color:var(--primary-500)}.form-wizard__heading{margin:0 0 .25rem;font-size:1.35rem;font-weight:700;line-height:1.25;color:var(--text-main);text-align:center}.form-wizard__heading:focus{outline:none}.form-wizard__guidance{margin:0 0 .5rem;font-size:.9rem}.form-wizard__summary{margin:0 0 1rem;padding:.4rem .7rem;display:inline-flex;align-self:flex-start;border-radius:999px;background:var(--bg-glass, var(--bg-surface));border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.8rem;font-weight:600}.form-wizard__content{display:flex;flex-direction:column;gap:1.25rem}.form-wizard__more{border-top:1px solid var(--border-subtle);padding-top:.75rem}.form-wizard__more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--primary-600, var(--primary-500));-webkit-user-select:none;user-select:none}.form-wizard__more>summary::-webkit-details-marker{display:none}.form-wizard__more>summary:before{content:"＋";font-weight:700}.form-wizard__more[open]>summary:before{content:"－"}.form-wizard__more-body{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.form-wizard__footer{display:flex;justify-content:space-between;gap:.75rem;padding-top:.5rem}.form-wizard__footer>button{min-width:8rem;min-height:2.75rem}@media (max-width: 767px){.form-wizard__steps{display:none}.form-wizard__progress{display:block}.form-wizard__footer{position:sticky;bottom:var(--app-bottom-nav-height, 0px);background:var(--bg-body, #fff);padding-top:.75rem;padding-bottom:.75rem;border-top:1px solid var(--border-subtle);z-index:2}.form-wizard__footer>button{flex:1 1 0;min-width:0}}.maintenance-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(circle at top,rgba(14,165,233,.12),transparent 55%),var(--bg-app)}.maintenance-card{max-width:560px;width:100%;padding:2.5rem;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--border-subtle)}.maintenance-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .85rem;border-radius:999px;background:#0ea5e91f;color:var(--primary-700);font-size:.85rem;font-weight:600;margin-bottom:1.5rem}.maintenance-card h1{font-size:2rem;margin-bottom:.75rem;color:var(--text-primary)}.maintenance-subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.maintenance-message{font-size:1rem;color:var(--text-primary);margin-bottom:1rem}.maintenance-retry{font-size:.95rem;color:var(--primary-700);font-weight:600}.checkbox-grid-container{display:flex;flex-direction:column;gap:1.25rem}.checkbox-group-section{background:var(--bg-glass);border:1px solid var(--slate-200);border-radius:var(--radius-lg);padding:1rem}.checkbox-group-header{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--text-primary);cursor:pointer;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--slate-200)}.checkbox-group-header input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-500);cursor:pointer}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem 1rem}.checkbox-grid--subjects{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.checkbox-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer;padding:.35rem .5rem;border-radius:var(--radius-md);transition:background-color .15s ease}.checkbox-item:hover{background-color:var(--slate-100)}.checkbox-item input[type=checkbox]{width:.9rem;height:.9rem;accent-color:var(--primary-500);cursor:pointer;flex-shrink:0}.checkbox-item span{line-height:1.3}.muted{color:var(--text-muted);font-size:.9rem}.alert{padding:1rem;border-radius:var(--radius-lg);font-weight:500;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.alert--warning{background:#fff7ed;color:#c2410c;border:1px solid #ffedd5}.alert--info{background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe}.detail-grid>div+div{margin-top:1.5rem}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.alert{flex-direction:column;text-align:center;gap:.75rem}}.settings-identity{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-identity__main{display:flex;align-items:center;gap:.85rem;min-width:0}.settings-identity__avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:color-mix(in srgb,var(--primary-100) 80%,var(--bg-surface));color:var(--primary-700);display:grid;place-items:center;font-weight:700;font-size:.95rem;flex-shrink:0}.settings-identity__text{min-width:0}.settings-identity__name{margin:0;font-size:1.05rem;font-weight:650;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-identity__email{margin:.15rem 0 0;font-size:.85rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-identity__certified{display:inline-flex;align-items:center;gap:.35rem;min-height:2.5rem;padding:.35rem .75rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary-500, #0d9488) 35%,var(--border-subtle));background:color-mix(in srgb,var(--primary-100, #ccfbf1) 70%,var(--bg-surface));color:var(--primary-800, #115e59);font-size:.8rem;font-weight:650;line-height:1;text-decoration:none;flex-shrink:0;transition:background .15s ease,border-color .15s ease}.settings-identity__certified:hover{background:color-mix(in srgb,var(--primary-100, #ccfbf1) 95%,var(--bg-surface));border-color:color-mix(in srgb,var(--primary-500, #0d9488) 55%,var(--border-subtle))}.settings-identity__certified:focus-visible{outline:2px solid var(--primary-500, #0d9488);outline-offset:2px}.settings-nav{display:flex;gap:.35rem;flex-wrap:wrap;padding:.25rem;background:var(--slate-50, #f8fafc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px)}.settings-nav__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:.9rem;font-weight:550;padding:.55rem .9rem;border-radius:calc(var(--radius-lg, 12px) - 2px);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:background-color .15s ease,color .15s ease}.settings-nav__tab:hover{background:color-mix(in srgb,var(--bg-surface) 70%,var(--slate-100));color:var(--text-primary)}.settings-nav__tab.is-active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 2px #0f172a0f}.settings-nav__hint{display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:var(--primary-100);color:var(--primary-700);font-size:.7rem;font-weight:700;line-height:1}.settings-section-intro{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);line-height:1.45;max-width:42rem}.settings-card{padding:1.15rem 1.35rem;gap:0}.settings-card:hover{transform:none;box-shadow:var(--shadow-card)}.settings-fields{display:flex;flex-direction:column;gap:.85rem}.settings-fields .field-group{margin-bottom:0}.settings-fields__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1rem;align-items:start}.settings-fields__hint{display:flex;justify-content:flex-end;align-items:baseline;gap:.75rem;margin-top:.3rem;font-size:.8rem;color:var(--text-muted)}.settings-fields__hint:has(.settings-fields__error){justify-content:space-between}.settings-fields__error{color:var(--error-color)}@media (max-width: 640px){.settings-fields__row{grid-template-columns:1fr}}.settings-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.85rem 1rem;background:var(--slate-50, #f8fafc);border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);margin-bottom:1rem}.settings-summary-row__label{font-size:.8rem;font-weight:600;color:var(--text-muted);margin:0 0 .35rem}.settings-chips{display:flex;flex-wrap:wrap;gap:.35rem}.settings-chip{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-secondary);line-height:1.3}.settings-chip--muted{color:var(--text-muted);font-style:italic;border-style:dashed}.settings-advanced{display:flex;flex-direction:column;gap:1rem}.settings-advanced__item{padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.settings-advanced__item:last-child{padding-bottom:0;border-bottom:none}.settings-advanced__item .muted{margin:.4rem 0 0}@media (max-width: 767px){.user-panel-tabs,.settings-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.settings-nav__tab{flex:0 0 auto;white-space:nowrap}}.book-source-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:.5rem;align-items:end}.book-page-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end}.book-list-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.5rem;padding:0 .5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.book-list-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.5rem;align-items:center;background:var(--bg-surface);padding:.5rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.book-list-header-simple{display:grid;grid-template-columns:92px 1fr auto;gap:.5rem;padding:0 .5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.book-list-item-simple{display:grid;grid-template-columns:92px 1fr auto;gap:.5rem;align-items:center;background:var(--bg-surface);padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.book-list-item__book{display:flex;align-items:center;justify-content:center}.book-list-book-thumb,.book-list-book-thumb-placeholder{width:72px;height:72px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-muted)}.book-list-book-thumb{object-fit:cover;display:block}.book-list-item__pages{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-selector-dialog{width:min(900px,95vw);height:min(90vh,calc(100dvh - 2rem));max-height:min(90vh,calc(100dvh - 2rem));background:var(--bg-surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 20px 50px #0f172a40;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:1rem;overflow:hidden;container-type:inline-size;container-name:page-selector}.book-picker-dialog{width:min(980px,95vw)}.book-picker-dialog>.page-selector-dialog{width:100%;height:auto;max-height:none;flex:1 1 0;min-height:0;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent}.book-picker-empty{padding:2rem;color:var(--text-muted)}.frame-large-preview-wrapper>img.book-cover-img{display:block;width:280px;max-width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain;background:var(--bg-subtle)}.page-thumbnail-wrapper>img.book-cover-img{display:block;width:100%;height:100%;object-fit:contain;background:var(--bg-subtle);border-radius:var(--radius-sm)}.frame-preview-overlay__body>img.book-cover-img{pointer-events:auto;max-width:100%;max-height:calc(100% - 3.5rem);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-sm);background:#fff;box-shadow:0 4px 16px #0003}button.page-thumbnail{font:inherit;color:inherit;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}.page-selector-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:.75rem}.page-selector-heading{display:flex;flex-direction:column;gap:.2rem;min-width:0}.page-selector-header h4{margin:0}.page-selector-subtitle{margin:0;font-size:.85rem;font-weight:400;line-height:1.3;color:var(--text-muted)}.page-selector-count{font-size:.9rem;color:var(--text-muted);background:var(--bg-muted);padding:.25rem .75rem;border-radius:var(--radius-sm)}.page-selector-error{background:var(--error-bg, rgba(220, 38, 38, .1));color:var(--error-color);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;text-align:center}.page-selector-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--text-muted)}.page-selector-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior:contain}.page-selector-dialog>.react-pdf__Document{display:flex;flex-direction:column;flex:1;min-height:0;gap:1rem}.frame-large-preview{display:none;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-shrink:0}@media (min-width: 768px) and (min-height: 780px){.frame-large-preview{display:flex}}.frame-large-preview-wrapper{box-shadow:0 4px 16px #00000026;border-radius:var(--radius-sm);overflow:hidden;background:#fff}.frame-large-preview-label{font-size:.9rem;font-weight:500;color:var(--text-secondary)}.frame-preview-page{box-shadow:0 4px 16px #00000026;border-radius:var(--radius-sm);overflow:hidden;background:#fff}.frame-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 1);display:flex;align-items:center;justify-content:center;padding:max(3.25rem,calc(env(safe-area-inset-top,0px) + 2.75rem)) max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px));background:#0f172ab8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.frame-preview-overlay__close{position:absolute;top:max(.65rem,env(safe-area-inset-top,0px));right:max(.65rem,env(safe-area-inset-right,0px));z-index:2;width:44px;height:44px;border:none;border-radius:999px;background:#fffffff2;color:var(--slate-800);font-size:1.25rem;line-height:1;box-shadow:var(--shadow-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.frame-preview-overlay__close:hover{background:#fff}.frame-preview-overlay__body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:min(100%,520px);height:100%;max-height:100%;min-height:0;pointer-events:none}.frame-preview-overlay__body .frame-preview-page{pointer-events:auto}.frame-preview-overlay__actions{pointer-events:auto;display:flex;justify-content:center;flex-shrink:0;width:100%}.frame-preview-overlay__actions .primary{min-height:44px;min-width:10rem}.frame-preview-overlay__label{font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}.frame-picker-actions{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.5rem}.frame-picker-colored-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:0;flex:0 1 auto;font-size:.9rem;font-weight:600;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.frame-picker-colored-toggle input{width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--primary-500);cursor:pointer}.frame-picker-actions__buttons{display:flex;flex:0 0 auto;gap:.5rem;margin-left:auto}.page-thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:.5rem}.page-thumbnails-grid--dynamic{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));justify-content:center}.page-thumbnail{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;border-radius:var(--radius-md);padding:.5rem;transition:background .15s ease,box-shadow .15s ease;border:2px solid transparent}.page-thumbnail:hover{background:var(--bg-hover)}.page-thumbnail.selected{background:color-mix(in srgb,var(--primary-500) 10%,transparent);border-color:var(--primary-500)}.page-thumbnail.selected .page-thumbnail-wrapper{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-500) 65%,transparent),0 10px 24px color-mix(in srgb,var(--primary-500) 28%,transparent)}.page-thumbnail.selected .page-thumbnail-number{color:var(--primary-600);font-weight:600}.page-thumbnail.focused{outline:3px solid var(--primary-500);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-500) 25%,transparent)}.page-thumbnail-wrapper{position:relative;box-shadow:0 2px 8px #00000026;border-radius:var(--radius-sm);overflow:visible;cursor:zoom-in}.page-thumbnail-wrapper:hover{box-shadow:0 4px 12px #00000040}.page-thumbnail-wrapper canvas,.page-thumbnail-wrapper .page-thumbnail-img{display:block;border-radius:var(--radius-sm);width:100%;height:auto}.page-thumbnail-skeleton{background:color-mix(in srgb,var(--text-muted) 12%,var(--bg-hover, #eee));border-radius:var(--radius-sm)}.page-thumbnail-overlay{position:absolute;top:.5rem;right:.5rem}.page-thumbnail-overlay input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:36px;margin:0;cursor:pointer;border-radius:6px;border:2px solid color-mix(in srgb,var(--primary-500) 42%,#fff);background-color:color-mix(in srgb,var(--primary-500) 16%,#fff);background-repeat:no-repeat;background-position:center;background-size:68%;box-shadow:0 1px 3px #0f172a24}.page-thumbnail-overlay input[type=checkbox]:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500) 62%,#fff);background-color:color-mix(in srgb,var(--primary-500) 24%,#fff)}.page-thumbnail.range-preview .page-thumbnail-wrapper{outline:2px solid color-mix(in srgb,var(--primary-500) 55%,transparent);outline-offset:1px}.page-thumbnail-overlay input[type=checkbox].range-preview:not(:checked){border-color:color-mix(in srgb,var(--primary-500) 78%,#fff);background-color:color-mix(in srgb,var(--primary-500) 48%,#fff);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-500) 35%,transparent)}.page-thumbnail-overlay input[type=checkbox]:checked{border-color:var(--primary-500);background-color:var(--primary-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E");box-shadow:0 1px 4px color-mix(in srgb,var(--primary-500) 45%,transparent)}.page-thumbnail-overlay input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}.page-thumbnail-number{font-size:.8rem;color:var(--text-muted);font-weight:500}.page-selector-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border-subtle);flex-shrink:0}.page-selector-pagination>button{white-space:nowrap}.pagination-info{font-size:.85rem;color:var(--text-muted);white-space:nowrap}@container page-selector (max-width: 26rem){.page-selector-pagination{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"info info" "prev next";column-gap:.5rem;row-gap:.35rem}.page-selector-pagination>button:first-of-type{grid-area:prev;justify-self:start}.page-selector-pagination>button:last-of-type{grid-area:next;justify-self:end}.pagination-info{grid-area:info;text-align:center}}.page-selector-bulk-actions{display:flex;justify-content:center;gap:.75rem;flex-shrink:0}.page-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-modal) + 1);padding:1rem}.page-preview-content{background:var(--bg-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;max-height:min(95vh,calc(100dvh - 2rem));max-width:95vw;overflow:hidden}.page-preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);font-weight:600}.page-preview-body{overflow:auto;display:flex;justify-content:center;align-items:flex-start;background:var(--bg-muted);padding:1rem;max-height:calc(100dvh - 11rem)}.page-preview-body canvas{display:block;box-shadow:0 4px 20px #0000004d}.page-preview-content.selected .page-preview-body canvas{box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-500) 75%,transparent),0 10px 28px color-mix(in srgb,var(--primary-500) 30%,transparent);border-radius:var(--radius-sm)}.page-preview-actions{display:flex;justify-content:center;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border-subtle)}@media (max-width: 767px){.book-source-grid{grid-template-columns:1fr;gap:.75rem}.book-source-grid>label{width:100%}.book-source-grid>button{width:100%;justify-content:center}.book-page-grid{grid-template-columns:1fr 1fr;gap:.75rem}.book-page-grid>button{grid-column:1 / -1;width:100%;justify-content:center}.book-list-header{display:none}.book-list-item{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:.5rem;padding:.75rem}.book-list-item__type{grid-column:1 / -1;font-weight:600}.book-list-item__issue{grid-column:1 / -1;font-size:.85rem;color:var(--text-secondary)}.book-list-item__issue:before{content:"Τεύχος: "}.book-list-item__delete{position:absolute;top:.5rem;right:.5rem}.book-list-item{position:relative}.book-list-header-simple{display:none}.book-list-item-simple{grid-template-columns:72px 1fr;grid-template-rows:auto;gap:.5rem;padding:.75rem;position:relative}.book-list-item-simple .book-list-item__book{grid-column:1}.book-list-item-simple .book-list-item__pages{grid-column:2;white-space:normal;word-break:break-word}.book-list-item-simple .book-list-item__pages:before{content:"Σελ.: ";font-weight:500}.book-list-item-simple .book-list-item__delete{position:absolute;top:.5rem;right:.5rem}}@media (max-width: 767px){.confirm-overlay:has(.page-selector-dialog),.confirm-overlay:has(.book-picker-dialog){padding:env(safe-area-inset-top,.25rem) env(safe-area-inset-right,.25rem) env(safe-area-inset-bottom,.25rem) env(safe-area-inset-left,.25rem);align-items:stretch;justify-content:stretch}.page-selector-dialog,.book-picker-dialog{width:100%;max-width:100%;height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0) - .5rem);max-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0) - .5rem);border-radius:var(--radius-lg);padding:.75rem;margin:0;display:flex;flex-direction:column;overflow:hidden}.page-selector-header,.book-picker-header{flex-wrap:wrap;gap:.5rem;flex-shrink:0}.page-selector-header h4,.book-picker-header h4{font-size:1rem}.page-selector-count{font-size:.8rem;padding:.2rem .5rem}.page-selector-content{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.page-thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:.25rem}.page-thumbnail{padding:.25rem}.page-thumbnail-wrapper{position:relative}.page-thumbnail-overlay{position:absolute;top:4px;right:4px;z-index:10}.page-thumbnail-overlay input[type=checkbox]{width:24px;height:24px;border-radius:4px}.page-thumbnail-number{font-size:.75rem}.page-selector-pagination{padding:.5rem 0;gap:.5rem;flex-shrink:0}.page-selector-pagination button{padding:.4rem .6rem;font-size:.8rem}.pagination-info{font-size:.75rem}.page-preview-overlay{padding:env(safe-area-inset-top,.25rem) env(safe-area-inset-right,.25rem) env(safe-area-inset-bottom,.25rem) env(safe-area-inset-left,.25rem)}.page-preview-content{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0) - .5rem);display:flex;flex-direction:column;overflow:hidden}.page-preview-body{padding:.5rem;overflow:auto;max-height:calc(100dvh - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0) - 10rem)}.page-preview-actions{padding:.5rem;gap:.5rem;flex-wrap:nowrap;justify-content:center;flex-shrink:0;border-top:1px solid var(--border-subtle);background:var(--bg-card)}.page-preview-actions button{flex:1;min-width:0;padding:.6rem .5rem;font-size:.85rem}.page-selector-dialog .confirm-actions,.book-picker-dialog .confirm-actions{flex-shrink:0;padding:.5rem 0 0;border-top:1px solid var(--border-subtle);background:var(--bg-card);margin-top:0}.page-selector-dialog .confirm-actions button,.book-picker-dialog .confirm-actions button{padding:.6rem 1rem;font-size:.9rem}.page-selector-dialog .frame-picker-actions{flex-direction:row;flex-wrap:nowrap}.page-selector-dialog .frame-picker-actions button{width:auto;padding:.55rem .85rem;font-size:.85rem}}@media (max-height: 779px){.confirm-overlay:has(.page-selector-dialog),.confirm-overlay:has(.book-picker-dialog){padding:.5rem;align-items:center;justify-content:center}.page-selector-dialog,.book-picker-dialog{width:min(900px,100%);max-width:100%;height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem);padding:.75rem;gap:.5rem;overflow:hidden}.frame-large-preview{display:none}.page-selector-content{flex:1 1 0;min-height:0}.page-selector-dialog .confirm-actions,.book-picker-dialog .confirm-actions{flex-shrink:0;padding:.5rem 0 0;border-top:1px solid var(--border-subtle);margin-top:0}}@media (max-height: 600px) and (orientation: landscape){.confirm-overlay:has(.page-selector-dialog),.confirm-overlay:has(.book-picker-dialog){padding:.25rem .5rem;align-items:center;justify-content:center}.page-selector-dialog,.book-picker-dialog{height:calc(100dvh - .5rem);max-height:calc(100dvh - .5rem);padding:.5rem;gap:.25rem;overflow:hidden}.page-selector-header,.book-picker-header{padding-bottom:.25rem;flex-shrink:0}.frame-large-preview{display:none}.page-selector-content{flex:1 1 0;min-height:0}.page-thumbnails-grid{gap:.35rem}.page-thumbnails-grid--dynamic{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.page-thumbnail-number{font-size:.7rem}.page-selector-pagination{padding:.25rem 0;gap:.35rem;flex-shrink:0}.page-selector-pagination button{padding:.3rem .5rem;font-size:.75rem}.pagination-info{font-size:.7rem}.page-selector-dialog .confirm-actions,.book-picker-dialog .confirm-actions{padding:.35rem 0 0;gap:.5rem;flex-shrink:0}.page-selector-dialog .confirm-actions button,.book-picker-dialog .confirm-actions button{padding:.35rem .75rem;font-size:.8rem}.page-preview-content{max-height:calc(100dvh - .5rem)}.page-preview-actions{padding:.35rem;gap:.35rem;flex-shrink:0}.page-preview-actions button{padding:.35rem .5rem;font-size:.75rem}}.credits-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:var(--slate-100);border:1px solid var(--slate-200);border-radius:9999px;font-size:.8rem;font-weight:600;color:var(--slate-700);white-space:nowrap}.credits-badge__icon{font-size:.9rem}.credits-badge__count{min-width:1rem;text-align:center}.credits-badge--warning{background:var(--warning-50);border-color:var(--warning-200);color:var(--warning-700)}.credits-badge--danger{background:var(--danger-50);border-color:var(--danger-200);color:var(--danger-700)}.credits-info{display:flex;gap:.75rem;flex-wrap:wrap}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.credits-info{flex-direction:column;gap:.5rem}}.worksheet-list,.worksheet-sublist{list-style:none;margin:0;padding:0}.worksheet-list{display:grid;gap:1rem}.worksheet-list>.worksheet-list__item{animation:slideUp var(--duration-normal) var(--ease-out) both}.worksheet-list>.worksheet-list__item:nth-child(1){animation-delay:0ms}.worksheet-list>.worksheet-list__item:nth-child(2){animation-delay:40ms}.worksheet-list>.worksheet-list__item:nth-child(3){animation-delay:80ms}.worksheet-list>.worksheet-list__item:nth-child(4){animation-delay:.12s}.worksheet-list>.worksheet-list__item:nth-child(5){animation-delay:.16s}.worksheet-list>.worksheet-list__item:nth-child(6){animation-delay:.2s}.worksheet-list>.worksheet-list__item:nth-child(7){animation-delay:.24s}.worksheet-list>.worksheet-list__item:nth-child(n+8){animation-delay:.28s}.worksheet-sublist{margin-top:.75rem;display:grid;gap:.75rem}.worksheet-list__meta{display:flex;flex-wrap:wrap;gap:.5rem}.worksheet-list__card{position:relative}.worksheet-list__item .worksheet-list__select{background:var(--bg-surface);border:1px solid var(--border-subtle);padding:1.25rem 3rem 1.25rem 1.5rem;border-radius:var(--radius-lg);text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.4rem;color:var(--slate-900);position:relative;overflow:hidden;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-card);width:100%}.worksheet-list__item .worksheet-list__select:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tool-worksheets-grad);opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.worksheet-list__item .worksheet-list__select:hover{border-color:color-mix(in srgb,var(--tool-worksheets) 40%,transparent);transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.worksheet-list__item .worksheet-list__select:hover:before{opacity:1}.worksheet-list__item.active .worksheet-list__select{border-color:color-mix(in srgb,var(--tool-worksheets) 55%,transparent);box-shadow:var(--shadow-card-hover)}.worksheet-list__item.active .worksheet-list__select:before{opacity:1}.worksheet-list__delete-icon{position:absolute;top:.75rem;right:.75rem;width:1.9rem;height:1.9rem;min-width:1.9rem;min-height:1.9rem;border-radius:999px;border:1px solid transparent;color:var(--slate-400);background:transparent;box-shadow:none;font-size:1.05rem;font-weight:700;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.worksheet-list__item:hover .worksheet-list__delete-icon,.worksheet-list__delete-icon:focus-visible{opacity:1}.worksheet-list__delete-icon:hover:not(:disabled){background:#fee2e2;color:#dc2626;border-color:transparent;filter:none;transform:none;box-shadow:none}.worksheet-list__delete-icon:active:not(:disabled){filter:none;transform:none}.worksheet-list__delete-icon:focus-visible{outline:none;box-shadow:0 0 0 3px #dc262640}.worksheet-list__delete-icon:disabled{opacity:.6;cursor:not-allowed}.meta-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.meta-list li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-subtle)}.meta-list li:last-child{border-bottom:none;padding-bottom:0}.meta-list span{color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.01em}.meta-list strong{color:var(--slate-900);font-weight:600}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.worksheet-list__item .worksheet-list__select{padding:1rem 2.25rem 1rem 1rem}.worksheet-list__delete-icon{top:.5rem;right:.5rem}.meta-list li{flex-direction:column;align-items:flex-start;gap:.25rem}}.mobile-header{display:block;position:sticky;top:0;z-index:var(--z-chrome);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle)}.mobile-header__inner{width:100%;max-width:1200px;margin:0 auto;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0));padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));display:flex;justify-content:space-between;align-items:center}.mobile-header__title{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,var(--primary-600),var(--primary-400));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;text-decoration:none;display:inline-block}.mobile-header__actions{display:flex;gap:.5rem;align-items:center}.mobile-header__create-link{height:42px;padding:0 .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.86rem;font-weight:700;color:var(--slate-700);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.mobile-header__create-link:hover{background:var(--primary-50);color:var(--primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.mobile-header__create-link.disabled{opacity:.6;pointer-events:none;transform:none}@media (min-width: 768px){.mobile-header__inner{padding:.875rem 3rem}}.app-nav .site-chrome__inner{container-type:inline-size;container-name:app-nav}.app-nav__tabs{display:flex;align-items:center;justify-content:flex-start;gap:.15rem;flex:1 1 auto;min-width:0;overflow-x:hidden}.app-nav__tab{--tone: var(--logo-blue-main);--tone-ink: var(--logo-blue-dark);--tone-tint: var(--primary-50);display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .55rem;border-radius:999px;text-decoration:none;white-space:nowrap;font-size:.82rem;font-weight:600;color:var(--text-secondary);border:1px solid transparent;flex:0 0 auto;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.app-nav__tab-icon{flex:0 0 auto;color:var(--tone)}.app-nav__tab-icon-wrap{position:relative;display:inline-flex;flex:0 0 auto;line-height:0}.app-nav__free-count{position:absolute;top:-.55rem;right:-.8rem;z-index:1;min-width:1.05rem;height:.95rem;padding:0 .22rem;border-radius:999px;background:color-mix(in srgb,var(--tone-ink) 68%,#222);color:#fff;font-size:.55rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:.95rem;text-align:center;letter-spacing:-.02em;box-shadow:0 0 0 1.5px var(--bg-surface);opacity:.85;pointer-events:none}.app-nav__tabs[data-label-density=long] .app-nav__tab-label--short,.app-nav__tabs[data-label-density=short] .app-nav__tab-label--long{display:none}.app-nav__tabs[data-label-density=short] .app-nav__tab-label--short{display:inline}.app-nav__tabs[data-label-density=short] .app-nav__tab{gap:.28rem;padding:.45rem}.app-nav__tabs[data-label-density=icons] .app-nav__tab-label{display:none}.app-nav__tabs[data-label-density=icons] .app-nav__tab{padding:.5rem .55rem}.app-nav__tabs[data-label-density=icons] .app-nav__tab-icon{width:20px;height:20px}.app-nav__tab:hover{color:var(--tone-ink);background:var(--tone-tint)}.app-nav__tab.is-active{color:var(--tone-ink);background:var(--tone-tint);border-color:color-mix(in srgb,var(--tone) 35%,transparent)}.app-nav__tab.is-active .app-nav__tab-icon{color:var(--tone-ink)}.app-nav__tab--home{--tone: var(--logo-blue-main);--tone-ink: var(--logo-blue-dark);--tone-tint: var(--primary-50)}.app-nav__tab--worksheets{--tone: var(--tool-worksheets);--tone-ink: var(--tool-worksheets-ink);--tone-tint: var(--tool-worksheets-tint)}.app-nav__tab--plays{--tone: var(--tool-plays);--tone-ink: var(--tool-plays-ink);--tone-tint: var(--tool-plays-tint)}.app-nav__tab--coloring{--tone: var(--tool-coloring);--tone-ink: var(--tool-coloring-ink);--tone-tint: var(--tool-coloring-tint)}.app-nav__tab--games{--tone: var(--tool-games);--tone-ink: var(--tool-games-ink);--tone-tint: var(--tool-games-tint)}.app-nav__tab--essays{--tone: var(--tool-essays);--tone-ink: var(--tool-essays-ink);--tone-tint: var(--tool-essays-tint)}.app-nav__tab--math{--tone: var(--tool-math);--tone-ink: var(--tool-math-ink);--tone-tint: var(--tool-math-tint)}.app-nav__login-button{padding:.45rem .75rem;border-radius:999px;font-size:.82rem;white-space:nowrap;transform:none}.app-nav__login-button:hover:not(:disabled){transform:none;filter:none}.app-nav__login-label--short{display:none}@media (max-width: 767px){:root{--app-bottom-nav-height: calc(3.75rem + env(safe-area-inset-bottom, 0px)) }.app-nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg-body)}.app-nav__tabs{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-bottom-nav);gap:.15rem;padding:.4rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom,0));background:var(--bg-surface);border-top:1px solid var(--border-subtle);box-shadow:0 -6px 20px -10px #4c3c2840;overflow-x:auto}.app-nav__tab{flex:1 0 auto;flex-direction:column;justify-content:center;gap:.2rem;min-width:46px;padding:.4rem .25rem;border-radius:var(--radius-sm);font-size:.6rem}.app-nav__tab-icon{width:22px;height:22px}.app-nav__free-count{top:-.45rem;right:-.7rem;box-shadow:0 0 0 1.5px var(--bg-surface)}.app-nav__tab-label{display:none}.app-nav__tab.is-active{background:var(--tone-tint);border-color:transparent}.app-nav__login-label--full{display:none}.app-nav__login-label--short{display:inline}.app-nav__login-button{padding:.4rem .55rem;font-size:.75rem}}@media (min-width: 768px) and (max-width: 1023px){.main-content{padding:1.5rem 2rem}}@media (max-width: 767px){.user-panel-tabs{flex-wrap:wrap}.subscription-grid,.plan-cards{grid-template-columns:1fr;gap:1rem}.auth-form{padding:1.5rem}}@media (max-width: 767px){.pdf-options-grid{grid-template-columns:1fr}.pdf-actions{flex-direction:column}.pdf-actions button{width:100%}}@media print{.mobile-header,.dashboard-footer,.install-prompt{display:none!important}.main-content{padding:0;max-width:100%}}.help-shell .main-panel{min-width:0}.help-page{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;width:100%;background:var(--bg-body)}.help-content-wrapper{display:flex;flex:1;min-height:0}.help-sidebar{width:280px;min-width:280px;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:calc(65px + env(safe-area-inset-top,0));height:calc(100vh - 65px - env(safe-area-inset-top,0));height:calc(100dvh - 65px - env(safe-area-inset-top,0));overflow:hidden}.help-sidebar-header{flex-shrink:0;padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.help-sidebar-header h2{margin:0;font-size:1.25rem;font-weight:600}.help-sidebar-close{display:none;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-muted);padding:.25rem}.help-nav{flex:1;min-height:0;padding:1rem;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto}.help-nav-item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font-size:.95rem;color:var(--text-main);transition:background .15s,color .15s;width:100%}.help-nav-item:hover{background:var(--slate-100)}.help-nav-item--active{background:var(--primary-50);color:var(--primary-700);font-weight:500}.help-nav-icon{font-size:1.1rem;flex-shrink:0}.help-nav-divider{margin:.75rem 0;border:none;border-top:1px solid var(--border)}.help-sidebar-footer{flex-shrink:0;padding:1rem 1.5rem;border-top:1px solid var(--border);text-align:center}.help-sidebar-footer p{margin:0 0 .5rem;font-size:.85rem}.help-contact-link{font-size:.9rem;color:var(--primary-600);text-decoration:none}button.help-contact-link,button.help-contact-link:hover:not(:disabled),button.help-contact-link:active:not(:disabled){background:none;border:none;border-radius:0;box-shadow:none;padding:0;margin:0;font:inherit;font-size:.9rem;font-weight:400;color:var(--primary-600);transform:none;filter:none;cursor:pointer}.help-contact-link:hover{text-decoration:underline}.help-main{flex:1;max-width:800px;margin:0 auto;padding:2rem}.help-article{background:var(--bg-surface);border-radius:12px;border:1px solid var(--border);padding:2rem}.help-article-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.help-article-icon{font-size:2rem;flex-shrink:0}.help-article-header h1{margin:0 0 .25rem;font-size:1.5rem}.help-article-description{margin:0;color:var(--text-muted);font-size:1rem}.help-video-section{margin:1.5rem 0}.help-video-section h3{margin:0 0 1rem;font-size:1rem}.video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:var(--slate-100)}.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-duration{margin:.5rem 0 0;font-size:.85rem}.help-gallery-section{margin:1.5rem 0}.help-gallery-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.image-gallery{background:var(--slate-50);border-radius:12px;padding:1rem;border:1px solid var(--slate-200)}.gallery-image-container{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--slate-100);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.gallery-image-container--placeholder{aspect-ratio:3 / 1}.gallery-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.gallery-image--loading{opacity:0}.gallery-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.gallery-spinner{width:32px;height:32px;border:3px solid var(--slate-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.gallery-error{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted)}.gallery-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.gallery-placeholder-logo{width:80px;height:80px;opacity:.4}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;border-radius:50%;background:#ffffffe6;color:var(--slate-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #00000026;z-index:2;font-size:24px;font-weight:300;line-height:1}button.gallery-nav:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.05)}button.gallery-nav:active{transform:translateY(-50%) scale(.95)}.gallery-nav--prev{left:12px}.gallery-nav--next{right:12px}.gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:.75rem}.gallery-dot{width:10px;height:10px;border:none;border-radius:50%;background:var(--slate-300);cursor:pointer;transition:all .2s ease;padding:0}.gallery-dot:hover{background:var(--slate-400)}.gallery-dot--active{background:var(--primary-500);transform:scale(1.2)}@media (max-width: 640px){.gallery-nav{width:32px;height:32px}.gallery-nav svg{width:16px;height:16px}.gallery-nav--prev{left:8px}.gallery-nav--next{right:8px}.gallery-image-container{aspect-ratio:4 / 3}}.help-video-placeholder{margin:1.5rem 0;background:linear-gradient(135deg,var(--slate-100),var(--slate-50));border-radius:8px;padding:3rem 2rem;text-align:center}.video-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.video-placeholder-icon{font-size:2.5rem;opacity:.7}.video-placeholder-content p{margin:0;color:var(--text-muted);font-size:.95rem}.help-content{margin:1.5rem 0}.help-content p{margin:0 0 1rem;line-height:1.7}.help-inline-link{color:var(--primary-600, #2563eb);text-decoration:underline;text-underline-offset:.15em;font-weight:500}.help-inline-link:hover{color:var(--primary-700, #1d4ed8)}[data-theme=dark] .help-inline-link{color:var(--primary-300, #93c5fd)}[data-theme=dark] .help-inline-link:hover{color:var(--primary-200, #bfdbfe)}.help-content p:last-child{margin-bottom:0}.help-steps{margin:2rem 0}.help-step{display:flex;gap:1rem;margin-bottom:1.5rem}.help-step:last-child{margin-bottom:0}.help-step-number{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.help-step-content h3{margin:0 0 .5rem;font-size:1rem;font-weight:600}.help-step-content p{margin:0 0 .5rem;color:var(--text-muted);line-height:1.6}.help-step-content p:last-child{margin-bottom:0}.help-tips{margin:2rem 0 0;display:flex;flex-direction:column;gap:.75rem}.help-tip{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;font-size:.95rem}.help-tip--tip{background:var(--primary-50);border:1px solid var(--primary-200)}.help-tip--warning{background:#fef3c7;border:1px solid #fde68a}.help-tip--info{background:var(--slate-50);border:1px solid var(--slate-200)}.help-tip-icon{flex-shrink:0;font-size:1.1rem}.help-tip p{margin:0;line-height:1.5}.faq-category{scroll-margin-top:1.5rem;margin:2rem 0}.faq-category:first-of-type{margin-top:1.5rem}.faq-category h2{margin:0 0 1rem;font-size:1.15rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em}.faq-list{display:flex;flex-direction:column;gap:.65rem}.faq-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface);box-shadow:var(--shadow-card);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.faq-item:hover{border-color:color-mix(in srgb,var(--primary-300) 55%,var(--border-subtle))}.faq-item--open{border-color:var(--primary-300);box-shadow:var(--shadow-card-hover)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.2rem;background:transparent;border:none;cursor:pointer;text-align:left;font-size:1.02rem;font-weight:600;color:var(--text-main);line-height:1.35;letter-spacing:-.01em;transition:background .15s ease,color .15s ease}.faq-question:hover{background:color-mix(in srgb,var(--bg-subtle) 55%,white)}.faq-item--open .faq-question{color:var(--primary-800);background:linear-gradient(180deg,color-mix(in srgb,var(--primary-50) 80%,white),color-mix(in srgb,var(--primary-50) 35%,white))}.faq-item--open .faq-question:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--primary-100) 55%,white),color-mix(in srgb,var(--primary-50) 45%,white))}.faq-icon{width:1.85rem;height:1.85rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;font-size:1.2rem;font-weight:500;line-height:1;color:var(--primary-700);background:var(--primary-50);border:1px solid var(--primary-100);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.faq-item--open .faq-icon{color:#fff;background:var(--primary-500);border-color:var(--primary-500);transform:rotate(180deg)}.faq-answer{padding:0 1.2rem 1.2rem;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-50) 28%,white) 0%,var(--bg-subtle) 100%);border-top:1px solid color-mix(in srgb,var(--primary-200) 45%,var(--border-subtle));animation:faq-answer-in .2s ease}@keyframes faq-answer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.faq-answer p{margin:0;padding:.95rem 0 .15rem .95rem;color:var(--slate-900);font-size:1.05rem;font-weight:400;line-height:1.75;border-left:3px solid var(--primary-400)}.help-mobile-toggle{display:none;position:fixed;bottom:calc(var(--app-bottom-nav-height, 3.75rem) + 1rem);left:50%;transform:translate(-50%);z-index:100;background:var(--primary-500);color:#fff;border:none;border-radius:50px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;box-shadow:0 4px 12px #00000026;gap:.5rem;align-items:center}.help-mobile-toggle-icon{font-size:1.1rem}.help-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.help-not-found{text-align:center;padding:3rem}.help-not-found p{margin:0 0 1rem;color:var(--text-muted)}@media (max-width: 768px){.help-page{padding-bottom:var(--app-bottom-nav-height, 3.75rem)}.help-sidebar{position:fixed;left:0;top:0;z-index:200;transform:translate(-100%);transition:transform .3s ease;width:85%;max-width:320px;height:100vh;height:100dvh}.help-sidebar--open{transform:translate(0)}.help-sidebar-close{display:block}.help-mobile-toggle{display:flex}.help-overlay{display:block}.help-main{padding:1rem 1rem 5rem}.help-article{padding:1.25rem}.help-article-header{flex-direction:column;text-align:center}.help-article-header h1{font-size:1.25rem}.help-step{flex-direction:column;gap:.75rem}.help-step-number{width:28px;height:28px;min-width:28px;font-size:.85rem}}[data-theme=dark] .help-sidebar{background:var(--bg-surface)}[data-theme=dark] .help-nav-item:hover{background:var(--slate-800)}[data-theme=dark] .help-nav-item--active{background:var(--primary-900);color:var(--primary-200)}[data-theme=dark] .help-article{background:var(--bg-surface)}[data-theme=dark] .help-video-placeholder{background:linear-gradient(135deg,var(--slate-800),var(--slate-900))}[data-theme=dark] .image-gallery{background:var(--slate-800);border-color:var(--slate-700)}[data-theme=dark] .gallery-image-container{background:var(--slate-900)}[data-theme=dark] .gallery-nav{background:#fffffff2;color:#334155}[data-theme=dark] .gallery-nav:hover{background:#fff}[data-theme=dark] .gallery-dot{background:var(--slate-600)}[data-theme=dark] .gallery-dot:hover{background:var(--slate-500)}[data-theme=dark] .gallery-spinner{border-color:var(--slate-600);border-top-color:var(--primary-400)}[data-theme=dark] .faq-item{background:var(--bg-surface);border-color:var(--border);box-shadow:none}[data-theme=dark] .faq-item:hover{border-color:var(--primary-700)}[data-theme=dark] .faq-item--open{border-color:var(--primary-600);box-shadow:none}[data-theme=dark] .faq-question:hover{background:var(--slate-100)}[data-theme=dark] .faq-item--open .faq-question{background:color-mix(in srgb,var(--primary-900) 45%,var(--bg-surface));color:var(--primary-200)}[data-theme=dark] .faq-item--open .faq-question:hover{background:color-mix(in srgb,var(--primary-900) 55%,var(--bg-surface))}[data-theme=dark] .faq-icon{color:var(--primary-200);background:color-mix(in srgb,var(--primary-900) 50%,var(--bg-surface));border-color:var(--primary-800)}[data-theme=dark] .faq-item--open .faq-icon{color:#fff;background:var(--primary-600);border-color:var(--primary-600)}[data-theme=dark] .faq-answer{background:color-mix(in srgb,var(--primary-950) 35%,var(--bg-surface));border-top-color:var(--primary-800)}[data-theme=dark] .faq-answer p{color:var(--text-main);border-left-color:var(--primary-400)}[data-theme=dark] .help-tip--tip{background:#0ea5e91a;border-color:#0ea5e94d}[data-theme=dark] .help-tip--warning{background:#fbbf241a;border-color:#fbbf244d}[data-theme=dark] .help-tip--info{background:var(--slate-100);border-color:var(--slate-200)}.launch-page{min-height:100vh;display:flex;flex-direction:column}.launch-page .launch-students-link{--ss-green-light: #6bc87a;--ss-green-main: #40ae55;--ss-green-dark: #2f8f42;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.35rem .75rem .35rem .4rem;border-radius:999px;font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap;color:var(--ss-green-dark);border:1px solid color-mix(in srgb,var(--ss-green-main) 35%,transparent);background:color-mix(in srgb,var(--ss-green-main) 8%,transparent);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.launch-page .launch-students-link__logo{width:22px;height:22px;border-radius:6px;display:block;flex:0 0 auto}.launch-page .launch-students-link:hover{background:color-mix(in srgb,var(--ss-green-main) 14%,transparent);border-color:color-mix(in srgb,var(--ss-green-main) 55%,transparent);color:var(--ss-green-dark)}[data-theme=dark] .launch-page .launch-students-link{color:var(--ss-green-light);border-color:color-mix(in srgb,var(--ss-green-main) 40%,transparent);background:color-mix(in srgb,var(--ss-green-main) 12%,transparent)}[data-theme=dark] .launch-page .launch-students-link:hover{background:color-mix(in srgb,var(--ss-green-main) 20%,transparent);border-color:color-mix(in srgb,var(--ss-green-main) 60%,transparent);color:var(--ss-green-light)}.launch-page .launch-nav-label--short{display:none}.launch-main{flex:1;display:flex;flex-direction:column}.hero-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:6rem 3rem;max-width:1400px;margin:0 auto;position:relative}.hero-content{display:flex;flex-direction:column;gap:1.1rem;max-width:600px;animation:slideUp var(--duration-slow) var(--ease-out)}.hero-eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--logo-blue-dark, var(--primary-600))}.hero-title{font-size:3.5rem;line-height:1.1;font-weight:800;background:linear-gradient(135deg,var(--slate-900) 0%,var(--logo-blue-dark) 50%,var(--logo-blue-main) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;width:fit-content}.hero-title .highlight{color:var(--logo-blue-main);background:none;-webkit-text-fill-color:var(--logo-blue-main);position:relative}.hero-title .highlight:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--logo-blue-light),var(--logo-blue-main));z-index:-1;border-radius:4px;opacity:.6}.hero-subtitle{font-size:1.25rem;color:var(--slate-600);line-height:1.6;animation:fadeIn var(--duration-slow) var(--ease-out);animation-delay:.15s;animation-fill-mode:both}.hero-example{font-size:1rem;line-height:1.6;color:var(--slate-600);padding-left:.9rem;border-left:3px solid var(--logo-blue-light, var(--primary-300))}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.75rem;animation:slideUp var(--duration-normal) var(--ease-out);animation-delay:.3s;animation-fill-mode:both}.hero-actions button.primary{padding:1rem 2.5rem;font-size:1.1rem;border-radius:999px;box-shadow:var(--shadow-primary-lg)}.hero-trust{font-size:.85rem;color:var(--text-muted)}.hero-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.hero-pills .pill{display:flex;align-items:center;gap:.5rem}.section-note{margin-top:1.5rem;text-align:center;font-size:.85rem;color:var(--text-muted)}.processing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff9;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;overflow:hidden;animation:fadeIn var(--duration-normal) var(--ease-out)}.spinner{width:48px;height:48px;border:4px solid var(--primary-100);border-bottom-color:var(--primary-600);border-radius:50%;display:inline-block;box-sizing:border-box;animation:spin .8s linear infinite}.processing-text{font-weight:600;color:var(--primary-800);font-size:1.1rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.processing-subtitle{margin:0;max-width:min(560px,90%);text-align:center;color:var(--text-muted);font-size:.95rem}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--duration-fast) var(--ease-out);padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.confirm-dialog{width:min(520px,92vw);background:var(--bg-surface);animation:scaleIn var(--duration-normal) var(--ease-out);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-float);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:1rem}.confirm-dialog.stripe-checkout{max-height:90vh;overflow-y:auto}.stripe-checkout__finalizing{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.stripe-checkout__form{display:flex;flex-direction:column;gap:1.25rem}.confirm-dialog__head{display:flex;align-items:flex-start;gap:1rem}.confirm-dialog__icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--primary-100);color:var(--primary-700)}.confirm-dialog__icon--danger{background:#fee2e2;color:#dc2626}.confirm-dialog__text{min-width:0;display:flex;flex-direction:column;gap:.35rem}.confirm-dialog__text h4{margin:0;font-size:1.15rem}.confirm-dialog__text p{margin:0}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.confirm-dialog form{display:flex;flex-direction:column;gap:.75rem}.confirm-dialog textarea,.confirm-dialog input[type=text]{width:100%;font:inherit;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-main);resize:vertical}.contact-attachments{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.contact-attachments-hint{font-size:.85rem}.contact-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.contact-file-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.9rem}.contact-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-file-remove{flex:none;padding:0 .4rem;line-height:1;font-size:1.1rem}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pulsing-button{animation:pulse-shadow 2s infinite}@keyframes pulse-shadow{0%{box-shadow:0 0 #7c3aed66}70%{box-shadow:0 0 0 10px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}.hero-visual{position:relative;height:400px;display:flex;align-items:center;justify-content:center}.floating-card{position:absolute;background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid white;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:1.5rem}.card-1{width:280px;height:340px;transform:rotate(-6deg) translate(-20px);z-index:1;display:flex;flex-direction:column;gap:1rem;animation:float 6s ease-in-out infinite}.card-2{width:260px;height:200px;transform:rotate(6deg) translate(80px,60px);z-index:2;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-20px) rotate(-6deg)}}.fake-line{height:12px;background:var(--slate-100);border-radius:6px;width:100%}.fake-line.title-line{height:18px;width:70%;background:var(--slate-200)}.fake-line.short{width:40%}.fake-circle{width:40px;height:40px;border-radius:50%;background:var(--primary-100);margin-top:auto}.fake-chart{height:80px;background:linear-gradient(to top right,var(--primary-100),var(--primary-300));border-radius:var(--radius-md)}.features-section{padding:6rem 3rem;background:var(--bg-body)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;margin-bottom:1rem}.feature-card{background:var(--bg-surface);padding:2.5rem;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);transition:transform .3s}.feature-card:hover{transform:translateY(-8px)}.feature-icon{font-size:2.5rem;margin-bottom:1.5rem;background:var(--primary-50);width:64px;height:64px;display:grid;place-items:center;border-radius:var(--radius-lg)}.products-section{padding:6rem 3rem;max-width:1400px;margin:0 auto;width:100%}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.product-card{display:flex;align-items:flex-start;gap:1rem;text-align:left;padding:1.75rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;width:100%}.product-icon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-lg)}.product-info{display:flex;flex-direction:column;gap:.35rem}.product-name{font-size:1.15rem;font-weight:700;color:var(--text-main)}.product-desc{font-size:.95rem;color:var(--slate-600);line-height:1.5}.products-next{display:flex;align-items:center;gap:1rem;width:100%;margin-top:1.5rem;padding:1.25rem 1.75rem;text-align:left;background:var(--primary-50, var(--bg-surface));border:1px dashed var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer}.products-next__icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--primary-600)}.products-next__text{flex:1;font-size:1rem;line-height:1.5;color:var(--text-main)}.products-next__cta{flex:0 0 auto;font-weight:700;color:var(--primary-600);white-space:nowrap}.features-note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2.5rem;font-size:.85rem;color:var(--text-muted)}.students-strip{display:flex;align-items:center;gap:1.5rem;max-width:1000px;width:calc(100% - 3rem);margin:0 auto 5rem;padding:2rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.students-strip__logo{flex:0 0 48px;border-radius:var(--radius-md)}.students-strip__body{flex:1}.students-strip__body h2{font-size:1.25rem;margin-bottom:.35rem}.students-strip__body p{font-size:.95rem;line-height:1.5;color:var(--slate-600)}.students-strip__cta{flex:0 0 auto;padding:.7rem 1.25rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap;color:#2f8f42;border:1px solid color-mix(in srgb,#40ae55 40%,transparent);background:color-mix(in srgb,#40ae55 10%,transparent)}.students-strip__cta:hover{background:color-mix(in srgb,#40ae55 18%,transparent)}[data-theme=dark] .students-strip__cta{color:#6bc87a}@media (max-width: 767px){.products-next{flex-direction:column;align-items:flex-start;text-align:left}.students-strip{flex-direction:column;text-align:center;width:calc(100% - 2rem);margin-bottom:3rem}}@media (max-width: 900px){.products-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.products-section{padding:4rem 1.5rem}.products-grid{grid-template-columns:1fr}}.launch-footer{text-align:center;padding:2rem;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--bg-body)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-links{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.footer-link{color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s}button.footer-link,button.footer-link:hover:not(:disabled),button.footer-link:active:not(:disabled){background:none;border:none;border-radius:0;box-shadow:none;padding:0;margin:0;font:inherit;font-size:.9rem;font-weight:400;color:var(--text-muted);transform:none;filter:none;cursor:pointer}button.footer-link:hover{color:var(--primary-600)}.footer-link:hover{color:var(--primary-600);text-decoration:underline}.footer-separator{color:var(--text-muted);opacity:.5}.footer-social{display:flex;gap:1rem;align-items:center}.footer-social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-card);color:var(--text-muted);transition:all .2s;border:1px solid var(--border-subtle)}.footer-social-link:hover{background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-200)}.footer-copyright{margin:0;font-size:.85rem}.carousel-container{position:relative;width:100%;max-width:380px;margin:0 auto}.carousel-frame{position:relative;width:100%;aspect-ratio:210 / 297;border-radius:var(--radius-lg);overflow:hidden;background:transparent}.flipbook{width:100%;height:100%}.flip-page{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px 1px #0000000d,0 4px 6px #0000000d,0 16px 32px #00000014,0 32px 64px #0000000f}.flip-page img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}.carousel-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:#fff}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-md);display:grid;place-items:center;cursor:pointer;color:var(--slate-700);z-index:10;transition:background .2s,box-shadow .2s,transform .2s}.carousel-container .carousel-btn:hover{background:#fff;box-shadow:var(--shadow-lg);transform:translateY(-50%) scale(1.06)}.carousel-container .carousel-btn:active{transform:translateY(-50%) scale(.96)}.carousel-btn--prev{left:10px}.carousel-btn--next{right:10px}.carousel-dots{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--slate-300);border:none;cursor:pointer;transition:all .3s;padding:0}.carousel-dot.active{background:var(--primary-500);width:24px;border-radius:4px;box-shadow:0 2px 8px #6366f14d}.carousel-glow{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:radial-gradient(ellipse at center,rgba(99,102,241,.15) 0%,transparent 70%);pointer-events:none;z-index:-1}.demo-video-section{padding:5rem 2rem;background:var(--bg-surface);position:relative;overflow:hidden}.demo-video-section .section-header{text-align:center;margin-bottom:3rem}.demo-video-section .section-header h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.demo-video-section .section-header p{font-size:1.1rem;color:var(--text-secondary);max-width:500px;margin:0 auto}.video-container{max-width:400px;margin:0 auto;position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 20px 60px #00000026;background:#000;aspect-ratio:9 / 16}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}@media (max-width: 768px){.demo-video-section{padding:3rem 1rem}.demo-video-section .section-header h2{font-size:1.5rem}.video-container{max-width:300px}}.how-it-works-section{padding:6rem 3rem;background:linear-gradient(180deg,var(--bg-body) 0%,var(--bg-surface) 100%);position:relative;overflow:hidden}.how-it-works-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:60px;background:linear-gradient(180deg,transparent,var(--border-subtle))}.steps-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:0 auto;position:relative}.step-card{background:var(--bg-surface);border-radius:var(--radius-xl);padding:2rem;text-align:center;border:1px solid var(--border-subtle);position:relative;z-index:1}.step-number{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:28px;height:28px;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;font-weight:700;font-size:.85rem;border-radius:50%;display:grid;place-items:center;box-shadow:var(--shadow-primary-md)}.step-icon{width:64px;height:64px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--primary-50),var(--primary-100));border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--primary-600)}.step-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.step-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0}@media (max-width: 768px){.steps-container{grid-template-columns:1fr;gap:3rem}.how-it-works-section{padding:4rem 1.5rem}}@media (max-width: 900px){.carousel-container{max-width:320px}.carousel-btn--prev{left:8px}.carousel-btn--next{right:8px}.hero-visual{display:block;height:auto;margin-top:2rem}}@media (max-width: 900px){.hero-section{grid-template-columns:1fr;text-align:center;gap:3rem}.hero-content{align-items:center}.hero-pills{justify-content:center}.hero-example{padding-left:0;padding-top:.75rem;border-left:none;border-top:3px solid var(--logo-blue-light, var(--primary-300))}}@media (max-width: 767px){.launch-page{padding-bottom:calc(4rem + env(safe-area-inset-bottom,0))}.launch-page .site-chrome__brand{position:relative}.launch-page .site-chrome__brand-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.launch-page .site-chrome__inner{gap:.4rem;padding-inline:.75rem}.launch-page .site-chrome__actions{gap:.35rem;min-width:0}.launch-page .launch-nav-label--full{display:none}.launch-page .launch-nav-label--short{display:inline}.launch-page .launch-students-link{padding:.4rem .55rem;font-size:.75rem}.launch-page .settings-trigger{width:38px;height:38px;flex:0 0 auto}.hero-section{padding:2rem 1rem;gap:2rem}.hero-title{font-size:clamp(2rem,8vw,3rem);text-align:center}.hero-subtitle{font-size:1rem;text-align:center}.hero-eyebrow,.hero-example,.hero-trust{text-align:center}.hero-actions{flex-direction:column;width:100%}.hero-actions button{width:100%}.hero-actions button.primary{padding:1rem 1.5rem}.features-section{padding:3rem 1rem}.section-header h2{font-size:1.75rem}.feature-card{padding:1.5rem}.hero-content>div:last-child{justify-content:center}.launch-footer{padding:1.5rem 1rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0))}}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.confirm-dialog{margin:1rem;width:calc(100vw - 2rem)}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}.frame-picker-actions{flex-direction:row}.frame-picker-actions button{width:auto}}.worksheet-next-actions-toolbar{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}button.worksheet-next-actions-toolbar__btn{width:44px;height:44px;min-width:44px;min-height:44px}button.worksheet-next-actions-toolbar__btn--pdf{border-color:color-mix(in srgb,var(--primary-500) 35%,var(--border-subtle));background:color-mix(in srgb,var(--primary-500) 8%,var(--bg-surface));color:var(--primary-600, var(--primary-500))}button.worksheet-next-actions-toolbar__btn--pdf:hover:not(:disabled){border-color:var(--primary-500);background:color-mix(in srgb,var(--primary-500) 14%,var(--bg-surface));color:var(--primary-600, var(--primary-500))}button.worksheet-next-actions-toolbar__btn--send{color:var(--primary-600, var(--primary-500))}button.worksheet-next-actions-toolbar__btn--send:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500) 40%,var(--border-subtle));background:color-mix(in srgb,var(--primary-500) 10%,var(--bg-surface));color:var(--primary-600, var(--primary-500))}.worksheet-next-actions{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media (min-width: 640px){.worksheet-next-actions:not(.worksheet-next-actions--single){grid-template-columns:1fr 1fr;gap:1rem}}button.worksheet-next-actions__tile{display:flex;flex-direction:row;align-items:center;gap:.9rem;text-align:left;min-height:5rem;padding:1rem 1.15rem;width:100%;background:var(--bg-surface)!important;border:2px solid var(--border-subtle)!important;border-radius:var(--radius-lg, var(--radius-md));box-shadow:none!important;color:var(--text-main);cursor:pointer;filter:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}@media (min-width: 640px){button.worksheet-next-actions__tile{min-height:5.5rem;padding:1.15rem 1.25rem}}button.worksheet-next-actions__tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500) 45%,var(--border-subtle))!important;background:var(--bg-surface)!important;color:var(--text-main);transform:none;filter:none;box-shadow:var(--shadow-sm)!important}button.worksheet-next-actions__tile:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important}button.worksheet-next-actions__tile--primary{border-color:color-mix(in srgb,var(--primary-500) 35%,var(--border-subtle))!important;background:color-mix(in srgb,var(--primary-500) 8%,var(--bg-surface))!important}button.worksheet-next-actions__tile--primary:hover:not(:disabled){border-color:var(--primary-500)!important;background:color-mix(in srgb,var(--primary-500) 12%,var(--bg-surface))!important}button.worksheet-next-actions__tile--send:hover:not(:disabled){border-color:color-mix(in srgb,var(--tool-worksheets-ink, var(--primary-500)) 40%,var(--border-subtle))!important}.worksheet-next-actions__icon{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;flex:0 0 auto;background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.worksheet-next-actions__tile--primary .worksheet-next-actions__icon{background:color-mix(in srgb,var(--primary-500) 18%,#fff);color:var(--primary-600, var(--primary-500))}.worksheet-next-actions__tile--send .worksheet-next-actions__icon{background:color-mix(in srgb,var(--primary-500) 12%,#fff);color:var(--primary-600, var(--primary-500))}.worksheet-next-actions__body{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.worksheet-next-actions__title{font-weight:700;font-size:1.05rem;line-height:1.25;letter-spacing:-.01em;color:var(--text-main)}.worksheet-next-actions__hint{font-size:.85rem;line-height:1.35;font-weight:500;color:var(--text-secondary)}.pdf-export-collapsed{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.pdf-export-collapsed__hint{margin:0;font-size:.9rem}.pdf-frame-selector,.pdf-export-section{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:0}.pdf-export-section--premium{background:var(--tool-games-tint);border-color:color-mix(in srgb,var(--tool-games) 25%,transparent)}.pdf-export-section__header{margin-bottom:.75rem}.pdf-export-section__header h4,.pdf-frame-selector__header h4{margin:0 0 .25rem;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.pdf-section-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink);flex:0 0 auto}.pdf-section-icon--premium{background:color-mix(in srgb,var(--tool-games) 18%,#fff);color:var(--tool-games-ink)}.pdf-export-section__header p{margin:0}.pdf-export-section__content{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pdf-export-section__content--stack{flex-direction:column;align-items:flex-start;gap:.75rem}.pdf-type-choice{display:grid;grid-template-columns:1fr;gap:.85rem;width:100%}@media (min-width: 640px){.pdf-type-choice{grid-template-columns:1fr 1fr;max-width:40rem;margin-inline:auto;gap:1rem}}button.pdf-type-choice__tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.9rem;text-align:left;min-height:9.5rem;padding:1.35rem 1.25rem;width:100%;background:var(--bg-surface)!important;border:2px solid var(--border-subtle)!important;border-radius:var(--radius-lg, var(--radius-md));box-shadow:none!important;color:var(--text-main);cursor:pointer;filter:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}@media (min-width: 640px){button.pdf-type-choice__tile{min-height:12rem;padding:1.5rem}}button.pdf-type-choice__tile:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500) 50%,var(--border-subtle))!important;background:var(--bg-surface)!important;color:var(--text-main);transform:none;filter:none;box-shadow:var(--shadow-sm)!important}button.pdf-type-choice__tile--selected,button.pdf-type-choice__tile--selected:hover:not(:disabled){border-color:var(--primary-500)!important;background:color-mix(in srgb,var(--primary-500) 8%,var(--bg-surface))!important;color:var(--text-main);box-shadow:none!important}button.pdf-type-choice__tile--premium{background:var(--bg-surface)!important;border-color:var(--border-subtle)!important}button.pdf-type-choice__tile--premium.pdf-type-choice__tile--selected,button.pdf-type-choice__tile--premium.pdf-type-choice__tile--selected:hover:not(:disabled){border-color:var(--tool-games)!important;background:color-mix(in srgb,var(--tool-games) 10%,var(--bg-surface))!important;color:var(--text-main)}button.pdf-type-choice__tile--disabled,button.pdf-type-choice__tile:disabled{opacity:.55;cursor:not-allowed;color:var(--text-secondary);background:var(--bg-subtle)!important;box-shadow:none!important}.pdf-type-choice__icon{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:.85rem;background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink);flex:0 0 auto}.pdf-type-choice__icon--premium{background:color-mix(in srgb,var(--tool-games) 18%,#fff);color:var(--tool-games-ink)}.pdf-type-choice__body{display:flex;flex-direction:column;gap:.4rem;min-width:0;width:100%;color:inherit}.pdf-type-choice__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.pdf-type-choice__title{font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;color:var(--text-main)}.pdf-type-choice__desc{font-size:.85rem;line-height:1.35;font-weight:500;color:var(--text-secondary)}.pdf-type-choice__badge{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:9999px;background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.pdf-type-choice__hint{margin:0;font-size:.85rem;text-align:center}.pdf-type-choice__locked{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-top:.25rem}.pdf-type-choice__locked--emphasis .pdf-type-choice__hint{color:var(--text-main);font-weight:600}button.pdf-type-choice__buy{min-height:2.75rem;padding-inline:1.1rem}.pdf-type-choice__buy-hint{margin:0;font-size:.8rem;text-align:center}.pdf-frame-step{width:100%;max-width:28rem;margin-inline:auto}button.pdf-frame-step__cta{display:flex;align-items:center;gap:.9rem;width:100%;min-height:4.5rem;padding:1.1rem 1.25rem;text-align:left;background:var(--bg-surface)!important;border:2px solid var(--border-subtle)!important;border-radius:var(--radius-lg, var(--radius-md));box-shadow:none!important;color:var(--text-main);cursor:pointer;filter:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}button.pdf-frame-step__cta:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary-500) 50%,var(--border-subtle))!important;background:var(--bg-surface)!important;color:var(--text-main);transform:none;filter:none;box-shadow:var(--shadow-sm)!important}button.pdf-frame-step__cta--selected,button.pdf-frame-step__cta--selected:hover:not(:disabled){border-color:var(--primary-500)!important;background:color-mix(in srgb,var(--primary-500) 8%,var(--bg-surface))!important}.pdf-frame-step__icon{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink);flex:0 0 auto}.pdf-frame-step__label{font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--text-main)}.pdf-wizard-options{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;width:100%;max-width:28rem;margin-inline:auto}label.pdf-wizard-options__row{display:flex!important;flex-direction:row!important;align-items:center;gap:.75rem;margin:0!important;min-height:3.25rem;padding:.85rem 1rem;width:100%;text-transform:none!important;letter-spacing:normal!important;font-size:1rem;font-weight:600;color:var(--text-main);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none}label.pdf-wizard-options__row span{display:inline-flex;align-items:center;gap:.35rem;flex:1;min-width:0}label.pdf-wizard-options__row input[type=checkbox]{width:1.2rem;height:1.2rem;margin:0;padding:0;accent-color:var(--primary-500);flex-shrink:0;cursor:pointer}.pdf-wizard-review{position:relative;display:flex;flex-direction:column;gap:.85rem}.pdf-wizard-review__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.pdf-wizard-review__list .form-wizard__summary{margin:0}button.pdf-export-advanced-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;padding:0;background:none!important;border:none!important;color:var(--primary-600);font-weight:600;align-self:flex-start;box-shadow:none!important}button.pdf-export-advanced-toggle:hover:not(:disabled){color:var(--primary-700);background:none!important;transform:none!important;box-shadow:none!important}.pdf-export-advanced-toggle__chevron{display:inline-block;transition:transform .16s ease;font-size:.75rem}.pdf-export-advanced-toggle__chevron.is-open{transform:rotate(180deg)}.pdf-export-advanced{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.25rem;padding:.75rem;background:var(--slate-50);border-radius:var(--radius-sm);width:100%}label.pdf-export-advanced-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;margin:0!important;width:auto;text-transform:none!important;letter-spacing:normal!important;font-size:.9rem;font-weight:500;color:var(--slate-700);cursor:pointer}label.pdf-export-advanced-checkbox input[type=checkbox]{width:1rem;height:1rem;margin:0;padding:0;accent-color:var(--primary-500);flex-shrink:0;cursor:pointer}.pdf-export-section__checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem;padding-left:1.5rem}.pdf-export-section__checkbox input[type=checkbox]{position:absolute;left:0;top:50%;margin:0;width:auto;transform:translateY(-50%) scale(.9);transform-origin:left center}.pill.premium{font-size:.7rem;padding:.2rem .5rem;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border-radius:9999px;font-weight:600}.illustrator-existing-pdf{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-surface-2);border-radius:.5rem;margin-bottom:0;font-size:.9rem}.illustrator-existing-pdf__icon{flex-shrink:0}.illustrator-existing-pdf button.link{background:none;border:none;padding:0;color:var(--primary-600);text-decoration:underline;cursor:pointer;font-size:inherit}.illustrator-existing-pdf button.link:hover{color:var(--primary-700)}.illustrator-panel .form{padding:0}.illustrator-panel .alert{margin-bottom:1rem}.toast-stack{position:fixed;top:clamp(1rem,2vw,2rem);right:clamp(1rem,2vw,2rem);display:flex;flex-direction:column;gap:.75rem;z-index:var(--z-toast);pointer-events:none}.toast{pointer-events:auto;position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:start;padding:.9rem 1rem;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-width:min(380px,92vw);animation:toast-in .22s ease-out;overflow:hidden}.toast--info{border-left:4px solid var(--primary-500)}.toast--success{border-left:4px solid var(--accent-500)}.toast--warning{border-left:4px solid #f59e0b}.toast--error{border-left:4px solid #ef4444}.toast__icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.95rem;background:var(--primary-100);color:var(--primary-700)}.toast--success .toast__icon{background:#14b8a626;color:var(--accent-600)}.toast--warning .toast__icon{background:#f59e0b26;color:#b45309}.toast--error .toast__icon{background:#ef44441f;color:#dc2626}.toast__content{display:flex;flex-direction:column;gap:.15rem}.toast__title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-main)}.toast__message{margin:0;font-size:.9rem;color:var(--text-secondary)}.toast__close{border:none;background:transparent;color:var(--slate-500);font-size:.95rem;line-height:1;padding:.25rem .35rem;cursor:pointer;border-radius:.4rem}.toast__close:hover{background:var(--slate-100);color:var(--slate-700)}@keyframes toast-in{0%{opacity:0;transform:translate3d(0,-8px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@media (max-width: 720px){.toast-stack{top:auto;bottom:1rem;left:1rem;right:1rem}.toast{width:100%}}@media (max-width: 767px){.toast{max-width:100%}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.info-tooltip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:var(--slate-400);cursor:help;margin-left:.5rem;position:relative;vertical-align:middle;transform:translateY(-2px);transition:color .2s}.info-tooltip svg{width:100%;height:100%}.info-tooltip:hover{color:var(--primary-500)}.info-tooltip__bubble{position:fixed;background-color:var(--slate-800);color:var(--bg-body);padding:.6rem .8rem;border-radius:var(--radius-md);font-size:.8rem;line-height:1.4;font-weight:500;text-align:center;white-space:pre-line;width:max-content;max-width:min(280px,90vw);box-shadow:var(--shadow-xl);z-index:2000;pointer-events:none}.info-tooltip__arrow{position:absolute;width:0;height:0;transform:translate(-50%);border-width:6px;border-style:solid}.info-tooltip__bubble--above .info-tooltip__arrow{top:100%;border-color:var(--slate-800) transparent transparent transparent}.info-tooltip__bubble--below .info-tooltip__arrow{bottom:100%;border-color:transparent transparent var(--slate-800) transparent}.exercises-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.exercises-header h4{margin:0}.exercises-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:2rem}.exercises-list.collapsed{gap:.75rem}.exercise-card{display:flex;gap:.75rem;background:var(--bg-surface);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);transition:box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.exercise-card:hover{box-shadow:var(--shadow-card-hover);border-color:color-mix(in srgb,var(--tool-worksheets) 35%,transparent)}.exercise-card .drag-handle{display:flex;align-items:flex-start;padding-top:.25rem;cursor:grab;color:var(--slate-400);touch-action:none;flex-shrink:0}.exercise-card .drag-handle:hover{color:var(--slate-600)}.exercise-card .drag-handle:active{cursor:grabbing}.exercise-card .exercise-content{flex:1;min-width:0}.exercise-head{display:flex;flex-direction:column;gap:.75rem}.exercise-head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.exercise-actions-group{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.line-actions-menu{position:absolute;top:0;right:0}.line-actions-menu--centered{top:-.75rem;transform:none}.line-actions-menu__trigger{min-width:2rem;min-height:2rem;background:var(--bg-surface);border:1px solid var(--primary-300);color:var(--primary-600)}.line-actions-menu__trigger:hover{background:var(--primary-50);border-color:var(--primary-400)}.essay-outline-actions-trigger{min-width:2.2rem;min-height:2.2rem}.essay-outline-actions-trigger svg{width:1.2rem;height:1.2rem}.line-actions-menu__dropdown{position:absolute;bottom:calc(100% + .35rem);right:0;min-width:10.5rem;background:var(--bg-surface);border:1px solid var(--slate-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}.line-actions-menu__item{width:100%;display:block;text-align:left;background:var(--bg-surface);border:0;border-radius:0;color:var(--slate-700);font-weight:600;font-size:.875rem;padding:.5rem .75rem;cursor:pointer;box-shadow:none;transform:none;filter:none;transition:background-color var(--duration-fast) var(--ease-out)}.line-actions-menu__item:hover{background:var(--slate-50);box-shadow:none;transform:none;filter:none}.line-actions-menu__item:active{transform:none}.line-actions-menu__item:disabled{opacity:.6;cursor:not-allowed}.line-actions-menu__item.danger{color:var(--danger)}.play-line-content{position:relative;padding-right:2.75rem}.play-line-body{margin-top:0}.play-scene-navigation{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exercise-title-collapsed{font-size:.95rem;font-weight:600;color:var(--slate-700);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.exercise-number{flex:0 0 auto;display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--tool-worksheets-grad);color:#fff;font-size:.82rem;font-weight:800}.pill--type{background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.pill--difficulty{background:var(--slate-100);color:var(--slate-600);border:1px solid var(--slate-200)}.exercise-question-body{display:block;font-size:1.05rem;line-height:1.6;color:var(--slate-900);margin-top:.75rem}.exercise-question{display:block;font-size:1.05rem;line-height:1.6;color:var(--slate-900)}.exercise-question table{border-collapse:collapse;margin:1rem 0;width:100%;max-width:100%;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.exercise-question th,.exercise-question td{border:1px solid var(--slate-300);padding:.5rem 1rem;text-align:left}.exercise-question th{background:var(--slate-100);font-weight:600}.exercise-question tr:nth-child(2n){background:var(--slate-50)}.pill{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.02em;transition:transform var(--duration-fast) var(--ease-out)}.pill:hover{transform:scale(1.03)}.pill.ghost{background:var(--slate-100);color:var(--slate-600);border:1px solid var(--slate-200)}.exercise-edit-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.exercise-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--slate-100)}.exercise-actions--top{margin-top:0;margin-bottom:1rem;padding-top:0;padding-bottom:1rem;border-top:none;border-bottom:1px solid var(--slate-100)}.diagram-section{margin-top:1rem;padding:.75rem;border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--slate-50)}.diagram-section-summary{cursor:pointer;font-weight:500;color:var(--slate-700);display:flex;align-items:center;-webkit-user-select:none;user-select:none}.diagram-section-summary:hover{color:var(--primary-600)}.diagram-section[open] .diagram-section-summary{margin-bottom:.5rem}.diagram-section-content{padding-top:.5rem;border-top:1px solid var(--slate-200)}.diagram-indicator{display:inline-flex;align-items:center;vertical-align:middle;color:var(--primary-500)}.exercise-diagram-view{display:flex;justify-content:flex-end;margin:.9rem 0 1rem;padding:0;background:transparent;border-radius:0;border:none}.exercise-diagram-view svg{max-width:60%;height:auto}.diagram-renderer{display:inline-block;width:100%;border:1px solid var(--slate-200);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface)}.diagram-renderer:focus{outline:2px solid var(--primary-500);outline-offset:2px}.diagram-svg-container{display:flex;align-items:center;justify-content:center;padding:.75rem}.diagram-svg-container svg{max-width:100%;max-height:100%;display:block;height:auto}.diagram-placeholder{display:flex;align-items:center;justify-content:center;min-height:160px;background:var(--slate-50)}.diagram-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--slate-600);text-align:center}.diagram-placeholder-content svg{opacity:.55;color:var(--slate-700)}.diagram-description{font-size:.85rem;line-height:1.3;max-width:520px;color:var(--slate-700)}.diagram-editor{border:1px solid var(--slate-200);border-radius:var(--radius-md);padding:1rem;background:var(--bg-surface)}.diagram-editor--advanced{background:var(--bg-surface)}.diagram-editor__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.diagram-editor__header h4{margin:0;font-size:1rem}.diagram-editor__error{margin:.75rem 0;padding:.75rem;border-radius:var(--radius-md);background:#ef444414;color:#b91c1c;border:1px solid rgba(239,68,68,.18)}.diagram-editor__preview{display:flex;flex-direction:column;gap:.75rem}.diagram-editor__empty{text-align:center;padding:.5rem 0}.diagram-editor__actions{display:flex;gap:.5rem;flex-wrap:wrap}.diagram-editor__json-wrapper{border:1px solid var(--slate-200);border-radius:var(--radius-md);overflow:hidden}.diagram-editor__json-input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;padding:.75rem;border:none;outline:none;resize:vertical;background:var(--slate-50)}.visual-diagram-canvas{display:flex;flex-direction:column;gap:.75rem}.visual-diagram-canvas__toolbar{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.visual-diagram-canvas__tools{display:flex;gap:.5rem;flex-wrap:wrap}.visual-diagram-canvas__tools button.active{background:var(--logo-blue-main);color:var(--text-on-blue);border-color:var(--logo-blue-main);box-shadow:var(--shadow-primary-sm, none)}.visual-diagram-canvas__tools button.active:hover:not(:disabled){background:var(--logo-blue-dark);border-color:var(--logo-blue-dark)}.visual-diagram-canvas__label-draft{display:flex;align-items:center;gap:.5rem}.visual-diagram-canvas__shape-picker{display:flex;gap:.35rem;flex-wrap:wrap}.visual-diagram-canvas__shape-picker button.active{background:var(--logo-blue-main);color:var(--text-on-blue);border-color:var(--logo-blue-main)}.visual-diagram-canvas__shape-picker button.active:hover:not(:disabled){background:var(--logo-blue-dark);border-color:var(--logo-blue-dark)}.visual-diagram-canvas__label-draft input{border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:.35rem .5rem;min-width:180px;background:var(--bg-surface)}.visual-diagram-canvas__symbol-picker{display:flex;gap:.75rem;flex-wrap:wrap;width:100%}.visual-diagram-canvas__symbol-group{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--bg-muted, var(--slate-50))}.visual-diagram-canvas__symbol-group-title{font-size:.9rem;font-weight:600;color:var(--slate-700)}.visual-diagram-canvas__symbol-kinds button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.visual-diagram-canvas__symbol-kinds button.active:hover:not(:disabled){background:var(--primary-dark, var(--primary));border-color:var(--primary-dark, var(--primary))}.visual-diagram-canvas__symbol-kinds{display:flex;gap:.35rem;flex-wrap:wrap;max-width:340px}.visual-diagram-canvas__symbol-properties{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem .75rem;width:100%;padding:.6rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--bg-muted, var(--slate-50))}.visual-diagram-canvas__symbol-properties-title{grid-column:1 / -1;font-size:.85rem;font-weight:600;color:var(--slate-700)}.visual-diagram-canvas__symbol-field{display:flex;flex-direction:column;gap:.3rem}.visual-diagram-canvas__symbol-field>span{font-size:.78rem;color:var(--slate-600)}.visual-diagram-canvas__symbol-field input,.visual-diagram-canvas__symbol-field select{border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:.3rem .45rem;background:var(--bg-surface);min-height:30px}.visual-diagram-canvas__symbol-field input[type=range]{padding:0}.visual-diagram-canvas__scale-control{display:flex;align-items:center;gap:.5rem;min-height:1.75rem}.visual-diagram-canvas__scale-control input[type=range]{cursor:pointer;accent-color:var(--blue-500)}.visual-diagram-canvas__select-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.visual-diagram-canvas__stage-wrap{position:sticky;top:.75rem;z-index:2}.visual-diagram-canvas__scale-control--hidden{visibility:hidden;pointer-events:none}.visual-diagram-canvas__hint{display:inline-flex;align-items:center;min-height:1.25rem;white-space:nowrap}@media (max-width: 767px),(max-height: 700px){.visual-diagram-canvas__stage-wrap{position:static}}.visual-diagram-canvas__stage{position:relative;width:min(100%,640px,calc(62dvh * var(--diagram-aspect, 4 / 3)));margin:0 auto;aspect-ratio:var(--diagram-aspect, 4 / 3);border:1px solid var(--slate-200);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface)}.visual-diagram-canvas__background{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:0;pointer-events:none}.visual-diagram-canvas__background svg{width:100%;height:100%;display:block}.visual-diagram-canvas__overlay{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.visual-diagram-canvas__element--selected{filter:drop-shadow(0 0 .5px rgba(14,165,233,.85))}.visual-diagram-canvas__text-edit{position:absolute;transform:translate(-50%,-50%);z-index:10}.visual-diagram-canvas__text-edit input{border:2px solid var(--primary);border-radius:var(--radius-sm);padding:.25rem .5rem;font-size:14px;font-family:sans-serif;min-width:80px;text-align:center;background:var(--bg-surface);box-shadow:0 2px 8px #00000026;outline:none}.visual-diagram-canvas__text-edit input:focus{border-color:var(--primary-dark, var(--primary))}.rich-text-editor,.markdown-editor{border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.markdown-editor__body{display:grid;grid-template-columns:1fr 1fr;gap:0}.markdown-editor__body--simple{grid-template-columns:1fr}.markdown-editor__pane{min-width:0}.markdown-editor__textarea{width:100%;resize:none;border:none;outline:none;padding:1rem;background:transparent;color:inherit;font:inherit;line-height:1.6;overflow-y:hidden}.markdown-editor__preview{border-left:1px solid var(--slate-200);padding:1rem;overflow:auto}.markdown-editor__preview table{border-collapse:collapse;margin:1rem 0;width:100%;max-width:100%}.markdown-editor__preview th,.markdown-editor__preview td{border:1px solid var(--slate-300);padding:.5rem .75rem;text-align:left;vertical-align:top}.markdown-editor__preview th{background:var(--slate-100);font-weight:600}.markdown-editor__preview tr:nth-child(2n){background:var(--slate-50)}.markdown-editor__preview p{margin:0 0 .5rem}.markdown-editor__preview p:last-child{margin-bottom:0}.markdown-editor__preview .katex{cursor:pointer;border-radius:4px;transition:background-color .15s ease}.markdown-editor__preview .katex:hover{background:var(--primary-50)}.markdown-editor__help{padding:.5rem 1rem;background:var(--slate-50);border-top:1px solid var(--slate-200);font-size:.75rem;color:var(--slate-500)}.markdown-editor__simple-bar{display:flex;justify-content:flex-end;align-items:center;padding:.35rem .5rem;background:var(--slate-50);border-bottom:1px solid var(--slate-200)}.rte-toolbar-spacer{flex:1;min-width:.5rem}.markdown-editor__rich-toggle{display:inline-flex;align-items:center;gap:.4rem;width:auto!important;height:auto!important;padding:.15rem .25rem!important;border:none;border-radius:4px;background:transparent;color:var(--slate-600);cursor:pointer}.markdown-editor__rich-toggle:hover:not(:disabled){background:var(--slate-200)}.markdown-editor__rich-toggle:disabled{opacity:.5;cursor:not-allowed}.markdown-editor__rich-toggle-label{font-size:.7rem;font-weight:500;color:var(--slate-500);white-space:nowrap}.markdown-editor__rich-toggle-switch{position:relative;display:inline-block;width:1.7rem;height:.95rem;flex-shrink:0;border:1.5px solid #111;border-radius:999px;background:transparent;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease}.markdown-editor__rich-toggle-knob{position:absolute;top:50%;left:.1rem;width:.6rem;height:.6rem;border-radius:50%;background:#111;transform:translateY(-50%);transition:transform .15s ease,background-color .15s ease}.markdown-editor__rich-toggle[aria-checked=true] .markdown-editor__rich-toggle-switch{background:#111;border-color:#111}.markdown-editor__rich-toggle[aria-checked=true] .markdown-editor__rich-toggle-knob{background:#fff;transform:translate(.7rem,-50%)}.markdown-editor:focus-within{border-color:var(--primary-300);box-shadow:0 0 0 3px var(--focus-ring)}.math-builder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.math-builder-dialog{width:min(840px,100%);max-height:min(90vh,860px);overflow:auto;background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--slate-200);box-shadow:var(--shadow-xl);padding:1rem}.math-builder-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.math-builder-header h4{margin:0}.math-builder-mode-toggle{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--slate-50);margin-bottom:.75rem}.math-builder-mode-toggle button{border:none;border-radius:var(--radius-sm);background:transparent;padding:.35rem .65rem;cursor:pointer;color:var(--slate-600)}.math-builder-mode-toggle button.active{background:var(--primary-100);color:var(--primary-700);font-weight:600}.math-builder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.4rem;margin-bottom:.75rem}.math-builder-grid button{border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--slate-700);padding:.4rem .55rem;cursor:pointer;font-size:.8rem}.math-builder-grid button:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700)}.math-builder-menu{position:relative}.math-builder-menu-trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem}.math-builder-menu-list{position:absolute;top:calc(100% + .3rem);left:0;right:0;z-index:20;display:grid;gap:.2rem;padding:.25rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--bg-surface);box-shadow:var(--shadow-md)}.math-builder-menu-list button{text-align:left}.math-builder-label{display:block;font-size:.8rem;color:var(--slate-600);margin-bottom:.35rem}.math-builder-textarea{width:100%;min-height:120px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:.65rem;background:var(--bg-surface);color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem;line-height:1.5}.math-builder-mathfield{width:100%;min-height:120px;border:1px solid var(--slate-200);border-radius:var(--radius-sm);padding:.65rem;background:var(--bg-surface);color:inherit;font-size:1rem}.math-builder-textarea:focus{outline:none;border-color:var(--primary-300);box-shadow:0 0 0 3px var(--focus-ring)}.math-builder-mathfield:focus{outline:none;border-color:var(--primary-300);box-shadow:0 0 0 3px var(--focus-ring)}.math-builder-mathfield::part(virtual-keyboard-toggle),.math-builder-mathfield::part(menu-toggle){display:none!important}.math-builder-preview{margin-top:.75rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);background:var(--slate-50);padding:.75rem}.math-builder-preview strong{display:block;margin-bottom:.45rem;color:var(--slate-700)}.math-builder-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.85rem}@media (max-width: 700px){.math-builder-dialog{padding:.85rem}.math-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.math-builder-header{align-items:flex-start;flex-direction:column}}.rte-toolbar{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:var(--slate-50);border-bottom:1px solid var(--slate-200);flex-wrap:wrap}.rte-toolbar-group{display:flex;align-items:center;gap:2px}.rte-toolbar-divider{width:1px;height:1.5rem;background:var(--slate-200);margin:0 .25rem}.rte-toolbar button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--slate-600);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease}.rte-toolbar button:hover{background:var(--slate-200);color:var(--slate-900)}.rte-toolbar button.active{background:var(--primary-100);color:var(--primary-700)}.rte-toolbar button.danger:hover{background:#fee2e2;color:#dc2626}.rte-toolbar .table-icon,.rte-toolbar .math-icon{font-size:1rem}.rte-content{padding:1rem;min-height:150px}.tiptap-editor-content{outline:none;line-height:1.6}.tiptap-editor-content:focus{outline:none}.tiptap-editor-content p{margin:0 0 .5rem}.tiptap-editor-content p:last-child{margin-bottom:0}.tiptap-editor-content.is-empty:before{content:attr(data-placeholder);color:var(--slate-400);pointer-events:none;position:absolute;height:0}.tiptap-editor-content .tiptap-table{border-collapse:collapse;margin:1rem 0;width:100%;table-layout:fixed}.tiptap-editor-content table{border-collapse:collapse;margin:1rem 0;width:100%}.tiptap-editor-content th,.tiptap-editor-content td{border:1px solid var(--slate-300);padding:.5rem .75rem;text-align:left;vertical-align:top;position:relative}.tiptap-editor-content th{background:var(--slate-100);font-weight:600}.tiptap-editor-content .selectedCell{background:var(--primary-50)}.tiptap-editor-content .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--primary-400);pointer-events:none}.tiptap-editor-content .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--primary-400);cursor:col-resize}.tiptap-editor-content .tableWrapper{overflow-x:auto}.tiptap-editor-content .resize-cursor{cursor:col-resize}.tiptap-editor-content .Tiptap-mathematics-editor,.tiptap-editor-content .Tiptap-mathematics-render{display:inline;padding:0 2px}.tiptap-editor-content .Tiptap-mathematics-editor{font-family:monospace;background:var(--primary-50);border-radius:2px;padding:1px 4px}.tiptap-editor-content .Tiptap-mathematics-render .katex{font-size:1.1em}.tiptap-editor-content .Tiptap-mathematics-editor--block,.tiptap-editor-content .Tiptap-mathematics-render--block{display:block;text-align:center;margin:1rem 0}.tiptap-editor-content ul,.tiptap-editor-content ol{padding-left:1.5rem;margin:.5rem 0}.tiptap-editor-content li{margin:.25rem 0}.rte-bubble-menu{display:flex;background:var(--slate-800);border-radius:var(--radius-sm);padding:.25rem;gap:2px;box-shadow:var(--shadow-lg)}.rte-bubble-menu button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:4px;background:transparent;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;transition:background .15s ease}.rte-bubble-menu button:hover{background:var(--slate-700)}.rte-bubble-menu button.active{background:var(--primary-600)}.rte-help{display:flex;gap:1.5rem;padding:.5rem 1rem;background:var(--slate-50);border-top:1px solid var(--slate-200);font-size:.75rem;color:var(--slate-500)}.rte-help span{display:flex;gap:.25rem}.rte-help strong{color:var(--slate-600)}.rich-text-editor:focus-within{border-color:var(--primary-300);box-shadow:0 0 0 3px var(--focus-ring)}@media (max-width: 900px){.markdown-editor__body{grid-template-columns:1fr}.markdown-editor__preview{border-left:none;border-top:1px solid var(--slate-200)}}.exercise-config-panel{margin-top:.5rem;background:var(--surface-color);padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.game-detail__title-wrap{flex:1;min-width:0}.game-detail__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.game-detail__no-time-limit{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;font-size:.9rem;font-weight:600;color:var(--slate-700);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.game-detail__no-time-limit input{width:1rem;height:1rem;accent-color:var(--tool-games-ink, var(--slate-700));cursor:pointer}.game-detail__title{flex:1 1 14rem;min-width:min(100%,14rem);width:auto;font-size:1.35rem;font-weight:700}.game-question{position:relative;padding-right:2.75rem}.game-question__remove{position:absolute;top:0;right:0}.game-question>textarea{display:block;width:100%}.game-question__answers{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.game-question__answer-row{display:flex;align-items:center;gap:.5rem}.game-question__answers--odd{border-left:3px solid #7c3aed;padding-left:.6rem}.game-question__categorize{border-left:3px solid #0ea5e9;padding-left:.6rem}.game-question__ordering{border-left:3px solid #14b8a6;padding-left:.6rem}.game-question__order-row{display:flex;align-items:center;gap:.5rem;background:#fff;border-radius:.5rem;transition:box-shadow .15s ease,transform .15s ease}.game-question__order-row.is-dragging{box-shadow:0 8px 20px #14b8a64d;transform:scale(1.01);position:relative;z-index:2}.game-question__order-handle{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;align-self:stretch;color:#14b8a6;font-size:1.1rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.game-question__order-handle:active{cursor:grabbing}.game-question__order-index{min-width:1.4rem;font-weight:700;color:#0f766e;text-align:right}.game-question__buckets{display:flex;flex-direction:column;gap:.35rem;margin:.3rem 0 .6rem}.game-question__bucket-row,.game-question__item-row{display:flex;align-items:center;gap:.5rem}.game-question__item-row input{flex:1 1 auto;min-width:0}.game-question__item-bucket{flex:0 0 40%;min-width:0}.game-question__tf{display:flex;align-items:flex-start;gap:.75rem}.game-question__tf textarea{flex:1;min-width:0}.game-question__tf-select{width:auto;min-width:7rem;flex-shrink:0;align-self:center}@media (max-width: 600px){.game-question__tf{flex-direction:column}.game-question__tf textarea{width:100%}.game-question__tf-select{align-self:flex-start}.game-question__item-row{flex-wrap:wrap}.game-question__item-row input{flex:1 1 100%}.game-question__item-bucket{flex:1 1 auto}.game-detail__pair{flex-wrap:wrap}.game-detail__pair input{flex:1 1 100%}.game-detail__pair>span[aria-hidden]{display:none}}.game-detail__pair{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}.game-detail__pair input{flex:1;min-width:0}.game-question__answer,.game-detail__pair-item{display:flex;flex-direction:column;gap:.2rem}.game-detail [aria-invalid=true]{border-color:var(--error-color);box-shadow:0 0 0 1px var(--error-color)}.game-detail .field-error{margin:.1rem 0 0;font-size:.85rem;color:var(--error-color);text-transform:none;letter-spacing:normal;font-weight:600}.game-round__header{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.85rem}.game-round__badge{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--tool-games-grad);color:#fff;font-weight:800;font-size:.9rem;flex:0 0 auto}.game-round__title{margin:0;font-size:1.05rem}.pill--game-type{background:var(--tool-games-tint);color:var(--tool-games-ink)}.game-round__time{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;margin-bottom:0;text-transform:none;letter-spacing:normal}.game-round__time-label{font-size:.8rem;font-weight:600;color:var(--slate-600);white-space:nowrap}.pill--game-time{background:var(--slate-100);color:var(--slate-600);border:1px solid var(--slate-200)}.game-detail button.ghost.small.danger{border-color:transparent;color:var(--slate-400);background:transparent}.game-detail button.ghost.small.danger:hover:not(:disabled){background:#fee2e2;color:#dc2626;border-color:transparent}.game-question__answer.is-correct .game-question__answer-row{background:#10b9811a;border-radius:var(--radius-sm);padding:.35rem .45rem;box-shadow:inset 0 0 0 1px #10b98159}.game-question__answer.is-correct input[type=radio]{accent-color:#16a34a}.exercise-config-header{display:grid;grid-template-columns:1fr 6.5rem 6.5rem 2.5rem;align-items:center;gap:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-subtle)}.exercise-config-header__label{font-size:.9rem;font-weight:600;color:var(--slate-700, var(--text-main));text-transform:none;letter-spacing:normal;display:flex;align-items:center;gap:.25rem}.exercise-config-header__label--center{justify-content:center;gap:.15rem}.exercise-config-row{display:grid;grid-template-columns:1fr 6.5rem 6.5rem 2.5rem;align-items:center;gap:.5rem;padding:.35rem 0}.exercise-config-row select{font-size:.9rem}.exercise-config-row select:nth-child(2),.exercise-config-row select:nth-child(3){text-align:center}.exercise-config-add-row{display:grid;grid-template-columns:1fr 6.5rem 6.5rem auto;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-surface);border-radius:var(--radius-md);border:2px dashed var(--border-subtle)}.exercise-config-add-row select{font-size:.9rem}.exercise-config-add-row select:nth-child(2),.exercise-config-add-row select:nth-child(3){text-align:center}.exercise-config-add-actions{display:flex;gap:.35rem;flex-wrap:wrap}.exercise-add-wizard{margin-top:.35rem;padding:.7rem .75rem .65rem;border:1px solid color-mix(in srgb,var(--tool-worksheets, var(--slate-400)) 28%,var(--border-subtle));border-radius:var(--radius-md);background:color-mix(in srgb,var(--tool-worksheets, var(--slate-400)) 4%,var(--bg-surface));display:flex;flex-direction:column;gap:.7rem;box-shadow:inset 0 1px color-mix(in srgb,#fff 60%,transparent)}.exercise-add-wizard__steps{display:flex;list-style:none;margin:0;padding:0}.exercise-add-wizard__step{flex:1 1 0;min-width:0;position:relative;display:flex;justify-content:center}.exercise-add-wizard__step:not(:first-child):before{content:"";position:absolute;top:.7rem;right:50%;left:-50%;height:2px;background:var(--border-subtle);z-index:0}.exercise-add-wizard__step--done:before,.exercise-add-wizard__step--active:before{background:var(--primary-500)}.exercise-add-wizard__step-button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:0;background:none;border:none;border-radius:0;box-shadow:none;font:inherit;color:var(--text-muted);cursor:default}.exercise-add-wizard__step-button,.exercise-add-wizard__step-button:disabled{background:none;border:none;border-radius:0;box-shadow:none;padding:0}.exercise-add-wizard__step--done .exercise-add-wizard__step-button{cursor:pointer}.exercise-add-wizard__step-index{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:999px;background:var(--bg-body, #fff);border:2px solid var(--border-subtle);color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1}.exercise-add-wizard__step--active .exercise-add-wizard__step-index{border-color:var(--primary-500);color:var(--primary-600, var(--primary-500))}.exercise-add-wizard__step--done .exercise-add-wizard__step-index{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.exercise-add-wizard__step-title{font-size:.72rem;font-weight:600;text-align:center;white-space:nowrap}.exercise-add-wizard__step--active .exercise-add-wizard__step-title{color:var(--text-main)}.exercise-add-wizard__body{display:flex;flex-direction:column;gap:.55rem}.exercise-add-wizard__heading{margin:0;font-size:.98rem;font-weight:700;line-height:1.25;color:var(--text-main);text-align:center}.exercise-add-wizard__heading:focus{outline:none}.exercise-add-wizard__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.15rem}.exercise-add-wizard__options{display:flex;flex-direction:column;gap:.75rem}.exercise-add-wizard__picked{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface)}.exercise-add-wizard__picked .exercise-type-card__icon{width:1.9rem;height:1.9rem}.exercise-add-wizard__picked-label{flex:1;min-width:0;font-size:.9rem;font-weight:700;color:var(--text-main)}.exercise-add-wizard__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.exercise-add-wizard__fields:has(>:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.exercise-add-wizard__field{display:flex;flex-direction:column;gap:.3rem;margin:0;min-width:0}.exercise-add-wizard__field-label{display:inline-flex;align-items:center;gap:.2rem;font-size:.8rem;font-weight:600;color:var(--slate-700, var(--text-main))}.exercise-type-picker__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}@media (min-width: 640px){.exercise-type-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 900px){.exercise-type-picker__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.exercise-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:4.6rem;padding:.6rem .65rem;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card, 0 1px 2px rgba(15, 23, 42, .04));cursor:pointer;color:inherit;font:inherit;transition:border-color var(--duration-normal, .15s) var(--ease-out, ease),box-shadow var(--duration-normal, .15s) var(--ease-out, ease),transform var(--duration-normal, .15s) var(--ease-out, ease);animation:exerciseTypeCardIn var(--duration-slow, .28s) var(--ease-out, ease) both}@keyframes exerciseTypeCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.exercise-type-card{animation:none}}.exercise-type-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--tool-worksheets, var(--slate-500)) 45%,var(--border-subtle));box-shadow:var(--shadow-card-hover, 0 6px 16px -8px rgba(15, 23, 42, .18));transform:translateY(-2px)}.exercise-type-card:active:not(:disabled){transform:translateY(0) scale(.99)}.exercise-type-card:focus-visible{outline:3px solid color-mix(in srgb,var(--tool-worksheets, var(--slate-500)) 40%,transparent);outline-offset:2px}.exercise-type-card:disabled{opacity:.55;cursor:not-allowed}.exercise-type-card__icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:var(--radius-sm);color:var(--tool-worksheets-ink, #fff);background:var(--tool-worksheets-grad, var(--tool-worksheets, #0f766e));flex-shrink:0}.exercise-type-card__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.exercise-type-card__name{font-size:.86rem;font-weight:700;line-height:1.25;color:var(--text-main)}.exercise-type-card__desc{font-size:.72rem;line-height:1.3;color:var(--text-muted, var(--slate-500))}@media (max-width: 480px){.exercise-add-wizard__fields,.exercise-add-wizard__fields:has(>:nth-child(3)){grid-template-columns:1fr}}.exercise-controls-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem;flex-wrap:wrap}.exercise-controls-row__label{display:inline-flex;align-items:center;gap:.35rem;font-size:.95rem;font-weight:700;color:var(--text-main)}.exercise-controls-buttons{display:flex;gap:.5rem;flex-wrap:wrap}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){.exercise-card{padding:1rem}.exercise-head-row{flex-direction:column;align-items:flex-start}.exercise-actions-group{display:flex;flex-direction:row;width:100%;gap:.75rem;flex-wrap:wrap}.exercise-actions-group button{flex:1;justify-content:center}.title-edit-row{flex-direction:column!important;gap:.75rem!important}.title-edit-row input,.title-edit-row button{width:100%}.rte-toolbar{padding:.5rem .25rem;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.rte-toolbar button{width:2.25rem;height:2.25rem;flex-shrink:0}.rte-toolbar-divider{display:none}.rte-help{flex-direction:column;gap:.5rem;font-size:.7rem}.exercise-config-panel{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.5rem;padding:0 .5rem}.exercise-config-header,.exercise-config-row,.exercise-config-add-row{min-width:0;gap:.35rem}.exercise-config-header,.exercise-config-row{grid-template-columns:minmax(6rem,1fr) 3.25rem 3.25rem 1.75rem!important}.exercise-config-header:has(>:nth-child(5)),.exercise-config-row:has(>:nth-child(5)){grid-template-columns:minmax(5rem,1fr) 3.5rem 4rem 3rem 1.75rem!important}.exercise-config-add-row{grid-template-columns:minmax(6rem,1fr) 3.25rem 4rem auto!important}.exercise-config-add-row:has(>:nth-child(5)){grid-template-columns:minmax(5rem,1fr) 3.5rem 4rem 3rem auto!important}.exercise-config-header__label--center .info-tooltip{display:none}.exercise-config-header__label--center{font-size:.8rem}.exercise-controls-row{flex-direction:column;align-items:stretch!important;gap:.75rem}.exercise-controls-row .exercise-controls-buttons{flex-wrap:wrap;justify-content:flex-start}.exercise-controls-row button{flex:1;min-width:0;text-align:center;justify-content:center}}.worksheet-block-editor{margin-top:1.5rem;min-width:0;max-width:100%}.worksheet-block-editor__header{display:flex;align-items:center;gap:.65rem;justify-content:space-between;flex-wrap:wrap}.worksheet-block-editor__header h4{margin:0}.worksheet-points-inline{display:inline-flex;align-items:center;gap:.15rem;vertical-align:baseline}.worksheet-points-inline__edit{padding:.15rem;line-height:0;color:var(--text-muted)}.worksheet-points-inline__edit:hover:not(:disabled){color:var(--text)}.worksheet-points-inline__input{width:3.5rem;padding:.15rem .35rem;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9em;font-variant-numeric:tabular-nums}.worksheet-block-editor__add{display:grid;gap:.55rem;margin-top:.75rem;justify-items:start}.worksheet-block-editor__add-label{margin:0;font-size:.9rem;color:var(--text-muted)}.worksheet-block-editor__type-grid{display:flex;flex-wrap:wrap;gap:.4rem}.worksheet-block-list,.worksheet-item-list,.worksheet-items{list-style:none;padding:0}.worksheet-block-list{display:grid;gap:.65rem;margin:.75rem 0 0;min-width:0;max-width:100%}.worksheet-block{padding:.75rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);scroll-margin-top:5rem;min-width:0;max-width:100%;overflow-wrap:anywhere}.worksheet-block__head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}.worksheet-block__count{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.15rem;font-size:.8rem;min-width:0;flex:1 1 auto}.worksheet-block__points-hint{display:block;margin-top:.25rem;font-size:.8rem}.worksheet-block__actions{display:flex;align-items:center;gap:.3rem;margin-left:auto}.worksheet-block__instruction{margin-top:.45rem;font-weight:500;min-width:0;overflow-wrap:anywhere}.worksheet-block__passage{margin-top:.4rem;padding:.45rem .6rem;border-left:3px solid var(--primary-100);background:var(--slate-50);border-radius:var(--radius-sm);font-size:.9rem}.worksheet-block__diagram{margin:.5rem 0}.worksheet-items{display:grid;gap:.4rem;margin:.5rem 0 0}.worksheet-item-view{font-size:.92rem;min-width:0}.worksheet-item-view__prompt{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.4rem;min-width:0}.worksheet-item-view__prompt>.rich-text{flex:1 1 10rem;min-width:0;overflow-wrap:anywhere}.worksheet-item-view__edit{margin-left:auto;padding:.3rem;flex:none}.worksheet-item-view__number{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.worksheet-item-view__solution{margin-top:.15rem;font-size:.85rem}.worksheet-item-view__solution summary{cursor:pointer;color:var(--text-muted)}.worksheet-answers{margin:.15rem 0 0 1.35rem;font-size:.88rem;min-width:0;max-width:100%;overflow-wrap:anywhere}.worksheet-answers--puzzle{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;min-width:0;max-width:100%}.worksheet-answers--puzzle .game-detail__puzzle-preview{margin-top:0;min-width:0;max-width:100%;align-items:center}.worksheet-answers--puzzle .ws-grid,.worksheet-answers--puzzle .cw-grid{margin-inline:auto}.worksheet-answers--puzzle>.worksheet-answers--pairs{margin-left:0}.worksheet-answers--puzzle>.worksheet-answers--pairs li{display:block;overflow-wrap:anywhere}.worksheet-answers--options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.1rem .75rem;min-width:0}.worksheet-answers--options li{display:flex;align-items:baseline;gap:.35rem;min-width:0}.worksheet-answers--pairs li{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:baseline;gap:.35rem;min-width:0}.worksheet-answers--pairs li>*{min-width:0;overflow-wrap:anywhere}.worksheet-answers--options li.is-correct{font-weight:600}.worksheet-answers--options li.is-correct:after{content:"✓";color:#10b981}.worksheet-answers__label{color:var(--text-muted);flex:none}.worksheet-answers--options li.is-correct .worksheet-answers__label{padding:0 .35rem;border-radius:999px;background:#10b9812e;color:#047857}.pill--answer{background:var(--slate-100);color:var(--slate-600);border:1px solid var(--slate-200)}.worksheet-answers--pairs{display:grid;gap:.35rem;min-width:0;max-width:100%}.rich-text--compact>:first-child{margin-top:0}.rich-text--compact>:last-child{margin-bottom:0}.rich-text--compact p{margin:.1rem 0}.worksheet-item-view__prompt .rich-text,.worksheet-answers .rich-text{min-width:0}.worksheet-block__edit{margin-top:.75rem}.worksheet-block__edit .field-group>label{display:flex;align-items:center;gap:.5rem}.worksheet-item__header{display:flex;align-items:center;gap:.65rem;justify-content:space-between;margin-bottom:.75rem}.worksheet-editor__reorder{display:flex;align-items:center;gap:.35rem;margin-left:auto}.worksheet-editor__checkbox{display:flex;align-items:center;gap:.45rem;min-height:2.25rem}.worksheet-item-list{display:grid;gap:1rem;margin-top:1rem}.worksheet-item{padding:1rem;border:1px solid var(--slate-200);border-radius:var(--radius-md);background:var(--slate-50)}.worksheet-item__compact-field{max-width:15rem}.worksheet-item__answers,.worksheet-item__pairs{display:grid;gap:.65rem;margin-bottom:.75rem}.worksheet-item__option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem}.worksheet-item__option .field-error{grid-column:2 / -1}.worksheet-item__pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:.5rem}.worksheet-item__numeric{display:grid;grid-template-columns:repeat(3,minmax(7rem,1fr));gap:.75rem}.worksheet-block .diagram-section{margin:1rem 0}@media (max-width: 700px){.worksheet-block,.worksheet-item{padding:.75rem}.worksheet-block__actions{width:100%;margin-left:0;flex-wrap:wrap}.worksheet-answers,.worksheet-answers--options,.worksheet-answers--pairs{margin-left:0}.worksheet-answers--options{grid-template-columns:1fr}.worksheet-item-view>.worksheet-answers--pairs li{grid-template-columns:1fr;gap:.1rem .35rem}.worksheet-item-view>.worksheet-answers--pairs li>span[aria-hidden=true]{display:none}.worksheet-item-view>.worksheet-answers--pairs li>:last-child{padding-left:.35rem;border-left:2px solid var(--border-subtle);color:var(--text-muted)}.worksheet-item__pair,.worksheet-item__numeric{grid-template-columns:1fr}.worksheet-item__pair>span{display:none}}.math-drills-card{gap:1rem}.math-drills-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:end;margin-bottom:1.5rem;margin-top:1rem}.math-drills-summary{padding:.6rem .75rem;border:1px dashed var(--border-subtle, #e6eaf0);border-radius:10px;min-height:40px;display:flex;align-items:center}.math-drills-exercises-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;margin-bottom:1rem}.math-drills-exercises-list{display:grid;gap:.5rem}.math-drills-exercise-pane{position:relative;border:1px solid var(--border-subtle, #e6eaf0);border-radius:10px;padding:.45rem .55rem;background:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.4rem}.math-drills-exercise-pane .drag-handle{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#aab4c2;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0}.math-drills-exercise-pane .drag-handle:hover{color:#667085}.math-drills-exercise-pane .drag-handle:active{cursor:grabbing}.math-drills-exercise-pane-content{min-width:0}.math-drills-exercise-row{display:flex;flex-direction:column;gap:.35rem}.math-drills-exercise-header{display:flex;align-items:center;justify-content:space-between}.math-drills-exercise-header-actions{display:flex;align-items:center;gap:.25rem}.math-drills-exercise-num{font-size:.75rem;font-weight:700;color:#8899ad;flex-shrink:0}.math-drills-exercise-fields{display:flex;align-items:flex-end;gap:.55rem;flex-wrap:wrap}.math-drills-inline-field{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;white-space:nowrap;margin-bottom:0}.math-drills-inline-field>[class$=-container]{min-width:9rem}.math-drills-inline-field [class*=-control]{min-height:2rem!important;max-height:2rem!important;height:2rem!important;border-radius:6px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}.math-drills-inline-field [class*=-ValueContainer]{padding:0 .5rem!important;height:100%!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}.math-drills-inline-field [class*=-singleValue]{margin:0!important;position:static!important;transform:none!important}.math-drills-inline-field [class*=-indicatorsContainer]{height:100%!important;display:flex!important;align-items:center!important}.math-drills-inline-field [class*=-IndicatorContainer],.math-drills-inline-field [class*=-indicatorContainer]{padding:0 4px!important}.math-drills-inline-label{font-size:.72rem;font-weight:600;color:#718198}.math-drills-operand-group{display:flex;flex-direction:column;gap:.15rem}.math-drills-operand-group-label{font-size:.72rem;font-weight:700;color:#48627f}.math-drills-operand-group-fields{display:flex;align-items:flex-end;gap:.4rem}.math-drills-operand-group .math-drills-inline-label{font-size:.65rem;font-weight:500;text-transform:none;color:#8899ad}.math-drills-stepper{display:inline-grid;grid-template-columns:1.55rem 2.2rem 1.55rem;align-items:center;height:2rem;border:1px solid #dbe5f0;border-radius:6px;overflow:hidden;background:#fff}.math-drills-stepper-btn{height:100%;min-height:0;border:none;border-right:1px solid #e4ebf3;background:#f7fafe;color:#48627f;font-size:.85rem;font-weight:700;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;line-height:1}.math-drills-stepper-btn:last-child{border-right:none;border-left:1px solid #e4ebf3}.math-drills-stepper-btn:disabled{opacity:.35;cursor:default}.math-drills-stepper-input{width:100%!important;min-width:0!important;height:100%!important;min-height:0!important;border:none!important;padding:0!important;text-align:center!important;font:inherit;font-size:.82rem!important;font-weight:700!important;color:#101828!important;background:#fff!important;-webkit-appearance:textfield!important;-moz-appearance:textfield!important;appearance:textfield!important;line-height:2rem!important;border-radius:0!important}.math-drills-stepper-input::-webkit-outer-spin-button,.math-drills-stepper-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.math-drills-field-disabled{opacity:.45;pointer-events:none}.math-drills-remove-btn{width:1.7rem;height:1.7rem;min-width:1.7rem;padding:0;border:none;border-radius:6px;background:transparent;color:#b0b8c7;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.math-drills-remove-btn:hover:not(:disabled){background:#fef2f2;color:#ef4444}.math-drills-remove-btn:disabled{opacity:.3;cursor:default}.math-drills-options-trigger{width:2rem;height:2rem;min-width:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:#8899ad;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.math-drills-options-trigger:hover,.math-drills-options-trigger--open{background:#f0f4f9;color:#48627f}.math-drills-options-panel{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:.45rem .5rem .15rem;border-top:1px dashed var(--border-subtle, #e6eaf0);margin-top:.25rem}.math-drills-options-toggle{margin:0;font-size:.8rem;color:#576b80}.math-drills-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle, #e6eaf0)}.math-drills-sheet{margin-top:2rem;border-top:1px solid var(--border-subtle, #e6eaf0);padding-top:2rem}.math-drills-sheet-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.math-drills-sheet-head h4{margin:0}.math-drills-sheet-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;min-width:0}.math-drills-sheet-actions__buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.math-drills-sheet-actions__hint{margin:0;font-size:.8rem;line-height:1.35;text-align:right;max-width:18rem}.math-drills-grid{display:grid;gap:1.5rem 1rem}.math-drills-item{min-height:8rem;display:flex;justify-content:center;align-items:flex-start}.math-drills-vertical,.math-drills-division{font-family:Courier New,Courier,monospace;font-size:clamp(1.18rem,.7vw + .95rem,1.42rem);line-height:1.35;letter-spacing:0;font-weight:600;white-space:pre;width:fit-content}.math-drills-row{display:grid;grid-template-columns:1.2ch auto;justify-content:end;align-items:end;column-gap:.18ch}.math-drills-row--line{border-bottom:2px solid #111;margin-bottom:.2rem}.math-drills-operator{display:inline-flex;justify-content:flex-end;width:1.2ch}.math-drills-operator-slot{width:1.2ch}.math-drills-number{display:grid;grid-template-columns:minmax(0,calc(var(--math-drills-integer-ch, 1) * 1ch)) calc(var(--math-drills-dot-ch, 0) * 1ch) minmax(0,calc(var(--math-drills-fraction-ch, 0) * 1ch));align-items:end}.math-drills-number-integer{text-align:right}.math-drills-number-dot{text-align:center}.math-drills-number-fraction{text-align:left}.math-drills-vertical--right .math-drills-row{grid-template-columns:1.2ch 1fr}.math-drills-number-right{text-align:right;white-space:pre}.math-drills-answer{color:#185fa5;min-height:1.25rem}.math-drills-division{display:flex;align-items:flex-start}.math-drills-division-left{min-width:2.9rem;text-align:right;padding:.15rem .7rem .15rem .15rem}.math-drills-division-right{border-left:2px solid #111;min-width:4.8rem;padding-left:.5rem}.math-drills-division-divisor{border-bottom:2px solid #111;min-width:2.8rem;padding:.05rem .2rem .18rem 0;text-align:left}.math-drills-division-answer{padding:.2rem .15rem .15rem 0;color:#185fa5;min-height:4.8rem}@media (max-width: 960px){.math-drills-controls-grid,.math-drills-exercise-pane{grid-template-columns:1fr}.math-drills-sheet-head{flex-direction:column;align-items:flex-start}.math-drills-sheet-actions{align-items:flex-start;width:100%}.math-drills-sheet-actions__buttons{justify-content:flex-start}.math-drills-sheet-actions__hint{text-align:left}}@media (max-width: 600px){.math-drills-exercise-pane{padding:.35rem}.math-drills-exercise-fields{gap:.4rem}.math-drills-inline-field>[class$=-container]{min-width:7.5rem}}@media print{.math-drills-card .card__header,.math-drills-card .form,.math-drills-sheet-actions,.app-header,.app-steps,.app-nav,.settings-trigger{display:none!important}.math-drills-sheet{border-top:none;margin-top:0;padding-top:0}.math-drills-vertical,.math-drills-division{font-size:1.25rem;line-height:1.38;letter-spacing:0}.math-drills-division-answer{min-height:5.2rem}}.install-prompt{position:fixed;bottom:calc(var(--app-bottom-nav-height) + .75rem);left:1rem;right:1rem;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:slide-up .3s ease-out}@media (max-width: 767px),(max-height: 600px) and (orientation: landscape){html.has-install-prompt .main-content{padding-bottom:calc(var(--app-bottom-nav-height) + 4.25rem + env(safe-area-inset-bottom,0))}html.has-install-prompt .dashboard-footer{margin-bottom:calc(var(--app-bottom-nav-height) + 4.25rem + env(safe-area-inset-bottom,0))}}@keyframes slide-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.install-prompt__content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.install-prompt__icon{font-size:1.25rem;flex-shrink:0}.install-prompt__text{font-size:.85rem;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-prompt__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.install-prompt__btn{padding:.4rem .75rem;font-size:.8rem;font-weight:600;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .15s}.install-prompt__btn--primary{background:var(--primary-600);color:#fff}.install-prompt__btn--primary:hover{background:var(--primary-700)}.install-prompt__btn--dismiss{background:transparent;color:var(--text-muted);padding:.4rem;min-width:1.75rem}.install-prompt__btn--dismiss:hover{background:var(--slate-100);color:var(--text-secondary)}.install-instructions-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in .2s ease-out}.install-instructions{position:relative;width:100%;max-width:400px;background:var(--bg-surface);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-xl);animation:scale-in .2s ease-out}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.install-instructions__close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1rem}.install-instructions__close:hover{background:var(--slate-100);color:var(--text-secondary)}.install-instructions__title{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:var(--text-main)}.install-instructions__steps{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.install-instructions__steps p{margin:0 0 .75rem}.install-instructions__steps ol{margin:0 0 1rem;padding-left:1.25rem}.install-instructions__steps li{margin-bottom:.5rem}.install-instructions__steps strong{color:var(--text-main)}.install-instructions__icon-inline{display:inline-flex;vertical-align:middle;color:var(--primary-600)}.install-instructions__note{padding:.75rem;background:var(--primary-50);border-radius:var(--radius-md);font-size:.85rem;color:var(--primary-700)}[data-theme=dark] .install-instructions__note{background:var(--primary-950);color:var(--primary-300)}.install-instructions__footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}@media print{.install-prompt{display:none!important}}.student-play{position:relative;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem;background:radial-gradient(circle at 12% 12%,rgba(245,158,11,.2),transparent 42%),radial-gradient(circle at 88% 16%,rgba(236,72,153,.18),transparent 44%),radial-gradient(circle at 50% 108%,rgba(59,130,246,.16),transparent 52%),linear-gradient(160deg,#fff7ed,#fdf2f8 55%,#eff6ff)}.student-play>*{width:100%;max-width:42rem}.student-play__mute{padding:.3rem .5rem;font-size:1.15rem;line-height:1;background:transparent;border:none;cursor:pointer;opacity:.6}.student-play__mute:hover{opacity:1}.student-play__teams{display:flex;flex-wrap:wrap;gap:.6rem;margin:.5rem 0 1rem}.chip{padding:.55rem 1.1rem;border-radius:var(--radius-full, 999px);background:var(--slate-100);color:var(--text-main);border:2px solid var(--slate-200);box-shadow:none;font-weight:600}.chip:hover:not(:disabled){border-color:var(--logo-blue-light);filter:none;transform:translateY(-1px);box-shadow:none}.chip--active,.chip--active:hover:not(:disabled){background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light));color:var(--text-on-blue);border-color:var(--logo-blue-dark);box-shadow:var(--shadow-primary-md)}.chip--taken,.chip--taken:disabled{background:var(--slate-200);color:var(--slate-400);border-color:var(--slate-200);cursor:not-allowed;text-decoration:line-through;opacity:.7}.chip__status{text-decoration:none;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.student-play__join .chip{padding:.7rem 1.35rem;font-size:1.05rem}.student-play__colors{display:flex;flex-wrap:wrap;gap:.6rem;margin:.25rem 0 .5rem}.student-play__color{width:44px;height:44px;border-radius:50%;border:3px solid #fff;padding:0;box-shadow:0 2px 6px #0f172a26;transition:transform .15s ease,box-shadow .15s ease}.student-play__color:hover:not(:disabled){transform:scale(1.1);filter:none}.student-play__color.is-selected{transform:scale(1.12);box-shadow:0 0 0 4px #0f172ad9,0 2px 8px #0f172a33}.student-play__join-btn{width:100%;margin-top:.5rem}.student-play__question h2{font-size:1.6rem;line-height:1.3;margin:.75rem 0 1.25rem}.student-play__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.student-play__meta .student-play__timer{margin-left:auto}.student-play__timer{position:relative;width:64px;height:64px;flex-shrink:0}.student-play__timer svg{width:100%;height:100%;transform:rotate(-90deg)}.student-play__timer-track{fill:none;stroke:var(--slate-200, #e2e8f0);stroke-width:6}.student-play__timer-progress{fill:none;stroke:var(--timer-color, #10b981);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .4s ease}.student-play__timer-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:var(--timer-color, #10b981);transition:color .4s ease}.student-play__timer--urgent{animation:student-play-timer-pulse .8s ease-in-out infinite}@keyframes student-play-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (prefers-reduced-motion: reduce){.student-play__timer--urgent{animation:none}.student-play__timer-progress{transition:none}}.student-play__options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.5rem}.student-play__options button{min-height:72px;padding:1rem 1.25rem;font-size:1.1rem;font-weight:700;border-radius:var(--radius-lg, 1rem);white-space:normal;text-align:center}.student-play__options button:hover:not(:disabled){transform:translateY(-3px) scale(1.02)}.student-play__option{display:flex;align-items:center;gap:.75rem;justify-content:flex-start;text-align:left;color:#fff;border:none;animation:student-play-option-in .35s var(--ease-out, ease) both}.student-play__option:active:not(:disabled){transform:scale(.97)}.student-play__option-letter{display:grid;place-items:center;flex:0 0 auto;width:2.1rem;height:2.1rem;border-radius:10px;background:#ffffff40;font-weight:800;font-size:1.05rem}.student-play__option-text{flex:1 1 auto}.student-play__options--mc .student-play__option:nth-child(1){background:linear-gradient(135deg,#ef4444,#dc2626)}.student-play__options--mc .student-play__option:nth-child(2){background:linear-gradient(135deg,#3b82f6,#2563eb)}.student-play__options--mc .student-play__option:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706)}.student-play__options--mc .student-play__option:nth-child(4){background:linear-gradient(135deg,#22c55e,#16a34a)}.student-play__option--true{background:linear-gradient(135deg,#22c55e,#16a34a)}.student-play__option--false{background:linear-gradient(135deg,#ef4444,#dc2626)}.student-play__option:nth-child(2){animation-delay:.05s}.student-play__option:nth-child(3){animation-delay:.1s}.student-play__option:nth-child(4){animation-delay:.15s}@keyframes student-play-option-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.student-play__option{animation:none}}.student-play__options--odd button{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;border:none}@media (max-width: 560px){.student-play__options{grid-template-columns:1fr}.student-play__result{padding:1.5rem .85rem}.student-play__fix{padding:.65rem .7rem}.student-play__fix-label,.student-play__fix-correct{font-size:1rem}}.student-play__matching{--match-col-gap: 8rem;--match-col-min: 13rem;--match-col-max: 20rem;display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.student-play__match-hint{margin:0;font-size:.95rem;font-weight:600;color:var(--text-muted, #64748b);text-align:center}.student-play__match-board{position:relative;display:flex;justify-content:center;align-items:start;gap:var(--match-col-gap);width:100%}.student-play__match-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.student-play__match-links path{stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 2px 3px rgba(15,23,42,.18))}.student-play__match-link--drag{stroke-width:5;stroke-linecap:round;stroke-dasharray:2 12;opacity:.85}.student-play__match-col{display:grid;width:max-content;min-width:min(var(--match-col-min),calc((100% - var(--match-col-gap)) / 2));max-width:min(var(--match-col-max),calc((100% - var(--match-col-gap)) / 2));justify-items:stretch;align-content:start;gap:.9rem;z-index:2}.student-play__match-node{position:relative;display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;min-height:62px;padding:.85rem 1.1rem;box-sizing:border-box;font-size:1.1rem;font-weight:700;white-space:normal;line-height:1.3;overflow-wrap:anywhere;word-break:break-word;border-radius:var(--radius-lg, 1rem);border:2px solid var(--border-glass, rgba(255, 255, 255, .5));background:var(--slate-100);color:var(--text-main, #0f172a);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast, .15s) var(--ease-out),border-color var(--duration-fast, .15s) var(--ease-out),box-shadow var(--duration-fast, .15s) var(--ease-out)}.student-play__match-node.left{justify-content:space-between}.student-play__match-node.right .student-play__match-text{flex:1}.student-play__match-node:active{cursor:grabbing}.student-play__match-node:hover:not(:disabled){transform:translateY(-2px)}.student-play__match-node.is-active{border-color:var(--primary, #56a3ed);box-shadow:0 0 0 4px #56a3ed33}.student-play__match-node.is-matched{border-color:hsl(var(--pair-hue, 210) 80% 55%);background:hsl(var(--pair-hue, 210) 90% 96%)}.student-play__match-node.is-droppable{border-style:dashed;border-color:var(--primary, #56a3ed);animation:match-pulse 1.2s ease-in-out infinite}.student-play__match-dot{flex-shrink:0;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--slate-300, #cbd5e1);transition:border-color var(--duration-fast, .15s) var(--ease-out)}.student-play__match-node.is-matched .student-play__match-dot,.student-play__match-node.is-active .student-play__match-dot{border-color:hsl(var(--pair-hue, 210) 80% 55%);background:hsl(var(--pair-hue, 210) 80% 55%)}.student-play__match-node.is-active .student-play__match-dot{border-color:var(--primary, #56a3ed);background:var(--primary, #56a3ed)}.student-play__match-text{pointer-events:none}@keyframes match-pulse{0%,to{box-shadow:0 0 #56a3ed40}50%{box-shadow:0 0 0 6px #56a3ed00}}@media (prefers-reduced-motion: reduce){.student-play__match-node.is-droppable{animation:none}}@media (max-width: 640px){.student-play__matching{--match-col-gap: .55rem;--match-col-min: 0;--match-col-max: 100%}.student-play__match-board{flex-direction:column}.student-play__match-col{width:100%;max-width:none}.student-play__match-links,.student-play__match-dot{display:none}.student-play__match-node.left,.student-play__match-node.right{justify-content:flex-start}}.student-play__match-submit,.student-play__fill button{min-height:60px;font-size:1.1rem;font-weight:700}.student-play__categorize{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.student-play__cat-tray{display:flex;flex-wrap:wrap;gap:.5rem;min-height:60px;padding:.75rem;border-radius:var(--radius-lg, 1rem);background:var(--surface-2, #f1f5f9);align-items:center;justify-content:center}.student-play__cat-chip{padding:.6rem 1rem;font-size:1.05rem;font-weight:700;border-radius:999px;border:2px solid var(--border, #cbd5e1);background:#fff;color:var(--text-main, #0f172a);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.student-play__cat-chip:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0f172a1f}.student-play__cat-chip:active{cursor:grabbing}.student-play__cat-chip.is-dragging{opacity:.3;transform:scale(.95);box-shadow:none}.student-play__cat-chip.just-dropped{animation:cat-pop .45s cubic-bezier(.34,1.56,.64,1)}.student-play__cat-ghost{position:fixed;z-index:1000;pointer-events:none;padding:.6rem 1rem;font-size:1.05rem;font-weight:700;border-radius:999px;border:2px solid #7c3aed;background:#fff;color:var(--text-main, #0f172a);box-shadow:0 12px 28px #7c3aed59;transform:scale(1.08) rotate(-3deg);transform-origin:center}@keyframes cat-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.18)}to{transform:scale(1);opacity:1}}.student-play__cat-chip.is-active{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed40}.student-play__cat-chip.is-placed{font-size:.95rem;padding:.35rem .7rem}.student-play__cat-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.student-play__cat-bucket{display:flex;flex-direction:column;gap:.5rem;min-height:110px;padding:.75rem;border-radius:var(--radius-lg, 1rem);border:2px dashed hsl(var(--pair-hue, 210) 70% 60%);background:hsl(var(--pair-hue, 210) 90% 97%);text-align:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.student-play__cat-bucket.is-droppable{border-style:solid}.student-play__cat-bucket.is-over{transform:scale(1.04);background:hsl(var(--pair-hue, 210) 90% 92%);box-shadow:0 0 0 4px hsl(var(--pair-hue, 210) 80% 55% / .35)}.student-play__cat-bucket-label{font-weight:800;color:hsl(var(--pair-hue, 210) 70% 35%)}.student-play__cat-bucket-items{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.student-play__ordering{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.student-play__order-list{display:flex;flex-direction:column;gap:.5rem}.student-play__order-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;border-radius:var(--radius-lg, 1rem);border:2px solid #14b8a6;background:#f0fdfa;font-weight:700;color:var(--text-main, #0f172a);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:box-shadow .15s ease,transform .15s ease}.student-play__order-card:active{cursor:grabbing}.student-play__order-card.is-dragging{box-shadow:0 10px 24px #14b8a666;position:relative;z-index:2;transition:box-shadow .15s ease}.student-play__order-rank{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:#14b8a6;color:#fff;font-weight:800}.student-play__order-text{flex:1;min-width:0}.student-play__order-grip{color:#14b8a6;font-size:1.3rem;line-height:1}.student-play__fill{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.student-play__fill input{min-height:56px;font-size:1.15rem;text-align:center}.student-play__feedback{display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center;padding:1rem 0}.student-play__result{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:100%;padding:2rem 1.5rem;border-radius:var(--radius-xl, 1.5rem);overflow:hidden;box-sizing:border-box;animation:result-pop .5s cubic-bezier(.16,1,.3,1)}.student-play__result--correct{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 12px 32px #16a34a66}.student-play__result--wrong{background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;box-shadow:0 12px 32px #f9731666;animation:result-pop .5s cubic-bezier(.16,1,.3,1),result-shake .5s ease-in-out .15s}.student-play__result--partial{background:linear-gradient(135deg,#38bdf8,#6366f1);color:#fff;box-shadow:0 12px 32px #6366f166}.student-play__result-emoji{font-size:4rem;line-height:1}.student-play__result--correct .student-play__result-emoji{animation:result-bounce .9s ease-in-out infinite}.student-play__result--wrong .student-play__result-emoji{animation:result-wiggle .8s ease-in-out infinite}.student-play__result-text{font-size:1.9rem;font-weight:900;letter-spacing:.01em;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.18)}.student-play__result-points{display:inline-block;font-size:1.6rem;font-weight:900;padding:.35rem 1.2rem;border-radius:var(--radius-full, 999px);background:#ffffff40;animation:points-pop .6s cubic-bezier(.16,1,.3,1) .2s both}.student-play__corrections{width:min(100%,26rem);max-width:100%;margin-top:.85rem;text-align:left;box-sizing:border-box}.student-play__corrections-title{margin:0 0 .55rem;font-size:.95rem;font-weight:800;opacity:.92;text-align:center}.student-play__corrections-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;min-width:0}.student-play__fix{display:flex;align-items:flex-start;gap:.55rem;min-width:0;max-width:100%;padding:.7rem .85rem;border-radius:1rem;background:#ffffff38;border:2px solid rgba(255,255,255,.45);box-shadow:0 4px 14px #00000014;box-sizing:border-box;animation:points-pop .45s cubic-bezier(.16,1,.3,1) both}.student-play__fix:nth-child(2){animation-delay:.06s}.student-play__fix:nth-child(3){animation-delay:.12s}.student-play__fix:nth-child(4){animation-delay:.18s}.student-play__fix:nth-child(5){animation-delay:.24s}.student-play__fix--hero{flex-direction:column;align-items:center;gap:.4rem;padding:1rem 1.1rem;text-align:center}.student-play__fix-hero-value{font-size:1.55rem;font-weight:900;line-height:1.2;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.student-play__fix-theirs{display:flex;flex-direction:column;align-items:center;gap:.1rem;max-width:100%;opacity:.85}.student-play__fix-theirs-label{font-size:.7rem;font-weight:700}.student-play__fix-theirs-value{font-size:1rem;font-weight:700;text-decoration:line-through;text-decoration-thickness:2px;opacity:.8;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.student-play__fix-theirs-value--inline{display:block;font-size:.85rem;font-weight:700;text-decoration:line-through;text-decoration-thickness:2px;opacity:.75;margin-bottom:.1rem;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.student-play__fix-label{flex:1 1 auto;min-width:0;font-size:1.05rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.student-play__fix-arrow{flex:0 0 auto;font-size:1.25rem;font-weight:900;opacity:.9;line-height:1.25}.student-play__fix-body{flex:0 1 auto;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:flex-start}.student-play__fix-correct{display:inline-block;max-width:100%;font-size:1.05rem;font-weight:900;line-height:1.25;padding:.2rem .55rem;border-radius:.65rem;background:#ffffff47;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word}.student-play__fix--order .student-play__fix-slot{flex:0 0 auto;display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;font-size:1rem;font-weight:900;background:#ffffff4d}.student-play__fix--pair{flex-wrap:wrap;align-items:flex-start;gap:.45rem .55rem}.student-play__fix--pair .student-play__fix-label{flex:1 1 100%}.student-play__fix--pair .student-play__fix-arrow{align-self:center}.student-play__fix--pair .student-play__fix-body{flex:1 1 auto;min-width:0;align-items:flex-start}.student-play__fix--order{align-items:flex-start}.student-play__fix--order .student-play__fix-body{flex:1 1 auto;min-width:0;align-items:flex-start}.student-play__confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.student-play__confetti span{position:absolute;top:-10%;left:calc(8% + var(--i) * 11%);font-size:1.5rem;animation:confetti-fall 1.4s ease-in calc(var(--i) * .08s) 10 forwards}@keyframes result-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes result-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.1)}}@keyframes result-wiggle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes result-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes points-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(220px) rotate(320deg);opacity:0}}@media (prefers-reduced-motion: reduce){.student-play__result,.student-play__result-emoji,.student-play__result-points,.student-play__confetti span{animation:none!important}}.student-play__final{position:relative;overflow:hidden;align-items:center;text-align:center}.student-play__final-title{font-size:2rem;font-weight:900;margin:0}.student-play__final-winner{font-size:1.35rem;font-weight:800;margin:0;animation:result-bounce 1.4s ease-in-out 10}.student-play__podium{list-style:none;margin:.5rem 0 0;padding:0;display:flex;justify-content:center;align-items:flex-end;gap:.75rem;width:100%}.student-play__podium-step{flex:1 1 0;max-width:9rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;border-radius:var(--radius-lg, 1rem) var(--radius-lg, 1rem) 0 0;background:#94a3b824;animation:result-pop .5s cubic-bezier(.16,1,.3,1) both}.student-play__podium-step--1{background:linear-gradient(180deg,color-mix(in srgb,var(--team-color, rgb(250, 204, 21)) 42%,transparent),color-mix(in srgb,var(--team-color, rgb(250, 204, 21)) 12%,transparent));order:2}.student-play__podium-step--2{background:linear-gradient(180deg,color-mix(in srgb,var(--team-color, rgb(148, 163, 184)) 42%,transparent),color-mix(in srgb,var(--team-color, rgb(148, 163, 184)) 10%,transparent));order:1}.student-play__podium-step--3{background:linear-gradient(180deg,color-mix(in srgb,var(--team-color, rgb(180, 120, 70)) 40%,transparent),color-mix(in srgb,var(--team-color, rgb(180, 120, 70)) 8%,transparent));order:3}.student-play__podium--pair .student-play__podium-step{order:0}.student-play__podium-step.is-me{outline:2px solid var(--color-primary, #56a3ed);outline-offset:2px}.student-play__podium-medal{font-size:2.4rem;line-height:1}.student-play__podium-dot{display:inline-block;width:14px;height:14px;border-radius:50%}.student-play__podium-name{font-weight:700;word-break:break-word}.student-play__podium-score{font-size:1.5rem;font-weight:900}.student-play__podium-bar{width:100%;margin-top:.4rem;border-radius:var(--radius-sm, .4rem) var(--radius-sm, .4rem) 0 0;background:#94a3b859}.student-play__podium-step--1 .student-play__podium-bar{height:5.5rem;background:var(--team-color, rgba(250, 204, 21, .6))}.student-play__podium-step--2 .student-play__podium-bar{height:3.25rem;background:var(--team-color, rgba(148, 163, 184, .55))}.student-play__podium-step--3 .student-play__podium-bar{height:1.25rem;background:var(--team-color, rgba(180, 120, 70, .5))}.student-play__final-rest{list-style:none;margin:.5rem 0 0;padding:0;width:100%;display:flex;flex-direction:column;gap:.25rem}.student-play__final-rest li{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:var(--radius-md, .6rem)}.student-play__final-rest li.is-me{background:#56a3ed1f;font-weight:700}.student-play__final-rank{width:1.4rem;font-weight:700;color:var(--text-muted, #64748b)}.student-play__final-name{flex:1;text-align:left}.student-play__final-you{font-size:1.1rem;font-weight:800;margin:.25rem 0 0}@media (prefers-reduced-motion: reduce){.student-play__final-winner,.student-play__podium-step{animation:none!important}}.game-session__current-question{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:var(--radius-lg, 1rem);background:var(--slate-100)}.game-session__controls{display:flex;gap:.75rem;align-items:center}.game-session__control-btn{width:48px;height:48px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);color:var(--slate-700);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.game-session__control-btn:hover:not(:disabled){background:var(--primary-50);color:var(--primary-600);box-shadow:var(--shadow-md)}.game-session__control-btn.is-primary{background:linear-gradient(135deg,var(--logo-blue-main),var(--logo-blue-light));color:var(--text-on-blue);border:none}.game-session__control-btn.is-danger:hover:not(:disabled){background:#ef44441a;color:#dc2626;border-color:#dc262659}.game-session__control-btn svg{display:block}.game-session__question-prompt{margin:0;font-size:1.2rem;font-weight:700}.game-session__answered-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.game-session__answered-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:var(--radius-md, .75rem);background:var(--slate-100);color:var(--text-muted)}.game-session__answered-team{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-main);min-width:0}.game-session__team-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.game-session__answered-detail{display:flex;align-items:center;gap:.6rem;min-width:0}.game-session__answer-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:16ch;color:var(--text-main)}.game-session__answer-score{min-width:3ch;text-align:right;color:var(--text-main)}.game-session__answered-item.is-correct{background:#10b9811f;color:var(--text-main)}.game-session__answered-item.is-wrong{background:#ef44441a;color:var(--text-main)}.pill.success{background:#10b9812e;color:#047857}.pill.danger{background:#ef444429;color:#b91c1c}.game-lobby{display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center}.game-lobby__title{margin:0;font-size:1.2rem}.game-lobby__qr{padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);line-height:0}.game-lobby__caption{margin:0}.game-lobby__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2rem,6vw,3rem);font-weight:800;letter-spacing:.18em;color:var(--tool-games-ink);background:var(--tool-games-tint);padding:.5rem 1.5rem;border-radius:var(--radius-md)}.game-lobby__link{word-break:break-all;font-weight:600;color:var(--text-secondary);font-size:.95rem}.game-lobby__manual{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:.25rem}.game-lobby__manual-text{margin:0;color:var(--text-secondary);font-size:.95rem}.game-lobby__manual-text strong{color:var(--text-main)}.join-game{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}.join-game__card{width:100%;max-width:26rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;position:relative}.join-game__card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);background:var(--tool-games-grad)}.join-game__icon{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;color:#fff;background:var(--tool-games-grad);box-shadow:0 10px 22px -10px var(--tool-games)}.join-game__title{margin:.4rem 0 0;font-size:1.7rem}.join-game__subtitle{margin:0;color:var(--text-secondary)}.join-game__input{width:100%;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2rem,9vw,2.8rem);font-weight:800;letter-spacing:.35em;text-indent:.35em;padding:.75rem .5rem;border:2px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-main);margin-top:.5rem}.join-game__input:focus{outline:none;border-color:var(--tool-games);box-shadow:0 0 0 3px color-mix(in srgb,var(--tool-games) 30%,transparent)}.join-game__btn{width:100%;margin-top:.25rem}.game-leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.game-leaderboard__row{display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;background:var(--bg-subtle);border-radius:var(--radius-md)}.game-leaderboard__rank{flex:0 0 auto;min-width:1.8rem;text-align:center;font-weight:800;font-size:1.05rem;color:var(--text-secondary)}.game-leaderboard__dot{flex:0 0 auto;width:14px;height:14px;border-radius:50%}.game-leaderboard__name{flex:0 1 auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.game-leaderboard__bar{flex:1 1 auto;height:9px;background:var(--slate-200);border-radius:999px;overflow:hidden}.game-leaderboard__bar-fill{display:block;height:100%;border-radius:999px;background:var(--tool-games);transition:width .45s var(--ease-out)}.game-leaderboard__score{flex:0 0 auto;min-width:3ch;text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.student-play:has(.student-play__puzzle)>*{max-width:48rem}.student-play__puzzle{position:relative;display:flex;flex-direction:column;gap:.75rem;width:100%;align-items:center}.student-play__puzzle-progress{font-weight:800;font-size:1.1rem;color:var(--logo-blue-dark, #1d4ed8)}.ws-grid,.cw-grid{display:grid;gap:2px;user-select:none;-webkit-user-select:none;justify-content:center;box-sizing:border-box}.ws-grid{touch-action:none}.cw-grid{touch-action:manipulation;gap:1px}.ws-grid__cell,.cw-grid__cell{aspect-ratio:1;display:grid;place-items:center;font-weight:800;font-size:clamp(.7rem,3.2vw,1.15rem);border-radius:.45rem;border:2px solid #fdba74;background:#fff7ed;background-image:none;color:#9a3412;padding:0;margin:0;min-width:0;min-height:0;width:100%;height:auto;max-width:100%;box-shadow:none;gap:0;line-height:1;overflow:hidden;cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.cw-grid__cell{border-width:1px;border-radius:.2rem}.ws-grid__cell:hover:not(:disabled),.cw-grid__cell:hover:not(:disabled),.ws-grid__cell:active:not(:disabled),.cw-grid__cell:active:not(:disabled),.ws-grid__cell:focus-visible,.cw-grid__cell:focus-visible{filter:none;transform:none;box-shadow:none;outline:none}.ws-grid__cell[data-letter]:before{content:attr(data-letter)}.ws-grid__cell.is-trail{background:#fde68a;border-color:#f59e0b}.ws-grid__cell.is-found{background:#bbf7d0;border-color:#22c55e;color:#166534}.ws-grid--preview .ws-grid__cell,.cw-grid--preview .cw-grid__cell{font-size:clamp(.5rem,2.2vw,.7rem);border-width:1px;cursor:default}.ws-grid__cell--key,.cw-grid__cell--key{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.ws-bank{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;justify-content:center}.ws-bank__item{padding:.35rem .7rem;border-radius:999px;background:#fff;border:2px solid #fed7aa;font-weight:700;font-size:.9rem}.ws-bank__item.is-found{background:#dcfce7;border-color:#86efac;text-decoration:line-through;color:#166534}.cw-grid__cell--block{background:#1e293b;border-color:#0f172a;box-shadow:none;cursor:default;pointer-events:none}.cw-grid__cell.is-hi{background:#fef3c7;border-color:#f59e0b}.cw-grid__cell.is-active{background:#fde68a;border-color:#d97706;box-shadow:inset 0 0 0 2px #d9770673}.cw-grid__num{position:absolute;top:1px;left:2px;font-size:clamp(.45rem,2.2vw,.6rem);font-weight:700;line-height:1;color:#78716c;pointer-events:none}.cw-grid__cell{position:relative}.cw-grid__letter{line-height:1;pointer-events:none}.cw-clues{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.35rem;max-height:10rem;overflow:auto}.cw-clues__item{width:100%;text-align:left;justify-content:flex-start;border:2px solid #e2e8f0;background:#fff;background-image:none;color:var(--text-main, #0f172a);box-shadow:none;border-radius:.75rem;padding:.45rem .7rem;font-size:.92rem;font-weight:600;cursor:pointer;min-height:44px}.cw-clues__item:hover:not(:disabled){filter:none;transform:none;box-shadow:0 4px 10px #0f172a14}.cw-clues__item:active:not(:disabled){transform:none}.cw-clues__item.is-active{border-color:#f59e0b;background:#fffbeb}.cw-type-input{position:absolute;opacity:0;width:1px;height:1px;font-size:16px;border:0;padding:0;margin:0;caret-color:transparent;pointer-events:none}.game-detail__puzzle-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem;align-items:center}.game-detail__puzzle-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.game-detail__puzzle-toggle input{width:1rem;height:1rem}.game-detail__crossword-row{display:grid;grid-template-columns:minmax(5rem,8rem) 1fr auto;gap:.4rem;align-items:center;margin-top:.35rem}@media (max-width: 700px){.game-detail__crossword-row{grid-template-columns:1fr;gap:.25rem}}.game-detail__puzzle-preview{margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem;min-width:0;width:100%;max-width:100%;align-items:center}.class-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.class-section__head h3{margin:0}.class-list__header-actions,.class-hub__header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.class-settings{position:relative}.class-settings__trigger{width:2.25rem;height:2.25rem;padding:0;min-width:2.25rem}.class-settings__menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:13.5rem;padding:.35rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-card);display:grid;gap:.15rem}.class-settings__item{display:flex;align-items:center;gap:.55rem;width:100%;margin:0;padding:.55rem .7rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.class-settings__item:hover{background:var(--bg-muted, color-mix(in srgb, var(--text-primary) 6%, transparent))}.class-settings__item:disabled{opacity:.5;cursor:not-allowed}.class-settings__item:disabled:hover{background:transparent}.class-settings__item--danger{color:var(--danger, #b42318)}.class-settings__item--danger:hover{background:color-mix(in srgb,var(--danger, #b42318) 10%,transparent)}.score-scale-options{display:grid;gap:.45rem}.score-scale-option{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;margin:0;padding:.75rem .9rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.score-scale-option:hover{border-color:color-mix(in srgb,var(--tool-worksheets) 40%,var(--border-subtle));background:color-mix(in srgb,var(--tool-worksheets) 6%,var(--bg-surface))}.score-scale-option--selected{border-color:color-mix(in srgb,var(--tool-worksheets) 55%,var(--border-subtle));background:color-mix(in srgb,var(--tool-worksheets) 12%,var(--bg-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tool-worksheets) 35%,transparent)}.score-scale-option__label{font-weight:600}.score-scale-option__preview{font-variant-numeric:tabular-nums;white-space:nowrap}.confirm-dialog--score-scale{max-width:26rem}.class-invite{display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;border-radius:var(--radius-lg);border:1px dashed color-mix(in srgb,var(--tool-worksheets) 35%,var(--border-subtle));background:var(--tool-worksheets-tint)}.class-invite__code-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.class-invite__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.22em;color:var(--tool-worksheets-ink);background:var(--bg-surface);border-radius:var(--radius-md);padding:.5rem .9rem;border:1px solid color-mix(in srgb,var(--tool-worksheets) 25%,transparent)}.class-invite__hint{margin:0;font-size:.85rem;color:var(--text-secondary);max-width:60ch}.class-rows{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.class-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface)}.class-row--clickable{cursor:pointer}.class-row--clickable:hover,.class-row--clickable:focus-visible{border-color:color-mix(in srgb,var(--tool-worksheets) 45%,var(--border-subtle))}.class-row__main{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:.2rem}.class-row__name-line{display:flex;align-items:center;gap:.2rem;min-width:0}.class-row__name,.class-row__name-input{font-size:1.12rem;font-weight:700;line-height:1.25;color:var(--text-primary);min-width:0}.class-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-row__name-input{flex:1 1 auto;max-width:18rem;margin:0;padding:.12rem .4rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;font-size:1.12rem;font-weight:700}.class-row__name-input:hover{border-color:var(--border-subtle);background:color-mix(in srgb,var(--bg-body) 55%,transparent)}.class-row__name-input:focus{outline:none;border-color:color-mix(in srgb,var(--tool-worksheets) 45%,var(--border-subtle));background:var(--bg-surface)}.class-row__name-pencil{flex-shrink:0;width:1.75rem;height:1.75rem;min-width:1.75rem;padding:0;color:var(--text-muted)}.class-row__name-pencil:hover:not(:disabled){color:var(--tool-worksheets)}.class-row__name-line .info-tooltip{margin-left:.15rem;transform:none}.class-row__meta{font-size:.8rem;color:var(--text-muted)}.class-row__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}button.class-row__open{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}button.class-row__open:hover,button.class-row__open:focus-visible{color:var(--tool-worksheets)}.page-header__title-input{display:block;width:min(100%,22rem);margin:0;padding:.2rem .55rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:inherit;font:inherit;font-size:1.5rem;font-weight:700}.student-worksheet-row{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}button.class-row__open.student-worksheet-row,.student-worksheet-row--static{display:flex}.student-worksheet-row__main{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1 auto}.student-worksheet-row__meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.25rem;min-width:0}.student-worksheet-row__score{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap;flex:0 0 auto}.class-assign-controls{align-items:flex-end}.class-assign-controls .field-group{margin-bottom:0}.class-assign-filter{flex:0 1 10rem;min-width:8rem}.class-assign-worksheet{flex:1 1 16rem;min-width:12rem}.class-assign-disabled-hint{margin:0}.class-row__actions button.icon-only{width:2.25rem;height:2.25rem;padding:0;min-width:2.25rem}.class-row input[type=text],.class-row input:not([type]){margin:0}.assignment-rows{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.assignment-row{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);overflow:visible;position:relative}.assignment-row:has(.class-settings__menu){z-index:5}.assignment-row__bar{display:flex;align-items:center;gap:.35rem;padding-right:.55rem;position:relative;z-index:1}.assignment-row__bar .assignment-row__summary{flex:1;min-width:0}.assignment-row.is-open{border-color:color-mix(in srgb,var(--tool-worksheets) 45%,transparent);box-shadow:var(--shadow-card)}.assignment-row__summary{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 18ch 11.5rem;align-items:center;column-gap:.75rem;padding:.85rem 1rem;background:transparent;border:none;box-shadow:none;color:var(--text-main);text-align:left;font-weight:600}.assignment-row__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-row__due{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:550}.assignment-row__summary>.status-pill{justify-self:end}.assignment-row__summary--static{cursor:default}.assignment-row__summary:hover:not(:disabled):not(.assignment-row__summary--static){background:var(--tool-worksheets-tint);transform:none;filter:none}.assignment-row__body{display:flex;flex-direction:column;gap:1rem;padding:0 1rem 1rem;border-top:1px solid var(--border-subtle)}.assignment-hub{display:flex;flex-direction:column;gap:1rem}.assignment-hub__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.assignment-stats{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem}.assignment-hub .assignment-stats{padding-top:0}.assignment-row__body .alert,.assignment-hub .alert{margin:.75rem 0 0;padding:.7rem .9rem;border-radius:var(--radius-md);font-size:.88rem;font-weight:550}.assignment-row__body .alert--success,.assignment-hub .alert--success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.review-item__manual-alert{margin:.65rem 0 0;padding:.55rem .75rem;font-size:.86rem}.stat-pill{display:inline-flex;align-items:baseline;gap:.35rem;padding:.3rem .7rem;border-radius:999px;background:var(--bg-subtle);font-size:.82rem;font-weight:600;color:var(--text-secondary)}.stat-pill strong{color:var(--text-main)}.stat-pill--warn{background:color-mix(in srgb,#f59e0b 18%,var(--bg-subtle));color:#b45309}.stat-pill--warn strong{color:#92400e}.status-pill{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.15rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--bg-subtle);color:var(--text-secondary)}.status-pill--open{background:#dcfce7;color:#15803d}.status-pill--warn{background:#ffedd5;color:#c2410c}.status-pill--released{background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.status-pill--ready{background:#dbeafe;color:#1d4ed8}.status-pill--closed{background:var(--slate-200);color:var(--slate-600)}.submission-roster{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.submission-roster__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface)}.submission-roster__info{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0}.submission-roster__score{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.submission-roster__name{font-weight:700}.submission-roster__wait{font-size:.82rem;max-width:28ch;text-align:right}.submission-roster__actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.reopen-wizard{max-width:28rem}.reopen-wizard__modes{display:grid;gap:.45rem;margin:.75rem 0 1rem}.reopen-wizard__students{display:grid;gap:.5rem;margin-bottom:1rem}.reopen-wizard__students-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.9rem;font-weight:600}.reopen-wizard__student-list{list-style:none;margin:0;padding:.35rem 0;display:grid;gap:.25rem;max-height:14rem;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.reopen-wizard__student-list .checkbox-row{padding:.45rem .7rem;margin:0}.reopen-wizard .checkbox-row{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.95rem}.reopen-wizard .checkbox-row input{margin:0;flex-shrink:0}.submission__score{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;line-height:1.2;font-variant-numeric:tabular-nums}.submission__score-primary{font-weight:600}.submission__score-secondary{font-size:.85em}.class-results{display:flex;flex-direction:column;gap:1.15rem;padding-top:.35rem;border-top:1px solid var(--border-subtle)}.class-results__head{display:flex;flex-direction:column;gap:.2rem}.class-results__title{margin:0;font-size:1.05rem;font-weight:700}.class-results__subtitle{margin:0;font-size:.88rem}.class-results__snapshot{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem 1.5rem;align-items:end}.class-results__avg{display:flex;flex-direction:column;gap:.15rem;min-width:5.5rem}.class-results__avg-value{font-size:2.35rem;font-weight:750;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-main)}.class-results__avg-label{font-size:.82rem;color:var(--text-secondary)}.class-results__meta{display:flex;flex-direction:column;gap:.45rem;justify-content:center}.class-results__meta-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;font-size:.9rem}.class-results__meta-row strong{font-variant-numeric:tabular-nums}.class-results__bands{display:flex;align-items:flex-end;gap:.65rem;min-height:4.5rem}.class-results__band{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:2.75rem}.class-results__band-track{width:1.35rem;height:3.25rem;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);display:flex;align-items:flex-end;overflow:hidden}.class-results__band-fill{width:100%;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 35%,transparent);min-height:0;transition:height .18s ease}.class-results__band-fill--low{background:color-mix(in srgb,#b45309 55%,var(--bg-subtle))}.class-results__band-fill--mid{background:color-mix(in srgb,#ca8a04 50%,var(--bg-subtle))}.class-results__band-fill--high{background:color-mix(in srgb,#059669 45%,var(--bg-subtle))}.class-results__band-fill--top{background:color-mix(in srgb,#047857 60%,var(--bg-subtle))}.class-results__band-count{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.class-results__band-label{font-size:.68rem;text-align:center;line-height:1.2}.class-results__empty-scores{margin:0;grid-column:1 / -1}.class-results__items-title{margin:0 0 .55rem;font-size:.95rem;font-weight:700}.class-results__item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.class-results__item{border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--text-primary) 10%,transparent);background:color-mix(in srgb,var(--text-primary) 2.5%,transparent);overflow:hidden}.class-results__item--open{border-color:color-mix(in srgb,var(--text-primary) 18%,transparent);background:color-mix(in srgb,var(--text-primary) 4%,transparent);box-shadow:inset 3px 0 color-mix(in srgb,#b45309 55%,transparent)}.class-results__item-row{display:grid;grid-template-columns:2.5rem minmax(0,1fr) minmax(7rem,9.5rem);gap:.65rem .85rem;align-items:center;width:100%;margin:0;padding:.7rem .8rem;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.class-results__item-row:disabled{cursor:default}.class-results__item-row:not(:disabled):hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.class-results__item-label{font-weight:750;font-variant-numeric:tabular-nums}.class-results__item-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.class-results__item-prompt{font-size:.92rem;min-width:0;overflow-wrap:anywhere}.class-results__item-prompt .rich-text,.class-results__item-prompt .rich-text p{margin:0}.class-results__mistake-chips .rich-text,.class-results__mistake-chips .rich-text p{margin:0;display:inline}.class-results__item-type{font-size:.75rem;color:var(--text-secondary);text-transform:lowercase}.class-results__item-stats{display:grid;grid-template-columns:2.6rem 1fr;gap:.25rem .45rem;align-items:center}.class-results__item-mean{font-weight:700;font-variant-numeric:tabular-nums;font-size:.9rem}.class-results__item-bar{height:.4rem;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 10%,transparent);overflow:hidden}.class-results__item-bar-fill{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,#0f766e 70%,var(--text-primary))}.class-results__item-blank{grid-column:1 / -1;font-size:.72rem}.class-results__mistakes{display:flex;flex-direction:column;gap:.4rem;margin:0 .65rem .65rem 3.15rem;padding:.55rem .7rem .65rem;border:1px solid color-mix(in srgb,#b45309 22%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,#b45309 7%,var(--bg-surface, #fff))}.class-results__mistakes-label{font-size:.78rem;font-weight:650;color:#92400e}.class-results__mistake-chips{display:flex;flex-wrap:wrap;gap:.4rem}.mistake-chip{display:inline-flex;align-items:baseline;gap:.4rem;max-width:100%;padding:.3rem .55rem;border-radius:var(--radius-sm);background:color-mix(in srgb,#b45309 12%,var(--bg-surface, #fff));color:#92400e;font-size:.82rem}.mistake-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:28ch}.mistake-chip__count{font-variant-numeric:tabular-nums;color:#78350f}@media (max-width: 720px){.assignment-row__summary{grid-template-columns:minmax(0,1fr) max-content max-content;column-gap:.5rem}.class-results__snapshot{grid-template-columns:1fr;align-items:start}.class-results__bands{justify-content:flex-start}.class-results__item-row{grid-template-columns:2.25rem minmax(0,1fr)}.class-results__item-stats{grid-column:2;grid-template-columns:2.6rem minmax(0,1fr)}.class-results__mistakes{margin-left:.65rem}}.submission-review,.assignment-snapshot{display:flex;flex-direction:column;gap:1rem;padding-top:.75rem}.assignment-snapshot__blocks{display:flex;flex-direction:column;gap:1.25rem}.assignment-snapshot__instruction{margin-bottom:.35rem}.assignment-snapshot__options,.assignment-snapshot__pairs{margin:.45rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem;color:var(--text-secondary);font-size:.9rem}.assignment-snapshot__option.is-key{color:var(--text-main);font-weight:650}.assignment-snapshot__key{margin:.45rem 0 0;font-size:.88rem;display:flex;flex-direction:column;gap:.25rem}.submission-review__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.submission-review__toolbar--footer{margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--border-subtle);justify-content:flex-start}.submission-review__meta{display:flex;align-items:baseline;gap:.75rem}.submission-review__header h2{margin:0 0 .25rem}.submission-review__header p{margin:0}.submission-review__items{display:grid;gap:.55rem}.review-item{display:grid;gap:.45rem;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface)}.review-item.is-editing{background:var(--bg-subtle);border-color:color-mix(in srgb,var(--primary-100) 55%,var(--border-subtle))}.review-item--needs-score:not(.is-editing){border-color:color-mix(in srgb,#ef4444 45%,var(--border-subtle));background:color-mix(in srgb,#ef4444 6%,var(--bg-surface))}.review-item__top{display:flex;align-items:baseline;gap:.4rem}.review-item__prompt{display:flex;gap:.4rem;align-items:baseline;min-width:0;flex:1}.review-item__label{font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.review-item__edit{margin-left:auto;padding:.3rem;flex:none}.review-item__answer-value{padding:.45rem .65rem;border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid transparent;white-space:pre-wrap;font-size:.92rem;font-weight:600}.review-item__answer-value .rich-text,.review-item__answer-value .rich-text p{margin:0;white-space:normal;font-weight:inherit}.review-item__answer-value.is-correct{border-color:color-mix(in srgb,#22c55e 40%,transparent);background:color-mix(in srgb,#22c55e 10%,var(--bg-subtle))}.review-item__answer-value.is-wrong{border-color:color-mix(in srgb,#ef4444 40%,transparent);background:color-mix(in srgb,#ef4444 8%,var(--bg-subtle))}.review-item__answer-value.is-partial{border-color:color-mix(in srgb,#f59e0b 40%,transparent);background:color-mix(in srgb,#f59e0b 10%,var(--bg-subtle))}.review-item__photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.65rem;margin-top:.65rem}.review-item__photo{display:block;width:100%;padding:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-subtle, #d5dbe5);background:#1f2937;aspect-ratio:3 / 4;cursor:pointer}.review-item__photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#1f2937;pointer-events:none}.review-item__photo--missing{display:grid;place-items:center;padding:.75rem;text-align:center;font-size:.85rem;font-weight:500;color:var(--text-muted);cursor:default}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:#0f172aeb;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));animation:fadeIn var(--duration-fast) var(--ease-out)}.photo-lightbox__close{position:absolute;top:max(.85rem,env(safe-area-inset-top,0px));right:max(.85rem,env(safe-area-inset-right,0px));z-index:1;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#0f172ab8;color:#fff;box-shadow:0 8px 24px #00000059;cursor:pointer}.photo-lightbox__close:hover{background:#0f172ae6;border-color:#ffffff73}.photo-lightbox__image{max-width:min(960px,100%);max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-float);background:#111827}.review-item__summary{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.84rem}.review-item__mark{font-weight:700}.review-item__mark--pending{color:#b91c1c}.review-item__points{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.review-item__points-inline{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary);vertical-align:middle;line-height:1.2}.review-item__points-inline--editing{gap:.35rem}.review-item__points-inline-max{white-space:nowrap;line-height:1.2}.review-item__points-inline-edit{padding:.15rem;line-height:0;color:var(--text-muted)}.review-item__points-inline-edit:hover:not(:disabled){color:var(--text-primary)}.review-item--needs-score .review-item__points-inline-edit{color:var(--text-secondary)}.review-item__points-inline-input{width:3.5rem;margin:0;padding:.15rem .35rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font:inherit;font-size:.9em;line-height:1.2;font-variant-numeric:tabular-nums}.review-item__note-preview{margin:0;width:100%;color:var(--text-muted);font-size:.82rem;font-style:italic}.review-item__editor{display:grid;gap:.65rem;margin-top:.2rem;padding-top:.65rem;border-top:1px solid var(--border-subtle)}.review-item__score-field,.review-item__note-field{display:grid;gap:.35rem;margin:0;font-size:.86rem;font-weight:650;text-transform:none;letter-spacing:normal;color:var(--text-primary)}.review-item__score-field{justify-items:start}.review-item__score-max{font-weight:500}.review-item__score-field input{width:5rem;margin:0}.review-item__note-field textarea{width:100%;margin:0;resize:vertical;min-height:2.75rem;font-weight:500}.review-item__editor-actions{display:flex;justify-content:flex-end;gap:.45rem}.review-item__matching-hint{margin:0;font-size:.84rem;font-weight:500}.review-item__puzzle{width:100%;pointer-events:none;-webkit-user-select:none;user-select:none}.review-item__puzzle .student-play__puzzle{align-items:stretch}.review-item__puzzle .student-play__match-hint{text-align:left}.review-item--puzzle .review-item__answer-value{background:transparent;border:none;padding:0}.review-item--matching .review-item__answer{min-width:0}.matching-review{--match-col-gap: 8rem;--match-col-min: 12.5rem;--match-col-max: 18rem;display:grid;gap:.7rem;padding:.65rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-subtle)}.matching-review.is-editing{border-color:color-mix(in srgb,var(--primary-100) 45%,var(--border-subtle));background:color-mix(in srgb,var(--bg-surface) 70%,var(--bg-subtle))}.matching-review__legend{display:flex;flex-wrap:wrap;gap:.45rem .85rem;font-size:.75rem;font-weight:650;color:var(--text-muted)}.matching-review__legend-item{display:inline-flex;align-items:center;gap:.35rem}.matching-review__legend-item:before{content:"";width:1.1rem;height:0;border-top:3px solid currentColor;border-radius:2px}.matching-review__legend-item--ok{color:#15803d}.matching-review__legend-item--miss{color:#b91c1c}.matching-review__legend-item--key{color:#15803d}.matching-review__legend-item--key:before{border-top-style:dashed;border-top-width:2.5px;opacity:.9}.matching-review__board{position:relative;display:flex;justify-content:center;align-items:start;gap:var(--match-col-gap);width:100%}.matching-review__links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.matching-review__link{stroke-width:3.25;stroke-linecap:round}.matching-review__link--ok{stroke:#149a45}.matching-review__link--miss{stroke:#e11d2e;opacity:.9}.matching-review__link--key{stroke:#149a45;stroke-width:2.5;stroke-dasharray:7 6;opacity:.95}.matching-review__link--drag{stroke:#149a45;stroke-width:2.75;stroke-dasharray:2 10;opacity:.85}.matching-review__col{display:grid;width:max-content;min-width:min(var(--match-col-min),calc((100% - var(--match-col-gap)) / 2));max-width:min(var(--match-col-max),calc((100% - var(--match-col-gap)) / 2));justify-items:stretch;align-content:start;gap:.45rem;z-index:2}.matching-review__node{position:relative;display:flex;align-items:center;gap:.4rem;width:100%;min-width:0;min-height:2.5rem;margin:0;padding:.5rem .75rem;box-sizing:border-box;border-radius:var(--radius-md);border:2px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font:inherit;text-align:left;cursor:default}.matching-review__board.is-interactive .matching-review__node:not(:disabled){cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast, .15s) var(--ease-out, ease),border-color var(--duration-fast, .15s) var(--ease-out, ease),box-shadow var(--duration-fast, .15s) var(--ease-out, ease),background var(--duration-fast, .15s) var(--ease-out, ease)}.matching-review__board.is-interactive .matching-review__node:not(:disabled):active{cursor:grabbing}.matching-review__board.is-interactive .matching-review__node:not(:disabled):hover{transform:translateY(-1px)}.matching-review__node--left{justify-content:space-between}.matching-review__node--right .matching-review__text{flex:1;min-width:0}.matching-review__node.is-ok{border-color:color-mix(in srgb,#149a45 55%,var(--border-subtle));background:color-mix(in srgb,#149a45 8%,var(--bg-surface))}.matching-review__node.is-bad{border-color:color-mix(in srgb,#e11d2e 55%,var(--border-subtle));background:color-mix(in srgb,#e11d2e 6%,var(--bg-surface))}.matching-review__node.is-empty{opacity:.72}.matching-review__node.is-active{border-color:var(--primary-100, #56a3ed);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-100, #56a3ed) 22%,transparent)}.matching-review__node.is-droppable{border-style:dashed;border-color:var(--primary-100, #56a3ed)}.matching-review__dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--border-subtle)}.matching-review__node.is-ok .matching-review__dot{border-color:#149a45;background:#149a45}.matching-review__node.is-bad .matching-review__dot{border-color:#e11d2e;background:#e11d2e}.matching-review__text{flex:1;min-width:0;font-weight:650;font-size:.9rem;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.matching-review__text .rich-text,.matching-review__text .rich-text p{margin:0}.matching-review__credit-summary{margin:0;font-size:.82rem}@media (max-width: 640px){.matching-review{--match-col-gap: .55rem}.matching-review__board{flex-direction:column}.matching-review__col{width:100%;max-width:none}.matching-review__links,.matching-review__legend,.matching-review__dot{display:none}.matching-review__node--left,.matching-review__node--right{justify-content:flex-start}}@media (max-width: 767px){.submission-roster__wait{max-width:none;text-align:left;width:100%}.submission-review__toolbar{flex-direction:column;align-items:stretch}}.due-date-field{position:relative;display:flex;flex-direction:column;gap:.45rem;flex:0 0 auto;width:max-content;max-width:100%;min-width:0}.due-date-field__row{display:flex;align-items:center;gap:.35rem;width:max-content;max-width:100%}.due-date-field__button{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.65rem .9rem;border-radius:var(--radius-md, .65rem);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-main);font:inherit;font-size:.95rem;font-weight:600;line-height:1.2;cursor:pointer;text-align:left;white-space:nowrap;flex:0 1 auto;min-width:0}.due-date-field__button:hover:not(:disabled){background:var(--bg-subtle)}.due-date-field__button:disabled{opacity:.6;cursor:not-allowed}.due-date-field__button.is-active{border-color:color-mix(in srgb,var(--tool-worksheets) 55%,var(--border-subtle));background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.due-date-field__time-wrap{position:relative;flex:0 0 auto}.due-date-field__time{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.55rem .7rem;min-width:7.5rem;border-radius:var(--radius-md, .65rem);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-main);font:inherit;font-size:.95rem;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}.due-date-field__time:hover:not(:disabled){background:var(--bg-subtle)}.due-date-field__time:disabled{opacity:.6;cursor:not-allowed}.due-date-field__time.is-active{border-color:color-mix(in srgb,var(--tool-worksheets) 55%,var(--border-subtle));background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.due-date-field__clock{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;display:grid;grid-template-columns:3.25rem 3.25rem 3.75rem;gap:.2rem;padding:.35rem;border-radius:var(--radius-md, .65rem);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:0 10px 28px #0f172a24}.due-date-field__clock-col{display:flex;flex-direction:column;gap:.15rem;max-height:12.5rem;overflow-y:auto;padding:.1rem;scrollbar-width:thin}.due-date-field__clock-col--meridiem{max-height:none;overflow:visible;justify-content:flex-start}.due-date-field__clock-option{margin:0;padding:.4rem .35rem;border:0;border-radius:.45rem;background:transparent;color:var(--text-main);font:inherit;font-size:.9rem;font-weight:600;line-height:1.1;cursor:pointer;text-align:center}.due-date-field__clock-option:hover:not(:disabled){background:var(--bg-subtle)}.due-date-field__clock-option.is-selected{background:var(--tool-worksheets-tint);color:var(--tool-worksheets-ink)}.due-date-field__clock-option:disabled{opacity:.35;cursor:not-allowed}.due-date-field__native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}@media (max-width: 767px){.class-list{grid-template-columns:1fr}.class-invite__code{font-size:1.2rem}}.insights-page{max-width:min(1100px,100%);width:100%;margin:0 auto;padding:1.25rem 1.25rem 3rem;box-sizing:border-box;min-width:0}.insights-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin:1rem 0 .5rem;min-width:0}.insights-toolbar-note{margin:0 0 1.25rem;font-size:.88rem;line-height:1.45;color:var(--muted, #6b7280);min-width:0;overflow-wrap:anywhere}.insights-tabs{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.insights-tabs__btn,.insights-range__btn{border:1px solid var(--border, #e5e7eb);background:var(--surface, #fff);color:var(--text, #111827);border-radius:8px;padding:.4rem .75rem;font-size:.9rem;cursor:pointer}.insights-tabs__btn.is-active,.insights-range__btn.is-active{border-color:#1d4ed8;background:#eff6ff;color:#1e3a8a;font-weight:600}.insights-range{display:flex;flex-wrap:wrap;gap:.35rem}.insights-toolbar__meta{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;min-width:0}.insights-asof{font-size:.85rem;color:var(--muted, #6b7280);min-width:0;overflow-wrap:anywhere}.insights-loading{display:grid;gap:1rem}.insights-panel{display:grid;gap:1.25rem;min-width:0;max-width:100%}.insights-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:.75rem;min-width:0}.insights-kpi{border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:.85rem .95rem;background:var(--surface, #fff);min-width:0}.insights-kpi__value{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.insights-kpi__label{margin-top:.2rem;font-size:.8rem;color:var(--muted, #6b7280)}.insights-kpi__hint{margin-top:.35rem;font-size:.72rem;line-height:1.35;color:var(--muted, #9ca3af)}.insights-kpi__delta{margin-top:.15rem;font-size:.78rem;font-weight:600;color:var(--muted, #6b7280)}.insights-kpi__delta.is-up{color:#047857}.insights-kpi__delta.is-down{color:#be123c}.insights-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}button.insights-toolbar-actions__refresh{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;gap:0}button.insights-toolbar-actions__refresh svg{display:block;flex:0 0 auto}.insights-toolbar-actions__refresh .is-spinning{animation:insights-refresh-spin .8s linear infinite}@keyframes insights-refresh-spin{to{transform:rotate(360deg)}}.insights-trial-strip{display:grid;grid-template-columns:auto repeat(auto-fit,minmax(min(120px,100%),1fr));gap:.75rem;align-items:stretch;border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:.85rem .95rem;background:var(--surface, #fff);min-width:0}.insights-trial-strip__title{align-self:center;font-size:.85rem;font-weight:650;color:var(--muted, #6b7280)}.insights-funnels-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:.85rem;min-width:0}.insights-funnel{border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:1rem;background:var(--surface, #fff);min-width:0}.insights-funnel__steps{display:grid;gap:.65rem;margin-top:.75rem}.insights-funnel__step{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.35rem .65rem;align-items:center}.insights-funnel__count{font-weight:700;font-size:.95rem}.insights-funnel__bar-wrap{grid-column:2;height:8px;border-radius:999px;background:#f3f4f6;overflow:hidden}.insights-funnel__bar{height:100%;border-radius:999px;background:#93c5fd}.insights-funnel__label{grid-column:2;font-size:.8rem;color:var(--muted, #6b7280)}.insights-show-all{font-size:.88rem;color:var(--muted, #6b7280);display:inline-flex;align-items:center;gap:.35rem}.insights-chart-card,.insights-table-wrap,.insights-meta-grid{border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:1rem;background:var(--surface, #fff);min-width:0;max-width:100%;box-sizing:border-box}.insights-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.insights-section-head{margin-bottom:.75rem;min-width:0}.insights-section-title{margin:0;font-size:1rem;font-weight:650}.insights-section-copy{margin:.35rem 0 0;font-size:.85rem;line-height:1.45;color:var(--muted, #6b7280)}.insights-chart{width:100%;min-width:0;min-height:240px;overflow:hidden}.insights-chart .recharts-responsive-container{width:100%!important;min-width:0}.insights-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:.85rem}.insights-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.9rem}.insights-table th,.insights-table td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--border, #e5e7eb);vertical-align:top}.insights-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #6b7280);white-space:nowrap}.insights-table td{overflow-wrap:anywhere}.insights-table tfoot th,.insights-table tfoot td{font-weight:650;border-bottom:none}.insights-chart--production{margin-top:1rem;min-height:220px}.insights-vendor-note{margin:0 0 .75rem;font-size:.85rem;line-height:1.4;color:var(--muted, #6b7280)}.insights-vendor-note.is-error{color:#be123c}.insights-failure-title{overflow-wrap:anywhere;font-weight:600}.insights-failure-meta{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.78rem;color:var(--muted, #6b7280)}.insights-ext-link{color:#1d4ed8;text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center}.insights-ext-link:hover{text-decoration:underline}.insights-table td code{word-break:break-all}.insights-spike-row{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 720px){.insights-page{padding:1rem .85rem 3rem}.insights-chart-card,.insights-table-wrap,.insights-meta-grid,.insights-funnel,.insights-trial-strip{padding:.85rem .75rem}.insights-toolbar__meta,.insights-asof{margin-left:0;width:100%}.insights-toolbar-actions{width:100%}.insights-toolbar-actions>.primary,.insights-toolbar-actions>button:not(.insights-toolbar-actions__refresh){flex:1 1 auto}.insights-trial-strip,.insights-funnels-row{grid-template-columns:1fr}.insights-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-kpi__value{font-size:1.15rem}.insights-tabs__btn,.insights-range__btn{padding:.35rem .6rem;font-size:.82rem}.insights-chart{min-height:200px}.insights-table{font-size:.82rem}.insights-table th,.insights-table td{padding:.45rem .35rem}}@media (max-width: 420px){.insights-kpi-strip{grid-template-columns:1fr}}.training-page{max-width:40rem;width:100%;margin:0 auto;padding:2rem 1.25rem 4rem;box-sizing:border-box;min-width:0}.training-page--inapp{max-width:42rem;padding-top:1rem}.training-page--wide{max-width:min(64rem,100%)}.training-page__hero{text-align:center;margin-bottom:1.75rem;position:relative}.training-page__back{display:flex;justify-content:flex-start;margin-bottom:.75rem}.training-page--inapp .training-page__back{margin-bottom:1rem}.training-page--intro{--training-intro: var(--tool-essays, #0284c7);--training-intro-ink: var(--tool-essays-ink, #0369a1);--training-intro-tint: var(--tool-essays-tint, #e7f4ff);--training-intro-grad: var( --tool-essays-grad, linear-gradient(135deg, #0ea5e9, #6366f1) );max-width:min(44rem,100%);padding-top:1.25rem;background:radial-gradient(120% 70% at 50% -10%,color-mix(in srgb,var(--training-intro) 18%,transparent),transparent 62%)}.training-page__hero h1{margin:.5rem 0 .4rem;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.2}.training-page__hero--intro h1{margin:.65rem auto .85rem;max-width:22ch;font-size:clamp(1.75rem,4.6vw,2.35rem);letter-spacing:-.02em;color:var(--training-intro-ink, #0369a1)}.training-page__hero p{margin:0 auto;max-width:32rem;color:var(--text-muted, #5c6570)}.training-page__hero .training-page__back{position:absolute;top:0;left:0}.training-page__icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:color-mix(in srgb,var(--accent, #2f6fed) 12%,transparent);color:var(--accent, #2f6fed)}.training-page__hero--intro .training-page__icon{width:4.25rem;height:4.25rem;border-radius:1.25rem;color:#fff;background:var(--training-intro-grad);box-shadow:0 12px 28px color-mix(in srgb,var(--training-intro) 28%,transparent);animation:training-intro-pop .55s cubic-bezier(.22,1,.36,1) both}.training-intro{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:.5rem}.training-intro__chips{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;animation:training-intro-rise .45s ease both .08s}.training-intro__chips li{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--training-intro-ink);background:color-mix(in srgb,var(--training-intro-tint) 88%,#fff);border:1px solid color-mix(in srgb,var(--training-intro) 22%,transparent)}.training-intro__lead{margin:0;padding:1rem 1.15rem;font-size:1.12rem;line-height:1.55;font-weight:500;color:var(--text, #1a1f27);text-align:left;background:var(--surface, #fff);border:1px solid color-mix(in srgb,var(--training-intro) 18%,var(--border, #d7dde5));border-radius:1rem;box-shadow:0 8px 24px color-mix(in srgb,var(--training-intro) 8%,transparent);animation:training-intro-rise .5s ease both .12s}.training-intro strong{font-weight:750;color:var(--training-intro-ink, #0369a1)}.training-intro__free strong{color:#047857}.training-intro__section{display:flex;flex-direction:column;gap:.75rem;animation:training-intro-rise .55s ease both}.training-intro__section:nth-of-type(1){animation-delay:.18s}.training-intro__section:nth-of-type(2){animation-delay:.26s}.training-intro__section>h2{margin:0;font-size:1.2rem;font-weight:700;line-height:1.25;color:var(--training-intro-ink)}.training-intro__features{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.training-intro__feature{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding:.95rem 1rem;border-radius:1rem;background:var(--surface, #fff);border:1px solid color-mix(in srgb,var(--border, #d7dde5) 85%,transparent);box-shadow:0 4px 14px color-mix(in srgb,#0f172a 4%,transparent);color:var(--text, #1a1f27);font-size:.98rem;line-height:1.45;font-weight:500;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.training-intro__feature:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--training-intro) 35%,var(--border, #d7dde5));box-shadow:0 10px 22px color-mix(in srgb,var(--training-intro) 12%,transparent)}.training-intro__feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:.85rem;color:#fff;background:var(--training-intro-grad);flex-shrink:0}.training-intro__audience{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 640px){.training-intro__audience{grid-template-columns:1fr 1fr;align-items:stretch}}.training-intro__panel{display:flex;flex-direction:column;gap:.55rem;padding:1.1rem 1.1rem 1.2rem;border-radius:1.1rem;background:color-mix(in srgb,var(--training-intro-tint) 72%,#fff);border:1px solid color-mix(in srgb,var(--training-intro) 20%,transparent);color:var(--text, #1a1f27)}.training-intro__panel h2{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--training-intro-ink)}.training-intro__panel p{margin:0;font-size:.94rem;line-height:1.5;color:color-mix(in srgb,var(--text, #1a1f27) 88%,transparent)}.training-intro__panel-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.8rem;color:var(--training-intro-ink);background:#fff;border:1px solid color-mix(in srgb,var(--training-intro) 18%,transparent)}.training-intro__free{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:1.1rem 1.15rem;border-radius:1.15rem;color:#065f46;background:linear-gradient(135deg,color-mix(in srgb,#12b76a 16%,#fff),color-mix(in srgb,#0ea5e9 8%,#fff));border:1px solid color-mix(in srgb,#12b76a 28%,transparent);box-shadow:0 10px 24px color-mix(in srgb,#12b76a 10%,transparent);animation:training-intro-rise .55s ease both .34s}.training-intro__free h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:750;color:#047857}.training-intro__free p{margin:0;font-size:.98rem;line-height:1.5;font-weight:550;color:#065f46}.training-intro__free-icon{display:inline-flex;align-items:center;justify-content:center;width:2.85rem;height:2.85rem;border-radius:999px;color:#047857;background:#fff;border:1px solid color-mix(in srgb,#12b76a 25%,transparent)}.training-intro__cta-wrap{position:sticky;bottom:.75rem;z-index:2;padding-top:.25rem;animation:training-intro-rise .55s ease both .4s}.training-intro__cta{width:100%;min-height:3.35rem;font-size:1.08rem;font-weight:700;border:none;border-radius:1rem;color:#fff;background:var(--training-intro-grad);box-shadow:0 14px 28px color-mix(in srgb,var(--training-intro) 30%,transparent),0 0 color-mix(in srgb,var(--training-intro) 35%,transparent);animation:training-intro-cta-pulse 2.4s ease-in-out infinite}.training-intro__cta:hover{filter:brightness(1.04)}.training-intro__cta:focus-visible{outline:3px solid color-mix(in srgb,var(--training-intro) 45%,transparent);outline-offset:3px}@keyframes training-intro-pop{0%{opacity:0;transform:scale(.82) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes training-intro-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes training-intro-cta-pulse{0%,to{box-shadow:0 14px 28px color-mix(in srgb,var(--training-intro) 30%,transparent),0 0 color-mix(in srgb,var(--training-intro) 28%,transparent)}50%{box-shadow:0 16px 32px color-mix(in srgb,var(--training-intro) 34%,transparent),0 0 0 8px color-mix(in srgb,var(--training-intro) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.training-page__hero--intro .training-page__icon,.training-intro__chips,.training-intro__lead,.training-intro__section,.training-intro__free,.training-intro__cta-wrap,.training-intro__cta{animation:none}.training-intro__feature:hover{transform:none}}.training-card__back{align-self:flex-start;margin:-.25rem 0 .15rem}.training-card{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem 1.35rem;border:1px solid color-mix(in srgb,var(--border, #d7dde5) 90%,transparent);border-radius:.85rem;background:var(--surface, #fff);min-width:0;max-width:100%;box-sizing:border-box}.training-card h2{margin:0;font-size:1.15rem}.training-card--calendar{gap:1rem}.training-card--success{border-color:color-mix(in srgb,#12b76a 35%,var(--border, #d7dde5));background:color-mix(in srgb,#12b76a 6%,var(--surface, #fff));text-align:center;align-items:center;padding:1.75rem 1.5rem}.training-card--success h2{font-size:1.35rem}.training-card--success .training-muted{max-width:28rem;margin:0;line-height:1.45}.training-card--success .primary{margin-top:.5rem}.training-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem}.training-card__label-row{display:inline-flex;align-items:center;gap:.35rem}.training-required{color:#b42318;font-weight:700;line-height:1}.training-card input[type=text],.training-card input[type=email],.training-card input[type=number],.training-card input[type=tel],.training-card input[type=date],.training-card input[type=time],.training-card input:not([type]){width:100%;max-width:100%;box-sizing:border-box;padding:.55rem .7rem;border-radius:.5rem;border:1px solid var(--border, #d7dde5);font:inherit;color:inherit;background:var(--surface, #fff)}.training-card input[type=date].is-empty::-webkit-datetime-edit{color:transparent}.training-card input[type=date].is-empty:focus::-webkit-datetime-edit{color:inherit}.training-page__error{color:#b42318;margin:0 0 1rem}.training-muted{color:var(--text-muted, #5c6570);font-size:.92rem;margin:.15rem 0 0}.training-slot-confirm{display:flex;flex-direction:column;gap:.85rem;margin-top:.25rem}.training-slot-summary{display:flex;flex-direction:column;gap:.15rem;margin:0;padding:.75rem .9rem;border-radius:.65rem;background:color-mix(in srgb,var(--accent, #2f6fed) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent, #2f6fed) 18%,transparent)}.training-slot-summary strong{font-size:1rem;text-transform:capitalize}.training-join-confirm{display:grid;gap:.75rem;margin:0 0 1rem;padding:0}.training-join-confirm>div{display:flex;flex-direction:column;gap:.15rem;margin:0;padding:.75rem .9rem;border-radius:.65rem;background:color-mix(in srgb,var(--accent, #2f6fed) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent, #2f6fed) 18%,transparent)}.training-join-confirm dt{margin:0;font-size:.8rem;opacity:.75}.training-join-confirm dd{margin:0;display:flex;flex-direction:column;gap:.1rem;font-size:1rem}.training-join-confirm dd strong{text-transform:capitalize}.training-join-window-hint{margin:.85rem 0 .35rem;padding:.7rem .85rem;border-radius:.55rem;background:color-mix(in srgb,var(--accent, #2f6fed) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent, #2f6fed) 16%,transparent);color:var(--text-muted, #5c6570);font-size:.92rem;line-height:1.4}.training-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.training-meta-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;font-size:.92rem}.training-join-code{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem}.training-status--confirmed{color:#027a48;font-weight:600}.training-status--cancelled{color:#b42318;font-weight:600}.training-code-pill{display:inline-block;padding:.15rem .45rem;border-radius:.4rem;background:color-mix(in srgb,var(--accent, #2f6fed) 12%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95em;letter-spacing:.04em}.training-code-label{gap:.5rem}.training-code-input{width:100%;box-sizing:border-box;text-align:center;font-size:1.75rem;font-weight:700;letter-spacing:.35em;padding:.85rem .7rem;border-radius:.7rem;border:1px solid var(--border, #d7dde5);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--surface, #fff);color:inherit}.training-code-input:focus{outline:2px solid color-mix(in srgb,var(--accent, #2f6fed) 45%,transparent);outline-offset:1px;border-color:var(--accent, #2f6fed)}.training-assignments{display:flex;flex-direction:column;gap:.75rem;padding-top:.35rem;border-top:1px solid var(--border, #e6ebf1)}.training-assignments h2{margin:0}.training-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.training-task-list>li{margin:0;padding:0;border-radius:.75rem;background:color-mix(in srgb,var(--surface, #fff) 88%,#f3f6fa);border:1px solid color-mix(in srgb,var(--border, #d7dde5) 80%,transparent)}.training-task-list>li.is-done{border-color:color-mix(in srgb,#12b76a 35%,var(--border, #d7dde5));background:color-mix(in srgb,#12b76a 8%,transparent)}.training-task-list>li.is-done .training-task__mark{color:#067647;background:color-mix(in srgb,#12b76a 16%,#fff);border-color:color-mix(in srgb,#12b76a 40%,transparent)}.training-task{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"mark body" "cta cta";gap:.55rem .75rem;align-items:start;padding:.85rem .9rem}.training-task__mark{grid-area:mark;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;margin-top:.1rem;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1;color:var(--text-blue-accent, #2f6fed);background:color-mix(in srgb,var(--logo-blue-light, #6bb6f2) 18%,#fff);border:1px solid color-mix(in srgb,var(--logo-blue-light, #6bb6f2) 45%,transparent);flex-shrink:0}.training-task__body{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:.25rem}.training-task__title{margin:0;font-size:.98rem;font-weight:700;line-height:1.3;color:var(--text, #1f2937)}.training-task__desc{margin:0;font-size:.88rem;line-height:1.45;color:var(--text-muted, #5c6570)}.training-task__cta{grid-area:cta;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;min-height:44px;padding:.55rem .95rem;box-sizing:border-box;border-radius:.65rem;border:1px solid color-mix(in srgb,var(--logo-blue-main, #2f6fed) 35%,#d7dde5);background:#fff;color:var(--text-blue-accent, #2f6fed);font-size:.9rem;font-weight:600;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.training-task__cta:hover{background:color-mix(in srgb,var(--logo-blue-light, #6bb6f2) 12%,#fff);border-color:var(--logo-blue-main, #2f6fed);color:var(--logo-blue-dark, #1d4ed8)}.training-task__cta:focus-visible{outline:2px solid var(--accent, #2f6fed);outline-offset:2px}.training-task__done{grid-area:cta;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:.45rem .85rem;box-sizing:border-box;border-radius:.65rem;font-size:.88rem;font-weight:600;color:#067647;background:color-mix(in srgb,#12b76a 12%,#fff);border:1px solid color-mix(in srgb,#12b76a 28%,transparent)}@media (min-width: 560px){.training-task{grid-template-columns:auto 1fr auto;grid-template-areas:"mark body cta";align-items:center;gap:.85rem}.training-task__cta,.training-task__done{width:auto;justify-self:end}}.training-cert{margin-top:.25rem;padding:0;border-radius:.85rem;background:color-mix(in srgb,#12b76a 8%,var(--surface, #fff));border:1px solid color-mix(in srgb,#12b76a 22%,var(--border, #d7dde5));display:flex;flex-direction:column;gap:0;overflow:hidden}.training-cert--ready{box-shadow:0 10px 28px color-mix(in srgb,#12b76a 12%,transparent)}.training-cert h2,.training-cert h3{margin:0;font-size:1.2rem;line-height:1.3}.training-cert__celebrate{display:flex;flex-direction:column;gap:.7rem;padding:1.25rem 1.2rem 1.3rem}.training-cert__lead{margin:0;line-height:1.55;font-size:1rem}.training-cert__emailed{margin:0;font-size:.9rem}.training-cert__download{align-self:stretch;margin-top:.25rem}.training-cert__offer{display:flex;flex-direction:column;gap:.75rem;padding:1.15rem 1.2rem 1.3rem;background:color-mix(in srgb,#f59e0b 9%,var(--surface, #fff));border-top:1px dashed color-mix(in srgb,#f59e0b 35%,transparent)}.training-cert__offer h3{font-size:1.08rem}.training-cert__offer p{margin:0;line-height:1.5;font-size:.95rem}.training-cert__code-box{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.85rem .9rem;border-radius:.7rem;background:color-mix(in srgb,#fff 70%,transparent);border:1px solid color-mix(in srgb,#f59e0b 28%,var(--border, #d7dde5))}.training-cert__code-label{font-size:.82rem;font-weight:600;color:var(--text-secondary, #667085);letter-spacing:.02em;text-transform:uppercase}.training-code-pill--lg{font-size:1.15rem;font-weight:700;letter-spacing:.04em;padding:.45rem .85rem}a.training-cert__activate{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;box-sizing:border-box;border-radius:var(--radius-md, .65rem);border:1px solid transparent;background:linear-gradient(135deg,var(--logo-blue-main, #2f6fed),var(--logo-blue-light, #6bb6f2));color:var(--text-on-blue, #fff);font-size:1.1rem;font-weight:600;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-primary-md, 0 4px 12px rgba(47, 111, 237, .28));cursor:pointer;transition:transform var(--duration-fast, .12s) var(--ease-out, ease),box-shadow var(--duration-fast, .12s) var(--ease-out, ease),filter var(--duration-fast, .12s) var(--ease-out, ease)}a.training-cert__activate:hover{filter:brightness(110%);transform:translateY(-2px);box-shadow:var(--shadow-primary-lg, 0 8px 18px rgba(47, 111, 237, .32));color:var(--text-on-blue, #fff)}a.training-cert__activate:active{transform:translateY(0) scale(.98)}a.training-cert__activate:focus-visible{outline:2px solid var(--accent, #2f6fed);outline-offset:2px}.training-cert__new-only{font-size:.88rem;color:var(--text-secondary, #667085)}.training-cert__footnote{margin:0;font-size:.82rem;line-height:1.45;color:var(--text-secondary, #667085);font-style:italic}@media (max-width: 420px){a.training-cert__activate{white-space:normal}}.training-assignments__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.training-assignments__header h2{margin:0}.training-assignments__intro{margin:0;line-height:1.5;max-width:40rem}.training-subtask-list{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.training-subtask-list li{display:flex;align-items:flex-start;gap:.45rem;margin:0;padding:0;border:none;background:transparent;border-radius:0;font-size:.88rem;line-height:1.35;color:var(--text, #1f2937)}.training-subtask-list li>span:first-child{width:1rem;flex-shrink:0;text-align:center;color:var(--text-muted, #5c6570);font-size:.85rem;line-height:1.4}.training-subtask-list li.is-done{color:#067647}.training-subtask-list li.is-done>span:first-child{color:#067647}.training-help-btn{display:inline-flex;align-items:center;gap:.35rem}.training-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,#0f172a 45%,transparent);box-sizing:border-box}.training-help-dialog{width:min(36rem,100%);max-height:min(85vh,40rem);overflow:auto;padding:1.1rem 1.15rem 1.25rem;border-radius:.85rem;background:var(--surface, #fff);color:var(--text, #1f2937);box-shadow:0 18px 48px color-mix(in srgb,#0f172a 28%,transparent);box-sizing:border-box}.training-help-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.training-help-dialog__header h2{margin:0;font-size:1.15rem}.training-help-dialog section+section{margin-top:1rem}.training-help-dialog h3{margin:0 0 .4rem;font-size:1rem}.training-help-steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem;line-height:1.45}.training-admin{max-width:min(64rem,100%);width:100%;margin:0 auto;padding:1rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem;box-sizing:border-box;min-width:0}.training-admin-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.training-admin-booking{border:1px solid var(--border, #e6ebf1);border-radius:.65rem;overflow:hidden;background:var(--surface, #fff)}.training-admin-booking--open{border-color:color-mix(in srgb,var(--accent, #2f6fed) 35%,var(--border, #e6ebf1))}.training-admin-booking__summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer}.training-admin-booking__summary:hover{background:color-mix(in srgb,var(--accent, #2f6fed) 6%,transparent)}.training-admin-booking__school{font-weight:600;min-width:0}.training-admin-booking__count{flex-shrink:0;color:var(--text-muted, #5c6570);font-size:.92rem}.training-admin-booking__details{margin:0;padding:.75rem .85rem .85rem;display:grid;gap:.55rem;border-top:1px solid var(--border, #e6ebf1)}.training-admin-booking__details>div{display:grid;grid-template-columns:minmax(7rem,9.5rem) 1fr;gap:.5rem .75rem;align-items:baseline}.training-admin-booking__details dt{margin:0;color:var(--text-muted, #5c6570);font-size:.85rem}.training-admin-booking__details dd{margin:0;font-size:.95rem;word-break:break-word}.training-admin-booking__details a{color:inherit}.training-admin__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.75rem;min-width:0}.training-weekdays{border:none;padding:0;display:flex;flex-wrap:wrap;gap:.65rem}.training-weekday{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem}.training-admin-slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.training-admin-slot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.65rem 0;border-bottom:1px solid var(--border, #e6ebf1)}.training-cal__toolbar{justify-content:space-between;align-items:center;min-width:0}.training-cal__toolbar h2{margin:0;min-width:0}.training-cal__controls{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.training-cal__refresh{flex:0 0 auto;align-self:stretch;min-width:2.5rem;min-height:2.5rem;padding:.4rem;gap:0}.training-cal__nav{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.1rem;min-width:0;padding:.15rem;border-radius:var(--radius-md, .55rem);border:1px solid var(--border, #e6ebf1);background:color-mix(in srgb,var(--surface, #fff) 88%,#eef2f7)}.training-cal__nav>button.ghost{min-width:2.25rem;min-height:2.25rem;padding:0;gap:0;border:none;border-radius:var(--radius-sm, .4rem);box-shadow:none;color:var(--text-main, #1f2937)}.training-cal__nav>button.ghost:hover:not(:disabled){transform:none;filter:none;background:color-mix(in srgb,var(--accent, #2f6fed) 10%,transparent);color:var(--text-main, #1f2937)}.training-cal__nav>button.ghost:active:not(:disabled){transform:none}.training-cal__month{flex:0 1 auto;min-width:7.5rem;padding:0 .35rem;text-align:center;font-size:.92rem;font-weight:600;white-space:nowrap;text-transform:capitalize;animation:training-cal-fade .22s ease}@keyframes training-cal-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.training-cal{display:flex;flex-direction:column;gap:.35rem;width:100%;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.training-cal__head,.training-cal__body{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;width:100%;min-width:0}.training-cal__dow{font-size:.78rem;font-weight:600;color:var(--text-muted, #5c6570);text-align:center;padding:.25rem 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-cal__cell{min-height:5.5rem;min-width:0;display:flex;flex-direction:column;gap:.3rem;padding:.35rem;border-radius:.55rem;border:1px solid color-mix(in srgb,var(--border, #d7dde5) 85%,transparent);background:color-mix(in srgb,var(--surface, #fff) 92%,#f3f6fa);color:var(--text-main, #1f2937);font:inherit;cursor:default;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;overflow:hidden}.training-cal--pick-day .training-cal__cell{min-height:3.25rem;align-items:center;justify-content:flex-start;gap:.35rem;padding:.45rem .35rem .5rem}.training-cal--pick-day .training-cal__cell:disabled:not(.training-cal__cell--out){opacity:.55}.training-cal__cell--has:not(:disabled),.training-cal__cell:has(.training-cal__slot),.training-cal__cell[tabindex="0"]{cursor:pointer}.training-cal__cell--has:not(:disabled):hover,.training-cal__cell:hover:has(.training-cal__slot),.training-cal__cell[tabindex="0"]:hover{border-color:color-mix(in srgb,var(--accent, #2f6fed) 55%,var(--border, #d7dde5))}.training-cal__cell--out{opacity:.42}.training-cal__cell--today{border-color:var(--accent, #2f6fed);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent, #2f6fed) 35%,transparent)}.training-cal__cell--has{background:var(--surface, #fff)}.training-cal__cell--selected{border-color:var(--accent, #2f6fed);background:color-mix(in srgb,var(--accent, #2f6fed) 10%,var(--surface, #fff))}.training-cal__daynum{font-size:.78rem;font-weight:600;color:var(--text-muted, #5c6570);line-height:1}.training-cal--pick-day .training-cal__daynum{font-size:.9rem;color:var(--text-main, #1f2937)}.training-cal__dot{width:.4rem;height:.4rem;border-radius:999px;background:var(--accent, #2f6fed)}.training-cal__slots{display:flex;flex-direction:column;gap:.25rem}.training-cal__slot,.training-day-time{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.05rem;width:100%;min-width:0;min-height:0;padding:.28rem .35rem;border-radius:.4rem;border:1px solid color-mix(in srgb,var(--accent, #2f6fed) 28%,var(--border, #d7dde5));background:color-mix(in srgb,var(--accent, #2f6fed) 8%,transparent);color:var(--text-main, #1f2937);font:inherit;font-size:.72rem;font-weight:500;line-height:1.2;text-align:left;box-shadow:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.training-cal__slot:hover:not(:disabled),.training-day-time:hover:not(:disabled){border-color:var(--accent, #2f6fed);background:color-mix(in srgb,var(--accent, #2f6fed) 14%,transparent);color:var(--text-main, #1f2937);filter:none;transform:translateY(-1px);box-shadow:none}.training-cal__slot:active:not(:disabled),.training-day-time:active:not(:disabled){transform:none}.training-cal__slot--selected,.training-day-time--selected{border-color:var(--accent, #2f6fed);background:color-mix(in srgb,var(--accent, #2f6fed) 18%,transparent)}.training-cal__slot--nomeet,.training-day-time--nomeet{border-color:color-mix(in srgb,#b42318 45%,var(--border, #d7dde5));background:color-mix(in srgb,#b42318 8%,transparent)}.training-cal__slot--cancelled,.training-day-time--cancelled{opacity:.55;text-decoration:line-through}.training-cal__slot--readonly,.training-day-time--readonly{cursor:default;pointer-events:none}.training-cal__slot-time,.training-day-time__when{font-weight:700;color:var(--text-main, #1f2937);min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-cal__slot-meta,.training-day-time__seats{color:var(--text-muted, #5c6570);font-weight:500}.training-day-times,.training-my-bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.training-day-time{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;font-size:.95rem;border-radius:.6rem}.training-day-time--bookable{cursor:default}.training-day-time--bookable:hover,.training-day-time--bookable:active{transform:none;filter:none}.training-day-time__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1}.training-day-time__book{flex-shrink:0;min-height:2.75rem;padding:.55rem 1rem;font-size:.95rem;font-weight:600}.training-cal__detail{display:flex;flex-direction:column;gap:.85rem;margin-top:.35rem;padding-top:.85rem;border-top:1px solid var(--border, #e6ebf1);animation:training-cal-fade .2s ease}.training-cal__detail-head{line-height:1.35;text-transform:capitalize}.training-cal__add{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.65rem;align-items:end}.training-cal__add label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;min-width:0}.training-cal__add input,.training-cal__meet-edit input{width:100%;max-width:100%;box-sizing:border-box}.training-cal__add button{justify-self:start;align-self:end}.training-cal__meet-edit{display:flex;flex-direction:column;gap:.65rem;width:100%}.training-cal__meet-edit label{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}.training-cal__meet-panel{display:flex;flex-direction:column;gap:.65rem;width:100%;flex-basis:100%;padding-top:.35rem}.training-cal__meet-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .75rem;width:100%}.training-cal__meet-url{flex:1 1 12rem;min-width:0;padding:.55rem .7rem;border-radius:.5rem;border:1px solid var(--border, #d7dde5);background:color-mix(in srgb,var(--surface, #fff) 92%,var(--border, #d7dde5));color:var(--text-main, #1f2937);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-cal__meet-icons{flex-wrap:nowrap;gap:.35rem}.training-cal__meet-icons .ghost.small{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;padding:.4rem}.training-cal__slot-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.65rem;border-top:1px dashed var(--border, #e6ebf1)}.training-cal__slot-summary{min-width:0;flex:1 1 12rem}.training-cal__slot-creator{margin:.25rem 0 0;font-size:.88rem;line-height:1.35;word-break:break-word}@media (max-width: 720px){.training-page,.training-admin{padding-left:.85rem;padding-right:.85rem}.training-card{padding:1rem .95rem}.training-cal__toolbar{flex-direction:column;align-items:stretch;gap:.65rem}.training-cal__controls{width:100%}.training-cal__nav{flex:1 1 auto;justify-content:space-between;min-width:0}.training-cal__nav>button.ghost,.training-cal__refresh{min-width:2.75rem;min-height:2.75rem}.training-cal__month{flex:1 1 auto;min-width:0;font-size:.95rem}.training-cal__head,.training-cal__body{gap:.2rem}.training-cal__dow{font-size:.68rem}.training-cal__cell{min-height:2.85rem;padding:.3rem .15rem;align-items:center}.training-cal__slots{display:none}.training-cal:not(.training-cal--pick-day) .training-cal__cell--has:after{content:"";width:.45rem;height:.45rem;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--text-muted, #5c6570) 65%,transparent)}.training-cal:not(.training-cal--pick-day) .training-cal__cell--booked:after{background:var(--accent, #2f6fed);box-shadow:none}.training-cal--pick-day .training-cal__cell{min-height:2.75rem;padding:.35rem .15rem .4rem}.training-cal__daynum{font-size:.82rem}.training-cal--pick-day .training-cal__daynum{font-size:.88rem}.training-cal__slot-meta{display:none}.training-cal__add{grid-template-columns:1fr}.training-cal__add button{width:100%;justify-self:stretch}.training-admin-booking__details>div{grid-template-columns:1fr;gap:.15rem}.training-day-time{flex-direction:column;align-items:flex-start}.training-day-time--bookable{align-items:stretch;gap:.65rem}.training-day-time__book{width:100%}.training-code-input{letter-spacing:.22em;font-size:1.45rem}.training-actions{width:100%}.training-actions>.primary,.training-actions>.ghost,.training-actions>button{flex:1 1 auto}}@media (max-width: 420px){.training-page__hero h1,.page-header__title{font-size:1.25rem}.training-cal__dow{font-size:.62rem}}.announcements-page{max-width:720px;margin:0 auto;padding-bottom:2rem}.announcements-page__admin-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.announcements-page__status,.announcements-page__empty,.announcements-page__error{margin:1rem 0}.announcements-page__error{color:var(--color-danger, #b42318)}.announcements-section__heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:1.75rem 0 .25rem;color:var(--text-muted, #667085)}.announcements-list{display:flex;flex-direction:column;border-top:1px solid color-mix(in srgb,var(--text-primary, #0f172a) 12%,transparent)}.announcements-item{padding:1.25rem 0;border-bottom:1px solid color-mix(in srgb,var(--text-primary, #0f172a) 12%,transparent)}.announcements-item__body{display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;font-weight:inherit;gap:0;text-align:left;cursor:pointer;transform:none;filter:none}.announcements-item__body:hover:not(:disabled),.announcements-item__body:active:not(:disabled),.announcements-item__body:focus-visible{background:transparent;box-shadow:none;transform:none;filter:none}.announcements-item__date{display:block;margin:0 0 .4rem;font-size:.78rem;font-weight:500;color:var(--text-muted, #667085)}.announcements-item__title{margin:0;font-size:1.2rem;font-weight:650;line-height:1.3;letter-spacing:-.015em;color:var(--text-primary, #0f172a);transition:color .15s ease}.announcements-item__body:hover .announcements-item__title,.announcements-item__body:focus-visible .announcements-item__title{color:var(--accent, #2563eb)}.announcements-item__excerpt{margin:.45rem 0 0;font-size:.95rem;line-height:1.5;color:var(--text-secondary, #475467);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.announcements-item__actions{display:flex;align-items:center;gap:.35rem;margin-top:.65rem}.announcements-item__link{display:inline-flex;align-items:center;margin:0;padding:.35rem 0;min-height:44px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-secondary, #475467);font:inherit;font-size:.88rem;font-weight:550;gap:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em;transform:none;filter:none}.announcements-item__link:hover:not(:disabled),.announcements-item__link:active:not(:disabled),.announcements-item__link:focus-visible{background:transparent;box-shadow:none;transform:none;filter:none;color:var(--text-primary, #0f172a)}.announcements-item__link--accent{color:var(--accent, #2563eb);text-decoration:none;font-weight:600}.announcements-item__link--accent:hover:not(:disabled),.announcements-item__link--accent:focus-visible{color:var(--accent, #2563eb);text-decoration:underline;text-underline-offset:.18em}.announcements-item__link--danger{color:var(--danger, #b42318);text-decoration:none}.announcements-item__link--danger:hover:not(:disabled),.announcements-item__link--danger:focus-visible{color:var(--danger, #b42318);text-decoration:underline;text-underline-offset:.18em}.announcements-item__link:disabled{opacity:.5;cursor:default;background:transparent;color:var(--text-muted, #98a2b3)}.announcements-item__sep{color:var(--text-muted, #98a2b3);font-size:.88rem;line-height:1}.announcements-detail__date{display:block;margin:-.35rem 0 1.25rem;font-size:.85rem;font-weight:500;color:var(--text-muted, #667085)}.announcements-detail__draft-banner{margin:0 0 1rem;padding:.55rem .75rem;border-radius:8px;background:#0000000f;font-size:.88rem}.announcement-content img{max-width:min(100%,520px);max-height:280px;width:auto;height:auto;object-fit:contain;border-radius:8px;margin:.75rem 0;display:block}.announcements-editor__field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.announcements-editor__field input[type=text],.announcements-editor__field input[type=date]{width:100%;max-width:480px}.announcements-editor__textarea{width:100%;min-height:12rem;resize:vertical;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border-subtle, rgba(0, 0, 0, .12));font:inherit;line-height:1.5}.announcements-editor__preview{margin:.5rem 0 1rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--border-subtle, rgba(0, 0, 0, .08));background:var(--surface-raised, #fff)}.announcements-editor__preview-heading{margin:0 0 .75rem;font-size:.85rem;font-weight:600;opacity:.7}.announcements-editor__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.announcements-editor__video-form{margin-bottom:1rem;padding:.85rem 1rem;border:1px dashed var(--border-subtle, rgba(0, 0, 0, .12));border-radius:10px}.announcements-editor__video-form .announcements-editor__field input{max-width:100%}.announcements-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.presentation-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0b1020;color:#fff;display:flex;flex-direction:column}.presentation-stage__slide{flex:1;background-color:#1b2437;position:relative;overflow:hidden}.presentation-stage__frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.presentation-stage__canvas{position:absolute;top:50%;left:50%;width:1280px;height:720px;transform:translate(-50%,-50%) scale(var(--presentation-frame-scale, 1))}.presentation-stage__backdrop,.presentation-stage__image{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-repeat:no-repeat}.presentation-stage__backdrop{background-size:cover;transform:scale(1.08);filter:blur(28px)}.presentation-stage__image{background-size:cover;z-index:1}.presentation-stage__slide--split .presentation-stage__canvas{display:grid;grid-template-columns:30% 70%;grid-template-rows:100%}.presentation-stage__slide--split .presentation-stage__text-pane{position:relative;inset:auto;left:auto;top:auto;right:auto;bottom:auto;transform:none;width:auto;max-width:none;height:100%;max-height:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;align-items:stretch;text-align:left;overflow:auto;z-index:2}.presentation-stage__slide--split .presentation-stage__text-pane ul{display:block;text-align:left}.presentation-stage__slide--split.presentation-stage__slide--dark .presentation-stage__text-pane{background:#0b1020;color:#fffef7;text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.presentation-stage__slide--split.presentation-stage__slide--light .presentation-stage__text-pane{background:#fffaf0;color:#111827;text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.presentation-stage__image-pane{position:relative;overflow:hidden;background:#152033}.presentation-stage__image-pane .presentation-stage__image{position:absolute;top:0;right:0;bottom:0;left:0}.presentation-stage__overlay{--presentation-overlay-scale: 1;position:absolute;z-index:2;box-sizing:border-box;overflow:hidden;padding:calc(24px * var(--presentation-overlay-scale)) calc(28px * var(--presentation-overlay-scale));max-width:35%;border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:Fredoka,Segoe UI,system-ui,sans-serif;font-weight:600}.presentation-layout-editor{display:grid;gap:.75rem;justify-items:start;margin-bottom:.75rem;width:min(100%,720px)}.presentation-layout-editor__stage{aspect-ratio:16 / 9;width:100%;border-radius:.75rem}.presentation-layout-editor--idle .presentation-stage__overlay{cursor:pointer}.presentation-layout-editor--adjust .presentation-stage__overlay{outline:calc(3px / var(--presentation-frame-scale, 1)) solid #fbbf24;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.presentation-layout-editor--text .presentation-stage__overlay{outline:calc(3px / var(--presentation-frame-scale, 1)) dashed #38bdf8;cursor:text}.presentation-layout-editor--text .presentation-stage__overlay h1,.presentation-layout-editor--text .presentation-stage__overlay li{min-height:1em;outline:none}.presentation-layout-editor__resize{--resize-handle-size: calc(22px / var(--presentation-frame-scale, 1));position:absolute;right:calc(5px / var(--presentation-frame-scale, 1));bottom:calc(5px / var(--presentation-frame-scale, 1));width:var(--resize-handle-size);height:var(--resize-handle-size);min-width:0;min-height:0;padding:0;border:calc(2px / var(--presentation-frame-scale, 1)) solid #fff;border-radius:999px;background:#f59e0b;box-shadow:0 2px 8px #00000073;cursor:nwse-resize;touch-action:none}@media (pointer: coarse){.presentation-layout-editor__resize{--resize-handle-size: calc(34px / var(--presentation-frame-scale, 1))}}.presentation-layout-editor__actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.presentation-layout-editor__actions>button.small{padding:.35rem .75rem;font-size:.8rem;min-height:36px}.presentation-image-regen-dialog{width:min(420px,calc(100vw - 2rem))}.presentation-image-regen-dialog--compare{width:min(720px,calc(100vw - 2rem))}.presentation-image-regen-dialog__compare{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.85rem 0 1rem}.presentation-image-regen-dialog--compare h4{font-size:1.35rem;text-align:center}.presentation-image-regen-dialog--compare>.muted{text-align:center}.presentation-image-regen-dialog__choice{margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;background:none;border:none;box-shadow:none;color:inherit;cursor:pointer;text-align:left}.presentation-image-regen-dialog__choice:hover:not(:disabled){background:none;filter:none;transform:none;box-shadow:none}.presentation-image-regen-dialog__choice:hover:not(:disabled) img{border-color:var(--logo-blue-light, #6bb6f2);box-shadow:0 0 0 2px var(--logo-blue-light, #6bb6f2)}.presentation-image-regen-dialog__caption{font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b)}.presentation-image-regen-dialog__compare img,.presentation-image-regen-dialog__empty{width:100%;aspect-ratio:5 / 4;object-fit:cover;border-radius:var(--radius-sm, .5rem);border:1px solid var(--border-subtle, #e2e8f0);background:var(--bg-subtle, #f8fafc);transition:border-color .15s ease,box-shadow .15s ease}.presentation-image-regen-dialog__empty{display:flex;align-items:center;justify-content:center;padding:.75rem;text-align:center;font-size:.85rem}@media (max-width: 640px){.presentation-image-regen-dialog__compare{grid-template-columns:1fr}}.presentation-layout-editor__theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;gap:0;border:1px solid var(--border-subtle, #e2e8f0);border-radius:var(--radius-sm, .5rem);background:var(--bg-subtle, #f8fafc);color:var(--text-secondary, #64748b);box-shadow:none}.presentation-layout-editor__theme-toggle:hover:not(:disabled){background:var(--bg-surface, #fff);color:var(--text-main, #0f172a);border-color:var(--logo-blue-light, #6bb6f2);filter:none;transform:none;box-shadow:none}.presentation-layout-editor__theme-toggle:active:not(:disabled){transform:none}.presentation-layout-editor__theme-toggle:disabled{opacity:.55}.presentation-stage__slide--dark .presentation-stage__overlay{background:#080c18db;color:#fffef7;text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 12px rgba(0,0,0,.55)}.presentation-stage__slide--light .presentation-stage__overlay{background:#fffcf5eb;color:#111827;text-shadow:0 1px 0 rgba(255,255,255,.6)}.presentation-stage__slide--left .presentation-stage__overlay{left:4%;top:50%;transform:translateY(-50%)}.presentation-stage__slide--right .presentation-stage__overlay{right:4%;top:50%;transform:translateY(-50%)}.presentation-stage__slide--top .presentation-stage__overlay{left:50%;top:5%;transform:translate(-50%);width:fit-content;max-width:78%;height:fit-content;text-align:center}.presentation-stage__slide--bottom .presentation-stage__overlay{left:8%;bottom:8%;max-width:84%}.presentation-stage__slide--center .presentation-stage__overlay{left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;max-width:50%}.presentation-stage__slide--text-little{--presentation-reserved-space: 35%}.presentation-stage__slide--text-medium{--presentation-reserved-space: 45%}.presentation-stage__slide--text-much{--presentation-reserved-space: 55%}.presentation-stage__slide--default-overlay.presentation-stage__slide--left .presentation-stage__overlay,.presentation-stage__slide--default-overlay.presentation-stage__slide--right .presentation-stage__overlay{width:var(--presentation-reserved-space);max-width:var(--presentation-reserved-space)}.presentation-stage__slide--default-overlay.presentation-stage__slide--top .presentation-stage__overlay,.presentation-stage__slide--default-overlay.presentation-stage__slide--bottom .presentation-stage__overlay{width:fit-content;max-width:78%;height:fit-content;max-height:none}.presentation-stage__slide--top .presentation-stage__overlay ul{text-align:left;display:inline-block}.presentation-stage__slide--default-overlay.presentation-stage__slide--center .presentation-stage__overlay{width:var(--presentation-reserved-space);max-width:var(--presentation-reserved-space)}.presentation-stage__slide--center .presentation-stage__overlay ul{text-align:left}.presentation-stage__overlay h1{margin:0 0 calc(12px * var(--presentation-overlay-scale));font-size:calc(46px * var(--presentation-overlay-scale));font-weight:700;line-height:1.2;letter-spacing:.01em;color:inherit}.presentation-stage__overlay ul{margin:0;padding-left:calc(18px * var(--presentation-overlay-scale));font-size:calc(23px * var(--presentation-overlay-scale));font-weight:500;line-height:1.35}.presentation-stage__slide--cover .presentation-stage__overlay ul{list-style:none;padding-left:0;font-size:calc(28px * var(--presentation-overlay-scale));font-weight:500;line-height:1.4;opacity:.85}.presentation-stage__nav{position:fixed;z-index:81;left:50%;bottom:max(.85rem,env(safe-area-inset-bottom,0px));transform:translate(-50%);display:inline-flex;gap:.15rem;align-items:center;padding:.25rem;border-radius:999px;background:#080c18b8;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000059}.presentation-stage__ctrl{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;gap:0;border:0;border-radius:999px;background:transparent;color:#fff;box-shadow:none;cursor:pointer}.presentation-stage__ctrl:hover:not(:disabled){background:#ffffff1f;filter:none;transform:none;box-shadow:none}.presentation-stage__ctrl:active:not(:disabled){transform:none;background:#ffffff2e}.presentation-stage__ctrl:disabled{background:transparent;color:#ffffff47;opacity:1;box-shadow:none}.presentation-text-amount{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.presentation-options-group{display:flex;flex-direction:column;gap:.85rem}.presentation-options-group+.presentation-options-group{margin-top:.35rem;padding-top:1.1rem;border-top:1px solid var(--border-subtle, #e2e8f0)}.presentation-options-group__title{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary, #64748b)}.presentation-segmented{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(4.5rem,1fr);gap:.2rem;width:min(100%,28rem);padding:.2rem;border:1px solid var(--border-subtle, #e2e8f0);border-radius:var(--radius-md, .75rem);background:var(--bg-subtle, #f8fafc)}button.presentation-segmented__option{margin:0;min-height:40px;padding:.45rem .75rem;gap:0;border:0;border-radius:calc(var(--radius-md, .75rem) - .1rem);background:transparent;color:var(--text-secondary, #64748b);box-shadow:none;font-size:.88rem;font-weight:600}button.presentation-segmented__option:hover:not(:disabled){background:#0f172a0a;color:var(--text-main, #0f172a);filter:none;transform:none;box-shadow:none}button.presentation-segmented__option:active:not(:disabled){transform:none}button.presentation-segmented__option.is-selected{background:var(--bg-surface, #fff);color:var(--text-main, #0f172a);box-shadow:none;outline:1px solid var(--border-subtle, #e2e8f0)}button.presentation-segmented__option:disabled{opacity:.55}.related-creation-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}button.related-creation-actions__button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px}@media (max-width: 480px){button.related-creation-actions__button{flex:1 1 10rem}}
