@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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: hsl(40 30% 97.5%);--card: hsl(0 0% 100%);--surface-subtle: hsl(220 24% 97%);--surface-muted: hsl(220 20% 94.5%);--ink: hsl(222 47% 11%);--ink-soft: hsl(222 24% 26%);--muted: hsl(218 14% 45%);--faint: hsl(218 12% 62%);--line: hsl(222 30% 20% / .09);--line-strong: hsl(222 30% 20% / .15);--control-border: hsl(220 16% 81%);--control-border-hover: hsl(220 14% 70%);--accent: hsl(226 58% 45%);--accent-hover: hsl(226 60% 38%);--accent-soft: hsl(226 80% 96.5%);--accent-soft-strong: hsl(226 72% 92%);--accent-ring: hsl(226 70% 52% / .24);--brand-navy: hsl(223 36% 19%);--brand-navy-deep: hsl(224 40% 15%);--brand-mint: hsl(165 44% 78%);--danger: hsl(0 66% 44%);--danger-soft: hsl(0 82% 97%);--warn: hsl(29 80% 33%);--warn-soft: hsl(38 92% 95%);--good: hsl(155 58% 29%);--good-soft: hsl(150 52% 95.5%);--chart-muted: hsl(224 32% 78%);--chart-muted-hover: hsl(224 36% 64%);--chart-urgent: hsl(3 52% 55%);--chart-recommended: hsl(37 66% 58%);--chart-clear: hsl(216 20% 83%);--radius-xs: 6px;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--shadow-xs: 0 1px 2px hsl(222 47% 11% / .05);--shadow: 0 1px 2px hsl(222 47% 11% / .04), 0 2px 6px -2px hsl(222 47% 11% / .05);--shadow-raised: 0 1px 2px hsl(222 47% 11% / .05), 0 12px 32px -14px hsl(222 47% 11% / .2);--shadow-overlay: 0 2px 6px hsl(222 47% 11% / .06), 0 28px 72px -18px hsl(222 47% 11% / .36);--ease-out: cubic-bezier(.2, 0, 0, 1);--duration-fast: .12s;--duration: .18s;--icon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0'/%3E%3Cpath d='M12 9h.01'/%3E%3Cpath d='M11 12h1v4h1'/%3E%3C/svg%3E");--icon-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0'/%3E%3Cpath d='M12 8v4'/%3E%3Cpath d='M12 16h.01'/%3E%3C/svg%3E");--icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0'/%3E%3Cpath d='M9 12l2 2l4 -4'/%3E%3C/svg%3E");--icon-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6l-6 6'/%3E%3C/svg%3E");--icon-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636e83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 9l4 -4l4 4'/%3E%3Cpath d='M16 15l-4 4l-4 -4'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;letter-spacing:inherit}button{color:inherit}input,select{font-weight:500}textarea{font-weight:400}p,li,dd,figcaption{text-wrap:pretty}:is(h1,h2,h3,h4){text-wrap:balance}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent-hover)}.tabler-icon,.lucide{flex:none;stroke-width:1.75}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label.btn:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}summary{list-style:none}summary::-webkit-details-marker{display:none}.assistant-workspace,.knowledge-base-page{display:grid;gap:1rem}.assistant-workspace{display:flex;flex-direction:column;height:max(32rem,calc(100dvh - 11rem));border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}.assistant-disclaimer{flex:none;margin:0;padding:.35rem;color:var(--muted);font-size:.72rem;text-align:center}.assistant-thread{flex:1;min-height:0;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow:auto}.assistant-empty{width:min(36rem,100%);margin:auto;text-align:center}.assistant-welcome-icon{flex:none;color:var(--accent)}.assistant-companion{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem 0;color:var(--muted);font-size:.82rem;flex:none}.assistant-lil-guy{position:relative;display:inline-block;vertical-align:middle}.assistant-lottie{position:absolute;top:0;right:0;bottom:0;left:0}.assistant-lottie svg path{stroke:currentColor}.assistant-starters{display:grid;gap:.5rem}.assistant-message{flex:none;width:min(44rem,88%);display:grid;gap:.7rem}.assistant-message.user{align-self:flex-end}.assistant-account-context{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.76rem}.assistant-account-context strong{color:var(--ink)}.assistant-message-copy{min-width:0;padding:.75rem .9rem;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-sm);background:var(--surface-subtle);border:1px solid var(--line)}.assistant-markdown{white-space:normal;line-height:1.65}.assistant-markdown :is(p,ul,ol,blockquote,pre,.assistant-markdown-table){margin:.75rem 0}.assistant-markdown :is(h1,h2,h3,h4,h5,h6){margin:1.25rem 0 .5rem;font-size:1rem;font-weight:700;line-height:1.4;letter-spacing:normal;text-wrap:balance}.assistant-markdown :is(h1,h2){font-size:1.1rem}.assistant-markdown>:first-child{margin-top:0}.assistant-markdown>:last-child{margin-bottom:0}.assistant-markdown :is(ul,ol){padding-left:1.5rem}.assistant-markdown li+li{margin-top:.3rem}.assistant-markdown li>:is(ul,ol,p){margin:.3rem 0}.assistant-markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.assistant-markdown a:hover{color:var(--accent-hover)}.assistant-markdown :is(a,.assistant-markdown-table):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.assistant-markdown blockquote{margin-left:0;padding-left:.9rem;border-left:3px solid var(--line-strong);color:var(--muted)}.assistant-markdown code{padding:.1em .3em;border-radius:4px;background:var(--card);font-size:.9em}.assistant-markdown pre{padding:.75rem;overflow-x:auto;white-space:pre;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.assistant-markdown pre code{padding:0;background:none}.assistant-markdown-table{overflow-x:auto}.assistant-markdown table{width:100%;border-collapse:collapse;font-size:.9em}.assistant-markdown :is(th,td){min-width:7rem;padding:.5rem .65rem;border:1px solid var(--line-strong);text-align:left;vertical-align:top}.assistant-markdown th{background:var(--accent-soft);font-weight:600}.assistant-markdown .contains-task-list{padding-left:0;list-style:none}.assistant-markdown .task-list-item input{width:auto;margin-right:.45rem}.assistant-markdown hr{margin:1rem 0;border:0;border-top:1px solid var(--line-strong)}.assistant-message.user .assistant-message-copy{color:#fff;background:var(--accent);border-color:var(--accent)}.assistant-message.streaming .assistant-message-copy:after,.ai-summary.streaming .ai-stream-copy:after{content:"";display:inline-block;width:.45rem;height:.9rem;margin-left:.2rem;vertical-align:-.1em;border-radius:2px;background:currentColor;opacity:.55;animation:stream-cursor .9s steps(1) infinite}@keyframes stream-cursor{50%{opacity:0}}.assistant-actions{display:flex;flex-wrap:wrap;gap:.45rem}.assistant-composer{flex:none;margin:0 1rem 1rem;padding:.45rem;display:grid;grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem;align-items:end;gap:.4rem;border:1px solid var(--control-border);border-radius:var(--radius-lg);background:var(--card)}.assistant-composer textarea{min-height:2.5rem;max-height:9rem;padding:.55rem;color:var(--ink);resize:vertical;border:0;background:transparent}.assistant-composer button,.source-card-actions button,.source-card-actions a{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-sm);cursor:pointer}.assistant-composer button{color:#fff;background:var(--accent);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.assistant-composer button:hover:not(:disabled){background:var(--accent-hover)}.assistant-composer button:active:not(:disabled){transform:scale(.96)}.assistant-composer button:disabled{opacity:.45;cursor:not-allowed}.assistant-composer .assistant-clear{color:var(--muted);background:transparent}.assistant-composer .assistant-clear:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.citation-list{display:grid;gap:.4rem}.citation{padding:.6rem .75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:start;color:var(--ink-soft);font-size:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.citation>svg{margin-top:.1rem;color:var(--accent)}.citation strong{color:var(--ink);font-weight:650}.citation p{margin:.2rem 0 0}.citation a{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;margin:-.2rem -.25rem 0 0;color:var(--muted);border-radius:var(--radius-xs);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.citation a:hover{color:var(--accent);background:var(--accent-soft)}.knowledge-library{display:grid;gap:1rem}.knowledge-tabs{width:fit-content;display:flex;padding:3px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.knowledge-tabs button{min-height:2.25rem;padding:0 .85rem;display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.84rem;font-weight:650;border:0;border-radius:7px;background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.knowledge-tabs button:hover{color:var(--ink)}.knowledge-tabs button.active{color:var(--ink);background:var(--card);box-shadow:0 1px 2px #0f172914,0 0 0 1px #0f17290d}.knowledge-tabs button.active svg{color:var(--accent)}.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.search-control{width:min(28rem,100%);min-height:40px;padding:0 .75rem;display:flex;align-items:center;gap:.5rem;color:var(--faint);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);box-shadow:0 1px 2px #0f17290a;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.search-control:hover{border-color:var(--control-border-hover)}.search-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search-control input{width:100%;min-height:0;padding:.5rem 0;font-size:.9rem;border:0;background:transparent}.search-control input:focus-visible{box-shadow:none}.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.research-browser-controls{display:grid;gap:.85rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.research-corpus-counts,.research-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem}.research-corpus-counts{align-items:center;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.research-corpus-counts strong{color:var(--ink)}.research-corpus-counts span{padding-left:.75rem;border-left:1px solid var(--line-strong)}.research-filters label{width:min(15rem,25%);min-width:10rem;display:grid;gap:.35rem;color:var(--ink-soft);font-size:.78rem;font-weight:650}.research-filters select{width:100%;min-height:38px;padding:.4rem .7rem;color:var(--ink);font-size:.85rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.research-filters .icon-button{flex:0 0 38px;width:38px;height:38px}.research-result-count{margin:0;color:var(--muted);font-size:.82rem}.research-result-count strong{color:var(--ink)}.research-method-list{display:grid;gap:.75rem}.research-method{padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.research-method-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.research-method-heading h2{margin:.1rem 0 .15rem;font-size:1.02rem}.research-tier{padding:.2rem .55rem;color:var(--accent);font-size:.72rem;font-weight:700;white-space:nowrap;border-radius:999px;background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}.research-method>p{margin:.8rem 0;color:var(--ink-soft);font-size:.875rem}.research-method-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm)}.research-method-details>div{padding:.75rem .85rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.research-method-details>div:nth-child(2n){border-right:0}.research-method-details>div:nth-last-child(-n+2){border-bottom:0}.research-method-details dt{margin-bottom:.25rem;color:var(--ink);font-size:.75rem;font-weight:700}.research-method-details dd{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.55}.research-basis{margin-top:1rem}.research-basis>strong{font-size:.8rem}.research-basis p{margin:.5rem 0 0;display:grid;gap:.2rem;color:var(--ink-soft);font-size:1rem}.research-basis a{width:fit-content;display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-weight:650;text-decoration:none}.research-basis a:hover{text-decoration:underline}.research-basis small{color:var(--ink-soft);font-size:1rem}.source-card{min-width:0;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.source-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.source-card h2{margin:.1rem 0;font-size:.975rem;overflow-wrap:anywhere}.source-card>p{margin:.75rem 0;color:var(--ink-soft);font-size:.84rem;line-height:1.6;white-space:pre-wrap}.source-card>small{display:block;margin-top:.75rem;color:var(--muted);font-size:.75rem}.source-type{color:var(--muted);font-size:.78rem;font-weight:500}.source-card-actions{display:flex;gap:.15rem;margin:-.3rem -.4rem 0 0}.source-card-actions a,.source-card-actions button{color:var(--muted);background:transparent;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.source-card-actions button:hover,.source-card-actions a:hover{color:var(--ink);background:var(--surface-muted)}.source-tags{display:flex;flex-wrap:wrap;gap:.35rem}.source-tags span{padding:.12rem .5rem;color:var(--ink-soft);font-size:.72rem;font-weight:600;border-radius:999px;background:var(--surface-muted)}.knowledge-empty{min-height:15rem;display:grid;place-content:center;justify-items:center;padding:2rem 1rem;color:var(--ink-soft);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);font-size:1rem}.knowledge-empty .empty-icon{margin-bottom:.9rem}.knowledge-empty h2{margin:0 0 .3rem;color:var(--ink);font-size:1rem}.knowledge-empty p{max-width:44ch;margin:0;font-size:.9rem}.source-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;padding:1rem;display:grid;place-items:center;background:#0e152580;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlay-enter var(--duration) var(--ease-out)}.source-editor{width:min(44rem,100%);max-height:calc(100vh - 2rem);padding:1.5rem;display:grid;gap:1rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-overlay);animation:dialog-enter .22s var(--ease-out)}.source-editor .section-head{display:flex;align-items:center;justify-content:space-between}.source-editor .section-head h2{margin:0;font-size:1.15rem}.source-editor label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.source-editor label small{color:var(--muted);font-size:.78rem;font-weight:400}.source-editor input,.source-editor select,.source-editor textarea{width:100%;padding:.55rem .7rem;color:var(--ink);font-size:.9rem;font-weight:400;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.source-editor .source-students-check{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:500}.source-editor .source-students-check input{width:auto}.source-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(9rem,1fr);gap:.75rem}.source-editor-actions{display:flex;gap:.5rem;padding-top:.25rem}@media (max-width: 760px){.source-list,.research-method-details,.source-editor-grid{grid-template-columns:minmax(0,1fr)}.research-method-details>div{border-right:0}.research-method-details>div:nth-last-child(2){border-bottom:1px solid var(--line)}.research-filters label{width:100%}.knowledge-toolbar{align-items:stretch;flex-direction:column}.assistant-message{width:96%}.assistant-workspace{min-height:calc(100vh - 9rem)}}::selection{color:var(--ink);background:#c8d3f9}.demo-feedback-link{border:0;background:transparent;font-family:inherit;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .65rem;border-radius:.5rem;color:inherit;font-size:.8125rem;font-weight:500;text-decoration:none}.demo-feedback-link svg{flex:none}.demo-feedback-link:hover{background:#7a8fb81f;text-decoration:underline;text-underline-offset:3px}.demo-feedback-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.app-sidebar>.demo-feedback-link{color:#cfd6e2;flex-shrink:0}.mobile-bar-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.mobile-bar-actions .demo-feedback-link>span{max-width:5.5rem;line-height:1.35}.feedback-dialog{width:min(820px,calc(100vw - 32px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--card);box-shadow:0 24px 80px #0f172940}.feedback-dialog::backdrop{background:#0f172980}.feedback-dialog-content{height:100%;display:flex;flex-direction:column}.feedback-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.feedback-dialog-header h2{margin:0;font-size:1rem}.feedback-dialog-header p{margin:4px 0 0;color:var(--muted);font-size:.8125rem}.feedback-dialog-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);cursor:pointer}.feedback-dialog-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feedback-survey{flex:1;min-height:0;overflow-y:auto;padding:24px}.feedback-survey form{display:grid;gap:20px}.feedback-survey [hidden]{display:none!important}.feedback-survey label{display:grid;gap:8px;font-size:.875rem;font-weight:600}.feedback-survey select,.feedback-survey textarea,.feedback-survey input:not([type=hidden]){width:100%;padding:11px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-weight:400}.feedback-survey textarea{resize:vertical}.feedback-survey :is(select,textarea,input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feedback-field-hint,.feedback-survey-note{color:var(--muted);font-size:.8125rem;font-weight:400;line-height:1.6}.feedback-survey-note{margin:0 0 4px}.feedback-required{color:var(--muted);font-size:.7rem;font-weight:400}.feedback-optional{border-top:1px solid var(--line);padding-top:16px}.feedback-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.feedback-submit-row small{color:var(--muted);font-size:.75rem}@media (max-width: 600px){.feedback-dialog{width:100%;height:100dvh;border:0;border-radius:0}.feedback-dialog-header{padding:12px 16px}}.app-frame{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;z-index:30;height:100vh;height:100dvh;overflow-y:auto;padding:1.1rem .8rem .9rem;display:flex;flex-direction:column;gap:1.1rem;color:#ebeef4;background:linear-gradient(180deg,var(--brand-navy) 0%,var(--brand-navy-deep) 100%);box-shadow:inset -1px 0 #ffffff0d;scrollbar-width:thin;scrollbar-color:hsl(0 0% 100% / .16) transparent}.app-sidebar :focus-visible{outline-color:var(--brand-mint)}.sidebar-brand,.mobile-brand{display:flex;align-items:center;gap:.65rem}.sidebar-brand{padding:.1rem .4rem .2rem}.app-brand-logo{display:block;width:4.5rem;height:auto;flex:none}.brand-mark{width:2rem;height:2rem;flex:none;display:inline-grid;place-items:center;color:var(--brand-navy);font-size:.95rem;font-weight:800;border-radius:.6rem;background:linear-gradient(155deg,#c7efe4,#97d3c6);box-shadow:inset 0 1px #ffffff8c,0 1px 2px #0c111d47}.sidebar-brand>span:nth-child(2),.mobile-brand>span:nth-child(2){min-width:0;display:flex;flex-direction:column;line-height:1.2}.sidebar-brand b,.mobile-brand b{font-size:1rem;font-weight:750;letter-spacing:-.015em}.mobile-brand small{margin-top:.15rem;color:var(--muted);font-size:.72rem}.sidebar-close{display:none;margin-left:auto;width:2.25rem;height:2.25rem;color:#bbc3d3;background:transparent;border:0;border-radius:.55rem;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.school-context{display:flex;align-items:center;gap:.65rem;padding:.6rem .65rem;border-radius:.8rem;background:#ffffff0e;box-shadow:inset 0 0 0 1px #ffffff12}.school-avatar{width:2rem;height:2rem;flex:none;display:grid;place-items:center;border-radius:.55rem;background:#ffffff1f;color:#fff;font-size:.85rem;font-weight:750}.school-context-copy,.account-copy{min-width:0;display:flex;flex-direction:column}.school-context-copy b{overflow-wrap:anywhere;font-size:.84rem;font-weight:650;line-height:1.3}.school-context-copy small{margin-top:.1rem;color:#a3adc2;font-size:.72rem}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{min-height:40px;display:grid;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.45rem .65rem;color:#b4bdcf;border-radius:.6rem;text-decoration:none;font-size:.86rem;font-weight:600;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff0f}.nav-icon{width:1.25rem;height:1.25rem;display:grid;place-items:center;transition:color var(--duration-fast) var(--ease-out)}.nav-item.active .nav-icon{color:var(--brand-mint)}.nav-count{min-width:1.5rem;padding:.05rem .42rem;color:var(--muted);background:var(--surface-muted);border-radius:999px;text-align:center;font-size:.7rem;font-weight:650;line-height:1.5;font-variant-numeric:tabular-nums}.nav-item .nav-count{color:#d2d8e5;background:#ffffff17}.nav-item.active .nav-count{color:var(--brand-navy);background:var(--brand-mint)}.name-avatar{display:inline-grid;flex:none;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;font-size:.75rem;font-weight:700;line-height:1;letter-spacing:.01em}.avatar-tone-0{color:#2a4c79;background:#dce9f9}.avatar-tone-1{color:#594280;background:#ebe4f6}.avatar-tone-2{color:#80492d;background:#fae6d6}.avatar-tone-3{color:#2c5e4a;background:#d8eee4}.account-card .name-avatar{width:2rem;height:2rem;font-size:.7rem}.sidebar-spacer{flex:1;min-height:.5rem}.invite-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .4rem .6rem .75rem;color:#a9b3c6;border-radius:.75rem;background:#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff12;font-size:.72rem}.invite-card>span{min-width:0;display:flex;flex-direction:column;gap:.3rem}.invite-card small{color:inherit;font-size:.72rem}.invite-card .code{width:fit-content;color:var(--brand-mint);background:#ffffff14}.account-card{display:flex;align-items:center;gap:.6rem;padding:.8rem .25rem 0;border-top:1px solid hsl(0 0% 100% / .08)}.account-copy{flex:1}.account-copy small{color:#9da8be;font-size:.7rem}.account-copy>span{overflow:hidden;margin-top:.05rem;color:#eceef4;font-size:.8rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.signout-button{flex:none;min-height:36px;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;color:#bbc3d3;border:0;border-radius:.5rem;background:transparent;cursor:pointer;font-size:.75rem;font-weight:600;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.signout-button:hover,.sidebar-close:hover{color:#fff;background:#ffffff14}.signout-button:disabled{cursor:progress;opacity:.7}.app-content{width:100%;max-width:1200px;min-width:0;margin:0 auto;padding:1.75rem 2.5rem 6rem;outline:none}.mobile-bar,.nav-overlay{display:none}.workspace-hero{padding-top:1.5rem}.empty-workspace{max-width:560px;margin:3rem auto 0;padding:3rem 2rem;text-align:center}.empty-workspace h2{margin:0 0 .4rem;font-size:1.125rem}.empty-workspace p{max-width:46ch;margin:0 auto 1.4rem}.empty-icon{width:3rem;height:3rem;display:grid;place-items:center;margin:0 auto 1.1rem;color:var(--accent);border-radius:.9rem;background:var(--accent-soft);box-shadow:inset 0 0 0 1px #3357cc1a}h1{font-size:1.75rem;font-weight:720;line-height:1.2;letter-spacing:-.022em;margin:0}h2{font-size:1.0625rem;font-weight:700;line-height:1.35;letter-spacing:-.012em;margin:0 0 1rem}h3{letter-spacing:-.006em}.muted{color:var(--muted)}.small{font-size:.85rem}.danger{color:var(--danger)}.hero{max-width:720px;margin:0 auto;text-align:center;padding:3.5rem 1rem 0}.hero h1{font-size:clamp(1.9rem,3vw,2.4rem);font-weight:750;letter-spacing:-.03em}.hero .muted{max-width:52ch;margin:.75rem auto 2rem;font-size:1rem}.dropzone{display:flex;flex-direction:column;gap:.5rem;align-items:center;padding:3rem 1.5rem;background:var(--card);border:1.5px dashed hsl(226 40% 78%);border-radius:var(--radius-lg);box-shadow:var(--shadow);cursor:pointer;transition:border-color var(--duration) var(--ease-out),background-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.dropzone:hover{border-color:var(--accent);background:#fafbfe;box-shadow:var(--shadow-raised)}.dropzone>svg{margin-bottom:.35rem;color:var(--accent)}.dropzone strong{color:var(--accent);font-size:1.05rem;font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;margin-bottom:1.75rem}.topbar h1{margin-bottom:.3rem}.topbar p{margin:0;font-size:.95rem}.topbar-actions{display:flex;gap:.5rem;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.5rem 1rem;color:#fff;font-size:.875rem;font-weight:650;line-height:1.25;text-decoration:none;border-radius:var(--radius-sm);border:1px solid hsl(226 58% 39%);background:var(--accent);box-shadow:inset 0 1px #ffffff24,0 1px 2px #14235238;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:hover{color:#fff;border-color:#223987;background:var(--accent-hover)}.btn:active:not(:disabled){transform:scale(.96)}.btn.ghost{color:var(--ink);border-color:var(--control-border);background:var(--card);box-shadow:0 1px 2px #0f17290d}.btn.ghost:hover{color:var(--ink);border-color:var(--control-border-hover);background:var(--surface-subtle)}.btn.small{min-height:36px;padding:.4rem .75rem;font-size:.8rem}.btn.small.ghost{color:var(--accent)}.btn.small.ghost:hover{color:var(--accent-hover);border-color:#b3bee6;background:var(--accent-soft)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.ghost.danger{color:var(--danger)}.btn.ghost.danger:hover{color:var(--danger);border-color:#f4c2c2;background:var(--danger-soft)}.btn.ghost:disabled:hover{border-color:var(--control-border);background:var(--card)}.btn:not(.ghost):disabled:hover{border-color:#2a459d;background:var(--accent)}.btn>svg{margin-inline:-.1rem}.stat{padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat>.muted{font-size:.8rem;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:720;line-height:1.1;letter-spacing:-.03em}.stat-value.danger{color:var(--danger)}.stat-value.good{color:var(--good)}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.settings-stack{display:flex;flex-direction:column;gap:1rem}.notice{position:relative;margin:1rem 0;padding:.75rem 1rem .75rem 2.6rem;color:var(--ink-soft);font-size:.9rem;line-height:1.5;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line)}.notice:before{content:"";position:absolute;top:.87rem;left:.95rem;width:1.1rem;height:1.1rem;background:var(--accent);-webkit-mask:var(--icon-info) center / contain no-repeat;mask:var(--icon-info) center / contain no-repeat}.notice.error{color:#952323;background:var(--danger-soft);border-color:#f7cfcf}.notice.error:before{background:var(--danger);-webkit-mask-image:var(--icon-alert);mask-image:var(--icon-alert)}.notice.good{color:#1b5f43;background:var(--good-soft);border-color:#bee4d2}details.notice{padding-left:1rem}details.notice:before{display:none}details.notice>summary{font-weight:650}.notice.good:before{background:var(--good);-webkit-mask-image:var(--icon-check);mask-image:var(--icon-check)}details:not(.review-student-details,.class-roster-student,.profile-class-card)>summary:before{content:"";display:inline-block;width:1em;height:1em;margin-right:.4em;vertical-align:-.14em;background:currentColor;opacity:.7;-webkit-mask:var(--icon-chevron-right) center / contain no-repeat;mask:var(--icon-chevron-right) center / contain no-repeat;transition:transform var(--duration) var(--ease-out)}details[open]:not(.review-student-details,.class-roster-student,.profile-class-card)>summary:before{transform:rotate(90deg)}summary{cursor:pointer}.icon-button{width:2.25rem;height:2.25rem;flex:none;display:inline-grid;place-items:center;padding:0;color:var(--muted);border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.icon-button:hover{color:var(--ink);background:var(--surface-muted)}.icon-button:disabled{opacity:.45;cursor:not-allowed}[aria-busy=true]>p.muted:only-child,p.muted[aria-busy=true]{display:flex;align-items:center;gap:.6rem;margin:0}[aria-busy=true]>p.muted:only-child:before,p.muted[aria-busy=true]:before{content:"";width:1rem;height:1rem;flex:none;border:2px solid var(--accent-soft-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.panel-empty{padding:2.25rem 1rem;text-align:center}.panel-empty h2,.panel-empty h3{margin:0 0 .35rem;font-size:1rem}.panel-empty p{max-width:44ch;margin:0 auto;font-size:.9rem}.linklike{padding:0;color:var(--accent);font:inherit;text-align:left;border:none;background:none;cursor:pointer}.linklike:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:.2em}.text-button{padding:.2rem 0;color:var(--accent);font-size:.8rem;font-weight:650;border:0;background:transparent;cursor:pointer}.text-button:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:.2em}.text-button.danger,.text-button.danger:hover{color:var(--danger)}.text-button:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.link-arrow{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-size:.84rem;font-weight:650;text-decoration:none}.link-arrow:hover{color:var(--accent-hover)}.link-arrow svg{transition:transform var(--duration) var(--ease-out)}.link-arrow:hover svg{transform:translate(2px)}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range]),select){min-height:40px;padding:.5rem .7rem;font-size:.9rem}:where(textarea){padding:.6rem .75rem;font-size:.9rem;line-height:1.55}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range]),select,textarea){border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card);color:var(--ink);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}:where(input:not([type=checkbox],[type=radio],[type=file],[type=range]),select,textarea):hover{border-color:var(--control-border-hover)}:where(input,select,textarea):disabled{cursor:not-allowed;opacity:.6}.privacy-confirm-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#0e152580;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlay-enter var(--duration) var(--ease-out)}.privacy-confirm{width:min(100%,540px);padding:clamp(1.4rem,4vw,2rem);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-overlay);animation:dialog-enter .22s var(--ease-out)}.privacy-confirm h2{margin-bottom:.6rem;font-size:1.25rem}.privacy-confirm p{margin:0;color:var(--ink-soft);line-height:1.55}.privacy-confirm ul{margin:1rem 0;padding-left:1.3rem;color:var(--ink-soft)}.privacy-confirm li+li{margin-top:.4rem}.privacy-confirm-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.5rem}.privacy-confirm-actions .btn{min-height:44px}.privacy-confirm-actions .btn:last-child{font-variant-numeric:tabular-nums}@keyframes overlay-enter{0%{opacity:0}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media (max-width: 520px){.privacy-confirm-actions{flex-direction:column-reverse}.privacy-confirm-actions .btn{width:100%}}.history-panel{display:grid;gap:.75rem;margin:0 0 1.1rem}.history-step{padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.history-step h2{margin:0 0 .25rem;font-size:1rem}.history-step p{max-width:720px;margin:0 0 .75rem}.history-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.history-form+.notice{margin:.75rem 0 0}.history-form label{display:grid;gap:.25rem;font-size:.85rem;font-weight:600}.history-form input{min-height:40px;padding:.45rem .75rem;color:var(--ink);border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card);transition:border-color var(--duration-fast) var(--ease-out)}.history-form input:hover{border-color:var(--control-border-hover)}.saved-assessments{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.saved-assessments>summary{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;font-weight:650}.saved-assessments>summary:before{margin-right:0}.saved-count{padding:.1rem .5rem;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);font-size:.78rem;font-variant-numeric:tabular-nums}.saved-assessments-body{padding:0 1rem .5rem;border-top:1px solid var(--line)}.saved-class-list{max-height:22rem;overflow-y:auto;margin:0;padding:0;list-style:none}.saved-class-list>li{display:grid;grid-template-columns:minmax(4rem,7rem) minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.saved-class-list>li:last-child{border-bottom:0}.saved-cycle-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.saved-cycle-list li{padding:.2rem .6rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);font-size:.82rem;font-variant-numeric:tabular-nums}.saved-cycle-list li.latest{border-color:var(--accent-soft-strong);background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .55rem;color:var(--ink-soft);background:var(--surface-muted);border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent);font-size:.72rem;font-weight:650;line-height:1.35;font-variant-numeric:tabular-nums}.action-title{font-weight:600;font-size:.95rem}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:3rem 1rem;background:radial-gradient(56rem 28rem at 50% -8%,hsl(226 80% 93% / .85),transparent 70%),var(--bg)}.auth-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);font-size:1.1rem;letter-spacing:-.015em}.auth-brand b{font-weight:750}.auth-brand .brand-mark{width:2.25rem;height:2.25rem;font-size:1.05rem;border-radius:.7rem}.auth-card{width:min(100%,420px);padding:2.25rem 2rem 2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.auth-card h1{font-size:1.5rem;text-align:center}.auth-intro{margin:.45rem 0 1.5rem;color:var(--muted);font-size:.925rem;text-align:center}.auth-card>.notice{margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:.9rem}.auth-form .btn{min-height:44px;margin-top:.35rem}.auth-switch{margin:1.35rem 0 0;color:var(--muted);font-size:.875rem;text-align:center}.auth-switch .linklike{font-weight:650}.auth-actions{display:flex;justify-content:center;gap:.5rem;margin-top:1.25rem}.auth-loading{display:inline-flex;align-items:center;gap:.6rem;margin:0;color:var(--muted);font-size:.9rem}.spinner{width:1rem;height:1rem;flex:none;border:2px solid var(--accent-soft-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field{display:grid;gap:.4rem;color:var(--ink-soft);font-size:.84rem;font-weight:650}.field input{width:100%;min-height:44px;padding:.6rem .8rem;color:var(--ink);font-size:.95rem;font-weight:500;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);box-shadow:0 1px 2px #0f17290a;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.field input:hover{border-color:var(--control-border-hover)}.field-hint{margin:-.25rem 0 0;color:var(--ink-soft);font-size:1rem}.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.code{padding:.08rem .4rem;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;font-weight:650;letter-spacing:.06em;background:var(--accent-soft);border-radius:var(--radius-xs)}.legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;color:var(--muted);font-size:.78rem}.legal-links a{color:inherit;text-decoration:none}.legal-links a:hover{color:var(--accent);text-decoration:underline}.sidebar-legal-links{justify-content:flex-start;padding:0 .65rem;color:#939eb4;font-size:.72rem}.sidebar-legal-links a:hover{color:#fff}.legal-shell{width:min(100% - 2rem,860px);min-height:100vh;margin:0 auto;padding:1.5rem 0 3rem}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.legal-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none}.legal-brand:hover{color:var(--ink)}.legal-brand>span:last-child{display:flex;flex-direction:column;line-height:1.2}.legal-brand b{font-size:1rem;font-weight:750;letter-spacing:-.015em}.legal-document{padding:clamp(1.5rem,5vw,3.5rem);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised)}.legal-eyebrow{margin:0 0 .6rem;color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.legal-document>h1{font-size:clamp(1.9rem,5vw,2.5rem);letter-spacing:-.03em}.legal-updated{margin:.6rem 0 1.75rem;color:var(--muted);font-size:.84rem}.legal-draft-note{margin-bottom:2.5rem;padding:1rem 1.1rem;color:#714214;border:1px solid hsl(38 70% 82%);border-radius:var(--radius-sm);background:var(--warn-soft);font-size:.9rem}.legal-draft-note strong{display:block;margin-bottom:.2rem}.legal-copy{color:var(--ink-soft);line-height:1.65}.legal-copy section+section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}.legal-copy h2{margin-bottom:.6rem;color:var(--ink);font-size:1.08rem}.legal-copy p{margin:.55rem 0 0}.legal-copy ul{margin:.65rem 0 0;padding-left:1.35rem}.legal-copy li+li{margin-top:.35rem}.legal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 0;color:var(--muted);font-size:.78rem}.followups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.followup{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;padding:.75rem .9rem;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm)}.followup.done{opacity:.7}.followup-main{min-width:12rem;flex:1}.followup-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.followup-controls input,.followup-controls select{font-size:.85rem;min-height:36px;padding:.4rem .55rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.followup-controls input[type=text]{width:8rem}.people-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1.5rem;padding:1.2rem 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.people-stats .stat{padding:0 1.5rem;background:transparent;border:0;border-radius:0;box-shadow:none}.people-stats .stat+.stat{border-left:1px solid var(--line)}.people-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:1.5rem;align-items:start}.people-panel,.groups-panel,.activity-panel{margin-bottom:1.5rem}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.panel-heading h2,.panel-heading p,.activity-panel h2{margin:0}.panel-heading p{margin-top:.25rem}.people-list,.group-list,.activity-list,.group-members ul{margin:0;padding:0;list-style:none}.people-list{display:flex;flex-direction:column}.person-row{padding:1.1rem 0;border-top:1px solid var(--line)}.person-row:last-child{padding-bottom:.25rem}.person-identity{display:flex;align-items:center;gap:.7rem}.person-avatar{width:2.25rem;height:2.25rem;flex:none;display:grid;place-items:center;color:var(--accent);font-size:.85rem;font-weight:700;border-radius:50%;background:var(--accent-soft)}.person-identity>span:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column}.person-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:650}.person-identity small{margin-top:.05rem;color:var(--muted);font-size:.75rem}.membership-status{flex:none;padding:.14rem .55rem;border-radius:999px;font-size:.72rem;font-weight:650;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}.membership-status.active{color:var(--good);background:var(--good-soft)}.membership-status.pending{color:var(--warn);background:var(--warn-soft)}.membership-status.inactive{color:var(--muted);background:var(--surface-muted)}.membership-status.rejected{color:var(--danger);background:var(--danger-soft)}.person-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.9rem 0 0 2.95rem}.person-controls label{display:flex;flex-direction:column;gap:.3rem;color:var(--ink-soft);font-size:.75rem;font-weight:650}.person-controls select,.create-group-form input,.rename-group-form input{min-width:0;min-height:38px;padding:.4rem .65rem;color:var(--ink);font-size:.85rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.request-controls{align-items:end}.request-actions{display:flex;align-items:end;gap:.45rem}.group-picker{min-width:0;margin:.8rem 0 0 2.95rem;padding:0;border:0}.group-picker legend{margin-bottom:.4rem;padding:0;color:var(--ink-soft);font-size:.75rem;font-weight:650}.group-picker label{display:inline-flex;align-items:center;gap:.4rem;margin:0 .4rem .4rem 0;padding:.28rem .65rem .28rem .5rem;font-size:.78rem;border:1px solid var(--control-border);border-radius:999px;background:var(--card);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.group-picker label:hover{border-color:var(--control-border-hover)}.group-picker label:has(input:checked){color:var(--accent);border-color:#395ac659;background:var(--accent-soft)}.group-picker label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.group-picker input:focus-visible{outline:none}.group-picker:disabled label{cursor:not-allowed;opacity:.6}.class-teacher-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;width:100%}.class-teacher-row .lead-toggle,.classes-panel .group-picker{margin-left:0}.archive-toggle{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);white-space:nowrap;font-size:.78rem;cursor:pointer}.create-group-form{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.create-group-form>label{display:block;margin-bottom:.4rem;color:var(--ink-soft);font-size:.78rem;font-weight:650}.create-group-form>div,.rename-group-form{display:flex;gap:.45rem}.create-group-form input,.rename-group-form input{flex:1}.group-list{display:flex;flex-direction:column;gap:.6rem}.group-card{padding:.85rem .95rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.group-card.archived{opacity:.72}.group-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.group-card-head>div:first-child{min-width:0;display:flex;flex-direction:column}.group-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:650}.group-actions{display:flex;gap:.75rem}.groups-empty{margin:1rem 0 0;font-size:.875rem}.group-members{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.group-members summary{width:fit-content;color:var(--accent);font-size:.78rem;font-weight:650}.group-members ul{margin-top:.45rem}.group-members li{display:flex;justify-content:space-between;gap:.6rem;padding:.3rem 0;color:var(--ink-soft);font-size:.8rem}.group-members small{color:var(--muted)}.activity-panel h2{margin-bottom:.8rem}.activity-list li{display:flex;flex-direction:column;gap:.15rem;padding:.65rem 0;border-top:1px solid var(--line);font-size:.82rem;line-height:1.45}.activity-list time{color:var(--muted);font-size:.72rem}@media print{body{background:#fff}.no-print{display:none!important}.app-frame{display:block}.app-content{max-width:none;padding:0}body.printing-review-brief *{visibility:hidden}body.printing-review-brief .review-brief-output,body.printing-review-brief .review-brief-output *{visibility:visible}body.printing-review-brief .review-brief-output{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:0;padding:0;color:#111}body.printing-review-brief .review-brief-document{max-width:none;margin:0;padding:0;color:#111;border:0;box-shadow:none}body.printing-review-brief .review-brief-confirmation,body.printing-review-brief .review-brief-edit-note,body.printing-review-brief .review-brief-output>button{display:none}}@media (max-width: 900px){.app-frame{display:block}.mobile-bar{position:sticky;top:0;z-index:20;min-height:60px;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;color:var(--ink);border-bottom:1px solid var(--line);background:#fbfaf8db;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}.mobile-brand small{max-width:min(45vw,calc(100vw - 245px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-button{width:2.5rem;height:2.5rem;display:grid;place-items:center;color:var(--ink);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);box-shadow:0 1px 2px #0f17290d;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.menu-button:hover{background:var(--surface-subtle)}.menu-button:active{transform:scale(.96)}.app-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(86vw,296px);height:100dvh;transform:translate(-105%);visibility:hidden;box-shadow:24px 0 60px -30px #05080fb3;transition:transform .26s var(--ease-out),visibility 0s linear .26s}.app-sidebar.open{transform:translate(0);visibility:visible;transition-delay:0s}.sidebar-close{display:grid;place-items:center}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;padding:0;border:0;background:#080c1673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;animation:overlay-enter var(--duration) var(--ease-out)}.app-content{max-width:none;padding:1.5rem 1.25rem 5rem}.people-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;flex-wrap:wrap}.topbar-actions .btn{flex:1;text-align:center}.people-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 0}.people-stats .stat:nth-child(3){border-left:0}.person-controls,.group-picker{margin-left:0}.person-controls{grid-template-columns:minmax(0,1fr)}.group-card-head{flex-direction:column}.group-actions{align-self:stretch}.rename-group-form{width:100%;flex-wrap:wrap}.empty-workspace{margin-top:2rem;padding:2.5rem 1.25rem}.legal-shell{width:min(100% - 1.25rem,880px);padding-top:.75rem}.legal-header{margin-bottom:.75rem}.legal-document{border-radius:var(--radius)}.legal-footer{justify-content:center}}.student-edit label,.note-form{display:flex;flex-direction:column;gap:.4rem;color:var(--ink-soft);font-size:.8rem;font-weight:650}.student-edit-actions{display:flex;gap:.5rem}.student-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.student-index>li+li{border-top:1px solid var(--line)}.student-index-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;color:var(--ink);text-align:left;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.student-index-row:hover{background:var(--surface-subtle)}.student-index-row:focus-visible{outline-offset:-2px}.student-index-name{font-weight:650}.student-profile .panel-heading{flex-wrap:wrap;align-items:center}.student-identity h2{margin:.25rem 0 .2rem;font-size:1.5rem;letter-spacing:-.025em}.student-identity p{margin:0}.student-identity .class-status+p{max-width:75ch;margin-top:.75rem;color:var(--ink-soft);line-height:1.6}.student-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.support-plan-sections{grid-template-columns:minmax(0,1fr)}.student-sections h3{margin:0 0 .65rem;font-size:.95rem}.student-sections h3~h3{margin-top:1.75rem}.student-followups,.student-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.student-followups li{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.student-notes li{padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.student-notes p{margin:0 0 .3rem}.student-note-heading{margin:1rem 0 .5rem;color:var(--muted);font-size:.78rem;font-weight:650}.student-note-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.source-observation-badge{color:var(--ink-soft);background:var(--card);text-transform:capitalize}.source-observations{margin-bottom:1rem}.note-form textarea,.student-edit input{padding:.6rem .75rem;color:var(--ink);font-size:.9rem;font-weight:400;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);resize:vertical}.student-edit input{min-height:40px}.note-form{margin-bottom:.9rem}.note-form .btn{align-self:flex-start}.student-edit{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.class-status{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 .35rem}.student-profile-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ai-summary{margin-top:1.5rem;padding:1rem 1.15rem;border:1px solid hsl(226 60% 50% / .12);border-radius:var(--radius);background:linear-gradient(180deg,#f6f8fe,#fbfcfe66),var(--card)}.ai-summary-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-summary-head h3{margin:0;font-size:.95rem}.ai-summary p{margin:.55rem 0 0;line-height:1.6}.ai-prediction{padding:.6rem .75rem;border-radius:var(--radius-sm);background:#fffc;box-shadow:inset 0 0 0 1px #3357cc1a}.case-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.case-index-row{width:100%;display:flex;flex-direction:column;gap:.3rem;padding:.75rem .9rem;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.case-index-row:hover{border-color:#405ebf4d;box-shadow:var(--shadow-raised)}.case-index-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.badge.tier-confirmed{background:var(--accent-soft);color:var(--accent)}.badge.tier-suggested{background:var(--warn-soft);color:var(--warn)}.badge.restricted{background:var(--danger-soft);color:var(--danger)}.case-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}.case-control{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle)}.case-control h3{margin:0 0 .35rem;font-size:.9rem}.case-control>p{margin:0 0 .85rem}.tier-buttons,.owner-buttons,.case-outcome-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.case-outcome{margin:1.5rem 0}.case-outcome form{display:grid;gap:.75rem}.case-outcome textarea{width:100%;padding:.65rem .75rem;line-height:1.55}.case-outcome label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.case-outcome input[type=date]{width:fit-content}.case-progress{padding:1.25rem 0;border-bottom:1px solid var(--line)}.case-progress h3{margin-top:0}.case-progress p{max-width:720px;margin:0 0 .6rem}.case-progress-class h4{margin:.9rem 0 .4rem;font-size:.9rem}.review-brief-tool{margin:2rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--line)}.review-brief-tool h3{display:flex;align-items:center;gap:.45rem;margin:0 0 .25rem;font-size:1.05rem}.review-brief-tool h3 svg{color:var(--accent)}.review-brief-audience{display:flex;gap:.35rem}.review-brief-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.review-brief-locked{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-subtle)}.review-brief-locked svg{flex:none;margin-top:.1rem}.review-brief-locked b{color:var(--ink)}.review-brief-locked p{margin:.15rem 0 0;font-size:.82rem}.review-brief-output{display:block;margin-top:1.25rem}.review-brief-document{max-width:58rem;margin:0 auto;padding:2.75rem 3rem;color:#1c2436;border:1px solid hsl(40 22% 84%);border-radius:var(--radius-xs);background:#fefefd;box-shadow:0 1px 2px #3930220f,0 20px 48px -12px #39302224}.review-brief-document header{padding-bottom:1.25rem;border-bottom:2px solid hsl(220 25% 20%)}.review-brief-document header>span{color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.review-brief-document h2{margin:.45rem 0 .25rem;font:700 1.6rem/1.25 ui-serif,Georgia,serif;letter-spacing:-.01em}.review-brief-document header p{margin:0;color:var(--muted);font-size:.85rem}.review-brief-document section{padding:1.15rem 0;border-bottom:1px solid hsl(40 18% 88%)}.review-brief-document h4{margin:0 0 .4rem;color:#223459;font-size:.78rem;letter-spacing:.01em}.review-brief-document section p{margin:0;font:.93rem/1.7 ui-serif,Georgia,serif;white-space:pre-wrap}.review-brief-document [contenteditable=true]{border-radius:3px;outline:0;transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.review-brief-document [contenteditable=true]:hover,.review-brief-document [contenteditable=true]:focus{background:#fcf7e3;box-shadow:0 0 0 4px #fcf7e3}.review-brief-document [contenteditable=true]:focus-visible{box-shadow:0 0 0 4px #fcf7e3,0 0 0 6px var(--accent-ring)}.review-brief-edit-note{max-width:58rem;margin:.75rem auto 0}.review-brief-confirmation{max-width:58rem;display:flex;align-items:flex-start;gap:.6rem;margin:1rem auto .9rem;padding:.85rem 1rem;color:var(--ink);font-size:.85rem;border-radius:var(--radius-sm);background:var(--surface-subtle);cursor:pointer}.review-brief-confirmation input{margin-top:.2rem}.review-brief-output>button{display:flex;margin-left:auto}.case-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.case-timeline li{position:relative;display:flex;flex-direction:column;gap:.1rem;padding:0 0 .9rem 1.25rem;font-size:.9rem}.case-timeline li:before{content:"";position:absolute;top:.45rem;left:0;width:8px;height:8px;border-radius:50%;background:var(--card);box-shadow:0 0 0 2px var(--chart-muted)}.case-timeline li:not(:last-child):after{content:"";position:absolute;top:1.05rem;bottom:.15rem;left:3px;width:2px;border-radius:1px;background:var(--line)}.case-timeline li:first-child:before{box-shadow:0 0 0 2px var(--accent)}.support-case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.new-case-panel{margin:1rem 0 1.25rem;padding:1.1rem 1.25rem;border:1px solid hsl(226 60% 50% / .25);border-radius:var(--radius);background:var(--surface-subtle);box-shadow:0 0 0 4px #5273e00f}.new-case-panel h3{margin:0 0 .25rem;font-size:1rem}.new-case-panel>p{margin:0 0 .75rem}.new-case-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.85rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.new-case-field textarea,.new-case-field select{width:100%;padding:.6rem .75rem;color:var(--ink);font:inherit;font-size:.9rem;font-weight:400;line-height:1.55;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.new-case-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.new-case-row .new-case-field{flex:1 1 200px}.new-case-check{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.55rem;color:var(--ink);font-size:.85rem}.new-case-actions{display:flex;gap:.5rem;margin-top:1rem}.case-action-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(10rem,1fr);gap:.75rem;align-items:end;margin:.75rem 0 1rem;padding:1rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.case-action-form>.btn{justify-self:start}.case-action-form label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.case-action-form input{font-weight:400}.support-workflow-tabs{display:flex;align-items:center;gap:.25rem;overflow-x:auto;margin:-.5rem 0 1.5rem;border-bottom:1px solid var(--line);scrollbar-width:none}.support-workflow-tab{position:relative;min-height:44px;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;flex-shrink:0;color:var(--muted);font:inherit;font-size:.875rem;font-weight:650;border:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.support-workflow-tab:after{content:"";position:absolute;right:.65rem;bottom:-1px;left:.65rem;height:2px;border-radius:2px 2px 0 0;background:transparent;transition:background-color var(--duration-fast) var(--ease-out)}.support-workflow-tab:hover,.support-workflow-tab.active{color:var(--ink)}.support-workflow-tab.active:after{background:var(--accent)}.support-workflow-tab:focus-visible{outline-offset:-2px}.support-workflow-tab .nav-count{color:var(--muted);background:var(--surface-muted)}.support-workflow-tab.active .nav-count{color:var(--accent);background:var(--accent-soft)}.meeting-workspace{display:grid;gap:1.25rem}.meeting-list-section h3,.meeting-past summary{margin:0 0 .75rem;font-size:.95rem;font-weight:650}.meeting-selected-students summary{width:fit-content;min-height:44px;padding-block:.65rem;color:var(--muted);font-size:.875rem}.meeting-past summary{width:fit-content;min-height:44px;padding-block:.65rem}.meeting-list-section h3 span,.meeting-past summary span{font-weight:500;font-variant-numeric:tabular-nums}.meeting-card:has(.meeting-card-open:hover){border-color:#405ebf4d;box-shadow:var(--shadow-raised)}.meeting-toolbar,.meeting-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.meeting-toolbar h2,.meeting-toolbar p,.meeting-empty h3,.meeting-empty p,.meeting-detail-header h2,.meeting-detail-header p,.meeting-notes-section>div>h3,.meeting-notes-section>div>p{margin:0}.meeting-toolbar h2{font-size:1.125rem}.meeting-toolbar p{margin-top:.2rem}.meeting-invitation{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;color:#20326f;border:1px solid hsl(226 60% 50% / .2);border-radius:var(--radius);background:var(--accent-soft)}.meeting-invitation>svg{flex:none;margin-top:.1rem;color:var(--accent)}.meeting-invitation p{margin:.2rem 0 0;font-size:.84rem}.meeting-list{list-style:none;display:grid;gap:.6rem;margin:0;padding:0}.meeting-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem .85rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.meeting-card-open{min-width:0;display:grid;grid-template-columns:13.5rem minmax(0,1fr);align-items:stretch;gap:1rem;padding:0;color:inherit;font:inherit;text-align:left;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.meeting-date-block{display:grid;grid-template-columns:3.1rem minmax(0,1fr);align-content:center;gap:.2rem .7rem;padding:.25rem;color:var(--ink);border-radius:var(--radius-sm);background:transparent}.meeting-date-block b{font-size:.875rem;font-weight:650}.meeting-date-block span{font-size:.78rem}.meeting-calendar-stamp{display:flex;flex-direction:column;align-items:center;overflow:hidden;border-radius:10px;background:var(--card);box-shadow:0 0 0 1px #4d64b32e,0 1px 2px #0f17290f}.meeting-calendar-stamp small{width:100%;padding:.15rem .25rem;color:#fff;text-align:center;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent)}.meeting-calendar-stamp strong{padding:.1rem .35rem .2rem;font-size:1.3rem;font-weight:720;line-height:1.4;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.is-draft .meeting-calendar-stamp{display:grid;min-height:3.4rem;place-items:center;color:var(--warn);background:var(--warn-soft);box-shadow:0 0 0 1px #c3832233}.meeting-date-copy{display:flex;flex-direction:column;justify-content:center;gap:.15rem}.meeting-date-copy>span{color:var(--muted)}.meeting-card-main{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.meeting-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:700}.badge.meeting-scheduled{color:var(--accent);background:var(--accent-soft)}.badge.meeting-completed{color:var(--good);background:var(--good-soft)}.badge.meeting-draft{color:var(--warn);background:var(--warn-soft)}.meeting-empty{display:flex;align-items:center;gap:1rem}.meeting-empty .empty-icon{flex:none;margin:0}.meeting-choice-list{max-height:18rem;overflow:auto}.meeting-choice-list>label{min-height:48px;display:flex;align-items:flex-start;gap:.7rem;padding:.6rem .45rem;border-bottom:1px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.meeting-choice-list>label:hover{background:var(--surface-subtle)}.meeting-choice-list>label:last-child{border-bottom:0}.meeting-choice-list input{margin-top:.25rem}.meeting-choice-list label>span{min-width:0;display:flex;flex-direction:column;gap:.1rem}.meeting-choice-list b{max-width:100%;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.meeting-choice-list small{color:var(--muted);font-size:.75rem}.meeting-schedule-fields{display:grid;grid-template-columns:minmax(0,1fr) 10rem;gap:.75rem}.meeting-schedule-fields label,.meeting-note-form label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.meeting-schedule-fields input,.meeting-schedule-fields select,.meeting-note-form select,.meeting-note-form textarea{width:100%;padding:.55rem .7rem;color:var(--ink);font:inherit;font-size:.9rem;font-weight:400;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.meeting-detail{display:grid;gap:1rem}.meeting-detail-toolbar>div{display:flex;flex-wrap:wrap;gap:.5rem}.meeting-detail-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 1.35rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(120% 140% at 0% 0%,hsl(226 90% 97%),transparent 55%),var(--card);box-shadow:var(--shadow)}.meeting-detail-header h2{font-size:1.25rem;letter-spacing:-.02em}.meeting-detail-header p{margin-top:.2rem}.meeting-detail-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;color:var(--accent);border-radius:.85rem;background:var(--accent-soft);box-shadow:inset 0 0 0 1px #3357cc1a}.meeting-detail-header .muted{color:var(--muted)}.meeting-detail-section{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.meeting-detail-section>h3,.meeting-detail-section .section-head h3{margin:0;font-size:1rem}.meeting-detail-section .section-head p{margin:.2rem 0 0}.meeting-agenda-copy{max-width:80ch;margin:.6rem 0 0;white-space:pre-wrap}.meeting-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.9rem}.meeting-student-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-student-card>div{min-width:0;display:flex;flex-direction:column;gap:.1rem;overflow-wrap:anywhere}.meeting-student-card>button{flex-shrink:0}@media (max-width: 760px){.meeting-student-grid{grid-template-columns:minmax(0,1fr)}}.meeting-attendee-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.9rem 0 0;padding:0}.meeting-attendee-list li{min-width:0;display:flex;align-items:center;gap:.6rem}.meeting-attendee-list li>span:last-child{min-width:0;display:flex;flex-direction:column}.meeting-attendee-list b{overflow:hidden;font-size:.82rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.meeting-attendee-list small{color:var(--muted);font-size:.72rem}.staff-avatar{width:2rem;height:2rem;flex:none;display:grid;place-items:center;color:var(--accent);font-size:.75rem;font-weight:700;border-radius:50%;background:var(--accent-soft)}.meeting-note-form{display:grid;grid-template-columns:12rem minmax(0,1fr) auto;align-items:end;gap:.75rem;margin-top:.9rem;padding:.9rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-notes-empty{margin:1rem 0 0}.meeting-notes-list{list-style:none;display:grid;gap:.65rem;margin:1rem 0 0;padding:0}.meeting-notes-list li{padding:.85rem .95rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-notes-list p{margin:.35rem 0 0;white-space:pre-wrap}@media (max-width: 760px){.case-action-form{grid-template-columns:minmax(0,1fr);align-items:stretch}}.meeting-preparation-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.meeting-preparation-steps>span{min-height:54px;display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;color:var(--muted);font-size:.82rem;font-weight:650;border-right:1px solid var(--line)}.meeting-preparation-steps>span:last-child{border-right:0}.meeting-preparation-steps b{width:1.6rem;height:1.6rem;display:grid;flex:none;place-items:center;font-size:.75rem;font-variant-numeric:tabular-nums;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-strong)}.meeting-preparation-steps .complete{color:var(--ink-soft)}.meeting-preparation-steps .complete b{color:#fff;background:var(--good);box-shadow:none}.meeting-preparation-steps b svg{stroke-width:2.75}.meeting-preparation-steps .active{color:var(--accent);background:var(--accent-soft)}.meeting-preparation-steps .active b{color:#fff;background:var(--accent);box-shadow:0 0 0 3px #5273e033}.meeting-agenda-document{padding:1.5rem 1.75rem;border-color:var(--line);background:var(--card)}.meeting-agenda-document .meeting-agenda-copy{font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.75}.meeting-edit-form{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.meeting-edit-form>.section-head,.meeting-edit-agenda,.meeting-edit-form>.notice,.meeting-edit-actions{grid-column:1 / -1}.meeting-edit-form .section-head h3,.meeting-edit-form .section-head p{margin:0}.meeting-edit-form fieldset{min-width:0;margin:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.meeting-edit-form legend{padding:0 .3rem;color:var(--ink);font-size:.85rem;font-weight:700}.meeting-edit-agenda{display:grid;gap:.4rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.meeting-edit-agenda textarea{width:100%;min-height:18rem;padding:1rem 1.1rem;resize:vertical;color:var(--ink);font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.7;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card)}.meeting-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.review-queue,.student-plans-stage{display:grid;gap:1rem}.review-queue-head,.student-plans-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:0 0 .5rem}.review-queue-head h2,.student-plans-head h2{margin:0 0 .3rem;font-size:1.125rem}.review-queue-head p,.student-plans-head p{max-width:720px;margin:0}.review-selection-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.75rem;color:var(--muted);font-size:.84rem;font-variant-numeric:tabular-nums}.review-student-list,.student-plan-index{display:grid;gap:.6rem;padding:0;margin:0;list-style:none}.review-student{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.review-student:has(.review-student-select input:checked){border-color:#304fb58c;box-shadow:0 0 0 3px #5273e01f,var(--shadow)}.review-student-summary{display:grid;grid-template-columns:48px minmax(0,1fr)}.review-student-select{display:flex;align-items:flex-start;justify-content:center;padding-top:1.45rem;border-radius:var(--radius) 0 0 var(--radius);cursor:pointer}.review-student-select input{width:18px;height:18px;cursor:pointer}.review-student-main{min-width:0;padding:1rem 1.1rem .4rem .35rem}.review-student-title,.student-plan-title{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.review-student-title h3{margin:0;font-size:1.05rem;font-weight:700}.review-student-main>.muted.small{margin:.4rem 0 0}.badge.review-priority.urgent{color:var(--danger);background:var(--danger-soft)}.badge.review-priority.recommended{color:var(--warn);background:var(--warn-soft)}.badge.review-priority.monitor{color:#314f72;background:#ecf2f9}.review-selection-reason{max-width:920px;margin:.6rem 0 .75rem;color:var(--ink-soft)}.review-also-below{max-width:920px;margin:-.25rem 0 .75rem}.area-pattern-list{display:grid;gap:.6rem;max-width:920px;padding:0;margin:0 0 .6rem;list-style:none;font-size:.9rem;line-height:1.45}.area-pattern-list li{display:grid;gap:2px}.area-pattern-list li>span{color:var(--muted)}.area-pattern-results{color:var(--ink);font-variant-numeric:tabular-nums}.review-student-details{container:review-evidence / inline-size;border-top:1px solid var(--line)}.review-student-details[open]{padding-bottom:.9rem}.review-student-details summary{display:flex;align-items:center;gap:.45rem;width:fit-content;min-height:44px;padding:.55rem 0;color:var(--ink-soft);font-size:.85rem;font-weight:650}.review-student-details summary:hover{color:var(--accent)}.review-student-details summary svg{transition:transform var(--duration) var(--ease-out)}.review-student-details[open] summary svg{transform:rotate(180deg)}.review-dossier{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem;padding:.4rem 0 .2rem}.review-dossier h4{margin:0 0 .65rem;color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.review-smart-summary{display:grid;gap:.5rem;max-width:74ch;padding-left:1rem;color:var(--ink-soft);font-size:.875rem;line-height:1.6;border-left:2px solid var(--accent-soft-strong)}.review-smart-summary h4{margin-bottom:.1rem}.review-smart-summary>div{display:grid;gap:.5rem}.review-smart-summary>div.clamped{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.review-smart-summary p{margin:0}.review-smart-summary .text-button{justify-self:start}.review-dossier-lead{display:grid;align-content:start;gap:1.5rem;min-width:0}.review-suggestions{max-width:74ch;font-size:.875rem;line-height:1.5}.review-suggestions ol{display:grid;gap:.85rem;margin:0 0 .85rem;padding:0;list-style:none}.review-suggestions p{margin:0;color:var(--ink-soft)}.review-suggestions .review-suggestion-title{color:var(--ink);font-weight:650}.review-suggestions .review-suggestion-meta,.review-suggestions .review-suggestions-status{color:var(--muted);font-size:.8rem}.review-dossier-rail{display:grid;align-content:start;gap:1.6rem;min-width:0;font-size:.84rem;line-height:1.5}.review-rail-empty{margin:0;color:var(--muted)}.review-notes{display:grid;gap:.85rem;margin:0;padding:0;list-style:none}.review-note-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.review-note-head b{font-weight:650}.review-note-head b:first-letter{text-transform:uppercase}.review-note-head time{color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums;white-space:nowrap}.review-notes p{margin:.15rem 0 0;color:var(--ink-soft)}.review-context{display:grid;gap:.9rem;margin:0}.review-context dt{color:var(--muted);font-size:.76rem;font-weight:650}.review-context dd{margin:.15rem 0 0}.review-context dd small{display:block;color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}.review-context-score{display:flex;justify-content:space-between;gap:.75rem}.review-context-score b{font-weight:650;font-variant-numeric:tabular-nums}.review-grades{container:review-grades / inline-size;display:grid;gap:1.4rem;min-width:0}.review-grades>h4{margin-bottom:-.6rem}.review-class>header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-strong)}.review-class h5{margin:0;font-size:.95rem;font-weight:700}.review-class-average{color:var(--muted);font-size:.8rem;white-space:nowrap}.review-class-average b{margin-left:.3rem;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.review-flags{display:grid;gap:.3rem;margin:.65rem 0 .2rem;padding:0;list-style:none;font-size:.84rem}.review-flags li{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .75rem;padding-left:.95rem}.review-flags li:before{content:"";position:absolute;top:.5em;left:.1rem;width:6px;height:6px;border-radius:50%;background:var(--chart-urgent)}.review-flags strong{font-weight:650}.review-flag-results{font-variant-numeric:tabular-nums}.review-flag-pattern{color:var(--ink-soft);font-size:1rem}.review-assessments{margin:0;padding:0;list-style:none}.review-assessments>li{display:grid;grid-template-columns:minmax(0,1fr);gap:.4rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.review-assessments>li:last-child{border-bottom:0}.review-assessment-name{display:grid;gap:.1rem;min-width:0;overflow-wrap:anywhere}.review-assessment-name strong{font-size:.86rem;font-weight:650}.review-assessment-name small{color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}.review-results{display:grid;align-content:center;gap:.45rem;margin:0;padding:0;list-style:none}.review-results li{display:grid;grid-template-columns:minmax(3rem,1fr) auto;grid-template-areas:"meter value";align-items:center;column-gap:.75rem}.review-results li:has(.review-result-label){grid-template-areas:"label label" "meter value"}.review-result-label{grid-area:label;min-width:0;color:var(--ink-soft);font-size:.8rem;overflow-wrap:anywhere}.review-meter{grid-area:meter;position:relative;height:6px;border-radius:999px;background:var(--surface-muted)}.review-meter-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--chart-muted-hover)}.review-results li.below .review-meter-fill{background:var(--chart-urgent)}.review-meter-target{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink-soft);opacity:.5}.review-result-value{grid-area:value;min-width:3.4rem;font-size:.82rem;font-weight:650;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.review-rubric{font-size:.82rem}.review-rubric>summary{padding:.45rem 0;color:var(--ink-soft);font-weight:650}.review-rubric>summary:hover{color:var(--accent)}.review-rubric-criterion{margin:.35rem 0 .9rem}.review-rubric h6{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;margin:0 0 .4rem;font-size:.82rem;font-weight:650}.review-rubric h6 span{color:var(--muted);font-size:.76rem;font-weight:500}.review-rubric ol{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.review-rubric ol li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.5rem;color:var(--ink-soft);line-height:1.45;font-size:1rem}.review-rubric ol li b{font-variant-numeric:tabular-nums;text-align:right}.review-rubric ol li.expected,.review-rubric ol li.latest{color:var(--ink)}.review-rubric em{margin-left:.45rem;color:var(--good);font-size:.72rem;font-style:normal;font-weight:700;white-space:nowrap}.review-rubric em.latest{color:var(--danger)}@container review-grades (min-width: 30rem){.review-assessments>li{grid-template-columns:minmax(9rem,1fr) minmax(0,1.55fr);column-gap:1.5rem}.review-results li:has(.review-result-label){grid-template-columns:minmax(0,1.2fr) minmax(3rem,1fr) auto;grid-template-areas:"label meter value"}}@container review-evidence (min-width: 30rem) and (max-width: 47.99rem){.review-dossier-rail{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}}@container review-evidence (min-width: 48rem){.review-dossier{grid-template-columns:minmax(0,1fr) 15rem;grid-template-areas:"summary rail" "grades rail";column-gap:2.25rem}.review-dossier.without-summary{grid-template-areas:"grades rail"}.review-dossier-lead{grid-area:summary}.review-grades{grid-area:grades}.review-dossier-rail{grid-area:rail;padding-left:1.5rem;border-left:1px solid var(--line)}}.student-plan-index .case-index-row{align-items:flex-start;gap:.6rem;padding:1rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow)}.student-plan-index .case-index-main{display:grid;gap:.45rem;width:100%}.student-plan-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink-soft);font-size:.9rem;line-height:1.6}.case-recommendations{margin-top:1.5rem;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-recommendations h3{margin:0 0 .25rem;font-size:1rem}.case-recommendations p{margin-top:0}.case-recommendations ol{display:grid;gap:.55rem;margin-bottom:0;padding-left:1.5rem}.case-recommendations li::marker{color:var(--accent);font-weight:700}.case-research-reasoning{padding:1.25rem 0;border-bottom:1px solid var(--line)}.case-research-heading,.case-research-method-title{display:flex;align-items:flex-start;gap:.65rem}.case-research-heading>svg{margin-top:.1rem;color:var(--accent)}.case-research-heading h3,.case-research-heading p,.case-research-method h4,.case-research-method p{margin-top:0}.case-research-heading h3{margin-bottom:.2rem;font-size:1rem}.case-research-methods{display:grid;gap:1.1rem;margin-top:1rem}.case-research-method{padding-left:1rem;border-left:2px solid var(--accent-soft-strong)}.case-research-method-title{justify-content:space-between}.case-research-method h4{margin-bottom:.5rem;font-size:.975rem}.case-research-method b{font-size:.82rem}.case-research-method ul{display:grid;gap:.3rem;margin:.35rem 0 .75rem;padding-left:1.35rem}.badge.research-fit-strong{color:var(--good);background:var(--good-soft)}.badge.research-fit-partial{color:var(--warn);background:var(--warn-soft)}.case-research-caution{color:var(--ink-soft);font-size:1rem}.tier-inline-suggestion{display:inline-block;padding:.05rem .45rem;color:var(--warn);font-weight:750;border-radius:var(--radius-xs);background:var(--warn-soft);box-shadow:inset 0 0 0 1px #c3832240}.badge.plan-meeting_scheduled{color:var(--accent);background:var(--accent-soft)}.badge.plan-decisions_needed,.badge.plan-review_due{color:var(--warn);background:var(--warn-soft)}.badge.plan-support_active{color:var(--good);background:var(--good-soft)}.progress-review{padding:1.1rem 1.25rem;border:1px solid hsl(36 70% 45% / .2);border-radius:var(--radius);background:var(--warn-soft)}.progress-review h3{margin:0 0 .25rem;font-size:1rem}.meeting-preparation-form{display:grid;gap:1.2rem;padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.meeting-preparation-form h3,.meeting-preparation-form p{margin:0}.meeting-preparation-form h3+p{margin-top:.4rem}.meeting-preparation-form h3[tabindex="-1"]{outline:none;scroll-margin-top:5rem}.meeting-preparation-form fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.meeting-preparation-form legend{padding:0 .35rem;font-size:.85rem;font-weight:650}.meeting-step-actions,.meeting-draft-choice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.meeting-step-actions>.btn:last-child{margin-left:auto}.meeting-topic-choices{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-bottom:.6rem}.meeting-topic-choices label,.meeting-review-check{display:flex;align-items:center;gap:.6rem;min-height:44px;font-size:.85rem;cursor:pointer}.meeting-review-check{grid-column:1 / -1;align-items:flex-start;padding:.8rem;background:var(--surface-subtle);border-radius:var(--radius-sm)}.meeting-review-check input{margin-top:.2rem;flex-shrink:0}.meeting-field{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.meeting-field textarea{width:100%;padding:.75rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.6;resize:vertical}.meeting-brief-field textarea{min-height:22rem;font-weight:400;line-height:1.7}.meeting-field>.muted{font-weight:400;font-variant-numeric:tabular-nums}.meeting-topic-summary summary{width:fit-content;padding-block:.6rem;min-height:44px;cursor:pointer;font-size:.85rem;font-weight:600}.meeting-topic-summary li{margin-bottom:.45rem;font-size:.85rem}.meeting-draft-choice{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-draft-choice>div{flex:1 1 22rem}.meeting-draft-choice p+p{margin-top:.35rem}.meeting-draft-preview{padding:1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.meeting-draft-preview h4{margin:0 0 .4rem}.meeting-draft-preview pre{max-height:28rem;overflow:auto;white-space:pre-wrap;font:inherit;font-size:.9rem}@media (max-width: 760px){.meeting-preparation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-preparation-steps>span{padding:.6rem .75rem;font-size:.78rem}.meeting-preparation-steps>span:nth-child(2){border-right:0}.meeting-preparation-steps>span:nth-child(-n+2){border-bottom:1px solid var(--line)}.meeting-preparation-form{padding:1rem}.meeting-preparation-form .meeting-schedule-fields{grid-template-columns:minmax(0,1fr)}}.meeting-wrap-up{grid-template-columns:minmax(0,1fr);max-width:780px}.meeting-wrap-up .meeting-choice-list{max-height:none}.meeting-wrap-up>label,.meeting-wrap-up fieldset>label:has(textarea){display:grid;gap:.4rem}.meeting-wrap-up textarea{width:100%;min-height:5rem;padding:.75rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;resize:vertical}.meeting-wrap-up .meeting-edit-actions{gap:.65rem;flex-wrap:wrap}.meeting-outcome-summary h3{margin-top:0}.badge.meeting-postponed{background:var(--surface-subtle);color:var(--muted)}@media (max-width: 760px){.review-selection-summary{width:100%;justify-content:space-between}.meeting-toolbar,.meeting-detail-toolbar,.meeting-detail-toolbar>div{flex-wrap:wrap;gap:.5rem}.meeting-toolbar>div{flex-basis:100%}.meeting-card,.meeting-card-open,.meeting-edit-form,.meeting-note-form,.meeting-attendee-list{grid-template-columns:minmax(0,1fr)}.meeting-card{gap:.6rem;padding:.85rem}.meeting-card-open{gap:.6rem}.meeting-card>.btn{justify-self:start}.meeting-date-block{padding:.6rem}.meeting-detail-header{grid-template-columns:minmax(0,1fr) auto}.meeting-detail-icon{display:none}.meeting-detail-header h2{font-size:1.2rem}.meeting-student-card{flex-wrap:wrap}.meeting-agenda-document{padding:1rem}.meeting-schedule-fields{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.directory-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem}.directory-toolbar>label{display:grid;gap:.4rem;min-width:140px;color:var(--ink-soft);font-size:.78rem;font-weight:650}.directory-toolbar input,.directory-toolbar select{width:100%;min-height:40px;margin:0;padding:.55rem .75rem;color:var(--ink);font:inherit;font-size:.875rem;font-weight:500;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card);box-shadow:0 1px 2px #0f17290a}.directory-toolbar .btn{min-height:40px}.directory-toolbar .directory-search{flex:1;min-width:min(250px,100%)}.directory-search>span{position:relative;display:flex;align-items:center}.directory-search svg{position:absolute;left:12px;color:var(--faint);pointer-events:none}.directory-search input{padding-left:38px}.directory-search input::-webkit-search-cancel-button{cursor:pointer}.directory-results{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.directory-empty{padding:2.5rem 1rem;text-align:center;color:var(--ink-soft);background:var(--surface-subtle);border-radius:var(--radius-sm);font-size:1rem}.grade-group+.grade-group{margin-top:2rem}.grade-group h2{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.25rem;padding-bottom:.7rem;border-bottom:1px solid var(--line);font-size:1rem}.grade-group h2>span{color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:0}.class-directory-head,.class-directory-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 150px 90px 18px;align-items:center;gap:1rem;padding:.85rem .75rem}.class-directory-head{padding-block:.6rem;color:var(--muted);font-size:.72rem;font-weight:650}.class-directory-row{width:100%;color:var(--ink);font:inherit;font-size:.875rem;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.class-directory-row:hover{background:var(--surface-subtle)}.class-directory-row>svg{color:var(--faint);transition:color var(--duration-fast) var(--ease-out),transform var(--duration) var(--ease-out)}.class-directory-row:hover>svg{color:var(--accent);transform:translate(2px)}.class-directory-row:focus-visible{outline-offset:-2px;border-radius:var(--radius-sm)}.directory-class-name{display:flex;align-items:center;gap:.85rem;min-width:0}.directory-class-name strong{font-weight:650;overflow-wrap:anywhere}.directory-class-name small{display:block;margin-top:.15rem;color:var(--muted);font-size:.75rem}.class-directory-row b{font-weight:600;font-variant-numeric:tabular-nums}.directory-average{font-variant-numeric:tabular-nums}.class-directory-row .badge{justify-self:start}.mobile-column-label{display:none}.badge.urgent{background:var(--danger-soft);color:var(--danger)}.badge.recommended{background:var(--warn-soft);color:var(--warn)}.badge.monitor{background:var(--accent-soft);color:var(--accent)}.badge.clear,.badge.unknown{background:var(--surface-muted);color:var(--muted)}.badge.good{background:var(--good-soft);color:var(--good)}.student-directory .student-index-row{display:flex;align-items:center;gap:.9rem;padding:.8rem .75rem}.student-directory-identity{flex:1;display:grid;gap:.15rem;text-align:left;min-width:0;overflow-wrap:anywhere}.student-directory .badge{white-space:normal;text-align:center}.school-dashboard{display:grid;gap:1.25rem}.dashboard-scope{margin:-.75rem 0 0;color:var(--muted);font-size:.8rem}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:1.35rem 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dashboard-metrics>div{display:grid;align-content:start;gap:.5rem;padding:0 1.5rem}.dashboard-metrics>div+div{border-left:1px solid var(--line)}.dashboard-metrics>div>span{color:var(--ink-soft);font-size:.82rem;font-weight:650}.dashboard-metrics strong{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:2.25rem;font-weight:720;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.dashboard-metrics small{color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:normal}.dashboard-metrics strong small{padding:.2rem .55rem;color:var(--warn);font-size:.75rem;font-weight:650;background:var(--warn-soft);border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}.dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem}.school-dashboard .panel{margin:0}.dashboard-section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.dashboard-section-heading h2{margin:0 0 .3rem}.dashboard-section-heading p{margin:0}.dashboard-section-heading .link-arrow{flex:none;margin-top:.15rem}.review-queue-link{margin-top:.25rem}.legend-dot.urgent{background:var(--chart-urgent)}.legend-dot.recommended{background:var(--chart-recommended)}.legend-dot.clear{background:var(--chart-clear)}.legend-dot.unknown{background:repeating-linear-gradient(135deg,#e3e7ed 0,#e3e7ed 4px,#b4bdca 4px,#b4bdca 6px)}.review-legend{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:.35rem}.review-legend li{display:grid;grid-template-columns:10px 1fr 36px 44px;gap:.7rem;align-items:center;padding:.45rem 0;font-size:.84rem}.review-legend li+li{border-top:1px solid var(--line)}.legend-dot{width:10px;height:10px;border-radius:3px}.review-legend strong,.review-legend small{text-align:right;font-variant-numeric:tabular-nums}.review-legend strong{font-weight:650}.review-legend small{color:var(--muted);font-size:.75rem}.school-dashboard .dashboard-next{display:flex;flex-direction:column;align-items:start;gap:.9rem;border-color:#3357cc1f;background:radial-gradient(120% 80% at 100% 0%,hsl(226 90% 97%),transparent 60%),var(--accent-soft);box-shadow:none}.dashboard-eyebrow{color:var(--accent);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.dashboard-next h2{max-width:24ch;margin:0;font-size:1.3rem;line-height:1.35;letter-spacing:-.02em}.dashboard-next p{margin:0;color:var(--ink-soft);font-size:.875rem;line-height:1.7}.dashboard-focus-note{display:flex;align-items:center;gap:.85rem;width:100%;padding:.9rem 1rem;border-radius:var(--radius-sm);background:#ffffffb3;box-shadow:inset 0 0 0 1px #3357cc1a}.dashboard-focus-note strong{color:var(--accent);font-size:1.75rem;font-weight:720;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.dashboard-focus-note span{max-width:26ch;color:var(--ink-soft);font-size:.82rem;line-height:1.45}.dashboard-next .link-arrow{margin-top:auto}.skill-areas-grade{display:grid;gap:.35rem;font-size:.85rem}.skill-areas-grade select{min-height:40px;padding:.45rem .75rem;color:var(--ink);border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card);transition:border-color var(--duration-fast) var(--ease-out)}.skill-areas-grade select:hover{border-color:var(--control-border-hover)}.skill-area-list{padding:0;margin:.5rem 0 1rem;list-style:none;border-top:1px solid var(--line)}.skill-area-list>li{border-bottom:1px solid var(--line)}.skill-area summary{display:grid;grid-template-columns:18px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr);align-items:baseline;gap:.75rem;min-height:44px;padding:.75rem 0;cursor:pointer;list-style:none;font-size:.9rem}.skill-area summary::-webkit-details-marker{display:none}details.skill-area>summary:before{content:none}.skill-area summary svg{align-self:center;transition:transform var(--duration) var(--ease-out)}.skill-area[open] summary svg{transform:rotate(180deg)}.skill-area-name{font-weight:650;overflow-wrap:anywhere}.skill-area-share strong{font-variant-numeric:tabular-nums}.skill-area-meta{color:var(--muted);font-size:.85rem}.skill-area-body{display:grid;gap:1rem;padding:0 0 1rem 1.9rem}.skill-area-body p{margin:0}.skill-area-class h4{margin:0 0 .4rem;font-size:.9rem}.skill-area-students{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.35rem 1.25rem;padding:0;margin:0;list-style:none;font-size:.85rem}.skill-area-students li{display:flex;justify-content:space-between;gap:.75rem}@media (max-width: 900px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.class-directory-head,.class-directory-row{grid-template-columns:minmax(130px,1fr) 60px 130px 65px 16px;gap:.6rem}}@media (max-width: 600px){.directory-toolbar>label{flex:1;min-width:130px}.directory-toolbar .directory-search{flex-basis:100%}.class-directory-head{display:none}.class-directory-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem .8rem;padding:.9rem .25rem}.directory-class-name{grid-column:1 / -1}.class-directory-row>svg{display:none}.mobile-column-label{display:inline;margin-left:.25rem;color:var(--muted);font-size:.75rem}.student-directory .student-index-row{flex-wrap:wrap}.student-directory-identity{flex-basis:calc(100% - 60px)}.student-directory .badge{margin-left:48px}.dashboard-metrics{grid-template-columns:minmax(0,1fr);padding:0 1.25rem}.dashboard-metrics>div{padding:1.1rem 0}.dashboard-metrics>div+div{border-left:0;border-top:1px solid var(--line)}.dashboard-section-heading{flex-direction:column}.skill-area summary{grid-template-columns:18px minmax(0,1fr)}.skill-area-share,.skill-area-meta{grid-column:2}.skill-area-body{padding-left:0}}.department-options h4{margin:0 0 .35rem;font-size:.9rem}.department-options p{max-width:760px;margin:0 0 .6rem}.department-options ol{display:grid;gap:.85rem;max-width:820px;padding-left:1.25rem;margin:0;font-size:.85rem;line-height:1.5}.department-options li>strong,.department-options li>span{display:block}.report-options{margin-bottom:1.25rem}.report-options>p{margin:0 0 .5rem}.department-report{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:1.75rem;max-width:1080px}.report-scope h2{margin:0 0 .25rem;font-size:1.2rem}.report-scope p{margin:0}.report-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.9rem}.report-filters label{display:grid;gap:.25rem;font-size:.85rem}.report-filters select{min-height:40px;padding:.45rem .75rem;color:var(--ink);border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card);transition:border-color var(--duration-fast) var(--ease-out)}.report-filters select:hover{border-color:var(--control-border-hover)}.report-section{min-width:0}.assessment-evidence{margin:1.5rem 0;overflow-wrap:anywhere}.assessment-evidence>ul{padding-left:1.2rem}.assessment-evidence>ul>li{margin-bottom:1rem}.assessment-evidence p{margin:.35rem 0}.assessment-evidence summary,.department-support summary{cursor:pointer;padding:.5rem 0}.department-support-form{display:grid;gap:1rem;max-width:42rem;min-width:0;padding:1rem 0}.department-support-form>label{display:grid;gap:.4rem}.department-support-form input:not([type=checkbox]),.department-support-form select,.department-support-form textarea{width:100%;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit}.department-support-form textarea{min-height:6rem;resize:vertical}.department-support-form fieldset{margin:0;min-width:0;padding:.7rem;border:1px solid var(--line)}.department-support-form fieldset label{display:flex;align-items:center;gap:.5rem;margin:.4rem 0}.department-support-form>.btn{justify-self:start}.department-support-plan{padding:1.25rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.department-support-plan h4{margin:0}.department-review-notes{white-space:pre-wrap}.report-section h3{margin:0 0 .6rem;font-size:1rem}.report-section>p{margin:0 0 .75rem}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.45}.report-table th,.report-table td{padding:.5rem .6rem .5rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.report-table thead th{color:var(--muted);font-size:.8rem;font-weight:600}.report-table tbody th{font-weight:600}.report-list{display:grid;gap:.5rem;padding:0;margin:0;list-style:none;font-size:.9rem}.report-list li{display:grid;gap:2px}@media print{.department-report{max-width:none;color:#111}.report-section{break-inside:avoid}.report-table-wrap{overflow:visible}}.review-composition{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem;margin:.5rem 0 1.25rem}.review-donut{width:208px;max-width:100%;flex-shrink:0}.donut-segment.urgent{stroke:var(--chart-urgent)}.donut-segment.recommended{stroke:var(--chart-recommended)}.donut-segment.clear{stroke:var(--chart-clear)}.donut-total{font-size:40px;font-weight:720;fill:var(--ink);letter-spacing:-1.6px;font-variant-numeric:tabular-nums}.donut-caption{font-size:12.5px;font-weight:650;fill:var(--ink-soft)}.donut-denominator{font-size:11.5px;fill:var(--muted)}.review-composition .review-legend{flex:1;min-width:min(240px,100%)}.school-dashboard>*,.dashboard-columns>*,.class-review-chart{min-width:0}.class-chart-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.class-chart-toolbar p{margin:0;color:var(--muted);font-size:.84rem}.class-chart-toolbar strong{color:var(--ink);font-variant-numeric:tabular-nums}.class-chart-toolbar label{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.8rem;font-weight:600}.class-chart-toolbar select{min-height:36px;padding:.4rem .7rem;color:var(--ink);font:inherit;font-size:.84rem;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.class-chart-axis-label{margin:0 0 1.25rem;color:var(--ink-soft);font-size:.78rem;font-weight:650}.class-columns-scroll{overflow-x:auto;padding:30px 4px 8px 0;border-radius:var(--radius-sm)}.class-columns{position:relative;padding-left:40px}.class-chart-grid{position:absolute;left:40px;right:0;top:0;height:230px;pointer-events:none}.class-chart-grid>div{position:absolute;width:100%;border-top:1px dashed hsl(222 30% 20% / .1)}.class-chart-grid>div:last-child{border-top-style:solid;border-top-color:var(--line-strong)}.class-chart-grid span{position:absolute;right:calc(100% + 10px);top:-8px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.class-column-items{position:relative;display:flex;align-items:stretch}.class-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;padding:0 9px 8px;color:var(--ink);font:inherit;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.class-column:hover{background:#3357cc09}.class-column-plot{height:230px;width:100%;display:flex;align-items:flex-end;justify-content:center}.class-column-bar{position:relative;display:block;width:58%;max-width:60px;background:var(--chart-muted);border-radius:6px 6px 2px 2px;transition:background-color var(--duration-fast) var(--ease-out)}.class-column.selected .class-column-bar{background:var(--accent)}.class-column:not(.selected):hover .class-column-bar{background:var(--chart-muted-hover)}.class-column:focus-visible{outline-offset:-2px}.class-column-bar strong{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.class-column-name{display:block;margin-top:12px;font-size:.76rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere;text-align:center}.class-column small{margin-top:4px;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}.class-chart-footer{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;color:var(--ink-soft);font-size:1rem}.class-chart-detail{display:grid;gap:.35rem;padding:1rem 1.2rem;font-size:.875rem;border-radius:var(--radius-sm);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #3357cc1a}.class-chart-detail>strong{color:var(--accent);font-weight:700}.class-chart-detail b{font-variant-numeric:tabular-nums}.class-chart-detail small{color:var(--muted);font-size:.8rem;line-height:1.5}.class-count-data{margin-top:1rem}.class-count-data summary{width:fit-content;padding-block:.4rem;color:var(--accent);font-size:.84rem;font-weight:650}.class-count-table{overflow-x:auto;margin-top:.75rem}.class-count-table table{width:100%;border-collapse:collapse;font-size:.82rem;font-variant-numeric:tabular-nums}.class-count-table caption{padding:0 0 .75rem;color:var(--muted);text-align:left}.class-count-table th,.class-count-table td{padding:.6rem .7rem;border-bottom:1px solid var(--line);text-align:right}.class-count-table thead th{color:var(--muted);font-size:.75rem;font-weight:650}.class-count-table tbody th{font-weight:600}.class-count-table th:first-child{text-align:left}.assistant-roster{margin:0;padding:0;list-style:none;max-height:24rem;overflow-y:auto}.assistant-roster li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem;padding:.55rem 0;border-top:1px solid var(--line)}.assistant-roster li>div:first-child{flex:1 1 16rem;min-width:0}.assistant-roster strong{font-weight:650}.assistant-roster li>div:first-child>span{margin-left:.45rem;color:var(--muted);font-size:.78rem}.assistant-roster p{margin:.1rem 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.45}.assistant-failure{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-block:.4rem}.assistant-failure p{margin:0}.assistant-roster-list{display:grid;gap:.5rem;max-height:28rem;overflow-y:auto}.assistant-student-card{display:grid;gap:.65rem;padding:.85rem .95rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.assistant-student-card strong{display:block;font-weight:650}.assistant-student-card p{margin:.25rem 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.5}.assistant-student-reference{display:block;margin-bottom:.15rem;color:var(--muted);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.assistant-student-reference:first-letter{text-transform:uppercase}.assistant-selection{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;width:min(760px,100%);align-self:center;padding:.45rem .5rem .45rem .9rem;color:var(--ink-soft);font-size:.86rem;border-radius:var(--radius-sm);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #3357cc1f}.eyebrow{display:block;color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.class-detail{display:grid;gap:1.5rem}.class-detail-intro h2{margin:.4rem 0 .35rem;font-size:clamp(1.5rem,2.6vw,1.9rem);letter-spacing:-.025em}.class-detail-intro p{max-width:64ch;margin:0;color:var(--muted);line-height:1.6}.class-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:1.35rem 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.class-detail-stats>div{padding:0 1.5rem;border-left:1px solid var(--line)}.class-detail-stats>div:first-child{border-left:0}.class-detail-stats dt{color:var(--ink-soft);font-size:.82rem;font-weight:650}.class-detail-stats dd{margin:.45rem 0 0;font-size:1.9rem;font-weight:720;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.class-roster-heading{margin-bottom:1.25rem}.class-roster-heading h3{margin:0;font-size:1.125rem}.class-roster-heading p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.6}.class-roster-student{border-top:1px solid var(--line)}.class-roster-student:last-child{border-bottom:1px solid var(--line)}.class-roster-student>summary{display:grid;grid-template-columns:minmax(220px,1fr) 160px 90px 85px;gap:1.25rem;align-items:center;padding:.9rem .75rem;transition:background-color var(--duration-fast) var(--ease-out)}.class-roster-student>summary:hover,.class-roster-student[open]>summary{background:var(--surface-subtle)}.class-roster-student>summary:focus-visible{outline-offset:-2px;border-radius:var(--radius-sm)}.class-roster-identity{display:flex;gap:.75rem;align-items:center;min-width:0}.class-roster-identity strong,.class-roster-identity small,.class-roster-score small{display:block}.class-roster-identity strong{font-weight:650}.class-roster-identity small{margin-top:.15rem;color:var(--ink-soft);font-size:1rem;line-height:1.45;overflow-wrap:anywhere}.class-review-status{justify-self:start;padding:.16rem .6rem;color:var(--ink-soft);font-size:.75rem;font-weight:650;line-height:1.4;border-radius:999px;background:var(--surface-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 14%,transparent)}.class-review-status.review{color:var(--warn);background:var(--warn-soft)}.class-review-status.clear{color:var(--good);background:var(--good-soft)}.class-roster-score{text-align:right;font-variant-numeric:tabular-nums}.class-roster-score small{margin-bottom:.15rem;color:var(--muted);font-size:.72rem}.class-roster-score strong{font-weight:650}.class-roster-expand{display:inline-flex;align-items:center;justify-content:flex-end;gap:.25rem;color:var(--accent);font-size:.8rem;font-weight:650}.class-roster-expand svg,.profile-class-toggle svg{transition:transform var(--duration) var(--ease-out)}.class-roster-student[open] .class-roster-expand svg{transform:rotate(180deg)}.class-score-details{padding:.25rem .75rem 1.25rem;overflow-x:auto}.class-score-details table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.class-score-details caption{padding:.75rem 0;color:var(--muted);font-size:.8rem;text-align:left}.class-score-details th,.class-score-details td{padding:.65rem .75rem;border-bottom:1px solid var(--line)}.class-score-details thead th{color:var(--muted);font-size:.75rem;font-weight:650;background:var(--surface-subtle)}.class-score-details tbody th{font-weight:500}.class-score-details td{font-variant-numeric:tabular-nums}@media (max-width: 760px){.class-detail-stats{grid-template-columns:repeat(2,1fr);gap:1.25rem 0}.class-detail-stats>div:nth-child(3){border-left:0}.class-roster-student>summary{grid-template-columns:minmax(0,1fr) auto;gap:.6rem .75rem}.class-roster-identity{grid-column:1 / -1}.class-roster-expand{grid-column:1 / -1;justify-content:flex-start}}.profile-class-evidence{display:grid;gap:.75rem}.profile-evidence-intro{margin:0 0 .25rem;color:var(--ink-soft);font-size:1rem;line-height:1.6}.profile-class-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--duration-fast) var(--ease-out)}.profile-class-card:hover{box-shadow:var(--shadow)}.profile-class-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;padding:1.1rem 1.25rem;transition:background-color var(--duration-fast) var(--ease-out)}.profile-class-card>summary:hover{background:var(--surface-subtle)}.profile-class-card summary:focus-visible{outline-offset:-3px;border-radius:var(--radius)}.profile-class-title{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.profile-class-title>strong{font-size:1rem;font-weight:650}.profile-class-average{display:flex;flex-direction:column;text-align:right;gap:.2rem}.profile-class-average small{color:var(--muted);font-size:.72rem}.profile-class-average strong{font-size:1.5rem;font-weight:720;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.profile-class-focus{grid-column:1 / -1;color:var(--ink-soft);font-size:.84rem;line-height:1.6}.profile-class-toggle{grid-column:1 / -1;display:inline-flex;align-items:center;gap:.25rem;width:fit-content;color:var(--accent);font-size:.8rem;font-weight:650}.profile-class-card[open] .profile-class-toggle svg{transform:rotate(180deg)}.profile-class-body{padding:0 1.25rem 1.25rem}.profile-area-patterns{margin:.25rem 0 1rem}.profile-strands{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem 1.25rem;margin:.5rem 0 1rem}.profile-strands dt{color:var(--muted);font-size:.75rem}.profile-strands dd{margin:.15rem 0 0;font-size:.95rem;font-weight:650;font-variant-numeric:tabular-nums}.profile-strands dd .small{font-weight:400}.profile-skill-list{list-style:none;margin:0 0 1rem;padding:0}.profile-skill-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.7rem 0;border-top:1px solid var(--line);font-size:.875rem}.profile-skill-list li strong{white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}.profile-source-evidence>summary{width:fit-content;padding:.5rem 0;color:var(--muted);font-size:.8rem;font-weight:600}.profile-source-item{padding:.5rem 0;overflow-wrap:anywhere}.profile-source-item h4{margin:.5rem 0;font-size:.78rem;font-weight:650;line-height:1.6}.profile-source-item dl{margin:0;font-size:.78rem}.profile-source-item dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.profile-source-item dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.school-kpi-heading{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:end}.school-kpi-heading h2{margin:.35rem 0 .25rem;font-size:1.2rem}.school-kpi-heading p{margin:0}.school-kpi-controls{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.school-kpi-controls label{display:grid;gap:.35rem;color:var(--ink-soft);font-size:.8rem;font-weight:650}.school-kpi-controls select{min-height:40px;padding:.5rem .8rem;color:inherit;font:inherit;font-size:.875rem;font-weight:500;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.school-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.school-kpi-card{padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs)}.school-kpi-card h3{margin:0 0 .6rem;color:var(--ink-soft);font-size:.85rem;font-weight:650}.school-kpi-card>strong{display:block;color:var(--ink);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:720;line-height:1.15;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.school-kpi-card>strong.is-text{color:var(--muted);font-size:1.15rem;font-weight:650;letter-spacing:-.01em}.school-kpi-card p{margin:.5rem 0 0;color:var(--ink-soft);font-size:1rem;line-height:1.55}.school-kpi-chart{margin:1.75rem 0 1.5rem}.school-kpi-chart h3{margin:0 0 .2rem;font-size:1rem}.school-kpi-chart-heading p{margin:0}.school-kpi-axis{display:flex;justify-content:space-between;gap:.5rem;padding:.5rem 0;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}@media (max-width: 760px){.school-kpi-grid{grid-template-columns:minmax(0,1fr)}.school-kpi-controls{width:100%}}.workspace-switch{display:flex;width:fit-content;margin:0 auto 1.75rem;padding:3px;gap:2px;border-radius:999px;background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.workspace-switch a{min-height:34px;display:inline-flex;align-items:center;gap:.45rem;padding:0 1.1rem;border-radius:999px;text-decoration:none;color:var(--muted);font-size:.84rem;font-weight:650;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.workspace-switch a:hover{color:var(--ink)}.workspace-switch a.selected{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #0f172914,0 0 0 1px #0f17290d}.workspace-switch a.selected svg{color:var(--accent)}.teacher-assistant-layout{width:100%}.teacher-assistant{height:max(36rem,calc(100dvh - 8.5rem));border:0;background:transparent;gap:1rem;overflow:visible}.assistant-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.assistant-history{position:relative;color:var(--muted);font-size:.84rem}.assistant-history summary{min-height:36px;display:flex;align-items:center;padding:.4rem .7rem;font-weight:600;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.assistant-history summary:hover,.assistant-history[open] summary{color:var(--ink);background:var(--surface-muted)}.assistant-history-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:10;width:min(340px,calc(100vw - 3rem));max-height:360px;overflow:auto;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-raised);animation:dialog-enter .16s var(--ease-out)}.assistant-history-menu p{margin:.4rem .5rem .6rem;color:var(--muted);font-size:.78rem}.assistant-history-menu>.btn{margin:.4rem .5rem .3rem}.history-chat{display:block;width:100%;padding:.6rem .65rem;color:var(--ink);font-size:.86rem;text-align:left;overflow-wrap:anywhere;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.history-chat:hover{background:var(--surface-muted)}.teacher-assistant .assistant-empty{width:min(680px,100%)}.teacher-assistant .assistant-starters{align-self:center}.teacher-assistant .assistant-composer{display:flex;align-items:center;gap:.5rem;width:min(760px,100%);align-self:center;margin:0;padding:.75rem;border:1px solid var(--control-border);border-radius:22px;background:var(--card);box-shadow:var(--shadow-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.teacher-assistant .assistant-composer textarea{flex:1;min-width:0;min-height:3rem;padding:.5rem .65rem;font-size:1rem;line-height:1.5;resize:none;background:transparent}.teacher-assistant .assistant-composer textarea::placeholder{color:var(--faint)}.teacher-assistant .assistant-composer textarea:focus-visible{box-shadow:none}.teacher-assistant .assistant-composer button{flex:0 0 40px;width:40px;height:40px;border-radius:50%}.teacher-assistant .assistant-composer button[type=submit]{order:2}.teacher-assistant .assistant-composer .assistant-clear{order:1}.teacher-assistant .assistant-message{max-width:800px;width:100%;margin-inline:auto}.teacher-assistant.is-empty .assistant-thread{flex:none;margin-top:auto;padding:1rem 0 .5rem;overflow:visible}.teacher-assistant.is-empty>.assistant-starters{margin:0 0 auto}@media (max-width: 760px){.assistant-history-menu{left:auto;right:0}}@media (max-width: 600px){.assistant-frame .app-sidebar:not(.open){box-shadow:none}.teacher-assistant{height:auto;min-height:calc(100dvh - 12rem)}.teacher-assistant .assistant-thread{padding-inline:0}.teacher-assistant .assistant-composer{padding:.6rem}.teacher-assistant .assistant-composer textarea{font-size:.9rem}.workspace-switch{margin-bottom:1rem}}.school-kpi-chart-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.school-kpi-toggle{display:flex;padding:3px;gap:2px;border-radius:var(--radius-sm);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.school-kpi-toggle button{min-height:32px;padding:.35rem .9rem;color:var(--muted);font-size:.82rem;font-weight:650;border:0;border-radius:7px;background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.school-kpi-toggle button:hover{color:var(--ink)}.school-kpi-toggle button[aria-pressed=true]{color:var(--ink);background:var(--card);box-shadow:0 1px 2px #0f172914,0 0 0 1px #0f17290d}.school-kpi-chart-scroll{overflow-x:auto;margin-top:1rem}.school-kpi-interactive-bars{display:flex;height:190px;gap:4px;border-bottom:1px solid var(--line-strong);background:repeating-linear-gradient(to top,transparent 0,transparent 46px,var(--line) 47px,transparent 48px)}.school-kpi-interactive-bars button{display:flex;align-items:flex-end;flex:1;min-width:20px;height:100%;padding:0 2px;border:0;border-radius:5px 5px 0 0;background:transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.school-kpi-interactive-bars button:hover{background:#3357cc0d}.school-kpi-bar-fill{display:block;width:100%;min-height:3px;border-radius:4px 4px 1px 1px;background:var(--chart-muted);pointer-events:none;transition:background-color var(--duration-fast) var(--ease-out)}.school-kpi-interactive-bars button.is-active .school-kpi-bar-fill,.school-kpi-interactive-bars button[aria-pressed=true] .school-kpi-bar-fill{background:var(--accent)}.school-kpi-interactive-bars button:focus-visible{outline-offset:-2px}.school-kpi-inspector{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;min-height:76px;margin:1rem 0;padding:.9rem 1.1rem;color:var(--muted);font-size:.875rem;border-radius:var(--radius-sm);background:var(--surface-subtle);box-shadow:inset 0 0 0 1px var(--line)}.school-kpi-inspector>div{display:grid;gap:.2rem;margin-right:auto}.school-kpi-inspector strong{color:var(--ink);font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.school-kpi-more{margin-top:1.5rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius)}.school-kpi-more summary{font-weight:650}.school-kpi-more summary span{display:block;margin:.3rem 0 0 1.4em;color:var(--muted);font-size:.85rem;font-weight:400}.school-kpi-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.school-kpi-detail-grid article{padding:1rem 1.1rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.school-kpi-scope{color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.school-kpi-detail-grid h4{margin:.5rem 0 .35rem;font-size:.9rem}.school-kpi-detail-grid strong{color:var(--ink);font-size:1.6rem;font-weight:720;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.school-kpi-detail-grid p,.school-kpi-ai-topics p{color:var(--muted);font-size:.85rem;line-height:1.6}.school-kpi-ai{margin-top:1.5rem;padding:1.5rem;border:1px solid hsl(226 60% 50% / .12);border-radius:var(--radius);background:radial-gradient(120% 120% at 100% 0%,hsl(226 90% 97%),transparent 60%),var(--surface-subtle)}.school-kpi-ai h3{margin:.4rem 0 .5rem;font-size:1.05rem}.school-kpi-ai>p{margin:0;color:var(--ink-soft);font-size:.9rem}.school-kpi-ai>p+p{margin-top:.35rem}.school-insights-empty{display:flex;align-items:center;gap:1.5rem;padding:1.5rem .5rem .5rem}.school-insights-mascot{position:relative;display:grid;place-items:center;flex:0 0 116px;height:112px;border-radius:48% 52% 43% 57%;background:#e5e9fa;box-shadow:inset 0 0 0 1px #6677cc1f}.school-insights-builder{display:block;width:120px;height:120px;max-width:none;object-fit:contain}.school-insights-note{position:relative;max-width:430px;padding:1.1rem 1.35rem;border:1px solid var(--line);border-radius:6px 18px 18px;background:var(--card);box-shadow:var(--shadow)}.school-insights-note:before{content:"";position:absolute;left:-8px;top:28px;width:14px;height:14px;background:var(--card);border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.school-insights-aside{display:block;margin-bottom:.4rem;color:var(--accent);font-size:.75rem;font-weight:650}.school-insights-note h4{margin:0;font-size:1rem}.school-insights-note p{margin:.4rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.6}@media (max-width: 480px){.school-insights-empty{flex-direction:column;gap:1rem;text-align:center}.school-insights-mascot{flex-basis:auto;width:116px}.school-insights-note:before{left:calc(50% - 7px);top:-8px;transform:rotate(135deg)}}.school-kpi-ai-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0 0}.school-kpi-ai-topics article{padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.school-kpi-ai-topics h4{margin:0;font-size:.92rem}.school-kpi-ai-topics details summary{color:var(--accent);font-size:.8rem;font-weight:650}.school-kpi-ai-topics ul{margin:.5rem 0 0;padding-left:1.1rem;color:var(--ink-soft);font-size:1rem}@media (max-width: 760px){.school-kpi-detail-grid,.school-kpi-ai-topics{grid-template-columns:minmax(0,1fr)}}.school-kpi-analysis{margin-bottom:1.5rem;padding:1.25rem;border:1px solid hsl(226 60% 50% / .15);border-radius:var(--radius);background:var(--card)}.school-kpi-analysis h4{margin:0 0 1rem}.school-kpi-analysis-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem}.school-kpi-analysis-stats>div{display:grid;align-content:start;gap:.4rem}.school-kpi-analysis-stats strong{color:var(--accent);font-size:1.1rem;font-weight:700}.school-kpi-analysis-stats span,.school-kpi-analysis p{color:var(--ink-soft);font-size:1rem;line-height:1.6}.school-kpi-day-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:.5rem}.school-kpi-day-breakdown button{display:grid;gap:.3rem;padding:.75rem;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.school-kpi-day-breakdown button:hover{border-color:#405ebf59;background:var(--accent-soft)}.school-kpi-day-breakdown strong{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.school-kpi-day-breakdown span{color:var(--muted);font-size:.75rem}.school-kpi-event-breakdown{margin-bottom:1.5rem}.school-kpi-event-breakdown h4{margin:0}.school-kpi-event-breakdown ul{list-style:none;margin:.75rem 0;padding:0}.school-kpi-event-breakdown li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.school-kpi-event-breakdown li strong{color:var(--accent);font-variant-numeric:tabular-nums}.teaching-material-form{width:min(760px,100%);margin:auto;padding:1.5rem;text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow)}.teaching-material-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.teaching-material-heading h2,.teaching-material-form>h2{margin:.4rem 0 .35rem;font-size:1.25rem;letter-spacing:-.02em}.teaching-material-heading p{margin:0;color:var(--ink-soft);font-size:1rem}.teaching-material-form label{display:block;color:var(--ink-soft);font-size:.82rem;font-weight:650}.teaching-material-form label>:is(input,select,textarea){display:block;margin-top:.4rem}.teaching-material-form fieldset>p{margin:0}.teaching-material-form label span{color:var(--muted);font-weight:500}.teaching-material-form :is(input,select,textarea){width:100%;min-width:0;padding:.6rem .75rem;color:var(--ink);font-size:.9rem;font-weight:400;border:1px solid var(--control-border);border-radius:var(--radius-sm);background-color:var(--card)}.teaching-material-form>.btn{margin:.75rem .5rem 0 0}.assistant-response-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.1rem}.assistant-response-tools p{margin:0}.material-document-card{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.1rem;color:var(--ink);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-xs);cursor:pointer;white-space:normal;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.material-document-card:hover{border-color:#405ebf4d;box-shadow:var(--shadow-raised)}.material-document-card>span:not(.material-document-icon){flex:1}.material-document-card>svg{color:var(--accent)}.material-document-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;color:var(--accent);border-radius:12px;background:var(--accent-soft)}.material-document-card strong,.material-document-card small{display:block}.material-document-card small{margin-top:.2rem;color:var(--muted);font-size:.82rem}.material-request{font-size:.84rem}.material-request p{white-space:pre-wrap}.material-studio{width:min(1440px,calc(100vw - 48px));height:calc(100dvh - 48px);max-width:none;max-height:none;padding:0;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-overlay);overflow:hidden}.material-studio[open]{display:flex;flex-direction:column;animation:studio-enter .24s var(--ease-out)}.material-studio::backdrop{background:#0e152580;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes studio-enter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.material-studio-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;border-bottom:1px solid var(--line)}.material-studio-header>div{display:flex;align-items:center;gap:.75rem}.material-studio-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;color:var(--accent);border-radius:10px;background:var(--accent-soft)}.material-studio-header h2{margin:0;font-size:1rem}.material-studio-header span{color:var(--muted);font-size:.8rem}.material-studio-body{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:0;flex:1}.material-studio-controls{padding:1.5rem;overflow:auto;border-right:1px solid var(--line)}.material-studio-controls .teaching-material-form{padding:0;border:0;box-shadow:none}.material-studio-controls .teaching-material-heading .btn{display:none}.studio-eyebrow{color:var(--accent);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.material-studio-controls h3{margin:.75rem 0 .5rem;font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}.material-studio-controls p{color:var(--ink-soft);font-size:1rem;line-height:1.65}.material-studio-controls>form label{display:block;margin:1.25rem 0 .4rem;color:var(--ink-soft);font-size:.82rem;font-weight:650}.material-studio-controls>form textarea{display:block;width:100%;margin:.4rem 0 .8rem;padding:.7rem .8rem;font-size:.875rem;resize:vertical;border:1px solid var(--control-border);border-radius:var(--radius-sm)}.studio-revision-ideas{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem}.studio-revision-ideas button{min-height:32px;padding:.3rem .75rem;color:var(--ink-soft);font-size:.8rem;font-weight:600;text-align:left;border:1px solid var(--control-border);border-radius:999px;background:var(--card);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.studio-revision-ideas button:hover:not(:disabled){color:var(--accent);border-color:#395ac659;background:var(--accent-soft)}.studio-revision-ideas button:disabled{opacity:.5;cursor:not-allowed}.material-preview{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#edeff2}.material-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:var(--card)}.material-preview-toolbar button{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;padding:.35rem .75rem;color:var(--muted);font-size:.8rem;font-weight:650;border:0;border-radius:7px;background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.material-preview-toolbar button:hover:not(:disabled){color:var(--ink);background:var(--surface-muted)}.material-preview-toolbar button:disabled{opacity:.45;cursor:not-allowed}.material-page-tabs{display:flex;gap:2px;padding:3px;border-radius:var(--radius-sm);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line)}.material-page-tabs button[aria-pressed=true],.material-page-tabs button[aria-pressed=true]:hover:not(:disabled){color:var(--ink);background:var(--card);box-shadow:0 1px 2px #0f172914,0 0 0 1px #0f17290d}.material-preview-actions{display:flex;gap:.35rem}.material-preview-actions button:last-child:not(:disabled){color:#fff;background:var(--accent)}.material-preview-actions button:last-child:hover:not(:disabled){color:#fff;background:var(--accent-hover)}.material-page-scroll{position:relative;flex:1;min-height:0;overflow:auto;padding:2rem}.material-pdf-pages{display:grid;gap:1.5rem;max-width:740px;margin:0 auto}.material-pdf-pages[hidden]{display:none}.material-pdf-pages canvas{width:100%;height:auto;background:#fff;box-shadow:0 1px 2px #0f172914,0 12px 32px -12px #0f172938}.studio-empty-overlay{max-width:700px;min-height:480px;margin:auto;padding:6rem 2rem;color:var(--muted);text-align:center;border-radius:var(--radius-xs);background:#fff;box-shadow:0 1px 2px #0f172914,0 12px 32px -12px #0f172933}.studio-empty-overlay .empty-icon{margin-bottom:1rem}.studio-empty-overlay h3{margin:0 0 .4rem;color:var(--ink);font-size:1.1rem}.studio-empty-overlay p{margin:0 auto;max-width:44ch;font-size:.88rem}.material-preview-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.6rem 1.25rem;color:var(--muted);font-size:.75rem;border-top:1px solid var(--line);background:var(--card)}.material-text-view{margin:0 auto;max-width:740px;padding:2rem;font-family:inherit;font-size:.9rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;box-shadow:0 1px 2px #0f172914,0 12px 32px -12px #0f172933}.studio-loading{position:fixed;top:50%;left:50%;z-index:30;display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;color:var(--ink-soft);font-size:.9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-raised);transform:translate(-50%,-50%)}.studio-loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--accent-soft-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 760px){.material-studio{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:var(--radius)}.material-studio-body{display:flex;flex-direction:column;overflow:auto}.material-studio-controls{overflow:visible;padding:1rem;border-right:0}.material-preview{flex-shrink:0;min-height:65dvh;overflow:visible}.material-page-scroll{overflow:visible;padding:1rem}.material-preview-toolbar{padding:.6rem}}@media (prefers-reduced-motion: reduce){.material-studio[open]{animation:none}.material-studio::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.material-studio-body.is-planning{display:block;overflow:auto;background:var(--surface-subtle)}.material-studio-body.is-planning .material-studio-controls{max-width:780px;margin:auto;padding:2rem;border:0}.material-studio-body.is-planning .material-preview{display:none}.material-studio-body.is-planning .material-studio-controls p{font-size:1rem}.material-studio-body.is-planning .teaching-material-form{max-width:none;padding:1.75rem;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.studio-student-courses{padding:.25rem 0 .5rem}.studio-student-courses>strong{color:var(--ink);font-size:.875rem}.studio-student-courses ul{margin:.5rem 0;padding-left:1.25rem;list-style:disc}.studio-student-courses li{padding:.15rem 0;font-size:.95rem;line-height:1.5}.material-studio-controls .studio-student-courses p{margin:0;font-size:1rem}select:not([multiple],[size]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:var(--icon-select);background-repeat:no-repeat;background-position:right .6rem center;background-size:1rem;cursor:pointer}html :is(input:not([type=checkbox],[type=radio]),select,textarea):focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.student-profile{max-width:980px;margin:0 auto;padding:1rem}.student-profile>.panel-heading{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.student-profile-nav{display:flex;gap:1.5rem;margin:1.5rem 0 2rem}.student-profile-menu{position:relative}.student-profile-menu>summary{cursor:pointer;padding:.5rem;font-size:.875rem}.student-profile-menu>div{position:absolute;right:0;top:100%;display:grid;gap:.4rem;padding:.5rem;background:var(--surface, white);border:1px solid var(--border);border-radius:.5rem;z-index:5;min-width:8rem;box-shadow:0 4px 16px #0002}.student-profile-nav a{padding:.6rem 0;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent;font-weight:600}.student-profile-nav a[aria-current=page]{color:var(--accent);border-bottom-color:currentColor}.student-profile-nav a:hover{color:var(--accent)}.student-profile-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.student-profile .ai-summary,.student-profile .ai-prediction{background:none;border:0;padding:0;box-shadow:none}.student-profile .ai-prediction{margin-top:.75rem}.student-grade-list{margin:0 0 2rem}.student-grade-list>div{display:flex;justify-content:space-between;gap:1rem;padding-block:.6rem}.student-grade-list dd{margin:0;font-weight:600;white-space:nowrap}.student-evidence-details{margin-block:1.5rem}.student-evidence-details>summary{cursor:pointer;padding-block:.6rem;font-weight:600}.student-profile .learning-heading:first-child{margin-top:0}@media (max-width: 600px){.student-profile{padding:.25rem}.student-profile-nav{gap:1rem;font-size:.875rem}.student-profile-actions{flex-wrap:wrap}.student-profile-menu>div{left:0;right:auto}}.note-callout{display:flex;align-items:flex-start;gap:.5rem;width:fit-content;max-width:100%;margin-block:.75rem;padding:.5rem .8rem;border:1px solid var(--accent-soft-strong);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);font-size:.85rem;font-weight:600;line-height:1.45}.note-callout>svg{flex:none;margin-top:.1rem;color:var(--accent)}.note-callout p{margin:0;min-width:0;color:inherit;font:inherit}.learning-history{margin-block:2rem;min-width:0}.learning-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.learning-heading h3{margin:0}.learning-skill{display:grid;gap:.4rem;margin-top:1rem}.learning-skill select{width:100%;min-width:0}.learning-trajectory svg{width:100%;height:auto;display:block}.learning-trajectory svg text{fill:currentColor;font-size:12px}.trajectory-grid{stroke:#cbd5e1;stroke-width:1}.trajectory-expectation{stroke:#64748b;stroke-dasharray:5 4}.trajectory-intervention{stroke:#a16207;stroke-dasharray:3 3}.trajectory-line{fill:none;stroke:#2563eb;stroke-width:3}.trajectory-point{fill:#2563eb;cursor:pointer}.trajectory-point:focus-visible{outline:2px solid #1e40af;outline-offset:3px}.trajectory-points{display:flex;flex-wrap:wrap;gap:.4rem}.trajectory-points [aria-pressed=true]{outline:2px solid #2563eb;outline-offset:1px}.trajectory-markers{font-size:.875rem}.learning-history .note-form{display:grid;gap:.6rem;margin-top:1rem}.learning-history .note-form label{display:grid;gap:.4rem}.learning-history .note-form textarea{width:100%}.learning-history .note-form button{justify-self:start}.journal-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1.5rem}.journal-filters label{display:grid;gap:.4rem;flex:1 1 200px;min-width:0}.journal-filters input,.journal-filters select{width:100%;min-width:0}.learning-actions{display:flex;flex-wrap:wrap;gap:.5rem}.journal-panel{margin-top:1rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.journal-panel .journal-filters{margin:0;padding:1rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface-subtle)}.journal-panel>p,.journal-panel>.btn{margin:1rem 1.25rem}.learning-journal{margin:0;list-style:none;padding:0}.learning-journal li{padding:1rem 1.25rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.learning-journal li:last-child{border-bottom:0}.learning-journal p{white-space:pre-wrap;margin:.5rem 0 0}.journal-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.8rem;color:#64748b;margin-bottom:.4rem}.student-sections.student-existing-evidence{display:block}@media (max-width: 600px){.learning-heading{align-items:stretch;flex-direction:column}.learning-actions>.btn{flex:1 1 auto}.saved-class-list>li{grid-template-columns:1fr;gap:.4rem}.learning-skill select{font-size:.85rem}.journal-filters{flex-direction:column}.journal-filters label{flex:initial}.journal-filters label,.journal-filters input,.journal-filters select{min-width:0;width:100%}}.guidance-text{color:var(--ink-soft);font-size:1rem;line-height:1.6}.source-content-hint{display:block;margin-top:.4rem;font-weight:400}.dashboard-metrics small,.meeting-choice-list small{color:var(--ink-soft);font-size:.9rem}
