@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--bg: #e9eee7;--surface: #fbfcf8;--surface-soft: #f1f5ef;--text: #16221e;--muted: #5b6963;--line: #cfd9d0;--accent: #1b6b58;--accent-soft: #dceee7;--good: #1f6b45;--good-soft: #e2f1e8;--bad: #a6402f;--bad-soft: #f6e2dd;--highlight: #e7b84a;--highlight-soft: #fbf0d2;--shadow: 0 1px 0 rgba(22, 34, 30, .05);--radius: 10px;--serif: "Newsreader", Georgia, "Times New Roman", serif;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--subject: var(--accent);--subject-soft: var(--accent-soft);--rail: 1200px;--rail-gutter: clamp(16px, 3vw, 40px);--bench-h: 63px;--control-h: 42px;--control-h-touch: 44px;--control-h-sm: 36px;--control-h-row: 46px;--control-pad-y: 10px;--control-pad-x: 11px;--label-gap: 6px;--radius-control: 6px;font-family:var(--sans);color:var(--text);background:var(--bg);color-scheme:light}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background-color:var(--bg);background-image:linear-gradient(rgba(22,34,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(22,34,30,.035) 1px,transparent 1px);background-size:34px 34px;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}code{background:#eef2fa;border-radius:6px;padding:.1rem .35rem;font-size:.9em}.app{max-width:1240px;margin:0 auto;padding:20px 22px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px 20px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.3rem;background:linear-gradient(140deg,#2457d6,#5b8cff);box-shadow:0 6px 18px #2457d647}.brand h1{margin:0;font-size:1.25rem;letter-spacing:-.02em}.brand p{margin:2px 0 0;color:var(--muted);font-size:.86rem}.topbar-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--accent-soft);color:#173a91;font-size:.76rem;font-weight:650;white-space:nowrap}.badge.muted{background:#eef1f6;color:#414b5f}.tabs{display:flex;gap:6px;overflow-x:auto;flex-wrap:wrap;padding:6px;background:#ffffffb8;border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:10px;z-index:20}.tab{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:10px;cursor:pointer;font-weight:600;white-space:nowrap}.tab:hover{background:#eef2fa;color:var(--text)}.tab.active{background:var(--accent);color:#fff}.main{padding-top:22px}.panel{display:none;animation:rise .18s ease-out}.panel.active{display:block}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading.compact{align-items:flex-start}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.11em;font-size:.71rem;font-weight:750;color:var(--accent)}h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em}h3{margin:0;font-size:1.05rem;letter-spacing:-.015em}h4{margin:18px 0 8px}.lede{margin:7px 0 0;max-width:70ch;color:var(--muted);line-height:1.55}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat{display:flex;flex-direction:column;gap:4px}.stat strong{font-size:1.35rem;letter-spacing:-.03em}.stat-label{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.topic-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.topic-list .muted{display:block;margin-top:2px;font-size:.78rem}.pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:750}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.good{background:var(--good-soft);color:var(--good)}.quick-list{display:grid;gap:8px}.quick-list button{text-align:left;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:12px;cursor:pointer}.quick-list button:hover{border-color:#b8c7e6;background:#f2f6ff}.quick-list strong{display:block;margin-bottom:2px}.quick-list span{color:var(--muted);font-size:.84rem}.button{border:1px solid transparent;background:var(--accent);color:#fff;border-radius:11px;padding:10px 15px;font-weight:700;cursor:pointer;transition:transform 90ms ease,background .12s ease}.button:hover:not(:disabled){background:#1d49b8}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{background:#fff;color:var(--accent);border-color:#c8d5f1}.button.secondary:hover:not(:disabled){background:var(--accent-soft)}.button.small{padding:7px 11px;font-size:.82rem}.link{border:0;background:none;color:var(--accent);font-weight:650;cursor:pointer;padding:0}.row{display:flex;gap:8px;flex-wrap:wrap}.search-bar,.form-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.form-row>.field,.form-row>.checkbox{min-width:0;max-width:100%}.form-row input,.form-row select{min-width:0;max-width:100%}.search-bar,.form-row.card{margin-bottom:14px}.form-row.flush{padding:0}.field.grow{flex:1 1 280px}.field>span{font-size:.78rem;font-weight:700;color:#3c4658}input,select,textarea{border:1px solid #c9d3e3;background:#fff;border-radius:10px;padding:10px 11px;outline:none;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{resize:vertical}.checkbox{display:flex;align-items:center;gap:7px;font-size:.85rem;color:var(--muted);padding-bottom:9px}.stack{display:flex;flex-direction:column;gap:10px}.muted{color:var(--muted)}.empty{color:var(--muted);margin:8px 0}.error-note{background:var(--bad-soft);color:var(--bad);border:1px solid #f3c1bc;padding:9px 11px;border-radius:10px;font-size:.9rem}.success-note{background:var(--good-soft);color:var(--good);border:1px solid #bce3cc;padding:9px 11px;border-radius:10px;font-size:.9rem}.result-heading{display:flex;justify-content:space-between;gap:12px;margin:10px 2px;color:var(--muted);font-size:.85rem}.results{display:flex;flex-direction:column;gap:10px}.result{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:14px}.result-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.meta{color:var(--muted);font-size:.78rem;line-height:1.45}.stable-id{display:inline-block;margin-top:4px;font-size:.78rem}.question-text{white-space:pre-wrap;font-family:inherit;font-size:.92rem;line-height:1.55;margin:10px 0 0;color:#273247}.result .question-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.detail{margin-top:16px}.topic-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.image-grid{display:grid;gap:12px;margin:14px 0}.image-grid img,.scanned{max-width:100%;border:1px solid var(--line);border-radius:10px;background:#fff}.scanned{display:block;margin-bottom:8px}.markscheme{display:flex;flex-direction:column;gap:8px}.ms-entry{border-left:3px solid #c9d8f4;padding-left:11px}.ms-page-link{display:block;max-height:560px;overflow:auto;margin:8px 0;border:1px solid var(--line);background:#fff}.ms-page-image{display:block;width:100%;height:auto}.ms-text-fallback{margin-top:6px;font-size:.8rem}.ms-text-fallback summary{cursor:pointer;color:var(--muted)}.markdown{line-height:1.7;font-size:.95rem;overflow-wrap:anywhere}.markdown p{margin:0 0 .8em}.markdown h2,.markdown h3,.markdown h4{margin:1.25em 0 .45em;line-height:1.25}.markdown h2{font-size:1.18rem}.markdown h3{font-size:1.04rem}.markdown ul,.markdown ol{margin:.45em 0 .95em;padding-left:1.25em;display:grid;gap:.4em}.markdown li>ul,.markdown li>ol{margin:.35em 0 0}.markdown li::marker{color:var(--muted)}.markdown code{padding:.1em .3em;border-radius:2px;background:var(--surface-soft);font-size:.88em}.reader-block .markdown{max-width:74ch}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown table{width:100%;border-collapse:collapse;margin:10px 0}.markdown th,.markdown td{border:1px solid var(--line);padding:6px 8px;text-align:left}.markdown blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid #b8c7e6;color:var(--muted);background:var(--surface-soft)}.chat{display:flex;flex-direction:column;gap:12px}.chat-log{display:flex;flex-direction:column;gap:10px;min-height:320px;max-height:58vh;overflow-y:auto;padding:4px}.msg{max-width:92%;border-radius:14px;padding:12px 14px;line-height:1.55}.msg.user{align-self:flex-end;background:var(--accent);color:#fff}.msg.user p{margin:0}.msg.assistant{align-self:flex-start;background:var(--surface-soft);border:1px solid var(--line)}.citations{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.citation{font-size:.72rem;background:#eef2fa;color:#414b5f;border-radius:999px;padding:3px 8px}.chat-form{display:flex;gap:10px;align-items:flex-end}.document-list{display:flex;flex-direction:column;gap:6px}.document-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.document-row .muted{display:block;font-size:.78rem;margin-top:2px}.notes{margin-top:14px}.error-note,.success-note,.empty{margin:10px 0}@media(max-width:900px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.app{padding:12px 12px 48px}.topbar{align-items:flex-start;flex-direction:column}.card-grid{grid-template-columns:1fr}.chat-form{flex-direction:column;align-items:stretch}.msg{max-width:100%}.tabs{top:4px}.document-row{flex-direction:column}}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px;padding:22px 16px;background:#ffffffd1;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30}.sidebar .brand{gap:10px;padding:0 4px}.sidebar .brand-mark{width:38px;height:38px;border-radius:12px;font-size:1.05rem}.sidebar .brand h1{font-size:1.02rem}.sidebar .brand p{font-size:.74rem}.side-nav{display:flex;flex-direction:column;gap:3px}.side-item{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--muted);padding:10px 11px;border-radius:10px;cursor:pointer;font-weight:650;text-align:left;transition:background .12s ease,color .12s ease}.side-item:hover{background:var(--surface-soft);color:var(--text)}.side-item.active{background:var(--accent);color:#fff;box-shadow:0 6px 16px #2457d638}.side-item svg{flex:0 0 auto}.side-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}.side-status{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--muted)}.side-status strong{color:var(--text);font-size:.78rem;text-align:right}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 10px;border-radius:10px;cursor:pointer;font-weight:650}.theme-toggle:hover{background:var(--surface-soft)}.workspace{min-width:0}.main{width:100%;max-width:1240px;margin:0 auto;padding:28px 30px 72px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}.filters .field{min-width:150px}.card.skeleton{min-height:118px;border:1px solid var(--line);background:linear-gradient(90deg,var(--surface-soft) 25%,var(--surface) 50%,var(--surface-soft) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.card.skeleton.tall{min-height:250px}@keyframes shimmer{to{background-position:-200% 0}}:root[data-theme=dark]{--bg: #0d1512;--surface: #131e1a;--surface-soft: #18251f;--text: #e8efe9;--muted: #9aa8a1;--line: #2a3a33;--accent: #7fd1bc;--accent-soft: #17342c;--good: #7fd6ad;--good-soft: #122c21;--bad: #f0a398;--bad-soft: #351b17;--highlight: #f0c96a;--highlight-soft: #3a2f16;--shadow: 0 1px 0 rgba(0, 0, 0, .3);--subject: var(--accent);--subject-soft: var(--accent-soft);color-scheme:dark}[data-theme=dark] body{background-color:var(--bg);background-image:linear-gradient(rgba(232,239,233,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(232,239,233,.035) 1px,transparent 1px)}[data-theme=dark] .sidebar{background:#101726d6}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f1827;border-color:#2e3b54;color:var(--text)}[data-theme=dark] code{background:#1b2740;color:#d9e4ff}[data-theme=dark] .button.secondary{background:var(--surface);color:var(--accent);border-color:#34425f}[data-theme=dark] .quick-list button,[data-theme=dark] .topic-list li,[data-theme=dark] .document-row,[data-theme=dark] .msg.assistant{background:#101a2a}[data-theme=dark] .quick-list button:hover{background:#16243a;border-color:#3a4b6d}[data-theme=dark] .badge:not(.muted):not(.good){background:#16284a;color:#a9c2ff}@media(max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:auto;align-self:start;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.side-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;width:100%;order:3;padding-bottom:2px;scrollbar-width:thin}.side-item{flex:0 0 auto;padding:8px 10px}.side-footer{margin-top:0;margin-left:auto;flex-direction:row;align-items:center;border-top:0;padding-top:0}.side-status,.theme-toggle span{display:none}.main{padding:20px 14px 56px}}@media(max-width:620px){.sidebar .brand p,.side-item span{display:none}.side-item{padding:9px}.page-heading{margin-bottom:14px}.search-bar{align-items:stretch}.search-bar .button{width:100%}}.scan-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:16px;align-items:start}.camera-card{padding:14px}.camera-stage{position:relative;overflow:hidden;border-radius:14px;background:#0a1020;min-height:320px}.camera-video{display:block;width:100%;height:min(58vh,520px);object-fit:cover;background:#0a1020}.camera-guide{position:absolute;inset:8% 10%;border:2px dashed rgba(255,255,255,.6);border-radius:10px;box-shadow:0 0 0 9999px #050a1947;pointer-events:none}.camera-hud{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.camera-hud .badge{background:#080e1eb8;color:#fff;border-color:#fff3}.camera-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px}.shutter{width:64px;height:64px;border-radius:50%;border:4px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.shutter span{width:46px;height:46px;border-radius:50%;background:var(--accent);transition:transform .15s ease}.shutter:hover:not(:disabled) span{transform:scale(1.06)}.shutter:disabled{opacity:.45;cursor:not-allowed}.camera-options{display:flex;flex-direction:column;gap:8px}.toggle{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted)}.upload-button{display:inline-flex;justify-content:center}.camera-meta{margin-top:8px;font-size:.82rem}.camera-fallback{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px;text-align:center;color:var(--muted)}.camera-placeholder{min-height:180px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.86rem}.scan-aside{display:flex;flex-direction:column;gap:10px}@media(max-width:960px){.scan-grid{grid-template-columns:1fr}.camera-video{height:46vh}.app-shell{align-content:start}}.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.study-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);gap:18px;margin-bottom:18px}.study-hero h2{margin:6px 0 8px;font-size:1.7rem}.hero-stat{border:1px solid var(--line);background:linear-gradient(135deg,var(--accent-soft),var(--surface));border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px}.hero-stat span{color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.hero-stat strong{font-size:1.05rem}.hero-stat small{color:var(--muted);line-height:1.45}.study-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.study-header h2{margin:4px 0}.study-header-actions{display:flex;gap:8px;flex-wrap:wrap}.progress-track{height:8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);overflow:hidden;margin-bottom:16px}.progress-track span{display:block;height:100%;background:var(--accent);transition:width .35s ease}.study-grid{align-items:start}.stack{display:flex;flex-direction:column;gap:16px}.step-card{min-height:320px}.step-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.step-card h3{margin:2px 0 10px}.check-card{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.check-question{font-weight:600}.option-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}.option{display:flex;gap:10px;align-items:flex-start;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer}.option:hover{border-color:var(--accent)}.option.selected{border-color:var(--accent);background:var(--accent-soft)}.option-letter{display:grid;place-items:center;min-width:22px;height:22px;border-radius:6px;background:var(--surface-soft);font-weight:700;font-size:.75rem}.feedback{margin-top:14px;border-radius:12px;padding:12px 14px;border:1px solid var(--line)}.feedback .button{margin-top:10px}.step-actions{margin-top:14px}.narration-row{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.outline-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.outline-list li{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.86rem}.outline-list li span:first-child{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);font-size:.72rem;flex:none}.outline-current{color:var(--text)!important;font-weight:600}.outline-current span:first-child{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.outline-done{opacity:.75}.voice-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mic-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent);display:grid;place-items:center;cursor:pointer}.mic-button.listening{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.interim{font-style:italic;color:var(--muted);margin:10px 0 0}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:10px}.segmented button{border:0;background:var(--surface);color:var(--muted);padding:8px 12px;cursor:pointer;font-weight:600;font-size:.82rem}.segmented button.active{background:var(--accent);color:#fff}.ask-card{margin-top:16px}.ask-row{display:flex;gap:8px}.ask-row input{flex:1}.ask-answer{margin-top:12px;padding:12px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}.small{font-size:.8rem}.button.small{padding:7px 10px;font-size:.84rem}.note{border-radius:10px;padding:10px 12px;margin:10px 0;border:1px solid var(--line);overflow-wrap:anywhere}.badge.good{background:var(--good-soft);color:var(--good)}.visual-card{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.visual-card figcaption{font-weight:600;margin-bottom:8px}.mermaid{overflow-x:auto}.mermaid svg{max-width:100%;height:auto}.plot{width:100%;height:auto;display:block}.plot-grid{stroke:var(--line);stroke-width:1}.plot-axis{stroke:var(--muted);stroke-width:1.2}.plot-line{stroke:var(--accent);stroke-width:2.5}.plot-point{fill:var(--accent)}.plot-label{fill:var(--muted);font-size:12px}.plot-tick{fill:var(--muted);font-size:10px}.smiles{display:flex;justify-content:center;overflow-x:auto}.smiles svg{max-width:100%;height:auto}.visual-table-wrap{overflow-x:auto}.visual-table{width:100%;border-collapse:collapse;font-size:.86rem}.visual-table th,.visual-table td{border:1px solid var(--line);padding:6px 8px;text-align:left}.visual-table th{background:var(--surface)}.visual-fallback{white-space:pre-wrap;font-size:.8rem;color:var(--muted)}@media(max-width:960px){.study-hero{grid-template-columns:1fr}.study-header{flex-direction:column}.study-header-actions{width:100%}.ask-row{flex-direction:column}}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--text);color:var(--surface);padding:8px 12px;border-radius:4px;font-size:.8rem}.skip-link:focus{top:10px}.app-shell{display:block;min-height:100vh}.bench-bar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand nav actions";align-items:center;gap:24px;padding:13px max(var(--rail-gutter),calc((100% - var(--rail)) / 2));background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bench-brand{grid-area:brand;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);padding:0;cursor:pointer;text-align:left}.bench-mark{width:34px;height:34px;display:block;flex:none}.bench-mark-tile{fill:var(--accent)}.bench-mark-letter{fill:none;stroke:var(--surface);stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round}.bench-mark-accent{fill:none;stroke:var(--highlight);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.bench-wordmark{display:flex;flex-direction:column;gap:1px}.bench-wordmark strong{font-family:var(--mono);font-size:.86rem;font-weight:500;letter-spacing:.1em}.bench-wordmark small{font-size:.7rem;color:var(--muted);letter-spacing:.02em}.bench-nav{grid-area:nav;display:flex;justify-content:center;gap:2px;min-width:0}.bench-nav-item{position:relative;border:0;background:transparent;color:var(--muted);padding:8px 11px;font-size:.86rem;font-weight:500;cursor:pointer;white-space:nowrap}.bench-nav-item:hover,.bench-nav-item.active{color:var(--text)}.bench-nav-item.active:after{content:"";position:absolute;left:11px;right:11px;bottom:1px;height:2px;background:var(--highlight)}.bench-actions{grid-area:actions;display:flex;align-items:center;gap:8px;justify-self:end}.toolkit{position:relative}.toolkit summary{list-style:none;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 10px;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.toolkit summary::-webkit-details-marker{display:none}.toolkit summary:hover,.toolkit summary.active{border-color:var(--text)}.toolkit-caret{color:var(--muted);font-size:.8rem;transition:transform .14s ease}.toolkit[open] .toolkit-caret{transform:rotate(180deg)}.toolkit-panel{position:absolute;right:0;top:calc(100% + 8px);width:232px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 50px #16221e24}.toolkit-label{margin:2px 8px 8px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.toolkit-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--muted);padding:9px 8px;border-radius:4px;font-size:.84rem;text-align:left;cursor:pointer}.toolkit-item:hover,.toolkit-item.active{background:var(--surface-soft);color:var(--text)}.toolkit-status{display:flex;align-items:center;gap:7px;margin:10px 8px 2px;padding-top:10px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.66rem;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.status-dot.ok{background:var(--good)}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;cursor:pointer}.icon-button:hover{border-color:var(--text)}.main{width:min(var(--rail),100% - 2 * var(--rail-gutter));margin:0 auto;padding:clamp(22px,3vw,40px) 0 88px}h1,h2,h3,h4{font-family:var(--serif);font-weight:500}h2{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.02}h3{font-size:1.12rem}.eyebrow{margin:0 0 5px;text-transform:none;letter-spacing:.01em;font-family:var(--mono);font-size:.7rem;font-weight:400;color:var(--accent)}.page-heading h2{max-width:22ch}.lede{font-family:var(--serif);font-size:1.04rem;line-height:1.6}.card{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:20px;box-shadow:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);border:1px solid var(--accent);background:var(--accent);color:var(--surface);border-radius:var(--radius-control);padding:0 15px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.button:hover:not(:disabled){background:var(--text);border-color:var(--text)}.button:active:not(:disabled){transform:none}.button:disabled{opacity:.5;cursor:not-allowed}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.button.secondary:hover:not(:disabled){background:var(--surface-soft);border-color:var(--text)}.button.small{min-height:var(--control-h-sm);padding:0 12px;font-size:.82rem}.link{border:0;background:none;color:var(--accent);font-weight:500;cursor:pointer;padding:0}input,select,textarea{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:var(--radius-control);padding:var(--control-pad-y) var(--control-pad-x);font:inherit;min-width:0}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{min-height:var(--control-h)}select{height:var(--control-h);padding-top:0;padding-bottom:0}textarea{min-height:calc(var(--control-h) * 1.5)}input[type=file]{height:var(--control-h);padding:4px var(--control-pad-x);font-size:.86rem}input[type=file]::file-selector-button{height:calc(var(--control-h) - 12px);margin:0 10px 0 0;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:.8rem;cursor:pointer}input:focus,select:focus,textarea:focus{outline:2px solid var(--highlight);outline-offset:2px;border-color:var(--text)}input[type=range]{padding:0;border:0;accent-color:var(--accent)}.field{display:flex;flex-direction:column;gap:var(--label-gap)}.field>span,.finder-field>span,.sp-field>label,.sp-field>legend,.generate-field-label,.generate-scope-fieldset>legend{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:2px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-family:var(--mono);font-size:.66rem;font-weight:400;white-space:nowrap}.badge.good{background:var(--good-soft);border-color:var(--good);color:var(--good)}.badge.muted{background:var(--surface-soft);color:var(--muted)}.note{border-radius:2px;padding:10px 12px;margin:12px 0 0;border:1px solid var(--line);font-size:.84rem;overflow-wrap:anywhere}.note.bad{background:var(--bad-soft);border-color:var(--bad)}[data-theme=dark] .button{color:#07120f}[data-theme=dark] .button.secondary{color:var(--text)}.study-start{max-width:1280px;margin:0 auto}.study-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:clamp(28px,5vw,72px);align-items:start;padding:clamp(28px,4vw,54px) 0 40px;border-bottom:1px solid var(--line)}.study-hero-copy{max-width:620px}.study-kicker{margin:0 0 18px;font-family:var(--mono);font-size:.72rem;font-weight:400;color:var(--muted);letter-spacing:.01em}.study-hero h1{max-width:13ch;margin:0 0 22px;font-size:clamp(2.9rem,5.4vw,5rem);line-height:.94;letter-spacing:-.045em}.study-deck{max-width:54ch;margin:0;font-family:var(--serif);font-size:clamp(1.04rem,1.3vw,1.22rem);line-height:1.58;color:var(--muted)}.study-subject-note{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:28px 0 0;font-size:.82rem;color:var(--muted)}.study-subject-note strong{font-family:var(--mono);font-weight:500;color:var(--text)}.subject-dot{width:9px;height:9px;border-radius:50%;flex:none}.lesson-builder{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--subject);border-radius:2px;padding:24px;box-shadow:0 16px 46px #16221e12}.builder-heading h2{margin:0 0 5px;font-size:1.55rem}.builder-heading p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.subject-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0}.subject-choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:2px;cursor:pointer;text-align:left}.subject-choice:hover{background:var(--surface-soft)}.subject-choice.active{background:var(--subject-soft)}.subject-choice-name{font-size:.83rem;font-weight:500}.subject-choice-code{font-family:var(--mono);font-size:.66rem;color:var(--muted)}.builder-topic{margin-bottom:14px}.suggested-topics>span{display:block;margin-bottom:6px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.topic-chips{display:flex;flex-wrap:wrap;gap:6px}.topic-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:2px;padding:5px 8px;font-size:.74rem;text-align:left;cursor:pointer}.topic-chip:hover,.topic-chip.active{border-color:var(--subject);background:var(--subject-soft);color:var(--text)}.builder-voice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.switch{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;cursor:pointer}.switch input{width:16px;height:16px;accent-color:var(--accent)}.switch.small{margin-top:12px;font-size:.78rem;color:var(--muted)}.voice-hint{font-size:.72rem;color:var(--muted);text-align:right}.voice-settings{margin-top:10px;padding-top:9px;border-top:1px solid var(--line)}.voice-settings summary{font-size:.78rem;color:var(--muted);cursor:pointer}.voice-settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:10px;overflow-x:hidden}.voice-settings-grid .field{min-width:0}.voice-settings-grid select,.voice-settings-grid input[type=range]{width:100%;min-width:0}.voice-isolation-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid var(--line);border-radius:4px;background:var(--surface-soft)}.voice-isolation-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.voice-isolation-row strong{font-size:.78rem;font-weight:500}.voice-isolation-row small{font-size:.68rem;line-height:1.35;color:var(--muted)}.voice-isolation-row .button{flex:none}.voice-settings .small{margin-top:8px}.voice-setup-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#121c186b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.voice-setup-card{position:relative;width:min(440px,100%);max-height:min(90vh,620px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:4px;background:var(--surface);box-shadow:0 26px 80px #121c183d}.voice-setup-card h2{margin:4px 0 10px;font-family:var(--serif);font-size:clamp(1.45rem,3vw,1.9rem);font-weight:500;line-height:1.05}.voice-setup-copy{margin:0 0 14px;color:var(--muted);font-size:.9rem;line-height:1.55}.voice-setup-script{margin:12px 0;padding:12px 14px;border-left:2px solid var(--subject);background:var(--surface-soft);font-family:var(--serif);font-size:1rem;line-height:1.6}.voice-setup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.voice-setup-never{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer;padding:8px 0}.voice-setup-never:hover{color:var(--text)}.voice-setup-close{position:absolute;top:10px;right:10px;border:0;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer}.voice-setup-close:hover{color:var(--text)}.voice-setup-meter{height:8px;margin:10px 0 8px;border-radius:999px;background:var(--line);overflow:hidden}.voice-setup-meter span{display:block;height:100%;border-radius:inherit;background:var(--subject);transition:width 90ms linear}.voice-setup-player{display:flex;align-items:center;gap:8px;margin-top:12px}.voice-setup-timer{min-width:56px;font-family:var(--mono);font-size:.76rem;color:var(--muted);font-variant-numeric:tabular-nums}.voice-setup-player .voice-setup-meter{flex:1;margin:0}.voice-setup-icon{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}.voice-setup-icon:hover,.voice-setup-icon.is-stop{border-color:var(--subject);color:var(--subject)}.voice-setup-icon.is-primary{background:var(--subject);border-color:var(--subject);color:var(--surface)}.study-start-button{width:100%;margin-top:14px;padding:13px 16px;font-size:.94rem}.builder-note{margin:10px 0 0;font-size:.7rem;line-height:1.5;color:var(--muted)}.study-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;border-top:1px solid var(--line)}.study-step{display:flex;gap:13px;padding:22px 22px 0 0;border-right:1px solid var(--line)}.study-step:last-child{border-right:0}.study-step-number{width:22px;height:22px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;font-family:var(--mono);font-size:.66rem;color:var(--subject)}.study-step h3{margin:0 0 4px;font-size:1rem}.study-step p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.bench-loading{max-width:720px;margin:12vh auto 0}.bench-loading h1{max-width:14ch;margin:0 0 12px;font-size:clamp(2.3rem,5vw,3.8rem);line-height:.98}.loading-line{height:2px;margin-top:24px;background:var(--line);overflow:hidden}.loading-line span{display:block;width:32%;height:100%;background:var(--highlight);animation:loading-slide 1.2s ease-in-out infinite}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.study-session,.panel.active.study-session{display:grid;grid-template-columns:228px minmax(0,1fr) 302px;gap:clamp(20px,3vw,42px);align-items:start;max-width:1480px;margin:0 auto}.session-rail{position:sticky;top:92px;display:flex;flex-direction:column;gap:22px;padding-top:6px}.session-rail-head h2{margin:3px 0 8px;font-size:1.5rem;line-height:1.04}.session-focus{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.session-progress-label{display:flex;justify-content:space-between;margin-bottom:6px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.progress-track{height:4px;border:0;border-radius:0;background:var(--surface-soft);overflow:hidden}.progress-track span{display:block;height:100%;background:var(--subject);transition:width .3s ease}.session-outline{position:relative;list-style:none;margin:0;padding:0}.session-outline:before{content:"";position:absolute;left:10px;top:9px;bottom:9px;width:1px;background:var(--line)}.outline-item{position:relative;display:flex;align-items:flex-start;gap:10px;padding:7px 0;color:var(--muted);font-size:.78rem;line-height:1.35}.outline-number{position:relative;z-index:1;width:21px;height:21px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--bg);font-family:var(--mono);font-size:.6rem}.outline-item.done .outline-number{background:var(--subject);border-color:var(--subject);color:var(--surface)}.outline-item.current{color:var(--text);font-weight:500}.outline-item.current .outline-number{background:var(--highlight);border-color:var(--highlight);color:#1b1608;box-shadow:0 0 0 4px var(--highlight-soft)}.session-rail-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.lesson-page{position:relative;min-height:620px;padding:clamp(24px,4vw,52px);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--subject);border-radius:2px;box-shadow:0 16px 54px #16221e0f}.lesson-meta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.lesson-complete{color:var(--good)}.lesson-page h1{max-width:18ch;margin:0 0 22px;font-size:clamp(2rem,3.8vw,3.4rem);line-height:.98;letter-spacing:-.035em}.lesson-body .markdown{max-width:68ch;font-family:var(--serif);font-size:1.08rem;line-height:1.72}.lesson-body .markdown>p:first-of-type{font-size:1.16rem}.lesson-body .markdown h2,.lesson-body .markdown h3{margin:1.4em 0 .4em}.lesson-body .markdown ul,.lesson-body .markdown ol{padding-left:1.2em}.lesson-body .markdown li{margin-bottom:.35em}.lesson-body .markdown blockquote{margin:1.2em 0;padding-left:14px;border-left:2px solid var(--highlight);color:var(--muted)}.lesson-body .markdown code{font-family:var(--mono);font-size:.82em;background:var(--surface-soft);border:1px solid var(--line);border-radius:3px;padding:.08em .3em}.visual-card{margin:20px 0;padding:16px;background:var(--surface-soft);border:1px solid var(--line);border-radius:2px}.visual-card figcaption{margin-bottom:10px;font-family:var(--mono);font-size:.68rem;font-weight:400;color:var(--muted)}.visual-description{max-width:62ch;margin:-2px 0 12px;color:var(--muted);font-family:var(--serif);font-size:.94rem;line-height:1.55}.check-card{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.check-label{margin:0 0 4px;font-family:var(--mono);font-size:.68rem;color:var(--subject)}.check-question{max-width:54ch;margin:0 0 14px;font-family:var(--serif);font-size:1.35rem;line-height:1.3}.option-list{display:flex;flex-direction:column;gap:7px;margin:0 0 14px}.option{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.option:hover{background:var(--surface-soft)}.option.selected{border-color:var(--subject);background:var(--subject-soft)}.option-letter{width:22px;height:22px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;font-family:var(--mono);font-size:.62rem;color:var(--muted)}.option.selected .option-letter{background:var(--subject);border-color:var(--subject);color:var(--surface)}.feedback{margin-top:22px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:2px}.feedback.good{background:var(--good-soft);border-color:var(--good)}.feedback.bad{background:var(--bad-soft);border-color:var(--bad)}.feedback>strong{display:block;margin-bottom:4px;font-family:var(--mono);font-size:.7rem;font-weight:500}.feedback .button{margin-top:12px}.step-actions{margin-top:24px}.narration-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.margin-rail{position:sticky;top:92px;display:flex;flex-direction:column;gap:14px}.margin-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:16px}.notes-card{border-left:3px solid var(--highlight)}.voice-card{background:var(--surface-soft)}.margin-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.margin-heading h3{margin:0;font-size:1.02rem}.margin-heading span{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.margin-card .markdown{font-size:.86rem;line-height:1.62;max-height:320px;overflow:auto}.margin-card .markdown h1,.margin-card .markdown h2,.margin-card .markdown h3{font-size:.96rem;margin:.8em 0 .3em}.voice-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mic-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--subject);cursor:pointer}.mic-button:hover{border-color:var(--subject)}.mic-button.listening{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.interim{margin:10px 0 0;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.86rem}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-bottom:9px}.segmented button{border:0;background:var(--surface);color:var(--muted);padding:6px 10px;font-size:.74rem;font-weight:500;cursor:pointer}.segmented button.active{background:var(--subject);color:var(--surface)}.ask-card{margin-top:0}.ask-row{display:flex;gap:6px}.ask-row input{flex:1;min-width:0;padding:8px 9px;font-size:.8rem}.ask-answer{margin-top:10px;padding:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:2px}.ask-answer .markdown{font-size:.82rem}.study-session .note{font-size:.76rem}.study-hero-copy>*{animation:bench-in .52s cubic-bezier(.2,.7,.2,1) both}.study-hero-copy>*:nth-child(2){animation-delay:50ms}.study-hero-copy>*:nth-child(3){animation-delay:.1s}.study-hero-copy>*:nth-child(4){animation-delay:.14s}.lesson-builder{animation:bench-in .52s .12s cubic-bezier(.2,.7,.2,1) both}.study-sequence{animation:bench-in .52s .2s cubic-bezier(.2,.7,.2,1) both}@keyframes bench-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}@media(max-width:1180px){.study-session,.panel.active.study-session{grid-template-columns:200px minmax(0,1fr)}.session-rail{grid-row:1 / span 2}.lesson-page{grid-column:2}.margin-rail{grid-column:2;position:static;display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:start}}@media(max-width:900px){.bench-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "nav nav";gap:10px;padding:11px var(--rail-gutter)}.bench-nav{justify-content:flex-start;flex-wrap:wrap;overflow-x:visible;width:100%;padding-top:7px;border-top:1px solid var(--line);gap:2px}.bench-nav-item{flex:0 0 auto;padding:8px 5px;font-size:.72rem}.bench-nav-item.active:after{left:5px;right:5px}.study-hero{grid-template-columns:1fr;gap:28px;padding-top:28px}.study-hero h1{max-width:14ch;font-size:clamp(2.7rem,9vw,4.1rem)}.study-sequence{grid-template-columns:1fr}.study-step{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.study-step:last-child{border-bottom:0}.study-session,.panel.active.study-session{grid-template-columns:1fr;gap:20px}.session-rail{position:static;grid-row:auto;gap:14px}.session-outline{display:none}.session-rail-actions{padding-top:10px}.lesson-page{grid-column:auto;min-height:0}.margin-rail{grid-column:auto;grid-template-columns:1fr;position:static}.margin-card .markdown{max-height:none}}@media(max-width:620px){.bench-wordmark small{display:none}.bench-nav-item{padding:7px 8px;font-size:.8rem}.main{padding:18px 0 64px}.study-hero{padding-top:22px}.study-hero h1{font-size:clamp(2.45rem,13vw,3.4rem)}.subject-picker,.voice-settings-grid{grid-template-columns:1fr}.lesson-page{padding:24px 18px 30px}.lesson-page h1{font-size:clamp(1.9rem,9vw,2.7rem)}.lesson-body .markdown{font-size:1.02rem}.ask-row{flex-direction:column}.ask-row .button{width:100%}.builder-voice{align-items:flex-start;flex-direction:column}.voice-hint{text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface);border-color:var(--line);color:var(--text)}[data-theme=dark] code{background:var(--surface-soft);color:var(--text)}[data-theme=dark] .badge{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}[data-theme=dark] .badge.good{background:var(--good-soft);border-color:var(--good);color:var(--good)}.builder-selects{display:flex;flex-direction:column;gap:10px;margin-top:16px}.builder-selection{margin:10px 0 0;font-size:.76rem;line-height:1.45;color:var(--muted)}.builder-selection strong{font-family:var(--mono);font-weight:500;color:var(--text)}.suggested-topics{margin-top:14px}.voice-dock{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.voice-dock-panel{position:absolute;right:0;bottom:calc(100% + 10px);width:min(330px,calc(100vw - 36px));padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 24px 70px #16221e2e;animation:voice-panel-in .18s ease-out both}.voice-dock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.voice-dock-head .study-kicker{margin:0 0 2px}.voice-dock-head strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.05}.voice-dock-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--subject);border-radius:50%;color:var(--subject);font-family:var(--serif);font-size:.78rem;flex:none}.voice-close{border:0;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;padding:2px 4px;cursor:pointer}.voice-close:hover{color:var(--text)}.voice-equalizer{display:flex;align-items:center;gap:4px;height:34px;margin:12px 0 8px}.voice-equalizer span{width:3px;height:7px;border-radius:2px;background:var(--line)}.voice-equalizer.active span{background:var(--subject);animation:voice-bar .8s ease-in-out infinite alternate;animation-delay:var(--bar-delay)}@keyframes voice-bar{0%{height:6px}to{height:28px}}.voice-dock-copy{margin:0;font-size:.8rem;line-height:1.5;color:var(--muted)}.voice-dock-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.voice-dock-panel .switch{margin-top:12px}.voice-dock-panel .voice-settings{margin-top:10px}.voice-fab{position:relative;width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--accent);border-radius:50%;background:var(--accent);color:var(--surface);cursor:pointer;box-shadow:0 12px 30px #16221e3d}.voice-fab:hover{background:var(--text);border-color:var(--text)}.voice-fab.listening{background:var(--highlight);border-color:var(--highlight);color:#1b1608}.voice-fab.speaking:not(.listening){background:var(--surface);border-color:var(--subject);color:var(--subject)}.voice-fab-ring{position:absolute;inset:-6px;border:1px solid transparent;border-radius:50%;pointer-events:none}.voice-fab-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent)}.voice-fab-badge svg{width:11px;height:11px}.voice-input-mic{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:2px;background:var(--surface-soft);color:var(--text);cursor:pointer}.voice-input-mic:hover{border-color:var(--subject);color:var(--subject)}.voice-input-mic:disabled{opacity:.5;cursor:not-allowed}.voice-transcript{margin-top:8px;font-size:.78rem}.voice-transcript summary{color:var(--muted);cursor:pointer}.voice-transcript .markdown{margin-top:7px;font-size:.78rem;line-height:1.55}.answer-input{display:flex;align-items:flex-start;gap:8px}.answer-input textarea{flex:1;min-width:0}.answer-mic{margin-top:2px}.voice-fab.listening .voice-fab-ring,.voice-fab.speaking .voice-fab-ring{border-color:var(--highlight);animation:voice-ring 1.4s ease-out infinite}@keyframes voice-ring{0%{transform:scale(.92);opacity:.7}to{transform:scale(1.28);opacity:0}}@keyframes voice-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:1180px){.margin-rail{grid-template-columns:1.15fr 1fr}}@media(max-width:900px){.margin-rail{grid-template-columns:1fr}}@media(max-width:620px){.voice-dock{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.voice-fab{width:52px;height:52px}}.study-start{max-width:1180px;margin:0 auto}.launcher-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px 0 22px;border-bottom:1px solid var(--line)}.launcher-head h1{margin:0 0 5px;font-size:clamp(2rem,3.2vw,3rem);line-height:1}.launcher-head p:not(.study-kicker){margin:0;max-width:60ch;color:var(--muted);font-size:.88rem;line-height:1.5}.launcher-subject-note{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:.7rem;color:var(--muted)}.resume-card{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,34px);margin-top:22px;padding:18px clamp(16px,2.4vw,26px);background:color-mix(in srgb,var(--subject-soft) 72%,var(--surface));border:1px solid var(--line);border-left:4px solid var(--subject);border-radius:2px;box-shadow:0 14px 38px #16221e0f}.resume-card-copy{min-width:0}.resume-card .study-kicker{margin:0 0 6px;color:var(--subject);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.resume-card h2{margin:0 0 5px;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.08}.resume-card-meta{margin:0;font-family:var(--mono);font-size:.84rem;font-weight:600;line-height:1.45;color:var(--subject)}.resume-card-step{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:9px 0 0;font-size:.82rem;line-height:1.4;color:var(--text)}.resume-card-step>span{flex:none;padding:2px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:var(--mono);font-size:.6rem;color:var(--muted)}.resume-card-track{max-width:340px;margin:12px 0 0}.resume-card-button{flex:none}.resume-card.is-loading{border-left-color:var(--line);background:var(--surface)}.resume-card-skeleton{flex:none;width:132px;height:36px;border-radius:2px;background:linear-gradient(90deg,var(--surface-soft) 0%,color-mix(in srgb,var(--surface-soft) 55%,var(--surface)) 50%,var(--surface-soft) 100%);background-size:220% 100%;animation:resume-sheen 1.4s ease-in-out infinite}@keyframes resume-sheen{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.resume-card-skeleton{animation:none}}.launcher-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(22px,3vw,36px);align-items:start;margin-top:24px}.topic-browser{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:2px}.subject-tabs{display:flex;border-bottom:1px solid var(--line)}.subject-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 8px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.82rem;font-weight:500;cursor:pointer}.subject-tab:hover{background:var(--surface-soft);color:var(--text)}.subject-tab.active{background:var(--subject-soft);border-bottom-color:var(--subject);color:var(--text)}.subject-tab .subject-dot{width:7px;height:7px}.subject-tab-code{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.chapter-list{padding:6px}.chapter-block{border-bottom:1px solid var(--line)}.chapter-block:last-child{border-bottom:0}.chapter-toggle{width:100%;display:flex;align-items:center;gap:9px;padding:10px 8px;border:0;border-radius:3px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.chapter-toggle:hover{background:var(--surface-soft)}.chapter-toggle.selected{background:var(--subject-soft)}.chapter-code{min-width:22px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.chapter-title{flex:1;font-size:.86rem;font-weight:500;line-height:1.35}.chapter-count{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.chapter-chevron{display:inline-block;color:var(--muted);transition:transform .14s ease}.chapter-toggle[aria-expanded=true] .chapter-chevron{transform:rotate(180deg)}.subtopic-list{list-style:none;margin:0 0 8px;padding:0 8px 0 30px}.subtopic-button{width:100%;display:flex;align-items:flex-start;gap:9px;padding:7px 8px;border:0;border-radius:3px;background:transparent;color:var(--muted);text-align:left;font-size:.79rem;cursor:pointer}.subtopic-button:hover{background:var(--surface-soft);color:var(--text)}.subtopic-button.active{background:var(--subject-soft);color:var(--text);font-weight:500}.subtopic-code{min-width:34px;font-family:var(--mono);font-size:.65rem;color:var(--muted)}.lesson-setup{position:sticky;top:92px;padding:22px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--subject);border-radius:2px}.lesson-setup h2{margin:5px 0 4px;font-size:1.45rem;line-height:1.1}.setup-eyebrow{margin:0;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.setup-note{margin:10px 0 16px;color:var(--muted);font-size:.82rem;line-height:1.5}.lesson-setup .study-start-button{width:100%;margin-top:0}.lesson-setup .suggested-topics{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.clear-topic{margin-top:14px;padding:0;border:0;background:transparent;color:var(--muted);font-size:.74rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.clear-topic:hover{color:var(--text)}.launcher-mobile-bar{display:none}@media(max-width:900px){.launcher-grid{grid-template-columns:1fr}.lesson-setup{position:static}.resume-card{flex-direction:column;align-items:stretch;gap:14px}.resume-card-button{width:100%}.resume-card-track{max-width:none}.study-start{padding-bottom:84px}.launcher-mobile-bar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--subject);border-radius:3px;box-shadow:0 16px 44px #16221e2e}.launcher-mobile-bar div{display:flex;flex-direction:column;gap:1px;min-width:0}.launcher-mobile-bar span{font-family:var(--mono);font-size:.6rem;color:var(--muted)}.launcher-mobile-bar strong{max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--serif);font-size:.95rem;font-weight:500}}@media(max-width:620px){.launcher-head{align-items:flex-start;flex-direction:column;gap:8px}.launcher-head h1{font-size:2rem}.subject-tab{flex-direction:column;gap:3px;padding:9px 4px;font-size:.74rem}.subject-tab-code{font-size:.58rem}.lesson-setup{padding:18px}}.login-shell{min-height:100vh;display:flex;flex-direction:column;padding:clamp(18px,3vw,38px)}.login-brand{display:flex;align-items:center;gap:10px}.login-card{width:min(420px,100%);margin:auto;padding:clamp(24px,4vw,36px);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:2px;box-shadow:0 20px 60px #16221e1a}.login-card h1{margin:0 0 7px;font-size:clamp(2.1rem,4vw,3rem);line-height:.98}.login-lede{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.login-card form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.login-submit{width:100%;margin-top:2px}.login-foot{margin:0;text-align:center;font-size:.7rem;color:var(--muted)}.login-notice{margin:14px 0 0;padding:9px 11px;border-left:2px solid var(--bad);background:var(--bad-soft);color:var(--text);font-size:.8rem;line-height:1.5}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.login-loading{align-items:center;justify-content:center;gap:24px;text-align:center}.login-loading .login-brand{position:static}.login-loading h1{margin:4px 0 0;font-size:clamp(2rem,4vw,3rem)}.toolkit-account{display:flex;flex-direction:column;gap:2px;margin-bottom:7px;padding:2px 8px 10px;border-bottom:1px solid var(--line)}.toolkit-account span{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.toolkit-account strong{font-size:.86rem;font-weight:500}.toolkit-account small{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.animation-visual{overflow:hidden;border:1px solid var(--line);border-radius:2px;background:#07100d}.animation-visual iframe{display:block;width:100%;height:clamp(300px,46vh,460px);border:0;background:#07100d}.animation-open{display:block;padding:8px 10px;color:var(--muted);font-family:var(--mono);font-size:.66rem;text-decoration:none;border-top:1px solid var(--line)}.animation-open:hover{color:var(--text)}.concept-animation{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px}.concept-animation .visual-card{width:100%;margin:0}.lumen-orb{position:relative;display:inline-grid;place-items:center;flex:none}.lumen-core{width:56%;height:56%;border-radius:50%;background:radial-gradient(circle at 34% 28%,#e7fff9,#2dd4bf 54%,#0f766e);box-shadow:0 0 18px #2dd4bf8c;animation:lumen-breathe 3.2s ease-in-out infinite}.lumen-ring{position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(45,212,191,.42)}.ring-a{border-style:dashed;animation:lumen-spin 9s linear infinite}.ring-b{inset:18%;border-color:#e7b84a80;animation:lumen-spin 5.5s linear infinite reverse}.lumen-spark{position:absolute;top:13%;right:13%;width:13%;height:13%;border-radius:50%;background:var(--highlight);box-shadow:0 0 10px #e7b84acc}.lumen-orb.listening .lumen-core{background:radial-gradient(circle at 34% 28%,#fff6dd,#e7b84a 58%,#a56a08);box-shadow:0 0 24px #e7b84abf;animation-duration:.9s}.lumen-orb.speaking .lumen-core{box-shadow:0 0 26px #2dd4bfd9;animation-duration:1.2s}.lumen-orb.thinking .ring-a{animation-duration:2.4s}@keyframes lumen-breathe{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}@keyframes lumen-spin{to{transform:rotate(360deg)}}.launcher-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px}@media(max-width:620px){.launcher-meta{align-items:flex-start}}.lumen-identity{display:inline-flex;align-items:center;gap:9px}.lumen-identity-copy{display:flex;flex-direction:column;line-height:1.1}.lumen-identity strong{font-family:var(--serif);font-size:1.05rem;font-weight:500}.lumen-identity small{font-family:var(--mono);font-size:.6rem;color:var(--muted)}.session-lumen{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--serif);font-size:.95rem}.voice-dock-title{display:inline-flex;align-items:center;gap:8px}.voice-dock-title>span{display:flex;flex-direction:column;gap:1px}.voice-dock-title .study-kicker{margin:0}.review-due{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.review-due>span{display:block;margin-bottom:8px;font-family:var(--mono);font-size:.66rem;color:var(--muted)}.review-list{display:flex;flex-direction:column;gap:6px}.review-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 9px;text-align:left;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text);cursor:pointer}.review-item:hover{border-color:var(--subject);background:var(--surface-soft)}.review-item:disabled{opacity:.55;cursor:wait}.review-code{font-family:var(--mono);font-size:.6rem;color:var(--muted)}.review-item strong{font-size:.8rem;font-weight:500;line-height:1.3}.review-item small{font-size:.68rem;color:var(--muted)}.lesson-details{margin:18px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lesson-details summary{cursor:pointer;font-family:var(--mono);font-size:.7rem;color:var(--muted)}.lesson-details[open] summary{margin-bottom:10px;color:var(--text)}.lesson-details .markdown{font-size:.9rem;color:var(--muted)}@media(prefers-reduced-motion:reduce){.lumen-core,.lumen-ring,.lumen-spark{animation:none!important}}.study-reader,.panel.active.study-reader{display:block;width:100%;max-width:100%;margin:0 auto}.panel.study-reader,.panel.active.study-reader{display:grid;grid-template-columns:minmax(0,840px) minmax(300px,328px);grid-template-areas:"notes voice";align-items:start;justify-content:center;gap:24px;max-width:1200px}.panel.study-reader>.reader-shell{grid-area:notes;width:100%;max-width:840px;margin:0}.panel.study-reader>.lumen-dock{grid-area:voice}@media(max-width:1120px){.panel.study-reader,.panel.active.study-reader{grid-template-columns:minmax(0,1fr);grid-template-areas:"notes" "voice";max-width:840px}}.reader-shell{width:100%;max-width:840px;margin:0 auto;padding-bottom:104px}.reader-lessons{position:fixed;top:92px;left:18px;z-index:35}.reader-lessons-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--text);font-size:.72rem;letter-spacing:.04em;box-shadow:0 8px 24px #16221e14;cursor:pointer}.reader-lessons-toggle:hover,.reader-lessons.open .reader-lessons-toggle{border-color:var(--subject)}.reader-lessons-bars{display:grid;gap:3px;width:14px}.reader-lessons-bars i{display:block;height:1px;background:currentColor}.reader-lessons-panel{position:absolute;top:46px;left:0;width:292px;max-height:calc(100vh - 150px);overflow:auto;padding:14px;border:1px solid var(--line);border-top:2px solid var(--subject);border-radius:3px;background:var(--surface);box-shadow:0 18px 46px #16221e24}.reader-lessons-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.reader-lessons-head strong{display:block;margin-top:3px;font-size:.86rem}.reader-lessons-close{border:0;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.reader-lessons-subjects{display:flex;gap:4px;margin:12px 0 2px;padding:3px;border:1px solid var(--line);border-radius:3px;background:var(--surface-soft)}.reader-lessons-subject{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 3px;border:0;border-radius:2px;background:transparent;color:var(--muted);font-size:.66rem;white-space:nowrap;cursor:pointer}.reader-lessons-subject:hover{color:var(--text)}.reader-lessons-subject.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #16221e1f}.reader-lessons-subject .subject-dot{width:6px;height:6px;flex:none}.reader-lessons-group{padding-top:12px}.reader-lessons-chapter{display:flex;gap:8px;margin:0 0 5px;font-size:.7rem;font-weight:600;color:var(--muted)}.reader-lessons-chapter span{font-family:var(--mono);font-weight:400}.reader-lessons-group ul{list-style:none;margin:0;padding:0}.reader-lessons-link{width:100%;display:flex;gap:8px;padding:7px 8px;border:0;border-radius:2px;background:transparent;color:var(--text);text-align:left;font-size:.76rem;line-height:1.35;cursor:pointer}.reader-lessons-link span{flex:none;color:var(--muted);font-family:var(--mono);font-size:.66rem}.reader-lessons-link:hover{background:var(--surface-soft)}.reader-lessons-link.active{background:var(--subject-soft);color:var(--subject)}.reader-lessons-empty{margin:0;padding:4px 8px;color:var(--muted);font-size:.72rem}.reader-page{position:relative;padding:clamp(20px,3vw,44px);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--subject);border-radius:2px;box-shadow:0 16px 54px #16221e0f}.reader-head,.reader-body,.reader-foot,.reader-page>.note.bad{max-width:620px;margin-left:auto;margin-right:auto}.reader-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.reader-head .study-kicker{margin:0 0 10px}.reader-head h1{max-width:26ch;margin:0 0 10px;font-size:clamp(1.9rem,3.4vw,2.85rem);line-height:1.02;letter-spacing:-.03em}.reader-deck{max-width:62ch;margin:0;color:var(--muted);font-family:var(--serif);font-size:1.02rem;line-height:1.55}.reader-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;font-family:var(--mono);font-size:.64rem;color:var(--muted)}.reader-tag{padding:3px 9px;border:1px solid var(--subject);border-radius:999px;background:var(--subject-soft);color:var(--subject)}.reader-timeline{position:sticky;top:64px;z-index:25;max-width:620px;margin:0 auto;padding:10px 0 8px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reader-timeline-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.reader-timeline-track{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;list-style:none}.reader-step{display:inline-flex;align-items:center;min-width:0;color:var(--muted);font-size:.74rem;line-height:1.3}.reader-step+.reader-step:before{content:"";flex:none;width:12px;height:1px;margin:0 7px;background:var(--line)}.reader-step-link{display:inline-flex;align-items:center;gap:6px;padding:3px 2px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.reader-step-link:hover{color:var(--text)}.reader-step-dot{flex:none;width:8px;height:8px;border:1px solid var(--line);border-radius:50%;background:var(--surface);transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.reader-step.is-done{color:var(--text)}.reader-step.is-done .reader-step-dot{background:var(--subject);border-color:var(--subject)}.reader-step.is-current{color:var(--text);font-weight:600}.reader-step.is-current .reader-step-dot{background:var(--highlight);border-color:var(--highlight);box-shadow:0 0 0 3px var(--highlight-soft)}.reader-step.is-todo .reader-step-dot{border-color:var(--muted)}.reader-step.is-empty{opacity:.45}.reader-step.is-empty .reader-step-dot{border-style:dashed}.reader-step.is-empty .reader-step-link{cursor:default}.reader-page>.note.bad{margin:16px auto 0}.reader-block{scroll-margin-top:166px;margin-top:clamp(22px,3vw,34px)}.reader-block:first-child{margin-top:20px}.reader-block-title{max-width:60ch;margin:0 0 10px;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.16}.reader-block-kicker{margin:0 0 8px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--subject)}.reader-body .markdown{max-width:none;font-family:var(--serif);font-size:1.06rem;line-height:1.75}.reader-body .katex-display{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.reader-body .markdown>p:first-of-type{margin-top:0}.reader-body .markdown h3{margin:1.5em 0 .35em;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.01em}.reader-body .markdown h3:first-child{margin-top:0}.reader-body .markdown ul,.reader-body .markdown ol{padding-left:1.15em}.reader-body .markdown li{margin-bottom:.35em}.reader-body .markdown li::marker{color:var(--subject)}.reader-body .markdown blockquote{margin:1.1em 0;padding-left:14px;border-left:2px solid var(--highlight);color:var(--muted)}.reader-body .markdown code{font-family:var(--mono);font-size:.82em;padding:.08em .3em;background:var(--surface-soft);border:1px solid var(--line);border-radius:3px}.reader-body .markdown table{font-size:.92rem}.reader-block-figure .visual-card{margin:0;background:var(--surface-soft)}.reader-visual-picker{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-family:var(--mono);font-size:.72rem;color:var(--muted)}.reader-visual-picker select{max-width:100%;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);padding:6px 8px;font:inherit}.reader-block .lesson-details{margin:0}.reader-check .button.small{min-height:44px}.reader-check .check-question{max-width:58ch;font-size:clamp(1.2rem,2.4vw,1.5rem)}.reader-check textarea{width:100%;min-height:96px;margin-bottom:12px}.reader-check .feedback{margin-top:18px}.reader-answer{margin-top:16px;padding:14px 16px;background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--subject);border-radius:2px}.reader-answer .markdown{max-width:none;font-size:.96rem}.reader-answer summary{color:var(--muted);font-size:.78rem;cursor:pointer}.reader-answer[open] summary{margin-bottom:10px}.reader-hint{margin:12px 0 0}.reader-note{margin-top:14px;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--subject);border-radius:2px}.reader-note .reader-block-kicker{margin:0 0 6px}.reader-note .markdown{max-width:none;font-size:.95rem}.reader-foot-hint{margin:10px 0 0;max-width:58ch}.reader-foot{margin-top:clamp(26px,4vw,40px);padding-top:16px;border-top:1px solid var(--line)}.reader-foot .narration-row{margin:0 0 14px;padding-top:0;border-top:0}.reader-actions{display:flex;flex-wrap:wrap;gap:8px}.voice-dock.with-ask .voice-dock-panel{width:min(340px,calc(100vw - 32px));max-height:min(76vh,620px);overflow-y:auto}.voice-dock-ask{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.voice-dock-ask-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.voice-dock-ask-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.voice-dock-ask .segmented{margin-bottom:0}.voice-dock-ask .segmented button{padding:4px 9px;font-size:.7rem}.voice-dock-ask .ask-row{margin-top:9px}.voice-dock-ask .ask-row input{padding:8px 9px;font-size:.8rem}.voice-dock-ask .ask-answer{max-height:200px;overflow-y:auto}.voice-dock-ask-hint{margin:8px 0 0;font-size:.72rem;line-height:1.4;color:var(--muted)}@media(min-width:901px)and (max-width:1365px){.reader-lessons{position:relative;top:auto;left:0;width:fit-content;margin:0 0 12px}.reader-lessons-panel{top:calc(100% + 8px);max-height:min(70vh,calc(100vh - var(--bench-h) - 150px))}}@media(max-width:900px){.reader-shell{max-width:100%}.reader-lessons{position:static;margin:0 0 12px}.reader-lessons-panel{position:static;width:100%;max-height:none;margin-top:8px}.reader-head h1{max-width:none}}@media(max-width:620px){.reader-shell{padding-bottom:0}.reader-page{padding:20px 16px 26px}.reader-head h1{font-size:clamp(1.7rem,8vw,2.35rem)}.reader-deck{font-size:.98rem}.reader-timeline-head{font-size:.56rem;letter-spacing:.06em}.reader-step{font-size:.7rem}.reader-step+.reader-step:before{width:8px;margin:0 5px}.reader-body .markdown{font-size:1.02rem}.reader-block{scroll-margin-top:245px}.voice-dock.with-ask .voice-dock-panel{width:min(340px,calc(100vw - 24px));max-height:min(72vh,560px)}}.ai-explanation{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--highlight);background:var(--surface-soft);border-radius:2px;font-size:.9rem;line-height:1.6}.ai-explanation .markdown{margin:0;font-size:.9rem}.reader-answer-play{display:inline-flex;margin-top:14px;padding:7px 11px;border:1px solid var(--line);border-radius:2px;background:var(--surface-soft);color:var(--text);font-size:.76rem;cursor:pointer}.reader-answer-play:hover{border-color:var(--subject);color:var(--subject)}.voice-dock.reader{top:92px;bottom:auto;right:18px}.voice-dock.reader .voice-dock-panel{top:calc(100% + 10px);bottom:auto;width:min(300px,calc(100vw - 36px));max-height:calc(100vh - 180px);overflow:auto}.voice-dock.reader .voice-fab{order:1}@media(max-width:900px){.reader-timeline{top:150px}}@media(max-width:900px){.voice-dock.reader{top:auto;bottom:max(18px,env(safe-area-inset-bottom))}.voice-dock.reader .voice-dock-panel{top:auto;bottom:calc(100% + 10px);max-height:calc(100vh - 120px)}}.lumen-dock{position:sticky;top:92px;align-self:start;width:100%;max-width:328px;z-index:12}.lumen-panel{display:flex;flex-direction:column;gap:14px;width:100%;padding:16px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--subject);border-radius:2px;box-shadow:var(--shadow);max-height:calc(100vh - 118px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.lumen-panel :is(button,summary,input,textarea):focus-visible{outline:2px solid var(--highlight);outline-offset:2px}.lumen-head{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.lumen-head-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.lumen-wordmark{font-family:var(--serif);font-size:1.18rem;line-height:1.05;letter-spacing:-.01em}.lumen-role{font-family:var(--mono);font-size:.6rem;line-height:1.3;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumen-state{display:inline-flex;align-items:center;gap:6px;flex:none;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.lumen-state-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}.lumen-state.is-listening{border-color:var(--highlight);background:var(--highlight-soft);color:var(--text)}.lumen-state.is-listening .lumen-state-dot{background:var(--highlight)}.lumen-state.is-speaking{border-color:var(--subject);color:var(--text)}.lumen-state.is-speaking .lumen-state-dot{background:var(--subject);animation:lumen-pip 1.3s ease-in-out infinite}.lumen-state.is-paused .lumen-state-dot{border-radius:1px}@keyframes lumen-pip{0%,to{opacity:1}50%{opacity:.35}}.lumen-label{margin:0;font-family:var(--mono);font-size:.62rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lumen-hint{margin:0;font-size:.72rem;line-height:1.45;color:var(--muted)}.lumen-status-hint{margin-top:-4px}.lumen-interim{margin:0;font-family:var(--serif);font-style:italic;font-size:.86rem;line-height:1.45;color:var(--muted)}.lumen-error{margin:0;font-size:.76rem}.lumen-ask{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:3px;background:var(--surface-soft)}.lumen-ask:focus-within{border-color:var(--subject)}.lumen-ask-input{width:100%;min-width:0;min-height:64px;max-height:170px;resize:vertical;padding:9px 10px;border-radius:2px;background:var(--surface);font-size:.84rem;line-height:1.5}.lumen-ask-input::placeholder{color:var(--muted);opacity:1}.lumen-ask-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}.lumen-ask-help{font-family:var(--mono);font-size:.62rem;line-height:1.4;color:var(--muted);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumen-ask-buttons{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}.lumen-mic{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text);cursor:pointer}.lumen-mic:hover:not(:disabled){border-color:var(--subject);color:var(--subject)}.lumen-mic.is-listening{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.lumen-send{padding:0 14px;height:32px;border:1px solid var(--accent);border-radius:2px;background:var(--accent);color:var(--surface);font-size:.78rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}[data-theme=dark] .lumen-send{color:#07120f}.lumen-send:hover:not(:disabled){background:var(--text);border-color:var(--text)}[data-theme=dark] .lumen-send:hover:not(:disabled){color:#07120f}.lumen-answer{padding:12px;border:1px solid var(--line);border-left:3px solid var(--subject);border-radius:2px;background:var(--surface-soft)}.lumen-thinking{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:var(--surface-soft);color:var(--muted);font-size:.78rem}.lumen-spinner{width:16px;height:16px;flex:none;border:2px solid color-mix(in srgb,var(--subject) 25%,transparent);border-top-color:var(--subject);border-radius:50%;animation:lumen-spinner .7s linear infinite}@keyframes lumen-spinner{to{transform:rotate(360deg)}}.lumen-answer .lumen-label{margin-bottom:8px}.lumen-answer-body{font-size:.84rem;line-height:1.6;overflow-wrap:anywhere}.lumen-answer-body .markdown{font-size:.84rem}.lumen-answer-body .markdown>:first-child{margin-top:0}.lumen-answer-body .markdown>:last-child{margin-bottom:0}.lumen-answer-body .markdown h1,.lumen-answer-body .markdown h2,.lumen-answer-body .markdown h3,.lumen-answer-body .markdown h4{margin:12px 0 6px;font-size:.96rem;line-height:1.25}.lumen-answer-body .markdown ul,.lumen-answer-body .markdown ol{padding-left:18px}.lumen-answer-body .markdown code{font-family:var(--mono);font-size:.78em}.lumen-answer-body .markdown table{display:block;max-width:100%;overflow-x:auto}.lumen-answer-body .katex-display{overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.lumen-empty{padding:13px 12px;border:1px dashed var(--line);border-radius:2px}.lumen-empty p{margin:0 0 10px;font-family:var(--serif);font-size:.9rem;line-height:1.45;color:var(--muted)}.lumen-chips{display:flex;flex-wrap:wrap;gap:6px}.lumen-chip{max-width:100%;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.68rem;line-height:1.3;text-align:left;cursor:pointer}.lumen-chip:hover:not(:disabled){border-color:var(--subject);color:var(--text)}.lumen-voice{display:flex;flex-direction:column;gap:9px;padding-top:12px;border-top:1px solid var(--line)}.lumen-voice-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.lumen-voice-note{font-family:var(--mono);font-size:.58rem;color:var(--muted);white-space:nowrap}.lumen-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.lumen-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text);font-size:.76rem;font-weight:500;cursor:pointer}.lumen-action svg{flex:none}.lumen-action span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumen-action:hover:not(:disabled){border-color:var(--subject);color:var(--subject)}.lumen-action.is-primary{border-color:var(--subject);background:var(--subject-soft)}.lumen-action.is-primary:hover:not(:disabled){background:var(--subject);color:var(--surface)}[data-theme=dark] .lumen-action.is-primary:hover:not(:disabled){color:#07120f}.lumen-action.is-listening{border-color:var(--bad);background:var(--bad-soft);color:var(--bad)}.lumen-transport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.lumen-transport-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:7px 6px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:.62rem;cursor:pointer}.lumen-transport-button svg{flex:none}.lumen-transport-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lumen-transport-button:hover:not(:disabled){border-color:var(--line);background:var(--surface-soft);color:var(--text)}.lumen-mic:disabled,.lumen-send:disabled,.lumen-action:disabled,.lumen-transport-button:disabled,.lumen-chip:disabled,.lumen-mini:disabled{opacity:.5;cursor:not-allowed}.lumen-settings{padding-top:10px;border-top:1px solid var(--line)}.lumen-settings summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px;cursor:pointer}.lumen-settings summary::-webkit-details-marker{display:none}.lumen-settings summary .lumen-label:before{content:"▸";display:inline-block;margin-right:6px;color:var(--muted)}.lumen-settings[open] summary .lumen-label:before{content:"▾"}.lumen-settings summary:hover .lumen-label{color:var(--text)}.lumen-settings-meta{font-family:var(--mono);font-size:.58rem;color:var(--muted);white-space:nowrap}.lumen-settings-body{display:flex;flex-direction:column;margin-top:8px}.lumen-setting{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.lumen-setting:last-of-type{border-bottom:0}.lumen-setting-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.lumen-setting-copy strong{font-size:.76rem;font-weight:500}.lumen-setting-copy small{font-size:.66rem;line-height:1.35;color:var(--muted)}.lumen-settings .switch.small{margin-top:0;flex:none;font-size:.72rem}.lumen-setting.is-slider{flex-direction:column;align-items:stretch;gap:7px}.lumen-setting.is-slider .lumen-setting-copy{flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px}.lumen-setting input[type=range]{width:100%;min-width:0}.lumen-mini{flex:none;padding:6px 10px;border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text);font-size:.72rem;cursor:pointer}.lumen-mini:hover:not(:disabled){border-color:var(--subject);color:var(--subject)}.lumen-settings-body .lumen-hint{margin-top:6px}@media(max-width:1120px){.lumen-dock{position:static;max-width:none}.lumen-panel{max-height:none;overflow:visible}}@media(max-width:620px){.lumen-panel{padding:14px}.lumen-actions{grid-template-columns:1fr 1fr}}.lumen-status-block{display:flex;flex-direction:column;gap:6px}@media(min-width:721px)and (max-width:1120px){.lumen-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);grid-template-areas:"head head" "status status" "ask voice" "answer settings";align-items:start;column-gap:22px;row-gap:14px}.lumen-head{grid-area:head}.lumen-status-block{grid-area:status}.lumen-ask{grid-area:ask}.lumen-answer-region{grid-area:answer}.lumen-voice{grid-area:voice;padding-top:0;border-top:0}.lumen-settings{grid-area:settings;padding-top:0;border-top:0}}.toolkit-privacy{margin:8px 0 0;max-width:230px;color:var(--muted);font-size:.68rem;line-height:1.45}.rich-text p{margin:0 0 .65em}.rich-text p:last-child{margin-bottom:0}.check-question-markdown{font-size:1rem;line-height:1.65}.option .option-text{min-width:0}.option .option-text p{margin:0}@media(min-width:1366px){:root{--rail: 1280px}}@media(min-width:1180px){.study-start{max-width:100%}.panel.study-reader,.panel.active.study-reader{grid-template-columns:minmax(0,1fr) minmax(300px,352px);justify-content:stretch;max-width:100%}.panel.study-reader>.reader-shell,.reader-shell{max-width:none}.lumen-dock{max-width:352px}.reader-timeline,.lumen-dock,.session-rail,.margin-rail{top:calc(var(--bench-h) + 10px)}.generate-markdown table,.reader-body .markdown table{display:block;max-width:100%;overflow-x:auto}}@media(min-width:1366px){.panel.study-reader,.panel.active.study-reader{grid-template-columns:minmax(0,860px) minmax(320px,380px);justify-content:space-between}.panel.study-reader>.reader-shell,.reader-shell{max-width:860px}.lumen-dock{max-width:380px}.reader-lessons{position:sticky;top:calc(var(--bench-h) + 10px);left:0;width:fit-content;margin:0 0 12px;z-index:30}.reader-lessons-panel{top:calc(100% + 8px);max-height:min(70vh,calc(100vh - var(--bench-h) - 150px))}.bench-actions .toolkit-panel{right:calc(-1 * (var(--control-h-sm) + 8px))}}.ov{--ov-surface: var(--surface, #fbfcf8);--ov-soft: var(--surface-soft, #f1f5ef);--ov-text: var(--text, #16221e);--ov-muted: var(--muted, #5b6963);--ov-line: var(--line, #cfd9d0);--ov-accent: var(--accent, #1b6b58);--ov-accent-soft: var(--accent-soft, #dceee7);--ov-good: var(--good, #1f6b45);--ov-bad: var(--bad, #a6402f);--ov-highlight: var(--highlight, #e7b84a);--ov-radius: 2px;--ov-btn-radius: 6px;width:100%;min-width:0;display:grid;gap:clamp(16px,1.9vw,26px);font-family:var(--sans, "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif);color:var(--ov-text);font-size:.95rem;line-height:1.45}.ov *,.ov *:before,.ov *:after{box-sizing:border-box}.ov h1,.ov h2,.ov h3{font-family:var(--serif, "Newsreader", Georgia, serif);font-weight:500;color:var(--ov-text)}.ov button{font-family:inherit;color:inherit}.ov button:focus-visible,.ov a:focus-visible{outline:2px solid var(--ov-accent);outline-offset:2px}.ov-eyebrow{margin:0 0 6px;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.66rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ov-accent)}.ov-eyebrow-date{color:var(--ov-muted);letter-spacing:.06em;text-transform:none}.ov-status{margin:8px 0 0;max-width:62ch;font-size:.94rem;color:var(--ov-muted)}.ov-soft{margin:10px 0 0;font-size:.85rem;line-height:1.5;color:var(--ov-muted)}.ov-note{margin:0;font-size:.85rem;color:var(--ov-bad)}.ov-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;margin-left:9px;padding:2px 7px;border-radius:999px;background:var(--ov-accent-soft);color:var(--ov-accent);font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.7rem;font-weight:500;line-height:1.5;vertical-align:.12em}.ov-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--ov-btn-radius);font-family:inherit;font-size:.88rem;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.ov-btn-primary{background:var(--ov-accent);border-color:var(--ov-accent);color:#fff}[data-theme=dark] .ov-btn-primary{color:#07120f}.ov-btn-primary:hover{background:var(--ov-text);border-color:var(--ov-text);transform:translateY(-1px)}[data-theme=dark] .ov-btn-primary:hover{background:var(--ov-highlight);border-color:var(--ov-highlight);color:#14100a}.ov-btn-primary:active{transform:none}.ov-btn-secondary{background:transparent;border-color:var(--ov-line);color:var(--ov-text)}.ov-btn-secondary:hover{background:var(--ov-soft);border-color:var(--ov-muted)}.ov-btn-compact{min-height:36px;padding:0 13px;font-size:.82rem}.ov-quiet{align-self:flex-start;padding:0;border:0;background:none;color:var(--ov-accent);font-family:inherit;font-size:.8rem;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}.ov-quiet:hover{text-decoration-thickness:2px}.ov-section,.ov-hero,.ov-plan{background:var(--ov-surface);border:1px solid var(--ov-line);border-radius:var(--ov-radius);padding:clamp(18px,2.1vw,26px)}.ov-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.ov-sec-copy{min-width:0}.ov-sec-head h2{display:flex;flex-wrap:wrap;align-items:center;margin:0;font-size:clamp(1.28rem,1.9vw,1.55rem);line-height:1.14;letter-spacing:-.015em}.ov-sec-sub{margin:6px 0 0;max-width:62ch;font-size:.87rem;color:var(--ov-muted)}.ov-source{flex:none;align-self:flex-start;padding:4px 9px;border:1px solid var(--ov-line);border-radius:999px;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;letter-spacing:.02em;color:var(--ov-muted);white-space:nowrap}.ov-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr);align-items:stretch;padding:0;overflow:hidden;border-top:3px solid var(--ov-accent)}.ov-hero-main{min-width:0;padding:clamp(20px,2.4vw,30px)}.ov h1{margin:0;font-size:clamp(1.85rem,3.1vw,2.55rem);line-height:1.02;letter-spacing:-.025em}.ov-continue{position:relative;display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--ov-line)}.ov-tag{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ov-accent)}.ov-tag-sub{padding:2px 7px;border-radius:999px;background:var(--ov-accent-soft);color:var(--ov-accent);font-size:.62rem;letter-spacing:.04em;text-transform:none}.ov-continue-title{margin:0;font-size:clamp(1.32rem,2.1vw,1.72rem);line-height:1.14;letter-spacing:-.018em;overflow-wrap:anywhere}.ov-continue-focus{margin:0;max-width:64ch;font-size:.9rem;line-height:1.5;color:var(--ov-muted)}.ov-progress{height:4px;margin-top:4px;background:var(--ov-soft);overflow:hidden}.ov-progress span{display:block;height:100%;background:var(--ov-accent);transition:width .22s ease}.ov-continue-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:4px}.ov-continue-meta{margin:0;min-width:0;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.68rem;color:var(--ov-muted)}.ov-continue-step{color:var(--ov-text)}.ov-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ov-glance{display:flex;flex-direction:column;min-width:0;padding:clamp(18px,2vw,24px);background:var(--ov-soft);border-left:1px solid var(--ov-line)}.ov-glance-title{margin:0 0 10px;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.64rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--ov-muted)}.ov-glance-list{display:grid;margin:0}.ov-glance-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--ov-line)}.ov-glance-row:first-child{border-top:0;padding-top:2px}.ov-glance-row dt{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ov-muted)}.ov-glance-row dd{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin:0;text-align:right}.ov-glance-value{font-family:var(--serif, "Newsreader", Georgia, serif);font-size:1.18rem;line-height:1.05;letter-spacing:-.02em}.ov-glance-note{font-size:.66rem;color:var(--ov-muted)}.ov-glance .ov-quiet{margin-top:auto;padding-top:14px}.ov-review{scroll-margin-top:calc(var(--bench-h, 63px) + 16px)}.ov-rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ov-row-cell{display:flex;min-width:0}.ov-rows>.ov-row-cell:nth-child(odd):last-child,.ov-rows>.ov-row-skel:nth-child(odd):last-child{grid-column:1 / -1}.ov-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--ov-line);border-radius:var(--ov-radius);background:var(--ov-surface);text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.ov-row:hover{border-color:var(--ov-accent);background:var(--ov-soft)}.ov-row-main{display:grid;gap:2px;min-width:0}.ov-row-title{font-size:.94rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.ov-row-meta{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.63rem;line-height:1.4;color:var(--ov-muted);overflow-wrap:anywhere}.ov-row-side{display:grid;justify-items:end;gap:4px;flex:none}.ov-row-score{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.78rem;font-weight:500}.ov-row-reason{font-size:.66rem;color:var(--ov-muted);white-space:nowrap}.ov-row-cta{flex:none;font-size:.76rem;font-weight:500;color:var(--ov-accent);white-space:nowrap}.ov-meter{display:block;width:88px;height:4px;background:var(--ov-soft);overflow:hidden}.ov-fill{display:block;height:100%;max-width:100%;background:var(--ov-highlight)}.ov-fill.good{background:var(--ov-good)}.ov-fill.bad{background:var(--ov-bad)}.ov-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px dashed var(--ov-line);border-radius:var(--ov-radius);background:var(--ov-soft)}.ov-empty p{margin:0;font-size:.87rem;color:var(--ov-muted)}.ov-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.ov-focus-col{min-width:0;padding-right:clamp(16px,2vw,26px)}.ov-focus-col+.ov-focus-col{padding-right:0;padding-left:clamp(16px,2vw,26px);border-left:1px solid var(--ov-line)}.ov-focus-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ov-focus-head h3{margin:0;font-size:1.12rem;line-height:1.2;letter-spacing:-.012em}.ov-focus-note{margin:3px 0 4px;font-size:.8rem;color:var(--ov-muted)}.ov-mini-list{list-style:none;margin:6px 0 0;padding:0}.ov-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 8px;border:0;border-top:1px solid var(--ov-line);background:transparent;text-align:left;cursor:pointer;transition:background-color .11s ease}.ov-mini-list li:first-child .ov-mini{border-top:0;padding-top:8px}.ov-mini:hover{background:var(--ov-soft)}.ov-mini-main{display:grid;gap:2px;min-width:0}.ov-mini-title{font-size:.88rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.ov-mini-meta{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;line-height:1.4;color:var(--ov-muted);overflow-wrap:anywhere}.ov-mini-side{display:grid;justify-items:end;gap:4px;flex:none}.ov-pct{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.74rem;font-weight:500;color:var(--ov-muted)}.ov-pct.good{color:var(--ov-good)}.ov-pct.bad{color:var(--ov-bad)}.ov-focus-col .ov-quiet{margin-top:10px}.ov-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ov-subject{--ov-s: var(--ov-subject, #1b6b58);--ov-s-soft: var(--ov-subject-soft, #dceee7);display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px;background:var(--ov-surface);border:1px solid var(--ov-line);border-top:3px solid var(--ov-s);border-radius:var(--ov-radius);transition:box-shadow .14s ease}[data-theme=dark] .ov-subject{--ov-s: var(--ov-subject-dark, #7fd1bc);--ov-s-soft: var(--ov-subject-soft-dark, #17342c)}.ov-subject:hover{box-shadow:0 12px 26px #16221e14}.ov-subject-head{display:flex;align-items:center;gap:8px;min-width:0}.ov-dot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--ov-s, var(--ov-accent))}.ov-subject h3{margin:0;font-size:1.18rem;line-height:1.15;letter-spacing:-.012em}.ov-subject-code{margin-left:auto;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;color:var(--ov-muted)}.ov-subject-meta{margin:0;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.64rem;line-height:1.5;color:var(--ov-muted)}.ov-subject-blurb{margin:0;font-size:.8rem;line-height:1.45;color:var(--ov-muted)}.ov-subject .ov-btn{margin-top:auto;align-self:flex-start}.ov-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;background:linear-gradient(100deg,var(--ov-accent-soft),var(--ov-surface) 72%);border-left:3px solid var(--ov-accent)}.ov-plan-copy{min-width:0}.ov-plan h2{margin:0;max-width:34ch;font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.16;letter-spacing:-.015em}.ov-plan-sub{margin:7px 0 0;max-width:64ch;font-size:.86rem;color:var(--ov-muted)}.ov-plan .ov-btn{flex:none;background:var(--ov-surface)}#home-progress{scroll-margin-top:calc(var(--bench-h, 63px) + 16px)}.ov-activity{list-style:none;margin:0;padding:0}.ov-activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:11px 8px;border:0;border-top:1px solid var(--ov-line);background:transparent;text-align:left;cursor:pointer;transition:background-color .11s ease}.ov-activity li:first-child .ov-activity-row{border-top:0}.ov-activity-row:hover{background:var(--ov-soft)}.ov-activity-row.is-static{cursor:default}.ov-activity-row.is-static:hover{background:transparent}.ov-activity-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--ov-muted)}.ov-activity-dot.good{background:var(--ov-good)}.ov-activity-dot.bad{background:var(--ov-bad)}.ov-activity-dot.mid{background:var(--ov-highlight)}.ov-activity-main{display:grid;gap:1px;min-width:0}.ov-activity-title{font-size:.9rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.ov-activity-meta{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;line-height:1.4;color:var(--ov-muted)}.ov-activity-side{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:0;text-align:right}.ov-activity-detail{font-size:.78rem;line-height:1.35}.ov-activity-when{font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);font-size:.62rem;color:var(--ov-muted);white-space:nowrap}.ov-activity-cta{flex:none;font-size:.9rem;color:var(--ov-accent);opacity:.55;transition:opacity .11s ease}.ov-activity-row:hover .ov-activity-cta{opacity:1}.ov-skel{display:block;height:.9rem;border-radius:var(--ov-radius);background:linear-gradient(90deg,var(--ov-soft),var(--ov-line),var(--ov-soft));background-size:200% 100%;animation:ov-shimmer 1.5s linear infinite}.ov-skel-tag{height:.75rem;width:12ch}.ov-skel-title{height:1.5rem;width:min(26ch,70%)}.ov-skel-line{height:.8rem;width:88%}.ov-skel-line.short{width:52%}.ov-skel-value{height:1.1rem;width:2.5ch}.ov-row-skel{display:grid;gap:7px;padding:13px 15px;border:1px solid var(--ov-line);border-radius:var(--ov-radius)}.ov-activity-skel{padding:12px 8px;border-top:1px solid var(--ov-line)}@keyframes ov-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:1080px){.ov-hero{grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr)}}@media(max-width:980px){.ov-hero{grid-template-columns:minmax(0,1fr)}.ov-glance{border-left:0;border-top:1px solid var(--ov-line)}.ov-glance-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.ov-glance-row:nth-child(2){border-top:0}.ov-glance-row:nth-child(1),.ov-glance-row:nth-child(2){padding-top:2px}.ov-glance .ov-quiet{margin-top:10px;padding-top:0}.ov-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-subjects .ov-subject:last-child{grid-column:span 2}}@media(max-width:820px){.ov-focus-grid{grid-template-columns:minmax(0,1fr)}.ov-focus-col{padding-right:0}.ov-focus-col+.ov-focus-col{margin-top:20px;padding-top:18px;padding-left:0;border-left:0;border-top:1px solid var(--ov-line)}}@media(max-width:760px){.ov-rows{grid-template-columns:minmax(0,1fr)}.ov-sec-head{flex-direction:column;align-items:flex-start;gap:10px}.ov-source{align-self:flex-start}.ov-plan{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:16px}.ov-plan .ov-btn{justify-self:stretch}}@media(max-width:620px){.ov{gap:14px;font-size:.94rem}.ov-eyebrow-date{display:none}.ov h1{font-size:clamp(1.7rem,8vw,2.05rem)}.ov-hero-main{padding:18px 16px}.ov-glance,.ov-section,.ov-hero,.ov-plan{padding:16px}.ov-hero{padding:0}.ov-continue{margin-top:16px;padding-top:14px}.ov-continue-foot{align-items:stretch;flex-direction:column;gap:12px}.ov-actions{flex-direction:column;align-items:stretch}.ov-btn{width:100%;min-height:46px;white-space:normal;text-align:center}.ov-btn-compact{width:auto;min-height:40px}.ov-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px}.ov-row-cta{display:none}.ov-row-reason{white-space:normal}.ov-meter{width:72px}.ov-empty{flex-direction:column;align-items:stretch;gap:10px}.ov-empty .ov-btn{width:auto;align-self:flex-start}.ov-subjects{grid-template-columns:minmax(0,1fr)}.ov-subjects .ov-subject:last-child{grid-column:auto}.ov-subject .ov-btn{align-self:stretch;margin-top:4px}.ov-activity-row{grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:11px 2px}.ov-activity-cta{display:none}.ov-activity-side{align-items:flex-end}.ov-activity-detail{font-size:.72rem}.ov-glance-list{column-gap:16px}}@media(max-width:380px){.ov-activity-row{grid-template-columns:auto minmax(0,1fr)}.ov-activity-side{grid-column:2;align-items:flex-start;text-align:left;margin-top:2px}}@media(prefers-reduced-motion:reduce){.ov *,.ov *:before,.ov *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.ov-btn-primary:hover{transform:none}}.sp{--sp-surface: var(--surface, #fbfcf8);--sp-soft: var(--surface-soft, #f1f5ef);--sp-text: var(--text, #16221e);--sp-muted: var(--muted, #5b6963);--sp-line: var(--line, #cfd9d0);--sp-accent: var(--accent, #1b6b58);--sp-accent-soft: var(--accent-soft, #dceee7);--sp-good: var(--good, #1f6b45);--sp-bad: var(--bad, #a6402f);--sp-bad-soft: var(--bad-soft, #f6e2dd);--sp-highlight: var(--highlight, #e7b84a);--sp-highlight-soft: var(--highlight-soft, #fbf0d2);--sp-serif: var(--serif, "Newsreader", Georgia, "Times New Roman", serif);--sp-sans: var(--sans, "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif);--sp-mono: var(--mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace);width:100%;display:grid;gap:clamp(14px,1.6vw,22px);font-family:var(--sp-sans);color:var(--sp-text);font-size:.94rem;line-height:1.45}.sp *,.sp *:before,.sp *:after{box-sizing:border-box}.sp h2,.sp h3,.sp h4{font-family:var(--sp-serif);font-weight:500;margin:0;color:var(--sp-text)}.sp button:focus-visible,.sp input:focus-visible,.sp select:focus-visible,.sp [tabindex]:focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}.sp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.sp-kicker{margin:0 0 4px;font-family:var(--sp-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-muted)}.sp-title{font-size:clamp(1.25rem,1.7vw,1.55rem);letter-spacing:-.01em}.sp-sub{margin:4px 0 0;color:var(--sp-muted);font-size:.86rem;max-width:60ch}.sp-wizard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:16px 18px 18px;background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:2px;box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05))}.sp-field{display:grid;gap:6px;align-content:start;min-width:0;border:0;margin:0;padding:0}.sp-field-wide{grid-column:1 / -1}.sp-field>label,.sp-field>legend{font-family:var(--sp-mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--sp-muted);padding:0}.sp-field input[type=date],.sp-field input[type=number],.sp-field select{width:100%;min-height:var(--control-h, 42px);padding:var(--control-pad-y, 10px) var(--control-pad-x, 11px);border:1px solid var(--sp-line);border-radius:var(--radius-control, 6px);background:#fff;color:var(--sp-text);font:inherit}.sp-field input:hover,.sp-field select:hover{border-color:#a9b8ac}.sp-hint{margin:0;font-size:.76rem;color:var(--sp-muted)}.sp-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.sp-check{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid var(--sp-line);border-radius:2px;background:var(--sp-soft);cursor:pointer}.sp-check:hover{border-color:#a9b8ac}.sp-check:focus-within{outline:2px solid var(--sp-accent);outline-offset:2px}.sp-check input{margin:3px 0 0;accent-color:var(--sp-accent);width:16px;height:16px}.sp-check-copy{display:grid;gap:1px;font-size:.84rem}.sp-check-copy strong{font-weight:600}.sp-check-copy span{color:var(--sp-muted);font-size:.76rem}.sp-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:2px}.sp-form-note{font-size:.78rem;color:var(--sp-muted)}.sp-error{grid-column:1 / -1;margin:0;padding:9px 12px;border:1px solid #e2b6ab;border-left:3px solid var(--sp-bad);border-radius:2px;background:var(--sp-bad-soft);color:#7d2d20;font-size:.84rem}.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h, 42px);padding:0 14px;border:1px solid var(--sp-line);border-radius:var(--radius-control, 6px);background:var(--sp-surface);color:var(--sp-text);font:inherit;font-size:.84rem;cursor:pointer}.sp-btn:hover:not(:disabled){border-color:#a9b8ac;background:var(--sp-soft)}.sp-btn:disabled{opacity:.55;cursor:not-allowed}.sp-btn-primary{border-color:var(--sp-accent);background:var(--sp-accent);color:#fff;font-weight:600}.sp-btn-primary:hover:not(:disabled){background:#155745;border-color:#155745;color:#fff}.sp-btn-ghost{background:transparent}.sp-btn-tiny{min-height:28px;padding:0 10px;font-size:.78rem;font-family:var(--sp-mono);letter-spacing:.04em}.sp-btn-tiny.is-active{border-color:var(--sp-accent);background:var(--sp-accent-soft);color:#12493b;font-weight:600}.sp-plan{display:grid;gap:14px}.sp-plan-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--sp-line)}.sp-plan-title{font-size:1.08rem}.sp-status-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid transparent;font-family:var(--sp-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.sp-status-pill.is-full{background:#e2f1e8;border-color:#b9d9c6;color:#1c5c3c}.sp-status-pill.is-compressed{background:var(--sp-highlight-soft);border-color:#e2c987;color:#7a5410}.sp-status-meta{font-size:.8rem;color:var(--sp-muted)}.sp-warnings{padding:11px 14px;border:1px solid #e2c987;border-left:3px solid var(--sp-highlight);border-radius:2px;background:var(--sp-highlight-soft)}.sp-warnings-title{margin:0 0 5px;font-weight:600;font-size:.84rem;color:#6d4b0d}.sp-warnings ul{margin:0;padding-left:18px;display:grid;gap:3px;font-size:.82rem;color:#5c430f}.sp-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0}.sp-metric{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--sp-line);border-radius:2px;background:var(--sp-surface)}.sp-metric dt{font-family:var(--sp-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted)}.sp-metric dd{margin:0;font-family:var(--sp-serif);font-size:1.3rem;line-height:1.1}.sp-metric-note{font-size:.74rem;color:var(--sp-muted)}.sp-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sp-weeks{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;max-width:100%}.sp-week-btn{display:grid;gap:1px;min-width:88px;padding:6px 10px;border:1px solid var(--sp-line);border-radius:2px;background:var(--sp-surface);color:var(--sp-text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap}.sp-week-btn:hover{border-color:#a9b8ac;background:var(--sp-soft)}.sp-week-btn.is-active{border-color:var(--sp-accent);background:var(--sp-accent-soft)}.sp-week-label{font-family:var(--sp-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.sp-week-range{font-size:.72rem;color:var(--sp-muted)}.sp-viewtoggle{display:flex;gap:4px}.sp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.sp-day{display:grid;align-content:start;gap:8px;padding:10px;border:1px solid var(--sp-line);border-radius:2px;background:var(--sp-surface);min-width:0}.sp-day-rest{background:var(--sp-soft);border-style:dashed}.sp-day-light{background:#fcfdf9}.sp-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding-bottom:6px;border-bottom:1px solid var(--sp-line)}.sp-day-date{font-size:.82rem;font-weight:600;letter-spacing:.01em}.sp-day-load{font-family:var(--sp-mono);font-size:.66rem;color:var(--sp-muted);white-space:nowrap}.sp-day-note{margin:0;font-size:.76rem;color:var(--sp-muted)}.sp-tasks{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sp-task{display:grid;gap:4px;padding:8px 8px 9px;border:1px solid var(--sp-line);border-left:3px solid var(--sp-line);border-radius:2px;background:#fff}.sp-task-lesson{border-left-color:#3f7d4e}.sp-task-review{border-left-color:#b9851f}.sp-task-practice{border-left-color:#2e5ea8}.sp-task-rest{border-left-color:#b9c4bc;background:transparent;color:var(--sp-muted)}.sp-kind{justify-self:start;font-family:var(--sp-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:var(--sp-soft);color:var(--sp-muted)}.sp-kind-lesson{background:#e2efe4;color:#1e5232}.sp-kind-review{background:var(--sp-highlight-soft);color:#6d4b0d}.sp-kind-practice{background:#e3ebf8;color:#1f3f74}.sp-kind-rest{background:transparent;border:1px solid var(--sp-line)}.sp-task-body{display:grid;gap:2px;min-width:0}.sp-task-title{margin:0;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;font-size:.82rem;font-weight:600;line-height:1.3}.sp-code{font-family:var(--sp-mono);font-size:.7rem;font-weight:600;padding:0 4px;border-radius:2px;background:var(--sp-soft);color:var(--sp-muted)}.sp-task-reason{margin:0;font-size:.74rem;color:var(--sp-muted);line-height:1.35}.sp-task-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.7rem;color:var(--sp-muted)}.sp-subject{padding:1px 6px;border-radius:999px;font-family:var(--sp-mono);font-size:.62rem;letter-spacing:.04em;background:var(--sp-soft)}.sp-subject-9700{background:#e2efe4;color:#1e5232}.sp-subject-9701{background:#e3ebf8;color:#1f3f74}.sp-subject-9702{background:#efe5f3;color:#4b2f5a}.sp-phase,.sp-duration{font-family:var(--sp-mono);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase}.sp-start{justify-self:stretch;min-height:28px;padding:0 10px;border:1px solid var(--sp-accent);border-radius:2px;background:var(--sp-surface);color:var(--sp-accent);font:inherit;font-family:var(--sp-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.sp-start:hover:not(:disabled){background:var(--sp-accent);color:#fff}.sp-start:disabled{border-color:var(--sp-line);color:var(--sp-muted);background:var(--sp-soft);cursor:not-allowed;opacity:.75}.sp-start-void{display:block;min-height:28px}.sp-day-view{display:grid;gap:10px}.sp-dayspick{display:flex;gap:6px;flex-wrap:wrap}.sp-day-btn{display:grid;justify-items:center;gap:0;min-width:52px;padding:5px 8px;border:1px solid var(--sp-line);border-radius:2px;background:var(--sp-surface);color:var(--sp-text);font:inherit;font-size:.74rem;cursor:pointer}.sp-day-btn small{font-family:var(--sp-mono);font-size:.66rem;color:var(--sp-muted)}.sp-day-btn:hover{border-color:#a9b8ac;background:var(--sp-soft)}.sp-day-btn.is-active{border-color:var(--sp-accent);background:var(--sp-accent-soft)}.sp-day-btn-rest{border-style:dashed}.sp-day-single{max-width:460px}.sp-empty{margin:0;padding:12px 14px;border:1px dashed var(--sp-line);border-radius:2px;color:var(--sp-muted);font-size:.84rem}@media(max-width:1024px){.sp-days{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.sp-wizard{grid-template-columns:minmax(0,1fr)}.sp-days{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.sp-days{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.sp *{transition:none!important;animation:none!important}}@media(max-width:760px){.sp,.sp-head,.sp-plan,.sp-plan-head,.sp-plan-title{width:100%;max-width:100%;min-width:0}.sp-head{flex-direction:column;align-items:stretch}.sp-plan{display:flex;flex-direction:column;overflow-x:hidden}.sp-plan-head{align-items:flex-start}.sp-calendar,.sp-week,.sp-week-grid,.sp-grid{max-width:100%;min-width:0;overflow-x:auto}}@media(min-width:1180px){.sp-days{gap:6px}.sp-day{padding:9px 8px 10px;gap:7px}.sp-day-head{flex-wrap:wrap;row-gap:2px}.sp-day-date{white-space:nowrap}.sp-day-load{margin-left:auto}.sp-task{padding:7px 7px 8px}}.camera-scanner{--cs-surface: var(--surface, #fbfcf8);--cs-soft: var(--surface-soft, #f1f5ef);--cs-text: var(--text, #16221e);--cs-muted: var(--muted, #5b6963);--cs-line: var(--line, #cfd9d0);--cs-accent: var(--accent, #1b6b58);--cs-accent-soft: var(--accent-soft, #dceee7);--cs-good: var(--good, #1f6b45);--cs-warn: var(--highlight, #e7b84a);--cs-bad: var(--bad, #a6402f);--cs-bad-soft: var(--bad-soft, #f6e2dd);--cs-stage: #08111f;--cs-serif: var(--serif, "Newsreader", Georgia, "Times New Roman", serif);--cs-sans: var(--sans, "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif);--cs-mono: var(--mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace);position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:clamp(8px,2vw,26px);background:#080e1ab8;-webkit-backdrop-filter:blur(7px) saturate(120%);backdrop-filter:blur(7px) saturate(120%);font-family:var(--cs-sans);color:var(--cs-text);line-height:1.45;animation:camera-scanner-fade .15s ease-out}.camera-scanner *,.camera-scanner *:before,.camera-scanner *:after{box-sizing:border-box}.camera-scanner :focus-visible{outline:2px solid var(--cs-accent);outline-offset:2px}.camera-scanner-panel{width:min(100%,880px);max-height:calc(100dvh - clamp(16px,4vw,52px));display:grid;grid-template-rows:auto auto auto auto auto;overflow:hidden;background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:16px;box-shadow:0 1px #16221e0d,0 18px 48px #060c186b}.camera-scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 12px 18px;border-bottom:1px solid var(--cs-line);background:var(--cs-surface)}.camera-scanner-heading{min-width:0}.camera-scanner-eyebrow{margin:0 0 3px;font-family:var(--cs-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cs-muted)}.camera-scanner-title{margin:0;font-family:var(--cs-serif);font-size:1.16rem;font-weight:600;letter-spacing:-.01em}.camera-scanner-desc{margin:3px 0 0;max-width:52ch;font-size:.82rem;color:var(--cs-muted)}.camera-scanner-close{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--cs-line);border-radius:999px;background:var(--cs-soft);color:var(--cs-text);cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.camera-scanner-close:hover{background:var(--cs-surface);border-color:var(--cs-accent);color:var(--cs-accent)}.camera-scanner-stage{position:relative;width:100%;aspect-ratio:var(--cs-aspect, 4 / 3);max-height:min(56dvh,620px);overflow:hidden;background:var(--cs-stage);isolation:isolate}.camera-scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--cs-stage);transition:opacity .2s ease}.camera-scanner-stage[data-state=error] .camera-scanner-video{opacity:0}.camera-scanner-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 45%,rgba(4,9,18,.5) 100%)}.camera-scanner-guide{position:absolute;inset:7% 8%;border:1.5px dashed rgba(255,255,255,.36);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff0d,0 0 0 9999px #050a1642;pointer-events:none;transition:border-color .2s ease,opacity .2s ease}.camera-scanner-stage[data-state=error] .camera-scanner-guide,.camera-scanner-stage[data-state=starting] .camera-scanner-guide{opacity:.35}.camera-scanner-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.camera-scanner-stage[data-flash=true] .camera-scanner-overlay{animation:camera-scanner-flash .18s ease-out}.camera-scanner-hud{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.camera-scanner-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#080e1eb8;color:#eef4f0;font-family:var(--cs-mono);font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.camera-scanner-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:#8fa1a9}.camera-scanner-chip[data-tone=good]:before{background:#69d6a4;box-shadow:0 0 6px #69d6a4cc}.camera-scanner-chip[data-tone=warn]:before{background:var(--cs-warn)}.camera-scanner-chip[data-tone=low]:before{background:#e2806b}.camera-scanner-chip--facing{margin-left:auto}.camera-scanner-chip--facing:before{background:#ffffff73}.camera-scanner-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);max-width:calc(100% - 24px);margin:0;padding:7px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#080e1acc;color:#f2f7f3;font-size:.79rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}@media(max-width:560px){.camera-scanner-hint{white-space:normal;border-radius:12px;line-height:1.3}}.camera-scanner-hint[data-tone=good]{border-color:#69d6a48c;box-shadow:0 0 0 1px #69d6a42e inset}.camera-scanner-hint[data-tone=warn]{border-color:#e7b84a80}.camera-scanner-status{position:absolute;inset:0;display:grid;place-items:center;padding:20px;background:#060b16d1;color:#eef4f0;text-align:center;z-index:2}.camera-scanner-status--busy{background:#060b1673}.camera-scanner-status-card{display:grid;justify-items:center;gap:6px;max-width:34ch}.camera-scanner-status-card strong{font-family:var(--cs-serif);font-size:1.02rem;font-weight:600}.camera-scanner-status-card p{margin:0;font-size:.82rem;color:#eef4f0c2}.camera-scanner-status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.camera-scanner-retry{padding:7px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff1a;color:#f4f8f5;font-size:.8rem;cursor:pointer;transition:background .14s ease,border-color .14s ease}.camera-scanner-retry:hover{background:#ffffff2e;border-color:#ffffff73}.camera-scanner-retry--quiet{background:transparent}.camera-scanner-spinner{width:22px;height:22px;border:2px solid rgba(255,255,255,.24);border-top-color:#f4f8f5;border-radius:50%;animation:camera-scanner-spin .9s linear infinite}.camera-scanner-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 16px 6px;background:var(--cs-surface)}.camera-scanner-tool{justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--cs-line);border-radius:999px;background:var(--cs-soft);color:var(--cs-text);font-size:.8rem;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.camera-scanner-controls .camera-scanner-tool:last-of-type{justify-self:end}.camera-scanner-tool:hover:not(:disabled){border-color:var(--cs-accent);background:var(--cs-surface);color:var(--cs-accent)}.camera-scanner-tool:disabled{opacity:.45;cursor:not-allowed}.camera-scanner-shutter{justify-self:center;width:66px;height:66px;display:grid;place-items:center;padding:0;border:3px solid var(--cs-line);border-radius:50%;background:var(--cs-surface);cursor:pointer;transition:border-color .15s ease,transform .12s ease}.camera-scanner-shutter-dot{width:50px;height:50px;border-radius:50%;background:linear-gradient(150deg,#2b8a70,var(--cs-accent));box-shadow:0 4px 14px #1b6b5852;transition:transform .15s ease}.camera-scanner-shutter:hover:not(:disabled){border-color:var(--cs-accent)}.camera-scanner-shutter:hover:not(:disabled) .camera-scanner-shutter-dot{transform:scale(1.06)}.camera-scanner-shutter:active:not(:disabled) .camera-scanner-shutter-dot{transform:scale(.94)}.camera-scanner-shutter:disabled{opacity:.45;cursor:not-allowed}.camera-scanner-file{display:none}.camera-scanner-note{margin:0;padding:0 16px 12px;font-family:var(--cs-mono);font-size:.66rem;letter-spacing:.04em;color:var(--cs-muted);text-align:center}.camera-scanner-error{margin:0 16px 14px;padding:8px 12px;border:1px solid rgba(166,64,47,.28);border-radius:8px;background:var(--cs-bad-soft);color:var(--cs-bad);font-size:.82rem}@keyframes camera-scanner-fade{0%{opacity:0}to{opacity:1}}@keyframes camera-scanner-spin{to{transform:rotate(360deg)}}@keyframes camera-scanner-flash{0%{background:#ffffff8c}to{background:#fff0}}@media(prefers-reduced-motion:reduce){.camera-scanner,.camera-scanner-spinner,.camera-scanner-stage[data-flash=true] .camera-scanner-overlay{animation:none}.camera-scanner-shutter,.camera-scanner-shutter-dot,.camera-scanner-tool,.camera-scanner-close{transition:none}}@media(max-width:560px){.camera-scanner{padding:0}.camera-scanner-panel{width:100%;max-height:100dvh;height:100dvh;border:none;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto auto auto}.camera-scanner-stage{aspect-ratio:auto;max-height:none;height:100%}.camera-scanner-head{padding:12px 14px 10px}.camera-scanner-controls{padding:10px 12px 4px}.camera-scanner-tool span{display:none}.camera-scanner-tool{padding:9px}.camera-scanner-note{padding:0 12px 10px;font-size:.62rem}}.finder{--finder-surface: var(--surface, #fbfcf8);--finder-soft: var(--surface-soft, #f1f5ef);--finder-text: var(--text, #16221e);--finder-muted: var(--muted, #5b6963);--finder-line: var(--line, #cfd9d0);--finder-accent: var(--accent, #1b6b58);--finder-accent-soft: var(--accent-soft, #dceee7);--finder-good: var(--good, #1f6b45);--finder-good-soft: var(--good-soft, #e2f1e8);--finder-bad: var(--bad, #a6402f);--finder-bad-soft: var(--bad-soft, #f6e2dd);--finder-highlight: var(--highlight, #e7b84a);--finder-highlight-soft: var(--highlight-soft, #fbf0d2);--finder-serif: var(--serif, Georgia, "Times New Roman", serif);--finder-mono: var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);display:grid;gap:16px;width:100%;color:var(--finder-text)}.finder-head{display:grid;gap:4px;max-width:70ch}.finder-title{margin:0;font-family:var(--finder-serif);font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:500;line-height:1.05;letter-spacing:-.015em}.finder-lede{margin:4px 0 0;font-family:var(--finder-serif);font-size:1.02rem;line-height:1.55;color:var(--finder-muted)}.finder-label{margin:0;font-family:var(--finder-mono);font-size:.68rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--finder-muted)}.finder-view-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--finder-line)}.finder-view-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--finder-muted);padding:8px 10px;font:inherit;font-size:.82rem;cursor:pointer}.finder-view-tab.is-active{color:var(--finder-accent);border-bottom-color:var(--finder-accent);font-weight:600}.finder-view-tab:hover{color:var(--finder-text)}.finder-field textarea{width:100%;min-width:0;border:1px solid var(--finder-line);border-radius:6px;background:var(--finder-surface);color:var(--finder-text);padding:10px 11px;font:inherit;line-height:1.45;resize:vertical}.finder-generated-ms{padding:18px;border:1px solid var(--finder-line);border-top:2px solid var(--finder-accent);border-radius:2px;background:var(--finder-surface)}.finder-generated-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.finder-generated-head h3{margin:2px 0 0;font-family:var(--finder-serif);font-size:1.3rem;font-weight:500}.finder-generated-ms .markdown{font-family:var(--finder-serif);line-height:1.65}.finder-meta{margin:3px 0 0;font-size:.78rem;line-height:1.45;color:var(--finder-muted)}.finder-muted{margin:4px 0 0;font-size:.84rem;line-height:1.5;color:var(--finder-muted)}.finder-note{margin:0;font-size:.84rem;color:var(--finder-muted)}.finder-hint{margin:-4px 0 0;font-size:.78rem;line-height:1.5;color:var(--finder-muted)}.finder-code{font-family:var(--finder-mono);font-size:.72rem;padding:3px 6px;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-soft);color:var(--finder-muted)}.finder-modes{display:inline-flex;width:fit-content;gap:3px;padding:3px;border:1px solid var(--finder-line);border-radius:6px;background:var(--finder-soft)}.finder-mode{border:0;border-radius:4px;background:transparent;color:var(--finder-muted);font:inherit;font-size:.82rem;padding:6px 13px;cursor:pointer}.finder-mode:hover{color:var(--finder-text)}.finder-mode.is-active{background:var(--finder-surface);color:var(--finder-text);box-shadow:inset 0 0 0 1px var(--finder-line)}.finder-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.finder-field{display:flex;flex:0 0 210px;flex-direction:column;gap:6px;min-width:0}.finder-field.is-grow{flex:1 1 340px}.finder-field>span{font-size:.76rem;font-weight:500;color:var(--finder-muted)}.finder-field input,.finder-field select{min-width:0;border:1px solid var(--finder-line);border-radius:6px;background:var(--finder-surface);color:var(--finder-text);padding:10px 11px;font:inherit}.finder-field input:focus-visible,.finder-field select:focus-visible{outline:2px solid var(--finder-highlight);outline-offset:1px;border-color:var(--finder-text)}.finder-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--finder-accent);border-radius:6px;background:var(--finder-accent);color:var(--finder-surface);padding:10px 15px;font:inherit;font-weight:500;text-decoration:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.finder-button:hover:not(:disabled){background:var(--finder-text);border-color:var(--finder-text);color:var(--finder-surface)}.finder-button:disabled{opacity:.5;cursor:not-allowed}.finder-button.is-quiet{background:transparent;border-color:var(--finder-line);color:var(--finder-text);font-weight:500;font-size:.84rem;padding:8px 12px}.finder-button.is-quiet:hover:not(:disabled){background:var(--finder-soft);border-color:var(--finder-text);color:var(--finder-text)}.finder-button:focus-visible,.finder-mode:focus-visible,.finder-link-button:focus-visible,.finder-link:focus-visible{outline:2px solid var(--finder-highlight);outline-offset:2px}.finder-link,.finder-link-button{border:0;background:none;padding:0;color:var(--finder-accent);font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.finder-link:hover,.finder-link-button:hover{color:var(--finder-text)}.finder-file-picker{cursor:pointer}.finder-query-row{display:flex;align-items:stretch;gap:8px;min-width:0}.finder-query-row input{flex:1 1 auto}.finder-query-row .finder-file-picker{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.finder-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.finder-upload-row .finder-file-picker{background:var(--finder-accent-soft);border-color:var(--finder-accent);color:var(--finder-accent);font-weight:600}.finder-upload-row .finder-file-picker:hover{background:var(--finder-accent);color:var(--finder-surface)}.finder-upload-row .finder-button:not(.finder-file-picker){background:var(--finder-surface);border:1px solid var(--finder-text);color:var(--finder-text)}.finder-upload-row .finder-button:not(.finder-file-picker):hover{background:var(--finder-text);color:var(--finder-surface)}.finder-file-summary{display:inline-flex;align-items:center;gap:8px;max-width:100%;color:var(--finder-muted);font-size:.78rem}.finder-file-summary img{width:34px;height:34px;object-fit:cover;border:1px solid var(--finder-line);border-radius:3px}.finder-file-summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finder-file-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.finder-drop{flex:1 1 420px;min-width:0;border:1px dashed var(--finder-line);border-radius:2px;background:var(--finder-soft);padding:14px;transition:border-color .12s ease,background .12s ease}.finder-drop.is-dragging,.finder.is-dropping .finder-drop{border-color:var(--finder-accent);background:var(--finder-accent-soft)}.finder-drop-body>p{margin:0 0 4px;font-size:.88rem}.finder-drop-body>p.finder-muted,.finder-preview .finder-muted{margin:0 0 4px;font-size:.8rem}.finder-drop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.finder-preview{display:flex;align-items:flex-start;gap:14px}.finder-preview img{flex:0 0 auto;width:132px;height:98px;object-fit:cover;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-surface)}.finder-preview-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.finder-preview-meta .finder-meta{margin:0}.finder-status:empty{display:none}.finder-error{margin:0;border-left:2px solid var(--finder-bad);border-radius:2px;background:var(--finder-bad-soft);color:var(--finder-bad);padding:10px 12px;font-size:.87rem;line-height:1.5}.finder-notice{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-left:2px solid var(--finder-line);border-radius:2px;background:var(--finder-soft);color:var(--finder-text);padding:10px 12px;font-size:.85rem;line-height:1.5}.finder-notice.is-warn{border-left-color:var(--finder-highlight);background:var(--finder-highlight-soft)}.finder-notice .finder-link-button{flex:none}.finder-generated-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.finder-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:16px}.finder-skeleton>div{height:220px;border:1px solid var(--finder-line);border-radius:2px;background:linear-gradient(90deg,var(--finder-soft) 25%,var(--finder-surface) 50%,var(--finder-soft) 75%);background-size:220% 100%;animation:finder-shimmer 1.5s linear infinite}@keyframes finder-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.finder-skeleton>div{animation:none}}.finder-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--finder-line);padding-bottom:8px;font-size:.8rem;color:var(--finder-muted)}.finder-result-head .finder-meta{margin:0;text-align:right}.finder-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));align-items:start;gap:16px}.finder-card{display:flex;flex-direction:column;gap:14px;min-width:0;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-surface);padding:18px}.finder-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.finder-card-ident{min-width:0}.finder-card-title{margin:3px 0 0;font-family:var(--finder-serif);font-size:1.1rem;font-weight:500;line-height:1.2}.finder-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.finder-reject{border:1px solid var(--finder-line);border-radius:3px;background:transparent;color:var(--finder-muted);padding:3px 7px;font:inherit;font-size:.68rem;cursor:pointer}.finder-reject:hover{border-color:var(--finder-bad);color:var(--finder-bad)}.finder-reject:focus-visible{outline:2px solid var(--finder-highlight);outline-offset:2px}.finder-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-soft);color:var(--finder-muted);padding:3px 7px;font-family:var(--finder-mono);font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.finder-badge.is-good{background:var(--finder-good-soft);border-color:var(--finder-good);color:var(--finder-good)}.finder-badge.is-warn{background:var(--finder-highlight-soft);border-color:var(--finder-highlight);color:var(--finder-text)}.finder-badge.is-bad{background:var(--finder-bad-soft);border-color:var(--finder-bad);color:var(--finder-bad)}.finder-card-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.finder-pane{display:flex;flex-direction:column;gap:8px;min-width:0}.finder-scroll-media{max-height:300px;overflow:auto;border:1px solid var(--finder-line);border-radius:2px;background:#fff}.finder-scroll-media.is-tall{max-height:480px}.finder-scroll-media img{display:block;width:100%;height:auto;border:0}.finder-scroll-media .finder-media-missing{border:0;border-radius:0}.finder-media-missing{border:1px dashed var(--finder-line);border-radius:2px;background:var(--finder-soft);color:var(--finder-muted);padding:10px;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.finder-question-cap{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;font-size:.8rem;line-height:1.5;color:var(--finder-muted);white-space:pre-wrap;overflow-wrap:anywhere}.finder-ms-entry{display:flex;flex-direction:column;gap:7px;min-width:0;border-left:2px solid var(--finder-accent-soft);padding-left:10px}.finder-ms-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.finder-ms-entry-head .finder-meta{margin:0}.finder-md{font-size:.86rem;line-height:1.55;overflow-wrap:anywhere}.finder-md>:first-child{margin-top:0}.finder-md>:last-child{margin-bottom:0}.finder-md p,.finder-md ul,.finder-md ol,.finder-md blockquote,.finder-md pre,.finder-md table{margin:0 0 .6em}.finder-md ul,.finder-md ol{padding-left:1.2em}.finder-md table{border-collapse:collapse;width:100%;font-size:.8rem}.finder-md th,.finder-md td{border:1px solid var(--finder-line);padding:4px 6px;text-align:left;vertical-align:top}.finder-md pre{white-space:pre-wrap;font-family:var(--finder-mono);font-size:.78rem}.finder-disclosure{font-size:.8rem;color:var(--finder-muted)}.finder-disclosure>summary{cursor:pointer}.finder-disclosure>summary:hover{color:var(--finder-text)}.finder-disclosure pre{margin:6px 0 0;padding:8px;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-soft);font-family:var(--finder-mono);font-size:.76rem;white-space:pre-wrap;overflow-wrap:anywhere}.finder-why{margin:0;border-top:1px solid var(--finder-line);padding-top:9px;font-size:.79rem;line-height:1.5;color:var(--finder-muted)}.finder-why .finder-label{margin-right:6px}.finder-card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:auto;border-top:1px solid var(--finder-line);padding-top:10px}.finder-detail{display:grid;gap:14px;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-surface);padding:18px;scroll-margin-top:90px}.finder-detail-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.finder-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.finder-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.finder-detail-pane{display:flex;flex-direction:column;gap:10px;min-width:0;border-top:1px solid var(--finder-line);padding-top:12px}.finder-empty{border:1px dashed var(--finder-line);border-radius:2px;background:var(--finder-soft);padding:18px}.finder-empty-title{margin:0 0 8px;font-family:var(--finder-serif);font-size:1.05rem;font-weight:500}.finder-empty ul{margin:0;padding-left:1.2em;font-size:.85rem;line-height:1.65;color:var(--finder-muted)}.finder-empty code{font-family:var(--finder-mono);font-size:.78rem;padding:1px 4px;border:1px solid var(--finder-line);border-radius:2px;background:var(--finder-surface)}@media(max-width:1100px){.finder-card-grid,.finder-detail-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.finder-form{flex-direction:column;align-items:stretch}.finder-field,.finder-field.is-grow{flex:1 1 auto}.finder-results,.finder-skeleton{grid-template-columns:minmax(0,1fr)}.finder-result-head{flex-direction:column;align-items:flex-start}.finder-result-head .finder-meta{text-align:left}.finder-preview{flex-direction:column}}.finder-zoom-hit{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.finder-zoom-hit img{width:100%}.finder-zoom-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:3vh 3vw;background:#0c120fe6;cursor:zoom-out}.finder-zoom-overlay img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 24px 80px #00000073}.finder-zoom-close{position:fixed;top:14px;right:18px;width:36px;height:36px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#ffffff1f;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}.finder-card{cursor:zoom-in}.finder-card-grid{grid-template-columns:minmax(0,1fr)}.finder-full{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:3vh 3vw;background:#0a0f0df0;cursor:zoom-out}.finder-full-stage{position:relative;display:flex;align-items:flex-start;justify-content:center;width:min(1100px,96vw);max-width:96vw;max-height:94vh;overflow:auto;cursor:default}.finder-full-stage img{display:block;max-width:100%;max-height:none;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 28px 90px #00000080}.finder-full-actions{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:6px;border-radius:3px;background:#fffffff0;box-shadow:0 10px 30px #00000040}.practice-panel{--practice-surface: var(--surface, #fbfcf8);--practice-soft: var(--surface-soft, #f1f5ef);--practice-text: var(--text, #16221e);--practice-muted: var(--muted, #5b6963);--practice-line: var(--line, #cfd9d0);--practice-accent: var(--accent, #1b6b58);--practice-accent-soft: var(--accent-soft, #dceee7);--practice-good: var(--good, #1f6b45);--practice-good-soft: var(--good-soft, #e2f1e8);--practice-bad: var(--bad, #a6402f);--practice-bad-soft: var(--bad-soft, #f6e2dd);--practice-highlight-soft: var(--highlight-soft, #fbf0d2);--practice-on-accent: #ffffff;--practice-input: #ffffff;--practice-serif: var(--serif, "Newsreader", Georgia, "Times New Roman", serif);--practice-sans: var(--sans, "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif);--practice-mono: var(--mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace);width:100%;display:grid;gap:clamp(14px,1.6vw,20px);font-family:var(--practice-sans);color:var(--practice-text);font-size:.95rem;line-height:1.5}.practice-panel *,.practice-panel *:before,.practice-panel *:after{box-sizing:border-box}:root[data-theme=dark] .practice-panel{--practice-on-accent: #0b1512;--practice-input: #0f1a16}.practice-panel h2,.practice-panel h3{font-family:var(--practice-serif);font-weight:500;margin:0;color:var(--practice-text)}.practice-panel :focus-visible{outline:2px solid var(--practice-accent);outline-offset:2px}.practice-muted{color:var(--practice-muted)}.practice-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--practice-line)}.practice-head-copy{max-width:64ch}.practice-eyebrow{margin:0 0 6px;font-family:var(--practice-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--practice-accent)}.practice-title{font-size:clamp(1.4rem,2vw,1.75rem);letter-spacing:-.02em;line-height:1.2}.practice-lede{margin:8px 0 0;color:var(--practice-muted);font-size:.9rem}.practice-head-badge{flex:none;font-family:var(--practice-mono);font-size:.72rem;letter-spacing:.04em;padding:5px 10px;border-radius:999px;border:1px solid var(--practice-line);background:var(--practice-soft);color:var(--practice-muted);white-space:nowrap}.practice-note{margin:0;padding:11px 14px;border:1px solid var(--practice-line);border-left:3px solid var(--practice-accent);border-radius:8px;background:var(--practice-soft);font-size:.86rem;color:var(--practice-text)}.practice-note strong{font-weight:700}.practice-generator{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px 16px;padding:16px 18px;border:1px solid var(--practice-line);border-radius:12px;background:var(--practice-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05))}.practice-field{display:flex;flex-direction:column;gap:5px}.practice-field-label{font-family:var(--practice-mono);font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--practice-muted);padding:0}.practice-generator .practice-field select,.practice-generator .practice-field input{border:1px solid var(--practice-line);background:var(--practice-input);color:var(--practice-text);border-radius:8px;padding:9px 11px;min-width:0}.practice-field-count input{width:92px}.practice-hint{font-size:.7rem;color:var(--practice-muted)}.practice-modes{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:5px;min-width:0}.practice-mode-list{display:flex;gap:8px;flex-wrap:wrap}.practice-mode{position:relative;display:grid;gap:1px;padding:7px 12px;border:1px solid var(--practice-line);border-radius:9px;background:var(--practice-soft);cursor:pointer;transition:border-color .12s ease,background .12s ease}.practice-mode input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.practice-mode:hover{border-color:var(--practice-accent)}.practice-mode:focus-within{outline:2px solid var(--practice-accent);outline-offset:2px}.practice-mode-active{border-color:var(--practice-accent);background:var(--practice-accent-soft)}.practice-mode-label{font-weight:650;font-size:.86rem;line-height:1.25}.practice-mode-active .practice-mode-label{color:var(--practice-accent)}.practice-mode-hint{font-family:var(--practice-mono);font-size:.66rem;color:var(--practice-muted)}.practice-generator-action{margin-left:auto}.practice-button{font:inherit;font-weight:650;font-size:.88rem;padding:10px 16px;border:1px solid transparent;border-radius:9px;background:var(--practice-accent);color:var(--practice-on-accent);cursor:pointer;transition:filter .12s ease,transform 90ms ease}.practice-button:hover:not(:disabled){filter:brightness(1.06)}.practice-button:active:not(:disabled){transform:translateY(1px)}.practice-button:disabled{opacity:.5;cursor:not-allowed}.practice-button-secondary{background:var(--practice-surface);color:var(--practice-accent);border-color:var(--practice-line)}.practice-button-secondary:hover:not(:disabled){background:var(--practice-accent-soft);filter:none}.practice-link{font:inherit;font-size:.76rem;font-weight:650;border:0;padding:0;background:none;color:var(--practice-accent);cursor:pointer}.practice-link:disabled{color:var(--practice-muted);cursor:default}.practice-error,.practice-warn,.practice-success{margin:0;padding:10px 12px;border-radius:9px;font-size:.86rem;border:1px solid var(--practice-line)}.practice-error{background:var(--practice-bad-soft);border-color:var(--practice-bad);color:var(--practice-bad)}.practice-warn{background:var(--practice-highlight-soft);color:var(--practice-text)}.practice-success{background:var(--practice-good-soft);border-color:var(--practice-good);color:var(--practice-good)}.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:clamp(14px,1.6vw,20px)}.practice-main{display:grid;gap:12px;min-width:0}.practice-card{border:1px solid var(--practice-line);border-radius:12px;background:var(--practice-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05));padding:18px}.practice-paper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--practice-line)}.practice-paper-title{font-size:1.22rem;letter-spacing:-.015em;line-height:1.25}.practice-paper-meta{margin:5px 0 0;font-family:var(--practice-mono);font-size:.72rem;color:var(--practice-muted)}.practice-code{font-family:var(--practice-mono);font-size:.72rem;background:var(--practice-soft);border-radius:4px;padding:1px 5px}.practice-paper-actions{flex:none;display:flex;gap:8px}.practice-pdf-hint,.practice-saved-note{margin:10px 0 0;font-size:.79rem;color:var(--practice-muted)}.practice-pdf-hint{max-width:68ch}.practice-paper>.practice-error,.practice-paper>.practice-warn,.practice-paper>.practice-success{margin-top:12px}.practice-questions{list-style:none;margin:6px 0 0;padding:0}.practice-question{padding:18px 0;border-top:1px solid var(--practice-line);scroll-margin-bottom:96px}.practice-question:first-child{border-top:0;padding-top:16px}.practice-question-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.practice-question-number{font-family:var(--practice-mono);font-size:.95rem;font-weight:700;color:var(--practice-accent);min-width:1.6em}.practice-question-marks{font-family:var(--practice-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--practice-line);border-radius:999px;background:var(--practice-soft);color:var(--practice-muted)}.practice-question-source{margin-left:auto;font-family:var(--practice-mono);font-size:.7rem;color:var(--practice-muted);white-space:nowrap}.practice-figure{margin:10px 0 0}.practice-figure img{display:block;max-width:100%;border:1px solid var(--practice-line);border-radius:8px;background:#fff}.practice-question-note{margin:10px 0 0;font-size:.82rem;color:var(--practice-muted)}.practice-question-note a{color:var(--practice-accent)}.practice-options{display:grid;gap:8px;margin-top:12px}.practice-option{font:inherit;display:flex;align-items:flex-start;gap:10px;text-align:left;width:100%;padding:9px 12px;border:1px solid var(--practice-line);border-radius:9px;background:var(--practice-soft);color:var(--practice-text);cursor:pointer;transition:border-color .12s ease,background .12s ease}.practice-option:hover{border-color:var(--practice-accent)}.practice-option-selected{border-color:var(--practice-accent);background:var(--practice-accent-soft);box-shadow:inset 0 0 0 1px var(--practice-accent)}.practice-option-key{font-family:var(--practice-mono);font-size:.8rem;font-weight:700;color:var(--practice-accent);min-width:1.4em;line-height:1.5}.practice-option-text{font-size:.9rem;line-height:1.45}.practice-answer{display:grid;gap:5px;margin-top:12px}.practice-answer-label{font-family:var(--practice-mono);font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--practice-muted)}.practice-answer textarea{width:100%;min-height:84px;resize:vertical;font:inherit;font-size:.92rem;line-height:1.5;padding:10px 11px;border:1px solid var(--practice-line);border-radius:9px;background:var(--practice-input);color:var(--practice-text)}.practice-result{margin-top:12px;padding:10px 12px;border:1px solid var(--practice-line);border-radius:9px;background:var(--practice-soft)}.practice-result-correct{background:var(--practice-good-soft);border-color:color-mix(in srgb,var(--practice-good) 40%,transparent)}.practice-result-wrong{background:var(--practice-bad-soft);border-color:color-mix(in srgb,var(--practice-bad) 40%,transparent)}.practice-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.practice-result-badge{font-family:var(--practice-mono);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--practice-muted)}.practice-result-correct .practice-result-badge{color:var(--practice-good)}.practice-result-wrong .practice-result-badge{color:var(--practice-bad)}.practice-result-marks{font-family:var(--practice-mono);font-size:.72rem;color:var(--practice-text)}.practice-result-feedback{margin:6px 0 0;font-size:.87rem;white-space:pre-wrap}.practice-model-answer{margin-top:8px}.practice-model-answer summary{font-size:.8rem;font-weight:650;color:var(--practice-accent);cursor:pointer}.practice-model-answer p{margin:6px 0 0;font-size:.87rem;white-space:pre-wrap}.practice-save{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px;padding:12px 0;border-top:1px solid var(--practice-line);background:var(--practice-surface);box-shadow:0 -10px 14px -14px #16221e80}.practice-save-meta{display:grid;gap:2px;font-size:.82rem}.practice-save-meta strong{font-weight:700}.practice-save-meta span{color:var(--practice-muted);font-size:.78rem}.practice-aside{position:sticky;top:16px;min-width:0}.practice-history{border:1px solid var(--practice-line);border-radius:12px;background:var(--practice-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05));padding:14px;max-height:calc(100vh - 48px);overflow:auto}.practice-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--practice-line)}.practice-history-title{font-size:1rem}.practice-history-loading{display:grid;gap:6px;margin-top:10px}.practice-history-empty,.practice-history-foot{margin:10px 0 0;font-size:.78rem;color:var(--practice-muted)}.practice-history-foot{border-top:1px solid var(--practice-line);padding-top:9px}.practice-history-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.practice-paper-link{font:inherit;width:100%;display:grid;gap:3px;text-align:left;padding:8px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--practice-text);cursor:pointer}.practice-paper-link:hover{background:var(--practice-soft)}.practice-paper-link-active{background:var(--practice-accent-soft);border-color:var(--practice-accent)}.practice-paper-link-title{font-size:.85rem;font-weight:650;line-height:1.3}.practice-paper-link-meta{font-family:var(--practice-mono);font-size:.68rem;color:var(--practice-muted);line-height:1.4}.practice-loading{display:grid;gap:8px}.practice-loading-text{margin:0 0 2px;font-size:.86rem;color:var(--practice-muted)}.practice-skeleton-line{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--practice-soft),var(--practice-line),var(--practice-soft));background-size:200% 100%;animation:practice-shimmer 1.2s linear infinite}.practice-skeleton-line.short{width:55%}@keyframes practice-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.practice-empty-state{display:grid;gap:8px}.practice-empty-title{font-size:1.05rem}.practice-empty-state p{margin:0;font-size:.87rem;max-width:70ch}@media(max-width:1080px){.practice-layout{grid-template-columns:minmax(0,1fr)}.practice-aside{position:static}.practice-history{max-height:none}}@media(max-width:720px){.practice-head{flex-direction:column;align-items:flex-start}.practice-generator{flex-direction:column;align-items:stretch}.practice-generator-action{margin-left:0}.practice-paper-head{flex-direction:column}.practice-question-source{margin-left:0;width:100%}.practice-save{flex-direction:column;align-items:stretch}}@media(prefers-reduced-motion:reduce){.practice-skeleton-line{animation:none}}.generate-panel{--generate-surface: var(--surface, #fbfcf8);--generate-soft: var(--surface-soft, #f1f5ef);--generate-text: var(--text, #16221e);--generate-muted: var(--muted, #5b6963);--generate-line: var(--line, #cfd9d0);--generate-accent: var(--accent, #1b6b58);--generate-accent-soft: var(--accent-soft, #dceee7);--generate-good: var(--good, #1f6b45);--generate-good-soft: var(--good-soft, #e2f1e8);--generate-bad: var(--bad, #a6402f);--generate-bad-soft: var(--bad-soft, #f6e2dd);--generate-highlight: var(--highlight, #e7b84a);--generate-highlight-soft: var(--highlight-soft, #fbf0d2);--generate-on-accent: #ffffff;--generate-input: #ffffff;--generate-serif: var(--serif, "Newsreader", Georgia, "Times New Roman", serif);--generate-sans: var(--sans, "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif);--generate-mono: var(--mono, "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace);width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(14px,1.5vw,18px);font-family:var(--generate-sans);color:var(--generate-text);font-size:.95rem;line-height:1.5}.generate-panel>*{min-width:0}.generate-panel *,.generate-panel *:before,.generate-panel *:after{box-sizing:border-box}:root[data-theme=dark] .generate-panel{--generate-on-accent: #0b1512;--generate-input: #0f1a16}.generate-panel h2,.generate-panel h3,.generate-panel h4{font-family:var(--generate-serif);font-weight:500;margin:0;color:var(--generate-text)}.generate-panel :focus-visible{outline:2px solid var(--generate-accent);outline-offset:2px}.generate-muted{color:var(--generate-muted)}.generate-mono,.generate-code{font-family:var(--generate-mono)}.generate-code{font-size:.74rem;padding:1px 5px;border-radius:5px;background:var(--generate-soft);border:1px solid var(--generate-line)}.generate-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--generate-line)}.generate-head-copy{max-width:66ch}.generate-eyebrow{margin:0 0 6px;font-family:var(--generate-mono);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--generate-accent)}.generate-title{font-size:clamp(1.4rem,2vw,1.75rem);letter-spacing:-.02em;line-height:1.2}.generate-lede{margin:8px 0 0;color:var(--generate-muted);font-size:.9rem}.generate-head-badge{flex:none;font-family:var(--generate-mono);font-size:.72rem;letter-spacing:.04em;padding:5px 10px;border-radius:999px;border:1px solid var(--generate-line);background:var(--generate-soft);color:var(--generate-muted);white-space:nowrap}.generate-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;border:1px solid var(--generate-line);border-radius:12px;background:var(--generate-soft)}.generate-mode{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--generate-text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.generate-mode:hover{background:var(--generate-surface);border-color:var(--generate-line)}.generate-mode-active{background:var(--generate-surface);border-color:var(--generate-accent);box-shadow:inset 0 -2px 0 var(--generate-accent)}.generate-mode-label{font-weight:650;font-size:.9rem;line-height:1.25}.generate-mode-active .generate-mode-label{color:var(--generate-accent)}.generate-mode-blurb{font-size:.76rem;color:var(--generate-muted);line-height:1.35}.generate-scope{display:flex;align-items:flex-start;flex-wrap:wrap;gap:14px 16px;padding:16px 18px;border:1px solid var(--generate-line);border-radius:12px;background:var(--generate-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05))}.generate-field{display:flex;flex-direction:column;gap:var(--label-gap, 6px);min-width:0}.generate-field-label{font-family:var(--generate-mono);font-size:.68rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--generate-muted);padding:0}.generate-scope .generate-field select,.generate-scope .generate-field input{border:1px solid var(--generate-line);background:var(--generate-input);color:var(--generate-text);border-radius:var(--radius-control, 6px);padding:var(--control-pad-y, 10px) var(--control-pad-x, 11px);min-width:0}.generate-scope .generate-field select{height:var(--control-h, 42px);padding-top:0;padding-bottom:0}.generate-scope .generate-field input:disabled,.generate-scope .generate-field select:disabled{opacity:.6;cursor:not-allowed}.generate-field-topic input{width:150px}.generate-field-count input{width:96px}.generate-hint{font-size:.7rem;color:var(--generate-muted);line-height:1.35}.generate-hint-tiny{font-size:.62rem}.generate-scope-fieldset{display:flex;flex-direction:column;gap:var(--label-gap, 6px);margin:0;padding:0;border:0;min-width:0}.generate-segmented{display:flex;gap:6px;flex-wrap:wrap}.generate-segment{position:relative;display:grid;align-content:center;gap:1px;min-height:var(--control-h, 42px);padding:6px 12px;border:1px solid var(--generate-line);border-radius:var(--radius-control, 6px);background:var(--generate-soft);cursor:pointer;transition:border-color .12s ease,background .12s ease}.generate-segment input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.generate-segment:hover{border-color:var(--generate-accent)}.generate-segment:focus-within{outline:2px solid var(--generate-accent);outline-offset:2px}.generate-segment-active{border-color:var(--generate-accent);background:var(--generate-accent-soft)}.generate-segment-label{font-weight:650;font-size:.85rem;line-height:1.25}.generate-segment-active .generate-segment-label{color:var(--generate-accent)}.generate-segment-hint{font-family:var(--generate-mono);font-size:.58rem;line-height:1.25;color:var(--generate-muted)}.generate-scope-note{margin:0;order:3;flex:1 1 100%;font-size:.76rem;color:var(--generate-muted)}.generate-scope-actions{margin-left:auto;order:2;display:grid;gap:4px;justify-items:end}.generate-scope-lock{max-width:24ch;text-align:right;color:var(--generate-bad)}.generate-button{font:inherit;font-weight:650;font-size:.88rem;min-height:var(--control-h, 42px);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-control, 6px);background:var(--generate-accent);color:var(--generate-on-accent);cursor:pointer;transition:filter .12s ease,transform 90ms ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.generate-button:hover:not(:disabled){filter:brightness(1.06)}.generate-button:active:not(:disabled){transform:translateY(1px)}.generate-button:disabled{opacity:.5;cursor:not-allowed}.generate-button-secondary{background:var(--generate-surface);color:var(--generate-accent);border-color:var(--generate-line)}.generate-button-secondary:hover:not(:disabled){background:var(--generate-accent-soft);filter:none}.generate-button-quiet{background:transparent;color:var(--generate-accent);border-color:var(--generate-line);font-size:.8rem;min-height:var(--control-h-sm, 36px);padding:0 12px}.generate-button-quiet:hover:not(:disabled){background:var(--generate-accent-soft);filter:none}.generate-link{font:inherit;font-size:.78rem;font-weight:650;border:0;padding:0;background:none;color:var(--generate-accent);cursor:pointer}.generate-link:disabled{color:var(--generate-muted);cursor:default}.generate-error,.generate-warn,.generate-success{margin:0;padding:10px 12px;border-radius:9px;font-size:.86rem;border:1px solid var(--generate-line)}.generate-error{background:var(--generate-bad-soft);border-color:var(--generate-bad);color:var(--generate-bad)}.generate-warn{background:var(--generate-highlight-soft);color:var(--generate-text)}.generate-pdf-blocked{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.generate-success{background:var(--generate-good-soft);border-color:var(--generate-good);color:var(--generate-good)}.generate-workspace{display:grid;gap:12px;min-width:0}.generate-card{border:1px solid var(--generate-line);border-radius:12px;background:var(--generate-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05));padding:18px}.generate-loading-text{margin:0 0 12px;font-size:.88rem;color:var(--generate-muted)}.generate-skeleton{display:block;height:10px;border-radius:6px;margin-bottom:8px;background:linear-gradient(90deg,var(--generate-soft),var(--generate-line),var(--generate-soft));background-size:200% 100%;animation:generate-shimmer 1.4s ease-in-out infinite}.generate-skeleton-short{width:55%;margin-bottom:0}@keyframes generate-shimmer{0%{background-position:0% 0}to{background-position:-200% 0}}.generate-empty-title{font-size:1.1rem;margin-bottom:6px}.generate-empty p{margin:0 0 8px;font-size:.88rem}.generate-empty p:last-child{margin-bottom:0}.generate-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--generate-line)}.generate-note-title{font-size:1.22rem;letter-spacing:-.015em;line-height:1.25}.generate-note-meta{margin:5px 0 0;font-family:var(--generate-mono);font-size:.72rem;color:var(--generate-muted);overflow-wrap:anywhere}.generate-note-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.generate-pdf-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.generate-markdown{margin-top:6px;max-width:78ch;line-height:1.7;font-size:.94rem;overflow-wrap:anywhere}.generate-markdown>:first-child{margin-top:0}.generate-markdown>:last-child{margin-bottom:0}.generate-markdown p{margin:0 0 .8em}.generate-markdown h1,.generate-markdown h2,.generate-markdown h3,.generate-markdown h4{margin:1.25em 0 .45em;line-height:1.28;font-family:var(--generate-serif);font-weight:500}.generate-markdown h1{font-size:1.3rem}.generate-markdown h2{font-size:1.16rem}.generate-markdown h3{font-size:1.02rem}.generate-markdown ul,.generate-markdown ol{margin:.45em 0 .95em;padding-left:1.3em;display:grid;gap:.35em}.generate-markdown li>ul,.generate-markdown li>ol{margin:.35em 0 0}.generate-markdown li::marker{color:var(--generate-muted)}.generate-markdown code{padding:.1em .32em;border-radius:4px;background:var(--generate-soft);border:1px solid var(--generate-line);font-size:.86em}.generate-markdown pre{margin:.8em 0;padding:12px 14px;border-radius:9px;border:1px solid var(--generate-line);background:var(--generate-soft);overflow-x:auto}.generate-markdown pre code{border:0;padding:0;background:none}.generate-markdown table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.88rem}.generate-markdown th,.generate-markdown td{border:1px solid var(--generate-line);padding:6px 9px;text-align:left;vertical-align:top}.generate-markdown blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid var(--generate-accent);background:var(--generate-soft);color:var(--generate-muted)}.generate-markdown img{max-width:100%;height:auto;border-radius:8px}.generate-deck{display:grid;gap:12px}.generate-deck-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.generate-deck-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.generate-deck-actions .generate-pdf-actions{margin:0}.generate-deck-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px}.generate-flashcard{display:block;width:100%;height:190px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;perspective:1100px;font:inherit;color:inherit}.generate-flashcard-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.7,.2,1)}.generate-flashcard-flipped .generate-flashcard-inner{transform:rotateY(180deg)}.generate-flashcard-face{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--generate-line);border-radius:11px;background:var(--generate-surface);box-shadow:var(--shadow, 0 1px 0 rgba(22, 34, 30, .05));backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto}.generate-flashcard:hover .generate-flashcard-face{border-color:var(--generate-accent)}.generate-flashcard-front{border-top:3px solid var(--generate-accent)}.generate-flashcard-back{transform:rotateY(180deg);background:var(--generate-accent-soft);border-color:var(--generate-accent);border-top:3px solid var(--generate-accent)}.generate-flashcard-index{font-family:var(--generate-mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--generate-accent)}.generate-flashcard-text{flex:1;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}.generate-flashcard-back .generate-flashcard-text{color:var(--generate-text)}.generate-flashcard-hint{font-family:var(--generate-mono);font-size:.65rem;color:var(--generate-muted)}.generate-practice{display:grid;gap:12px;min-width:0}.generate-paper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--generate-line);flex-wrap:wrap}.generate-paper-title{font-size:1.18rem;letter-spacing:-.015em;line-height:1.25}.generate-paper-meta{margin:5px 0 0;font-family:var(--generate-mono);font-size:.72rem;color:var(--generate-muted);overflow-wrap:anywhere}.generate-paper-head .generate-pdf-actions{margin:0}.generate-paper-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:0;counter-reset:generate-question}.generate-paper-item{display:grid;gap:5px;padding:11px 0;border-bottom:1px dashed var(--generate-line)}.generate-paper-item:last-child{border-bottom:0}.generate-paper-item-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.generate-paper-number{font-family:var(--generate-mono);font-size:.76rem;font-weight:650;color:var(--generate-accent)}.generate-paper-marks{font-family:var(--generate-mono);font-size:.7rem;color:var(--generate-muted)}.generate-paper-tag{font-family:var(--generate-mono);font-size:.66rem;padding:2px 7px;border-radius:999px;border:1px solid var(--generate-line);background:var(--generate-soft);color:var(--generate-muted)}.generate-paper-text{margin:0;font-size:.88rem;color:var(--generate-text);overflow-wrap:anywhere}.generate-paper-crop{display:block;width:100%;max-height:190px;object-fit:contain;object-position:left top;border:1px solid var(--generate-line);border-radius:2px;background:#fff}.generate-paper-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--generate-line)}.generate-paper-foot-copy{display:grid;gap:3px;max-width:62ch;font-size:.84rem}.generate-paper-foot-actions{display:flex;gap:8px;flex-wrap:wrap}.generate-embed{display:grid;gap:10px;padding:14px;border:1px dashed var(--generate-line);border-radius:12px;background:var(--generate-soft)}.generate-embed-note{margin:0;font-size:.8rem;color:var(--generate-muted)}.generate-mock{display:grid;gap:12px;min-width:0}.generate-brief-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--generate-line)}.generate-brief-head .generate-pdf-actions{margin:0}.generate-exam-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:14px 0;border:1px solid var(--generate-line);border-radius:10px;overflow:hidden;background:var(--generate-line)}.generate-exam-field{display:grid;gap:3px;padding:10px 13px;background:var(--generate-soft)}.generate-exam-label{font-family:var(--generate-mono);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--generate-muted)}.generate-exam-value{font-family:var(--generate-mono);font-size:.98rem;font-weight:650;letter-spacing:.02em;overflow-wrap:anywhere}.generate-exam-value-small{font-size:.78rem;font-weight:500}.generate-brief-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.generate-brief-section{min-width:0}.generate-brief-title{font-family:var(--generate-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--generate-accent);margin-bottom:8px}.generate-rules,.generate-instructions{margin:0;padding-left:1.15em;display:grid;gap:6px;font-size:.86rem;color:var(--generate-text)}.generate-rules li::marker{color:var(--generate-accent)}.generate-instructions li::marker{font-family:var(--generate-mono);color:var(--generate-muted)}.generate-rules-compact{margin-top:10px;font-size:.82rem;color:var(--generate-muted)}.generate-overview{margin-top:16px;border:1px solid var(--generate-line);border-radius:9px;background:var(--generate-soft);padding:10px 13px}.generate-overview summary{cursor:pointer;font-size:.84rem;font-weight:650}.generate-overview-list{margin:10px 0 0;padding:0 0 0 2px;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px 14px}.generate-overview-list li{display:flex;align-items:baseline;gap:8px;padding:4px 0;border-bottom:1px dashed var(--generate-line)}.generate-voice{margin-top:16px;display:grid;gap:6px}.generate-voice-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.generate-brief-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--generate-line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.generate-confirm{display:flex;align-items:flex-start;gap:9px;max-width:62ch;font-size:.86rem;cursor:pointer}.generate-confirm input{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--generate-accent)}.generate-brief-actions-ready{background:var(--generate-good-soft);border:1px solid var(--generate-good);border-radius:9px;padding:12px 14px}.generate-ready-copy{display:grid;gap:2px;font-size:.86rem}.generate-ready-actions{display:flex;gap:8px;flex-wrap:wrap}.generate-exam-bar{position:sticky;top:8px;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--generate-line);border-left:4px solid var(--generate-accent);border-radius:11px;background:color-mix(in srgb,var(--generate-surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #16221e1f}.generate-exam-bar[data-tone=warn]{border-left-color:var(--generate-highlight);background:var(--generate-highlight-soft)}.generate-exam-bar[data-tone=critical]{border-left-color:var(--generate-bad);background:var(--generate-bad-soft)}.generate-exam-bar-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap;min-width:0}.generate-timer{display:grid;gap:0}.generate-timer-label{font-family:var(--generate-mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--generate-muted)}.generate-timer-value{font-family:var(--generate-mono);font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:600;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--generate-text)}.generate-exam-bar[data-tone=warn] .generate-timer-value{color:#8a6516}.generate-exam-bar[data-tone=critical] .generate-timer-value{color:var(--generate-bad)}.generate-timer-meta{display:grid;gap:2px;font-family:var(--generate-mono);font-size:.7rem;color:var(--generate-muted);min-width:0}.generate-exam-bar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.generate-exam-bar-state{font-family:var(--generate-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--generate-bad)}.generate-running-title{font-size:clamp(1.2rem,2vw,1.45rem);letter-spacing:-.02em;margin-bottom:6px}.generate-handin-title{font-size:clamp(1.3rem,2.2vw,1.6rem);letter-spacing:-.02em;margin-bottom:8px}.generate-handin-lede{margin:0 0 14px;max-width:78ch;font-size:.9rem;color:var(--generate-text)}.generate-handin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--generate-line)}.generate-file-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;white-space:nowrap}.generate-pages{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.generate-page{display:grid;gap:6px;padding:8px;border:1px solid var(--generate-line);border-radius:10px;background:var(--generate-soft)}.generate-page-image{aspect-ratio:3 / 4;border-radius:7px;overflow:hidden;background:var(--generate-surface);border:1px solid var(--generate-line);display:grid;place-items:center}.generate-page-image img{width:100%;height:100%;object-fit:cover;display:block}.generate-page-placeholder{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,var(--generate-soft),var(--generate-soft) 8px,var(--generate-surface) 8px,var(--generate-surface) 16px)}.generate-page-meta{display:grid;gap:1px;font-size:.76rem;overflow-wrap:anywhere}.generate-page-remove{justify-self:start;color:var(--generate-bad)}.generate-handin-empty{margin:14px 0 0;padding:12px 14px;border:1px dashed var(--generate-line);border-radius:9px;font-size:.84rem;color:var(--generate-muted);background:var(--generate-soft)}.generate-handin .generate-error,.generate-handin .generate-warn{margin-top:12px}.generate-handin-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--generate-line);font-size:.82rem}.generate-handin-foot .generate-muted{max-width:60ch}.generate-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--generate-line)}.generate-report-head .generate-pdf-actions{margin:0}.generate-score{display:grid;gap:6px;margin:16px 0;padding:16px 18px;border:1px solid var(--generate-line);border-radius:11px;background:var(--generate-soft)}.generate-score-value{display:flex;align-items:baseline;gap:12px;font-family:var(--generate-mono);font-size:clamp(2rem,4vw,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.05}.generate-score-grade{font-size:.9rem;font-weight:650;letter-spacing:.06em;padding:3px 9px;border-radius:999px;border:1px solid var(--generate-accent);background:var(--generate-accent-soft);color:var(--generate-accent)}.generate-score-label{font-family:var(--generate-mono);font-size:.78rem;color:var(--generate-muted)}.generate-score-bar{height:8px;border-radius:999px;background:var(--generate-line);overflow:hidden}.generate-score-fill{display:block;height:100%;border-radius:999px;background:var(--generate-accent)}.generate-score-fill[data-tone=good]{background:var(--generate-good)}.generate-score-fill[data-tone=warn]{background:var(--generate-highlight)}.generate-score-fill[data-tone=bad]{background:var(--generate-bad)}.generate-score-summary{margin:4px 0 0;font-size:.88rem;max-width:78ch}.generate-feedback-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.generate-feedback-item{display:grid;gap:5px;padding:12px 0;border-bottom:1px dashed var(--generate-line)}.generate-feedback-item:last-child{border-bottom:0}.generate-feedback-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.generate-feedback-badge{font-family:var(--generate-mono);font-size:.64rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--generate-line);background:var(--generate-soft);color:var(--generate-muted)}.generate-feedback-badge[data-tone=good]{border-color:var(--generate-good);background:var(--generate-good-soft);color:var(--generate-good)}.generate-feedback-badge[data-tone=bad]{border-color:var(--generate-bad);background:var(--generate-bad-soft);color:var(--generate-bad)}.generate-feedback-badge[data-tone=partial]{border-color:var(--generate-highlight);background:var(--generate-highlight-soft);color:var(--generate-text)}.generate-feedback-marks{margin-left:auto;font-family:var(--generate-mono);font-size:.72rem;color:var(--generate-muted)}.generate-feedback-text{margin:0;font-size:.88rem;max-width:82ch;overflow-wrap:anywhere}.generate-model-answer{font-size:.84rem;color:var(--generate-muted)}.generate-model-answer summary{cursor:pointer;color:var(--generate-accent);font-weight:600}.generate-model-answer p{margin:6px 0 0;padding:8px 12px;border-left:3px solid var(--generate-accent);background:var(--generate-soft);border-radius:0 7px 7px 0;color:var(--generate-text)}.generate-paper-access{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:14px 0}.generate-paper-access-copy{display:grid;gap:3px;min-width:0;flex:1 1 320px}.generate-paper-access-title{margin:0;font-weight:600;font-size:.9rem}.generate-paper-access-hint{margin:0;font-size:.8rem;color:var(--generate-muted);line-height:1.45}.generate-paper-access-actions{display:flex;flex-wrap:wrap;gap:8px}.generate-paper-access-actions .generate-button{flex:0 0 auto}.generate-foot-note{margin:0;font-size:.74rem;color:var(--generate-muted);text-align:center}@media(max-width:1040px){.generate-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.generate-brief-columns{grid-template-columns:minmax(0,1fr);gap:14px}}@media(max-width:760px){.generate-modes{grid-template-columns:minmax(0,1fr)}.generate-head{flex-direction:column;align-items:flex-start}.generate-head-badge{align-self:flex-start}.generate-note-head,.generate-deck-head,.generate-paper-head,.generate-brief-head,.generate-report-head{flex-direction:column;align-items:stretch}.generate-note-actions,.generate-deck-actions{justify-content:flex-start}.generate-scope-actions{margin-left:0;width:100%}.generate-scope-actions .generate-button{width:100%;justify-content:center}.generate-field-topic input,.generate-field-count input{width:100%}.generate-scope>.generate-field,.generate-scope>.generate-scope-fieldset{flex:1 1 100%;width:100%}.generate-scope>.generate-field select,.generate-scope>.generate-field input{width:100%}.generate-scope-note{order:0}.generate-exam-bar{position:static}.generate-deck-grid,.generate-pages{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.generate-flashcard{height:170px}}.generate-history{margin-top:18px;padding-top:14px;border-top:1px solid var(--generate-line)}.generate-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.generate-history h3{margin:0;font-family:var(--serif);font-size:1.05rem;font-weight:500}.generate-history ul{display:grid;gap:6px;margin:0;padding:0;list-style:none;max-height:min(300px,42vh);overflow-y:auto;scrollbar-width:thin}.generate-history li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--generate-line)}.generate-history li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.generate-history-actions,.generate-history-buttons{display:flex;align-items:center;gap:8px}.generate-history-actions{flex-wrap:wrap;justify-content:flex-end}.generate-history-buttons{flex-shrink:0}.generate-button-small{min-height:32px;padding:0 9px;font-size:.72rem;white-space:nowrap}@media(prefers-reduced-motion:reduce){.generate-flashcard-inner{transition:none}.generate-skeleton{animation:none}.generate-button{transition:none}}.generate-paper-scheme-actions{padding:4px 0 10px;border-bottom:1px solid var(--generate-line)}.generate-paper-scheme-actions .generate-pdf-actions{margin:0}.generate-ms-body{min-width:0;overflow:hidden}.generate-ms-list{min-width:0;padding:0}.generate-ms-item,.generate-ms-pane{min-width:0}.generate-ms-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0}.generate-ms-pane img,.generate-ms-image{display:block;max-width:100%;width:auto;height:auto}@media(max-width:760px){.generate-ms-grid{grid-template-columns:minmax(0,1fr)}}.check-image-note{margin:4px 0 0;color:var(--muted);font-size:.74rem}@media(min-width:721px)and (max-width:1100px){:root{--rail: 100%;--rail-gutter: 18px}.bench-bar{gap:12px;padding:10px 18px}.bench-nav{gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.bench-nav::-webkit-scrollbar{display:none}.bench-nav-item{padding-inline:10px;white-space:nowrap}.main{max-width:100%;padding:20px 18px 60px}.panel,.ov,.finder,.generate-panel,.sp,.study-start,.panel.study-reader,.panel.active.study-reader{max-width:100%;width:100%}.reader-shell,.panel.study-reader>.reader-shell{max-width:100%;padding-bottom:24px}.generate-scope,.finder-form,.form-row,.generate-paper-access-actions,.generate-paper-foot-actions,.generate-pdf-actions{flex-wrap:wrap;align-items:flex-start}.generate-panel,.finder,.sp,.ov{min-width:0}.sp-plan,.sp-head,.sp-plan-head{max-width:100%;min-width:0}.sp-calendar,.sp-week,.sp-week-grid,.sp-grid{max-width:100%;min-width:0;overflow-x:auto}.toolkit-panel{right:0;max-width:calc(100vw - 36px)}.generate-ms-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.generate-ms-pane img,.generate-ms-image{max-width:100%;height:auto}}@media(min-width:1600px){:root{--rail: 1360px}.main{max-width:var(--rail)}.panel.study-reader,.panel.active.study-reader{grid-template-columns:minmax(0,960px) minmax(340px,400px);max-width:var(--rail);width:100%;justify-content:space-between}.panel.study-reader>.reader-shell,.reader-shell{max-width:960px}.lumen-dock{max-width:400px}.ov,.finder,.generate-panel,.sp{max-width:var(--rail)}}@media(min-width:1800px){:root{--rail: 1440px}.panel.study-reader,.panel.active.study-reader{grid-template-columns:minmax(0,1040px) minmax(360px,420px)}.panel.study-reader>.reader-shell,.reader-shell{max-width:1040px}.lumen-dock{max-width:420px}}@media(min-width:721px)and (max-width:1100px){.sp-plan-head,.sp-warnings,.sp-metrics,.sp-toolbar,.sp-days{width:100%;max-width:100%;min-width:0}.sp-weeks{max-width:100%;overflow-x:auto}}
