@import"https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&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.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--bg: #f4f1ea;--card: #ffffff;--ink: #0e2950;--muted: #5c6473;--line: #d6d6d6;--brand: #324dc7;--brand-ink: #1f2e8b;--brand-soft: #e5eaf9;--accent: #f8b82c;--header-bg: #0e2950;--danger: #c42b2b;--radius: 8px;--shadow: 0 1px 2px rgba(14, 41, 80, .06), 0 4px 16px rgba(14, 41, 80, .06)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;color:var(--ink);background:var(--bg)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 28px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar>.brand{justify-self:start}.topbar>.crumbs{justify-self:end}.topbar-heading{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.topbar-title{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}.brand{font-weight:800;font-size:16px;letter-spacing:-.03em;color:var(--ink);border:0;padding:0;cursor:pointer;font-family:inherit;background:none;outline:none;-webkit-tap-highlight-color:transparent;transition:all .2s ease;display:flex;align-items:center;gap:7px}.brand:hover{filter:brightness(1.05)}.brand-hq{color:var(--ink);font-weight:900;letter-spacing:-.02em}.brand-icon{transition:transform .3s cubic-bezier(.4,0,.2,1),filter .3s ease;filter:none}.brand:hover .brand-icon{transform:rotate(8deg) scale(1.1);filter:drop-shadow(0 2px 8px rgba(50,77,199,.35))}.brand .muted{color:var(--muted);font-weight:500;font-size:13px}.muted{color:var(--muted)}.crumbs{display:flex;gap:6px;font-size:13px}.crumb{padding:5px 12px;border-radius:999px;background:#ede9df;color:var(--muted);transition:all .2s ease;font-weight:500}.crumb.on{background:var(--brand);color:#fff;box-shadow:0 2px 8px #324dc74d;font-weight:600}.crumb.done{background:#dde3f5;color:var(--brand-ink);font-weight:600}main{flex:1;display:flex;justify-content:center;padding:32px 24px 80px}.stage{width:100%;max-width:960px;display:flex;flex-direction:column;gap:20px}.step-badge{display:inline-block;font-size:12px;font-weight:600;color:var(--brand-ink);background:#dde3f5;padding:3px 10px;border-radius:999px}.ts{width:100%;max-width:1320px;margin:0 auto;display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 0 16px}.app:has(.ts){height:100vh;overflow:hidden}.app:has(.ts) main{min-height:0;overflow:hidden;padding:16px 24px 20px}.ts-track{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:8px 4px 12px;flex-shrink:0}@media (max-width: 980px){.ts-track{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.ts-track{grid-template-columns:1fr}}.app:has(.preview-stage){height:100vh;overflow:hidden}.app:has(.preview-stage) main{min-height:0;overflow:hidden;padding:16px 20px}.preview-stage{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;gap:12px}.preview-split{display:flex;gap:16px;width:100%;flex:1;min-height:0}.preview-split-main{flex:2;min-width:0;min-height:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f172a0a;display:flex;flex-direction:column}.preview-split-main .pa-root{height:100%}.preview-split-main .pa-card{min-height:0}.preview-split-side{flex:1;min-width:280px;max-width:420px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;min-height:0;box-shadow:0 1px 2px #0f172a0a;transition:max-width .18s ease,min-width .18s ease,flex-basis .18s ease}.preview-split-side.collapsed{flex:0 0 84px;min-width:84px;max-width:84px}.preview-stage-footer{display:flex;gap:10px;justify-content:center;padding:8px 0 4px;flex-shrink:0}.preview-nav-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .12s}.preview-nav-btn:hover{border-color:#324dc7;color:#324dc7;background:#324dc70a}.preview-nav-btn svg{flex-shrink:0}.preview-nav-btn-publish{background:#324dc7;border-color:transparent;color:#fff;box-shadow:0 2px 6px #324dc740;margin-left:12px}.preview-nav-btn-publish:hover:not(:disabled){filter:brightness(1.06);border-color:transparent;color:#fff;background:#324dc7}.preview-nav-btn-publish:disabled{opacity:.6;cursor:not-allowed}.preview-sidebar{display:flex;flex-direction:column;min-height:0;flex:1}.preview-sidebar.collapsed{align-items:center;justify-content:center;padding:12px 0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;font-family:inherit;transition:background .12s}.preview-sidebar.collapsed:hover{background:#324dc70f}.preview-sidebar.collapsed:hover .preview-sidebar-collapsed-label{color:#324dc7}.preview-sidebar-collapsed-label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);transition:color .12s}.preview-sidebar-collapse{width:28px;height:28px;margin:0 6px 0 4px;border:0;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .12s;flex-shrink:0;align-self:center}.preview-sidebar-collapse:hover{color:var(--ink);background:#0f172a0a}.preview-sidebar-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:#faf8f2;border-radius:12px 12px 0 0}.preview-sidebar-tab{flex:1;padding:10px 14px;background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s}.preview-sidebar-tab:hover{color:var(--ink)}.preview-sidebar-tab.active{color:var(--ink);border-bottom-color:#324dc7;background:#fff}.preview-sidebar-body{flex:1;min-height:0;overflow-y:auto;padding:14px}.ps-panel{display:flex;flex-direction:column;gap:14px}.ps-field{display:flex;flex-direction:column;gap:5px}.ps-field.disabled{opacity:.55;pointer-events:none}.ps-field-label{font-size:12px;font-weight:600;color:var(--ink)}.ps-field-hint{font-size:11px;color:var(--muted);line-height:1.35}.ps-field input[type=text],.ps-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;background:#fff}.ps-field input[type=text]:focus,.ps-field textarea:focus{outline:none;border-color:#324dc7;box-shadow:0 0 0 3px #324dc71f}.ps-pills{display:flex;flex-wrap:wrap;gap:4px}.ps-pills.disabled .ps-pill{cursor:not-allowed}.ps-pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .12s}.ps-pill:hover{color:var(--ink);border-color:#c8c8c8}.ps-pill.active{background:#324dc7;color:#fff;border-color:transparent}.ps-pill[disabled]{opacity:.5}.ps-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}.ps-toggle-row.disabled{opacity:.55;cursor:not-allowed}.ps-hint{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.4;padding-top:10px;border-top:1px solid var(--line)}.ps-q-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ps-q-item{border:1px solid var(--line);border-radius:10px;padding:10px;background:#faf8f2;display:flex;flex-direction:column;gap:8px}.ps-q-head{display:flex;align-items:center;justify-content:space-between}.ps-q-num{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.02em}.ps-q-actions{display:flex;gap:4px}.ps-q-btn{width:24px;height:24px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);transition:all .12s}.ps-q-btn:hover:not(:disabled){color:var(--ink);border-color:#c8c8c8}.ps-q-btn:disabled{opacity:.4;cursor:not-allowed}.ps-q-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.ps-q-prompt,.ps-q-answer{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:13px;font-family:inherit;background:#fff;resize:none}.ps-q-prompt:focus,.ps-q-answer:focus,.ps-mc-input:focus{outline:none;border-color:#324dc7;box-shadow:0 0 0 3px #324dc71f}.ps-mc-list{display:flex;flex-direction:column;gap:5px}.ps-mc-row{display:flex;align-items:center;gap:8px}.ps-mc-input{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:5px 8px;font-size:12px;font-family:inherit;background:#fff}.ps-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;font-size:13px;color:var(--muted)}.ps-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .12s}.ps-btn:hover{border-color:#324dc7;color:#324dc7}.ps-btn.ghost{background:transparent}.ps-add-q{align-self:stretch;margin-top:4px}.ts-card{text-align:left;cursor:pointer;border:1px solid rgba(14,41,80,.06);padding:24px 18px 20px;border-radius:22px;display:flex;flex-direction:column;gap:16px;overflow:hidden;width:100%;height:clamp(280px,48vh,420px);transition:transform .18s ease,box-shadow .18s ease;font-family:inherit}.ts-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0e29501f}.ts-card:active{transform:translateY(-1px);transition-duration:.05s}.ts-card.color-indigo{background:#c5cce4}.ts-card.color-sand{background:#e6d4b3}.ts-card.color-mist{background:#c8d6df}.ts-card.color-honey{background:#e6d68e}.ts-card-name{margin:0;padding:0;font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.15;text-align:center;color:var(--ink);flex-shrink:0}.ts-card-preview{background:#fff;border-radius:16px;padding:14px 12px;flex:1;min-height:0;display:flex;box-shadow:0 4px 14px #0e29500f}.ts-detail{flex:1;min-height:0;margin-top:16px;padding:8px 4px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.ts-detail-prompt{margin:0;font-size:15px;font-weight:500;color:var(--muted);letter-spacing:.005em;opacity:.85}.ts-detail-card{width:100%;text-align:left;display:flex;flex-direction:column;gap:14px;animation:ts-detail-in .24s cubic-bezier(.2,.7,.2,1) both}@keyframes ts-detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ts-detail-head{text-align:center;display:flex;flex-direction:column;gap:4px}.ts-detail-title{margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.ts-detail-headline{margin:0;font-size:15px;font-weight:700;color:var(--brand);letter-spacing:.005em}.ts-detail-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:4px}.ts-detail-body{margin:0;font-size:14px;line-height:1.55;color:var(--ink);opacity:.82}@media (max-width: 820px){.ts-detail-cols{grid-template-columns:1fr;gap:10px}}.tp{width:100%;height:100%;min-height:0;background:#f4f1ea;border-radius:10px;border:1px solid #dde1ef;display:flex;flex-direction:column;overflow:hidden}.tp-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#fff;border-bottom:1px solid #e0e3ea;flex-shrink:0}.tp-dots{display:flex;align-items:center;gap:4px}.tp-dots .d{width:7px;height:7px;border-radius:50%;border:1.5px solid #c8c8c8;background:#fff;display:block}.tp-dots .d.on{background:var(--brand);border-color:var(--brand);box-shadow:0 0 4px #324dc759}.tp-dots .d.done{background:var(--brand);border-color:var(--brand);opacity:.4}.tp-stat{font-size:8px;font-weight:700;color:var(--muted)}.tp-stat.subtle{color:#b0b5c5}.tp-label{font-size:8px;font-weight:800;color:var(--ink)}.tp-timer{display:flex;align-items:center;gap:2px;font-size:8px;font-weight:800;color:#dc2626;background:#fef2f2;padding:2px 6px;border-radius:999px}.tp-body{flex:1;display:flex;padding:6px;gap:5px;min-height:0}.tp-qnum{display:inline-block;width:fit-content;font-size:7px;font-weight:800;color:var(--brand-ink);background:#324dc714;padding:1px 6px;border-radius:999px}.tp-ln{height:4px;border-radius:2px;background:#e4e8f0}.tp-caret{display:inline-block;width:1px;height:10px;background:var(--brand);opacity:0;transition:opacity .2s}.ts-card:hover .tp-caret{opacity:1;animation:tp-blink 1s step-end infinite}@keyframes tp-blink{0%,to{opacity:1}50%{opacity:0}}.tp-qcard{flex:1;background:#fff;border-radius:7px;border:1px solid #e0e3ea;padding:8px 10px;display:flex;flex-direction:column;gap:5px;transition:flex .5s cubic-bezier(.4,0,.2,1)}.tp-qcard.full{flex:1}.tp-diagram{background:#faf8f2;border:1px solid #e0e3ea;border-radius:4px;padding:3px}.tp-lines{display:flex;flex-direction:column;gap:3px}.tp-mf{display:flex;align-items:center;gap:1px;padding:4px 7px;background:#faf8f2;border:1.5px solid #c8c8c8;border-radius:4px}.tp-latex{font-size:8px;font-weight:600;color:var(--ink);font-style:italic}.tp-btns{display:flex;justify-content:flex-end;gap:4px;margin-top:auto}.tp-btn{font-size:6px;font-weight:700;padding:2px 8px;border-radius:3px}.tp-btn.ghost{color:var(--muted);border:1px solid #c8c8c8;background:#fff}.tp-btn.solid{color:#fff;background:#324dc7;border:none}.tp-ai{width:26px;flex-shrink:0;background:linear-gradient(180deg,#324dc708,#324dc714);border-left:1.5px solid rgba(50,77,199,.12);border-radius:0 7px 7px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:width .5s cubic-bezier(.4,0,.2,1)}.ts-card:hover .tp-ai{width:110px}.tp-ai-orb-wrap{position:relative;display:flex;align-items:center;justify-content:center;transition:opacity .3s}.ts-card:hover .tp-ai-orb-wrap{opacity:0;position:absolute}.tp-ai-orb{width:10px;height:10px;border-radius:50%;background:#324dc7;box-shadow:0 0 5px #324dc74d}.tp-ai-ring{position:absolute;border-radius:50%;border:.7px solid rgba(50,77,199,.15)}.tp-ai-ring.r1{width:18px;height:18px;top:50%;left:50%;transform:translate(-50%,-50%)}.tp-ai-ring.r2{width:26px;height:26px;top:50%;left:50%;transform:translate(-50%,-50%)}.tp-ai-chat{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:4px;padding:6px;opacity:0;transition:opacity .3s .15s}.ts-card:hover .tp-ai-chat{opacity:1}.tp-ai-head{font-size:7px;font-weight:800;color:#1f2e8b;padding-bottom:3px;border-bottom:1px solid rgba(50,77,199,.1)}.tp-ai-msg{font-size:6px;line-height:1.4;padding:3px 5px;border-radius:4px;max-width:92%}.tp-ai-msg.ai{background:#ffffffb3;color:#0e2950;border:.5px solid rgba(50,77,199,.1)}.tp-ai-msg.user{background:#324dc7;color:#fff;align-self:flex-end}.ts-card:hover .tp-timer{animation:tp-timer-pulse 2s ease-in-out infinite}@keyframes tp-timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.ts-card:hover .tp-dots .d:nth-child(3):not(.on):not(.done){animation:tp-dot-fill 3s ease-in-out infinite}.ts-card:hover .tp-dots .d:nth-child(4):not(.on):not(.done){animation:tp-dot-fill 3s ease-in-out infinite 1s}.ts-card:hover .tp-dots .d:nth-child(5):not(.on):not(.done){animation:tp-dot-fill 3s ease-in-out infinite 2s}@keyframes tp-dot-fill{0%,25%{background:#fff;border-color:#c8c8c8}35%,to{background:var(--brand);border-color:var(--brand);opacity:.4}}.tp-doc{flex:1;background:#fff;border-radius:7px;border:1px solid #e0e3ea;padding:10px 12px;display:flex;flex-direction:column;gap:4px;position:relative}.tp-doc-title{width:55%;height:6px;border-radius:3px;background:#c8c8c8;margin-bottom:4px}.tp-spacer{height:6px}.tp-ai-bubble{position:absolute;right:8px;bottom:8px;background:#ffffffd9;border:1px solid rgba(50,77,199,.15);border-radius:6px;padding:4px 7px;display:flex;align-items:center;gap:4px;font-size:6px;color:#1f2e8b;opacity:0;transform:translateY(4px);transition:all .35s .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ts-card:hover .tp-ai-bubble{opacity:1;transform:translateY(0)}.tp-ai-bubble-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:#324dc7}.tp-split{gap:5px}.tp-passage{flex:1;background:#fff;border-radius:7px;border:1px solid #e0e3ea;padding:8px 9px;display:flex;flex-direction:column;gap:3px}.tp-passage-title{width:50%;height:5px;border-radius:3px;background:#c8c8c8;margin-bottom:3px}.tp-ln.hl{background:#e0e3ea;transition:background .4s}.ts-card:hover .tp-ln.hl{background:#324dc72e}.tp-questions{flex:1;background:#fff;border-radius:7px;border:1px solid var(--brand);border-width:1.5px;padding:8px 9px;display:flex;flex-direction:column;gap:4px}.tp-mf-sm{display:flex;align-items:center;padding:3px 6px;background:#faf8f2;border:1px solid #c8c8c8;border-radius:3px;min-height:14px}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s}.panel:hover{box-shadow:0 2px 6px #0e29500f,0 8px 28px #0e295012}.panel h2{margin:0;font-size:17px;font-weight:700}.panel h3{margin:0;font-size:14px;color:var(--muted);font-weight:600}.panel-dim{opacity:.85}.panel-dim h2:after{content:"AI disabled";margin-left:10px;font-size:11px;font-weight:600;color:var(--muted);background:#e8e5dd;padding:2px 8px;border-radius:999px;vertical-align:middle}.sub-panel{padding:14px;background:#f8f6ef;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:10px}.step-slider{display:flex;flex-direction:column;gap:10px}.step-slider.disabled{opacity:.4;pointer-events:none}.step-slider-track-area{position:relative;cursor:pointer;padding:14px 0;touch-action:none;-webkit-user-select:none;user-select:none}.step-slider-track{position:relative;height:6px;background:#dde3f5;border-radius:999px}.step-slider-fill{position:absolute;top:0;left:0;height:100%;background:var(--brand);border-radius:999px;transition:width .15s ease-out}.step-slider-track-area.dragging .step-slider-fill{transition:none}.step-slider-notch{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#d0d5e8;border:2px solid #dde3f5;transform:translate(-50%,-50%);transition:background .15s,border-color .15s,transform .15s;z-index:1}.step-slider-notch.active{background:var(--brand);border-color:#fff;box-shadow:0 0 0 2px #324dc733}.step-slider-thumb{position:absolute;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);z-index:2;transition:left .15s ease-out}.step-slider-track-area.dragging .step-slider-thumb{transition:none}.step-slider-thumb-ring{width:100%;height:100%;border-radius:50%;background:#fff;border:3px solid var(--brand);box-shadow:0 1px 4px #324dc740,0 0 #324dc700;transition:transform .15s,box-shadow .15s,border-color .15s}.step-slider-thumb.active .step-slider-thumb-ring{transform:scale(1.2);border-color:var(--brand-ink);box-shadow:0 2px 8px #324dc759,0 0 0 6px #324dc71a}.step-slider-track-area:hover .step-slider-thumb-ring{box-shadow:0 1px 4px #324dc740,0 0 0 4px #324dc714}.step-slider-labels{display:grid;gap:6px}.step-slider-label{background:transparent;border:1px solid transparent;border-radius:8px;padding:8px 6px;text-align:center;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;display:flex;flex-direction:column;gap:2px}.step-slider-label:hover{background:#ede9df;transform:translateY(-1px)}.step-slider-label.active{background:#dde3f5;border-color:#324dc74d}.step-slider-label-text{font-weight:600;font-size:13px}.step-slider-label-desc{font-size:11px;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field.inline{flex-direction:row;align-items:center;gap:12px}.field.inline input{max-width:140px}.field textarea,.field input[type=number],.field input[type=text]{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.field textarea:focus,.field input:focus,.panel textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.field.disabled{opacity:.5}.toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:8px 10px;border-radius:8px;transition:background .15s}.toggle:hover{background:#f8f6ef}.toggle.disabled{opacity:.5;cursor:not-allowed}.toggle.disabled:hover{background:transparent}.toggle input{margin-top:3px;accent-color:var(--brand);transform:scale(1.15)}.toggle-body{display:flex;flex-direction:column}.toggle-label{font-weight:600;font-size:14px}.toggle-hint{font-size:12px;color:var(--muted)}.seg{display:inline-flex;background:#e8e5dd;border-radius:10px;padding:4px;gap:4px;align-self:flex-start}.seg button{border:0;background:transparent;padding:8px 14px;font:inherit;border-radius:7px;cursor:pointer;color:var(--muted);font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.seg button:hover:not(.on){background:#ffffff80;color:var(--ink)}.seg button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.upload-section{display:flex;flex-direction:column;gap:14px}.upload-multi{display:flex;flex-direction:column;gap:10px}.file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.file-list li{display:flex;align-items:center;justify-content:space-between;background:#f8f6ef;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13px}.file-name{font-weight:600;color:var(--ink)}.file-list .icon-btn.small{width:24px;height:24px;font-size:14px;border-radius:6px;padding:0}.upload-block{display:grid;gap:12px;grid-template-columns:1fr 1fr}.file-field{position:relative;display:flex;flex-direction:column;gap:6px;font-size:13px}.file-field input[type=file]{display:none}.file-label{color:var(--muted);font-weight:600}.file-drop{padding:18px;border:1.5px dashed var(--line);border-radius:10px;text-align:center;background:#faf8f2;cursor:pointer;color:var(--muted)}.file-field:hover .file-drop{border-color:var(--brand);color:var(--brand-ink)}.passage-groups{display:flex;flex-direction:column;gap:16px}.passage-group{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#faf8f2;display:flex;flex-direction:column;gap:10px}.passage-group-head{display:flex;align-items:center;gap:10px}.passage-group-num{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--brand);color:#fff;font-size:13px;font-weight:800;flex-shrink:0}.passage-group-label{flex:1;font:inherit;font-size:14px;font-weight:700;padding:5px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink);transition:all .12s ease}.passage-group-label:hover{background:#fff;border-color:var(--line)}.passage-group-label:focus{outline:none;background:#fff;border-color:var(--brand);box-shadow:0 0 0 2px #324dc71a}.passage-group-remove{font:inherit;padding:4px;border-radius:6px;background:transparent;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;transition:all .12s ease}.passage-group-remove:hover{color:var(--danger);background:#fef2f2}.passage-add-btn{font:inherit;font-size:13.5px;font-weight:600;padding:12px 20px;border-radius:10px;background:transparent;color:var(--brand-ink);border:1.5px dashed rgba(50,77,199,.3);cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:all .15s ease}.passage-add-btn:hover{background:#e5eaf9;border-color:var(--brand)}.drop-zone-wrap{display:flex;flex-direction:column;gap:12px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 20px;border:2px dashed var(--line);border-radius:14px;background:linear-gradient(180deg,#faf8f2,#f4f1ea);cursor:pointer;transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;position:relative;overflow:hidden}.drop-zone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 100%,rgba(50,77,199,.06) 0%,transparent 70%);pointer-events:none}.drop-zone:hover{border-color:var(--brand);background:linear-gradient(180deg,#e5eaf9,#e5eaf9);transform:translateY(-1px);box-shadow:0 4px 16px #324dc71a}.drop-zone.drag-over{border-color:var(--brand);border-style:solid;background:linear-gradient(180deg,#e5eaf9,#dde3f5);transform:scale(1.01);box-shadow:0 0 0 4px #324dc71f,0 8px 24px #324dc726}.drop-zone-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#dde3f5;border-radius:14px;color:var(--brand);transition:transform .2s,background .2s}.drop-zone:hover .drop-zone-icon{transform:translateY(-2px);background:#d6dbff}.drop-zone.drag-over .drop-zone-icon{transform:translateY(-4px) scale(1.05);background:var(--brand);color:#fff}.drop-zone-text{display:flex;flex-direction:column;align-items:center;gap:4px}.drop-zone-main{font-size:14px;font-weight:600;color:var(--ink)}.drop-zone-hint{font-size:12px;color:var(--muted)}.upload-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.upload-file-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;animation:file-item-in .25s ease-out both}.upload-file-item:hover{border-color:#c8c8c8;box-shadow:0 2px 8px #0e29500a}@keyframes file-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-file-icon{font-size:18px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f4f1ea;border-radius:8px}.upload-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.upload-file-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{font-size:11px;color:var(--muted)}.upload-file-remove{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--muted);transition:all .15s}.upload-file-remove:hover{background:#fde8eb;border-color:var(--danger);color:var(--danger)}.manual-qs{display:flex;flex-direction:column;gap:10px}.manual-q{display:grid;grid-template-columns:44px 1fr 40px;gap:8px;align-items:start}.qnum{font-weight:700;color:var(--muted);padding-top:10px}.manual-q textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;resize:vertical}.stage-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.stage-actions-right{display:flex;gap:8px;align-items:center}button.primary{background:var(--brand);color:#fff;border:0;padding:12px 22px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #324dc74d;transition:transform .12s,box-shadow .12s}button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #324dc766}button.primary:active{transform:translateY(0);box-shadow:0 1px 4px #324dc740}button.primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}button.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);padding:10px 16px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s,background .15s,transform .1s}button.ghost:hover{border-color:var(--brand);color:var(--brand-ink);background:#324dc70a}button.ghost:active{transform:translateY(.5px)}button.ghost.small{padding:4px 10px;font-size:12px}button.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:18px;line-height:1;cursor:pointer}button.icon-btn:hover{border-color:var(--brand);color:var(--brand-ink)}button.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger)}button.icon-btn:disabled{opacity:.4;cursor:not-allowed}.ai-build-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow:hidden;background:linear-gradient(160deg,#eef1ff,#c9d2ef 55%,#b8c5e8)}.ai-build-content{position:relative;z-index:2;width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:24px}.ai-bg-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.ai-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:ai-orb-float 8s ease-in-out infinite}.ai-orb-1{width:260px;height:260px;top:-60px;left:-40px;background:radial-gradient(circle,#5b6fe0,transparent 70%);animation-duration:7s}.ai-orb-2{width:200px;height:200px;bottom:-30px;right:-30px;background:radial-gradient(circle,#324dc7,transparent 70%);animation-duration:9s;animation-delay:-3s}.ai-orb-3{width:160px;height:160px;top:40%;left:60%;background:radial-gradient(circle,#a2b4ec,transparent 70%);animation-duration:11s;animation-delay:-5s}@keyframes ai-orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-15px) scale(1.05)}66%{transform:translate(-10px,10px) scale(.95)}}.ai-brain-icon{position:relative;z-index:1;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.ai-brain-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(50,77,199,.15);animation:ai-ring-pulse 3s ease-in-out infinite}.ai-brain-ring-1{top:-4px;right:-4px;bottom:-4px;left:-4px;animation-delay:0s}.ai-brain-ring-2{top:-14px;right:-14px;bottom:-14px;left:-14px;animation-delay:.6s}.ai-brain-ring-3{top:-24px;right:-24px;bottom:-24px;left:-24px;animation-delay:1.2s}@keyframes ai-ring-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.6;transform:scale(1.06)}}.hq-load-icon{filter:drop-shadow(0 2px 10px rgba(50,77,199,.35))}.hq-sq{transform-origin:center;animation:hq-sq-pulse 2s ease-in-out infinite}.hq-sq-1{animation-delay:0s;opacity:1}.hq-sq-2{animation-delay:.15s;opacity:.8}.hq-sq-3{animation-delay:.3s;opacity:.8}.hq-sq-4{animation-delay:.45s;opacity:.6}@keyframes hq-sq-pulse{0%,to{transform:scale(1);opacity:var(--o, 1)}50%{transform:scale(.82);opacity:.5}}.hq-sq-1{--o: 1}.hq-sq-2,.hq-sq-3{--o: .8}.hq-sq-4{--o: .6}.ai-build-title{position:relative;z-index:1;margin:0;font-size:22px;font-weight:700;color:var(--ink);text-align:center;animation:ai-text-in .5s ease-out}.ai-build-sub{position:relative;z-index:1;margin:-8px 0 0;font-size:14px;color:var(--muted);text-align:center;animation:ai-text-in .5s ease-out .1s both}@keyframes ai-text-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-progress-track{position:relative;z-index:1;width:100%;height:6px;background:#324dc71a;border-radius:999px;overflow:hidden}.ai-progress-fill{height:100%;border-radius:999px;background:#324dc7;background-size:200% 100%;animation:ai-bar-shimmer 2s linear infinite;transition:width .8s cubic-bezier(.4,0,.2,1);position:relative}.ai-progress-glow{position:absolute;right:0;top:-4px;width:20px;height:14px;background:radial-gradient(circle,rgba(91,111,224,.8),transparent 60%);border-radius:50%;filter:blur(2px)}@keyframes ai-bar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-stages{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:0;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(50,77,199,.1);border-radius:14px;padding:6px 0;overflow:hidden}.ai-stage-item{display:flex;align-items:center;gap:14px;padding:12px 18px;transition:all .3s ease}.ai-stage-item.active{background:linear-gradient(90deg,rgba(50,77,199,.06),transparent)}.ai-stage-item.done{opacity:.6}.ai-stage-item.pending{opacity:.35}.ai-stage-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;transition:all .3s ease}.ai-stage-item.pending .ai-stage-icon{background:#324dc714;color:var(--muted)}.ai-stage-item.active .ai-stage-icon{background:#324dc7;color:#fff;box-shadow:0 2px 8px #324dc759}.ai-stage-item.done .ai-stage-icon{background:#e3f9ed;color:#1a8a4a}.ai-stage-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-stage-num{line-height:1}.ai-stage-label{font-size:13px;font-weight:500;color:var(--ink);transition:color .3s}.ai-stage-item.active .ai-stage-label{font-weight:600;color:#1f2e8b}.ai-stage-item.pending .ai-stage-label{color:var(--muted)}.ai-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.ai-star{position:absolute;border-radius:50%;background:#324dc7e6;box-shadow:0 0 3px #324dc78c,0 0 7px #a5b4fc66;animation:ai-star-fall linear infinite;will-change:transform,opacity}@keyframes ai-star-fall{0%{transform:translate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate(110vw,110vh);opacity:0}}.ai-file-list{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:2px;background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(50,77,199,.1);border-radius:12px;padding:6px 0;overflow:hidden}.ai-file-row{display:grid;grid-template-columns:28px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:10px 16px;transition:background .2s}.ai-file-row.processing{background:linear-gradient(90deg,rgba(50,77,199,.05),transparent)}.ai-file-icon{grid-row:1 / -1;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ai-file-row.done .ai-file-icon{background:#e3f9ed;color:#1a8a4a}.ai-file-row.processing .ai-file-icon{background:#324dc7;color:#fff;box-shadow:0 2px 6px #324dc74d}.ai-file-row.error .ai-file-icon{background:#fde8eb;color:var(--danger)}.ai-file-row.waiting .ai-file-icon{background:#324dc714;color:var(--muted)}.ai-file-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4}.ai-file-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .7s linear infinite}.ai-file-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-file-row.waiting .ai-file-name{opacity:.45}.ai-file-meta{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.ai-file-row.done .ai-file-meta{color:#1a8a4a}.ai-file-row.error .ai-file-meta{color:var(--danger)}.ai-file-row.processing .ai-file-meta{color:var(--brand-ink)}.ai-file-bar{grid-column:2 / -1;height:3px;border-radius:999px;background:#324dc71a;margin-top:6px;overflow:hidden}.ai-file-bar-fill{height:100%;border-radius:999px;background:#324dc7;transition:width .5s ease}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid #dde3f5;border-top-color:var(--brand);animation:spin .9s linear infinite}.summary-strip{display:flex;flex-wrap:wrap;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.chip{display:inline-flex;align-items:center;gap:6px;background:#ede9df;padding:4px 10px;border-radius:999px;font-size:12px}.chip-label{color:var(--muted);font-weight:600}.chip-value{color:var(--ink);font-weight:700}.q-count-chip{background:var(--brand);color:#fff}.q-count-chip .chip-label{color:#ffffffbf}.q-count-chip .chip-value{color:#fff}.preview-list{display:flex;flex-direction:column;gap:14px}.preview-q{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .2s,box-shadow .2s,border-color .2s,opacity .2s}.preview-q:hover:not(.editing):not(.dragging){transform:translateY(-1px);box-shadow:0 2px 8px #0e295014,0 8px 28px #0e295012}.preview-q.card-enter{animation:card-slide-in .35s ease-out both}.preview-q.card-hidden{opacity:0;transform:translateY(16px)}@keyframes card-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.preview-q[draggable=true]{cursor:grab}.preview-q.dragging{opacity:.4}.preview-q.drag-over{border-color:var(--brand);box-shadow:0 0 0 2px #324dc733}.preview-q header{display:flex;justify-content:space-between;align-items:center}.q-left{display:flex;align-items:center;gap:8px}.drag-handle{cursor:grab;color:var(--muted);font-size:16px;-webkit-user-select:none;user-select:none;line-height:1;letter-spacing:2px}.drag-handle:hover{color:var(--brand)}.preview-q .qnum{padding:0;color:var(--brand-ink);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.q-passage-picker{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:10px;border-left:1px solid var(--line);font-size:12px;color:var(--muted)}.q-passage-label{font-weight:600}.q-passage-picker select{font:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);max-width:220px}.preview-q.editing{border-color:var(--brand);box-shadow:0 0 0 2px #324dc726,var(--shadow)}.preview-q.needs-answer{animation:needs-answer-pulse 2s ease-in-out;border-color:#ef44448c}@keyframes needs-answer-pulse{0%{box-shadow:0 0 #ef444400;background:#fff}15%{box-shadow:0 0 0 6px #ef444438;background:#fef2f2}35%{box-shadow:0 0 0 3px #ef444426;background:#fef7f7}55%{box-shadow:0 0 0 6px #ef444438;background:#fef2f2}to{box-shadow:0 0 #ef444400;background:#fff}}.publish-warning-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;background:#fef2f2;border:1px solid rgba(239,68,68,.35);border-radius:10px;color:#b91c1c;font-size:13px;font-weight:600;animation:publish-warning-slide .3s ease-out}.publish-warning-banner svg{flex-shrink:0}@keyframes publish-warning-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.q-actions{display:flex;gap:6px;align-items:center}.q-action-btn{background:none;border:1px solid var(--line);border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s}.q-action-btn:hover{border-color:var(--brand);color:var(--brand)}.q-action-btn.done{background:var(--brand);border-color:var(--brand);color:#fff}.q-action-btn.done:hover{background:var(--brand-ink)}.q-display{padding:12px 14px;background:var(--bg);border-radius:8px;font-size:15px;line-height:1.7;cursor:pointer;transition:background .15s;min-height:42px}.q-display:hover{background:#ebeef6}.q-action-btn.move{width:28px;padding:4px 0;text-align:center;font-size:14px}.q-action-btn.move:disabled{opacity:.3;cursor:not-allowed}.q-diagram{position:relative;background:#f8f6ef;border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;justify-content:center;overflow:hidden}.q-diagram img{max-width:100%;max-height:320px;object-fit:contain;border-radius:6px}.q-diagram.editing{border-style:dashed;border-color:#c8c8c8}.q-diagram-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid var(--line);border-radius:6px;cursor:pointer;color:var(--muted);opacity:0;transition:opacity .15s,color .15s,border-color .15s,background .15s}.q-diagram:hover .q-diagram-remove{opacity:1}.q-diagram-remove:hover{color:var(--danger);border-color:var(--danger);background:#fde8eb}.q-diagram.croppable{cursor:pointer}.q-diagram.croppable:hover{border-color:var(--brand);background:#f4f5ff}.q-diagram-crop-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;padding:5px 14px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:20px;font-size:.75rem;font-weight:500;color:var(--brand);opacity:0;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 8px #0000000f}.q-diagram.croppable:hover .q-diagram-crop-hint{opacity:1}.crop-wrap{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:#f6f7fb}.crop-hint{font-size:.78rem;color:var(--muted);text-align:center;padding-bottom:2px}.crop-area{position:relative;display:inline-block;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;overflow:hidden;line-height:0;align-self:center}.crop-area img{display:block;max-width:100%;max-height:480px;border-radius:8px;pointer-events:none}.crop-rect{position:absolute;border:2px solid rgba(50,77,199,.85);border-radius:2px;box-shadow:0 0 0 9999px #00000026;pointer-events:none}.crop-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding-top:4px}.crop-btn-cancel{padding:7px 18px;font-size:.82rem;font-weight:500;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;transition:all .15s}.crop-btn-cancel:hover{border-color:#bbb;color:var(--fg)}.crop-btn-apply{padding:7px 22px;font-size:.82rem;font-weight:600;border-radius:9px;border:none;background:#324dc7;color:#fff;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:0 2px 10px #324dc74d;transition:all .18s}.crop-btn-apply:hover:not(:disabled){box-shadow:0 4px 16px #324dc766;transform:translateY(-1px)}.crop-btn-apply:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.q-parse-error{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:linear-gradient(135deg,#fff8f0,#fff3f3);border:1px solid #f0d0b0;border-radius:10px;color:#8a6a40}.q-parse-error svg{flex-shrink:0;margin-top:1px;stroke:#d4913a}.q-parse-error-title{font-weight:600;font-size:.92rem;color:#7a5a30;margin:0 0 3px}.q-parse-error-sub{font-size:.82rem;color:#9a7a50;margin:0;line-height:1.4}.q-body-display{display:flex;flex-direction:column;gap:8px}.q-answer-row{margin-top:2px}.q-answer-filled{display:flex;align-items:baseline;gap:8px;padding:8px 12px;background:#f0faf4;border:1px solid #c8e6d4;border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.q-answer-filled:hover{background:#e3f5eb;border-color:#9dd4b0}.q-answer-label{font-size:11px;font-weight:700;color:#1a8a4a;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.q-answer-text{font-size:13px;color:var(--ink)}.q-add-answer{background:none;border:1px dashed var(--line);border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s;width:100%;text-align:left}.q-add-answer:hover{border-color:var(--brand);color:var(--brand)}.q-display-answer{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}.q-display-answer-label{font-weight:700;color:var(--brand-ink);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.q-edit-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.q-edit-body{display:flex;flex-direction:column;gap:10px}.prompt-input,.answer-key textarea{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;resize:vertical;width:100%}.answer-key{background:#faf8f2;border:1px dashed var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.answer-key-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);font-weight:600}.ai-assist-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9px;border:none;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(110deg,#324dc7,#5b3fd4 35%,#8b5cf6,#5b3fd4 75%,#324dc7);background-size:220% 100%;box-shadow:0 1px 3px #324dc759,inset 0 1px #ffffff2e;transition:filter .2s ease,box-shadow .2s ease,transform .12s ease;animation:ai-flow 5s linear infinite;overflow:hidden}.ai-assist-btn:hover{filter:brightness(1.08) saturate(1.12);box-shadow:0 2px 10px #5b3fd480,0 0 0 1px #fff3,inset 0 1px #ffffff3d;animation-duration:2.2s}.ai-assist-btn:active{transform:scale(.96);filter:brightness(.94)}.ai-assist-btn svg{flex-shrink:0;filter:drop-shadow(0 0 3px rgba(255,255,255,.5));animation:ai-star-pulse 2.4s ease-in-out infinite}.ai-assist-btn:hover svg{animation-duration:1.1s}@keyframes ai-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ai-star-pulse{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.14)}}.q-answer-ai-loading{--ai-stage-accent: #324dc7;--ai-stage-bg-a: #edeae3;--ai-stage-bg-b: #dde3f5;--ai-stage-bg-c: #e5eaf9;--ai-stage-border: #e0dbff;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:10px;background:linear-gradient(135deg,var(--ai-stage-bg-a) 0%,var(--ai-stage-bg-b) 50%,var(--ai-stage-bg-c) 100%);border:1px solid var(--ai-stage-border);position:relative;overflow:hidden;transition:background .4s ease,border-color .4s ease}.q-answer-ai-loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--ai-stage-accent) 14%,transparent) 50%,transparent 100%);animation:ai-loading-sweep 2.2s ease-in-out infinite;pointer-events:none}@keyframes ai-loading-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ai-loading-icon-wrap{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--ai-stage-accent) 14%,white);color:var(--ai-stage-accent);position:relative;z-index:1}.ai-loading-icon-wrap svg{width:22px;height:22px}.ai-loading-body{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;min-width:0}.ai-loading-text{font-size:13px;font-weight:700;color:var(--ai-stage-accent);letter-spacing:.01em}.ai-loading-sub{font-size:11px;font-weight:500;color:color-mix(in srgb,var(--ai-stage-accent) 70%,#444);opacity:.75}.ai-loading-dots{display:flex;gap:4px;align-items:center;margin-top:2px}.ai-loading-dots span{width:5px;height:5px;border-radius:50%;background:var(--ai-stage-accent);animation:ai-dot-pulse 1.4s ease-in-out infinite}.ai-loading-dots span:nth-child(2){animation-delay:.15s}.ai-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes ai-dot-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.15)}}.q-answer-ai-loading.ai-stage-computing{--ai-stage-accent: #2563eb;--ai-stage-bg-a: #eef2ff;--ai-stage-bg-b: #e0e7ff;--ai-stage-bg-c: #f1f5f9;--ai-stage-border: #c7d2fe}.ai-stage-computing .ai-loading-icon-wrap svg{animation:ai-stage-pulse 1.1s ease-in-out infinite}@keyframes ai-stage-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.q-answer-ai-loading.ai-stage-thinking{--ai-stage-accent: #7c3aed;--ai-stage-bg-a: #f5f0ff;--ai-stage-bg-b: #e9defb;--ai-stage-bg-c: #f0e7fa;--ai-stage-border: #d8c8f5}.ai-stage-thinking .ai-loading-icon-wrap{box-shadow:0 0 color-mix(in srgb,var(--ai-stage-accent) 50%,transparent);animation:ai-stage-halo 1.8s ease-out infinite}@keyframes ai-stage-halo{0%{box-shadow:0 0 color-mix(in srgb,var(--ai-stage-accent) 50%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--ai-stage-accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--ai-stage-accent) 0%,transparent)}}.ai-stage-thinking .ai-loading-icon-wrap svg{animation:ai-stage-pulse 2s ease-in-out infinite}.q-answer-ai-loading.ai-stage-running{--ai-stage-accent: #059669;--ai-stage-bg-a: #ecfdf5;--ai-stage-bg-b: #d1fae5;--ai-stage-bg-c: #f0fdf4;--ai-stage-border: #a7f3d0;font-family:inherit}.ai-stage-running .ai-loading-icon-wrap{background:#062b1c;color:#6ee7b7}.ai-stage-running .ai-loading-icon-wrap:after{content:"_";position:absolute;bottom:4px;right:6px;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6ee7b7;animation:ai-stage-cursor .9s steps(2) infinite}@keyframes ai-stage-cursor{0%,50%{opacity:1}50.01%,to{opacity:0}}.ai-stage-running:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--ai-stage-accent),transparent);background-size:50% 100%;background-repeat:no-repeat;animation:ai-stage-scan 1.6s linear infinite}@keyframes ai-stage-scan{0%{background-position:-50% 0}to{background-position:150% 0}}.q-answer-ai-loading.ai-stage-explaining{--ai-stage-accent: #d97706;--ai-stage-bg-a: #fffbeb;--ai-stage-bg-b: #fef3c7;--ai-stage-bg-c: #fff7ed;--ai-stage-border: #fcd34d}.ai-stage-explaining .ai-loading-icon-wrap svg{transform-origin:75% 75%;animation:ai-stage-write 1.2s ease-in-out infinite}@keyframes ai-stage-write{0%,to{transform:rotate(-6deg) translate(-1px)}50%{transform:rotate(8deg) translate(1px)}}.q-edit-preview{background:#f8f6ef;border:1px solid #dde3f5;border-radius:8px;padding:10px 14px;font-size:15px;line-height:1.7;animation:preview-fade-in .2s ease-out}.q-edit-preview-label{display:inline-block;font-size:10px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}@keyframes preview-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.q-explanation-wrap{display:flex;flex-direction:column;gap:8px;margin-top:4px}.q-explanation-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.q-explanation-btn:hover{border-color:var(--brand);color:var(--brand);background:#6366f10d}.q-explanation-panel{background:#f6f8ff;border:1px solid #dde3f5;border-left:3px solid var(--brand);border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap;animation:preview-fade-in .2s ease-out}.add-between{align-self:flex-start}.empty{background:#fff;border:1.5px dashed var(--line);padding:40px;border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center;color:var(--muted)}@media (max-width: 720px){.upload-block{grid-template-columns:1fr}.step-slider-labels{font-size:11px}.ts-grid{grid-template-columns:1fr}}.pa-root{height:100vh;display:flex;flex-direction:column;background:#f4f1ea;overflow:hidden}.pa-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;min-height:48px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0;z-index:10}.pa-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.pa-assignment-meta{display:flex;flex-direction:column;min-width:0;line-height:1.2}.pa-assignment-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.pa-assignment-desc{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.pa-exit-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);transition:all .15s}.pa-exit-btn:hover{border-color:var(--danger);color:var(--danger)}.pa-topbar-dots{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pa-dot{width:14px;height:14px;border-radius:50%;padding:0;border:2px solid var(--line);background:#fff;cursor:pointer;transition:all .2s}.pa-dot:hover{border-color:var(--brand);transform:scale(1.2)}.pa-dot.active{background:var(--brand);border-color:var(--brand);box-shadow:0 0 8px #324dc766;transform:scale(1.15)}.pa-dot.answered{background:var(--brand);border-color:var(--brand);opacity:.45}.pa-dot.answered.active{background:var(--brand);border-color:var(--brand);opacity:1;box-shadow:0 0 8px #324dc766}.pa-dot-count{font-size:12px;font-weight:700;color:var(--ink);margin-left:4px;font-variant-numeric:tabular-nums}.pa-dot.correct{background:#22c55e;opacity:1;box-shadow:0 0 6px #22c55e80}.pa-dot.wrong{background:#ef4444;opacity:1;box-shadow:0 0 6px #ef444466}.pa-topbar-dots.locked .pa-dot{cursor:default}.pa-pct-chip{margin-left:6px;font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;padding:3px 9px;border-radius:999px;color:#fff;background:#16a34a;box-shadow:0 1px 4px #22c55e59;transition:background .3s}.pa-pct-chip.ok{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 1px 4px #f59e0b59}.pa-pct-chip.low{background:#dc2626;box-shadow:0 1px 4px #ef444459}.pa-tries-chip{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;padding:3px 10px;border-radius:999px;color:#1f2e8b;background:#324dc71f;border:1px solid rgba(50,77,199,.22)}.pa-tries-chip.last{color:#b91c1c;background:#ef44441f;border-color:#ef44444d;animation:pa-tries-last-pulse 1.4s ease-in-out infinite}@keyframes pa-tries-last-pulse{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef444426}}.pa-topbar-right{display:flex;align-items:center;gap:10px}.pa-publish-btn{border:0;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;color:#fff;background:#324dc7;cursor:pointer;transition:filter .15s,transform .05s}.pa-publish-btn:hover{filter:brightness(1.05)}.pa-publish-btn:active{transform:translateY(1px)}.pa-timer{font-size:13px;font-weight:700;color:var(--ink);background:#324dc714;padding:3px 10px;border-radius:999px}.pa-timer.urgent{background:#d6425a1a;color:var(--danger);animation:pa-pulse 1s infinite}@keyframes pa-pulse{50%{opacity:.6}}.pa-main{flex:1;display:flex;overflow:hidden;min-height:0}.pa-q-col{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;padding:20px 24px;overflow-y:auto;transition:flex .5s cubic-bezier(.4,0,.2,1)}.pa-root.ai-active .pa-q-col{flex:0 0 54%}.pa-card{width:100%;max-width:none;min-height:calc(100vh - 140px);background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:0 2px 12px #0e29500d;padding:32px 40px;display:flex;flex-direction:column;gap:20px;animation:pa-in .3s ease-out}@keyframes pa-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pa-card.shake{animation:pa-shake .5s cubic-bezier(.36,.07,.19,.97) both}.pa-card.shake-soft{animation:pa-shake-soft .42s cubic-bezier(.36,.07,.19,.97) both}@keyframes pa-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-9px)}40%,60%{transform:translate(9px)}}@keyframes pa-shake-soft{20%,80%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.pa-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9000;animation:pa-flash-fade 1.2s ease-out forwards}.pa-flash.correct{background:radial-gradient(ellipse at center,#22c55e00 38%,#22c55e61)}.pa-flash.wrong{background:radial-gradient(ellipse at center,#ef444400 38%,#ef44446b)}@keyframes pa-flash-fade{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.pa-flash-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);animation:pa-flash-icon-pop 1.2s ease-out forwards;filter:drop-shadow(0 6px 14px rgba(0,0,0,.15))}.pa-flash.correct .pa-flash-icon{color:#16a34a}.pa-flash.wrong .pa-flash-icon{color:#dc2626}@keyframes pa-flash-icon-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}55%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}.pa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e295073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:pa-modal-fade .2s ease-out}@keyframes pa-modal-fade{0%{opacity:0}to{opacity:1}}.pa-modal-card{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:26px 26px 22px;box-shadow:0 24px 64px #0e295047;text-align:center;animation:pa-modal-pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes pa-modal-pop{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.pa-modal-icon{width:60px;height:60px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:#ef44441a;color:#dc2626;border-radius:50%}.pa-modal-title{margin:0 0 6px;font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.pa-modal-body{margin:0 0 22px;font-size:13.5px;color:var(--muted);line-height:1.5}.pa-modal-actions{display:flex;gap:10px;justify-content:center}.pa-modal-cancel{padding:10px 20px;font-size:13px;font-weight:600;background:transparent;border:1.5px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;transition:all .15s}.pa-modal-cancel:hover{background:#f4f5f8;color:var(--ink)}.pa-modal-finalize{padding:10px 22px;font-size:13px;font-weight:700;color:#fff;background:#dc2626;border:none;border-radius:10px;cursor:pointer;box-shadow:0 4px 14px #ef444466;transition:transform .12s,box-shadow .15s}.pa-modal-finalize:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ef444480}.pa-modal-finalize:active{transform:translateY(0)}.pa-submit-btn.finalize{background:#dc2626;box-shadow:0 4px 14px #ef444459}.pa-submit-btn.finalize:hover:not(:disabled){box-shadow:0 6px 18px #ef444473}.sub-panel-tries h3,.sub-panel-grading h3{margin-top:0}.grading-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grading-mode-card{display:flex;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.grading-mode-card:hover{border-color:#324dc766;background:#faf8f2}.grading-mode-card.selected{border-color:var(--brand);background:#324dc70d;box-shadow:0 0 0 2px #324dc71f}.grading-mode-card input[type=radio]{margin:3px 0 0;accent-color:var(--brand);flex-shrink:0}.grading-mode-body{display:flex;flex-direction:column;gap:4px}.grading-mode-title{font-size:13px;font-weight:700;color:var(--ink)}.grading-mode-desc{font-size:11.5px;line-height:1.45;color:var(--muted)}@media (max-width: 600px){.grading-mode-options{grid-template-columns:1fr}}.lockdown-mode-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.lockdown-mode-card{display:flex;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.lockdown-mode-card:hover{border-color:#324dc766;background:#faf8f2}.lockdown-mode-card.selected{border-color:var(--brand);background:#324dc70d;box-shadow:0 0 0 2px #324dc71f}.lockdown-mode-card input[type=radio]{margin:3px 0 0;accent-color:var(--brand);flex-shrink:0}.lockdown-mode-card.disabled{cursor:not-allowed;opacity:.55;background:#f6f5f1}.lockdown-mode-card.disabled:hover{border-color:var(--line);background:#f6f5f1}.lockdown-mode-coming{margin-left:6px;padding:1px 6px;background:#324dc71a;color:var(--brand-ink);border-radius:999px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.lockdown-mode-body{display:flex;flex-direction:column;gap:4px}.lockdown-mode-title{font-size:13px;font-weight:700;color:var(--ink)}.lockdown-mode-desc{font-size:11.5px;line-height:1.45;color:var(--muted)}@media (max-width: 800px){.lockdown-mode-options{grid-template-columns:1fr}}.sub-panel-response h3{margin-top:0}.response-type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.response-type-options.disabled{opacity:.6}.response-type-card{display:flex;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.response-type-card:hover{border-color:#324dc766;background:#faf8f2}.response-type-card.selected{border-color:var(--brand);background:#324dc70d;box-shadow:0 0 0 2px #324dc71f}.response-type-card.disabled{cursor:not-allowed}.response-type-card.disabled:hover{border-color:var(--line);background:#fff}.response-type-card input[type=radio]{margin:3px 0 0;accent-color:var(--brand);flex-shrink:0}.response-type-body{display:flex;flex-direction:column;gap:4px}.response-type-title{font-size:13px;font-weight:700;color:var(--ink)}.response-type-desc{font-size:11.5px;line-height:1.45;color:var(--muted)}@media (max-width: 600px){.response-type-options{grid-template-columns:1fr}}.sub-panel-choices h3{margin-top:0}.calc-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 600px){.calc-options{grid-template-columns:1fr}}.calc-option{display:flex;gap:10px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.calc-option:hover{border-color:#324dc766;background:#faf8f2}.calc-option.selected{border-color:var(--brand);background:#324dc70d;box-shadow:0 0 0 2px #324dc71f}.calc-option input[type=radio]{margin:3px 0 0;accent-color:var(--brand);flex-shrink:0}.calc-option-body{display:flex;flex-direction:column;gap:4px}.calc-option-title{font-size:13px;font-weight:700;color:var(--ink)}.calc-option-desc{font-size:11.5px;line-height:1.45;color:var(--muted)}.calc-wrap{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:10px 12px}.calc-history{flex:1;min-height:0;overflow-y:auto;padding:8px 10px;background:#fff9;border:1px solid rgba(50,77,199,.18);border-radius:10px;font-size:13px;color:var(--ink);display:flex;flex-direction:column;gap:6px}.calc-hint{color:var(--muted);font-size:12px;line-height:1.5}.calc-hint code{background:#324dc714;padding:1px 5px;border-radius:4px;font-size:11.5px}.calc-row{display:flex;flex-direction:column;gap:1px;padding:4px 0;border-bottom:1px dashed rgba(50,77,199,.12)}.calc-row:last-child{border-bottom:0}.calc-row-expr{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;color:var(--muted)}.calc-row-result{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13.5px;font-weight:700;color:var(--brand-ink)}.calc-input-bar{display:flex;gap:6px}.calc-input{flex:1;min-width:0;padding:9px 12px;border:1.5px solid rgba(50,77,199,.18);border-radius:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13.5px;color:var(--ink);background:#ffffffd9}.calc-input:focus{outline:none;border-color:#324dc780;background:#fff;box-shadow:0 0 0 3px #324dc714}.calc-eq{font:inherit;font-size:14px;font-weight:700;width:38px;padding:0;border-radius:10px;border:0;background:var(--brand);color:#fff;cursor:pointer;transition:opacity .15s}.calc-eq:hover{opacity:.9}.calc-eq:disabled{opacity:.4;cursor:not-allowed}.calc-error{font-size:12px;color:var(--danger);padding:4px 8px;background:#d6425a14;border-radius:6px}.calc-pad{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.calc-key{font:inherit;font-size:13px;font-weight:600;padding:8px 0;background:#fff;border:1px solid rgba(50,77,199,.15);border-radius:8px;color:var(--ink);cursor:pointer;transition:background .1s}.calc-key:hover{background:#324dc70f}.calc-key-wide{grid-column:span 3;font-weight:700;color:var(--brand-ink)}.calc-graph-wrap{flex:1;min-height:0;padding:8px}.calc-graph-host{width:100%;height:100%;min-height:320px;border-radius:10px;overflow:hidden}.pa-side-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:1px solid rgba(50,77,199,.18)}.pa-side-tabs{display:flex;align-items:center;gap:4px;padding:8px 10px 0;border-bottom:1px solid rgba(50,77,199,.12)}.pa-side-tab{font:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.pa-side-tab:hover{color:var(--brand-ink)}.pa-side-tab.active{color:var(--brand-ink);border-bottom-color:var(--brand)}.pa-side-close{margin-left:auto;width:26px;height:26px;font-size:18px;line-height:1;background:#324dc714;color:#324dc7;border:0;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:background .15s}.pa-side-close:hover{background:#324dc726}.pa-calc-panel{flex:1;min-height:0;display:flex;flex-direction:column}.pa-calc-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(50,77,199,.12)}.pa-calc-title{font-size:13px;font-weight:700;color:var(--brand-ink)}.mc-editor{margin-top:14px;padding:12px 14px;background:#faf8f2;border:1px solid var(--line);border-radius:10px}.mc-editor-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.mc-editor-head>span:first-child{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.mc-editor-hint{font-size:11.5px;color:var(--muted)}.mc-choice-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mc-choice-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .15s,background .15s}.mc-choice-row.correct{border-color:#16a34a;background:#f0fdf4}.mc-choice-correct{position:relative;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;cursor:pointer}.mc-choice-correct input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;margin:0}.mc-choice-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .15s ease}.mc-choice-check svg{opacity:0;transition:opacity .15s}.mc-choice-row.correct .mc-choice-check{border-color:#16a34a;background:#16a34a}.mc-choice-row.correct .mc-choice-check svg{opacity:1}.mc-choice-letter{width:22px;flex-shrink:0;font-size:12px;font-weight:800;color:var(--brand-ink);text-align:center}.mc-choice-input{flex:1;min-width:0;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:6px;font-size:13px;color:var(--ink);outline:none}.mc-choice-input:focus{background:#fff;border-color:#324dc780}.mc-summary{width:100%;padding:10px 12px;background:#faf8f2;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s}.mc-summary:hover{border-color:#324dc766}.mc-summary-label{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.mc-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mc-summary-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink)}.mc-summary-item.correct{color:#16a34a;font-weight:600}.mc-summary-letter{width:18px;flex-shrink:0;font-size:11.5px;font-weight:800;color:var(--brand-ink);text-align:center}.mc-summary-item.correct .mc-summary-letter{color:#16a34a}.mc-summary-text{flex:1;min-width:0}.mc-summary-tick{flex-shrink:0;color:#16a34a}.mc-summary-warn{display:inline-block;margin-top:6px;font-size:11px;color:#b45309}.pa-mc-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.pa-mc-option{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.pa-mc-option:hover{border-color:#324dc766;background:#faf8f2}.pa-mc-option.selected{border-color:var(--brand);background:#324dc714;box-shadow:0 0 0 2px #324dc726}.pa-mc-option input[type=radio]{accent-color:var(--brand);flex-shrink:0;margin:0}.pa-mc-letter{width:22px;flex-shrink:0;font-size:14px;font-weight:800;color:var(--brand-ink);text-align:center}.pa-mc-text{flex:1;min-width:0;font-size:15px;color:var(--ink)}.pa-main-essay{display:flex}.pa-essay-sidebar{width:240px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pa-essay-sidebar-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:0 4px 4px}.pa-essay-sidebar-list{display:flex;flex-direction:column;gap:8px}.pa-essay-block{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#f4f1ea;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease;font-family:inherit}.pa-essay-block:hover{border-color:#324dc766;background:#faf8f2}.pa-essay-block.active{border-color:var(--brand);background:#324dc714;box-shadow:0 0 0 2px #324dc726}.pa-essay-block.in-progress{border-color:#324dc759}.pa-essay-block.submitted{border-color:#16a34a;background:#f0fdf4}.pa-essay-block-num{font-size:11px;font-weight:800;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.08em}.pa-essay-block.submitted .pa-essay-block-num{color:#166534}.pa-essay-block-desc{font-size:12.5px;color:var(--ink);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pa-essay-col{flex:1;min-width:0;display:flex;flex-direction:column;padding:20px 28px;overflow:hidden;transition:flex .5s cubic-bezier(.4,0,.2,1)}.pa-root.ai-active .pa-essay-col{flex:1 1 0}.pa-essay-card{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 12px #0e29500d;padding:26px 34px;animation:pa-in .3s ease-out}.pa-essay-prompt{margin:0;font-size:26px;line-height:1.3;font-weight:700;color:var(--ink);letter-spacing:-.01em;flex-shrink:0}.pa-essay-textarea{flex:1;min-height:0;width:100%;padding:18px 20px;font-size:16px;line-height:1.75;font-family:inherit;color:var(--ink);background:#faf8f2;border:1px solid var(--line);border-radius:10px;resize:none;outline:none}.pa-essay-textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #324dc714}.pa-essay-textarea:disabled{opacity:.75;cursor:not-allowed}.pa-essay-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.pa-essay-nav{display:flex;gap:8px}@media (max-width: 900px){.pa-essay-sidebar{width:180px}.pa-essay-col{padding:14px 16px}.pa-essay-card{padding:18px 20px}.pa-essay-prompt{font-size:22px}}.pa-essay-page{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:14px;animation:pa-in .3s ease-out}.pa-essay-page .pa-essay-textarea{flex:1;background:#fff;border:none;border-radius:0;padding:18px 24px;box-shadow:none}.pa-essay-page .pa-essay-textarea:focus{background:#fff;border:none;box-shadow:none}.pa-essay-col-split{flex-direction:row;gap:0}.pa-split-divider{flex:0 0 12px;position:relative;cursor:col-resize;background:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.pa-split-divider:before{content:"";position:absolute;top:0;right:5px;bottom:0;left:5px;background:transparent;border-radius:2px;transition:background .15s ease}.pa-split-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:32px;background:var(--brand);border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff40,0 2px 6px #324dc74d;background-image:linear-gradient(to right,transparent 3px,rgba(255,255,255,.85) 3px,rgba(255,255,255,.85) 4px,transparent 4px,transparent 6px,rgba(255,255,255,.85) 6px,rgba(255,255,255,.85) 7px,transparent 7px);pointer-events:none;transition:background-color .15s ease,transform .15s ease}.pa-split-divider:hover:before{background:#324dc726}.pa-split-divider.dragging:before{background:var(--brand);top:0;right:5px;bottom:0;left:5px}.pa-split-divider:hover:after,.pa-split-divider.dragging:after{background-color:var(--brand-ink);transform:translate(-50%,-50%) scale(1.1);box-shadow:inset 0 0 0 1px #ffffff4d,0 3px 10px #4754c980}.pa-reading-pane{flex:1;min-width:0;overflow-y:auto;padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:15px;line-height:1.7;color:var(--ink)}.pa-reading-pane p{margin:0 0 12px}.pa-reading-pane img{display:block;max-width:100%;height:auto;margin:12px 0;border-radius:8px}.pa-reading-view{flex:1;min-height:0;background:#fff;border-radius:14px;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.pa-reading-content{flex:1;overflow-y:auto;padding:28px 40px;font-size:17px;line-height:1.75;color:var(--ink);max-width:820px;width:100%;margin:0 auto}.pa-reading-content p{margin:0 0 14px}.pa-reading-content img{display:block;max-width:100%;height:auto;margin:16px auto;border-radius:8px}.pa-passage-stepper{display:flex;align-items:center;gap:0}.pa-step{font:inherit;display:flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;background:transparent;color:var(--muted);border:none;cursor:pointer;position:relative;transition:all .15s ease}.pa-step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#e0e3ea;color:var(--muted);font-size:13px;font-weight:800;flex-shrink:0;transition:all .15s ease}.pa-step.active .pa-step-num{background:var(--brand);color:#fff;box-shadow:0 2px 8px #324dc759}.pa-step.done .pa-step-num{background:#10b981;color:#fff}.pa-step-info{display:flex;flex-direction:column;text-align:left}.pa-step-label{font-size:12.5px;font-weight:700;color:var(--ink)}.pa-step.active .pa-step-label{color:var(--brand-ink)}.pa-step-progress{font-size:10.5px;color:var(--muted);font-weight:500}.pa-step-connector{position:absolute;right:-4px;top:50%;width:8px;height:2px;background:var(--line);transform:translateY(-50%)}.pa-step.done .pa-step-connector{background:#10b981}.pa-step:hover .pa-step-num{transform:scale(1.08)}.pa-step:last-child .pa-step-connector{display:none}.pa-reading-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 20px;background:var(--bg);overflow:hidden}.pa-reading-main-solo{grid-template-columns:minmax(0,1fr)}.pa-reading-main-solo .pa-reading-questions{max-width:820px;margin:0 auto;width:100%}.pa-reading-pane-full{height:100%;flex:initial;display:flex;flex-direction:column;padding:0;overflow:hidden}.pa-reading-pane-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--line);flex-shrink:0}.pa-reading-scroll{flex:1;overflow-y:auto;padding:20px 24px}.pa-fs-toggle{font:inherit;padding:5px 8px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;transition:all .12s ease}.pa-fs-toggle:hover{background:#e5eaf9;color:var(--brand-ink);border-color:#324dc733}.pa-reading-fs .pa-reading-main{grid-template-columns:1fr}.pa-reading-fs .pa-pane-fs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#fff;border-radius:0;height:auto}.pa-reading-fs .pa-pane-fs .pa-reading-scroll{padding:32px 60px;max-width:900px;margin:0 auto;width:100%}.pa-reading-pane-empty{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);background:#fff}.pa-reading-questions{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.pa-reading-q{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;transition:opacity .2s}.pa-reading-q.submitted{opacity:.75;background:#faf8f2}.pa-reading-q-head{display:flex;align-items:center;justify-content:space-between}.pa-reading-q-prompt{font-size:15px;line-height:1.5;color:var(--ink)}.pa-reading-q-doc .pa-reading-q-prompt{font-size:15.5px;font-weight:650;letter-spacing:-.005em}.pa-reading-q-textarea{font:inherit;font-size:14.5px;line-height:1.6;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);min-height:90px;resize:vertical}.pa-reading-q-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #324dc714}.pa-reading-q-textarea:disabled{background:#faf8f2;cursor:not-allowed}.pa-reading-q-actions{display:flex;justify-content:flex-end}.pa-reading-q-doc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;transition:border-color .15s ease,box-shadow .15s ease}.pa-reading-q-doc:focus-within{border-color:#324dc759;box-shadow:0 2px 10px #324dc70f}.pa-doc-answer{position:relative;margin-top:6px}.pa-doc-answer-field{min-height:96px;padding:0;font:inherit;font-family:Inter,Segoe UI,Helvetica Neue,sans-serif;font-size:15px;line-height:1.7;color:var(--ink);border:0;outline:none;background:transparent}.pa-doc-answer-field:empty:before{content:attr(data-placeholder);color:var(--muted);opacity:.5;pointer-events:none}.pa-doc-answer.disabled .pa-doc-answer-field{opacity:.75;pointer-events:none}.pa-autosave-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#10b981;animation:pa-autosave-in .3s ease}@keyframes pa-autosave-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pa-submit-all-btn{font:inherit;font-size:14px;font-weight:700;padding:12px 28px;border-radius:12px;background:var(--brand);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 16px #324dc74d;transition:all .18s ease}.pa-submit-all-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #324dc766}.pa-all-done-badge{font-size:14px;font-weight:700;color:#10b981;display:flex;align-items:center;gap:8px;padding:12px 0}.pa-reading-page-foot{display:flex;justify-content:flex-end;padding:4px 0 12px}.pa-reading-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}.pa-split-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#fff;border:1.5px solid var(--line);border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s ease}.pa-split-toggle:hover{border-color:#324dc766;color:var(--brand-ink)}.pa-split-toggle.on{background:#324dc714;border-color:var(--brand);color:var(--brand-ink)}.pa-essay-block-reading{border-style:solid;background:#fff8e6;border-color:#f5d48a}.pa-essay-block-reading:hover{background:#fff0c4;border-color:#e8bf66}.pa-essay-block-reading.active{background:#eab3081f;border-color:#ca8a04;box-shadow:0 0 0 2px #eab30833}.reading-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}.reading-panel-loading{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#faf8f2;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:var(--muted)}.reading-editor{min-height:160px;max-height:50vh;padding:14px 18px;background:#faf8f2;border:1px solid var(--line);border-radius:10px;overflow-y:auto;font-size:14.5px;line-height:1.7;color:var(--ink);outline:none}.reading-editor:focus{background:#fff;border-color:var(--brand);box-shadow:0 0 0 3px #324dc714}.reading-editor p{margin:0 0 10px}.reading-editor img{display:block;max-width:100%;height:auto;margin:10px 0;border-radius:6px}.pa-q-header{display:flex;align-items:baseline;gap:8px}.pa-q-num{font-size:12px;font-weight:800;color:var(--brand-ink);background:#324dc714;padding:2px 10px;border-radius:999px}.pa-diagram{display:flex;justify-content:center;align-items:center;background:#faf8f2;border:1px solid var(--line);border-radius:10px;padding:12px}.pa-diagram img{width:100%;max-height:52vh;object-fit:contain}.pa-q-text{font-size:22px;line-height:1.55;color:var(--ink)}.pa-response-area{display:flex;flex-direction:column;gap:8px}.pa-math-field,.mf-input{display:block;width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#faf8f2;transition:border-color .2s,box-shadow .2s;--caret-color: #1a1a2e;--selection-background-color: rgba(50, 77, 199, .12);--contains-highlight-background-color: transparent;--text-highlight-background-color: transparent;--highlight-text: transparent;--smart-fence-color: #324dc7;--placeholder-color: #b0b4c8}.pa-math-field{font-size:26px;min-height:72px}.mf-input{font-size:20px;min-height:56px}.pa-math-field:focus-within,.mf-input:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #324dc70f}.mf-wrap{display:flex;flex-direction:column;gap:0}math-field::part(virtual-keyboard-toggle){color:#6e7b8b;width:20px;height:20px}math-field::part(virtual-keyboard-toggle):hover{color:var(--brand)}.pa-response-actions{display:flex;justify-content:flex-end}.pa-submit-btn{padding:7px 20px;background:#fff;color:var(--brand-ink);border:1.5px solid var(--brand);border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.pa-submit-btn:hover:not(:disabled){background:#324dc70f}.pa-submit-btn:disabled{opacity:.35;cursor:not-allowed}.pa-submitted-response{display:flex;flex-direction:column;gap:8px}.pa-response-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pa-response-text{padding:8px 12px;background:#f4f1ea;border-radius:8px;font-size:14px;color:var(--ink);border:1px solid var(--line)}.pa-feedback{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:13px;animation:pa-in .2s ease-out}.pa-feedback.correct{background:#e3f9ed;border:1px solid #34c77b}.pa-feedback.incorrect{background:#fde8eb;border:1px solid #f87171}.pa-feedback-icon{font-weight:900;font-size:15px}.pa-feedback.correct .pa-feedback-icon{color:#16a34a}.pa-feedback.incorrect .pa-feedback-icon{color:#dc2626}.pa-feedback-title{font-weight:700}.pa-feedback.correct .pa-feedback-title{color:#166534}.pa-feedback.incorrect .pa-feedback-title{color:#991b1b}.pa-feedback-answer{color:#6b7280}.pa-nav-arrows{display:flex;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.pa-arrow-btn{display:flex;align-items:center;gap:6px;padding:10px 22px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s}.pa-arrow-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}.pa-arrow-btn.primary{background:#324dc7;border-color:transparent;color:#fff;box-shadow:0 2px 8px #324dc740}.pa-arrow-btn.primary:hover:not(:disabled){box-shadow:0 4px 14px #324dc759;transform:translateY(-1px)}.pa-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.pa-ai-col{position:relative;flex:0 0 48px;display:flex;align-items:stretch;justify-content:center;padding:0;transition:flex .5s cubic-bezier(.4,0,.2,1)}.pa-ai-col.open{flex:0 0 44%;padding:0}.pa-ai-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:48px;height:100%;background:linear-gradient(180deg,#324dc70a,#324dc714);border:none;border-left:2px solid rgba(50,77,199,.12);border-radius:0;cursor:pointer;color:var(--brand-ink);transition:all .25s;position:relative}.pa-ai-trigger:hover{background:linear-gradient(180deg,#324dc70f,#324dc724);border-left-color:#324dc759}.pa-ai-trigger:before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:4px;height:48px;border-radius:0 4px 4px 0;background:var(--brand);opacity:.5;transition:all .25s}.pa-ai-trigger:hover:before{height:64px;opacity:.8}.pa-ai-trigger-orb{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#5b6fe0}.pa-ai-trigger-ring{position:absolute;border-radius:50%;border:1px solid rgba(50,77,199,.2);animation:pa-ring 3s ease-in-out infinite}.pa-ai-trigger-ring.r1{top:-1px;right:-1px;bottom:-1px;left:-1px}.pa-ai-trigger-ring.r2{top:-6px;right:-6px;bottom:-6px;left:-6px;animation-delay:.5s}.pa-ai-trigger-ring.r3{top:-11px;right:-11px;bottom:-11px;left:-11px;animation-delay:1s}@keyframes pa-ring{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.1;transform:scale(1.08)}}.pa-ai-trigger:hover .pa-ai-trigger-ring{border-color:#324dc766}.pa-ai-trigger-chevron{color:var(--brand);opacity:.4;transition:all .25s}.pa-ai-trigger:hover .pa-ai-trigger-chevron{opacity:.8;transform:translate(-2px)}.pa-ai-trigger-label,.pa-ai-trigger-hint{display:none}.pa-ai-chat{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;animation:pa-ai-emerge .5s cubic-bezier(.4,0,.2,1)}@keyframes pa-ai-emerge{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.pa-ai-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;border-radius:0}.pa-ai-bg-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(165deg,#e5eaf9,#dde3f5 40%,#e5eaf9)}.pa-ai-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:linear-gradient(rgba(50,77,199,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(50,77,199,.05) 1px,transparent 1px);background-size:40px 40px}.pa-ai-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;animation:pa-orb-drift 10s ease-in-out infinite}.pa-ai-bg-orb.o1{width:240px;height:240px;top:-60px;right:-40px;background:radial-gradient(circle,rgba(50,77,199,.25),transparent 70%)}.pa-ai-bg-orb.o2{width:180px;height:180px;bottom:15%;left:-30px;background:radial-gradient(circle,rgba(168,85,247,.2),transparent 70%);animation-delay:-4s;animation-duration:12s}@keyframes pa-orb-drift{0%,to{transform:translate(0)}50%{transform:translate(15px,-10px)}}.pa-ai-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(50,77,199,.12);position:relative;z-index:1;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pa-ai-head-left{display:flex;align-items:center;gap:10px}.pa-ai-head-orb{width:32px;height:32px;border-radius:50%;background:#324dc7;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #324dc74d}.pa-ai-head-title{font-size:13px;font-weight:700;color:#0e2950}.pa-ai-head-mode{font-size:10px;font-weight:600;color:#324dc7}.pa-ai-collapse{width:28px;height:28px;border-radius:6px;border:none;background:#324dc714;color:#324dc7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pa-ai-collapse:hover{background:#324dc726;color:#1f2e8b}.pa-ai-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}.pa-ai-m{display:flex;gap:8px;max-width:90%;animation:pa-msg-in .25s ease-out}@keyframes pa-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pa-ai-m.user{align-self:flex-end;flex-direction:row-reverse}.pa-ai-m-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:10px;background:#324dc7;box-shadow:0 0 6px #324dc759}.pa-ai-m-text{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6}.pa-ai-m.ai .pa-ai-m-text{background:#ffffffb3;color:#0e2950;border:1px solid rgba(50,77,199,.1);border-bottom-left-radius:3px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pa-ai-m.user .pa-ai-m-text{background:#324dc7;color:#fff;border-bottom-right-radius:3px;box-shadow:0 2px 8px #324dc740}.pa-ai-thinking{display:flex;gap:5px;padding:2px 0}.pa-ai-thinking span{width:5px;height:5px;border-radius:50%;background:#324dc7;opacity:.4;animation:pa-think 1.2s ease-in-out infinite}.pa-ai-thinking span:nth-child(2){animation-delay:.15s}.pa-ai-thinking span:nth-child(3){animation-delay:.3s}@keyframes pa-think{0%,60%,to{opacity:.25;transform:scale(1)}30%{opacity:1;transform:scale(1.3)}}.pa-ai-inp{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid rgba(50,77,199,.1);position:relative;z-index:1;background:#fff6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pa-ai-inp textarea{flex:1;padding:9px 12px;border:1.5px solid rgba(50,77,199,.18);border-radius:10px;font-family:inherit;font-size:13px;color:#0e2950;background:#ffffffb3;resize:none;transition:all .2s}.pa-ai-inp textarea::placeholder{color:#a5a3c8}.pa-ai-inp textarea:focus{outline:none;border-color:#324dc773;background:#ffffffe6;box-shadow:0 0 0 3px #324dc714}.pa-ai-inp button{width:34px;height:34px;border-radius:50%;background:#324dc7;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.pa-ai-inp button:hover:not(:disabled){box-shadow:0 0 12px #324dc780;transform:scale(1.06)}.pa-ai-inp button:disabled{opacity:.2;cursor:not-allowed}.pa-ai-lock-chip{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:4px;padding:3px 7px;font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fff;background:#324dc7;border-radius:999px;box-shadow:0 2px 6px #3b82f666,0 0 0 2px #ffffffbf;animation:pa-ai-lock-pulse 1.8s ease-in-out infinite;pointer-events:none;white-space:nowrap}.pa-ai-lock-chip svg{animation:pa-ai-lock-tick 1s steps(2,end) infinite}@keyframes pa-ai-lock-pulse{0%,to{box-shadow:0 2px 6px #3b82f666,0 0 0 2px #ffffffbf,0 0 #3b82f680}50%{box-shadow:0 2px 10px #3b82f68c,0 0 0 2px #ffffffbf,0 0 0 6px #3b82f600}}@keyframes pa-ai-lock-tick{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}.pa-ai-inp-locked{justify-content:center;padding:12px 14px}.pa-ai-lock-banner{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:#fff;background:#324dc7;border-radius:10px;box-shadow:0 3px 10px #3b82f659;animation:pa-ai-lock-pulse 1.8s ease-in-out infinite}.pa-ai-lock-banner strong{font-variant-numeric:tabular-nums;font-weight:800}.pa-ai-lock-banner svg{animation:pa-ai-lock-tick 1s steps(2,end) infinite;flex-shrink:0}.pa-ai-bottom{flex:0 0 auto;width:100%;z-index:60;transition:height .28s cubic-bezier(.22,1,.36,1)}.pa-ai-bottom.minimized{height:44px}.pa-ai-bottom.maximized{height:min(33vh,360px)}.pa-ai-bottom-bar{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;padding:0 18px;background:linear-gradient(180deg,#324dc71a,#324dc72e);border:none;border-top:1.5px solid rgba(50,77,199,.22);color:var(--brand-ink);cursor:pointer;font:inherit;box-shadow:0 -2px 10px #0f163c0f;transition:background .2s}.pa-ai-bottom-bar:hover{background:linear-gradient(180deg,#324dc729,#324dc742)}.pa-ai-bottom-bar-left{display:flex;align-items:center;gap:10px}.pa-ai-bottom-orb{width:26px;height:26px;border-radius:50%;background:#324dc7;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #324dc759}.pa-ai-bottom-label{font-size:13px;font-weight:700;color:#0e2950;letter-spacing:.01em}.pa-ai-bottom-lock{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px 8px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#fff;background:#324dc7;border-radius:999px;box-shadow:0 1px 4px #324dc759}.pa-ai-bottom-lock svg{animation:pa-ai-lock-tick 1s steps(2,end) infinite}.pa-ai-bottom-maximize{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#ffffff73;color:#324dc7;transition:background .15s,color .15s}.pa-ai-bottom-bar:hover .pa-ai-bottom-maximize{background:#ffffffbf;color:#1f2e8b}.pa-ai-bottom-drawer{pointer-events:auto;width:100%;height:100%;background:#e5eaf9;border-top:1.5px solid rgba(50,77,199,.25);box-shadow:0 -8px 28px #0f163c2e;overflow:hidden;animation:pa-ai-bottom-slide .32s cubic-bezier(.22,1,.36,1)}@keyframes pa-ai-bottom-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pa-ai-bottom-drawer .pa-ai-chat{height:100%;animation:none}.md-rendered{font-size:15px;line-height:1.75;color:var(--ink);word-break:break-word}.md-rendered h1{font-size:22px;font-weight:800;margin:28px 0 12px;letter-spacing:-.02em;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:8px}.md-rendered h2{font-size:18px;font-weight:700;margin:24px 0 10px;letter-spacing:-.01em;color:var(--ink)}.md-rendered h3{font-size:15.5px;font-weight:700;margin:20px 0 8px;color:var(--ink)}.md-rendered p{margin:0 0 14px}.md-rendered ul,.md-rendered ol{margin:0 0 14px;padding-left:24px}.md-rendered li{margin-bottom:4px}.md-rendered li>p{margin:0}.md-rendered strong{font-weight:700}.md-rendered em{font-style:italic}.md-rendered hr{border:none;height:1px;background:var(--line);margin:24px 0}.md-rendered blockquote{margin:0 0 14px;padding:12px 18px;border-left:3px solid var(--brand);background:#f1eee5;border-radius:0 8px 8px 0;color:var(--ink)}.md-rendered blockquote p:last-child{margin:0}.md-rendered code{font-family:SF Mono,Fira Code,monospace;font-size:.88em;padding:2px 6px;background:#f1f3f9;border-radius:4px}.md-rendered pre{background:#1e1e2e;color:#cdd6f4;padding:16px 20px;border-radius:10px;overflow-x:auto;margin:0 0 14px;font-size:13px;line-height:1.6}.md-rendered pre code{background:none;padding:0;color:inherit;font-size:inherit}.md-rendered img{display:block;max-width:100%;height:auto;margin:16px auto;border-radius:8px}.md-rendered table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;font-size:13.5px;line-height:1.55;border:1px solid var(--line);border-radius:10px;overflow:hidden}.md-rendered thead{background:#e5eaf9}.md-rendered thead th{padding:10px 14px;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-ink);text-align:left;border-bottom:2px solid var(--brand);white-space:nowrap}.md-rendered tbody tr{transition:background .12s ease}.md-rendered tbody tr:nth-child(2n){background:#faf8f2}.md-rendered tbody tr:hover{background:#e5eaf9}.md-rendered td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}.md-rendered tbody tr:last-child td{border-bottom:none}.md-rendered td:first-child{font-weight:600;color:var(--ink)}.md-rendered td:nth-child(n+3){font-variant-numeric:tabular-nums}.pa-reading-pane .md-rendered table{font-size:12px}.pa-reading-pane .md-rendered thead th{padding:7px 10px;font-size:10.5px}.pa-reading-pane .md-rendered td{padding:6px 10px}.pa-view-mode-bar{display:flex;align-items:center;gap:4px;padding:8px 16px;background:#f8f6ef;border-bottom:1px solid var(--line)}.pa-view-mode-bar-inline{border-radius:10px 10px 0 0;margin-bottom:0}.pa-view-mode-btn{font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:8px;background:transparent;color:var(--muted);border:1px solid transparent;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .15s ease}.pa-view-mode-btn:hover{background:#e5eaf9;color:var(--brand-ink)}.pa-view-mode-btn.active{background:#fff;color:var(--brand-ink);border-color:var(--line);box-shadow:0 1px 3px #0000000f}.pa-raw-view{flex:1;display:flex;flex-direction:column;overflow:hidden}.pa-raw-iframe{flex:1;width:100%;min-height:70vh;border:none;border-radius:0 0 10px 10px}.pa-raw-img{width:100%;height:auto;object-fit:contain}.reading-panel-title-row{display:flex;align-items:center;gap:12px}.passage-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--brand);color:#fff;font-size:14px;font-weight:800;flex-shrink:0;box-shadow:0 2px 8px #324dc740}.passage-number.unassigned{background:#6b7280;box-shadow:0 2px 8px #6b728040}.reading-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.reading-panel-head h2{margin:0;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.reading-panel-hint{font-size:12.5px;color:var(--muted)}.reading-mode-btn{font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:8px;background:#e5eaf9;color:var(--brand-ink);border:1px solid rgba(50,77,199,.15);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .18s ease;box-shadow:0 1px 3px #0000000a}.reading-mode-btn:hover{background:#e5eaf9;box-shadow:0 2px 6px #324dc726}.reading-mode-btn.editing{background:var(--brand);color:#fff;border-color:var(--brand)}.reading-mode-btn.editing:hover{background:var(--brand-ink)}.reading-preview-pane{cursor:default}.passage-questions{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;display:flex;flex-direction:column;gap:10px}.passage-questions-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.passage-q-count{background:var(--brand);color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:999px;margin-left:2px}.preview-q-nested{background:#faf8f2;border:1px solid #e0e3ea;border-radius:10px;padding:12px 14px}.preview-q-nested header{padding:0 0 8px;border-bottom:none}.passage-add-q{font:inherit;font-size:13px;font-weight:600;padding:10px 16px;border-radius:10px;background:transparent;color:var(--brand-ink);border:1.5px dashed rgba(50,77,199,.3);cursor:pointer;display:flex;align-items:center;gap:6px;justify-content:center;transition:all .15s ease}.passage-add-q:hover{background:#e5eaf9;border-color:var(--brand);color:var(--brand)}.unassigned-panel{border-color:#e5e7eb;background:#faf8f2}.q-assign-select{font:inherit;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--brand-ink);cursor:pointer}.raw-view-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.raw-view-toggle input[type=checkbox]{accent-color:var(--brand);width:15px;height:15px;cursor:pointer}.raw-view-toggle-label{font-weight:500}@media (max-width: 900px){.pa-main{flex-direction:column}.pa-root.ai-active .pa-q-col{flex:none}.pa-ai-col{flex:0 0 48px;padding:0}.pa-ai-col.open{flex:1;padding:0}.pa-ai-trigger{width:100%;height:48px;flex-direction:row;border-left:none;border-top:2px solid rgba(50,77,199,.12)}.pa-ai-trigger:before{left:50%;top:-1px;transform:translate(-50%);width:48px;height:4px;border-radius:0 0 4px 4px}.pa-ai-trigger:hover:before{width:64px;height:4px}}@media (max-width: 600px){.pa-card{padding:16px 14px}}.lms-landing{min-height:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at 20% 0%,rgba(50,77,199,.08),transparent 50%),radial-gradient(circle at 80% 100%,rgba(91,111,224,.08),transparent 50%),var(--bg)}.lms-landing-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:36px 32px;width:100%;max-width:460px;display:flex;flex-direction:column;gap:18px;position:relative}.lms-login-card{max-width:420px}.lms-landing-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.lms-landing-brand h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em}.lms-landing-card h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}.lms-landing-sub{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.lms-landing-sub code{background:#ede9df;padding:1px 6px;border-radius:4px;font-size:12px}.lms-landing-row{display:flex;gap:8px}.lms-code-input{flex:1;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:15px;font-family:inherit;background:#faf8f2;outline:none;transition:border .15s ease,box-shadow .15s ease;width:100%}.lms-code-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #324dc726;background:#fff}.lms-primary-btn,.lms-secondary-btn,.lms-text-btn{height:44px;padding:0 18px;border-radius:10px;border:0;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:filter .15s ease,transform .06s ease}.lms-primary-btn{background:#324dc7;color:#fff;box-shadow:0 2px 6px #324dc740}.lms-primary-btn:hover:not(:disabled){filter:brightness(1.06)}.lms-primary-btn:active:not(:disabled){transform:translateY(1px)}.lms-primary-btn:disabled{opacity:.55;cursor:not-allowed}.lms-secondary-btn{background:#ede9df;color:var(--ink);border:1px solid var(--line)}.lms-secondary-btn:hover:not(:disabled){background:#e7eafc}.lms-secondary-btn:disabled{opacity:.55;cursor:not-allowed}.lms-text-btn{background:none;color:var(--muted);height:auto;padding:6px 10px}.lms-text-btn:hover{color:var(--ink)}.lms-back-link{background:none;border:0;color:var(--muted);font-size:13px;cursor:pointer;padding:0;align-self:flex-start;font-family:inherit;margin-bottom:4px}.lms-back-link:hover{color:var(--ink)}.lms-landing-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.lms-landing-divider:before,.lms-landing-divider:after{content:"";flex:1;height:1px;background:var(--line)}.lms-landing-teacher{display:flex}.lms-landing-teacher .lms-secondary-btn{width:100%}.lms-login-form{display:flex;flex-direction:column;gap:10px}.lms-login-form .lms-primary-btn{margin-top:4px}.lms-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.4}.lms-field-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.lms-assignment-preview{display:flex;flex-direction:column;gap:2px;background:#ede9df;border-radius:10px;padding:12px 14px}.lms-assignment-preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.lms-assignment-preview-title{font-weight:600;font-size:15px}.lms-done-check{width:64px;height:64px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;align-self:center;box-shadow:0 6px 18px #10b98140}.lms-score-pill{align-self:center;background:#ede9df;padding:6px 14px;border-radius:999px;font-weight:600;font-size:14px}.lms-published-stage{display:flex;align-items:center;justify-content:center;padding:40px 20px}.lms-published-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:36px 32px;width:100%;max-width:540px;display:flex;flex-direction:column;gap:16px;align-items:stretch;text-align:center}.lms-published-card h2{margin:0;font-size:24px}.lms-published-sub{margin:0;color:var(--muted)}.lms-published-check{width:64px;height:64px;border-radius:50%;background:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;align-self:center;box-shadow:0 6px 18px #10b98140}.lms-code-display{background:#324dc70f;border:1px solid rgba(50,77,199,.18);border-radius:12px;padding:22px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:border-color .15s ease}.lms-code-display:hover{border-color:#324dc766}.lms-code-display-text{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:32px;font-weight:700;letter-spacing:.12em;background:var(--brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lms-code-copy-btn{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.lms-code-copy-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.lms-share-link{display:flex;gap:8px}.lms-share-link input{flex:1;padding:10px 12px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:#faf8f2;color:var(--muted);font-family:inherit}.lms-published-actions{display:flex;gap:8px;justify-content:space-between}.lms-published-actions>*{flex:1}.lms-submitting-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e295073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.lms-submitting-card{background:#fff;padding:22px 28px;border-radius:14px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 32px #0e295033;font-weight:600}.lms-submitting-spinner{width:22px;height:22px;border:3px solid #dde3f5;border-top-color:var(--brand);border-radius:50%;animation:lms-spin .8s linear infinite}@keyframes lms-spin{to{transform:rotate(360deg)}}.topbar-link{margin-left:8px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;padding:4px 10px;border-radius:6px;align-self:center;justify-self:start}.topbar-link:hover{background:#ede9df;color:var(--ink)}.lms-dashboard{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.lms-dashboard-head{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.lms-dashboard-actions{display:flex;align-items:center;gap:8px}.lms-dashboard-main{flex:0 0 auto;display:block;max-width:1100px;width:100%;margin:0 auto;padding:12px 28px}.lms-dashboard-main h1{margin:0 0 22px;font-size:26px;letter-spacing:-.02em}.lms-dashboard-main h2{margin:28px 0 14px;font-size:18px;font-weight:700}.lms-empty-state{background:var(--card);border:1px dashed var(--line);border-radius:14px;padding:40px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:14px;align-items:center}.lms-fab{position:fixed;right:44px;bottom:28px;width:76px;height:76px;border-radius:50%;border:0;background:#324dc7;color:#fff;font-size:38px;font-weight:400;line-height:1;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #324dc759,0 2px 4px #00000014;transition:filter .15s ease,transform .08s ease,box-shadow .15s ease;z-index:30}.lms-fab:hover{filter:brightness(1.06);box-shadow:0 8px 22px #324dc766,0 2px 6px #0000001a}.lms-fab:active{transform:translateY(1px)}.lms-fab:focus-visible{outline:3px solid rgba(50,77,199,.35);outline-offset:3px}.lms-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.lms-table th,.lms-table td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--line)}.lms-table th{background:#faf8f2;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.lms-table tbody tr:last-child td{border-bottom:0}.lms-table tbody tr:hover{background:#324dc708}.lms-table-title{font-weight:600}.lms-code-mono{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;background:#ede9df;padding:2px 7px;border-radius:4px;font-size:13px;letter-spacing:.05em}.lms-status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#ede9df;color:var(--muted)}.lms-status-badge.open{background:#dcfce7;color:#166534}.lms-status-badge.closed{background:#f3f4f6;color:#374151}.lms-status-badge.in_progress{background:#fef3c7;color:#92400e}.lms-status-badge.submitted{background:#dbeafe;color:#1e40af}.lms-status-badge.graded{background:#dde3f5;color:#5b21b6}.lms-detail-header{margin-bottom:18px}.lms-detail-header h1{margin:0 0 6px}.lms-detail-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:14px}.lms-detail-share a{color:var(--brand-ink);text-decoration:none}.lms-detail-share a:hover{text-decoration:underline}.lms-review-meta{margin-bottom:22px}.lms-review-meta h1{margin:0;font-size:24px}.lms-review-meta p{margin:4px 0 0}.lms-running-total{background:#ede9df;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px}.lms-score-summary{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.lms-score-summary.compact{gap:8px;flex-wrap:nowrap}.lms-score-raw{background:#ede9df;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px}.lms-score-summary.compact .lms-score-raw{font-size:13px;padding:4px 10px}.lms-score-pct{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.lms-score-summary.compact .lms-score-pct{font-size:12px}.lms-grade-chip{display:inline-block;padding:4px 14px;border-radius:999px;font-weight:700;font-size:13px;letter-spacing:.02em;background:#ede9df;color:var(--muted);min-width:40px;text-align:center}.lms-score-summary.compact .lms-grade-chip{padding:3px 10px;font-size:12px;min-width:32px}.lms-grade-chip.lms-grade-a{background:#dcfce7;color:#166534}.lms-grade-chip.lms-grade-b{background:#ecfccb;color:#4d7c0f}.lms-grade-chip.lms-grade-c{background:#fef3c7;color:#92400e}.lms-grade-chip.lms-grade-d{background:#fed7aa;color:#9a3412}.lms-grade-chip.lms-grade-f{background:#fecaca;color:#991b1b}.lms-saved-flash{color:#166534;font-weight:600;font-size:13px;background:#dcfce7;padding:6px 12px;border-radius:999px;animation:lms-fade 1.6s ease forwards}@keyframes lms-fade{0%{opacity:0;transform:translateY(-4px)}20%{opacity:1;transform:translateY(0)}to{opacity:0}}.lms-review-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.lms-review-q{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow)}.lms-review-q-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:14px}.lms-review-q-num{font-weight:700;background:#324dc7;color:#fff;padding:4px 11px;border-radius:8px;font-size:13px;white-space:nowrap}.lms-review-q-prompt{font-size:16px;line-height:1.5}.lms-review-q-score{display:flex;align-items:center;gap:6px}.lms-review-q-score input{width:64px;height:36px;border:1px solid var(--line);border-radius:8px;text-align:center;font-size:15px;font-weight:600;font-family:inherit;background:#faf8f2}.lms-review-q-score input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #324dc726;background:#fff}.lms-review-q-image{margin:12px 0;display:flex;justify-content:center}.lms-review-q-image img{max-width:100%;max-height:320px;border:1px solid var(--line);border-radius:8px;background:#fff}.lms-review-q-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 12px}.lms-review-pane{background:#faf8f2;border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.lms-review-pane-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.lms-review-answer-box{font-size:15px;line-height:1.5;white-space:pre-wrap;min-height:32px}.lms-review-answer-box.muted{color:var(--muted);font-style:italic}.lms-review-mc{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.lms-review-mc-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:14px}.lms-review-mc-item.correct{background:#dcfce7}.lms-review-mc-item.chosen:not(.correct){background:#fee2e2}.lms-review-mc-letter{font-weight:700;min-width:18px}.lms-review-mc-tick{margin-left:auto;color:#166534;font-weight:700}.lms-auto-correct{font-size:12px;color:#166534;font-weight:600;background:#dcfce7;padding:3px 9px;border-radius:999px;align-self:flex-start}.lms-auto-wrong{font-size:12px;color:#991b1b;font-weight:600;background:#fee2e2;padding:3px 9px;border-radius:999px;align-self:flex-start}.lms-review-comment{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;font-family:inherit;background:#faf8f2}.lms-review-comment:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #324dc726;background:#fff}.lms-review-overall{margin-top:24px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.lms-review-overall textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;background:#faf8f2}.lms-review-overall textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px #324dc726;background:#fff}.lms-review-overall-actions{display:flex;justify-content:flex-end}@media (max-width: 720px){.lms-review-q-grid{grid-template-columns:1fr}.lms-table{font-size:13px}.lms-table th,.lms-table td{padding:10px 12px}.lms-dashboard-head{flex-direction:column;align-items:flex-start;gap:8px}.lms-published-actions{flex-direction:column}}.lms-dashboard-head-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:5}.lms-dashboard-head-grid>:first-child{justify-self:start}.lms-dashboard-head-grid>.lms-dashboard-actions{justify-self:end}.lms-dashboard-head-title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-align:center;white-space:nowrap}.lms-dashboard-main-narrow{max-width:880px}.lms-table-tight{table-layout:fixed;width:auto;background:transparent;border:0;border-radius:0;box-shadow:none;border-collapse:separate;border-spacing:0 2px}.lms-table-tight thead th{height:28px;padding:0 14px;background:transparent;font-size:11px;border:0;text-align:left}.lms-table-tight tbody td{height:52px;padding:0 16px;vertical-align:middle;white-space:nowrap;font-size:14px;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-left:0;border-right:0}.lms-table-tight tbody td.lms-table-title{overflow:hidden;text-overflow:ellipsis}.lms-table-tight tbody td:first-child{border-left:1px solid var(--line);border-top-left-radius:8px;border-bottom-left-radius:8px;padding-left:16px}.lms-table-tight tbody td:last-child{border-right:1px solid var(--line);border-top-right-radius:8px;border-bottom-right-radius:8px;padding-right:16px}.lms-table-tight tbody tr:hover{background:transparent}.lms-table-tight tbody tr:hover td{background:#324dc70a}.lms-table-tight tbody td{box-shadow:0 1px 2px #0e29500a}.lms-table-tight th.col-title{width:240px}.lms-table-tight th.col-code{width:90px}.lms-table-tight th.col-date{width:110px}.lms-table-tight th.col-count{width:80px}.lms-table-tight th.col-status{width:90px}.lms-table-tight th.col-score{width:220px}.lms-table-tight td.lms-table-score-cell{white-space:nowrap}.lms-table-tight th.col-action{width:80px}.lms-table-tight td.lms-table-title{font-weight:600}.lms-table-tight .lms-secondary-btn{height:30px;padding:0 12px;font-size:13px}.lms-table-tight .lms-status-badge{font-size:11px;padding:3px 9px}.lms-table-tight .lms-code-mono{font-size:13px;padding:2px 7px}.lms-table-tight .lms-timer-cell{font-size:13px}.lms-table-tight{margin:0 auto}.student-code-row{display:flex;gap:10px;margin:0 auto 24px;max-width:560px}.student-code-input{flex:1;text-transform:uppercase;letter-spacing:.05em}.student-dashboard-section{margin:24px auto 0;width:fit-content;min-width:600px}.student-section-title{margin:0 0 10px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.student-dashboard-section .lms-empty-state-bare{padding:14px 20px;text-align:left}.student-score-pill{display:inline-flex;align-items:center;background:#ede9df;font-weight:700;font-size:15px;padding:6px 14px;border-radius:999px}.student-teacher-comment{margin-top:12px;background:#faf8f2;border:1px solid var(--line);border-radius:8px;padding:10px 14px}.student-overall-readonly{margin-bottom:18px}.lms-detail-settings{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.lms-setting-chip{display:inline-flex;align-items:center;gap:6px;background:#faf8f2;border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;line-height:1}.lms-setting-chip-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.lms-setting-chip-value{font-weight:600;color:var(--ink)}.lms-timer-cell{display:inline-flex;align-items:center;gap:6px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-weight:600;font-size:13px;color:var(--brand-ink)}.lms-timer-cell.urgent{color:var(--danger)}.lms-timer-cell.expired{color:var(--danger);font-style:italic}.lms-timer-dot{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:lms-timer-pulse 1.2s ease-in-out infinite}.lms-timer-cell.urgent .lms-timer-dot{background:var(--danger)}@keyframes lms-timer-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.lms-empty-state-bare{background:transparent;border:0;box-shadow:none;padding:80px 24px;margin:0 auto;align-items:center;justify-content:center}.lms-empty-state-bare p{margin:0;font-size:15px}.lms-detail-footer{display:flex;justify-content:flex-start;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.lms-detail-grid{max-width:1280px;display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}.lms-detail-info{display:flex;flex-direction:column;gap:12px;position:sticky;top:80px}.lms-detail-info h1{margin:0;font-size:22px;letter-spacing:-.02em}.lms-detail-info .lms-detail-meta{gap:10px}.lms-detail-share-row{display:flex;min-width:0}.lms-detail-share-row a{font-size:12px;color:var(--brand-ink);text-decoration:none;word-break:break-all;line-height:1.4}.lms-detail-share-row a:hover{text-decoration:underline}.lms-detail-info .lms-detail-settings{margin-top:6px}.lms-detail-toggle-btn{margin-top:14px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.lms-detail-toggle-btn.close{background:#fff;border:1px solid #fecaca;color:#b91c1c}.lms-detail-toggle-btn.close:hover{background:#fef2f2;border-color:#f87171}.lms-detail-toggle-btn.reopen{background:#fff;border:1px solid #bbf7d0;color:#166534}.lms-detail-toggle-btn.reopen:hover{background:#dcfce7;border-color:#4ade80}.lms-detail-submissions{min-width:0}@media (max-width: 900px){.lms-detail-grid{grid-template-columns:1fr}.lms-detail-info{position:static}}.ps-q-mathfield .mf-input{font-size:14px;min-height:40px;padding:6px 10px}.pa-lockdown-gate{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;z-index:9999;color:#f1f5f9}.pa-lockdown-gate-card{max-width:440px;padding:36px 32px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;text-align:center}.pa-lockdown-gate-card h2{margin:0 0 12px;font-size:22px;font-weight:600}.pa-lockdown-gate-card p{margin:0 0 24px;color:#cbd5e1;line-height:1.5;font-size:14px}.pa-lockdown-gate-btn{background:#2563eb;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.pa-lockdown-gate-btn:hover{background:#1d4ed8}.pa-lockdown-gate-recording{background:#ef44441f;border:1px solid rgba(239,68,68,.4);border-radius:8px;padding:12px 14px;color:#fecaca!important;font-size:13px!important;margin-bottom:16px!important}.pa-lockdown-gate-recording strong{color:#fff}.pa-lockdown-gate-error{background:#ef444433;border:1px solid #ef4444;border-radius:8px;padding:10px 12px;color:#fee2e2;font-size:13px;margin-bottom:16px;text-align:left}.lockdown-record-toggle{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.3);border-radius:8px;cursor:pointer}.lockdown-record-toggle input[type=checkbox]{margin-top:3px}.lockdown-record-title{font-weight:600;color:#b91c1c;font-size:14px}.lockdown-record-desc{color:var(--muted);font-size:13px;line-height:1.45;margin-top:2px}.lms-recording-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin:16px 0;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:10px}.lms-recording-callout-title{font-weight:600;color:#78350f;font-size:15px}.lms-recording-callout-desc{color:#92400e;font-size:13px;margin-top:2px}.lms-recording-review .lms-recording-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media (max-width: 900px){.lms-recording-review .lms-recording-grid{grid-template-columns:1fr}}.lms-recording-player{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow)}.lms-recording-meta{margin-bottom:12px}.lms-recording-meta-title{font-weight:600;font-size:16px}.lms-recording-meta-sub{color:var(--muted);font-size:13px;margin-top:2px}.lms-recording-live{color:#b91c1c;font-weight:600}.lms-recording-video{width:100%;max-height:70vh;background:#000;border-radius:8px;display:block}.lms-recording-empty{margin-top:12px;padding:12px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;color:#166534;font-size:13px;text-align:center}.lms-recording-violations{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow);max-height:calc(100vh - 140px);overflow-y:auto;position:sticky;top:16px}.lms-recording-violations-head{font-weight:600;font-size:14px;padding:6px 8px 10px;color:#78350f;border-bottom:1px solid var(--line)}.lms-recording-violations-empty{padding:16px 8px;color:var(--muted);font-size:13px;text-align:center}.lms-recording-violations-list{list-style:none;padding:0;margin:0}.lms-recording-violation{border-bottom:1px solid var(--line)}.lms-recording-violation:last-child{border-bottom:0}.lms-recording-violation-btn{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;grid-column-gap:10px;width:100%;text-align:left;background:transparent;border:0;padding:10px 8px;cursor:pointer;font:inherit;color:inherit;border-radius:6px}.lms-recording-violation-btn:hover{background:#f59e0b14}.lms-recording-violation-btn:disabled{cursor:not-allowed;opacity:.6}.lms-recording-violation.active .lms-recording-violation-btn{background:#f59e0b2e}.lms-recording-violation-time{grid-row:1 / span 2;align-self:center;font-variant-numeric:tabular-nums;font-weight:600;color:#b45309;font-size:13px}.lms-recording-violation-label{font-size:13px;color:#1f2937}.lms-recording-violation-wall{font-size:11px;color:var(--muted)}.pa-lockdown-warning{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:16px;font-size:14px;color:#78350f;box-shadow:0 4px 12px #0000001a;z-index:9998}.pa-lockdown-warning-actions{display:flex;gap:8px}.pa-lockdown-warning-actions button{background:#fff;border:1px solid #f59e0b;color:#78350f;padding:4px 10px;border-radius:6px;font-size:13px;cursor:pointer}.pa-lockdown-warning-actions button:hover{background:#fef3c7}.pa-root.pa-lockdown-on .pa-q-prompt{-webkit-user-select:none;user-select:none}.lms-violations-panel{margin:16px 0;padding:12px 16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#78350f}.lms-violations-panel-head{font-weight:600;margin-bottom:8px}.lms-violations-list{list-style:none;padding:0;margin:0;font-size:13px}.lms-violations-list li{padding:2px 0;font-variant-numeric:tabular-nums}.lms-violations-list .v-time{color:#92400e;margin-right:8px}.lms-violation-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;color:#78350f;font-size:12px;font-weight:500;vertical-align:middle;white-space:nowrap;cursor:pointer;font-family:inherit;transition:background .12s ease,box-shadow .12s ease}.lms-violation-badge:hover{background:#fde68a}.lms-violation-badge:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.lms-violation-badge[aria-expanded=true]{background:#fde68a;box-shadow:0 0 0 2px #f59e0b40}.lms-violation-popover{position:fixed;z-index:1000;min-width:260px;max-width:360px;max-height:320px;overflow-y:auto;padding:12px 14px;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;color:#78350f;box-shadow:0 10px 28px #00000026}.lms-violation-popover-head{font-weight:600;font-size:13px;margin-bottom:8px}.lms-violation-popover-empty{font-size:13px;color:#92400e}.lms-violation-popover .lms-violations-list{font-size:13px}.pa-lockdown-chip{display:inline-flex;align-items:center;padding:4px 10px;background:#22c55e1a;border:1px solid rgba(34,197,94,.4);border-radius:999px;color:#166534;font-size:12px;font-weight:600;white-space:nowrap}.pa-lockdown-chip.violated{background:#fef3c7;border-color:#f59e0b;color:#78350f}.pa-fullscreen-return{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#2563eb;border:1px solid #1d4ed8;border-radius:999px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;animation:pa-fs-pulse 1.6s ease-out infinite}.pa-fullscreen-return:hover{background:#1d4ed8;animation:none}@keyframes pa-fs-pulse{0%{box-shadow:0 0 #2563eb80}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 #2563eb00}}
