@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap";@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--background: #131313;--surface: #131313;--surface-dim: #131313;--surface-bright: #3A3939;--surface-container-lowest: #0E0E0E;--surface-container-low: #1C1B1B;--surface-container: #201F1F;--surface-container-high: #2A2A2A;--surface-container-highest: #353534;--surface-variant: #353534;--primary: #FFF6DF;--primary-container: #FFD700;--primary-fixed: #FFE16D;--primary-fixed-dim: #E9C400;--on-primary: #3A3000;--on-primary-container: #705E00;--on-primary-fixed: #221B00;--on-primary-fixed-variant: #544600;--inverse-primary: #705D00;--surface-tint: #E9C400;--secondary: #DBC677;--secondary-container: #544601;--secondary-fixed: #F8E290;--secondary-fixed-dim: #DBC677;--on-secondary: #3A3000;--on-secondary-container: #C9B468;--tertiary: #DEFCFF;--tertiary-container: #00F1FF;--tertiary-fixed: #79F5FF;--tertiary-fixed-dim: #00DBE8;--on-tertiary: #00363A;--on-tertiary-container: #006A70;--on-background: #E5E2E1;--on-surface: #E5E2E1;--on-surface-variant: #D0C6AB;--inverse-surface: #E5E2E1;--inverse-on-surface: #313030;--outline: #999077;--outline-variant: #4D4732;--error: #FFB4AB;--error-container: #93000A;--on-error: #690005;--on-error-container: #FFDAD6;--agent-director: #6366f1;--agent-stylist: #ec4899;--agent-set-designer: #14b8a6;--agent-props: #f59e0b;--agent-cinematographer: #3b82f6;--agent-synthesis: #8b5cf6;--agent-effect: #f97316;--font-headline: "Space Grotesk", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--font-body: "Inter", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--font-label: "Inter", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--display-lg: 3.5rem / 1.1 / 700;--display-md: 2.8rem / 1.1 / 700;--display-sm: 2.25rem / 1.2 / 600;--headline-lg: 2rem / 1.25 / 600;--headline-md: 1.75rem / 1.25 / 600;--headline-sm: 1.5rem / 1.3 / 500;--title-lg: 1.25rem / 1.4 / 500;--title-md: 1rem / 1.5 / 500;--title-sm: .875rem/ 1.5 / 500;--body-lg: 1rem / 1.6;--body-md: .875rem/ 1.6;--body-sm: .75rem / 1.6;--label-lg: .875rem/ 1.4 / 500 / .06em;--label-md: .75rem / 1.4 / 500 / .08em;--label-sm: .6875rem/1.4 / 500 / .1em;--radius-sm: 2px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-cinematic: 0 24px 48px rgba(0,0,0,.5);--shadow-glow-gold: 0 0 20px rgba(255,215,0,.3);--shadow-glow-gold-lg:0 0 40px rgba(255,215,0,.4);--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--ease-standard: cubic-bezier(.4, 0, .6, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .15s;--duration-base: .2s;--duration-medium: .3s;--duration-slow: .5s;--metallic-gradient: linear-gradient(45deg, #E9C400, #FFD700);--metallic-gradient-v: linear-gradient(135deg, #E9C400, #FFD700);--text-gradient-gold: linear-gradient(135deg, #E9C400, #FFD700);--film-strip: repeating-linear-gradient(to right, rgba(255,215,0,.25) 0, rgba(255,215,0,.25) 12px, transparent 12px, transparent 18px);--hero-protection: linear-gradient(90deg, rgba(17,16,15,.97) 0%, rgba(17,16,15,.86) 27%, rgba(17,16,15,.34) 47%, rgba(17,16,15,.62) 65%, rgba(17,16,15,.93) 100%);--hero-ember: radial-gradient(ellipse 48% 120% at 52% 48%, rgba(255,198,70,.12), transparent 68%)}html,body{background:var(--background);color:var(--on-surface);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.h-display{font-family:var(--font-headline);font-size:3.5rem;line-height:1.1;font-weight:700;letter-spacing:-.015em}.h-headline{font-family:var(--font-headline);font-size:1.75rem;line-height:1.25;font-weight:600;letter-spacing:-.005em}.h-title{font-family:var(--font-headline);font-size:1rem;line-height:1.5;font-weight:500}.t-body{font-family:var(--font-body);font-size:.875rem;line-height:1.6;font-weight:400}.t-body-lg{font-family:var(--font-body);font-size:1rem;line-height:1.6;font-weight:400}.t-label{font-family:var(--font-label);font-size:.75rem;line-height:1.4;font-weight:500;letter-spacing:.08em}.t-console{font-family:var(--font-mono);font-size:.6875rem;line-height:1.4;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--primary-container)}.t-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}::selection{background:#ffd7004d;color:var(--on-surface)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-container-highest);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--outline)}:focus-visible{outline:none;box-shadow:0 0 0 1px var(--background),0 0 0 2px var(--primary-fixed-dim);border-radius:var(--radius-sm)}*{box-sizing:border-box;margin:0}body{min-height:100vh;overflow-x:hidden}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,select,textarea{font:inherit;color:var(--on-surface)}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column;--math-scale: 1}.topnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:0 24px;height:58px;background:#f1ebf3ed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(74,92,106,.18)}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--metallic-gradient);color:var(--on-primary-fixed);display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 18px #102a431f}.brand-mark svg{width:100%;height:100%;display:block}.brand-mark rect{fill:#102a43}.brand-mark .logo-k{fill:none;stroke:#fff8ed;stroke-width:6.4;stroke-linecap:round;stroke-linejoin:round}.brand-mark .logo-orbit{fill:none;stroke:#2fb7a5;stroke-width:3.2;stroke-linecap:round}.brand-mark .logo-star{fill:#f2b84b;stroke:none}.brand-name{font-family:var(--font-headline);font-weight:700;font-size:19px;letter-spacing:-.02em;color:var(--primary-container);line-height:1.1}.brand-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--outline);text-transform:uppercase}.nav-items{display:flex;gap:2px;flex:1;min-width:0}.nav-item{padding:6px 12px;border-radius:var(--radius-md);font-size:13.5px;color:var(--on-surface-variant);transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard);white-space:nowrap}.nav-item:hover{background:var(--surface-container);color:var(--on-surface)}.nav-item.active{background:var(--surface-container-high);color:var(--primary-container)}.role-switch{display:flex;background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.25);border-radius:var(--radius-full);padding:2px;flex:none}.role-switch button{padding:4px 12px;border-radius:var(--radius-full);font-size:12px;color:var(--on-surface-variant);transition:all var(--duration-base) var(--ease-standard)}.role-switch button.active{background:var(--metallic-gradient);color:var(--on-primary-fixed);font-weight:600}.user-pill{font-size:12px;color:var(--on-surface-variant);display:flex;align-items:center;gap:7px;flex:none}.user-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:relative;flex:none}.user-menu-list{position:absolute;top:calc(100% + 10px);right:0;min-width:170px;padding:8px;border-radius:var(--radius-lg);background:#fffcf6f5;border:1px solid rgba(16,42,67,.12);box-shadow:0 18px 42px #102a4329;display:none;z-index:80}.user-menu:hover .user-menu-list,.user-menu:focus-within .user-menu-list{display:grid;gap:2px}.user-menu-list button{text-align:left;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;color:var(--on-surface-variant);white-space:nowrap}.user-menu-list button:hover{background:var(--surface-container);color:var(--primary-container)}.page{width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 96px;flex:1}.page-head{display:flex;align-items:baseline;gap:14px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-family:var(--font-headline);font-size:27px;font-weight:700;letter-spacing:-.01em}.page-sub{font-size:13px;color:var(--outline)}.page-head .right{margin-left:auto;display:flex;gap:10px}.row{display:flex;align-items:center;gap:10px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.muted{color:var(--on-surface-variant)}.dim{color:var(--outline)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.gold{color:var(--primary-container)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;background:var(--surface-container-high);color:var(--on-surface);border:1px solid rgba(74,92,106,.15);transition:all var(--duration-base) var(--ease-standard);white-space:nowrap}.btn:hover{background:var(--surface-container-highest)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--metallic-gradient);color:var(--on-primary-fixed);border-color:transparent;font-weight:600}.btn-primary:hover{filter:brightness(110%);background:var(--metallic-gradient);box-shadow:var(--shadow-glow-gold)}.btn-ghost{background:transparent;border-color:#4a5c6a4d;color:var(--on-surface-variant)}.btn-ghost:hover{background:var(--surface-container);color:var(--on-surface)}.btn-danger{background:transparent;border-color:#ffb4ab40;color:var(--error)}.btn-danger:hover{background:#93000a2e}.btn-sm{padding:5px 10px;font-size:12px}.tag{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:3px 10px;border-radius:7px;font-size:11.5px;font-weight:650;background:var(--surface-container-high);color:var(--on-surface-variant);border:1px solid rgba(74,92,106,.15);white-space:nowrap}.tag-gold{background:#dff7ef;color:#075f48;border-color:#71c8ac}.tag-cyan{background:#9ba8ab12;color:var(--tertiary-fixed);border-color:#9ba8ab33}.tag-section{background:#ffe5bd;color:#754102;border-color:#e19a2c}.tag-subsection{background:#dff0ff;color:#0e5f93;border-color:#7ab8e9}.tag-easy{background:#eee7ff;color:#54318c;border-color:#a88be6}.tag-medium{background:#dcf8d9;color:#23651d;border-color:#70c66d}.tag-hard{background:#ffe0df;color:#98211c;border-color:#e1706b}.tag-published{background:#dbf8e8;color:#116339;border-color:#5fc78d}.tag-draft{background:#fff1c6;color:#705104;border-color:#d9aa2c}.tag-disabled{background:#eceff1;color:#60707a;border-color:#c7d0d6}.tag-err{background:#93000a40;color:var(--error);border-color:#ffb4ab33}.tag-dim{color:var(--outline)}.tag-mono{font-family:var(--font-mono);letter-spacing:.04em}.chip{padding:4px 11px;border-radius:var(--radius-full);font-size:12px;border:1px solid rgba(74,92,106,.3);color:var(--on-surface-variant);transition:all var(--duration-base) var(--ease-standard)}.chip:hover{background:var(--surface-container);color:var(--on-surface)}.chip.active{background:#8f74a51f;border-color:#8f74a573;color:var(--primary-container)}.chip:disabled{opacity:.35;cursor:not-allowed}.pip{width:6px;height:6px;border-radius:50%;display:inline-block;flex:none}.pip-gold{background:var(--primary-container);box-shadow:0 0 6px #8f74a599}.pip-cyan{background:var(--tertiary-container)}.pip-dim{background:var(--outline)}.pip-err{background:var(--error)}.pip.pulse{animation:kpulse 2s infinite}@keyframes kpulse{0%,to{opacity:1}50%{opacity:.4}}.card{background:var(--surface-container-low);border:1px solid rgba(74,92,106,.15);border-radius:var(--radius-lg);transition:transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.card-pad{padding:20px}.card-hover:hover{transform:translateY(-2px);border-color:#99907759;box-shadow:0 16px 32px #0006}.card-title{font-family:var(--font-headline);font-size:16px;font-weight:600}.stat-num{font-family:var(--font-headline);font-size:34px;font-weight:700;color:var(--primary-container);font-variant-numeric:tabular-nums;line-height:1.1}.stat-label{font-size:12px;color:var(--on-surface-variant);margin-top:6px}.cat-card{background:var(--surface-container-lowest);border:1px solid rgba(16,42,67,.12);min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:var(--font-headline);color:var(--on-surface);text-align:center;overflow:hidden;position:relative;padding:24px}.cat-card:after{content:"";position:absolute;right:-24px;bottom:-42px;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,rgba(47,183,165,.18),transparent 70%)}.cat-card.live{border-color:#2fb7a559}.course-code{font-size:40px;font-weight:800;letter-spacing:0;color:var(--primary-container);position:relative;z-index:1;line-height:1}.course-title{font-size:17px;font-weight:700;color:var(--on-surface);position:relative;z-index:1;line-height:1.35;max-width:92%}.course-desc{font-size:13px;line-height:1.7;color:var(--on-surface-variant);position:relative;z-index:1;max-width:92%}.course-status{position:absolute;top:16px;right:16px;z-index:1;padding:4px 10px;border-radius:999px;background:#102a4314;color:var(--primary-container);font-size:12px;font-weight:700}.cat-card.live .course-status{background:#2fb7a524;color:#0f766e}.disabled-card{opacity:.62}.crumb-link{font-size:14px;color:var(--primary-container);font-weight:700}.paper-list-card{padding:34px 36px 42px}.paper-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(16,42,67,.12);margin-bottom:26px}.paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.paper-columns h2{font-size:24px;color:var(--on-surface);margin-bottom:18px}.paper-columns ul{padding-left:22px;display:grid;gap:11px}.paper-columns li{color:var(--on-surface);font-size:17px;line-height:1.35}.paper-columns button{color:#314a61;text-align:left}.past-paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:start}.past-paper-columns h3{margin:0 0 14px;font-size:22px;color:var(--on-surface)}.paper-link-list{display:grid;gap:10px}.paper-file{display:flex;align-items:center;gap:8px;color:#314a61;font-size:17px;line-height:1.35}.paper-file:before{content:"•";color:var(--on-surface);font-size:18px;line-height:1}.paper-file svg{color:var(--outline)}.paper-file:hover{color:var(--primary-container)}.paper-columns button:hover{color:var(--primary-container);text-decoration:underline;text-underline-offset:3px}.past-exam-section{padding:34px 36px 42px;border-bottom:1px solid rgba(16,42,67,.12);background:#fffcf694}.past-exam-code{display:block;font-family:var(--font-headline);font-size:30px;font-weight:800;color:var(--primary-container);line-height:1}.past-exam-name{display:block;margin-top:7px;font-size:15px;color:var(--on-surface-variant)}.past-browser-filters{display:grid;grid-template-columns:minmax(210px,1fr) minmax(160px,.7fr) auto auto;gap:12px;align-items:end;padding:14px;margin-bottom:20px;border:1px solid rgba(74,92,106,.14);border-radius:var(--radius-lg);background:var(--surface-container-low)}.paper-pair-table{display:grid;gap:0}.paper-pair-head,.paper-pair-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}.paper-pair-head{padding:0 0 12px;font-family:var(--font-headline);font-size:21px;font-weight:800;color:var(--on-surface)}.paper-pair-row{padding:9px 0;border-top:1px solid rgba(16,42,67,.08)}.paper-session{display:grid;gap:4px;font-size:14px;color:var(--on-surface-variant);font-weight:700}.paper-session strong{color:var(--on-surface);font-size:14.5px}.paper-session span{color:var(--outline);font-size:12px;font-weight:500}.paper-pair-cell{min-height:46px;display:flex;align-items:stretch}.paper-pair-file{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 12px;color:#314a61;font-size:14px;line-height:1.35;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-md);background:#fffcf69e}.paper-pair-file svg{color:var(--outline)}.paper-pair-file:hover{color:var(--primary-container);border-color:#2fb7a559;background:#eef7f5b8}.paper-pair-file.missing{color:var(--outline);border-style:dashed;background:transparent}.past-ledger-page{max-width:1220px}.past-ledger-filters{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(210px,.9fr) auto;gap:12px;align-items:end;padding:14px;margin-bottom:12px;border:1px solid rgba(74,92,106,.14);border-radius:var(--radius-lg);background:#fffcf6b8}.past-ledger-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.past-ledger-stats div{border:1px solid rgba(74,92,106,.14);border-radius:var(--radius-md);background:#fffcf69e;padding:13px 14px}.past-ledger-stats b{display:block;font-family:var(--font-headline);font-size:24px;line-height:1;color:var(--primary-container)}.past-ledger-stats span{display:block;margin-top:6px;color:var(--outline);font-size:12px}.past-ledger{border:1px solid rgba(74,92,106,.17);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-container-lowest);box-shadow:0 18px 42px #102a4314}.past-ledger-head,.past-ledger-row{display:grid;grid-template-columns:92px minmax(210px,1.1fr) 132px minmax(0,1fr) minmax(0,1fr) 112px;align-items:stretch}.past-ledger-head{background:#eef7f5e0;border-bottom:1px solid rgba(74,92,106,.18);color:var(--on-surface-variant);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.past-ledger-head div,.past-ledger-row>div{padding:12px 14px;border-right:1px solid rgba(74,92,106,.14)}.past-ledger-head div:last-child,.past-ledger-row>div:last-child{border-right:0}.past-ledger-row{min-height:70px;border-bottom:1px solid rgba(74,92,106,.09)}.past-ledger-row:last-child{border-bottom:0}.notes-ledger-teacher .past-ledger-head,.notes-ledger-teacher .past-ledger-row{grid-template-columns:92px minmax(210px,1.2fr) minmax(0,1fr) minmax(0,1fr)}.notes-ledger-student .past-ledger-head,.notes-ledger-student .past-ledger-row{grid-template-columns:92px minmax(210px,1.4fr) minmax(0,1fr)}.past-ledger-unit{display:inline-flex;width:48px;height:30px;align-items:center;justify-content:center;border-radius:var(--radius-md);background:#2fb7a51f;color:#0f766e;font-family:var(--font-mono);font-weight:800;font-size:12.5px}.past-ledger-title strong{display:block;font-size:14px;color:var(--on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past-ledger-title span,.past-ledger-session span{display:block;margin-top:4px;color:var(--outline);font-size:12px}.past-ledger-session strong{display:block;font-family:var(--font-mono);color:var(--on-surface);font-size:13px}.past-ledger-file{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid rgba(74,92,106,.18);border-radius:var(--radius-md);background:#fffcf6bd;color:#314a61;font-weight:700;font-size:13px}.past-ledger-file svg{color:var(--outline)}.past-ledger-file:hover{color:var(--primary-container);border-color:#2fb7a559;background:#eef7f5b8}.past-ledger-file.missing{border-style:dashed;background:transparent;color:var(--outline);font-weight:600}.past-ledger-status{display:grid;align-content:center;gap:6px;color:#0f766e;font-size:12px;font-weight:800}.past-ledger-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#0f766e;box-shadow:0 0 0 4px #2fb7a51f}.past-ledger-status.warn{color:var(--error)}.past-ledger-status.warn:before{background:var(--error);box-shadow:0 0 0 4px #93000a1a}.past-admin{display:grid;gap:18px}.past-admin-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 24px;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fffcf6c7,#eef7f5b8);box-shadow:0 18px 42px #102a4314}.past-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--outline);margin-bottom:6px}.past-admin-hero h2{font-size:25px;line-height:1.15;color:var(--primary-container);margin-bottom:7px}.past-admin-hero p{max-width:660px;color:var(--on-surface-variant);font-size:13.5px;line-height:1.65}.past-stats{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;min-width:330px}.past-stats div{padding:12px 14px;border-radius:var(--radius-md);background:#fffcf6b8;border:1px solid rgba(74,92,106,.14)}.past-stats b{display:block;font-family:var(--font-headline);font-size:24px;line-height:1;color:var(--primary-container)}.past-stats span{display:block;margin-top:7px;font-size:11.5px;color:var(--outline)}.past-admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;align-items:start}.past-library,.past-upload-panel{border:1px solid rgba(74,92,106,.15);border-radius:var(--radius-lg);background:var(--surface-container-low);padding:20px}.past-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(74,92,106,.12);margin-bottom:16px}.past-panel-head .dim{display:block;margin-top:5px;font-size:12.5px;line-height:1.5}.pe-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.pe-search{min-width:230px;height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(74,92,106,.22);border-radius:var(--radius-md);background:var(--surface-container-lowest);color:var(--outline)}.pe-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--on-surface);font-size:13px}.pe-tablecard{overflow:hidden;border:1px solid rgba(74,92,106,.15);border-radius:var(--radius-lg);background:var(--surface-container-lowest);box-shadow:0 18px 42px #102a4314}.pe-table{width:100%;border-collapse:collapse;font-size:13px}.pe-table th{padding:13px 16px;border-bottom:1px solid rgba(74,92,106,.18);background:#fff8edb8;color:var(--on-surface-variant);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.pe-table td{padding:13px 16px;border-bottom:1px solid rgba(74,92,106,.12);vertical-align:middle}.pe-table tbody tr:hover{background:#fff8ed8c}.pe-sub{color:var(--outline);font-size:12px}.pe-title{font-weight:700;color:var(--on-surface)}.pe-rowact{display:flex;justify-content:flex-end;gap:6px}.pe-iconbtn{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(74,92,106,.22);border-radius:var(--radius-md);background:var(--surface-container-lowest);color:var(--on-surface-variant)}.pe-iconbtn:hover{color:var(--primary-container);background:var(--surface-container)}.pe-iconbtn.danger:hover{color:var(--error);border-color:#93000a47;background:#93000a14}.pe-filechip,.pe-fileadd{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-md);padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.pe-filechip{border:1px solid rgba(47,183,165,.28);background:#2fb7a51a;color:#0f766e}.pe-filechip:hover{background:#2fb7a526}.pe-fileadd{border:1px dashed rgba(74,92,106,.36);background:transparent;color:var(--outline)}.pe-fileadd:hover{color:#0f766e;border-color:#2fb7a56b;background:#2fb7a512}.pe-drop{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px dashed rgba(74,92,106,.32);border-radius:var(--radius-md);background:var(--surface-container-lowest);cursor:pointer;transition:border-color var(--duration-base),background var(--duration-base)}.pe-drop-txt{min-width:0;display:grid;gap:4px}.pe-drop-txt b{font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:700;text-transform:uppercase}.pe-drop-action{color:var(--outline);font-size:11px;font-weight:700}.past-filter-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.6fr);gap:12px;margin-bottom:14px}.past-empty{min-height:230px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;color:var(--outline);border:1px dashed rgba(74,92,106,.25);border-radius:var(--radius-md);background:#fffcf661}.past-empty b{color:var(--on-surface);font-size:14px}.past-empty span{max-width:330px;font-size:12.5px;line-height:1.55}.past-file-table{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}.past-file-row{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(280px,1fr);gap:12px 18px;align-items:center;padding:14px;border:1px solid rgba(74,92,106,.13);border-radius:var(--radius-md);background:var(--surface-container-lowest)}.past-file-main{display:flex;align-items:center;gap:11px;min-width:0}.past-file-main strong{display:block;font-size:13.5px;color:var(--on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past-file-main span:not(.tag){display:block;margin-top:3px;color:var(--outline);font-size:12px}.past-file-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.past-file-slot{display:grid;gap:6px;min-width:0}.past-file-slot>span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--outline);font-weight:700}.past-file-link,.past-file-missing{min-height:31px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:var(--radius-md);font-size:12px;white-space:nowrap}.past-file-link{justify-content:center;border:1px solid rgba(47,183,165,.26);background:#2fb7a514;color:#0f766e;font-weight:600}.past-file-link:hover{background:#2fb7a524}.past-file-link em{font-style:normal;font-family:var(--font-mono);font-size:10px;color:var(--outline)}.past-file-missing{border:1px dashed rgba(74,92,106,.22);color:var(--outline)}.past-file-meta{grid-column:1 / -1;color:var(--outline);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.past-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.past-upload-panel{display:grid;gap:14px}.past-upload-files{display:grid;gap:10px}.past-upload-drop{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px dashed rgba(74,92,106,.32);border-radius:var(--radius-md);background:var(--surface-container-lowest);cursor:pointer;transition:border-color var(--duration-base),background var(--duration-base)}.past-upload-drop:hover,.past-upload-drop.has-file{border-color:#2fb7a573;background:#eef7f5ad}.past-upload-icon{width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;color:#0f766e;background:#2fb7a51f}.past-upload-copy{min-width:0;display:grid;gap:4px}.past-upload-label{font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:600;text-transform:uppercase}.past-upload-name{font-size:13px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.past-upload-size{color:var(--outline);font-size:11px}.pe-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 14px}.pe-toolbar>.kselect{flex:0 0 auto;width:auto;min-width:150px}.pe-toolbar>.kselect:nth-of-type(2){min-width:124px}.pe-search{display:flex;align-items:center;gap:8px;min-width:240px;flex:0 1 320px;background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.25);border-radius:var(--radius-md);padding:8px 11px;color:var(--outline)}.pe-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:13px;color:var(--on-surface);outline:none}.pe-tablecard{background:var(--surface-bright);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-1, 0 1px 2px rgba(16,42,67,.05))}.pe-table{width:100%;border-collapse:collapse}.pe-table thead th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--on-surface-variant);font-weight:700;padding:12px 16px;background:var(--surface-container-low);border-bottom:1px solid var(--outline-variant)}.pe-table tbody td{padding:12px 16px;border-bottom:1px solid var(--outline-variant);vertical-align:middle;font-size:13.5px}.pe-table tbody tr:last-child td{border-bottom:0}.pe-table tbody tr:hover{background:var(--surface-container-low)}.pe-sub{color:var(--on-surface-variant);font-size:12px}.pe-title{font-weight:600;color:var(--on-surface)}.pe-filechip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12px;font-weight:600;color:#0f766e;background:#2fb7a51f;border:1px solid rgba(47,183,165,.32);border-radius:8px;padding:4px 9px}.pe-filechip:hover{background:#2fb7a52e}.pe-filechip em{font-style:normal;font-size:9px;letter-spacing:.05em;background:#0f766e;color:#fff;padding:1px 4px;border-radius:4px}.pe-fileadd{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12px;cursor:pointer;color:var(--outline);background:transparent;border:1px dashed rgba(74,92,106,.4);border-radius:8px;padding:4px 9px}.pe-fileadd:hover{color:#0f766e;border-color:#2fb7a580}.pe-rowact{display:flex;gap:6px;justify-content:flex-end}.pe-iconbtn{width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--on-surface-variant);background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.25);border-radius:8px;transition:all var(--duration-base)}.pe-iconbtn:hover{background:var(--surface-container-low);color:var(--primary-container)}.pe-iconbtn.danger:hover{color:var(--error);border-color:var(--error);background:var(--error-container)}.pe-drop{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:12px;border:1px dashed rgba(74,92,106,.32);border-radius:var(--radius-md);background:var(--surface-container-lowest);cursor:pointer;transition:border-color var(--duration-base),background var(--duration-base)}.pe-drop:hover,.pe-drop.has{border-color:#2fb7a573;background:#eef7f5ad}.pe-drop-ic{width:38px;height:38px;border-radius:var(--radius-md);display:grid;place-items:center;color:#0f766e;background:#2fb7a51f}.pe-drop-txt{min-width:0;display:grid;gap:3px}.pe-drop-txt b{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--outline);font-weight:600}.pe-drop-txt span{font-size:13px;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-drop-action{font-size:11px;font-weight:600;color:#0f766e}.input,.select,.textarea{width:100%;background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.25);border-radius:var(--radius-md);padding:8px 10px;font-size:13px;transition:border-color var(--duration-base)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary-fixed-dim);outline:none;box-shadow:none}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999077' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.select option{background:#fff;color:#2a2333}.textarea{font-family:var(--font-mono);font-size:12.5px;line-height:1.75;resize:vertical}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:500}input[type=checkbox]{accent-color:var(--primary-container);width:14px;height:14px}.tabs{display:flex;gap:24px;border-bottom:1px solid rgba(74,92,106,.18);margin-bottom:24px;overflow-x:auto}.tab{padding:10px 2px;font-size:13.5px;color:var(--on-surface-variant);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--duration-base)}.tab:hover{color:var(--on-surface)}.tab.active{color:var(--primary-container);border-color:var(--primary-container)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:500;padding:10px 12px;border-bottom:1px solid rgba(74,92,106,.25);white-space:nowrap}.tbl td{padding:12px;border-bottom:1px solid rgba(74,92,106,.12);vertical-align:middle}.tbl tbody tr{transition:background var(--duration-fast)}.tbl tbody tr:hover{background:#2a2a2a66}.tbl tbody tr.row-selected{background:#2fb7a514}.question-admin-list{gap:12px}.question-admin-toolbar{display:block}.question-admin-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px 10px;min-width:0;align-items:start}.question-admin-filters .kselect,.question-admin-filters .input{min-width:0;height:40px}.question-admin-filters .kselect-trigger{height:40px}.question-admin-actions{height:40px;display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:nowrap;min-width:0;overflow:hidden}.question-admin-actions .btn{height:34px;padding-inline:10px}.question-admin-actions .btn-primary{min-width:122px;justify-content:center}.question-admin-list .tbl th,.question-admin-list .tbl td{padding:9px 10px}.question-admin-list .tbl th:nth-child(2),.question-admin-list .admin-code-cell{min-width:128px}.question-admin-list .admin-code-cell{font-size:12.5px;line-height:1.45;white-space:normal}.question-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(47,183,165,.28);border-radius:var(--radius-md);background:#2fb7a514;color:var(--on-surface)}.question-bulk-bar b{color:var(--surface-tint);font-family:var(--font-mono)}.taxonomy-tags{overflow:visible;display:flex;flex-wrap:wrap;gap:5px;min-width:0;max-width:340px;padding:1px 0}.taxonomy-tags .tag{max-width:min(100%,180px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}@media (max-width: 1180px){.question-admin-toolbar{grid-template-columns:1fr}.question-admin-actions{justify-content:flex-start}.question-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.question-admin-filters{grid-template-columns:1fr}.question-admin-actions{height:auto;flex-wrap:wrap;overflow:visible}.question-admin-actions .btn{flex:1 1 calc(50% - 4px);justify-content:center}.question-admin-actions .btn-primary{flex-basis:100%}.question-admin-table-card{padding:10px;background:transparent;border:0;box-shadow:none}.question-admin-table-card .tbl,.question-admin-table-card .tbl thead,.question-admin-table-card .tbl tbody,.question-admin-table-card .tbl tr,.question-admin-table-card .tbl th,.question-admin-table-card .tbl td{display:block;width:100%}.question-admin-table-card .tbl thead{display:none}.question-admin-table-card .tbl tbody{display:grid;gap:10px}.question-admin-table-card .tbl tr{padding:12px;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-md);background:var(--surface-container-low);box-shadow:0 10px 24px #102a430f}.question-admin-table-card .tbl tbody tr:hover{background:var(--surface-container-low)}.question-admin-table-card .tbl td{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;padding:7px 0;border-bottom:1px solid rgba(74,92,106,.1);text-align:left!important;white-space:normal!important}.question-admin-table-card .tbl td:before{content:attr(data-label);color:var(--outline);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding-top:2px}.question-admin-table-card .tbl td:last-child{border-bottom:0;padding-bottom:0}.question-admin-table-card .admin-select-cell{display:flex!important;align-items:center;justify-content:space-between;padding-top:0}.question-admin-table-card .admin-select-cell:before{content:"Select"}.question-admin-table-card .admin-code-cell{min-width:0;font-size:13px}.question-admin-table-card .taxonomy-tags{max-width:100%;overflow:visible}.question-admin-table-card .taxonomy-tags .tag{max-width:100%}.question-admin-table-card .admin-row-actions-cell{display:block}.question-admin-table-card .admin-row-actions-cell:before{display:block;margin-bottom:7px}.question-admin-table-card .admin-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}.question-admin-table-card .admin-row-actions .btn{justify-content:center}}.mathtext p{margin:0 0 .8em;text-wrap:pretty}.mathtext p:last-child{margin-bottom:0}.mathtext .katex{font-size:calc(1.04em * var(--math-scale, 1))}.tex-block{display:block;margin:.4em 0;overflow-x:auto}.hero{position:relative;border-bottom:1px solid rgba(74,92,106,.18);overflow:hidden;background:var(--hero-ember),var(--surface-container-lowest)}.hero-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:90px 24px 96px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:56px}.hero-copy{max-width:640px}.hero h1{font-family:var(--font-headline);font-size:clamp(46px,6vw,76px);line-height:1.08;font-weight:800;letter-spacing:0;margin:18px 0 24px;text-wrap:balance}.hero h1 em{font-style:italic;background:var(--text-gradient-gold);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:16px;line-height:1.9;color:var(--on-surface-variant);max-width:560px;margin-bottom:30px;text-wrap:pretty}.hero-formulas{display:flex;flex-direction:column;gap:20px;align-items:flex-end;color:var(--secondary);opacity:.8}.hero-formulas .katex{font-size:1.15em}.film-divider{height:2px;background:var(--film-strip)}.hero-orbit{position:relative;min-height:340px;color:var(--tertiary-fixed-dim);display:grid;place-items:center}.hero-orbit-card{position:relative;z-index:2;width:min(320px,78vw);padding:24px;border-radius:22px;background:#fffcf6d1;border:1px solid rgba(16,42,67,.1);box-shadow:0 28px 70px #102a4329;display:grid;grid-template-columns:78px 1fr;gap:18px;align-items:center}.hero-orbit-card img{width:78px;height:78px;border-radius:18px;box-shadow:0 14px 30px #102a432e}.hero-orbit-card strong{display:block;margin-top:8px;font-size:20px;line-height:1.35;color:var(--primary-container)}.hero-orbit-path{position:absolute;inset:32px 0 auto;width:100%;height:260px;color:var(--secondary-fixed);opacity:.8;overflow:visible}.hero-formula-chip{position:absolute;z-index:3;display:grid;place-items:center;min-width:46px;height:34px;padding:0 12px;border-radius:999px;background:#102a43f0;color:#fff8ed;font-family:var(--font-mono);font-size:13px;box-shadow:0 14px 28px #102a432e}.hero-formula-chip.chip-a{top:46px;right:58px;background:#f2b84b;color:#1f2933;font-weight:700}.hero-formula-chip.chip-b{left:16px;bottom:82px}.hero-formula-chip.chip-c{right:24px;bottom:54px;background:#2fb7a5;color:#07221f;font-weight:700}.home-courses{padding-top:52px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.section-head h2{margin-top:8px;font-size:26px;color:var(--primary-container)}.section-head p{max-width:520px;color:var(--on-surface-variant);font-size:13.5px;line-height:1.8}.course-breadcrumb{margin:-2px 0 18px}.course-grid{gap:18px}.fx-field{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 80% 78% at 50% 50%,#000 45%,transparent 98%);mask-image:radial-gradient(ellipse 80% 78% at 50% 50%,#000 45%,transparent 98%)}.fx-item{position:absolute;left:100%;white-space:nowrap;color:#9ba8ab;opacity:var(--o, .6);font-size:calc(15px * var(--s, 1));will-change:transform;animation:fxFly var(--d, 20s) linear infinite;animation-delay:var(--dl, 0s)}.fx-item:nth-child(3n){color:#ccd0cf}.fx-item:nth-child(4n){color:#73858e}@keyframes fxFly{to{transform:translate(calc(-100% - 100vw))}}@media (prefers-reduced-motion: reduce){.fx-field{display:flex;flex-direction:column;align-items:flex-end;gap:14px;position:relative;mask-image:none;-webkit-mask-image:none}.fx-item{animation:none;position:static}}.player{background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.2);border-radius:var(--radius-lg);overflow:hidden}.filmstrip-edge{height:8px;background:repeating-linear-gradient(to right,rgba(143,116,165,.16) 0 8px,transparent 8px 16px)}.player-screen{position:relative;aspect-ratio:16 / 7;background:radial-gradient(ellipse at 50% 38%,#16242f,#0c0c0b 72%);display:grid;place-items:center}.play-btn{width:58px;height:58px;border-radius:50%;background:var(--metallic-gradient);color:var(--on-primary-fixed);display:grid;place-items:center;box-shadow:var(--shadow-glow-gold);transition:all var(--duration-base)}.play-btn:hover{filter:brightness(110%);box-shadow:var(--shadow-glow-gold-lg)}.scrub{height:4px;background:var(--surface-container-high);border-radius:2px;position:relative;cursor:pointer;flex:1}.scrub-fill{position:absolute;inset:0 auto 0 0;background:var(--primary-container);border-radius:2px}.chapter{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:var(--radius-md);font-size:12.5px;width:100%;text-align:left;transition:background var(--duration-fast)}.chapter:hover{background:var(--surface-container)}.chapter.active{background:#8f74a514;color:var(--primary-container)}.msg{display:flex;gap:12px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px}.modal{background:#fcfafdf7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(74,92,106,.3);border-radius:var(--radius-xl);box-shadow:var(--shadow-cinematic);width:100%;max-height:90vh;overflow:auto;animation:kslideup .3s var(--ease-out)}@keyframes kslideup{0%{opacity:0;transform:translateY(12px)}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(74,92,106,.2)}.modal-body{padding:22px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid rgba(74,92,106,.2)}.modal.formula-floating-modal{background:var(--surface-container-lowest);-webkit-backdrop-filter:none;backdrop-filter:none}.modal.formula-floating-modal .modal-body{padding:10px 12px 12px}.modal.formula-floating-modal .modal-head{padding:12px 16px}.toast{background:var(--surface-container-highest);border:1px solid rgba(143,116,165,.3);color:var(--on-surface);padding:11px 14px;border-radius:var(--radius-md);font-size:13px;line-height:1.45;box-shadow:var(--shadow-cinematic);display:flex;gap:8px;align-items:flex-start}.dropzone{border:1.5px dashed rgba(143,116,165,.35);border-radius:var(--radius-lg);padding:42px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;background:#8f74a508;cursor:pointer;transition:all var(--duration-base);text-align:center}.dropzone:hover{background:#8f74a50f;border-color:#8f74a58c}.answer-box{background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.2);border-radius:var(--radius-md);padding:18px}.answer-box.hidden-ans .mathtext{filter:blur(7px);-webkit-user-select:none;user-select:none;opacity:.55}.codeblock{background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.2);border-radius:var(--radius-md);padding:14px;font-family:var(--font-mono);font-size:11.5px;line-height:1.7;color:var(--secondary);white-space:pre-wrap;max-height:280px;overflow:auto}.bar{height:6px;background:var(--surface-container-high);border-radius:3px;overflow:hidden;flex:1}.bar-fill{height:100%;background:var(--metallic-gradient);border-radius:3px;transition:width .4s var(--ease-out)}.ed-toolbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:7px 8px;background:var(--surface-container);border:1px solid rgba(74,92,106,.2);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0}.ed-toolbar-compact{gap:8px}.ed-tool{padding:3px 8px;border-radius:var(--radius-sm);font-size:12px;color:var(--on-surface-variant);border:1px solid transparent;transition:all var(--duration-fast)}.ed-tool:hover{background:var(--surface-container-highest);color:var(--on-surface)}.ed-tool .katex{font-size:.95em}.ed-sep{width:1px;height:16px;background:#4a5c6a59;margin:0 4px}.ed-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(74,92,106,.2);border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden;background:var(--surface-container-lowest)}.ed-grid-single{display:block;border-radius:var(--radius-md)}.ed-src{border:none;border-radius:0;background:transparent;min-height:150px}.ed-src:focus{border:none}.ed-preview{padding:14px;border-left:1px solid rgba(74,92,106,.2);font-size:14px;overflow:auto;min-height:150px}.ed-visual-pane{padding:14px;min-height:178px}.ed-mathfield{display:block;width:100%;min-height:124px;max-height:150px;overflow:auto;padding:8px;border:none;border-radius:var(--radius-md);background:transparent;font-size:18px;color:var(--on-surface)}.ed-mathfield:focus-within{outline:none}.ed-mathfield::part(virtual-keyboard-toggle),.ed-mathfield::part(menu-toggle){color:var(--secondary);opacity:.86}.ed-mathfield-loading{display:flex;align-items:center;color:var(--outline);font-size:12.5px}.ed-inline-code{min-width:0;max-width:100%;overflow:auto;padding:5px 8px;border:1px solid rgba(74,92,106,.18);border-radius:var(--radius-sm);background:var(--surface-container);color:var(--secondary);font-size:11.5px}.ed-preview-inline{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(74,92,106,.22);font-size:14px}.ed-import-box{margin:10px 0 12px;padding:12px;border:1px solid rgba(74,92,106,.18);border-radius:var(--radius-md);background:var(--surface-container-lowest)}.ed-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:12px;border-left:1px solid rgba(74,92,106,.2);align-content:start}.ed-palette-rail{display:block;overflow:auto;max-height:260px}.ed-pal-item{display:grid;place-items:center;padding:10px 6px;border-radius:var(--radius-md);border:1px solid rgba(74,92,106,.2);background:var(--surface-container);transition:all var(--duration-fast)}.ed-pal-item:hover{border-color:#8f74a573;background:#8f74a50f}.formula-workbench-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.formula-workbench .formula-workbench-head{position:relative;display:grid;gap:4px;margin-bottom:6px;padding-right:36px}.formula-workbench-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.formula-workbench .formula-workbench-head .ed-inline-code{display:block;white-space:nowrap;max-height:34px;overflow:auto}.formula-builder-copy{position:absolute;right:0;top:0;z-index:2;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--secondary);padding:0;box-shadow:none;transition:all var(--duration-fast)}.formula-builder-copy:hover:not(:disabled){background:#2c5f7a14;color:var(--on-surface)}.formula-builder-copy:disabled{opacity:.34;cursor:default}.formula-actions{display:flex;gap:6px;flex:none}.formula-quick{display:grid;gap:8px}.formula-quick-group{display:grid;gap:5px}.formula-chip-row{display:flex;flex-wrap:wrap;gap:5px}.formula-chip{min-width:46px;height:30px;display:grid;place-items:center;padding:3px 7px;border-radius:var(--radius-sm);border:1px solid rgba(74,92,106,.18);background:var(--surface-container);color:var(--on-surface-variant);transition:all var(--duration-fast)}.formula-chip:hover{border-color:#2c5f7a5c;background:#2c5f7a12;color:var(--on-surface)}.formula-chip .katex{font-size:.92em}.formula-math-shell{position:relative;min-height:126px;display:grid;border:1px solid rgba(74,92,106,.25);border-radius:var(--radius-md);background:var(--surface-container-lowest);overflow:hidden}.formula-math-shell:focus-within{border-color:var(--primary-fixed-dim)}.formula-clear-button{position:absolute;z-index:2;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--secondary);padding:0;box-shadow:none;transition:all var(--duration-fast)}.formula-clear-button{right:5px;bottom:5px}.formula-clear-button:hover:not(:disabled){background:#2c5f7a14;color:var(--on-surface)}.formula-clear-button:disabled{opacity:.34;cursor:default}.formula-side-editor{display:grid;gap:5px;margin-bottom:8px}.formula-side-textarea{min-height:58px;font-family:var(--font-mono);font-size:12px;line-height:1.45;resize:vertical}.formula-native-keyboard-panel{display:grid;gap:4px;margin-top:6px}.formula-keyboard-dock{position:relative;min-height:0;overflow:visible;border-radius:var(--radius-md);background:var(--surface-container);transition:border-color var(--duration-base)}.formula-keyboard-dock:has(.ML__keyboard.is-visible){padding:6px 8px 8px;border:1px solid rgba(74,92,106,.16)}.formula-keyboard-dock .ML__keyboard{--keyboard-zindex: 210;--keyboard-padding-top: 2px;--keyboard-padding-horizontal: 4px;--keycap-height: 36px;--keycap-gap: 6px;--keycap-max-width: 82px;--keycap-font-size: clamp(14px, 2.6cqw, 18px);--keycap-background: var(--surface-container-lowest);--keycap-background-hover: var(--surface-container-high);--keycap-border: rgba(74,92,106,.2);--keycap-border-bottom: rgba(74,92,106,.35);--keyboard-background: var(--surface-container);--keyboard-toolbar-background-hover: var(--surface-container-high);--keyboard-toolbar-text: var(--secondary);--keyboard-accent-color: var(--primary-fixed-dim);height:auto;overflow:visible}.formula-keyboard-dock .MLK__backdrop{position:static;height:auto;transform:none!important;opacity:1;visibility:visible;padding:0;background:transparent}.formula-keyboard-dock .ML__keyboard.is-visible>.MLK__backdrop{transform:none}.formula-keyboard-dock .MLK__plate{position:static;width:min(100%,920px);margin:0 auto}.formula-keyboard-dock .MLK__toolbar{min-height:26px;width:min(100%,920px);max-width:920px;margin:0 auto 3px}.formula-keyboard-dock .MLK__toolbar>div>div{min-height:28px;min-width:34px;padding:3px 7px;margin:0 2px 3px;border-radius:7px}.formula-keyboard-dock .MLK__toolbar .right{gap:2px;align-items:center}.formula-keyboard-dock .MLK__toolbar .right>div{width:22px;min-width:22px;height:22px;min-height:22px;padding:1px;margin:0 1px 3px;display:inline-flex;align-items:center;justify-content:center}.formula-keyboard-dock .MLK__toolbar .right svg,.formula-keyboard-dock .MLK__toolbar .right svg.svg-glyph,.formula-keyboard-dock .MLK__toolbar .right svg.svg-glyph-lg{width:14px;height:14px;min-height:14px;margin:0}.formula-keyboard-dock .MLK__toolbar .right .disabled{opacity:.22}.formula-keyboard-dock .MLK__rows{margin-bottom:4px;gap:5px}.formula-keyboard-dock .MLK__rows>.MLK__row{width:min(100%,920px);margin:0 auto;gap:5px}.formula-keyboard-dock .MLK__rows>.MLK__row .shift,.formula-keyboard-dock .MLK__rows>.MLK__row .action{padding:4px 8px;border-radius:7px;background:var(--surface-container-high);color:var(--secondary)}.formula-keyboard-dock .MLK__rows>.MLK__row div{align-items:center;justify-content:center;line-height:1}.formula-keyboard-dock .MLK__rows>.MLK__row div svg.svg-glyph,.formula-keyboard-dock .MLK__rows>.MLK__row div svg.svg-glyph-lg{width:17px;height:17px;min-height:17px;margin:0;display:block}.formula-keyboard-dock .MLK__rows>.MLK__row div.shift svg.svg-glyph,.formula-keyboard-dock .MLK__rows>.MLK__row div.action svg.svg-glyph,.formula-keyboard-dock .MLK__rows>.MLK__row div.action svg.svg-glyph-lg{width:16px;height:16px;min-height:16px}.formula-keyboard-dock .MLK__rows>.MLK__row .action:has(use[href="#circle-plus"]){visibility:hidden;pointer-events:none}.formula-keyboard-dock .MLK__rows>.MLK__row .warning,.formula-keyboard-dock .MLK__rows>.MLK__row .action.warning{background:var(--surface-container-high);border-color:#4a5c6a3d;border-bottom-color:#4a5c6a61;color:var(--secondary)}.formula-keyboard-dock .MLK__rows>.MLK__row .warning:hover,.formula-keyboard-dock .MLK__rows>.MLK__row .action.warning:hover{background:var(--surface-container-highest);color:var(--on-surface)}.formula-workbench .formula-quick{gap:7px;max-height:150px;overflow:auto}.formula-workbench .formula-chip{min-width:40px;height:28px}.formula-workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.78fr);gap:8px}.formula-workbench .formula-import-panel{padding:8px}.formula-workbench .formula-import-panel-main{gap:7px}.formula-import-panel{min-width:0;padding:10px;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-md);background:var(--surface-container-lowest)}.formula-import-panel-main{display:grid;gap:10px}.formula-import-current{display:grid;align-content:start;gap:10px;min-height:142px}.formula-render-strip{min-height:32px;max-height:96px;padding:6px 8px;border:1px dashed rgba(74,92,106,.22);border-radius:var(--radius-sm);background:var(--surface-container);overflow:auto}.question-workbench-modal{background:#fffdf8;-webkit-backdrop-filter:none;backdrop-filter:none}.question-workbench-modal .modal-body{padding:0;background:#e8eeeb}.overlay:has(.question-workbench-modal){top:58px;right:0;bottom:0;left:0;padding:8px 12px;background:#26303338;-webkit-backdrop-filter:none;backdrop-filter:none}.overlay:has(.question-workbench-modal) .modal{max-height:calc(100vh - 82px)}.question-workbench-modal .modal-foot{position:static;padding:10px 16px;background:#fffdf8;border-top:1px solid #d7dfdc;z-index:2}.question-workbench{display:grid;gap:14px}.question-composer-shell{--composer-ink: #263033;--composer-muted: #687273;--composer-line: #d7dfdc;--composer-paper: #fffdf8;--composer-desk: #edf1ee;--composer-panel: #f8faf7;--composer-accent: #2f6f63;--composer-amber: #a8741a;grid-template-columns:minmax(310px,355px) minmax(560px,1fr) minmax(330px,375px);grid-template-rows:auto minmax(0,1fr);gap:0;height:min(810px,calc(100vh - 154px));min-height:min(620px,calc(100vh - 154px));background:var(--composer-paper);color:var(--composer-ink)}.latex-studio-shell{--composer-panel: #f7f6f1;--composer-paper: #fffdf8;--composer-desk: #e6ece8;--composer-accent: #255f55;grid-template-columns:minmax(360px,430px) minmax(560px,1fr) minmax(300px,350px)}.question-source-panel,.question-inspector-panel{min-width:0;min-height:0;padding:9px 10px;background:var(--composer-panel);overflow-x:hidden;overflow-y:scroll}.question-source-panel{border-right:1px solid var(--composer-line)}.question-inspector-panel{border-left:1px solid var(--composer-line)}.question-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.question-meta-grid.compact{grid-template-columns:1fr 1fr;gap:8px}.question-meta-grid.compact .field{min-width:0}.question-meta-top{grid-column:1 / -1;grid-template-columns:1.2fr .55fr 1.25fr .85fr .75fr .85fr 1.6fr;gap:7px;padding:7px 10px;border-bottom:1px solid var(--composer-line);background:var(--composer-panel)}.question-meta-top .field{min-width:0}.question-formula-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-md);background:var(--surface-container)}.question-formula-bar.compact{margin:0 0 8px;border-color:var(--composer-line);background:var(--composer-paper)}.latex-preview-img{max-width:100%;height:auto;display:block;margin:auto;background:#fff;border-radius:4px}.latex-preview-error{margin:0;padding:8px 10px;font-family:var(--font-mono);font-size:10.5px;line-height:1.42;color:#8a2f24;background:#fdeeec;border:1px solid rgba(138,47,36,.25);border-radius:6px;white-space:pre-wrap;overflow:auto;max-height:min(55vh,340px)}.latex-preview-error-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.studio-error-label{color:#7a5b1f;font-family:var(--font-mono);font-size:11.5px;font-weight:700}.latex-preview-error-block{display:flex;flex-direction:column;min-height:0}.studio-editor{background:var(--composer-panel);display:flex;flex-direction:column;gap:8px}.source-tab-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.source-tabs{display:flex;gap:4px}.source-tab{font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--composer-muted);background:transparent;border:none;padding:6px 12px;border-radius:7px;cursor:pointer;transition:.15s}.source-tab:hover{color:var(--composer-ink)}.source-tab.active{background:var(--surface-tint);color:var(--on-surface-tint, #fff)}.source-stack{flex:1;min-height:0}.source-stack>div[hidden]{display:none}.studio-console{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--composer-paper);border:1px solid var(--composer-line);border-radius:8px;font-family:var(--font-mono);font-size:11px;color:var(--composer-muted)}.studio-console-sep{color:var(--composer-line)}.studio-dot{width:8px;height:8px;border-radius:50%;background:var(--surface-tint);box-shadow:0 0 7px var(--surface-tint)}.studio-dot-ready{background:var(--surface-tint);box-shadow:0 0 7px var(--surface-tint)}.studio-dot-checking,.studio-dot-warn{background:var(--composer-amber);box-shadow:0 0 7px #b07f1273}.studio-dot-error{background:var(--error);box-shadow:0 0 7px #ba1a1a59}.figure-rail{display:flex;flex-direction:column;gap:12px}.figure-rail-collapsed{padding-inline:7px}.figure-rail-collapsed .question-panel-head{margin-bottom:0;justify-content:center}.figure-rail-collapsed .question-panel-head .field-label{display:none}.figure-rail-collapsed .question-panel-head .btn{width:100%;justify-content:center}.fig-card-list{display:flex;flex-direction:column;gap:10px}.fig-card{border:1px solid var(--composer-line);border-radius:11px;padding:9px;background:var(--composer-paper);cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.fig-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px -18px #20251f66}.fig-card.sel{border-color:var(--composer-accent);background:#fff;box-shadow:0 0 0 1px #2f6f6338,0 16px 30px -20px #2f6f6366}.fig-card-thumb{background:#fff;border:1px solid var(--composer-line);border-radius:7px;overflow:hidden;display:grid;place-items:center;min-height:60px}.fig-card-thumb .q-image{width:100%;margin:0!important}.fig-card-thumb .q-image img,.fig-card-thumb .q-image svg{max-width:100%;max-height:120px;object-fit:contain;display:block}.fig-card-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12.5px}.fig-card-grade{font-family:var(--font-mono);font-size:10px;color:var(--composer-muted)}.fig-card-src{font-family:var(--font-mono);font-size:10px;color:var(--composer-amber);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fig-card-editor{margin-top:9px;padding-top:9px;border-top:1px dashed var(--composer-line);display:flex;flex-direction:column;gap:9px}.fig-card-editor .field-label{margin-bottom:4px}.fig-name-input{font-family:var(--font-mono);font-size:12px}.fig-width-row{display:flex;align-items:center;gap:9px}.fig-width-row .question-width-range{flex:1}.fig-width-val{font-family:var(--font-mono);font-size:11px;color:var(--composer-accent);min-width:96px;text-align:right}.fig-card-actions{display:flex;gap:6px}.fig-card-actions .btn{flex:1;justify-content:center}.fig-upload{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px dashed var(--composer-line);border-radius:11px;padding:16px;text-align:center;font-size:12px;color:var(--composer-muted);cursor:pointer;transition:.15s}.fig-upload:hover{border-color:var(--composer-accent);color:var(--composer-accent)}.fig-upload em{font-style:normal;font-size:10.5px;opacity:.7}.studio-overlay{--composer-ink: var(--primary);--composer-muted: var(--outline);--composer-line: var(--surface-container-highest);--composer-paper: var(--surface-container-lowest);--composer-panel: var(--surface-container-low);--composer-desk: var(--surface-container);--composer-accent: var(--surface-tint);--composer-amber: #b07f12;position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:var(--surface);color:var(--composer-ink)}.studio-topbar{display:flex;align-items:center;gap:14px;min-width:0;padding:11px 20px;background:var(--composer-paper);border-bottom:1px solid var(--composer-line)}.studio-brand{font-family:var(--font-headline);font-weight:700;font-size:1.1rem;line-height:1.05;letter-spacing:-.01em}.studio-brand small{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--composer-accent);margin-top:2px;font-weight:600}.studio-crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--composer-muted)}.studio-crumb b{color:var(--composer-ink)}.studio-spacer{flex:1;min-width:8px}.studio-topbar>.btn:last-child{flex:none}.studio-ribbon{display:grid;grid-template-columns:190px 116px 76px 280px 138px 150px minmax(320px,1fr) minmax(300px,.85fr);align-items:start;gap:0;padding:8px 22px;background:var(--composer-paper);border-bottom:1px solid var(--composer-line);overflow:visible;position:relative;z-index:20}.rib-field{display:flex;flex-direction:column;gap:4px;padding:2px 14px;border-right:1px solid var(--composer-line);min-width:0}.rib-field:first-child{padding-left:0}.rib-field:last-child{border-right:none}.rib-field>span{min-height:14px;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;color:var(--composer-muted);font-weight:700;white-space:nowrap}.required-star{margin-left:3px;color:var(--error);font:inherit}.rib-field input{font-family:var(--font-mono);font-size:.82rem;border:1px solid color-mix(in srgb,var(--composer-line) 82%,var(--composer-ink) 18%);background:#ffffff8a;color:var(--composer-ink);outline:none;padding:5px 8px;width:100%;min-width:0;border-radius:7px;transition:border-color .15s,background .15s}.rib-field input::placeholder{color:color-mix(in srgb,var(--composer-muted) 58%,#fff 42%);opacity:1}.rib-field input:hover,.rib-field input:focus{border-color:var(--composer-accent);background:#fff}.rib-field .kselect{width:100%;min-width:0}.rib-field .kselect-trigger{min-height:29px;padding:5px 8px;border-radius:7px;border-color:color-mix(in srgb,var(--composer-line) 82%,var(--composer-ink) 18%);background:#ffffff8a;color:var(--composer-ink);font-family:var(--font-mono);font-size:.82rem;overflow:hidden}.rib-field .kselect-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rib-field .kselect-trigger:hover,.rib-field .kselect.open .kselect-trigger{border-color:var(--composer-accent);background:#fff}.rib-field .kselect-menu{min-width:160px;z-index:120}.rib-unit .kselect{min-width:0}.rib-unit .kselect-trigger{white-space:nowrap;overflow:visible}.rib-unit .kselect-menu{min-width:280px}.rib-year .kselect-menu{min-width:132px}.rib-code>span,.rib-marks>span{font-weight:400}.rib-code input{font-weight:400}.rib-marks input,.rib-tags input,.rib-subsection input{min-width:0}.rib-status .kselect-trigger{font-weight:700}.rib-status-published .kselect-trigger{color:var(--surface-tint)}.rib-status-draft .kselect-trigger{color:var(--composer-amber)}.rib-status-disabled .kselect-trigger{color:#9a4a3a}.studio-body{display:grid;grid-template-columns:minmax(380px,460px) minmax(0,1fr) minmax(300px,360px);min-height:0;transition:grid-template-columns .2s ease}.studio-body>.question-source-panel{border-right:1px solid var(--composer-line);border-left:none}.studio-editor{overflow-y:auto}.source-stack{display:flex}.code-latex-wrap{flex:1;height:100%;min-height:360px;min-width:0}.code-latex-wrap[hidden]{display:none}.code-latex{height:100%}.code-latex .cm-editor{height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--composer-line)}.code-latex .cm-scroller{overflow:auto}.full-doc-preview{display:flex;flex-direction:column;gap:10px}.full-doc-tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--surface-tint)}.pdf-preview-canvas{padding:14px clamp(14px,2vw,24px) 20px;background:radial-gradient(circle at 18% 0%,rgba(47,183,165,.12),transparent 240px),linear-gradient(180deg,#fffcf59e,#ede2cf5c),var(--composer-desk)}.pdf-preview-sheet{width:100%;max-width:none;min-height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.pdf-preview-sheet .full-doc-preview{min-height:calc(100vh - 198px);gap:0;border:1px solid rgba(188,169,136,.42);border-radius:16px;background:#fffcf6b8;box-shadow:0 22px 60px -42px #1e2b348c;overflow:hidden}.full-doc-preview-toolbar{position:sticky;top:0;z-index:3;margin:0;padding:11px 14px;border-bottom:1px solid rgba(188,169,136,.34);background:#faf7efe0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.preview-mode-toggle{display:inline-flex;align-items:center;padding:3px;border:1px solid rgba(188,169,136,.52);border-radius:10px;background:#ece2cfad;box-shadow:inset 0 1px #ffffff73}.preview-mode-toggle button{min-width:42px;height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--on-surface-variant);font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.06em}.preview-mode-toggle button.active{background:var(--surface);color:var(--primary);box-shadow:0 6px 16px -12px #102a438c}.full-doc-preview .latex-preview-pdf{width:100%;flex:1;min-height:calc(100vh - 252px);display:block;background:#faf7ef94;border:0;border-radius:0}.full-doc-preview .latex-preview-svg{width:100%;flex:1;min-height:calc(100vh - 252px);display:block;background:#fff;border:0;border-radius:0}.document-viewer{flex:1;min-height:calc(100vh - 252px);display:flex;flex-direction:column;background:#2f302f;color:#f8f8f5}.document-viewer-toolbar{height:58px;display:flex;align-items:center;gap:12px;padding:0 18px;background:#3a3a39;border-bottom:1px solid rgba(255,255,255,.08)}.document-viewer-title{min-width:140px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;letter-spacing:0}.document-viewer-page-control{display:flex;align-items:center;gap:8px;color:#ffffffe0;font-size:14px}.document-viewer-page-control input{width:46px;height:32px;border:0;border-radius:0;background:#202020;color:#fff;text-align:center;font:inherit;font-weight:700;outline:none}.document-viewer-divider{width:1px;height:30px;background:#ffffff3d}.document-viewer-spacer{flex:1}.document-viewer-icon{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#ffffffe0;cursor:pointer;text-decoration:none}.document-viewer-icon:hover{background:#ffffff1f;color:#fff}.document-viewer-zoom{min-width:70px;height:32px;display:grid;place-items:center;background:#202020;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.document-viewer-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:start center;padding:10px 14px 28px;background:#242424;touch-action:none}.document-viewer-stage.zoomed{cursor:grab}.document-viewer-stage.zoomed:active{cursor:grabbing}.document-viewer-page{width:auto;max-width:min(100%,1180px);height:auto;display:block;background:#fff;box-shadow:0 2px 12px #00000073;transform-origin:center top;will-change:transform;transition:transform .08s linear;-webkit-user-select:none;user-select:none;cursor:zoom-in}.document-viewer-empty{flex:1;min-height:calc(100vh - 252px);display:grid;place-items:center;color:var(--outline)}.modal .document-viewer{height:min(72vh,760px);min-height:min(72vh,760px);border:1px solid rgba(188,169,136,.42);border-radius:12px;overflow:hidden}.modal .document-viewer-toolbar{height:52px;padding-inline:14px}.modal .document-viewer-title{max-width:180px}.full-doc-preview .latex-preview-img{max-width:100%;height:auto;display:block;margin:0 auto;background:#fff;border:1px solid rgba(188,169,136,.44);border-radius:8px;box-shadow:0 18px 45px -34px #102a4394}.admin-compiled-cell{display:grid;gap:4px;min-width:180px}.admin-compiled-badge{width:max-content;padding:4px 9px;border:1px solid rgba(47,183,165,.35);border-radius:999px;background:#2fb7a517;color:var(--surface-tint);font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.admin-compiled-missing{border-color:#b8842c5c;background:#b8842c1a;color:var(--composer-amber)}.admin-preview-pdf{width:100%;height:min(72vh,760px);display:block;border:1px solid rgba(188,169,136,.42);border-radius:12px;background:#fff}.admin-preview-image-pages{max-height:min(72vh,760px);overflow:auto;display:grid;gap:12px;justify-items:stretch;padding:0;border:0;border-radius:0;background:transparent}.admin-preview-page{width:100%;margin:0;display:grid;gap:5px;justify-items:stretch}.admin-preview-page img{width:100%;max-width:100%;height:auto;display:block;background:#fff;border:0;border-radius:0;box-shadow:none}.admin-preview-page figcaption{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--outline)}.question-paper-canvas .q-image{position:relative;cursor:pointer;border-radius:6px;transition:outline .14s,box-shadow .14s}.question-paper-canvas .q-image:hover{outline:2px dashed var(--composer-accent);outline-offset:6px}.question-paper-canvas .q-image.q-image-selected{outline:2px solid var(--composer-accent);outline-offset:6px;box-shadow:0 14px 30px -18px #2f6f5e8c}.question-paper-canvas .q-image.q-image-selected:after{content:"selected";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--composer-accent);color:#fff;font-family:var(--font-mono);font-size:.54rem;letter-spacing:.1em;padding:1px 8px;border-radius:99px;z-index:2}.question-entry-column{display:grid;gap:12px;min-width:0}.question-source-fields{display:grid;gap:10px}.question-latex-field{display:grid;gap:6px;padding:0;border:0;border-radius:0;background:transparent}.question-latex-field.active .field-label{color:var(--composer-accent)}.question-latex-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.question-latex-head .dim{font-size:11px;white-space:nowrap}.question-latex-field .latex-editor,.question-latex-field .ed-grid{min-width:0}.question-latex-field .ed-src{min-height:96px;resize:vertical;background:#fffdf8;border-color:var(--composer-line);border-radius:7px}.question-latex-field.active .ed-src{border-color:#2f6f6385;box-shadow:0 0 0 3px #2f6f6314}.question-media-grid{display:grid;grid-template-columns:1fr;gap:12px}.question-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid rgba(74,92,106,.16);border-radius:var(--radius-md);background:var(--surface-container)}.question-preview-card{min-height:440px;padding:18px;border:1px solid rgba(74,92,106,.18);border-radius:var(--radius-md);background:var(--surface-container-lowest);overflow:auto}.question-paper-canvas{min-width:0;min-height:0;padding:12px 18px 18px;background:var(--composer-desk);overflow:auto}.question-paper-sheet{width:min(100%,900px);min-height:760px;margin:0 auto;padding:30px 38px;border:1px solid #d7d1c2;background:var(--composer-paper);box-shadow:0 18px 42px #2e3a3a29;display:flex;flex-direction:column;justify-content:flex-start}.q-footer{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;align-items:flex-end}.qcode-footer{font-family:var(--font-mono);font-size:11px;color:var(--composer-muted);letter-spacing:.06em}.question-paper-sheet .mathtext{font-family:Georgia,Times New Roman,serif;line-height:1.48;color:var(--composer-ink)}.question-paper-sheet .mathtext-source-hit{cursor:text;border-radius:3px}.question-paper-sheet .mathtext-source-hit:hover{background:#b8842c17}.question-paper-sheet .q-image-caption{font-family:Georgia,Times New Roman,serif;font-size:14.5px;line-height:1.48;color:var(--composer-ink)}.question-paper-sheet .answer-box{border-top:1px dashed #d8ceb8;background:transparent}.preview-empty{min-height:42px;display:flex;align-items:center;color:var(--outline);font-size:12.5px;border:1px dashed rgba(74,92,106,.2);border-radius:var(--radius-sm);padding:10px}.question-preview-card .q-image img,.question-paper-sheet .q-image img{max-height:250px;object-fit:contain}.q-image{width:var(--figure-width, 100%);position:relative}.q-image>[role=button]{display:inline-block;max-width:100%;vertical-align:top;cursor:pointer;border-radius:7px}.q-image>[role=button]>img,.q-image>[role=button]>svg{display:block;max-width:100%}.q-image-zoom-btn{position:absolute;top:6px;right:6px;z-index:3;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(38,48,51,.18);border-radius:50%;background:#fffdf8f0;color:var(--composer-ink, var(--on-surface));box-shadow:0 8px 18px #102a432e;cursor:zoom-in;font-size:17px;line-height:1;padding:0}.q-image-zoom-btn:hover{background:#fff;color:var(--composer-accent, var(--primary))}.q-image-expand-icon{width:12px;height:12px;display:block;position:relative}.q-image-expand-icon:before,.q-image-expand-icon:after{content:"";position:absolute;width:6px;height:6px;border-color:currentColor;border-style:solid}.q-image-expand-icon:before{top:0;right:0;border-width:1.4px 1.4px 0 0}.q-image-expand-icon:after{left:0;bottom:0;border-width:0 0 1.4px 1.4px}.q-image-selected>[role=button]{outline:2px solid #b8842c;outline-offset:4px;box-shadow:0 0 0 6px #b8842c24}.q-image-caption{margin-top:6px;text-align:center;font-family:var(--font-mono);font-size:11.5px;line-height:1.35;color:var(--composer-muted)}.q-image.q-image-align-left{margin-right:auto;text-align:left}.q-image.q-image-align-center{margin-left:auto;margin-right:auto;text-align:center}.q-image.q-image-align-right{margin-left:auto;text-align:right}.q-image-row{width:var(--figure-width, 100%);display:flex;gap:12px;align-items:center;margin-top:12px}.q-image-row .q-image{flex:1 1 0;width:auto;margin-top:0!important;text-align:center}.q-image-row.q-image-align-left{margin-right:auto}.q-image-row.q-image-align-center{margin-left:auto;margin-right:auto}.q-image-row.q-image-align-right{margin-left:auto}.question-image-library{margin-top:8px;padding-top:8px;border-top:1px solid var(--composer-line)}.question-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.question-image-list{display:grid;gap:6px}.question-image-tile{display:grid;grid-template-columns:58px minmax(0,1fr) 68px;gap:8px;align-items:center;width:100%;text-align:left;border:1px solid var(--composer-line);border-radius:8px;background:var(--composer-paper);padding:6px;cursor:pointer}.question-image-tile[draggable=true]{cursor:grab}.question-image-tile[draggable=true]:active{cursor:grabbing}.question-image-tile.active{border-color:#b8842cb3;background:color-mix(in srgb,var(--composer-paper) 88%,var(--composer-amber) 12%);box-shadow:inset 3px 0 #b8842c}.question-image-thumb{height:48px;border-radius:6px;border:1px solid #d8cfb9;background:#f5f0df;display:grid;place-items:center;overflow:hidden}.question-image-thumb .q-image{width:100%;margin:0!important}.question-image-thumb .q-image img{width:100%;height:48px;object-fit:contain;display:block}.question-image-meta{min-width:0;display:grid;gap:2px}.question-image-meta b{font-size:12px;color:var(--on-surface)}.question-image-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--on-surface-variant)}.question-image-actions{display:flex;gap:4px;justify-content:flex-end;min-width:0}.question-inspector-image-preview{min-height:142px;padding:9px;border:1px solid var(--composer-line);border-radius:8px;background:var(--composer-paper);display:grid;place-items:center;overflow:hidden}.question-inspector-image-preview .q-image{margin-top:0!important;max-width:100%}.question-inspector-image-preview .q-image img{max-height:168px;object-fit:contain}.question-image-name-input{width:100%}.question-inspector-library{margin-top:8px}.question-inspector-library .question-image-library{border-top:1px solid var(--composer-line);padding-top:8px}.question-video-panel{display:grid;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid var(--composer-line)}.question-video-row{display:flex;gap:6px;align-items:center;min-width:0}.question-video-url{min-width:0;flex:1}.question-video-upload{flex:none}.question-undo-delete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 10px;border:1px solid rgba(184,132,44,.32);border-radius:7px;background:#fff6e6;color:#6f4d17;font-size:12px}.question-undo-delete span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector-group{padding-top:8px;margin-top:8px;border-top:1px solid var(--composer-line)}.question-width-range{width:100%;accent-color:var(--composer-accent)}.seg-control{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.seg-control button{height:32px;border:1px solid var(--composer-line);border-radius:7px;background:var(--composer-paper);color:var(--composer-ink)}.seg-control button.active{border-color:#2f6f637a;background:color-mix(in srgb,var(--composer-paper) 80%,var(--composer-accent) 20%);color:var(--composer-accent);font-weight:700}.question-check{padding:8px;border:1px solid var(--composer-line);border-radius:8px;background:var(--composer-paper);font-size:12px;color:var(--composer-muted)}.question-check+.question-check{margin-top:6px}.question-display-card{background:#fff}.question-display-card .mathtext,.question-display-card .q-image,.question-display-card .q-image>[role=button],.question-display-card .q-image img,.question-display-card .q-image svg{background:#fff}.question-display-card .compiled-latex{display:block;width:100%}.question-display-card .compiled-latex>[role=button]{width:100%}.question-detail-card{color:var(--on-surface)}.qcode{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--primary-container);letter-spacing:.02em}button.qcode{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;margin:-1px 0;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;line-height:1.5;transition:background .12s,border-color .12s,color .12s}button.qcode svg{opacity:.55}button.qcode:hover{background:color-mix(in srgb,var(--primary-container) 12%,transparent);border-color:color-mix(in srgb,var(--primary-container) 30%,transparent)}button.qcode:hover svg{opacity:.9}button.qcode.copied{color:var(--secondary-fixed-dim, #2fb7a5);border-color:color-mix(in srgb,var(--secondary-fixed-dim, #2fb7a5) 45%,transparent)}button.qcode.copied svg{opacity:1}.pts{font-family:var(--font-mono);font-size:12.5px;color:var(--outline);font-variant-numeric:tabular-nums}.dense .page{padding-top:20px;padding-bottom:64px}.dense .card-pad{padding:14px}.dense .btn{padding:6px 11px}.dense .stack{gap:10px}.dense .tbl td{padding:8px 12px}.no-console .t-console{display:none}@media (max-width: 1600px){.studio-topbar{gap:10px;padding:9px 16px}.studio-ribbon{grid-template-columns:170px 108px 76px minmax(220px,1fr) 132px 140px;padding-inline:16px}.rib-field{padding-inline:10px}.rib-tags,.rib-subsection{border-top:1px solid var(--composer-line);padding-top:8px}.rib-tags{grid-column:1 / span 4;padding-left:0}.rib-subsection{grid-column:5 / span 2;border-right:none}}@media (max-width: 920px){.topnav{min-height:58px;height:auto;gap:8px 10px;padding:8px 14px 9px;overflow:visible;flex-wrap:wrap;align-items:center}.brand{order:1;gap:8px;margin-right:auto}.brand-name{font-size:18px}.brand-sub{font-size:8px;letter-spacing:.16em}.nav-items{order:4;flex:0 0 100%;display:flex;gap:4px;overflow-x:auto;padding:2px 0 1px;scrollbar-width:none}.nav-items::-webkit-scrollbar{display:none}.nav-item{padding:6px 10px;font-size:12.5px}.role-switch{order:2}.role-switch button{padding:4px 8px;font-size:11px;white-space:nowrap}.user-menu{order:3;max-width:36px}.notif{order:3;flex:none}.topnav>.btn{order:2;flex:none}.user-pill{width:34px;height:34px;padding:0;justify-content:center;border-radius:var(--radius-full);background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.2)}.user-pill .avatar{width:28px;height:28px}.user-label{display:none}.user-menu-list{top:calc(100% + 8px);right:0}.hero h1{font-size:44px}.hero-inner{grid-template-columns:1fr;gap:26px;padding:58px 20px 64px}.hero-orbit{min-height:260px}.hero-orbit-card{width:100%;grid-template-columns:62px 1fr;padding:18px}.hero-orbit-card img{width:62px;height:62px;border-radius:14px}.hero-orbit-card strong{font-size:16px}.hero-formula-chip.chip-a{top:18px;right:22px}.hero-formula-chip.chip-b{left:10px;bottom:52px}.hero-formula-chip.chip-c{right:14px;bottom:28px}.section-head{display:block}.section-head p{margin-top:10px}.hero-formulas{display:none}.grid4{grid-template-columns:1fr 1fr}.grid3,.grid2,.ed-grid{grid-template-columns:1fr}.ed-preview,.ed-palette{border-left:none;border-top:1px solid rgba(74,92,106,.2)}.question-meta-grid{grid-template-columns:1fr 1fr}.studio-overlay{display:flex;flex-direction:column;overflow:auto}.studio-topbar{position:sticky;top:0;z-index:35;flex-wrap:wrap;gap:8px 10px;padding:8px 12px}.studio-brand{font-size:1rem}.studio-brand small{display:none}.studio-crumb{order:5;flex:0 0 100%;font-size:.72rem}.studio-topbar .btn{min-height:34px}.studio-ribbon{grid-template-columns:1fr 1fr;gap:8px;padding:9px 12px;z-index:25}.rib-field{border-right:none;border-bottom:0;padding:0}.rib-field>span{min-height:12px;font-size:.54rem;letter-spacing:.1em}.rib-field input,.rib-field .kselect-trigger{min-height:34px;padding:5px 8px;font-size:.8rem}.rib-unit,.rib-tags,.rib-subsection{grid-column:1 / -1;border-top:0}.studio-body{display:flex!important;flex:1 0 auto;flex-direction:column;min-height:0;overflow:visible}.studio-body>.question-source-panel{border-right:0;border-bottom:1px solid var(--composer-line)}.question-source-panel,.question-inspector-panel{overflow:visible;padding:10px 12px}.studio-editor{min-height:430px}.source-tab-bar{align-items:stretch;flex-wrap:wrap}.source-tabs{flex:1 1 100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.source-tabs::-webkit-scrollbar{display:none}.source-tab{flex:0 0 auto;padding:7px 10px}.source-tab-bar>.btn{flex:1 1 100%;justify-content:center;min-height:34px}.source-stack{min-height:300px}.code-latex-wrap{height:300px;min-height:300px}.studio-console{flex-wrap:wrap;gap:6px 8px;padding:8px 10px;font-size:10.5px}.question-paper-canvas{flex:0 0 auto;min-height:0;padding:10px 12px 14px;overflow:visible}.question-paper-sheet{width:100%;min-height:500px;padding:22px 18px;box-shadow:0 12px 30px #2e3a3a1f}.pdf-preview-canvas{padding:10px 12px 14px}.pdf-preview-sheet .full-doc-preview{min-height:520px;border-radius:12px}.full-doc-preview-toolbar{align-items:stretch;flex-direction:column;gap:8px;padding:10px}.full-doc-preview-toolbar>.row{justify-content:space-between}.full-doc-preview .latex-preview-pdf,.full-doc-preview .latex-preview-svg,.document-viewer,.document-viewer-empty{min-height:430px}.document-viewer-toolbar{height:auto;min-height:46px;gap:8px;padding:7px 10px;overflow-x:auto}.document-viewer-title{min-width:100px;max-width:160px;font-size:12px}.document-viewer-icon{width:30px;height:30px;flex:0 0 auto}.document-viewer-zoom{min-width:58px;height:30px;font-size:12px}.document-viewer-stage{min-height:360px;padding:8px 8px 18px}.figure-rail{border-left:0;border-top:1px solid var(--composer-line)}.figure-rail-collapsed{min-height:50px;padding:8px 12px}.figure-rail-collapsed .question-panel-head{justify-content:flex-end}.figure-rail-collapsed .question-panel-head .btn{width:auto}.fig-card-list{gap:8px}.fig-card{padding:8px;border-radius:8px}.fig-card-actions{flex-wrap:wrap}.fig-width-row{align-items:flex-start;flex-direction:column;gap:6px}.fig-width-val{min-width:0;text-align:left}.question-video-row{align-items:stretch;flex-direction:column}.question-video-upload{width:100%;justify-content:center}.question-composer-shell{grid-template-columns:1fr}.question-meta-top{grid-column:auto;grid-template-columns:1fr 1fr}.question-latex-head{align-items:flex-start;flex-direction:column;gap:4px}.past-paper-columns{grid-template-columns:1fr;gap:28px}.past-exam-section{padding:26px 20px 32px}.past-browser-filters,.past-ledger-filters{grid-template-columns:1fr}.past-ledger-stats{grid-template-columns:1fr 1fr}.past-ledger-head{display:none}.past-ledger-row{grid-template-columns:1fr}.past-ledger-row>div{border-right:0;border-bottom:1px solid rgba(74,92,106,.1)}.past-ledger-row>div:last-child{border-bottom:0}.past-admin-hero{grid-template-columns:1fr;padding:18px}.past-stats{min-width:0;grid-template-columns:1fr 1fr 1fr}.past-admin-grid{grid-template-columns:1fr}.pe-toolbar{align-items:stretch}.pe-toolbar .kselect,.pe-search{width:100%;min-width:0!important}.pe-tablecard{overflow-x:auto}.pe-table{min-width:760px}.pe-drop{grid-template-columns:34px minmax(0,1fr)}.pe-drop-action{grid-column:2}.past-file-row,.past-filter-bar,.past-file-pair,.past-form-grid{grid-template-columns:1fr}.past-upload-drop{grid-template-columns:34px minmax(0,1fr)}.past-upload-size{grid-column:2}.paper-pair-head{display:none}.paper-pair-row{grid-template-columns:1fr;gap:8px;align-items:start;padding:14px 0}.question-latex-head .dim{white-space:normal}.formula-workbench-grid{grid-template-columns:1fr}}@media (max-width: 560px){.studio-topbar{padding:8px 10px}.studio-crumb{display:none}.studio-spacer{flex:1 1 auto}.studio-ribbon{grid-template-columns:1fr 1fr;gap:6px 8px;padding:8px 10px}.rib-field>span{overflow:hidden;text-overflow:ellipsis}.rib-code,.rib-unit,.rib-tags{grid-column:auto}.rib-subsection{grid-column:1 / -1}.question-source-panel,.question-inspector-panel{padding:9px 10px}.studio-editor{min-height:408px}.source-stack{min-height:280px}.code-latex-wrap{height:280px;min-height:280px}.question-paper-canvas{padding:8px 8px 12px}.question-paper-sheet{min-height:460px;padding:18px 14px}.q-footer{padding-top:18px}.pdf-preview-sheet .full-doc-preview{min-height:480px}.full-doc-preview .latex-preview-pdf,.full-doc-preview .latex-preview-svg,.document-viewer,.document-viewer-empty{min-height:390px}.document-viewer-divider,.document-viewer-icon[aria-label=Rotate],.document-viewer-icon[aria-label=Download],.document-viewer-icon[aria-label=Print]{display:none}.fig-card-actions .btn{min-width:0;padding-inline:8px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#102a43c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.lightbox-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden}.lightbox-content{transform-origin:center center;transition:transform .04s linear;will-change:transform}.lightbox-content img,.lightbox-svg svg,.lightbox-svg img{max-width:88vw;max-height:86vh;display:block;background:#fff;border-radius:8px;box-shadow:0 18px 60px #00000073}.lightbox-svg{background:#fff;border-radius:8px;padding:12px;box-shadow:0 18px 60px #00000073}.lightbox-svg svg{box-shadow:none}.lightbox-bar{position:absolute;top:16px;right:16px;z-index:2;display:flex;align-items:center;gap:6px;background:#fffffff2;border:1px solid var(--outline-variant);border-radius:999px;padding:5px 8px;box-shadow:0 6px 20px #00000040}.lightbox-btn{width:30px;height:30px;display:grid;place-items:center;cursor:pointer;font-size:16px;line-height:1;color:var(--on-surface);background:transparent;border:0;border-radius:50%}.lightbox-btn:hover{background:var(--surface-container-high);color:var(--primary-container)}.lightbox-zoom{min-width:46px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:var(--on-surface-variant)}.qdeck{position:relative;width:100%;min-width:0}.qdeck-viewport{overflow:hidden;width:100%;min-width:0;touch-action:pan-y}.qdeck-track{display:flex;align-items:flex-start;transition:transform .3s cubic-bezier(.22,.61,.36,1);will-change:transform}.qdeck-track.dragging{transition:none}.qdeck-slide{flex:0 0 auto;box-sizing:border-box;padding:0 2px}.qdeck-placeholder{min-height:320px}.qdeck-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.qdeck-nav{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:24px;line-height:1;color:var(--on-surface);background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.22)}.qdeck-nav:disabled{opacity:.35}.qdeck-pos{font-size:13px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.qdeck-pos b{color:var(--primary-container);font-weight:700}.qdeck-hint{text-align:center;font-size:11.5px;margin-top:8px}.unit-list{display:flex;flex-direction:column;gap:18px}.unit-row{display:grid;gap:6px}.unit-head{display:flex;align-items:baseline;gap:10px}.unit-code{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--on-primary);background:var(--primary-container);padding:2px 7px;border-radius:5px}.unit-name{font-size:13.5px;color:var(--on-surface);font-weight:500}.unit-metrics{margin-left:auto;display:flex;align-items:baseline;gap:8px}.unit-metrics b{font-size:15px;color:var(--primary-container);font-variant-numeric:tabular-nums}.unit-share{font-size:11.5px;color:var(--outline);min-width:34px;text-align:right}.unit-bar{height:8px;background:var(--surface-container-high);border-radius:4px;overflow:hidden}.unit-bar-fill{position:relative;height:100%;border-radius:4px;background:var(--outline-variant);transition:width .4s var(--ease-out);overflow:hidden}.unit-bar-pub{position:absolute;inset:0 auto 0 0;height:100%;background:var(--metallic-gradient);border-radius:4px;transition:width .4s var(--ease-out)}.unit-sub{font-size:11px}.unit-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;padding-top:14px;border-top:1px solid var(--outline-variant);font-size:11.5px}.unit-legend span{display:inline-flex;align-items:center;gap:6px}.unit-legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block}.unit-legend .dot-pub{background:var(--metallic-gradient)}.unit-legend .dot-draft{background:var(--outline-variant)}.unit-legend-note{margin-left:auto;font-style:italic}:root{--background: #F7F1E3;--surface: #F7F1E3;--surface-dim: #EEE5D4;--surface-bright: #FFFFFF;--surface-container-lowest: #FFFCF6;--surface-container-low: #FFF8ED;--surface-container: #F3E9D8;--surface-container-high: #E7DAC6;--surface-container-highest: #D8C8AE;--surface-variant: #E7DAC6;--primary: #102A43;--primary-container: #102A43;--primary-fixed: #102A43;--primary-fixed-dim: #102A43;--on-primary: #FFF8ED;--on-primary-container: #FFF8ED;--on-primary-fixed: #FFF8ED;--on-primary-fixed-variant: #F7F1E3;--inverse-primary: #F2B84B;--surface-tint: #2FB7A5;--secondary: #314A61;--secondary-container: #D7EAE6;--secondary-fixed: #2FB7A5;--secondary-fixed-dim: #168F82;--on-secondary: #F7F1E3;--on-secondary-container: #102A43;--tertiary: #85621F;--tertiary-container: #F2B84B;--tertiary-fixed: #F2B84B;--tertiary-fixed-dim: #C98912;--on-tertiary: #1F2933;--on-tertiary-container: #3E2B00;--on-background: #1F2933;--on-surface: #1F2933;--on-surface-variant: #52606D;--inverse-surface: #102A43;--inverse-on-surface: #FFF8ED;--outline: #7B8794;--outline-variant: #D6CBB9;--error: #B42318;--error-container: #FDE2DD;--on-error: #FFFFFF;--on-error-container: #7A180F;--agent-cinematographer: #2FB7A5;--agent-synthesis: #85621F;--font-headline: "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--font-body: "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--font-label: "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--shadow-cinematic: 0 24px 54px rgba(16, 42, 67, .14);--shadow-glow-gold: 0 12px 30px rgba(242, 184, 75, .24);--shadow-glow-gold-lg: 0 18px 44px rgba(47, 183, 165, .22);--metallic-gradient: linear-gradient(135deg, #102A43, #163B5C);--metallic-gradient-v: linear-gradient(135deg, #102A43, #163B5C);--text-gradient-gold: linear-gradient(135deg, #102A43 0%, #168F82 56%, #C98912 100%);--film-strip: repeating-linear-gradient(to right, rgba(16, 42, 67, .18) 0, rgba(16, 42, 67, .18) 12px, transparent 12px, transparent 18px);--hero-ember: radial-gradient(ellipse 42% 58% at 80% 35%, rgba(47, 183, 165, .18), transparent 70%), radial-gradient(ellipse 42% 64% at 10% 18%, rgba(242, 184, 75, .18), transparent 72%)}html,body{background:linear-gradient(180deg,#fffcf6,#f7f1e3 58%,#efe4d0);color:var(--on-surface)}.app{color:var(--on-surface);--tx-dim: #697586;--tx-muted: #52606D;--tx-console: #168F82;--tx-accent: #102A43}.topnav{background:#fffcf6e0;border-bottom-color:#102a431a}.card,.modal,.toast,.answer-box,.ed-toolbar,.ed-grid{background:#fffcf6c7;border-color:#102a431f;box-shadow:0 14px 38px #102a4312;color:var(--on-surface)}.dim{color:var(--tx-dim)}.muted{color:var(--tx-muted)}.t-console{color:var(--tx-console)}.modal.formula-floating-modal{background:#fffdf8;box-shadow:0 18px 46px #102a4329}.gold{color:var(--tx-accent)}.page-sub,.field-label{color:var(--tx-dim)}.tab{color:var(--tx-muted)}.tab:hover,.tab.active{color:var(--primary-container)}.tab.active{border-color:var(--primary-container)}.btn-primary{background:var(--metallic-gradient);color:#fff8ed;box-shadow:0 10px 20px #102a431f}.btn-primary:hover{box-shadow:0 16px 30px #102a432e}.btn-ghost{background:#fffcf68f;color:#314a61;border-color:#102a432e}.chip.active,.tag-gold{background:#dff7ef;border-color:#71c8ac;color:#075f48}.tag-cyan{background:#2fb7a51a;border-color:#2fb7a540;color:#168f82}.tag-section{background:#ffe5bd;border-color:#e19a2c;color:#754102}.tag-subsection{background:#dff0ff;border-color:#7ab8e9;color:#0e5f93}.tag-easy{background:#eee7ff;border-color:#a88be6;color:#54318c}.tag-medium{background:#dcf8d9;border-color:#70c66d;color:#23651d}.tag-hard{background:#ffe0df;border-color:#e1706b;color:#98211c}.tag-published{background:#dbf8e8;border-color:#5fc78d;color:#116339}.tag-draft{background:#fff1c6;border-color:#d9aa2c;color:#705104}.tag-disabled{background:#eceff1;border-color:#c7d0d6;color:#60707a}.hero{background:var(--hero-ember),linear-gradient(180deg,#fffcf6f0,#f7f1e3b8);border-bottom-color:#102a4314}.hero h1{color:#102a43}.hero h1 em{background:linear-gradient(135deg,#102a43,#168f82 48%,#c98912);-webkit-background-clip:text;background-clip:text;color:transparent}.fx-item,.fx-item:nth-child(3n),.fx-item:nth-child(4n){color:#38566f}.tbl tbody tr:hover{background:#2fb7a514}.select option{background:#fffcf6;color:#1f2933}footer{border-top-color:#102a431a!important}button:focus-visible,button:focus{box-shadow:none;outline:none}::selection{background:#2fb7a538;color:var(--on-surface)}::-webkit-scrollbar-thumb{background:#d8c8ae}::-webkit-scrollbar-thumb:hover{background:#7b8794}:focus-visible{box-shadow:0 0 0 1px var(--background),0 0 0 2px #2fb7a5}.boot{padding:60px 24px;text-align:center;color:var(--outline);font-size:14px}.app-boot{min-height:100vh;display:grid;place-items:center;color:var(--outline);font-size:14px}.toast-stack{position:fixed;right:24px;top:76px;z-index:200;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}.toast-stack .toast{width:min(360px,calc(100vw - 32px));pointer-events:auto;animation:toastSlideIn .22s var(--ease-out)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(calc(100% + 32px))}}.toast-success{border-color:#2fb7a566}.toast-error{border-color:#b4231866;color:var(--error)}@media (max-width: 640px){.toast-stack{right:16px;top:68px}}.auth-wrap{flex:1;display:grid;place-items:center;padding:56px 20px}.auth-card{width:100%;max-width:440px;padding:34px 32px}.auth-card h1{font-family:var(--font-headline);font-size:24px;font-weight:700;margin-bottom:6px}.auth-tabs{display:flex;gap:4px;margin:20px 0 18px;background:var(--surface-container-lowest);border:1px solid rgba(16,42,67,.12);border-radius:var(--radius-full);padding:3px}.auth-tabs button{flex:1;padding:7px 0;border-radius:var(--radius-full);font-size:13px;color:var(--on-surface-variant)}.auth-tabs button.active{background:var(--metallic-gradient);color:#fff8ed;font-weight:600}.role-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.role-pick button{text-align:left;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(16,42,67,.18);background:var(--surface-container-lowest);transition:all var(--duration-base)}.role-pick button.active{border-color:var(--secondary-fixed-dim);background:#2fb7a514}.role-pick .t{font-weight:600;font-size:14px}.role-pick .d{font-size:11.5px;color:var(--outline);margin-top:3px}.auth-switch{margin-top:16px;font-size:13px;color:var(--outline);text-align:center}.auth-switch a{color:var(--secondary-fixed-dim);font-weight:600}.pagination{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap}.pagination button{min-width:34px;height:34px;padding:0 10px;border-radius:var(--radius-md);border:1px solid rgba(74,92,106,.22);background:var(--surface-container-lowest);font-size:13px;color:var(--on-surface-variant)}.pagination button:hover:not(:disabled){border-color:var(--secondary-fixed-dim);color:var(--on-surface)}.pagination button.on{background:var(--metallic-gradient);color:#fff8ed;border-color:transparent;font-weight:600}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .info{font-size:12px;color:var(--outline);margin-left:8px}.overlay{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.modal{background:#fffcf6}.kselect{position:relative;width:100%}.kselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.25);border-radius:var(--radius-md);padding:8px 10px;font-size:13px;color:var(--on-surface);text-align:left;transition:border-color var(--duration-base)}.kselect-trigger:hover{border-color:#2fb7a566}.kselect.open .kselect-trigger{border-color:var(--secondary-fixed-dim)}.kselect-trigger svg{color:var(--outline);flex:none;transition:transform var(--duration-base)}.kselect.open .kselect-trigger svg{transform:rotate(180deg)}.kselect-ph{color:var(--outline)}.kselect.disabled{opacity:.5;pointer-events:none}.kselect-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:70;max-height:300px;overflow:auto;padding:6px;background:#fffcf6fc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(16,42,67,.14);border-radius:var(--radius-lg);box-shadow:var(--shadow-cinematic);display:grid;gap:2px}.kselect-opt{text-align:left;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;line-height:1.4;color:var(--on-surface-variant)}.kselect-opt:hover:not(:disabled){background:var(--surface-container);color:var(--on-surface)}.kselect-opt.active{background:#2fb7a51a;color:var(--primary-container);font-weight:600}.kselect-opt:disabled{opacity:.4;cursor:not-allowed}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:240px;padding:8px;background:#fffcf6fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(16,42,67,.14);border-radius:var(--radius-lg);box-shadow:var(--shadow-cinematic);display:grid;gap:2px}.dd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:var(--radius-md);font-size:13px;color:var(--on-surface-variant)}.dd-item:hover{background:var(--surface-container);color:var(--primary-container)}.dd-item small{color:var(--outline);font-size:11.5px}.dd-new{display:flex;gap:6px;padding:8px 4px 2px;border-top:1px solid rgba(74,92,106,.15);margin-top:4px}.dd-new input{flex:1}.editor-item{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;margin-bottom:12px;background:var(--surface-container-low);border:1px solid rgba(74,92,106,.15);border-radius:var(--radius-lg);transition:border-color var(--duration-base),box-shadow var(--duration-base),transform var(--duration-fast)}.editor-item.selected{border-color:#2fb7a573;background:color-mix(in srgb,var(--surface-container-low) 88%,var(--secondary-fixed-dim))}.editor-item.drag-over{border-color:var(--secondary-fixed-dim);box-shadow:0 0 0 2px #2fb7a52e}.editor-item.dragging{opacity:.5}.editor-item .q-check{margin-top:3px;flex:none}.editor-item .grip{cursor:grab;color:var(--outline);padding-top:2px;-webkit-user-select:none;user-select:none}.editor-item .num{font-family:var(--font-mono);font-weight:700;font-size:16px;color:var(--primary-container);padding-top:1px}.editor-item .body{flex:1;min-width:0}.grade-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;align-items:start}.grade-label{font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:500;margin-bottom:8px;text-transform:uppercase}.student-answer{background:var(--surface-container-lowest);border:1px solid rgba(74,92,106,.2);border-radius:var(--radius-md);padding:14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;min-height:60px}.grade-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.grade-row label{font-size:13px;display:inline-flex;align-items:center}.grade-row input[type=number]{width:80px;text-align:center}.grade-row>input:not([type=number]){flex:1;min-width:200px}.ai-suggest{margin-top:12px;padding:10px 14px;border-radius:var(--radius-md);background:#2fb7a50f;border:1px solid rgba(47,183,165,.2);font-size:12.5px;color:var(--on-surface-variant);line-height:1.7}.ai-chip{display:inline-block;font-size:11px;font-weight:600;color:var(--secondary-fixed-dim);margin-right:6px}.progress{height:6px;background:var(--surface-container-high);border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--metallic-gradient);border-radius:3px;transition:width .4s var(--ease-out)}.bank-layout{display:grid;grid-template-columns:268px 1fr;gap:20px;align-items:start}.bank-layout>*{min-width:0}.bank-aside{position:sticky;top:74px}.bank-filter-toggle{display:none}.bank-filter-body{gap:18px}@media (max-width: 920px){.bank-layout{grid-template-columns:1fr;gap:12px}.bank-aside{position:static;padding:12px 14px}.bank-filter-head{margin:-2px 0}.bank-filter-title{display:none}.bank-filter-toggle{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--on-surface)}.bank-filter-toggle>span:last-child{flex:none;font-family:var(--font-mono);font-size:11.5px;color:var(--primary-container)}.bank-aside-collapsed .bank-filter-body{display:none}.bank-filter-body{padding-top:8px}.grade-grid{grid-template-columns:1fr}}.print-sheet{background:#fff;color:#14110c;font-family:Times New Roman,"Noto Serif SC",serif;width:794px;padding:40px 48px 18px}.print-sheet h1{font-size:22px;text-align:center;margin-bottom:10px}.print-sheet .info{text-align:center;font-size:13px;color:#333;margin-bottom:4px}.print-sheet hr{border:none;border-top:1px solid #999;margin:14px 0}.print-sheet .pq{margin-bottom:16px;page-break-inside:avoid}.print-sheet .pq:last-child{margin-bottom:0}.print-sheet .pq .head{font-weight:700;font-size:14px;margin-bottom:6px}.print-sheet .pq .meta{font-weight:400;font-size:11.5px;color:#666;margin-left:8px}.print-sheet .source-note{margin-top:1em;text-align:right;font-size:11px;color:#555;font-style:italic}.print-sheet .ans-title{font-size:18px;font-weight:700;margin:28px 0 14px;page-break-before:always;border-top:2px solid #333;padding-top:14px}.print-sheet .q-image{margin-top:8px}.print-sheet .q-image svg{max-width:100%}.spacer{flex:1}.list-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.list-head .count{font-size:13px;color:var(--on-surface-variant)}.table-wrap{overflow-x:auto}@media (max-width: 920px){.card:has(.tbl){overflow-x:auto;-webkit-overflow-scrolling:touch}.card:has(.tbl) .tbl{min-width:440px}.question-admin-table-card:has(.tbl) .tbl{min-width:0}}.q-check{width:15px;height:15px}.code-pill{font-family:var(--font-mono);font-weight:600;font-size:13px;color:var(--primary-container)}.dropzone-file{display:inline-flex}.data{width:100%;border-collapse:collapse;font-size:13px}.data th{text-align:left;font-size:11px;letter-spacing:.08em;color:var(--outline);font-weight:500;padding:10px 12px;border-bottom:1px solid rgba(74,92,106,.25);white-space:nowrap}.data td{padding:11px 12px;border-bottom:1px solid rgba(74,92,106,.12);vertical-align:middle}.data tbody tr:hover{background:#2fb7a50f}.data a{color:var(--secondary-fixed-dim);font-weight:500}.notif{position:relative}.notif-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:none;background:none;color:var(--on-surface, #222);cursor:pointer}.notif-btn:hover{background:var(--surface-container, #f3f3f3)}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e5484d;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.notif-menu{position:absolute;right:0;top:46px;width:340px;max-width:86vw;background:var(--surface-container-low, #fff);border:1px solid var(--outline-variant, rgba(0,0,0,.12));border-radius:12px;box-shadow:0 10px 34px #0000002e;z-index:60;overflow:hidden}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--outline-variant, rgba(0,0,0,.1));font-weight:600;font-size:13.5px}.notif-head button{border:none;background:none;color:var(--primary-container, #2f6f63);font-size:12px;cursor:pointer}.notif-list{max-height:60vh;overflow:auto}.notif-empty{padding:26px 14px;text-align:center;color:var(--outline, #888);font-size:13px}.notif-row{position:relative;overflow:hidden;border-bottom:1px solid var(--outline-variant, rgba(0,0,0,.06))}.notif-row-del{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding-right:18px;background:var(--error, #e5484d);color:#fff}.notif-item{position:relative;display:block;width:100%;text-align:left;padding:11px 14px;border:none;background:var(--surface-container-low, #fff);cursor:pointer;touch-action:pan-y}.notif-item:hover{background:var(--surface-container, #f5f5f5)}.notif-item.unread{background:color-mix(in srgb,var(--primary-container, #2f6f63) 8%,var(--surface-container-low, #fff))}.notif-x{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;display:none;align-items:center;justify-content:center;color:var(--outline, #888)}.notif-row:hover .notif-x{display:inline-flex}.notif-x:hover{background:var(--surface-container-high, #e9e9e9);color:var(--error, #e5484d)}.notif-title{font-size:13px;font-weight:600;color:var(--on-surface, #222)}.notif-body{font-size:12px;color:var(--on-surface-variant, #666);margin-top:2px}.notif-time{font-size:11px;color:var(--outline, #999);margin-top:3px;font-family:var(--font-mono)}.notif-foot{border-top:1px solid var(--outline-variant, rgba(0,0,0,.1))}.notif-foot button{width:100%;padding:11px 14px;border:none;background:none;color:var(--error, #e5484d);font-size:12.5px;cursor:pointer;text-align:center}.notif-foot button:hover{background:var(--surface-container, #f5f5f5)}.composer{display:flex;flex-direction:column;gap:6px}.composer .textarea{width:100%;resize:vertical}.composer-files{display:flex;flex-wrap:wrap;gap:6px}.composer-files .chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:8px;background:var(--surface-container, #eee);font-size:12px}.composer-files .chip button{border:none;background:none;cursor:pointer;color:var(--outline, #888)}.post{display:flex;gap:12px}.post-main{flex:1;min-width:0}.post-head{display:flex;align-items:center;gap:8px}.post-author{font-weight:600;font-size:13.5px}.post-badge{margin-left:6px;font-size:10px;font-weight:700;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--primary-container, #2f6f63) 18%,transparent);color:var(--primary-container, #2f6f63)}.post-time{font-size:11.5px;color:var(--outline, #999);font-family:var(--font-mono)}.post-del{margin-left:auto;border:none;background:none;color:var(--outline, #999);cursor:pointer}.post-del:hover{color:#e5484d}.post-body{margin-top:5px;font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.post-attach{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.post-img img{max-width:220px;max-height:200px;border-radius:8px;display:block;border:1px solid var(--outline-variant, rgba(0,0,0,.1))}.post-file{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--surface-container, #eee);font-size:12.5px;text-decoration:none;color:var(--on-surface, #222)}.post-actions{margin-top:6px}.post-actions button{border:none;background:none;color:var(--primary-container, #2f6f63);font-size:12px;cursor:pointer;padding:0}.post-replies{margin-top:12px;padding-left:14px;border-left:2px solid var(--outline-variant, rgba(0,0,0,.1));display:flex;flex-direction:column;gap:14px}.sub-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px}.class-card{display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer}.class-card-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary-container, #2f6f63) 14%,transparent);color:var(--primary-container, #2f6f63);flex:none}.class-card-main{flex:1;min-width:0}.class-card-name{font-weight:600;font-size:15px}.class-card-sub{font-size:12.5px;color:var(--on-surface-variant, #666);margin-top:2px}.class-card-meta{font-size:12px;color:var(--outline, #999);display:inline-flex;align-items:center;gap:5px;flex:none}.class-hero{display:flex;align-items:center;gap:16px;margin-top:12px}.class-hero-ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary-container, #2f6f63) 14%,transparent);color:var(--primary-container, #2f6f63);flex:none}.class-hero-name{font-size:20px;font-weight:700}.member-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.member{display:flex;align-items:center;gap:10px}.member-info{min-width:0}.member-name{font-size:13.5px;font-weight:600;display:flex;align-items:center}.react-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.react-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:12px;border:1px solid var(--outline-variant, rgba(0,0,0,.12));background:var(--surface-container-low, #fff);font-size:12.5px;cursor:pointer;line-height:1.6}.react-chip:hover{background:var(--surface-container, #f3f3f3)}.react-chip.mine{border-color:var(--primary-container, #2f6f63);background:color-mix(in srgb,var(--primary-container, #2f6f63) 12%,transparent);color:var(--primary-container, #2f6f63)}.react-chip.add{color:var(--outline, #888);font-weight:700}.react-add{position:relative}.react-pop{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;display:flex;gap:2px;padding:5px;background:var(--surface-container-low, #fff);border:1px solid var(--outline-variant, rgba(0,0,0,.14));border-radius:10px;box-shadow:0 6px 20px #00000029}.react-pop button{border:none;background:none;font-size:18px;cursor:pointer;padding:2px 4px;border-radius:6px}.react-pop button:hover{background:var(--surface-container, #eee)}.mention{color:var(--primary-container, #2f6f63);font-weight:600}.chat{display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-scroll{height:58vh;min-height:320px;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:14px;background:var(--surface-container-lowest, #faf9f6)}.chat-empty{margin:auto;color:var(--outline, #999);font-size:13.5px}.chat-msg{display:flex;gap:10px;align-items:flex-start;max-width:78%}.chat-msg.mine{margin-left:auto;flex-direction:row-reverse}.chat-col{min-width:0;display:flex;flex-direction:column}.chat-msg.mine .chat-col{align-items:flex-end}.chat-name{font-size:11.5px;color:var(--on-surface-variant, #666);margin:0 4px 3px;display:flex;align-items:center;gap:4px}.chat-bubble{position:relative;padding:9px 12px;border-radius:14px;background:var(--surface-container-low, #fff);border:1px solid var(--outline-variant, rgba(0,0,0,.08));font-size:13.5px;line-height:1.55;word-break:break-word}.chat-msg.mine .chat-bubble{background:color-mix(in srgb,var(--primary-container, #2f6f63) 16%,#fff);border-color:color-mix(in srgb,var(--primary-container, #2f6f63) 28%,transparent)}.chat-text{white-space:pre-wrap}.chat-quote{border-left:3px solid var(--outline-variant, rgba(0,0,0,.18));padding:2px 8px;margin-bottom:6px;font-size:12px;color:var(--on-surface-variant, #666);background:#00000008;border-radius:4px}.chat-bubble .post-attach{margin-top:6px}.chat-bubble .post-img img{max-width:180px;max-height:160px}.chat-tools{position:absolute;top:-10px;right:8px;display:none;gap:2px;background:var(--surface-container-low, #fff);border:1px solid var(--outline-variant, rgba(0,0,0,.12));border-radius:8px;padding:2px;box-shadow:0 2px 8px #0000001a}.chat-msg.mine .chat-tools{right:auto;left:8px}.chat-bubble:hover .chat-tools{display:flex}.chat-tools button{border:none;background:none;cursor:pointer;color:var(--outline, #888);padding:3px;border-radius:5px}.chat-tools button:hover{background:var(--surface-container, #eee);color:var(--on-surface, #222)}.chat-foot{display:flex;align-items:center;gap:8px;margin:3px 4px 0}.chat-msg.mine .chat-foot{flex-direction:row-reverse}.chat-time{font-size:10.5px;color:var(--outline, #aaa);font-family:var(--font-mono)}.chat-foot .react-bar{margin-top:0}.chat-input{border-top:1px solid var(--outline-variant, rgba(0,0,0,.1));padding:12px 14px;background:var(--surface-container-low, #fff)}.chat-replying{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--on-surface-variant, #666);background:var(--surface-container, #f3f3f3);border-radius:8px;padding:6px 10px;margin-bottom:8px}.chat-replying button{border:none;background:none;cursor:pointer;color:var(--outline, #888)}.chat-react-btn{position:relative;display:inline-flex}.chat-tools .react-pop{top:calc(100% + 4px);bottom:auto;left:50%;transform:translate(-50%)}.chat-msg.mine .chat-tools .react-pop{left:auto;right:0;transform:none}.chat-tools .recall:hover,.chat-tools button[title=Delete]:hover{color:var(--error, #e5484d)}.chat-tools button{font-size:14px;line-height:1}.card.announce{border-left:3px solid var(--gold, #c8a24d)}.ann-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:7px;color:var(--on-surface, #222)}.ann-body{margin-top:8px;font-size:13.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:var(--on-surface-variant, #555)}
