@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(./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(./KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(./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(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(./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(./KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(./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(./KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}:root{--topbar-h:56px;--jumpbar-h:40px;--sidebar-left-w:282px;--sidebar-right-w:352px;--content-max:56rem;--content-pad:clamp(1rem, 3vw, 2.5rem);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-full:999px;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.33, 1, .68, 1);--ease-spring:cubic-bezier(.34, 1.4, .5, 1);--t-fast:.14s;--t-med:.24s;--t-slow:.42s;--font-heading:var(--font-ui);--z-topbar:50;--z-jumpbar:30;--z-drawer:60;--z-scrim:55;--z-dialog:80;--element-alkali:#f46a5a4d;--element-alkaline:#f6995c4d;--element-transition:#fac85a52;--element-post:#78be784d;--element-metalloid:#5ac8aa4d;--element-nonmetal:#60a5fa4d;--element-halogen:#818cf852;--element-noble:#c084fc4d;--element-lanthanide:#f080b447;--element-actinide:#f0648c3d;--element-unknown:#94a3b840;--element-simple-metal:#f6995c52;--element-simple-metalloid:#5ac8aa52;--element-simple-nonmetal:#60a5fa4d;--studio-warm:#d6603c;--studio-cool:#4678c8;--studio-neutral:#8c8c8c;--studio-guide:#fff;--studio-guide-shade:#0000009e;--studio-wall:#e8e5df;--studio-wall-2:#ddd9d1;--studio-mount:#fbfaf8;--studio-ink:#1b1a17;--studio-ink-2:#4b4841;--studio-ink-3:#7b766c;--studio-rule:#1b1a1729}[data-theme=dark]{--studio-wall:#121316;--studio-wall-2:#0c0d0f;--studio-mount:#1a1b1f;--studio-ink:#eceae4;--studio-ink-2:#aaa69e;--studio-ink-3:#7a766e;--studio-rule:#eceae429}[data-theme=vivid]{--studio-wall:#100e0d;--studio-wall-2:#070606;--studio-mount:#191614;--studio-ink:#f4f0e9;--studio-ink-2:#b5afa5;--studio-ink-3:#837d74;--studio-rule:#f4f0e92e}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4f8;--surface:#fff;--surface-2:#f6f8fb;--surface-3:#eceff5;--border:#e3e7ee;--border-strong:#c9d1dd;--text:#1c2433;--text-2:#4d5a70;--text-3:#8492a8;--text-inverse:#f5f7fb;--accent:#3b5bdb;--accent-strong:#2f4bc0;--accent-soft:#e9eefc;--accent-soft-2:#d8e1fa;--on-accent:#fff;--ok:#2f9e44;--ok-soft:#e3f4e6;--warn:#cc8a04;--warn-soft:#fbf1da;--danger:#d6336c;--danger-soft:#fdebf1;--info:#1971c2;--info-soft:#e3effa;--shadow-1:0 1px 2px #1720330d, 0 1px 4px #1720330f;--shadow-2:0 4px 14px #1720331a, 0 2px 5px #1720330f;--shadow-3:0 16px 44px #17203338, 0 4px 12px #1720331a;--scrim:#181e2c73}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151d;--surface:#191f2b;--surface-2:#202836;--surface-3:#273040;--border:#2b3446;--border-strong:#3d4a60;--text:#e9edf4;--text-2:#aab6c8;--text-3:#71809a;--text-inverse:#1c2433;--accent:#7a95f7;--accent-strong:#92a9f9;--accent-soft:#7a95f729;--accent-soft-2:#7a95f747;--on-accent:#10162b;--ok:#69c779;--ok-soft:#69c77924;--warn:#e5b04d;--warn-soft:#e5b04d21;--danger:#f06d9a;--danger-soft:#f06d9a24;--info:#6fb3ee;--info-soft:#6fb3ee21;--shadow-1:0 1px 2px #00000059;--shadow-2:0 4px 14px #0006;--shadow-3:0 16px 44px #0000008c;--scrim:#05080e99}[data-theme=light][data-scheme=sunset]{--bg:#fdf1ea;--surface:#fffaf7;--surface-2:#fdf1e9;--surface-3:#f8e2d4;--border:#f2d8c6;--border-strong:#ddb094;--accent:#d9480f;--accent-strong:#b23a0b;--accent-soft:#fde7d9;--accent-soft-2:#f9d0b4;--on-accent:#fff}[data-theme=dark][data-scheme=sunset]{--bg:#180f0a;--surface:#22160f;--surface-2:#2c1d14;--surface-3:#38251a;--border:#4a3122;--border-strong:#6b4830;--accent:#ff922b;--accent-strong:#ffa94d;--accent-soft:#ff922b26;--accent-soft-2:#ff922b47;--on-accent:#2b1403}[data-theme=vivid][data-scheme=sunset]{--bg:linear-gradient(135deg, #2b0a04 0%, #7a1d05 40%, #c23a06 75%, #e8590c 100%);--surface:#a32d05;--surface-2:#bb3606;--surface-3:#d24107;--accent:#ffc078;--accent-strong:#ffe0b8;--on-accent:#3d1200}[data-theme=light][data-scheme=arctic]{--bg:#eaf3f6;--surface:#f9fdfe;--surface-2:#ecf5f8;--surface-3:#dceaf0;--border:#cee0e8;--border-strong:#a2c3d1;--accent:#0c8599;--accent-strong:#096b7c;--accent-soft:#d9eef3;--accent-soft-2:#b7dee7;--on-accent:#fff}[data-theme=dark][data-scheme=arctic]{--bg:#08131a;--surface:#0e1e28;--surface-2:#142833;--surface-3:#1b3441;--border:#244455;--border-strong:#366377;--accent:#3bc9db;--accent-strong:#66d9e8;--accent-soft:#3bc9db24;--accent-soft-2:#3bc9db42;--on-accent:#032b32}[data-theme=vivid][data-scheme=arctic]{--bg:linear-gradient(135deg, #001519 0%, #023b47 40%, #056b7f 75%, #0c8599 100%);--surface:#04586a;--surface-2:#06687c;--surface-3:#08788f;--accent:#99e9f2;--accent-strong:#c5f6fa;--on-accent:#002026}[data-theme=light][data-scheme=moss]{--bg:#f0f4e8;--surface:#fbfdf7;--surface-2:#f2f7e9;--surface-3:#e6efd6;--border:#dae7c5;--border-strong:#b3c894;--accent:#5c940d;--accent-strong:#4a780a;--accent-soft:#e8f2d5;--accent-soft-2:#d3e6b3;--on-accent:#fff}[data-theme=dark][data-scheme=moss]{--bg:#0e120a;--surface:#161c10;--surface-2:#1d2516;--surface-3:#26301c;--border:#334026;--border-strong:#4c5d38;--accent:#a9e34b;--accent-strong:#c0eb75;--accent-soft:#a9e34b24;--accent-soft-2:#a9e34b42;--on-accent:#1d2b02}[data-theme=vivid][data-scheme=moss]{--bg:linear-gradient(135deg, #0d1400 0%, #2b4302 40%, #4a7205 75%, #5c940d 100%);--surface:#3d5f03;--surface-2:#486f04;--surface-3:#537f05;--accent:#d8f5a2;--accent-strong:#e9fac8;--on-accent:#1a2600}[data-theme=light][data-scheme=ocean]{--bg:#ecf2f8;--surface:#fbfdff;--surface-2:#f1f6fb;--surface-3:#e4edf6;--border:#d8e3ee;--border-strong:#b6cadd;--accent:#1864ab;--accent-strong:#14538f;--accent-soft:#ddebf8;--accent-soft-2:#c3dcf2;--on-accent:#fff}[data-theme=dark][data-scheme=ocean]{--bg:#0a1119;--surface:#101b28;--surface-2:#152333;--surface-3:#1c2d41;--border:#253a52;--border-strong:#375473;--accent:#4dabf7;--accent-strong:#74c0fc;--accent-soft:#4dabf726;--accent-soft-2:#4dabf747;--on-accent:#062843}[data-theme=light][data-scheme=crimson]{--bg:#f8f0f1;--surface:#fffbfb;--surface-2:#f9f0f1;--surface-3:#f2e2e4;--border:#ecd7da;--border-strong:#d7b4ba;--accent:#c92a2a;--accent-strong:#a61e1e;--accent-soft:#fbe7e7;--accent-soft-2:#f5cfcf;--on-accent:#fff}[data-theme=dark][data-scheme=crimson]{--bg:#170e10;--surface:#1f1417;--surface-2:#281a1e;--surface-3:#332227;--border:#402b32;--border-strong:#5c3e48;--accent:#ff6b6b;--accent-strong:#ff8787;--accent-soft:#ff6b6b24;--accent-soft-2:#ff6b6b42;--on-accent:#430909}[data-theme=light][data-scheme=emerald]{--bg:#edf5ef;--surface:#fbfefc;--surface-2:#f0f7f2;--surface-3:#e2efe7;--border:#d4e6db;--border-strong:#aed0bb;--accent:#2b8a3e;--accent-strong:#237032;--accent-soft:#e0f2e5;--accent-soft-2:#c6e6cf;--on-accent:#fff}[data-theme=dark][data-scheme=emerald]{--bg:#0c130f;--surface:#121c16;--surface-2:#18251d;--surface-3:#1f3026;--border:#2a3f32;--border-strong:#3e5c49;--accent:#51cf66;--accent-strong:#69db7c;--accent-soft:#51cf6624;--accent-soft-2:#51cf6642;--on-accent:#062d10}[data-theme=light][data-scheme=violet]{--bg:#f2eff9;--surface:#fdfcff;--surface-2:#f5f1fc;--surface-3:#ebe4f7;--border:#e0d5f0;--border-strong:#c2addf;--accent:#7048e8;--accent-strong:#5f3dc4;--accent-soft:#f0ebfd;--accent-soft-2:#e2d8fb;--on-accent:#fff}[data-theme=dark][data-scheme=violet]{--bg:#120e1c;--surface:#1a1427;--surface-2:#211a31;--surface-3:#2a223e;--border:#372d4e;--border-strong:#4f416d;--accent:#b197fc;--accent-strong:#c7b2fd;--accent-soft:#b197fc29;--accent-soft-2:#b197fc4d;--on-accent:#221046}[data-theme=light][data-scheme=honey]{--bg:#f8f3e6;--surface:#fffdf6;--surface-2:#f9f3e3;--surface-3:#f1e7cf;--border:#e8dbbd;--border-strong:#cfba8f;--accent:#a5690b;--accent-strong:#875508;--accent-soft:#f7ecd1;--accent-soft-2:#efdcab;--on-accent:#fff}[data-theme=dark][data-scheme=honey]{--bg:#171208;--surface:#201910;--surface-2:#292115;--surface-3:#342a1c;--border:#413524;--border-strong:#5d4c36;--accent:#ffc078;--accent-strong:#ffd8a8;--accent-soft:#ffc07824;--accent-soft-2:#ffc07842;--on-accent:#3d2503}[data-theme=light][data-scheme=noir]{--bg:#f2f2f3;--surface:#fff;--surface-2:#f6f6f7;--surface-3:#ebebed;--border:#e2e2e5;--border-strong:#c6c6cc;--accent:#343a40;--accent-strong:#1a1d20;--accent-soft:#e7e7ea;--accent-soft-2:#d5d5da;--on-accent:#fff}[data-theme=dark][data-scheme=noir]{--bg:#000;--surface:#0f0f10;--surface-2:#171718;--surface-3:#212123;--border:#29292c;--border-strong:#414146;--accent:#adb5bd;--accent-strong:#ced4da;--accent-soft:#adb5bd24;--accent-soft-2:#adb5bd42;--on-accent:#0c0c0d;--scrim:#000000b8}[data-fx=lite]{--t-fast:0s;--t-med:0s;--t-slow:0s}[data-fx=rich]{--t-fast:.16s;--t-med:.3s;--t-slow:.55s}[data-theme=vivid]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#f7f3f0;--text-2:#f7f0eccc;--text-3:#f7f0ec8c;--text-inverse:#1c2433;--border:#ffffff1a;--border-strong:#ffffff3d;--accent-soft:#ffffff1a;--accent-soft-2:#fff3;--ok:#6fce80;--ok-soft:#6fce8026;--warn:#e8bf4d;--warn-soft:#e8bf4d26;--danger:#f08a8a;--danger-soft:#f08a8a29;--info:#7cc4de;--info-soft:#7cc4de26;--shadow-1:0 2px 6px #00000047, inset 0 1px 0 #ffffff0a;--shadow-2:0 8px 24px #00000052, inset 0 1px 0 #ffffff0a;--shadow-3:0 18px 45px #00000073;--scrim:#0009}[data-theme=vivid][data-scheme=indigo],[data-theme=vivid]:not([data-scheme]){--bg:linear-gradient(135deg, #06051c 0%, #131039 45%, #1d1856 100%);--surface:#1e185c;--surface-2:#262070;--surface-3:#2f2884;--accent:#6d76e8;--accent-strong:#aab2fa;--on-accent:#f4f5ff}[data-theme=vivid][data-scheme=ocean]{--bg:linear-gradient(135deg, #03031f 0%, #08085e 40%, #1010a6 75%, #1616c2 100%);--surface:#1212a6;--surface-2:#1717bd;--surface-3:#1d1dd4;--accent:#5c7cff;--accent-strong:#a8bbff;--on-accent:#f2f5ff}[data-theme=vivid][data-scheme=crimson]{--bg:linear-gradient(135deg, #2e0101 0%, #4f0303 45%, #700606 100%);--surface:#5e0404;--surface-2:#710707;--surface-3:#820b0b;--accent:#bd2020;--accent-strong:#f09090;--on-accent:#fff7f4}[data-theme=vivid][data-scheme=emerald]{--bg:linear-gradient(135deg, #02100a 0%, #07331b 40%, #0c572e 75%, #0f6b39 100%);--surface:#0e6132;--surface-2:#12763f;--surface-3:#168b4b;--accent:#37c377;--accent-strong:#99f0c1;--on-accent:#04331a}[data-theme=vivid][data-scheme=violet]{--bg:linear-gradient(135deg, #160523 0%, #3d1468 45%, #5b2196 100%);--surface:#521d87;--surface-2:#60229d;--surface-3:#6f28b4;--accent:#a855f7;--accent-strong:#d5b3fc;--on-accent:#f9f2ff}[data-theme=vivid][data-scheme=honey]{--bg:linear-gradient(135deg, #251802 0%, #6e4b04 45%, #9c6c06 100%);--surface:#8a5f06;--surface-2:#a07007;--surface-3:#b68009;--accent:#f6c026;--accent-strong:#ffd96b;--on-accent:#3b2a02}[data-theme=vivid][data-scheme=noir]{--bg:linear-gradient(135deg, #030304 0%, #101012 45%, #1a1a1d 100%);--surface:#1c1c1f;--surface-2:#232327;--surface-3:#2c2c31;--accent:#8b8b93;--accent-strong:#d9d9df;--on-accent:#f5f5f7}[data-theme=light][data-scheme=magenta]{--bg:#f8eef4;--surface:#fffbfd;--surface-2:#f9eff5;--surface-3:#f2e0eb;--border:#edd3e2;--border-strong:#d9a9c6;--accent:#d6336c;--accent-strong:#b02458;--accent-soft:#fbe4ee;--accent-soft-2:#f7c9dd;--on-accent:#fff}[data-theme=dark][data-scheme=magenta]{--bg:#180a12;--surface:#211018;--surface-2:#2b1520;--surface-3:#371b29;--border:#452233;--border-strong:#613048;--accent:#f06595;--accent-strong:#faa2c1;--accent-soft:#f0659526;--accent-soft-2:#f0659547;--on-accent:#4a0d24}[data-theme=vivid][data-scheme=magenta]{--bg:linear-gradient(135deg, #260114 0%, #560b30 40%, #8a1250 75%, #a3155f 100%);--surface:#8a1250;--surface-2:#9c1459;--surface-3:#b01765;--accent:#ff4fa3;--accent-strong:#ffa8d1;--on-accent:#fff5fa}[data-theme=light][data-scheme=teal]{--bg:#ecf5f5;--surface:#fafdfd;--surface-2:#eef6f6;--surface-3:#e0eeee;--border:#d3e6e6;--border-strong:#a9cece;--accent:#0f766e;--accent-strong:#0c5f59;--accent-soft:#dbeeed;--accent-soft-2:#bfe3e1;--on-accent:#fff}[data-theme=dark][data-scheme=teal]{--bg:#081314;--surface:#0e1c1e;--surface-2:#132628;--surface-3:#193033;--border:#22403f;--border-strong:#335c5b;--accent:#3dd6c3;--accent-strong:#74e4d6;--accent-soft:#3dd6c324;--accent-soft-2:#3dd6c342;--on-accent:#06302c}[data-theme=vivid][data-scheme=teal]{--bg:linear-gradient(135deg, #02191a 0%, #054b4a 45%, #076d68 100%);--surface:#06605c;--surface-2:#077570;--surface-3:#098a84;--accent:#14c9bc;--accent-strong:#8ff0e7;--on-accent:#032b28}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6;overflow-y:scroll}img,svg,video,canvas,iframe{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.01em;text-wrap:balance;font-weight:650;line-height:1.25}p{text-wrap:pretty}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,kbd{font-family:var(--font-mono);font-size:.9em}kbd{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-2);border-bottom-width:2px;border-radius:6px;padding:.1em .45em;font-size:.78em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft-2)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@media (pointer:coarse){:root{--touch-min:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--r-sm);transition:transform var(--t-fast) var(--ease);padding:.6rem 1rem;font-weight:600;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.muted{color:var(--text-2)}.small{font-size:.86rem}.app{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:var(--z-topbar);height:var(--topbar-h);padding:0 .75rem;padding-left:max(.75rem, env(safe-area-inset-left,0px));padding-right:max(.75rem, env(safe-area-inset-right,0px));background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-1);align-items:center;gap:.5rem;display:flex;position:-webkit-sticky;position:sticky;top:0}@media (max-width:379.98px){.brand>span:not(.brand__logo){display:none}}.topbar__group{align-items:center;gap:.25rem;min-width:0;display:flex}.topbar__group--left{flex:1 1 0}.topbar__group--right{flex:none;justify-content:flex-end}.brand{letter-spacing:-.02em;color:var(--text);white-space:nowrap;align-items:center;gap:.6rem;margin:0 .35rem;font-size:1.08rem;font-weight:750;display:inline-flex}.brand:hover{text-decoration:none}.brand__logo{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);width:30px;height:30px;color:var(--on-accent);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:9px;flex:none;place-items:center;display:grid}.brand__logo--letters{letter-spacing:.04em;font-size:.68rem;font-weight:800}.brand span b{color:var(--accent);font-weight:800}.topbar__crumbs{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);min-width:0;min-height:32px;color:var(--text-2);white-space:nowrap;align-items:center;gap:.35rem;margin-left:.85rem;padding:.2rem .85rem;font-size:.85rem;display:flex}.topbar__crumbs a{color:var(--text-2)}.topbar__crumbs a:hover{color:var(--accent)}.topbar__crumbs .crumb-sep{color:var(--text-3);flex:none}.topbar__crumbs .crumb-current{color:var(--text);text-overflow:ellipsis;font-weight:600;overflow:hidden}@media (max-width:860px){.topbar__crumbs{display:none}}.search-pill{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);height:36px;color:var(--text-3);transition:border-color var(--t-fast), color var(--t-fast);align-items:center;gap:.5rem;margin-right:.25rem;padding:0 .9rem;font-size:.88rem;display:inline-flex}.search-pill:hover{border-color:var(--border-strong);color:var(--text-2)}.search-pill kbd{margin-left:.4rem}@media (max-width:640px){.search-pill span,.search-pill kbd{display:none}.search-pill{justify-content:center;width:40px;padding:0}}.shell{flex:1;align-items:stretch;display:flex;overflow-x:clip}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.main{flex:1;width:100%}.main__inner{max-width:var(--content-max);padding:var(--content-pad);margin:0 auto;padding-bottom:5rem}.main__inner--wide{max-width:74rem}.sidebar{background:var(--surface);flex-direction:column;display:flex}.sidebar--left{width:var(--sidebar-left-w);border-right:1px solid var(--border)}.sidebar--right{width:var(--sidebar-right-w);border-left:1px solid var(--border)}.sidebar__scroll{overscroll-behavior:contain;padding:.9rem .75rem 2rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.sidebar__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 1rem .55rem;display:flex}.sidebar__title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:.8rem;font-weight:700}@media (min-width:1200px){.sidebar{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));height:calc(100dvh - var(--topbar-h));transition:margin var(--t-med) var(--ease);position:-webkit-sticky;position:sticky}.sidebar--left:not(.is-open){margin-left:calc(-1 * var(--sidebar-left-w))}.sidebar--right:not(.is-open){margin-right:calc(-1 * var(--sidebar-right-w))}.sidebar:not(.is-open){visibility:hidden;transition:margin var(--t-med) var(--ease), visibility 0s linear var(--t-med)}}@media (max-width:1199.98px){.sidebar{top:var(--topbar-h);z-index:var(--z-drawer);box-shadow:var(--shadow-3);transition:transform var(--t-med) var(--ease), visibility 0s linear var(--t-med);visibility:hidden;position:fixed;bottom:0}.sidebar.is-open{visibility:visible;transition:transform var(--t-med) var(--ease);transform:translate(0)}.sidebar--left{width:min(85vw,320px);left:0;transform:translate(-104%)}.sidebar--right{width:min(100vw,400px);right:0;transform:translate(104%)}}.scrim{z-index:var(--z-scrim);background:var(--scrim);opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease), visibility 0s linear var(--t-med);position:fixed;top:0;bottom:0;left:0;right:0}.scrim.is-visible{opacity:1;visibility:visible;transition:opacity var(--t-med) var(--ease)}@media (min-width:1200px){.scrim{display:none}}.jumpbar{top:var(--topbar-h);z-index:var(--z-jumpbar);background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky}.jumpbar__row{min-height:var(--jumpbar-h);max-width:var(--content-max);padding:0 calc(var(--content-pad) - .5rem);align-items:center;gap:.4rem;margin:0 auto;display:flex}.jumpbar__arrow,.jumpbar__collapse{flex:none}.jumpbar__current{border-radius:var(--r-sm);min-width:0;height:34px;color:var(--text);transition:background var(--t-fast);flex:1;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.9rem;font-weight:600;display:flex}.jumpbar__current:hover{background:var(--surface-3)}.jumpbar__current-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jumpbar__count{color:var(--text-3);background:var(--surface-3);border-radius:var(--r-full);flex:none;padding:.1rem .6rem;font-size:.78rem;font-weight:600}.jumpbar__chevron{color:var(--text-3);flex:none}.jumpbar__chips{min-width:0;max-height:12rem;flex-wrap:wrap;flex:1;gap:.3rem;max-height:min(12rem,45dvh);padding:.35rem 0;display:flex;overflow-y:auto}.jump-chip{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:32px;color:var(--text-2);text-align:left;transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);align-items:center;gap:.5rem;padding:.25rem .6rem;font-size:.84rem;display:flex}.jump-chip:hover{border-color:var(--accent);color:var(--text)}.jump-chip.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.jump-chip__num{border-radius:var(--r-full);background:var(--surface-3);width:22px;height:22px;color:var(--text-3);flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.jump-chip.is-active .jump-chip__num{background:var(--accent);color:var(--on-accent)}.jump-chip__done{color:var(--ok);flex:none;margin-left:auto}.icon-btn{border-radius:var(--r-sm);width:40px;height:40px;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.is-active{background:var(--accent-soft);color:var(--accent-strong)}.icon-btn--sm{width:32px;height:32px}@media (pointer:coarse){.icon-btn{width:44px;height:44px}.jump-chip{min-height:40px}}@media (min-width:1200px){.sidebar--right.is-wide{--sidebar-right-w:600px}.sidebar--right{width:var(--sidebar-right-w);transition:margin var(--t-med) var(--ease), width var(--t-med) var(--ease)}}.sidebar__widen{display:none}@media (min-width:1200px){.sidebar__widen{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);width:26px;height:64px;color:var(--text-3);box-shadow:var(--shadow-1);z-index:2;transition:color var(--t-fast), border-color var(--t-fast);place-items:center;display:grid;position:absolute;top:50%;left:-13px;transform:translateY(-50%)}.sidebar__widen:hover{color:var(--accent-strong);border-color:var(--accent)}.sidebar--right{position:-webkit-sticky;position:sticky}}.btn{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:40px;color:var(--text);transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);justify-content:center;align-items:center;gap:.5rem;padding:.45rem 1.1rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--text-3);text-decoration:none}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--surface-3);color:var(--text);border-color:#0000}.btn--sm{min-height:32px;padding:.2rem .75rem;font-size:.84rem}.btn:disabled{opacity:.5;cursor:not-allowed}@media (pointer:coarse){.btn{min-height:44px}}.tree{flex-direction:column;gap:.25rem;padding:0;list-style:none;display:flex}.tree__subject{border-radius:var(--r-md)}.tree__subject-btn{border-radius:var(--r-md);width:100%;min-height:44px;color:var(--text);text-align:left;transition:background var(--t-fast);align-items:center;gap:.65rem;padding:.5rem .65rem;font-size:.94rem;font-weight:600;display:flex}.tree__subject-btn:hover{background:var(--surface-2)}.tree__subject-btn--static{cursor:default}.tree__subject-btn--static:hover{background:0 0}.tree__subject-icon{border-radius:var(--r-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);transition:background var(--t-fast), color var(--t-fast);flex:none;place-items:center;display:grid}.tree__subject.is-open>.tree__subject-btn .tree__subject-icon{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:var(--on-accent)}.tree__subject-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree__chevron{color:var(--text-3);transition:transform var(--t-med) var(--ease);flex:none}.tree__subject.is-open>.tree__subject-btn .tree__chevron{transform:rotate(90deg)}.tree__units{margin:0;padding:0 .45rem .5rem;list-style:none;display:none}.tree__subject.is-open>.tree__units{display:block}.tree__unit-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:.6rem .65rem .3rem .7rem;font-size:.7rem;font-weight:750;display:block}.tree__lessons{margin:0 0 0 1rem;padding:0;list-style:none}.tree__lesson{border-radius:var(--r-sm);min-height:38px;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:.5rem;margin:1px 0;padding:.3rem .6rem .3rem .55rem;font-size:.9rem;display:flex}.tree__lesson:before{content:"";border-radius:var(--r-full);width:6px;height:6px;transition:background var(--t-fast);background:0 0;flex:none}.tree__lesson:hover{background:var(--surface-3);color:var(--text);text-decoration:none}.tree__lesson.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.tree__lesson.is-active:before{background:var(--accent)}.tree__lesson.is-planned{color:var(--text-3);cursor:default}.tree__lesson-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree__lesson-state{border-radius:var(--r-full);width:18px;height:18px;color:var(--ok);flex:none;place-items:center;display:grid}.tree__lesson-state--partial{color:var(--warn)}.tree__soon{letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-3);flex:none;padding:.1rem .45rem;font-size:.62rem;font-weight:700}.tree-shelf .tree__lesson:before{display:none}.tree__lesson-icon{background:var(--accent-soft);width:20px;height:20px;color:var(--accent-strong);border-radius:5px;flex:none;place-items:center;display:grid}.tree__empty{color:var(--text-3);padding:.5rem .7rem .65rem;font-size:.82rem}.grade-switch{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.1rem .15rem .6rem .7rem;display:flex}.grade-switch__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);flex:none;font-size:.7rem;font-weight:750}.grade-switch__options{flex:1;gap:2px;min-width:0;display:flex}.grade-switch__btn{border-radius:var(--r-sm);min-width:0;min-height:32px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3);transition:background var(--t-fast), color var(--t-fast);flex:1;font-size:.88rem;font-weight:650}.grade-switch__btn:hover{background:var(--surface-2);color:var(--text)}.grade-switch__btn.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:750}@media (pointer:coarse){.grade-switch__btn{min-height:40px}.tree__lesson{min-height:44px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card--pad{padding:max(1.1rem,min(2.5vw,1.6rem))}.card--hover{transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast)}.card--hover:hover{border-color:var(--accent);box-shadow:var(--shadow-2);text-decoration:none;transform:translateY(-2px)}.page-head{margin-bottom:1.75rem}.page-head__kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:flex}.page-head h1{margin-bottom:.5rem;font-size:max(1.5rem,min(3.5vw,2.1rem))}.page-head__desc{color:var(--text-2);max-width:46rem}.badge{border-radius:var(--r-full);letter-spacing:.03em;align-items:center;gap:.35rem;padding:.14rem .6rem;font-size:.74rem;font-weight:700;display:inline-flex}.badge--accent{background:var(--accent-soft);color:var(--accent-strong)}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--muted{background:var(--surface-3);color:var(--text-2)}.progress-track{border-radius:var(--r-full);background:var(--surface-3);height:7px;overflow:hidden}.progress-track__fill{border-radius:var(--r-full);background:var(--accent);height:100%;transition:width var(--t-med) var(--ease)}.progress-track__fill--done{background:var(--ok)}.lesson-section{scroll-margin-top:calc(var(--topbar-h) + var(--jumpbar-actual,var(--jumpbar-h)) + 12px);margin-bottom:2.6rem}.lesson-section__head{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;margin-bottom:1.1rem;padding-bottom:.5rem;display:flex}.lesson-section__num{font-family:var(--font-mono);color:var(--accent);flex:none;font-size:.85rem;font-weight:700}.lesson-section__head h2{flex:1;font-size:1.35rem}.lesson-section__done-btn{border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);min-height:34px;color:var(--text-2);white-space:nowrap;transition:all var(--t-fast);flex:none;align-self:center;align-items:center;gap:.45rem;padding:.25rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.lesson-section__done-btn:hover{border-color:var(--ok);color:var(--ok)}.lesson-section__done-btn.is-done{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.lesson-section__practise-btn{border-radius:var(--r-full);border:1px solid var(--border-strong);background:var(--surface);min-height:34px;color:var(--text-2);white-space:nowrap;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);flex:none;align-self:center;align-items:center;gap:.45rem;padding:.25rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.lesson-section__practise-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.lesson-section__practise-btn.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.lesson-section.is-practising .lesson-section__head{border-bottom-color:var(--accent)}.lesson-section.is-practising .lesson-section__num{color:var(--accent-strong)}.qset{animation:qset-in var(--t-med) var(--ease) both}@keyframes qset-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.qset__head{align-items:center;gap:.55rem;margin-bottom:1rem;display:flex}.qset__head-icon{border-radius:var(--r-sm);background:var(--accent-soft);width:28px;height:28px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.qset__head-title{font-size:.95rem;font-weight:700}.qset__head-marks{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;margin-left:auto;font-size:.78rem}.qset__list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.question{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:.9rem 1.1rem 1rem}[data-theme=vivid] .question{background:var(--surface-2)}[data-theme=vivid] .qsol__body{background:var(--surface-3)}.question__head{align-items:baseline;gap:.6rem;margin-bottom:.5rem;display:flex}.question__num{font-family:var(--font-mono);color:var(--accent);flex:none;font-size:1rem;font-weight:700}.question__meta{align-items:center;gap:.45rem;margin-left:auto;display:flex}.question__level{font-family:var(--font-mono);letter-spacing:.03em;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-2);cursor:help;padding:.1rem .4rem;font-size:.66rem;font-weight:700}.question__marks,.qpart__marks{font-family:var(--font-mono);color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;font-size:.82rem;font-weight:700}.question__prompt{margin:0 0 .6rem}.question__prompt,.qpart__prompt,.qsol__text,.qsol__answer{overflow-wrap:anywhere;min-width:0;max-width:100%}.question .tex-inline{vertical-align:bottom;max-width:100%;display:inline-block;overflow-x:auto;overflow-y:hidden}.question .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.question__figure{text-align:center;margin:.7rem 0}.question__figure-art{width:min(100%,42rem);max-width:100%;color:var(--text);font-family:var(--font-ui);margin-inline-start:auto;margin-inline-end:auto;overflow:hidden}.question__figure-art>svg{shape-rendering:geometricprecision;width:100%;max-width:100%;height:auto;margin-inline-start:auto;margin-inline-end:auto;display:block}.question__figure figcaption{color:var(--text-2);margin-top:.35rem;font-size:.82rem}.question__source{color:var(--text-2);align-items:center;gap:.35rem;margin:.8rem 0 0;font-size:.74rem;display:flex}.question__parts{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.qpart{gap:.5rem;display:flex}.qpart__label{min-width:1.7rem;font-family:var(--font-mono);color:var(--text-2);flex:none;font-size:.85rem;font-weight:650}.qpart__body{flex:1;min-width:0}.qpart__promptrow{align-items:baseline;gap:.6rem;display:flex}.qpart__prompt{flex:1;min-width:0;margin:0}.qsol{margin-top:.45rem}.qsol__toggle{border-radius:var(--r-sm);min-height:30px;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:.35rem;padding:.1rem .55rem .1rem .4rem;font-size:.78rem;font-weight:600;display:inline-flex}.qsol__toggle:hover{background:var(--surface-2);color:var(--accent-strong)}.qsol.is-open .qsol__toggle{color:var(--accent-strong)}.qsol__body{border-left:2px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);margin-top:.4rem;padding:.6rem .75rem}.qsol__body[hidden]{display:none}.qsol.is-open .qsol__body{animation:qset-in var(--t-fast) var(--ease) both}.qsol__steps{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.qsol__step{align-items:baseline;gap:.6rem;font-size:.92rem;display:flex}.qsol__text{flex:1;min-width:0}.qsol__ticks{color:var(--ok);flex:none;gap:1px;display:inline-flex}.qsol__answer{border-top:1px solid var(--border);align-items:baseline;gap:.5rem;margin:.65rem 0 0;padding-top:.55rem;font-weight:600;display:flex}.qsol__answer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);flex:none;font-size:.66rem;font-weight:750}.qsol__answer-value{overflow-wrap:anywhere;flex:1;min-width:0;max-width:100%}@media (pointer:coarse){.lesson-section__practise-btn,.lesson-section__done-btn,.qsol__toggle{min-height:40px}}@media (max-width:560px){.lesson-section__head{flex-wrap:wrap}.lesson-section__head h2{flex:100%;order:-1}.lesson-section__num{flex:1}}.block{margin-bottom:1.25rem}.block-text p+p{margin-top:.9rem}.block-text strong{color:var(--text)}.block-text ul,.block-text ol{margin:.75rem 0;padding-left:1.4rem}.block-text li+li{margin-top:.35rem}.callout{border-radius:var(--r-md);border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);gap:.85rem;padding:1rem 1.15rem;display:flex}.callout__icon{color:var(--accent);flex:none;margin-top:2px}.callout__title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.3rem;font-size:.78rem;font-weight:700}.callout__body{color:var(--text-2);font-size:.95rem}.callout--tip{border-left-color:var(--ok)}.callout--tip .callout__icon,.callout--tip .callout__title{color:var(--ok)}.callout--warn{border-left-color:var(--warn)}.callout--warn .callout__icon,.callout--warn .callout__title{color:var(--warn)}.callout--exam{border-left-color:var(--danger)}.callout--exam .callout__icon,.callout--exam .callout__title{color:var(--danger)}.keypoints{border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-soft-2);padding:1.1rem 1.25rem}.keypoints__title{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.82rem;font-weight:700;display:flex}.keypoints ul{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.keypoints li{gap:.6rem;font-size:.95rem;display:flex}.keypoints li svg{color:var(--accent);flex:none;margin-top:4px}.formula-box{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);text-align:center;padding:1.1rem 1.25rem;overflow-x:auto}.formula-box .katex{font-size:1.15em}.embed{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.embed__topbar{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:.6rem;padding:.55rem .9rem;display:flex}.embed__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-full);flex:none;align-items:center;gap:.4rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.embed__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.embed__actions{flex:none;gap:.25rem;display:flex}.embed__stage{background:var(--surface);position:relative}.embed__stage--video{aspect-ratio:16/9;background:#0b0e15}@supports not (aspect-ratio:16 / 9){.embed__stage--video:before{content:"";padding-top:56.25%;display:block}.ptable__cell,.ptable__gap{height:34px}}.embed__stage iframe{border:0;width:100%;height:100%}.embed__facade{color:#e9edf4;background:radial-gradient(#232c42 0%,#12161f 75%);flex-direction:column;justify-content:center;align-items:center;gap:.8rem;width:100%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.embed__facade:hover .embed__play{background:var(--accent);transform:scale(1.06)}.embed__play{border-radius:var(--r-full);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:64px;height:64px;transition:transform var(--t-fast), background var(--t-fast);background:#ffffff24;place-items:center;display:grid}.embed__facade-label{color:#e9edf4bf;font-size:.88rem}.embed__loading,.embed__error{background:var(--surface-2);color:var(--text-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.spinner{border-radius:var(--r-full);border:3px solid var(--accent-soft-2);border-top-color:var(--accent);width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.embed__stage--ggb{min-height:420px}.embed__stage--model{height:420px}model-viewer{background:var(--surface-2);width:100%;height:100%}.figure{text-align:center}.figure img,.figure svg{border-radius:var(--r-md);margin:0 auto}.figure figcaption{color:var(--text-3);margin-top:.5rem;font-size:.84rem}.figure--left,.figure--right{width:min(45%,22rem);margin-top:.25rem}.figure--left{float:left;margin-right:1.4rem}.figure--right{float:right;margin-left:1.4rem}.lesson-section,.lesson-nav{clear:both}@media (max-width:560px){.figure--left,.figure--right{float:none;width:100%;margin-left:0;margin-right:0}}.term{font:inherit;color:var(--accent-strong);border-bottom:1.5px dotted var(--accent);cursor:help;text-align:inherit;border-radius:2px;padding:0 .05em;display:inline}.term:hover,.term[aria-expanded=true]{background:var(--accent-soft)}.term-tip{z-index:var(--z-dialog);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3);color:var(--text-2);text-align:left;padding:.6rem .85rem;font-size:.85rem;line-height:1.55;position:fixed}.term-tip:after{content:"";left:var(--tip-arrow-left,50%);background:var(--surface);border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);width:10px;height:10px;position:absolute;bottom:-6px;transform:translate(-50%)rotate(45deg)}.term-tip--below:after{border:none;border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);top:-6px;bottom:auto}.interactive{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;display:flex;overflow:hidden}.interactive>.embed__topbar{flex:none}.interactive__stage{background:var(--surface-2);border-bottom:1px solid var(--border);min-width:0;padding:1rem}.interactive__stage svg{width:100%;height:auto}.interactive__controls{gap:.85rem;min-width:0;padding:.9rem 1.1rem 1.1rem;display:grid}@media (min-width:560px){.interactive__controls--cols{grid-template-columns:1fr 1fr;column-gap:1.5rem}}.block--interactive{clear:both;container-type:inline-size}@container (width>=640px){.interactive{flex-flow:wrap;align-items:stretch}.interactive>.embed__topbar{flex:100%}.interactive>.interactive__stage{border-bottom:none;border-right:1px solid var(--border);flex:1 1 0;align-items:center;display:flex}.interactive>.interactive__controls{flex:0 340px;align-content:center;min-width:250px}.interactive>.interactive__controls--cols,.interactive>.interactive__controls .interactive__controls--cols{grid-template-columns:1fr}}.control{flex-direction:column;gap:.3rem;display:flex}.control__row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.control__label{color:var(--text-2);font-size:.84rem;font-weight:600}.control__value{font-family:var(--font-mono);color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-sm);text-align:center;min-width:3.2rem;padding:.05rem .5rem;font-size:.84rem;font-weight:600}.control__buttons{flex-wrap:wrap;gap:.4rem;display:flex}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:pan-y;background:0 0;width:100%;height:28px}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border);height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border-radius:var(--r-full);background:var(--accent);border:3px solid var(--surface);width:22px;height:22px;box-shadow:var(--shadow-1);cursor:grab;margin-top:-9px}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.12)}input[type=range]::-moz-range-track{border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border);height:6px}input[type=range]::-moz-range-thumb{border-radius:var(--r-full);background:var(--accent);border:3px solid var(--surface);width:16px;height:16px;box-shadow:var(--shadow-1)}.quiz{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.quiz__head{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:.6rem;padding:.8rem 1.15rem;display:flex}.quiz__head-title{flex:1;font-size:.95rem;font-weight:650}.quiz__body{padding:1.15rem}.quiz__question{margin-bottom:.9rem;font-weight:600}.quiz__options{gap:.5rem;margin-bottom:1rem;display:grid}.quiz-option{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:left;min-height:46px;color:var(--text);transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:.7rem;padding:.55rem .85rem;font-size:.94rem;display:flex}.quiz-option:hover:not(:disabled),.quiz-option.is-selected{border-color:var(--accent);background:var(--accent-soft)}.quiz-option.is-correct{border-color:var(--ok);background:var(--ok-soft)}.quiz-option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.quiz-option__key{border-radius:var(--r-full);background:var(--surface-3);width:26px;height:26px;color:var(--text-2);flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.quiz__feedback{border-radius:var(--r-md);margin-bottom:1rem;padding:.8rem 1rem;font-size:.9rem}.quiz__feedback--ok{background:var(--ok-soft);color:var(--ok)}.quiz__feedback--bad{background:var(--danger-soft);color:var(--danger)}.quiz__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quiz__progress{color:var(--text-3);font-size:.84rem;font-weight:600}.quiz__result{text-align:center;padding:1.25rem .5rem}.quiz__score{color:var(--accent);margin-bottom:.25rem;font-size:2.4rem;font-weight:750}.lesson-nav{grid-template-columns:1fr 1fr;gap:.9rem;margin-top:3rem;display:grid}.lesson-nav__btn{align-items:center;gap:.9rem;min-height:72px;padding:1rem 1.15rem;display:flex}.lesson-nav__btn--next{text-align:right;flex-direction:row-reverse;grid-column:2}.lesson-nav__btn--prev{grid-column:1}.lesson-nav__meta{min-width:0}.lesson-nav__label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:.15rem;font-size:.72rem;font-weight:700}.lesson-nav__title{color:var(--text);font-size:.95rem;font-weight:600}.lesson-nav__btn svg{color:var(--text-3);flex:none}@media (max-width:620px){.lesson-nav{grid-template-columns:1fr}.lesson-nav__btn--next{flex-direction:row-reverse;grid-column:1}}.tools-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;gap:.3rem;padding:.65rem .75rem;display:flex;overflow-x:auto}.tools-tab{border-radius:var(--r-full);min-height:34px;color:var(--text-2);white-space:nowrap;transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);border:1px solid #0000;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.84rem;font-weight:650;display:inline-flex}.tools-tab:hover{color:var(--text);background:var(--surface-3)}.tools-tab.is-active{color:var(--accent-strong);background:var(--accent-soft);border-color:var(--accent-soft-2)}@media (pointer:coarse){.tools-tab{min-height:40px}}.tool-panel{padding:1rem}.tool-panel h3{margin-bottom:.75rem;font-size:.95rem}.calc__display{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin-bottom:.65rem;padding:.65rem .9rem}.calc__input{width:100%;font-family:var(--font-mono);background:0 0;border:0;outline:none;font-size:1.05rem}.calc__display:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.calc__result{font-family:var(--font-mono);color:var(--accent-strong);text-align:right;min-height:1.9rem;font-size:1.3rem;font-weight:700;overflow-x:auto}.calc__result--error{color:var(--danger);font-size:.9rem;font-weight:600}.calc__meta{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.calc__pad{grid-template-columns:repeat(5,1fr);gap:.35rem;display:grid}.calc-key{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-height:42px;font-family:var(--font-mono);color:var(--text);transition:background var(--t-fast), border-color var(--t-fast);font-size:.92rem;font-weight:600}.calc-key:hover{background:var(--surface-2);border-color:var(--border-strong)}.calc-key--fn{background:var(--surface-2);color:var(--text-2);font-size:.8rem}.calc-key--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.calc-key--accent:hover{background:var(--accent-strong)}.calc__history{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.6rem}.calc__history-item{border-radius:var(--r-sm);width:100%;font-family:var(--font-mono);color:var(--text-2);text-align:left;justify-content:space-between;gap:.75rem;padding:.35rem .4rem;font-size:.82rem;display:flex}.calc__history-item:hover{background:var(--surface-2)}.calc__history-item b{color:var(--text)}.tool-search{margin-bottom:.75rem;position:relative}.tool-search input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);width:100%;min-height:40px;transition:border-color var(--t-fast);outline:none;padding:.45rem .85rem .45rem 2.3rem;font-size:.9rem}.tool-search input:focus{border-color:var(--accent)}.tool-search svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.glossary-item{border-bottom:1px solid var(--border);padding:.7rem .2rem}.glossary-item dt{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.92rem;font-weight:650;display:flex}.glossary-item dt .badge{font-size:.64rem}.glossary-item dd{color:var(--text-2);margin:.25rem 0 0;font-size:.88rem}.ref-group+.ref-group{margin-top:1.1rem}.ref-group__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.ref-controls{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;margin-bottom:.4rem;padding-bottom:.6rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.ref-search{border:1px solid var(--border-strong);border-radius:var(--r-full);background:var(--surface-2);align-items:center;gap:.45rem;min-height:38px;padding:0 .55rem;display:flex}.ref-search>svg{color:var(--text-3);flex:none}.ref-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;flex:1;padding:.35rem 0;font-size:.88rem}.ref-search input:focus{outline:none}.ref-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ref-chips{flex-wrap:wrap;gap:.3rem;display:flex}.ref-chip{border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);align-items:center;gap:.28rem;padding:.24rem .6rem;font-size:.76rem;font-weight:650;display:inline-flex}.ref-chip:hover{color:var(--text);border-color:var(--border-strong)}.ref-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ref-sheet2+.ref-sheet2{margin-top:1.4rem}.ref-sheet2__head{align-items:center;gap:.5rem;margin:.8rem 0 .7rem;display:flex}.ref-sheet2__head h3{flex:1;min-width:0;margin:0;font-size:.95rem;font-weight:700}.ref-sheet2__icon{border-radius:var(--r-sm);background:var(--accent-soft);width:30px;height:30px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.ref-group2+.ref-group2{margin-top:1rem}.ref-group2__title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);border-bottom:1px solid var(--border);align-items:center;gap:.35rem;margin-bottom:.45rem;padding-bottom:.3rem;font-size:.72rem;font-weight:700;display:flex}.ref-group2__count{font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--text-3);margin-left:auto}.ref-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.45rem;display:grid}.ref-card{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;gap:.2rem;padding:.5rem .6rem;display:flex}.ref-card:hover{border-color:var(--accent);background:var(--accent-soft)}.ref-card__name{color:var(--accent);font-size:.7rem;font-weight:650}.ref-card__tex{padding:.1rem 0;overflow-x:auto}.ref-card__tex .katex-display{margin:0}.ref-empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:.4rem;padding:2rem 1rem;font-size:.85rem;display:flex}.ref-foot{border-top:1px solid var(--border);align-items:flex-start;gap:.35rem;margin-top:1.2rem;padding-top:.7rem;display:flex}.ref-foot svg{flex:none;margin-top:.15rem}.const-list{flex-direction:column;gap:.35rem;display:flex}.const{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);align-items:center;gap:.6rem;padding:.45rem .55rem;display:flex}.const__sym{border-radius:var(--r-sm);background:var(--accent-soft);min-width:44px;height:38px;color:var(--accent);flex:none;justify-content:center;align-items:center;padding:0 .35rem;font-size:1.05rem;display:inline-flex}.const__body{flex-direction:column;flex:1;min-width:0;display:flex}.const__name{color:var(--text-2);font-size:.8rem}.const__value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.const__unit{color:var(--text-3);margin-left:.3rem;font-size:.78rem;font-weight:500}.const__note{color:var(--text-3);margin-top:.1rem;font-size:.7rem}.const__paper{letter-spacing:.04em;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-3);flex:none;align-self:flex-start;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.ptable-scroll{padding-bottom:.5rem;overflow-x:auto}.ptable{grid-template-columns:repeat(18,minmax(28px,1fr));gap:2px;min-width:552px;display:grid}.ptable__cell{aspect-ratio:1/1.2;background:var(--el-bg,var(--surface-3));color:var(--text);transition:transform var(--t-fast), border-color var(--t-fast);border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;padding:1px;font-size:.66rem;line-height:1.1;display:flex}.ptable--exam .ptable__cell{border-color:var(--border);background:var(--surface)}.ptable__marker{color:var(--text-3);background:0 0;font-size:.52rem}.ptable__cell:hover{border-color:var(--text-2);z-index:2;transform:scale(1.12)}.ptable__cell.is-selected{border-color:var(--accent);outline:2px solid var(--accent);z-index:2}.ptable__num{color:var(--text-2);font-size:.5rem}.ptable__sym{font-size:.74rem;font-weight:700}.ptable__mass{color:var(--text-2);font-variant-numeric:tabular-nums;min-height:.6em;font-size:.46rem}.ptable--nomass .ptable__cell{aspect-ratio:1}@supports (container-type:inline-size){.ptable{container-type:inline-size}.ptable__num{font-size:max(.5rem,min(1.45cqw,1.05rem))}.ptable__sym{font-size:max(.74rem,min(2.2cqw,1.75rem))}.ptable__mass{font-size:max(.46rem,min(1.35cqw,.95rem))}.ptable__marker{font-size:max(.52rem,min(1.3cqw,.9rem))}.ptable__cell{border-radius:max(5px,min(.5cqw,9px));gap:max(0px,min(.15cqw,3px));padding:max(1px,min(.3cqw,5px))}}.ptable__gap{aspect-ratio:1/1.2}.ptable-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.seg--sm .seg__btn{min-height:28px;padding:0 .5rem;font-size:.74rem}@media (pointer:coarse){.seg--sm .seg__btn{min-height:34px}}.ptable-legend{flex-wrap:wrap;gap:.25rem .75rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.ptable-legend li{color:var(--text-2);align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.ptable-legend__dot{border:1px solid var(--border-strong);border-radius:3px;flex:none;width:11px;height:11px}.ptable-legend__note{color:var(--text-3);align-items:flex-start;gap:.35rem;margin:.6rem 0 0;font-size:.72rem;display:flex}.ptable-legend__note svg{flex:none;margin-top:.1rem}.ptable-legend__note strong{color:var(--text-2)}.ptable-detail{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);margin-top:.75rem;padding:.9rem 1rem}.ptable-detail__head{align-items:center;gap:.85rem;margin-bottom:.5rem;display:flex}.ptable-detail__sym{border-radius:var(--r-md);background:var(--el-bg,var(--surface-3));flex:none;place-items:center;width:52px;height:52px;font-size:1.3rem;font-weight:750;display:grid}.ptable-detail table{border-collapse:collapse;width:100%;font-size:.85rem}.ptable-detail td{padding:.25rem .3rem}.ptable-detail td:first-child{color:var(--text-3)}.dialog-root{z-index:var(--z-dialog);justify-content:center;align-items:flex-start;padding:min(12vh,7rem) 1rem 1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog-root__scrim{background:var(--scrim);position:absolute;top:0;bottom:0;left:0;right:0}.search-dialog{width:100%;max-width:37rem;max-height:30rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-height:min(60dvh,30rem);box-shadow:var(--shadow-3);flex-direction:column;display:flex;position:relative;overflow:hidden}.search-dialog__input-row{border-bottom:1px solid var(--border);color:var(--text-3);align-items:center;gap:.65rem;padding:.35rem 1rem;display:flex}.search-dialog__input-row input{min-height:52px;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:1.02rem}.search-dialog__results{flex:1;padding:.5rem;overflow-y:auto}.search-dialog__group{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);padding:.6rem .65rem .25rem;font-size:.72rem;font-weight:700}.search-result{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--text);align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.search-result.is-active{background:var(--accent-soft)}.search-result__icon{border-radius:var(--r-sm);background:var(--surface-3);width:34px;height:34px;color:var(--text-2);flex:none;place-items:center;display:grid}.search-result.is-active .search-result__icon{background:var(--accent);color:var(--on-accent)}.search-result__meta{flex:1;min-width:0}.search-result__title{text-overflow:ellipsis;white-space:nowrap;font-size:.94rem;font-weight:600;overflow:hidden}.search-result__sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.search-dialog__empty{text-align:center;color:var(--text-3);padding:2.25rem 1rem;font-size:.92rem}.search-dialog__hints{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-3);gap:1rem;padding:.5rem 1rem;font-size:.74rem;display:flex}@media (max-width:640px){.search-dialog__hints{display:none}}.reader{--reader-size:1.06rem;--reader-leading:1.85;--reader-measure:42rem}.page-head--reader .page-head__row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem 1rem;display:flex}.page-head--reader .page-head__row h1{min-width:min(100%,18rem);margin-bottom:0}.page-head--reader .page-head__desc{margin-top:.5rem}.reader-chapter{align-items:center;gap:.55rem;display:inline-flex}.reader-chapter__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:.78rem;font-weight:700}.reader-chapter select{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text-1);cursor:pointer;max-width:13rem;padding:.45rem .7rem;font-size:.92rem;font-weight:600}.reader-chapter select option{background-color:var(--surface);color:var(--text-1)}.reader__paper{max-width:var(--reader-measure);margin:0 auto;padding:max(1.5rem,min(4vw,3rem))}.reader__paper .reader__text{font-family:var(--font-serif);font-size:var(--reader-size);line-height:var(--reader-leading)}.reader--sans .reader__paper .reader__text{font-family:var(--font-ui)}.reader__text p{text-indent:1.6em;margin-bottom:0}.reader__text p:first-of-type{text-indent:0}.reader__chapter-kicker{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.reader__chapter-title{text-align:center;font-family:var(--font-serif);margin-bottom:2.25rem;font-size:1.7rem}.reader[data-paper=sepia] .reader__surface{color:#453826;background:#f5edda}.reader[data-paper=sepia] .reader__chapter-title{color:#453826}.reader__surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.reader__toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1rem;display:flex}.reader__toolbar-group{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:.25rem;padding:.25rem;display:flex}.reader__toolbar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:0 .4rem;font-size:.72rem;font-weight:700}.reader__page-nav{border-color:var(--accent-soft-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--accent-soft);gap:.35rem;padding:.2rem}.reader__page-arrow{min-width:38px;min-height:38px;color:var(--accent-strong);background:var(--accent-soft)}.reader__page-arrow:hover:not(:disabled){color:var(--on-accent);background:var(--accent)}.reader__page-number{text-align:center;letter-spacing:.04em;min-width:4.25rem;color:var(--text);padding:0 .35rem;font-size:.92rem;font-weight:800}.reader__footer-nav{max-width:var(--reader-measure);justify-content:space-between;gap:1rem;margin:1.5rem auto 0;display:flex}.reader__pagenum{text-align:center;font-family:var(--font-serif);color:var(--text-3);letter-spacing:.1em;margin-top:2.25rem;font-size:.9rem}[data-kind=plot]{--hl-fill:#f0b03c3d;--hl-fill-hover:#f0b03c6b;--hl-line:#be8204cc}[data-kind=character]{--hl-fill:#aa70f038;--hl-fill-hover:#aa70f066;--hl-line:#7e42cdc7}[data-kind=theme]{--hl-fill:#40be823d;--hl-fill-hover:#40be826b;--hl-line:#188a54cc}[data-kind=language]{--hl-fill:#608cf533;--hl-fill-hover:#608cf561;--hl-line:#466cdcc7}[data-kind=context]{--hl-fill:#f06e9138;--hl-fill-hover:#f06e9166;--hl-line:#c83769c7}[data-kind=words]{--hl-fill:var(--surface-2);--hl-fill-hover:var(--surface-2);--hl-line:var(--border-strong)}[data-theme=dark] [data-kind=plot]{--hl-fill:#f0b03c4d;--hl-fill-hover:#f0b03c7a;--hl-line:#f0be64b3}[data-theme=dark] [data-kind=character]{--hl-fill:#b482fa4d;--hl-fill-hover:#b482fa7a;--hl-line:#c49efcb3}[data-theme=dark] [data-kind=theme]{--hl-fill:#50cd9147;--hl-fill-hover:#50cd9175;--hl-line:#78dcaab3}[data-theme=dark] [data-kind=language]{--hl-fill:#78a0ff47;--hl-fill-hover:#78a0ff75;--hl-line:#96b9ffb3}[data-theme=dark] [data-kind=context]{--hl-fill:#fa82a547;--hl-fill-hover:#fa82a575;--hl-line:#fca5beb3}.reader__text mark.hl{color:inherit;cursor:pointer;border-bottom:2px solid var(--hl-line);background:var(--hl-fill);transition:background var(--t-fast) var(--ease);border-radius:3px;margin:-.05em -.1em;padding:.05em .1em}.reader__text mark.hl:hover{background:var(--hl-fill-hover)}.reader__text mark.hl:focus-visible{background:var(--hl-fill-hover)}.reader__text .gloss{color:inherit;border-bottom:1px dotted var(--text-3);border-radius:0;padding:0}.reader__text .gloss:hover,.reader__text .gloss[aria-expanded=true]{background:var(--accent-soft);border-bottom-color:var(--accent)}.reader[data-paper=sepia] .reader__text .gloss{border-bottom-color:#45382673}.reader[data-paper=sepia] .reader__text .gloss:hover,.reader[data-paper=sepia] .reader__text .gloss[aria-expanded=true]{background:#4538261f;border-bottom-color:#453826cc}.reader__legend{color:var(--text-3);flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .9rem;margin:.8rem 0 0;padding:0;font-size:.76rem;list-style:none;display:flex}.reader__legend li{align-items:center;gap:.35rem;display:inline-flex}.reader__legend-swatch{background:var(--hl-fill);border-bottom:2px solid var(--hl-line);border-radius:2px;width:.9rem;height:.62rem}.note-kind{letter-spacing:.02em;white-space:nowrap;color:var(--text-1);background:var(--hl-fill);border:1px solid var(--hl-line);border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.note-sheet__scrim{z-index:var(--z-scrim);background:var(--scrim);position:fixed;top:0;bottom:0;left:0;right:0}.note-sheet{left:50%;bottom:max(10px, env(safe-area-inset-bottom,0px));z-index:var(--z-dialog);width:min(44rem,100vw - 20px);max-height:70vh;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-height:min(70dvh,34rem);box-shadow:var(--shadow-3);flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.note-sheet__head{border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.note-sheet__title{flex:1;align-items:center;gap:.5rem;min-width:0;font-size:.92rem;font-weight:650;display:flex}.note-sheet__body{overscroll-behavior:contain;padding:1rem 1.15rem 1.25rem;overflow-y:auto}.note-sheet__quote{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--font-serif);color:var(--text-2);margin:0 0 1rem;padding:.6rem .9rem;font-size:.95rem;font-style:italic}.note-sheet__section+.note-sheet__section{margin-top:1rem}.note-sheet__section h4{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:.35rem;font-size:.74rem;font-weight:700}.note-sheet__section p,.note-sheet__section li{color:var(--text);font-size:.93rem}.note-sheet__section ul{flex-direction:column;gap:.35rem;margin:0;padding-left:1.2rem;display:flex}.note-sheet__vocab{flex-direction:column;gap:.4rem;margin:0;display:flex}.note-sheet__vocab dt{font-weight:650;display:inline}.note-sheet__vocab dd{color:var(--text-2);margin:0;display:inline}.note-sheet__vocab dd:before{content:" — ";color:var(--text-3)}.note-sheet__list{flex-direction:column;gap:.45rem;display:flex}.note-sheet__item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:left;width:100%;min-height:48px;transition:border-color var(--t-fast), background var(--t-fast);align-items:center;gap:.65rem;padding:.55rem .7rem;display:flex}.note-sheet__item:hover{border-color:var(--accent);background:var(--accent-soft)}.note-sheet__item .badge{flex:none}.note-sheet__item-snippet{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.86rem;overflow:hidden}.note-sheet__item-snippet--quote{font-style:italic}.note-sheet__headline{color:var(--text-1);margin:0 0 .6rem;font-size:1.02rem;line-height:1.35}.note-sheet__item>svg:last-child{color:var(--text-3);flex:none}.hero{border-radius:var(--r-lg);background:radial-gradient(ellipse 55% 130% at 92% 10%, var(--accent-soft) 0%, transparent 60%), var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);margin-bottom:2rem;padding:max(1.75rem,min(4.5vw,3.25rem))}.hero h1{max-width:32ch;margin-bottom:.75rem;font-size:max(1.7rem,min(4vw,2.5rem))}.hero p{color:var(--text-2);max-width:52ch;margin-bottom:1.4rem}.hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.section-title{justify-content:space-between;align-items:baseline;gap:1rem;margin:2.25rem 0 1rem;display:flex}.section-title h2{font-size:1.25rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:1rem;display:grid}.subject-card{color:inherit;flex-direction:column;gap:.75rem;padding:1.3rem;display:flex}.subject-card__icon{border-radius:var(--r-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);place-items:center;display:grid}.subject-card h3{font-size:1.08rem}.subject-card p{color:var(--text-2);flex:1;font-size:.88rem}.subject-card__foot{color:var(--text-3);justify-content:space-between;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.continue-card{color:inherit;align-items:center;gap:1rem;padding:1.1rem 1.3rem;display:flex}.continue-card__meta{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.continue-card__title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.continue-card__sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;display:block;overflow:hidden}.unit-block{margin-bottom:1.75rem}.unit-block__head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.unit-block__head h2{font-size:1.1rem}.lesson-row{color:inherit;align-items:center;gap:.9rem;padding:.85rem 1.1rem;display:flex}.lesson-row+.lesson-row{margin-top:.5rem}.lesson-row__state{border-radius:var(--r-full);border:2px solid var(--border-strong);color:#0000;flex:none;place-items:center;width:30px;height:30px;display:grid}.lesson-row__state.is-done{background:var(--ok);border-color:var(--ok);color:#fff}.lesson-row__state.is-partial{border-color:var(--warn);color:var(--warn)}.lesson-row__meta{flex:1;min-width:0}.lesson-row__title{font-size:.97rem;font-weight:600}.lesson-row__sub{color:var(--text-3);flex-wrap:wrap;gap:.7rem;font-size:.82rem;display:flex}.lesson-row--planned{opacity:.62}.lesson-row>svg:last-child{color:var(--text-3);flex:none}.appearance{position:relative}.appearance__pop{z-index:var(--z-dialog);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(320px,100vw - 16px);box-shadow:var(--shadow-3);max-height:calc(100vh - var(--topbar-h) - 20px);max-height:calc(100dvh - var(--topbar-h) - 20px);padding:.9rem;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}@media (max-width:480px){.appearance__pop{top:calc(var(--topbar-h) + 6px);width:auto;position:fixed;left:8px;right:8px}}@media (pointer:coarse){.tool-search input,.filter-field select,.viewer-doc-select,.calc__input{font-size:16px}}.appearance__group+.appearance__group{margin-top:.9rem}.appearance__label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:.4rem;font-size:.72rem;font-weight:700}.appearance__hint{color:var(--text-3);margin-top:.5rem;font-size:.78rem;line-height:1.5}.appearance__preview{border-top:1px solid var(--border);text-align:center;margin-top:.9rem;padding-top:.75rem}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);gap:3px;padding:3px;display:flex}.seg__btn{min-height:36px;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:inline-flex}.seg__btn:hover{color:var(--text)}.seg__btn.is-active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-1)}@media (pointer:coarse){.seg__btn{min-height:42px}}.appearance__label--unlocked{color:var(--accent);align-items:center;gap:.3rem;display:flex}.account{position:relative}.account__btn{padding:0}.account-avatar{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:var(--on-accent);font-family:var(--font-heading);letter-spacing:.01em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.68rem;font-weight:750;line-height:1;display:inline-flex;overflow:hidden}.account-avatar--emoji{background:var(--surface-3);font-size:.95rem}.account-avatar--icon{background:var(--accent-soft-2);color:var(--accent)}.account__pop{z-index:var(--z-dialog);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);width:min(19rem,100vw - 1.5rem);box-shadow:var(--shadow-3);padding:.6rem;position:absolute;top:calc(100% + .4rem);right:0}.account__head{align-items:center;gap:.6rem;padding:.2rem .35rem .6rem;display:flex}.account__head .account-avatar{font-size:1.05rem}.account__head .account-avatar--emoji{font-size:1.6rem}.account__who{flex-direction:column;min-width:0;display:flex}.account__who strong{overflow-wrap:anywhere;font-size:.95rem}.account__handle{color:var(--accent);font-size:.76rem;font-weight:650}.account__grade{color:var(--text-3);font-size:.72rem}.account__divider{background:var(--border);height:1px;margin:.35rem 0}.account__item{border-radius:var(--r-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background var(--t-fast);align-items:center;gap:.55rem;padding:.5rem .45rem;font-size:.86rem;font-weight:600;text-decoration:none;display:flex}.account__item svg{color:var(--text-3);flex:none}.account__item:hover{background:var(--surface-2)}.account__item--signout,.account__item--signout svg{color:var(--danger)}.account__note{color:var(--text-3);align-items:center;gap:.3rem;padding:.3rem .45rem;font-size:.72rem;display:flex}.account__foot{border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-3);margin:.5rem 0 0;padding:.45rem;font-size:.7rem;line-height:1.45}.account-name-edit{flex-direction:column;gap:.4rem;padding:.35rem .45rem .15rem;display:flex}.account-name-edit input{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);width:100%;min-height:38px;color:var(--text);font:inherit;padding:.35rem .6rem;font-size:.9rem}.account-name-edit input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.account-name-edit__row{justify-content:flex-end;gap:.35rem;display:flex}.account-name-edit__error{color:var(--danger);margin:0;font-size:.74rem}@media (pointer:coarse){.account-name-edit input{font-size:16px}}.appearance__swatches{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.swatch{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;align-items:center;gap:.3rem;padding:.5rem .2rem;display:flex}.swatch:hover{border-color:var(--border-strong);background:var(--surface-2)}.swatch.is-active{border-color:var(--accent);background:var(--accent-soft)}.swatch__dot{border-radius:var(--r-full);place-items:center;width:26px;height:26px;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.swatch__label{color:var(--text-2);font-size:.7rem;font-weight:600}.empty-state{text-align:center;color:var(--text-2);padding:3.5rem 1rem}.empty-state svg{color:var(--text-3);margin:0 auto 1rem}.toc-list{margin:0;padding:0;list-style:none}.toc-list button{border-radius:var(--r-sm);width:100%;min-height:42px;color:var(--text-2);text-align:left;align-items:center;gap:.6rem;padding:.4rem .7rem;font-size:.9rem;display:flex}.toc-list button:hover{background:var(--surface-2);color:var(--text)}.toc-list button.is-active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.trig-curve{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);gap:.55rem;padding:.6rem .65rem;display:grid}.trig-curve__head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.trig-curve__dot{border-radius:var(--r-full);flex:none;width:12px;height:12px}.trig-versions{gap:.65rem;display:grid}.trig-versions__bar{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.trig-versions__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:.72rem;font-weight:750}.trig-versions__switch{width:min(15rem,100%)}.trig-v2__displaybar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:.4rem;min-width:0;padding:.45rem .65rem;display:flex}@container (width>=640px){.trig-v2>.trig-v2__displaybar{flex:100%}}.trig-v2__toggle{min-height:40px;color:var(--text-2);border:1px solid #0000;padding-inline-start:.65rem;padding-inline-end:.65rem}.trig-v2__toggle.is-active{border-color:var(--accent-soft-2);background:var(--accent-soft);color:var(--accent-strong)}.trig-v2__domain-readout{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;margin-left:auto;font-size:.75rem;font-weight:650}.trig-v2>.trig-v2__stage{align-self:stretch;display:block;overflow:hidden}.trig-v2__graph{width:100%;min-width:0}.trig-v2__graph svg{shape-rendering:geometricprecision;width:100%;height:auto;display:block}.trig-v2__legend{color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .8rem;margin-top:.4rem;font-size:.7rem;display:flex}.trig-v2__legend>span{align-items:center;gap:.3rem;display:inline-flex}.trig-v2__legend-shape{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.trig-v2__legend-shape--diamond,.trig-curve__dot--diamond{border-radius:2px;transform:rotate(45deg)scale(.82)}.trig-v2__point{border:2px solid var(--text-2);background:var(--surface);border-radius:50%;width:9px;height:9px;display:inline-block}.trig-v2__point--filled{background:var(--text-2)}.trig-v2__density-note{text-align:center;max-width:50ch;color:var(--text-3);margin:.45rem auto 0;font-size:.7rem;line-height:1.45}.trig-v2__controls{align-content:start}.trig-v2__formulae{flex-wrap:wrap;justify-content:center;gap:.35rem 1.15rem;padding:.55rem;display:flex;overflow-x:auto}.trig-v2__domain{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);gap:.6rem;padding:.65rem;display:grid}.trig-v2__subhead{color:var(--text-2);justify-content:space-between;align-items:center;gap:.75rem;font-size:.78rem;font-weight:750;display:flex}.trig-v2__subhead output{font-family:var(--font-mono);color:var(--accent-strong)}.trig-v2__domain-grid{gap:.55rem;display:grid}.trig-v2__curve-grid{padding:0}.trig-v2__curve-name{color:var(--text)}.trig-v2__appearance,.trig-v2__ledger{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);min-width:0;overflow:hidden}.trig-v2__appearance>summary,.trig-v2__ledger>summary{cursor:pointer;min-height:42px;color:var(--text-2);align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.8rem;font-weight:700;list-style:none;display:flex}.trig-v2__appearance>summary::-webkit-details-marker{display:none}.trig-v2__ledger>summary::-webkit-details-marker{display:none}.trig-v2__appearance>summary:after,.trig-v2__ledger>summary:after{content:"›";color:var(--text-3);transition:transform var(--t-fast);margin-left:.3rem;font-size:1.05rem;transform:rotate(90deg)}.trig-v2__appearance[open]>summary:after,.trig-v2__ledger[open]>summary:after{transform:rotate(-90deg)}.trig-v2__appearance>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.trig-v2__ledger>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.trig-v2__appearance>summary .small{margin-left:auto;font-weight:500}.trig-v2__appearance-body{gap:.65rem;padding:0 .65rem .7rem;display:grid}.trig-v2__appearance-curve{border-top:1px solid var(--border);gap:.55rem;padding-top:.6rem;display:grid}.trig-v2__colour-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.trig-v2__colour-row label{min-width:0;color:var(--text-2);align-items:center;gap:.5rem;font-size:.78rem;font-weight:650;display:flex}.trig-v2__colour-row input[type=color]{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;width:2.25rem;height:2.25rem;padding:2px}.trig-v2__colour-row .btn{white-space:nowrap}.trig-v2__ledger>summary .badge{margin-left:auto}.trig-v2__ledger-body{border-top:1px solid var(--border);gap:.8rem;max-height:19rem;padding:0 .65rem .75rem;display:grid;overflow:auto}.trig-v2__ledger-curve{min-width:0;padding-top:.65rem}.trig-v2__ledger-curve h4,.trig-v2__ledger-curve h5{align-items:center;gap:.4rem;margin:0;display:flex}.trig-v2__ledger-curve h4{color:var(--text);font-size:.82rem}.trig-v2__ledger-curve h5{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-top:.55rem;font-size:.68rem}.trig-v2__ledger-curve ul{gap:.2rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.trig-v2__ledger-curve li{color:var(--text-2);justify-content:space-between;align-items:baseline;gap:.7rem;font-size:.74rem;display:flex}.trig-v2__ledger-curve code{font-family:var(--font-mono);color:var(--text);white-space:nowrap;margin-left:auto}.trig-fullscreen__body{min-height:0;padding:.15rem}.trig-fullscreen__worksheet{width:min(100%,100rem);min-height:100%;margin:0 auto;container-type:inline-size}.trig-fullscreen__worksheet .trig-v2{min-height:100%}@media (min-width:560px){.trig-v2__domain-grid,.trig-v2__appearance-body,.trig-v2__ledger-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.trig-versions__bar{flex-direction:column;align-items:stretch;gap:.35rem}.trig-versions__switch{width:100%}.trig-v2__displaybar{flex-wrap:wrap}.trig-v2>.trig-v2__stage{padding:.65rem}.trig-v2__toggle{flex:1}.trig-v2__domain-readout{text-align:center;flex:100%;margin:0}.trig-v2__appearance>summary .small{display:none}.trig-v2__colour-row{flex-direction:column;align-items:stretch}.trig-v2__colour-row .btn{justify-content:center}}@media (pointer:coarse){.trig-v2__toggle,.trig-v2__appearance>summary,.trig-v2__ledger>summary{min-height:42px}}.clock-display{font-family:var(--font-mono);text-align:center;letter-spacing:.03em;color:var(--text);font-variant-numeric:tabular-nums;margin:.5rem 0 .9rem;font-size:2.6rem;font-weight:700}.clock-display.is-done{color:var(--danger)}.clock-actions{justify-content:center;align-items:center;gap:.5rem;display:flex}.topbar__clock{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);min-height:32px;font-family:var(--font-mono);color:var(--text-2);font-variant-numeric:tabular-nums;transition:border-color var(--t-fast), color var(--t-fast);align-items:center;gap:.4rem;margin-left:.6rem;padding:.15rem .75rem;font-size:.82rem;font-weight:650;display:inline-flex}.topbar__clock:hover{border-color:var(--accent);color:var(--text)}.topbar__clock.is-running{color:var(--accent-strong);border-color:var(--accent-soft-2);background:var(--accent-soft)}.topbar__clock.is-done{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.topbar__grade{border:1px solid var(--accent-soft-2);border-radius:var(--r-full);background:var(--accent-soft);min-width:40px;min-height:26px;color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.01em;font-variant-numeric:tabular-nums;transition:background var(--t-fast), border-color var(--t-fast);flex:none;justify-content:center;align-items:center;margin-left:.55rem;padding:.1rem .5rem;font-size:.76rem;font-weight:750;display:inline-flex}.topbar__grade:hover{background:var(--accent-soft-2);border-color:var(--accent)}@media (pointer:coarse){.topbar__grade{min-width:44px;min-height:36px}}[data-theme=vivid] .page-head,[data-theme=vivid] .lesson-section{background:var(--surface);background:linear-gradient(160deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 72%, #000) 100%);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:1.3rem 1.5rem 1.5rem}[data-theme=vivid] .page-head--reader{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}[data-theme=vivid] .lesson-section{margin-bottom:1.5rem}[data-theme=vivid] .card,[data-theme=vivid] .interactive,[data-theme=vivid] .embed,[data-theme=vivid] .quiz{background:var(--surface);background:linear-gradient(160deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 78%, #000) 100%)}[data-theme=vivid] .sidebar{background:var(--surface);background:linear-gradient(185deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 52%, #000) 100%)}[data-theme=vivid] .topbar{background:var(--surface);background:linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 68%, #000) 100%)}[data-theme=vivid] .jumpbar{background:color-mix(in srgb, var(--surface) 70%, #000)}.auth-page{place-items:start center;padding-top:max(1rem,min(6vh,4rem));display:grid}.auth-card{width:min(26rem,100%);min-width:0;max-width:100%;padding:1.6rem 1.5rem 1.25rem}.auth-card__brand{justify-content:center;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.auth-card__wordmark{letter-spacing:-.02em;font-size:1.15rem;font-weight:750}.auth-card__wordmark b{color:var(--accent);font-weight:800}.auth-card__title{text-align:center;margin-bottom:.3rem;font-size:1.35rem}.auth-card__sub{text-align:center;color:var(--text-2);margin-bottom:1.1rem;font-size:.88rem}.auth-card__tabs{margin-bottom:1.1rem}.field{margin-bottom:.85rem;display:block}.field>span:first-child{color:var(--text-2);margin-bottom:.3rem;font-size:.8rem;font-weight:650;display:block}.field input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);width:100%;min-height:42px;transition:border-color var(--t-fast);padding:.5rem .8rem;font-size:.95rem}.field input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field input[aria-invalid=true]{border-color:var(--danger)}.field__input-row{align-items:center;gap:.35rem;display:flex}.field__input-row input{flex:1;min-width:0}.auth-card__error{color:var(--danger);margin:0 0 .85rem;font-size:.85rem;font-weight:600}.auth-card__submit{justify-content:center;width:100%;min-height:44px}.auth-card__notice{margin-top:1.1rem}.auth-card__notice .callout__body{margin:0}.auth-card__foot{text-align:center;margin:.9rem 0 0}.spinner--btn{border-width:2px;width:16px;height:16px;margin:0}@media (pointer:coarse){.field input{font-size:16px}}.avatar{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);width:64px;height:64px;color:var(--on-accent);letter-spacing:.02em;box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.5rem;font-weight:750;display:inline-flex}.avatar--sm{width:26px;height:26px;box-shadow:none;font-size:.78rem}.profile-head{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.profile-head__meta{flex:1;min-width:12rem}.profile-head__signout{flex:none}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin-bottom:1.75rem;display:grid}.stat-tile{flex-direction:column;align-items:flex-start;gap:.15rem;padding:.9rem 1rem;display:flex}.stat-tile__icon{color:var(--accent);margin-bottom:.25rem}.stat-tile__value{font-family:var(--font-heading);font-size:1.55rem;font-weight:700;line-height:1.1}.stat-tile__label{color:var(--text-3);font-size:.78rem}.subject-progress{align-items:center;gap:.75rem;padding:.55rem 0;display:flex}.subject-progress+.subject-progress{border-top:1px solid var(--border)}.subject-progress__icon{color:var(--text-3);flex:none;display:inline-flex}.subject-progress__title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:0 0 11rem;font-size:.92rem;font-weight:600;overflow:hidden}.subject-progress .progress-track{flex:1}.subject-progress__pct{text-align:right;width:3ch;color:var(--text-2);flex:none;font-size:.82rem;font-weight:650}@media (max-width:560px){.subject-progress{flex-wrap:wrap}.subject-progress__title{flex:1}.subject-progress .progress-track{flex-basis:100%;order:3}}.quiz-row{align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.quiz-row+.quiz-row{border-top:1px solid var(--border)}.quiz-row__icon{color:var(--accent);flex:none}.quiz-row__title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.92rem;font-weight:600;overflow:hidden}.profile-actions{flex-direction:column;align-items:stretch;gap:.6rem;display:flex}.profile-actions .btn{justify-content:center}.profile-actions__danger{color:var(--danger)}.profile-actions__danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.hero-carousel{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-2);overflow:hidden}.hero-carousel__viewport{aspect-ratio:21/9;width:100%;max-height:420px;position:relative}@media (max-width:640px){.hero-carousel__viewport{aspect-ratio:16/10}}@supports not (aspect-ratio:21 / 9){.hero-carousel__viewport{height:min(45vw,420px)}}.hero-slide{opacity:0;transition:opacity .6s var(--ease);position:absolute;top:0;bottom:0;left:0;right:0}.hero-slide.is-active{opacity:1}.hero-slide img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%}.hero-carousel__arrow{color:#fff;border-radius:var(--r-full);z-index:2;background:#0f12198c;position:absolute;top:50%;transform:translateY(-50%)}.hero-carousel__arrow:hover{color:#fff;background:#0f1219bf}.hero-carousel__arrow--prev{left:10px}.hero-carousel__arrow--next{right:10px}.hero-carousel__caption{color:#fff;background:linear-gradient(#0000,#0a0c12c7);flex-direction:column;gap:.1rem;padding:2rem 1rem .7rem;display:flex;position:absolute;top:auto;bottom:0;left:0;right:0}.hero-carousel__caption-text{text-shadow:0 1px 3px #00000080;font-size:.92rem;font-weight:600}.hero-carousel__credit{opacity:.75;font-size:.7rem}.hero-carousel__dots{justify-content:center;gap:.5rem;padding:.6rem;display:flex}.hero-carousel__dot{border-radius:50%;width:22px;height:22px;position:relative}.hero-carousel__dot:after{content:"";background:var(--border-strong);transition:background var(--t-fast), transform var(--t-fast);border-radius:50%;position:absolute;top:7px;bottom:7px;left:7px;right:7px}.hero-carousel__dot.is-active:after{background:var(--accent);transform:scale(1.25)}.live-eqs{border-top:1px dashed var(--border);gap:.55rem;padding-top:.8rem;display:grid}.live-eqs__row{padding-bottom:2px;font-size:.95rem;overflow-x:auto}.term-tip__img{object-fit:cover;border-radius:calc(var(--r-md) - 3px);border:1px solid var(--border);width:100%;max-height:180px;margin-bottom:.5rem;display:block}.zoomable{cursor:zoom-in;border-radius:var(--r-md);background:0 0;border:none;width:100%;padding:0;display:block}.zoomable img{border-radius:var(--r-md);margin:0 auto}.lightbox{z-index:var(--z-dialog);padding:max(16px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px));cursor:zoom-out;background:#080a10eb;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox__img{object-fit:contain;border-radius:var(--r-md);max-width:100%;max-height:calc(100% - 4rem);box-shadow:0 12px 60px #0009}.lightbox__caption{text-align:center;color:#ffffffd9;max-width:min(60rem,92vw);font-size:.85rem;line-height:1.5}.lightbox__close{top:max(10px, env(safe-area-inset-top,0px));right:max(10px, env(safe-area-inset-right,0px));color:#fff;background:#ffffff1f;position:absolute}.lightbox__close:hover{color:#fff;background:#ffffff40}.hero-carousel__zoom{z-index:1;cursor:zoom-in;border-radius:0;position:absolute;top:0;bottom:0;left:0;right:0}.hero-carousel__caption{pointer-events:none;z-index:2}.tool-panel__toolbar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.fullscreen-tool{z-index:var(--z-dialog);background:var(--surface);padding:max(.5rem, env(safe-area-inset-top,0px)) max(.75rem, env(safe-area-inset-right,0px)) max(.75rem, env(safe-area-inset-bottom,0px)) max(.75rem, env(safe-area-inset-left,0px));flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.fullscreen-tool__bar{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.35rem .25rem .6rem;display:flex}.fullscreen-tool__title{flex:1;min-width:0;font-size:1.02rem;font-weight:700}@media (max-width:560px){.fullscreen-tool__title{font-size:.85rem}.fullscreen-tool__bar .seg--sm .seg__btn{padding:0 .35rem;font-size:.7rem}}.fullscreen-tool__body{flex:1;min-height:0;overflow:auto}.fullscreen-ptable .ptable{min-width:min(1080px,160vh);max-width:1400px;margin:0 auto}.fullscreen-ptable .ptable-scroll{overflow-x:auto}.fullscreen-ptable .ptable-detail{max-width:32rem;margin:.9rem auto 0}.fullscreen-ptable .ptable-legend,.fullscreen-ptable .ptable-legend__note{justify-content:center;max-width:46rem;margin-left:auto;margin-right:auto}.student-space{padding-bottom:3rem}.student-space__hero{border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 11%, var(--surface)), var(--surface));justify-content:space-between;align-items:center;gap:1.25rem;padding:max(1.15rem,min(3vw,2rem));display:flex}.student-space__identity{align-items:center;gap:1rem;display:flex}.student-space__identity h1{margin:.1rem 0 .35rem}.student-space__identity p{color:var(--text-2);margin-top:0}.student-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.85rem;display:grid}.student-page-card{min-height:7rem;color:var(--text);align-items:center;gap:.9rem;padding:1rem;display:flex}.student-page-card:hover{color:var(--text)}.student-page-card__icon{border-radius:var(--r-md);background:color-mix(in srgb, var(--accent) 14%, var(--surface-2));width:2.6rem;height:2.6rem;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.student-page-card__body{flex-direction:column;flex:1;gap:.22rem;min-width:0;display:flex}.student-page-card__body>span:last-child{color:var(--text-2);font-size:.83rem}.student-page-card__eyebrow{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:750}.student-class-list{gap:.85rem;display:grid}.student-class-card{padding:1rem}.student-class-card__head{align-items:flex-start;gap:.9rem;display:flex}.student-class-card__head h3{margin:.1rem 0 .3rem}.student-class-card__head p:last-child{color:var(--text-2);margin:0;font-size:.86rem}.student-class-card__links{border-top:1px solid var(--border);flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:.85rem;display:flex}.private-page__back{align-items:center;gap:.35rem;margin-bottom:1rem;font-size:.84rem;font-weight:650;display:inline-flex}.private-page__hero{border:1px solid var(--border);border-radius:var(--r-lg);background:radial-gradient(circle at 88% 15%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 18rem), linear-gradient(135deg, var(--surface), var(--surface-2));padding:max(1.35rem,min(4vw,2.5rem))}.private-page__hero h1{margin:.15rem 0 0;font-size:max(1.8rem,min(5vw,3rem))}.private-page__hero>p:last-child{max-width:60ch;color:var(--text-2);margin-bottom:0;font-size:1rem;line-height:1.6}.private-page__blocks{gap:1rem;margin-top:1rem;display:grid}.private-block{margin:0}.private-block h2{margin-top:0}.private-block p:last-child,.private-block ul:last-child{margin-bottom:0}.private-link-card{color:var(--text);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.private-link-card span{flex-direction:column;gap:.25rem;min-width:0;display:flex}.private-link-card small{color:var(--text-2)}@media (max-width:640px){.student-space__hero,.student-space__identity{align-items:flex-start}.student-space__hero{flex-direction:column}.student-space__hero>.btn{justify-content:center;width:100%}.student-space__identity .avatar{width:48px;height:48px;font-size:1.05rem}}.home{--home-inner:74rem;--home-pad:clamp(1.1rem, 4vw, 3rem);padding-bottom:0}[data-fx=lite] .home *,[data-fx=lite] .home :before,[data-fx=lite] .home :after{animation:none!important}.home-hero{isolation:isolate;border-bottom:1px solid var(--border);background:radial-gradient(120% 100% at 78% 6%, color-mix(in srgb, var(--accent) 20%, transparent) 0%, transparent 62%), radial-gradient(90% 80% at 2% 100%, color-mix(in srgb, var(--accent-strong) 14%, transparent) 0%, transparent 58%), var(--surface);align-items:center;min-height:max(28rem,min(76vh,45rem));display:flex;position:relative;overflow:hidden}@media (max-height:560px) and (orientation:landscape){.home-hero{min-height:0}}.home-field{z-index:0;position:absolute;top:0;bottom:0;left:0;right:0}.home-field__canvas{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.home-field__veil{background:linear-gradient(96deg, var(--surface) 4%, color-mix(in srgb, var(--surface) 78%, transparent) 32%, color-mix(in srgb, var(--surface) 22%, transparent) 55%, transparent 74%);position:absolute;top:0;bottom:0;left:0;right:0}@media (max-width:860px){.home-field__veil{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 55%, transparent) 0%, color-mix(in srgb, var(--surface) 90%, transparent) 22%, color-mix(in srgb, var(--surface) 88%, transparent) 56%, color-mix(in srgb, var(--surface) 24%, transparent) 80%, transparent 100%)}}.home-field__hud{z-index:3;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb, var(--surface) 76%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.3);box-shadow:var(--shadow-1);font-family:var(--font-mono);color:var(--text-2);flex-direction:column;gap:.55rem;padding:.75rem .9rem;font-size:.72rem;line-height:1.35;display:flex;position:absolute;bottom:max(.9rem,min(2.5vw,2.2rem));right:max(.9rem,min(2.5vw,2.2rem))}@media (max-width:620px){.home-field__hud{display:none}}.home-field__hud-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);font-size:.58rem}.home-field__matrix{align-items:stretch;gap:.4rem;display:flex}.home-field__brace{border:1px solid var(--border-strong);border-right:none;border-radius:4px 0 0 4px;width:7px}.home-field__brace--right{border:1px solid var(--border-strong);border-left:none;border-radius:0 4px 4px 0}.home-field__cells{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,3.2em);gap:.1rem .55rem;display:grid}.home-field__facts{gap:.05rem;min-width:11.5rem;margin:0;display:grid}.home-field__facts>div{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.home-field__facts dt{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-size:.58rem}.home-field__facts dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0}.home-hero__body{z-index:2;width:100%;max-width:var(--home-inner);padding:clamp(3rem, 8vw, 5.5rem) var(--home-pad) clamp(4.5rem, 10vw, 7rem);margin:0 auto;position:relative}.home-hero__eyebrow{border:1px solid var(--border-strong);border-radius:var(--r-full);background:color-mix(in srgb, var(--surface) 65%, transparent);letter-spacing:.11em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:.5rem;padding:.35rem .9rem;font-size:.68rem;font-weight:600;display:inline-flex}@media (max-width:720px){.home-hero__eyebrow-more{display:none}}.home-hero__title{letter-spacing:-.045em;text-wrap:nowrap;margin:1.1rem 0 0;font-size:max(3.1rem,min(12.5vw,9rem));font-weight:750;line-height:.85}.kinetic{display:block}.kinetic--outline{color:var(--accent);padding-left:.06em}@supports (-webkit-text-stroke:1px currentColor){.kinetic--outline .kinetic__letter{color:#0000;-webkit-text-stroke:clamp(1px, .16vw, 2.6px) var(--accent)}}.kinetic__letter{animation:home-letter .76s var(--ease-spring) both;display:inline-block}@keyframes home-letter{0%{opacity:0;filter:blur(7px);transform:translateY(.4em)rotate(-5deg)}to{opacity:1;filter:blur();transform:none}}.home-hero__lede{max-width:34ch;color:var(--text-2);margin-top:1.3rem;font-size:max(1rem,min(1.9vw,1.22rem))}.home-hero__rotator-line{color:var(--text-2);margin-top:.55rem;font-size:max(1.05rem,min(2.4vw,1.5rem));font-weight:600}.rotator{vertical-align:-.34em;height:1.3em;display:inline-block;overflow:hidden}.rotator__list{flex-direction:column;animation:13s cubic-bezier(.72,0,.18,1) infinite home-roll;display:flex}.rotator__word{white-space:nowrap;height:1.3em;color:var(--accent);font-weight:700;line-height:1.3em}@keyframes home-roll{0%,13%{transform:translateY(0)}16.6%,30%{transform:translateY(-16.6667%)}33.3%,46.6%{transform:translateY(-33.3333%)}50%,63.3%{transform:translateY(-50%)}66.6%,80%{transform:translateY(-66.6667%)}83.3%,to{transform:translateY(-83.3333%)}}.home-hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.9rem;display:flex}.home-hero__cue{z-index:2;font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-3);flex-direction:column-reverse;align-items:center;gap:.45rem;font-size:.58rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.home-hero__cue-line{background:linear-gradient(var(--border-strong), transparent);width:1px;height:32px;position:relative;overflow:hidden}.home-hero__cue-line:after{content:"";background:var(--accent);height:11px;animation:home-cue 2.4s var(--ease) infinite;position:absolute;left:0;right:0}@keyframes home-cue{0%{opacity:0;transform:translateY(-12px)}30%{opacity:1}to{opacity:0;transform:translateY(32px)}}@media (max-width:860px),(max-height:640px){.home-hero__cue{display:none}}.home-ribbons{border-bottom:1px solid var(--border);background:var(--surface-2);padding:.3rem 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%)}.ribbon{overflow:hidden}.ribbon__track{width:max-content;animation:linear infinite home-marquee;display:flex}.ribbon__track--reverse{animation-name:home-marquee-reverse}.home-ribbons:hover .ribbon__track{animation-play-state:paused}@keyframes home-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes home-marquee-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.ribbon__item{font-family:var(--font-mono);white-space:nowrap;color:var(--text-3);align-items:center;gap:1.4rem;padding:.3rem 0 .3rem 1.4rem;font-size:max(.76rem,min(1.3vw,.92rem));display:flex}.ribbon__item:after{content:"◆";color:var(--accent);opacity:.7;font-size:.42em}.ribbon__track--reverse .ribbon__item{font-family:var(--font-ui);letter-spacing:.02em;color:color-mix(in srgb, var(--text-3) 80%, var(--accent));font-style:italic}.home-act,.home-figures{max-width:var(--home-inner);padding:clamp(2.8rem, 7vw, 5rem) var(--home-pad) 0;margin:0 auto}.home-act--tight{padding-top:max(1.8rem,min(4vw,2.8rem))}.act-head{align-items:baseline;gap:.85rem;margin-bottom:max(1.2rem,min(3vw,2rem));display:flex}.act-head__index{font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);flex:none;order:1;font-size:.74rem;font-weight:700}.act-head__title{letter-spacing:-.025em;flex:none;order:2;font-size:max(1.35rem,min(3vw,2.05rem))}.act-head__rule{background:linear-gradient(90deg, var(--border-strong), transparent);flex:1;order:3;min-width:1.5rem;height:1px}.act-head__note{color:var(--text-3);flex:none;order:4;font-size:.8rem}.act-head--quiet .act-head__title{color:var(--text-2);font-size:max(1.15rem,min(2.2vw,1.5rem))}@media (max-width:560px){.act-head__note{display:none}}.resume{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-lg);background:var(--surface);color:inherit;box-shadow:var(--shadow-1);transition:border-color var(--t-fast) var(--ease), transform var(--t-med) var(--ease-spring), box-shadow var(--t-med) var(--ease);align-items:center;gap:1rem;padding:1.05rem 1.25rem;display:flex}.resume:hover{border-color:var(--accent);text-decoration:none}[data-fx=rich] .resume:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}.resume__mark{border-radius:var(--r-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);flex:none;place-items:center;display:grid}.resume__meta{flex-direction:column;flex:1;min-width:0;display:flex}.resume__kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);font-size:.64rem;font-weight:700}.resume__title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.resume__sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;overflow:hidden}.resume__go{color:var(--accent);flex:none}.reel__placeholder{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:max(24rem,min(40vw,30rem))}.reel__stage{border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);background:radial-gradient(90% 130% at 100% 0%, color-mix(in srgb, var(--accent) 13%, transparent) 0%, transparent 62%), var(--surface);display:grid;overflow:hidden}.reel-slide{opacity:0;visibility:hidden;transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease), visibility 0s linear var(--t-slow);grid-area:1/1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:max(1rem,min(3vw,2.6rem));padding:max(1.4rem,min(3.6vw,3rem));display:grid;transform:translateY(14px)scale(.99)}.reel-slide.is-active{opacity:1;visibility:visible;transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease);transform:none}.reel-slide__index{font-family:var(--font-mono);letter-spacing:-.04em;color:color-mix(in srgb, var(--accent) 40%, transparent);margin-bottom:.35rem;font-size:max(2.4rem,min(6vw,4.2rem));font-weight:700;line-height:.9;display:block}@supports (-webkit-text-stroke:1px currentColor){.reel-slide__index{color:#0000;-webkit-text-stroke:1.6px color-mix(in srgb, var(--accent) 62%, transparent)}}.reel-slide__kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.68rem;font-weight:700;display:block}.reel-slide__title{letter-spacing:-.025em;margin:.4rem 0 .6rem;font-size:max(1.3rem,min(3.1vw,2.2rem))}.reel-slide__body{max-width:46ch;color:var(--text-2);font-size:max(.9rem,min(1.5vw,1rem))}.reel-slide__cta{margin-top:1.3rem}.reel-slide__art{min-width:0;position:relative}@media (max-width:860px){.reel-slide{grid-template-columns:minmax(0,1fr)}.reel-slide__art{order:-1}}.reel__controls{justify-content:center;align-items:center;gap:.35rem;margin-top:.9rem;display:flex}.reel__dots{align-items:center;gap:.15rem;display:flex}.reel__dot{border-radius:var(--r-sm);width:42px;height:30px;position:relative}.reel__dot:before{content:"";border-radius:var(--r-full);background:var(--border-strong);opacity:.55;height:4px;transition:background var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease);margin-top:-2px;position:absolute;top:50%;left:4px;right:4px}.reel__dot:hover:before{opacity:1}.reel__dot.is-active:before{opacity:1;background:color-mix(in srgb, var(--accent) 34%, var(--border-strong))}.reel__dot-fill{border-radius:var(--r-full);background:var(--accent);width:0;height:4px;margin-top:-2px;position:absolute;top:50%;left:4px}.reel__dot.is-active .reel__dot-fill{width:calc((100% - 8px) * var(--reel-progress,0))}.reel__play{margin-left:.4rem}.art{width:100%;height:auto;display:block;overflow:visible}.art-grid line{stroke:var(--border);stroke-width:1px;opacity:.6}.art-curve{fill:none;stroke:var(--accent);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.art-guide{stroke:var(--text-3);stroke-width:1.2px;stroke-dasharray:4 6;opacity:.6}.art-vertex{fill:var(--surface);stroke:var(--accent-strong);stroke-width:2.4px}.art-rider{fill:var(--accent-strong);stroke:var(--surface);stroke-width:2px}.art-envelope{fill:none;stroke:var(--accent-strong);stroke-width:2px;stroke-dasharray:7 7;opacity:.9}.art-trail{fill:none;stroke:var(--accent-strong);stroke-width:4px;stroke-linecap:round;opacity:.3}.art-ground{stroke:var(--border-strong);stroke-width:1.5px}.art-caption{fill:var(--text-3);font-family:var(--font-mono);letter-spacing:.08em;font-size:11px}.art-caption--dim{opacity:.7}.art-ring{fill:none;stroke:var(--accent);stroke-width:1.6px}.art-glow-stop{stop-color:var(--accent)}.art-nucleus{fill:var(--accent-strong)}.art-pulse{animation:art-pulse 3.6s var(--ease) infinite}@keyframes art-pulse{0%,to{opacity:.9}50%{opacity:.5}}.art-electron{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.art-page{fill:var(--surface-2);stroke:var(--border)}.art-line{fill:var(--text-3);opacity:.32}.art-quote{fill:var(--accent);font-family:var(--font-serif);opacity:.5;font-size:62px}.art-axis{stroke:var(--border-strong);stroke-width:1.4px;opacity:.8}.art-mark{transform-box:fill-box;transform-origin:0;animation:art-sweep 6s var(--ease) infinite}.art-mark--a{fill:color-mix(in srgb, var(--warn) 42%, transparent)}.art-mark--b{fill:color-mix(in srgb, var(--info) 42%, transparent);animation-delay:1.1s}.art-mark--c{fill:color-mix(in srgb, var(--ok) 42%, transparent);animation-delay:2.2s}@keyframes art-sweep{0%{opacity:0;transform:scaleX(0)}10%{opacity:1}38%,82%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.art-tag{animation:art-tag 6s var(--ease) infinite}.art-tag--a{fill:var(--warn)}.art-tag--b{fill:var(--info);animation-delay:1.1s}.art-tag--c{fill:var(--ok);animation-delay:2.2s}@keyframes art-tag{0%,to{opacity:.15}14%,80%{opacity:1}}.art-sheet{fill:var(--accent);opacity:.16;animation:3.4s linear infinite art-scan}@keyframes art-scan{0%,70%{opacity:.16}78%{opacity:.95}to{opacity:.16}}.art-count{fill:var(--text);font-family:var(--font-mono);letter-spacing:-.03em;paint-order:stroke fill;stroke:var(--surface);stroke-width:9px;stroke-linejoin:round;font-size:58px;font-weight:700}.mosaic{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:max(.75rem,min(1.6vw,1.1rem));display:grid}.tile{isolation:isolate;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);min-height:13.5rem;color:inherit;text-align:left;box-shadow:var(--shadow-1);transition:border-color var(--t-fast) var(--ease), transform var(--t-med) var(--ease-spring), box-shadow var(--t-med) var(--ease);flex-direction:column;gap:.55rem;padding:max(1.1rem,min(2.2vw,1.6rem));display:flex;position:relative;overflow:hidden}.tile:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));text-decoration:none}[data-fx=rich] .tile:hover{box-shadow:var(--shadow-2), 0 12px 34px color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-4px)}.tile__spot{z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 24%, transparent) 0%, transparent 70%);transition:opacity var(--t-med) var(--ease);position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px}.tile:hover .tile__spot{opacity:1}.tile__icon{border-radius:var(--r-md);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);place-items:center;display:grid}[data-fx=rich] .tile__icon{background:linear-gradient(140deg, var(--accent-soft) 0%, var(--accent-soft-2) 100%)}.tile__title{font-size:1.08rem}.tile__body{color:var(--text-2);font-size:.87rem}.tile__progress{border-radius:var(--r-full);background:var(--surface-3);height:4px;display:block;overflow:hidden}.tile__progress-fill{border-radius:var(--r-full);background:var(--accent);height:100%;display:block}.tile__progress-fill.is-done{background:var(--ok)}.tile__figure{font-family:var(--font-mono);letter-spacing:-.04em;color:color-mix(in srgb, var(--accent) 75%, var(--text));margin-top:auto;font-size:max(2.2rem,min(5vw,3.4rem));font-weight:700;line-height:1}.tile__foot{letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;font-size:.66rem;font-weight:600;display:flex}.tile__figure+.tile__foot{margin-top:.4rem}@media (min-width:62rem){.tile--feature{grid-column:span 2}}.figures{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:1px;display:grid;overflow:hidden}.figure-tile{background:var(--surface);flex-direction:column;gap:.12rem;padding:max(1.2rem,min(3vw,2rem));display:flex}.figure-tile__value{font-family:var(--font-mono);letter-spacing:-.035em;color:var(--text);font-size:max(1.85rem,min(4.2vw,2.9rem));font-weight:700;line-height:1}.figure-tile__label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700}.figure-tile__sub{color:var(--text-3);font-size:.82rem}.tabular{font-variant-numeric:tabular-nums}.how{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;display:grid}.how__card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:1.2rem 1.3rem;position:relative}.how__card h3{margin:.7rem 0 .3rem;font-size:1rem}.how__card p{color:var(--text-2);font-size:.86rem}.how__icon{border-radius:var(--r-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);place-items:center;display:grid}.how__card kbd{position:absolute;top:1.1rem;right:1.2rem}.home-close{border-top:1px solid var(--border);background:radial-gradient(80% 150% at 50% 0%, color-mix(in srgb, var(--accent) 17%, transparent) 0%, transparent 66%), var(--surface);margin-top:max(3.5rem,min(8vw,6rem))}.home-close__inner{max-width:var(--home-inner);padding:clamp(3rem, 7vw, 5rem) var(--home-pad) calc(clamp(3rem, 7vw, 5rem) + env(safe-area-inset-bottom,0px));text-align:center;margin:0 auto}.home-close h2{letter-spacing:-.03em;font-size:max(1.55rem,min(4.6vw,2.9rem))}.home-close .home-hero__actions{justify-content:center}.reveal.is-armed{opacity:0;transform:translateY(22px)}.reveal.is-armed.is-in{opacity:1;transition:opacity .64s var(--ease), transform .64s var(--ease);transform:none}.cover{--cover-pad:clamp(1.1rem, 4vw, 3rem);--cover-chars:10;isolation:isolate;border-bottom:1px solid var(--border);background:radial-gradient(110% 100% at 82% 4%, color-mix(in srgb, var(--accent) 18%, transparent) 0%, transparent 62%), radial-gradient(90% 90% at 0% 100%, color-mix(in srgb, var(--accent-strong) 12%, transparent) 0%, transparent 58%), var(--surface);flex-direction:column;min-height:max(20rem,min(62vh,32rem));display:flex;position:relative;overflow:hidden}[data-fx=lite] .cover *,[data-fx=lite] .cover :before,[data-fx=lite] .cover :after{animation:none!important}@media (max-width:780px){.cover{min-height:max(24rem,min(74vh,34rem))}.cover__body{justify-content:flex-start;padding-bottom:max(8rem,min(30vh,13rem))}}@media (max-height:560px) and (orientation:landscape){.cover{min-height:0}.cover__body{justify-content:center;padding-bottom:max(1.6rem,min(3.5vw,2.6rem))}}.cover__stage{flex:1;min-height:0;display:flex;position:relative}.cover__scene{z-index:0;position:absolute;top:0;bottom:0;left:0;right:0}.cover__canvas{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.cover__veil{background:linear-gradient(96deg, var(--surface) 2%, color-mix(in srgb, var(--surface) 74%, transparent) 24%, color-mix(in srgb, var(--surface) 18%, transparent) 44%, transparent 60%);position:absolute;top:0;bottom:0;left:0;right:0}@media (max-width:780px){.cover__veil{background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 58%, transparent) 0%, color-mix(in srgb, var(--surface) 90%, transparent) 20%, color-mix(in srgb, var(--surface) 88%, transparent) 50%, color-mix(in srgb, var(--surface) 22%, transparent) 78%, transparent 100%)}}.cover__body{z-index:2;width:100%;max-width:74rem;padding:clamp(2rem, 5vw, 3.4rem) var(--cover-pad) clamp(1.6rem, 3.5vw, 2.6rem);flex-direction:column;flex:1;justify-content:center;margin:0 auto;display:flex;position:relative}.cover__kicker{letter-spacing:.13em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.cover__kicker a{color:inherit}.cover__unit{color:var(--text-3)}.cover__title{letter-spacing:-.045em;text-wrap:nowrap;margin:.6rem 0 0;font-size:max(1.7rem,min(5.4vw,3.4rem));font-weight:750;line-height:.88}@supports (container-type:inline-size){.cover{container-type:inline-size}.cover__title{font-size:min(calc(92cqw / var(--cover-chars) * 1.6), 5.2rem)}}.cover__lede{max-width:40ch;color:var(--text-2);margin-top:1rem;font-size:max(.95rem,min(1.7vw,1.12rem))}.cover__meta{align-items:center;gap:.75rem;max-width:26rem;margin-top:1.5rem;display:flex}.cover__track{flex:1}.cover__count{color:var(--text-3);white-space:nowrap;flex:none;font-size:.78rem}.cover__ribbons{z-index:2;border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-2) 88%, transparent);flex:none;padding:.25rem 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%)}.cover__ribbons:hover .ribbon__track{animation-play-state:paused}.cover+.main__inner{padding-top:max(1.5rem,min(4vw,2.5rem))}.auth-screen{isolation:isolate;min-height:100vh;background:var(--bg);grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid;position:relative}.auth-screen__aurora{z-index:-1;pointer-events:none;background:radial-gradient(60rem 44rem at 8% 8%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), radial-gradient(52rem 40rem at 92% 88%, color-mix(in srgb, var(--accent-strong) 18%, transparent), transparent 70%);position:fixed;top:0;bottom:0;left:0;right:0}.auth-art{flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:0;padding:max(1.5rem,min(4vw,3rem));display:flex;position:relative;overflow:hidden}.auth-figure{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.auth-figure__canvas{width:100%;height:100%;display:block}.auth-art__veil{z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent 0%, transparent 42%, color-mix(in srgb, var(--bg) 62%, transparent) 72%, color-mix(in srgb, var(--bg) 86%, transparent) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.auth-art__brand,.auth-art__words{z-index:2;position:relative}.auth-art__brand{color:var(--text);letter-spacing:-.02em;align-self:flex-start;align-items:center;gap:.65rem;font-size:1.08rem;font-weight:750;display:inline-flex}.auth-art__brand:hover{color:var(--text)}.auth-art__brand b{color:var(--accent)}.auth-art__display{font-family:var(--font-heading);letter-spacing:-.045em;margin:0;font-size:max(2.6rem,min(7vw,4.4rem));font-weight:800;line-height:.92}.auth-art__display span{display:block}.auth-art__display-out{color:#0000;-webkit-text-stroke:1.4px var(--accent);text-stroke:1.4px var(--accent)}@supports not (-webkit-text-stroke:1px red){.auth-art__display-out{color:var(--accent)}}.auth-art__line{max-width:34ch;color:var(--text-2);margin:1rem 0 0;font-size:max(.95rem,min(1.4vw,1.05rem));line-height:1.55}.auth-screen__panel{min-width:0;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1.5rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));place-items:center;display:grid}.auth-login{border:1px solid var(--border-strong);border-radius:var(--r-lg);background:color-mix(in srgb, var(--surface) 94%, transparent);width:100%;min-width:0;max-width:31rem;box-shadow:0 1px 0 color-mix(in srgb, var(--text) 5%, transparent) inset, 0 24px 80px color-mix(in srgb, var(--shadow-color,#000) 26%, transparent);padding:max(1.35rem,min(4vw,2.5rem));position:relative}.auth-login:before{content:"";border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(90deg, transparent, var(--accent) 22%, var(--accent-strong) 78%, transparent);opacity:.85;height:3px;position:absolute;top:-1px;bottom:auto;left:-1px;right:-1px}.auth-login__brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:.65rem;font-size:1.08rem;font-weight:750;display:inline-flex}.auth-login__brand:hover{color:var(--text)}.auth-login__brand b{color:var(--accent)}.auth-login__intro{margin:max(1.2rem,min(4vh,2rem)) 0 1.4rem}.auth-login__kicker{border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 .55rem;padding:.28rem .7rem;font-size:.7rem;font-weight:750;display:inline-flex}.auth-login__intro h1{letter-spacing:-.035em;margin:0;font-size:max(1.8rem,min(5vw,2.45rem))}.auth-login__intro>p:last-child{max-width:36ch;color:var(--text-2);margin:.65rem 0 0;line-height:1.55}.auth-login__form .field{margin-bottom:1rem}.auth-login__form .field>span:first-child{color:var(--text)}.auth-login__form .field input{background:var(--surface-2);min-height:48px;padding-inline-start:.9rem;padding-inline-end:.9rem}.auth-login__password-toggle{border:1px solid var(--border-strong);background:var(--surface-2);min-width:48px;min-height:48px}.auth-login__message{min-height:2rem}.auth-login__message p{color:var(--danger);margin:0 0 .75rem;font-size:.85rem;font-weight:650}.auth-login__submit{justify-content:center;width:100%;min-height:48px}.auth-login__help{text-align:center;padding-top:1.2rem}.auth-login__help p,.auth-login__password-help{color:var(--text-3);margin:0 0 .65rem;font-size:.79rem;line-height:1.5}.auth-login__help a{font-size:.83rem;font-weight:650}@media (min-width:62rem){.auth-screen{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth-art{border-right:1px solid var(--border);min-height:100dvh}.auth-login__brand{display:none}.auth-login__intro{margin-top:0}}@media (max-width:61.999rem){.auth-art{z-index:-1;padding:0;position:fixed;top:0;bottom:0;left:0;right:0}.auth-art__brand,.auth-art__words{display:none}.auth-figure{opacity:.5}.auth-art__veil{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 40%, transparent), color-mix(in srgb, var(--bg) 78%, transparent))}.auth-screen__panel{min-height:100dvh}}@media (min-width:62rem) and (max-height:34rem){.auth-art{min-height:0}.auth-art__display{font-size:max(2rem,min(4vw,2.6rem))}.auth-art__line{display:none}}@media (max-height:560px) and (orientation:landscape){.auth-screen__panel{place-items:start center;padding-block-start:.65rem;padding-block-end:.65rem}.auth-login{width:min(44rem,100%);max-width:44rem;padding:1rem 1.25rem}.auth-login__intro{margin:.75rem 0}.auth-login__intro h1{font-size:1.55rem}.auth-login__intro>p:last-child,.auth-login__help p{display:none}.auth-login__form{grid-template-columns:1fr 1fr;gap:0 .75rem;display:grid}.auth-login__message,.auth-login__submit,.auth-login__password-help{grid-column:1/-1}.auth-login__help{padding-top:.5rem}}.student-space{--space-gap:1rem;--space-pad:1.15rem;--space-radius:var(--r-lg);background:var(--bg);color:var(--text);border-radius:var(--space-radius)}.student-space[data-density=compact]{--space-gap:.7rem;--space-pad:.9rem}.student-space[data-density=roomy]{--space-gap:1.45rem;--space-pad:1.55rem}.space-hero{border-radius:var(--space-radius);border:1px solid var(--border);background:var(--surface);margin-bottom:var(--space-gap);position:relative;overflow:hidden}.space-hero__art{background-color:var(--accent-soft);background-position:50%;background-size:cover;height:max(96px,min(22vw,168px));position:relative}.space-hero__art:after{content:"";background:linear-gradient(to bottom, transparent 40%, color-mix(in srgb, var(--surface) 78%, transparent) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.space-hero__body{padding:0 var(--space-pad) var(--space-pad);align-items:flex-end;gap:1rem;margin-top:-2.4rem;display:flex;position:relative}.space-hero__meta{flex:1;min-width:0;padding-bottom:.15rem}.space-hero__greeting{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:0;font-size:.76rem;font-weight:600}.space-hero__meta h1{font-family:var(--font-heading);margin:.1rem 0 .25rem;font-size:max(1.35rem,min(4vw,1.9rem));line-height:1.15}.space-hero__ids{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.space-hero__handle,.space-hero__grade{border-radius:var(--r-full);padding:.15rem .5rem;font-size:.78rem;font-weight:600}.space-hero__handle{color:var(--accent);background:var(--accent-soft)}.space-hero__grade{color:var(--text-2);background:var(--surface-3)}.space-hero__tagline{color:var(--text-2);max-width:44ch;margin:.45rem 0 0;font-size:.9rem}.space-hero__actions{flex:none;gap:.5rem;padding-bottom:.15rem;display:flex}.space-hero__strip{padding:.6rem var(--space-pad);border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;gap:.4rem 1.1rem;display:flex}.space-strip__item{color:var(--text-2);align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;display:inline-flex}.space-strip__item svg{color:var(--text-3)}.space-strip__item--u-overdue,.space-strip__item--u-overdue svg{color:var(--danger)}.space-strip__item--u-today,.space-strip__item--u-today svg,.space-strip__item--u-soon,.space-strip__item--u-soon svg{color:var(--warn)}.space-avatar{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);width:72px;height:72px;color:var(--on-accent);font-family:var(--font-heading);border:3px solid var(--surface);box-shadow:var(--shadow-2);border-radius:22px;flex:none;justify-content:center;align-items:center;font-size:1.6rem;font-weight:750;display:inline-flex;overflow:hidden}.space-avatar--emoji{background:var(--surface-3);font-size:2.1rem;line-height:1}.space-avatar--icon{background:linear-gradient(135deg, var(--accent-soft-2) 0%, var(--accent-soft) 100%);color:var(--accent)}.space-avatar--image img{object-fit:cover;width:100%;height:100%;display:block}[data-banner=plain] .space-art{background-image:linear-gradient(120deg, var(--accent-soft) 0%, var(--surface-3) 100%)}[data-banner=aurora] .space-art{background-image:radial-gradient(60% 120% at 15% 20%, color-mix(in srgb, var(--accent) 55%, transparent), transparent 70%), radial-gradient(50% 110% at 75% 10%, color-mix(in srgb, var(--info) 45%, transparent), transparent 72%), radial-gradient(70% 130% at 50% 110%, color-mix(in srgb, var(--danger) 32%, transparent), transparent 70%), linear-gradient(160deg, var(--surface-3), var(--accent-soft))}[data-banner=mesh] .space-art{background-image:radial-gradient(35% 70% at 10% 30%, color-mix(in srgb, var(--accent) 40%, transparent), transparent 70%), radial-gradient(40% 80% at 45% 80%, color-mix(in srgb, var(--ok) 32%, transparent), transparent 70%), radial-gradient(45% 90% at 85% 25%, color-mix(in srgb, var(--warn) 34%, transparent), transparent 70%), linear-gradient(90deg, var(--surface-2), var(--surface-3))}[data-banner=grid] .space-art{background-image:linear-gradient(color-mix(in srgb, var(--accent) 22%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 22%, transparent) 1px, transparent 1px), linear-gradient(160deg, var(--accent-soft), var(--surface-3));background-size:22px 22px,22px 22px,100% 100%}[data-banner=waves] .space-art{background-image:repeating-radial-gradient(circle at 50% 140%, color-mix(in srgb, var(--accent) 30%, transparent) 0 2px, transparent 2px 26px), linear-gradient(180deg, var(--surface-2), var(--accent-soft))}[data-banner=chalk] .space-art{background-image:repeating-linear-gradient(90deg, color-mix(in srgb, var(--text-inverse) 12%, transparent) 0 1px, transparent 1px 34px), repeating-linear-gradient(0deg, color-mix(in srgb, var(--text-inverse) 8%, transparent) 0 1px, transparent 1px 34px), linear-gradient(150deg, color-mix(in srgb, var(--text) 88%, var(--ok)), var(--text))}[data-banner=sunrise] .space-art{background-image:radial-gradient(60% 150% at 50% 130%, color-mix(in srgb, var(--warn) 70%, transparent), transparent 70%), linear-gradient(180deg, var(--accent-soft) 0%, color-mix(in srgb, var(--danger) 25%, var(--surface-3)) 100%)}[data-banner=contours] .space-art{background-image:repeating-radial-gradient(ellipse at 30% 120%, transparent 0 16px, color-mix(in srgb, var(--accent) 26%, transparent) 16px 18px), linear-gradient(120deg, var(--surface-3), var(--accent-soft))}[data-banner=circuit] .space-art{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 24%, transparent) 0 1px, transparent 1px 18px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--info) 18%, transparent) 0 1px, transparent 1px 18px), linear-gradient(140deg, var(--surface-3), var(--surface-2))}[data-banner=confetti] .space-art{background-image:radial-gradient(circle at 12% 30%, var(--accent) 0 4px, transparent 4px), radial-gradient(circle at 34% 68%, var(--warn) 0 3px, transparent 3px), radial-gradient(circle at 58% 22%, var(--ok) 0 4px, transparent 4px), radial-gradient(circle at 78% 60%, var(--danger) 0 3px, transparent 3px), radial-gradient(circle at 90% 28%, var(--info) 0 4px, transparent 4px), linear-gradient(120deg, var(--surface-2), var(--accent-soft));background-size:120px 120px,90px 90px,140px 140px,110px 110px,100px 100px,100% 100%}.space-grid{gap:var(--space-gap);grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;display:grid}.space-widget--third{grid-column:span 2}.space-widget--half{grid-column:span 3}.space-widget--two-thirds{grid-column:span 4}.space-widget--full{grid-column:span 6}.space-widget{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);min-width:0;box-shadow:var(--shadow-1);overflow:hidden}.student-space[data-cards=outline] .space-widget{border-color:var(--border-strong);box-shadow:none;background:0 0}.student-space[data-cards=solid] .space-widget{background:var(--surface-2);box-shadow:none;border-color:#0000}.space-widget--bare{box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.student-space[data-cards=solid] .space-widget--bare,.student-space[data-cards=outline] .space-widget--bare{background:0 0;border-color:#0000}.space-widget__head{padding:.7rem var(--space-pad);border-bottom:1px solid var(--border);background:var(--surface-2);align-items:center;gap:.55rem;display:flex}.student-space[data-cards=solid] .space-widget__head{background:var(--surface-3)}.space-widget__icon{color:var(--accent);flex:none;display:inline-flex}.space-widget__titles{flex:1;min-width:0}.space-widget__titles h3{font-family:var(--font-heading);margin:0;font-size:.94rem;font-weight:700;line-height:1.25}.space-widget__titles p{color:var(--text-3);margin:.1rem 0 0;font-size:.78rem}.space-widget__actions{flex:none;align-items:center;gap:.3rem;display:flex}.space-widget__count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700}.space-widget__body{padding:var(--space-pad)}.space-widget--bare>.space-widget__body{padding:0}.space-widget--tone-accent .space-widget__head{border-bottom-color:var(--accent)}.space-widget--tone-ok .space-widget__head{border-bottom-color:var(--ok)}.space-widget--tone-warn .space-widget__head{border-bottom-color:var(--warn)}.space-widget--tone-danger .space-widget__head{border-bottom-color:var(--danger)}.space-widget--tone-info .space-widget__head{border-bottom-color:var(--info)}.space-empty{color:var(--text-3);margin:0;font-size:.85rem}.space-chip{border-radius:var(--r-full);white-space:nowrap;background:var(--surface-3);color:var(--text-2);flex:none;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.space-chip--ok{background:var(--ok-soft);color:var(--ok)}.space-chip--accent{background:var(--accent-soft);color:var(--accent)}.space-chip--u-overdue{background:var(--danger-soft);color:var(--danger)}.space-chip--u-today,.space-chip--u-soon{background:var(--warn-soft);color:var(--warn)}.space-chip--u-near{background:var(--info-soft);color:var(--info)}.space-rows{margin:0;padding:0;list-style:none}.space-row{align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.space-row+.space-row{border-top:1px solid var(--border)}.space-row__marker{background:var(--text-3);border-radius:50%;flex:none;width:8px;height:8px}.space-row__marker--overdue{background:var(--danger)}.space-row__marker--today,.space-row__marker--soon{background:var(--warn)}.space-row__marker--near{background:var(--info)}.space-row__main{flex-direction:column;flex:1;min-width:0;display:flex}.space-row__label{color:var(--text);font-size:.88rem;font-weight:600}.space-row__label--link{color:var(--accent);align-items:center;gap:.3rem;text-decoration:none;display:inline-flex}.space-row__label--link:hover{text-decoration:underline}.space-row__detail{color:var(--text-3);font-size:.76rem}.space-row__side{flex:none;align-items:center;gap:.45rem;display:flex}.space-row__date{color:var(--text-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.76rem}.space-countdown-hero{border-radius:var(--r-md);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);grid-template-columns:auto 1fr;grid-template-areas:"number label""unit date";align-items:center;column-gap:.9rem;margin-bottom:.6rem;padding:.75rem .9rem;display:grid}.space-countdown-hero--overdue{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 32%, transparent)}.space-countdown-hero--today,.space-countdown-hero--soon{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 34%, transparent)}.space-countdown-hero__number{font-family:var(--font-heading);color:var(--accent);font-variant-numeric:tabular-nums;grid-area:number;font-size:2.6rem;font-weight:750;line-height:1}.space-countdown-hero--overdue .space-countdown-hero__number{color:var(--danger)}.space-countdown-hero--today .space-countdown-hero__number,.space-countdown-hero--soon .space-countdown-hero__number{color:var(--warn)}.space-countdown-hero__unit{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);text-align:center;white-space:nowrap;grid-area:unit;align-self:start;font-size:.68rem;font-weight:700}.space-countdown-hero__label{grid-area:label;font-size:.95rem;font-weight:700;line-height:1.25}.space-countdown-hero__date{color:var(--text-2);grid-area:date;font-size:.78rem}.cal{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.cal__head{background:linear-gradient(180deg, var(--accent-soft-2), var(--accent-soft));border-bottom:2px solid var(--accent);align-items:center;gap:.4rem;padding:1.1rem .6rem .55rem;display:flex;position:relative}.cal__punches{pointer-events:none;justify-content:space-evenly;padding:0 12%;display:flex;position:absolute;top:.28rem;left:0;right:0}.cal__punches span{background:var(--bg);width:7px;height:7px;box-shadow:inset 0 1px 1px color-mix(in srgb, var(--text) 25%, transparent);border-radius:50%}.cal__title{text-align:center;flex:1;min-width:0;line-height:1.05}.cal__title strong{font-family:var(--font-heading);letter-spacing:.01em;font-size:1.15rem;font-weight:750;display:block}.cal__title span{letter-spacing:.14em;color:var(--text-3);font-size:.7rem;font-weight:700}.cal__nav{flex:none}.cal__strip{color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.74rem;display:flex}.cal__grid{flex-direction:column;display:flex}.cal__row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal__row--head{background:var(--surface-2);border-bottom:1px solid var(--border)}.cal__wd{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:.3rem .2rem;font-size:.66rem;font-weight:700}.cal__wd.is-weekend{color:var(--accent);background:var(--accent-soft)}.cal__day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;min-height:3.6rem;transition:background var(--t-fast) var(--ease);flex-direction:column;align-items:stretch;gap:1px;padding:.2rem .18rem;display:flex;position:relative}.cal__row:last-child .cal__day{border-bottom:0}.cal__day:nth-child(7n){border-right:0}.cal__day:hover{background:var(--surface-2)}.cal__day.is-weekend{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.cal__day.is-outside{background:var(--surface-2)}.cal__day.is-outside .cal__daynum{color:var(--text-3);opacity:.65}.cal__day.is-open{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.cal__daynum{font-variant-numeric:tabular-nums;color:var(--text-2);padding:0 .1rem;font-size:.7rem;font-weight:700}.cal__day.is-today .cal__daynum{background:var(--accent);width:1.35rem;height:1.35rem;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cal__day.has-priority:after{content:"";border-style:solid;border-width:0 8px 8px 0;border-color:transparent var(--danger) transparent transparent;position:absolute;top:0;right:0}.cal__entries{flex-direction:column;gap:1px;min-width:0;display:flex}.cal-entry{border-left:2px solid var(--text-3);background:var(--surface-3);min-width:0;color:var(--text-2);border-radius:3px;align-items:center;gap:.15rem;padding:.05rem .2rem;font-size:.56rem;font-weight:600;display:flex}.cal-entry svg{flex:none}.cal-entry__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-entry.is-high,.cal-entry.is-overdue{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.cal-entry.is-soon{border-left-color:var(--warn);background:var(--warn-soft);color:var(--warn)}.cal-entry.is-low{opacity:.75}.cal-entry.is-done{border-left-color:var(--ok);color:var(--text-3);text-decoration:line-through}.cal-entry--more{color:var(--text-3);background:0 0;border-left-color:#0000;font-weight:700}.cal-day{border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--surface-2);margin-top:.6rem;overflow:hidden}.cal-day__head{background:var(--accent-soft);align-items:center;gap:.4rem;padding:.4rem .55rem;display:flex}.cal-day__head h4{flex:1;align-items:center;gap:.4rem;margin:0;font-size:.85rem;display:flex}.cal-day__today{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);padding:.05rem .35rem;font-size:.6rem;font-weight:700}.cal-day__list{margin:0;padding:.2rem .55rem .5rem;list-style:none}.cal-day-item{align-items:center;gap:.5rem;padding:.45rem 0;display:flex}.cal-day-item+.cal-day-item{border-top:1px solid var(--border)}.cal-day-item__check{cursor:pointer;flex:none;margin:-.5rem -.25rem;padding:.5rem .25rem;display:inline-flex}.cal-day-item__check input{opacity:0;width:1px;height:1px;position:absolute}.cal-day-item__check input:focus-visible+.space-task__box{outline:2px solid var(--accent);outline-offset:2px}.cal-day-item.is-done .space-task__box{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}.cal-day-item__icon{color:var(--accent);flex:none;display:inline-flex}.cal-day-item.is-high .cal-day-item__icon,.cal-day-item.is-overdue .cal-day-item__icon{color:var(--danger)}.cal-day-item.is-soon .cal-day-item__icon{color:var(--warn)}.cal-day-item__main{flex-direction:column;flex:1;min-width:0;display:flex}.cal-day-item__label{font-size:.85rem;font-weight:600}.cal-day-item__label a{color:var(--accent)}.cal-day-item.is-done .cal-day-item__label{color:var(--text-3);text-decoration:line-through}.cal-day-item__meta{color:var(--text-3);font-size:.72rem}.cal-key{color:var(--text-3);flex-wrap:wrap;gap:.2rem .65rem;margin-top:.6rem;font-size:.66rem;display:flex}.cal-key span{align-items:center;gap:.22rem;display:inline-flex}.cal-key__priority{color:var(--danger)}.space-tasks__track{margin-bottom:.65rem}.space-tasks{margin:0;padding:0;list-style:none}.space-task{align-items:center;gap:.5rem;display:flex}.space-task+.space-task{border-top:1px solid var(--border)}.space-task__check{cursor:pointer;flex:1;align-items:flex-start;gap:.6rem;min-width:0;padding:.62rem 0;display:flex}.space-task__check input{opacity:0;width:1px;height:1px;position:absolute}.space-task__box{border:2px solid var(--border-strong);color:#0000;width:21px;height:21px;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);border-radius:6px;flex:none;justify-content:center;align-items:center;margin-top:.05rem;display:inline-flex}.space-task__check input:focus-visible+.space-task__box{outline:2px solid var(--accent);outline-offset:2px}.space-task.is-done .space-task__box{background:var(--ok);border-color:var(--ok);color:var(--on-accent)}.space-task__text{flex-direction:column;min-width:0;display:flex}.space-task__label{font-size:.88rem;font-weight:600}.space-task.is-done .space-task__label{color:var(--text-3);text-decoration:line-through}.space-note-hint{color:var(--text-3);align-items:center;gap:.35rem;margin:.7rem 0 0;font-size:.72rem;display:flex}.space-note-hint svg{flex:none}.space-reminders{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.space-reminders li{color:var(--text-2);align-items:flex-start;gap:.5rem;font-size:.86rem;display:flex}.space-reminders svg{color:var(--warn);flex:none;margin-top:.15rem}.space-timetable{flex-direction:column;gap:.55rem;display:flex}.space-timetable__day{border-radius:var(--r-sm);border:1px solid var(--border);padding:.5rem .65rem}.space-timetable__day.is-today{border-color:var(--accent);background:var(--accent-soft)}.space-timetable__day h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.78rem;display:flex}.space-timetable__today{letter-spacing:.02em;border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);text-transform:none;padding:.05rem .35rem;font-size:.66rem}.space-timetable__day ul{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.space-timetable__day li{align-items:baseline;gap:.6rem;display:flex}.space-timetable__time{width:3.1rem;color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-size:.76rem;font-weight:700}.space-timetable__what{flex-direction:column;font-size:.86rem;display:flex}.space-goals{flex-direction:column;gap:.7rem;display:flex}.space-goal{grid-template-columns:1fr auto;align-items:center;gap:.2rem .6rem;display:grid}.space-goal__label{font-size:.84rem;font-weight:600}.space-goal__value{font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem;font-weight:700}.space-goal__track{grid-column:1/-1}.sticky-wall{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem;display:grid}.sticky{border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);flex-direction:column;gap:.35rem;min-height:6.5rem;padding:.7rem .7rem .6rem;display:flex;position:relative}.sticky p{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;margin:0;font-size:.82rem;line-height:1.45}.sticky--accent{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.sticky--ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.sticky--warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.sticky--danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent)}.sticky--info{background:var(--info-soft);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.sticky__pin{color:var(--text-3);position:absolute;top:.4rem;right:.45rem}.sticky__from{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-size:.66rem;font-weight:700}.sticky__tools{opacity:0;transition:opacity var(--t-fast) var(--ease);justify-content:flex-end;gap:.15rem;display:flex}.sticky:hover .sticky__tools,.sticky:focus-within .sticky__tools{opacity:1}@media (pointer:coarse){.sticky__tools{opacity:1}}.sticky__input{width:100%;color:inherit;font:inherit;resize:vertical;background:0 0;border:0;flex:1;padding:0;font-size:.82rem;line-height:1.45}.sticky__input:focus{outline:none}.sticky--new{border-style:dashed;border-color:var(--border-strong);background:0 0}.sticky__new-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.sticky__tones{gap:.2rem;display:flex}.sticky__tone{cursor:pointer;background:var(--surface-3);border:2px solid #0000;border-radius:50%;width:17px;height:17px;padding:0}.sticky__tone--accent{background:var(--accent)}.sticky__tone--ok{background:var(--ok)}.sticky__tone--warn{background:var(--warn)}.sticky__tone--danger{background:var(--danger)}.sticky__tone--info{background:var(--info)}.sticky__tone.is-active{border-color:var(--text)}.space-pad__prompt{border-radius:var(--r-sm);background:var(--accent-soft);color:var(--text-2);gap:.55rem;margin-bottom:.6rem;padding:.6rem .7rem;display:flex}.space-pad__prompt svg{color:var(--accent);flex:none;margin-top:.15rem}.space-pad__prompt p{margin:0;font-size:.85rem;line-height:1.5}.space-pad__area{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text);font-family:var(--font-serif);resize:vertical;padding:.75rem .85rem;font-size:1rem;line-height:1.7}.space-pad__area:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.space-pad__foot{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.space-pad__track{flex:1;max-width:12rem}.space-pad__status{color:var(--text-3);text-align:right;min-width:3.6rem;font-size:.72rem;font-weight:700}.space-pad__status--saved{color:var(--ok)}.space-keypoints{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.space-keypoints li{align-items:flex-start;gap:.5rem;font-size:.88rem;display:flex}.space-keypoints svg{color:var(--ok);flex:none;margin-top:.2rem}.space-figure,.space-gallery figure{margin:0}.space-figure img,.space-gallery img{border-radius:var(--r-sm);width:100%;height:auto;display:block}.space-figure figcaption,.space-gallery figcaption{color:var(--text-3);margin-top:.35rem;font-size:.75rem}.space-gallery{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.6rem;display:grid}.space-links{flex-direction:column;gap:.45rem;display:flex}.space-link{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);align-items:center;gap:.65rem;padding:.6rem .7rem;text-decoration:none;display:flex}.space-link:hover{border-color:var(--accent);background:var(--accent-soft)}.space-link__icon{color:var(--accent);flex:none;display:inline-flex}.space-link__text{flex-direction:column;flex:1;min-width:0;display:flex}.space-link__text strong{font-size:.88rem}.space-link__text span{color:var(--text-3);font-size:.76rem}.space-embed__intro{color:var(--text-3);margin:0 0 .5rem;font-size:.82rem}.space-section{margin-top:calc(var(--space-gap) * 1.6)}.space-page-grid{gap:var(--space-gap);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.space-page-card{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);align-items:center;gap:.7rem;padding:.85rem;text-decoration:none;display:flex}.space-page-card:hover{border-color:var(--accent)}.space-page-card__icon{border-radius:var(--r-sm);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.space-page-card__body{flex-direction:column;flex:1;min-width:0;display:flex}.space-page-card__body strong{font-size:.9rem}.space-page-card__body>span:last-child{color:var(--text-3);font-size:.76rem}.space-page-card__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0;font-size:.68rem;font-weight:700}.space-papers__meta{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.85rem;display:inline-flex}.space-papers__meta a{align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.space-papers__done{color:var(--ok);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.space-papers__empty{border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-3);align-items:center;gap:.55rem;margin:0;padding:.85rem;font-size:.88rem;display:flex}.space-paper{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);transition:border-color var(--t-fast) var(--ease);align-items:center;gap:.6rem;padding:.6rem .6rem .6rem .85rem;display:flex}.space-paper:hover{border-color:var(--accent)}.space-paper.is-done{border-color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.space-paper__body{min-width:0;color:var(--text);flex-direction:column;flex:1;text-decoration:none;display:flex}.space-paper__body:hover{text-decoration:none}.space-paper__body strong{font-size:.9rem}.space-paper__body>span:last-child{color:var(--text-3);font-size:.76rem}.space-paper .paper-bookmark{margin-left:0}.space-class-list{gap:var(--space-gap);flex-direction:column;display:flex}.space-class{padding:var(--space-pad);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface)}.space-class__head{align-items:flex-start;gap:.7rem;display:flex}.space-class__head h3{margin:.1rem 0 .15rem;font-size:1rem}.space-class__head p:last-child{color:var(--text-3);margin:0;font-size:.82rem}.space-class__links{flex-wrap:wrap;gap:.45rem;margin-top:.7rem;display:flex}.space-sheet__scrim{z-index:var(--z-dialog);background:var(--scrim);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.space-sheet{background:var(--surface);width:min(30rem,100%);max-height:min(44rem,92vh);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow:hidden}.space-sheet__head,.space-sheet__foot{flex:none;align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.space-sheet__head{border-bottom:1px solid var(--border)}.space-sheet__head h2{flex:1;align-items:center;gap:.45rem;margin:0;font-size:1rem;display:flex}.space-sheet__body{-webkit-overflow-scrolling:touch;padding:1rem;overflow-y:auto}.space-sheet__foot{border-top:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}.space-sheet__foot .small{flex:1;min-width:10rem;margin:0}.space-sheet__danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.space-banner-picker{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.45rem;display:grid}.space-banner-option{border-radius:var(--r-sm);cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;gap:.25rem;padding:0;display:flex;overflow:hidden}.space-banner-option.is-active{border-color:var(--accent)}.space-banner-option__art{border-radius:var(--r-sm);border:1px solid var(--border);background-color:var(--accent-soft);height:2.6rem;display:block}.space-banner-option__label{color:var(--text-2);text-align:center;font-size:.7rem}.space-emoji-picker{grid-template-columns:repeat(auto-fill,minmax(2.6rem,1fr));gap:.35rem;margin-top:.5rem;display:grid}.space-emoji{border-radius:var(--r-sm);border:2px solid var(--border);background:var(--surface-2);min-height:2.6rem;color:var(--accent);cursor:pointer;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.space-emoji.is-active{border-color:var(--accent);background:var(--accent-soft)}.space-preview__bar{border-radius:var(--r-md);border:1px dashed var(--border-strong);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .75rem;display:flex}.space-preview__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-right:.25rem;font-size:.72rem;font-weight:700}.space-preview__note{color:var(--text-3);flex-basis:100%;margin:.15rem 0 0;font-size:.78rem}@media (max-width:900px){.space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.space-widget--third,.space-widget--half{grid-column:span 1}.space-widget--two-thirds,.space-widget--full{grid-column:span 2}}@media (max-width:640px){.student-space{--space-pad:.9rem;border-radius:var(--r-md)}.space-grid{grid-template-columns:minmax(0,1fr)}.space-widget--third,.space-widget--half,.space-widget--two-thirds,.space-widget--full{grid-column:span 1}.space-hero__body{flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:-1.9rem}.space-avatar{border-radius:18px;width:60px;height:60px;font-size:1.3rem}.space-hero__actions{width:100%}.space-hero__actions .btn{flex:1;justify-content:center}.sticky-wall{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.space-pad__area,.sticky__input{font-size:16px}.cal__day{min-height:3rem}.cal__entries{flex-flow:wrap;gap:2px;padding:0 .1rem}.cal-entry__label{display:none}.cal-entry{border-left-width:0;border-radius:4px;justify-content:center;width:15px;height:15px;padding:0}.cal-entry--more{width:auto;padding:0 .15rem;font-size:.52rem}.cal__punches{padding:0 8%}}@media (max-height:460px){.space-sheet{max-height:96vh}.space-sheet__body{padding:.6rem 1rem}}@media (prefers-reduced-motion:reduce){.space-widget,.space-link,.space-page-card,.space-paper,.space-task__box,.sticky__tools{transition:none}}.papers-filters{gap:.9rem;margin-bottom:1.25rem;padding:1rem;display:grid}.papers-filters__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;display:grid}.filter-field{flex-direction:column;gap:.25rem;display:flex}.filter-field>span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-size:.72rem;font-weight:700}.filter-field select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:40px;color:var(--text);padding:.3rem .6rem;font-size:.88rem}.filter-field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.papers-filters__foot{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filter-check{color:var(--text-2);cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-size:.88rem;font-weight:600;display:inline-flex}.filter-check input{width:17px;height:17px;accent-color:var(--accent)}.papers-view{flex:none}.papers-view .seg__btn{padding:0 .7rem}@media (pointer:coarse){.papers-view .seg__btn{min-height:44px}}.papers-filters__reset{min-height:44px}.papers-filters__count{color:var(--accent-strong);background:var(--accent-soft);border-radius:var(--r-full);margin-left:auto;padding:.2rem .7rem;font-size:.85rem;font-weight:700}.badge--warn{background:var(--warn-soft);color:var(--warn)}.papers-list{gap:.65rem;display:grid}.papers-list--grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:.75rem}.paper-card{padding:.9rem 1.1rem}.papers-list--grid .paper-card{flex-direction:column;display:flex}.paper-card__head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.paper-card__title{margin-right:.25rem;font-size:1.02rem;font-weight:650}.paper-card__sub{color:var(--text-3);margin:.15rem 0 .6rem;font-size:.82rem}.papers-list--grid .paper-card__title{flex-basis:100%;margin-right:0;font-size:.98rem}.paper-card__docs{flex-wrap:wrap;gap:.4rem;display:flex}.papers-list--grid .paper-card__docs{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:auto}.papers-list--grid .doc-chip{justify-content:flex-start}.papers-list--grid .doc-chip__size{margin-left:auto;padding-left:.4rem}.paper-tick,.paper-bookmark{flex:none}.paper-bookmark{margin-left:auto}@media (min-width:40.01rem){.papers-list:not(.papers-list--grid) .paper-card--markable .paper-card__sub,.papers-list:not(.papers-list--grid) .paper-card--markable .paper-card__docs{padding-left:calc(26px + .5rem)}}.papers-list--grid .paper-tick{order:-2}.papers-list--grid .paper-bookmark{order:-1}@media (max-width:40rem){.paper-card--markable .paper-tick{order:-2}.paper-card--markable .paper-bookmark{order:-1}.paper-card--markable .paper-card__title{flex-basis:100%;margin-right:0}}.paper-card.is-done{border-color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--border))}.paper-tick{cursor:pointer;place-items:center;width:26px;height:26px;display:inline-grid;position:relative}.paper-tick__input{opacity:0;cursor:pointer;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.paper-tick__box{border:2px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:#0000;width:22px;height:22px;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);place-items:center;display:grid}.paper-tick:hover .paper-tick__box{border-color:var(--ok)}.paper-tick__input:focus-visible+.paper-tick__box{outline:2px solid var(--accent);outline-offset:2px}.paper-tick.is-done .paper-tick__box{background:var(--ok);border-color:var(--ok);color:var(--surface)}[data-fx=rich] .paper-tick.is-done .paper-tick__box svg{animation:fx-pop-icon .34s var(--ease-spring)}.paper-bookmark{border-radius:var(--r-full);width:34px;height:34px;color:var(--text-3);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.paper-bookmark:hover{color:var(--accent-strong);background:var(--accent-soft)}.paper-bookmark.is-on{color:var(--accent)}.paper-bookmark.is-on svg path{fill:currentColor}@media (pointer:coarse){.paper-tick{width:44px;height:44px;margin:-9px}.paper-bookmark{width:44px;height:44px;margin-top:-5px;margin-bottom:-5px;margin-right:-5px}}.papers-marks-error{border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);align-items:center;gap:.45rem;margin:0 0 .75rem;padding:.55rem .8rem;font-size:.88rem;font-weight:600;display:flex}.doc-chip{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);min-height:38px;color:var(--text-2);transition:border-color var(--t-fast), background var(--t-fast), color var(--t-fast);align-items:center;gap:.45rem;padding:.3rem .75rem;font-size:.84rem;font-weight:600;display:inline-flex}.doc-chip:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft);text-decoration:none}.doc-chip__size{color:var(--text-3);font-size:.72rem;font-weight:500}.doc-chip--memo svg{color:var(--ok)}.doc-chip--question svg,.doc-chip--combined svg{color:var(--accent)}.doc-chip--support{border-style:dashed}.doc-chip--split{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.doc-chip--split:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--on-accent)}.doc-chip--split svg{color:currentColor}@media (pointer:coarse){.doc-chip{min-height:44px}}.viewer-shell{height:calc(100vh - var(--topbar-h));height:calc(100dvh - var(--topbar-h));flex-direction:column;gap:.65rem;width:100%;max-width:120rem;margin:0 auto;padding:.65rem;display:flex}.viewer-switch{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);padding:3px;display:flex}.viewer-switch__btn{border-radius:var(--r-full);min-height:36px;color:var(--text-2);padding:.2rem 1rem;font-size:.86rem;font-weight:650}.viewer-switch__btn.is-active{background:var(--accent);color:var(--on-accent)}.viewer-split{flex:1;grid-template-columns:1fr 1fr;gap:.65rem;min-height:0;display:grid}.viewer-split--single{grid-template-columns:1fr}.viewer-stack{flex:1;min-height:0;position:relative}.viewer-stack>.viewer-pane{position:absolute;top:0;bottom:0;left:0;right:0}.viewer-stack>.viewer-pane.is-hidden{visibility:hidden;pointer-events:none}.viewer-pane{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.viewer-pane__head{border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;align-items:center;gap:.5rem;padding:.45rem .7rem;display:flex}.viewer-doc-select{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-width:0;max-width:100%;min-height:34px;color:var(--text-2);flex:1;padding:.15rem .4rem;font-size:.8rem}.pdf-viewer{flex-direction:column;flex:1;min-height:0;display:flex}.pdf-viewer__bar{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:.5rem;padding:.3rem .55rem;display:flex}.pdf-viewer__label{min-width:0;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.76rem;overflow:hidden}.pdf-viewer__controls{flex:none;align-items:center;gap:.1rem;display:flex}.pdf-viewer__pageinfo{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap;padding:0 .35rem;font-size:.76rem;font-weight:600}.pdf-viewer__scroll{overflow-anchor:none;overscroll-behavior:contain;background:var(--surface-3);flex:1;min-height:0;padding:12px;position:relative;overflow:auto}.pdf-page{box-shadow:var(--shadow-1);background:#fff;border-radius:3px;margin:0 auto 12px;overflow:hidden}.pdf-page canvas{display:block}.pdf-viewer__loading,.pdf-viewer__error{height:100%;min-height:200px;color:var(--text-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;display:flex}.sidebar__fill-panel{height:100%}.sidebar__fill-panel[hidden]{display:none}.memo-dock{flex-direction:column;height:100%;display:flex}.memo-dock__head{border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;align-items:center;gap:.5rem;padding:.45rem .5rem .45rem .9rem;display:flex}.memo-dock__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;font-weight:650;overflow:hidden}.memo-dock .pdf-viewer{flex:1;min-height:0}.memo-dock__swap{width:100%;min-height:36px;color:var(--accent-strong);background:var(--accent-soft);border-bottom:1px solid var(--border);transition:background var(--t-fast);flex:none;justify-content:center;align-items:center;gap:.4rem;font-size:.78rem;font-weight:650;display:flex}.memo-dock__swap:hover{background:var(--accent-soft-2)}.memo-empty{text-align:center;flex-direction:column;align-items:center;gap:.8rem;padding:2.2rem 1.4rem;display:flex}.memo-empty__icon{border-radius:var(--r-full);background:var(--accent-soft);width:52px;height:52px;color:var(--accent-strong);place-items:center;display:grid}.memo-empty__title{margin:0;font-size:.92rem;font-weight:650}.ctrl-group{border-bottom:1px solid var(--border);margin-bottom:1.2rem;padding-bottom:.4rem}.ctrl-group__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.side-note{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);border-left-width:3px;margin-bottom:.5rem;overflow:hidden}.side-note[data-kind]{border-left-color:var(--hl-line)}.side-note summary{cursor:pointer;align-items:center;gap:.55rem;min-height:44px;padding:.55rem .7rem;list-style:none;display:flex}.side-note summary::-webkit-details-marker{display:none}.side-note summary:hover{background:var(--surface-2)}.side-note summary .badge{flex:none}.side-note__snippet{min-width:0;color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:.83rem;font-style:italic;display:-webkit-box;overflow:hidden}.side-note__chevron{color:var(--text-3);transition:transform var(--t-med) var(--ease);flex:none}.side-note[open] .side-note__chevron{transform:rotate(180deg)}.side-note__body{border-top:1px solid var(--border);padding:.1rem .85rem .85rem}.side-note__section h4{text-transform:uppercase;letter-spacing:.07em;color:var(--accent-strong);margin:.8rem 0 .25rem;font-size:.7rem;font-weight:750}.side-note__section p{color:var(--text-2);margin:0;font-size:.86rem}.side-note__section ul{color:var(--text-2);margin:0;padding-left:1.15rem;font-size:.86rem}.side-note__section dl{margin:0;font-size:.86rem}.side-note__section dt{font-weight:650}.side-note__section dd{color:var(--text-2);margin:0 0 .4rem}@media (max-width:640px){.viewer-shell{gap:.45rem;padding:.4rem}}@media (max-height:480px) and (orientation:landscape){.viewer-shell{gap:.3rem;padding:.3rem}.viewer-pane__head{padding:.25rem .5rem}.pdf-viewer__bar{padding:.15rem .4rem}}.ref-sheet{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:.55rem;overflow:hidden}.ref-sheet summary{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;padding:.6rem .75rem;font-size:.86rem;font-weight:650;list-style:none;display:flex}.ref-sheet summary::-webkit-details-marker{display:none}.ref-sheet summary:hover{background:var(--surface-2)}.ref-sheet__title{flex:1;min-width:0}.ref-sheet[open] .side-note__chevron{transform:rotate(180deg)}.ref-sheet__body{border-top:1px solid var(--border);padding:0 .85rem .85rem}.redox-table{border-collapse:collapse;width:100%;font-size:.8rem}.redox-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);border-bottom:2px solid var(--border-strong);padding:.3rem .4rem;font-size:.68rem}.redox-table th:last-child,.redox-table td:last-child{text-align:right;font-family:var(--font-mono);white-space:nowrap}.redox-table td{border-bottom:1px solid var(--border);color:var(--text-2);padding:.28rem .4rem}.redox-table td:first-child{color:var(--text)}.redox-table tr.is-reference td{background:var(--accent-soft);font-weight:650}.ref-card__tex .katex-display,.ref-card__tex .katex-display>.katex{text-align:left}.ref-card .katex{font-size:.98em}.const__sym .katex{font-size:1em}.redox-table thead th{background:var(--surface);z-index:1;position:-webkit-sticky;position:sticky;top:0}.redox-table tbody tr:nth-child(odd) td{background:var(--surface-2)}.redox-table tbody tr:hover td{background:var(--surface-3)}.redox-table tr.is-reference td,.redox-table tr.is-reference:hover td{background:var(--accent-soft);font-weight:650}.redox-e--neg{color:var(--info);font-weight:600}.redox-e--pos{color:var(--danger);font-weight:600}.viewer-shell.is-fullscreen{z-index:var(--z-dialog);background:var(--surface);max-width:none;height:auto;padding:max(.5rem, env(safe-area-inset-top,0px)) max(.5rem, env(safe-area-inset-right,0px)) max(.5rem, env(safe-area-inset-bottom,0px)) max(.5rem, env(safe-area-inset-left,0px));position:fixed;top:0;bottom:0;left:0;right:0}.viewer-pane{position:relative;container-type:inline-size}.pdf-viewer__bar.viewer-pane__head{z-index:3;flex-wrap:wrap;gap:.25rem;padding:.25rem .4rem;position:relative}.viewer-toolbar__start,.viewer-toolbar__actions{flex:none;align-items:center;gap:.15rem;display:flex}.viewer-toolbar__start{flex:1 0 auto}.viewer-pane__head .pdf-viewer__controls{margin-left:auto}.viewer-pane__head .icon-btn{width:36px;min-width:36px;height:36px}.viewer-pane__head .viewer-switch__btn{padding-inline-start:.4rem;padding-inline-end:.4rem}.viewer-details>summary{cursor:pointer;list-style:none}.viewer-details>summary::-webkit-details-marker{display:none}.viewer-details[open]>summary{background:var(--accent-soft);color:var(--accent)}.viewer-details__content{z-index:3;max-height:min(24rem,60vh);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);max-height:min(24rem,60dvh);box-shadow:var(--shadow-2);overflow-wrap:anywhere;padding:.9rem;font-size:.85rem;position:absolute;top:calc(100% + .25rem);left:.4rem;right:.4rem;overflow:auto}.viewer-details__content p{color:var(--text-2);margin:.4rem 0}.viewer-details__content label{gap:.35rem;margin-top:.75rem;display:grid}@container (width<=540px){.viewer-pane__head .pdf-viewer__controls{border-top:1px solid var(--border);flex-basis:100%;order:3;justify-content:center;margin-left:0;padding-top:.2rem}}@media (pointer:coarse){.viewer-pane__head .icon-btn{width:44px;min-width:44px;height:44px}.viewer-pane__head .viewer-switch__btn{min-height:44px}.viewer-pane__head .viewer-switch{padding:0}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.is-theming,html.is-theming *,html.is-theming :before,html.is-theming :after{transition:background-color .42s var(--ease), border-color .42s var(--ease), color .42s var(--ease), fill .42s var(--ease), stroke .42s var(--ease), box-shadow .42s var(--ease), outline-color .42s var(--ease)!important}[data-fx=lite]{scroll-behavior:auto}[data-fx=lite] *{-webkit-backdrop-filter:none!important}[data-fx=lite] .card--hover:hover{transform:none}[data-fx=rich]{--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;--font-heading:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif}[data-fx=rich] body{transition:background-color .35s var(--ease), color .35s var(--ease)}[data-fx=rich] .topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4)}[data-fx=rich] .jumpbar{background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.4)}[data-fx=rich] .btn--primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);box-shadow:0 2px 10px color-mix(in srgb, var(--accent) 32%, transparent);transition:box-shadow var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);border-color:#0000}[data-fx=rich] .btn--primary:hover{filter:brightness(1.06);box-shadow:0 4px 18px color-mix(in srgb, var(--accent) 45%, transparent)}[data-fx=rich] .btn:active,[data-fx=rich] .icon-btn:active,[data-fx=rich] .calc-key:active,[data-fx=rich] .jump-chip:active,[data-fx=rich] .quiz-option:active{transform:scale(.965)}[data-fx=rich] .btn,[data-fx=rich] .icon-btn,[data-fx=rich] .calc-key{transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform 90ms var(--ease), box-shadow var(--t-fast) var(--ease)}[data-fx=rich] .card--hover{transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-med) var(--ease), transform var(--t-med) var(--ease-spring)}[data-fx=rich] .card--hover:hover{box-shadow:var(--shadow-2), 0 10px 32px color-mix(in srgb, var(--accent) 16%, transparent);transform:translateY(-4px)}[data-fx=rich] .embed,[data-fx=rich] .interactive{transition:border-color var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease)}[data-fx=rich] .embed:hover,[data-fx=rich] .interactive:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:var(--shadow-1), 0 8px 30px color-mix(in srgb, var(--accent) 12%, transparent)}[data-fx=rich] .tree__lesson{transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), padding-left var(--t-fast) var(--ease)}[data-fx=rich] .tree__lesson:hover{padding-left:1.15rem}[data-fx=rich] .progress-track__fill{position:relative;overflow:hidden}[data-fx=rich] .progress-track__fill:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%) 0 0/220% 100%;animation:2.6s linear infinite fx-shimmer;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fx-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}[data-fx=rich] .hero{isolation:isolate;position:relative;overflow:hidden}[data-fx=rich] .hero>*{z-index:2;position:relative}[data-fx=rich] .hero:before,[data-fx=rich] .hero:after{content:"";z-index:1;filter:blur(70px);opacity:.5;pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute}[data-fx=rich] .hero:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 55%, transparent) 0%, transparent 65%);animation:16s ease-in-out infinite alternate fx-drift-a;top:-180px;right:-80px}[data-fx=rich] .hero:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent-strong) 40%, transparent) 0%, transparent 65%);animation:22s ease-in-out infinite alternate fx-drift-b;bottom:-220px;left:18%}@keyframes fx-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(-70px,40px)scale(1.15)}}@keyframes fx-drift-b{0%{transform:translate(0)scale(1.1)}to{transform:translate(90px,-30px)scale(.95)}}[data-fx=rich] .main__inner{animation:fx-rise .42s var(--ease) both}@keyframes fx-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}[data-fx=rich] .card-grid>*,[data-fx=rich] .unit-block .lesson-row{animation:fx-rise .46s var(--ease) both}[data-fx=rich] .card-grid>:first-child{animation-delay:40ms}[data-fx=rich] .card-grid>:nth-child(2){animation-delay:90ms}[data-fx=rich] .card-grid>:nth-child(3){animation-delay:.14s}[data-fx=rich] .card-grid>:nth-child(4){animation-delay:.19s}[data-fx=rich] .card-grid>:nth-child(5){animation-delay:.24s}[data-fx=rich] .card-grid>:nth-child(6){animation-delay:.29s}[data-fx=rich] .lesson-row:nth-child(2){animation-delay:60ms}[data-fx=rich] .lesson-row:nth-child(3){animation-delay:.12s}[data-fx=rich] .lesson-row:nth-child(4){animation-delay:.18s}[data-fx=rich] .jumpbar.is-open .jump-chip{animation:fx-rise .3s var(--ease) both}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(2){animation-delay:30ms}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(3){animation-delay:60ms}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(4){animation-delay:90ms}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(5){animation-delay:.12s}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(6){animation-delay:.15s}[data-fx=rich] .jumpbar.is-open .jump-chip:nth-child(n+7){animation-delay:.18s}[data-fx=rich] .search-dialog{animation:fx-pop .24s var(--ease-spring) both}[data-fx=rich] .dialog-root__scrim{animation:fx-fade .24s var(--ease) both}@keyframes fx-pop{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fx-fade{0%{opacity:0}to{opacity:1}}@media (max-width:1199.98px){[data-fx=rich] .sidebar.is-open{transition:transform var(--t-med) var(--ease-spring)}}[data-fx=rich] .quiz-option.is-correct{animation:fx-pulse .42s var(--ease)}[data-fx=rich] .quiz-option.is-wrong{animation:fx-shake .36s var(--ease)}@keyframes fx-pulse{0%{transform:scale(1)}35%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes fx-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}55%{transform:translate(4px)}80%{transform:translate(-2px)}}[data-fx=rich] .lesson-section__done-btn.is-done svg{animation:fx-pop-icon .34s var(--ease-spring)}@keyframes fx-pop-icon{0%{transform:scale(.4)}to{transform:scale(1)}}[data-fx=rich] .reader__paper{animation:fx-rise .32s var(--ease) both}[data-fx=rich] .reader__paper[data-turn="1"]{animation:fx-page-forward .3s var(--ease) both}[data-fx=rich] .reader__paper[data-turn="-1"]{animation:fx-page-back .3s var(--ease) both}@keyframes fx-page-forward{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:translate(0)}}@keyframes fx-page-back{0%{opacity:0;transform:translate(-44px)}to{opacity:1;transform:translate(0)}}[data-fx=rich] .note-sheet{animation:fx-sheet-up .28s var(--ease-spring) both}[data-fx=rich] .note-sheet__scrim{animation:fx-fade .24s var(--ease) both}@keyframes fx-sheet-up{0%{opacity:0;transform:translate(-50%)translateY(28px)}to{opacity:1;transform:translate(-50%)translateY(0)}}[data-fx=rich] .subject-card__icon,[data-fx=rich] .tree__subject-icon{background:linear-gradient(140deg, var(--accent-soft) 0%, var(--accent-soft-2) 100%)}@media (hover:hover) and (pointer:fine){[data-fx=rich] .figure img,[data-fx=rich] .figure>div>svg{transition:transform .25s var(--ease), box-shadow .25s var(--ease)}[data-fx=rich] .figure img:hover,[data-fx=rich] .figure>div>svg:hover{box-shadow:var(--shadow-3);transform:scale(1.02)}[data-fx=rich] .hero-slide img{transition:transform 1.2s var(--ease)}[data-fx=rich] .hero-carousel:hover .hero-slide.is-active img{transform:scale(1.035)}[data-fx=rich] .formula-box{transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease)}[data-fx=rich] .formula-box:hover{box-shadow:var(--shadow-2);border-color:var(--accent);transform:scale(1.025)}[data-fx=rich] .live-eqs__row{transition:transform .18s var(--ease), background .18s var(--ease);border-radius:var(--r-sm)}[data-fx=rich] .live-eqs__row:hover{background:var(--accent-soft);transform:scale(1.03)}[data-fx=rich] .stat-tile,[data-fx=rich] .doc-chip{transition:transform .18s var(--ease), box-shadow .18s var(--ease)}[data-fx=rich] .stat-tile:hover{box-shadow:var(--shadow-2);transform:translateY(-3px)}[data-fx=rich] .doc-chip:hover{box-shadow:var(--shadow-1);transform:translateY(-2px)}[data-fx=rich] .keypoints li{transition:transform .15s var(--ease)}[data-fx=rich] .keypoints li:hover{transform:translate(4px)}[data-fx=rich] .embed__play{transition:transform .2s var(--ease)}[data-fx=rich] .embed__facade:hover .embed__play{transform:scale(1.12)}}[data-fx=rich][data-theme=light]{--tint-inset:6%;--tint-sunken:12%;--tint-line:17%;--tint-line-strong:34%;--tint-badge:12%;--tint-wash:15%;--shadow-1:0 1px 2px color-mix(in srgb, var(--accent) 13%, transparent), 0 1px 4px color-mix(in srgb, var(--accent) 11%, transparent);--shadow-2:0 4px 14px color-mix(in srgb, var(--accent) 20%, transparent), 0 2px 5px color-mix(in srgb, var(--accent) 12%, transparent);--shadow-3:0 16px 44px color-mix(in srgb, var(--accent) 30%, transparent), 0 4px 12px color-mix(in srgb, var(--accent) 15%, transparent);--surface-2:color-mix(in srgb, var(--accent) var(--tint-inset), var(--surface));--surface-3:color-mix(in srgb, var(--accent) var(--tint-sunken), var(--surface));--border:color-mix(in srgb, var(--accent) var(--tint-line), var(--surface-3));--border-strong:color-mix(in srgb, var(--accent) var(--tint-line-strong), var(--surface-3));--accent-soft:color-mix(in srgb, var(--accent) var(--tint-badge), var(--surface));--accent-soft-2:color-mix(in srgb, var(--accent) 22%, var(--surface));--scrim:color-mix(in srgb, var(--accent) 28%, #12162285)}[data-fx=rich][data-theme=light] body:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(68rem 46rem at 4% -6%, color-mix(in srgb, var(--accent) var(--tint-wash), transparent), transparent 62%), radial-gradient(56rem 42rem at 100% 4%, color-mix(in srgb, var(--accent-strong) 11%, transparent), transparent 58%);position:fixed;top:0;bottom:0;left:0;right:0}[data-fx=rich][data-theme=light] ::selection{background:color-mix(in srgb, var(--accent) 26%, var(--surface));color:var(--text)}[data-fx=rich][data-theme=light] .topbar{border-bottom-color:color-mix(in srgb, var(--accent) 28%, var(--border));box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 10%, transparent)}
