@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-0cdd387c.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-30da91e8.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-68534840.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-3398dd02.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-74444efd.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-9163df9c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-51814d27.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-5e28753b.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-0f60d1b8.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-c76c5d69.woff) format("woff"),url(/assets/KaTeX_Main-Bold-138ac28d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-97479ca6.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-f1d6ef86.woff) format("woff"),url(/assets/KaTeX_Main-Italic-0d85ae7c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-c2342cd8.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-c6368d87.woff) format("woff"),url(/assets/KaTeX_Main-Regular-d0332f52.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-dc47344d.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-850c0af5.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-7af58c5e.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-8a8d2445.woff) format("woff"),url(/assets/KaTeX_Math-Italic-08ce98e5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-e99ae511.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-ece03cfd.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-91ee6750.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-3931dd81.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-f36ea897.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-036d4e95.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-d96cdf2b.woff) format("woff"),url(/assets/KaTeX_Script-Regular-1c67f068.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-6b47c401.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-c943cc98.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-95b6d2f1.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-d04c5421.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-2014c523.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-a6b2099f.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-6ab6b62e.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-500e04d5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-a4af7d41.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-99f9c675.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-c647367d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-71d517d6.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-e14fed02.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .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;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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.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}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.landing-page-cute{min-height:100vh;background:linear-gradient(135deg,#fef3e2 0%,#fce4ec 50%,#e3f2fd 100%);position:relative;overflow-x:hidden}.floating-shapes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.shape{position:absolute;font-size:2rem;animation:float 6s ease-in-out infinite;opacity:.6}.shape-1{top:10%;left:10%;animation-delay:0s}.shape-2{top:20%;right:15%;animation-delay:1s}.shape-3{bottom:20%;left:15%;animation-delay:2s}.shape-4{bottom:30%;right:10%;animation-delay:3s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.cute-nav{position:relative;z-index:100;padding:20px 0}.nav-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;background:white;border:4px solid #1a1a1a;border-radius:100px;padding:12px 24px;box-shadow:0 8px #0000001a}.nav-logo-cute{display:flex;align-items:center;gap:12px}.nav-links-cute{display:flex;gap:32px;margin-left:auto;margin-right:32px}.nav-link-cute{font-size:1rem;font-weight:600;color:#1a1a1a;text-decoration:none;transition:color .2s}.nav-link-cute:hover{color:#10b981}.logo-icon-cute{width:40px;height:40px;background:linear-gradient(135deg,#ffc1e3 0%,#ffb3d9 100%);border:3px solid #1a1a1a;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:6px}.logo-icon-cute img{width:100%;height:100%;border-radius:8px;object-fit:cover}.logo-text-cute{font-size:1.5rem;font-weight:800;color:#1a1a1a}.btn-login-cute{background:#10b981;color:#fff;border:3px solid #1a1a1a;border-radius:50px;padding:12px 32px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px #1a1a1a}.btn-login-cute:hover{transform:translateY(-2px);box-shadow:0 6px #1a1a1a}.btn-login-cute:active{transform:translateY(2px);box-shadow:0 2px #1a1a1a}.hero-cute{max-width:1200px;margin:0 auto;padding:80px 24px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:10}.hero-badge{display:inline-block;background:#c7f9cc;border:3px solid #1a1a1a;border-radius:50px;padding:8px 20px;font-size:.9rem;font-weight:600;color:#1a1a1a;margin-bottom:24px}.hero-title-cute{font-size:3.5rem;font-weight:900;color:#1a1a1a;line-height:1.1;margin-bottom:24px}.gradient-text{background:linear-gradient(135deg,#10b981 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc-cute{font-size:1.1rem;color:#4a5568;line-height:1.6;margin-bottom:32px}.hero-actions{margin-bottom:48px}.btn-start-cute{background:#10b981;color:#fff;border:4px solid #1a1a1a;border-radius:50px;padding:18px 40px;font-size:1.2rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .2s;box-shadow:0 6px #1a1a1a}.btn-start-cute:hover{transform:translateY(-3px);box-shadow:0 9px #1a1a1a}html.os-windows .landing-page-cute{filter:saturate(.97) contrast(1.01)}html.os-windows .nav-content,html.os-windows .preview-card-cute,html.os-windows .feature-card-cute,html.os-windows .achievement-main-card,html.os-windows .cta-card-cute{border-color:#162238;box-shadow:0 12px 26px #0f172a24}html.os-windows .hero-title-cute,html.os-windows .section-title-cute,html.os-windows .cta-title-cute{letter-spacing:-.02em}.btn-start-cute:active{transform:translateY(3px);box-shadow:0 3px #1a1a1a}.btn-arrow-cute{font-size:1.5rem;transition:transform .2s}.btn-start-cute:hover .btn-arrow-cute{transform:translate(4px)}.hero-stats-cute{display:flex;gap:16px}.stat-card-cute{flex:1;background:white;border:4px solid #1a1a1a;border-radius:20px;padding:20px;text-align:center;box-shadow:0 6px #0000001a}.stat-card-cute.pink{background:linear-gradient(135deg,#ffc1e3 0%,#ffb3d9 100%)}.stat-card-cute.blue{background:linear-gradient(135deg,#a7d8ff 0%,#9dd1ff 100%)}.stat-card-cute.green{background:linear-gradient(135deg,#c7f9cc 0%,#b8f5bd 100%)}.stat-number-cute{font-size:2rem;font-weight:900;color:#1a1a1a;margin-bottom:4px}.stat-label-cute{font-size:.9rem;font-weight:600;color:#1a1a1a}.hero-preview{position:relative}.preview-card-cute{background:white;border:4px solid #1a1a1a;border-radius:24px;padding:28px;box-shadow:0 12px #0000001a;animation:floatCard 3s ease-in-out infinite}@keyframes floatCard{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.preview-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.preview-icon{width:56px;height:56px;background:linear-gradient(135deg,#a7d8ff 0%,#9dd1ff 100%);border:3px solid #1a1a1a;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.preview-title{font-size:1.2rem;font-weight:700;color:#1a1a1a}.preview-subtitle{font-size:.9rem;color:#6b7280;margin-top:4px}.preview-progress{margin-bottom:20px}.progress-label{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.9rem;font-weight:600;color:#4a5568}.progress-percent{color:#10b981;font-weight:700}.progress-bar-cute{height:12px;background:#e5e7eb;border:2px solid #1a1a1a;border-radius:10px;overflow:hidden}.progress-fill-cute{height:100%;background:linear-gradient(90deg,#10b981 0%,#34d399 100%);transition:width .3s}.preview-btn-cute{width:100%;background:#10b981;color:#fff;border:3px solid #1a1a1a;border-radius:16px;padding:16px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px #1a1a1a}.preview-btn-cute:hover{transform:translateY(-2px);box-shadow:0 6px #1a1a1a}.features-cute{max-width:1200px;margin:0 auto;padding:80px 24px;text-align:center;position:relative;z-index:10}.section-badge-cute{display:inline-block;background:#ffc1e3;border:3px solid #1a1a1a;border-radius:50px;padding:8px 20px;font-size:.9rem;font-weight:600;color:#1a1a1a;margin-bottom:20px}.section-title-cute{font-size:2.5rem;font-weight:900;color:#1a1a1a;margin-bottom:60px}.features-grid-cute{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.feature-card-cute{background:white;border:4px solid #1a1a1a;border-radius:24px;padding:32px;text-align:center;transition:all .3s;box-shadow:0 6px #0000001a}.feature-card-cute:hover{transform:translateY(-8px);box-shadow:0 14px #0000001a}.feature-card-cute.pink{background:linear-gradient(135deg,#ffc1e3 0%,#ffb3d9 100%)}.feature-card-cute.blue{background:linear-gradient(135deg,#a7d8ff 0%,#9dd1ff 100%)}.feature-card-cute.green{background:linear-gradient(135deg,#c7f9cc 0%,#b8f5bd 100%)}.feature-card-cute.yellow{background:linear-gradient(135deg,#fef08a 0%,#fde047 100%)}.feature-icon-cute{font-size:3rem;margin-bottom:16px}.feature-title-cute{font-size:1.3rem;font-weight:700;color:#1a1a1a;margin-bottom:12px}.feature-desc-cute{font-size:.95rem;color:#4a5568;line-height:1.5}.cta-cute{max-width:1200px;margin:0 auto;padding:80px 24px;position:relative;z-index:10}.achievements-cute{max-width:1200px;margin:0 auto;padding:80px 24px;text-align:center;position:relative;z-index:10}.achievement-highlight-cute{display:flex;justify-content:center;margin-top:40px}.achievement-main-card{background:linear-gradient(135deg,#fef08a 0%,#fde047 100%);border:4px solid #1a1a1a;border-radius:32px;padding:48px;max-width:500px;box-shadow:0 12px #0000001a;text-align:center}.achievement-badge{display:inline-block;background:white;border:3px solid #1a1a1a;border-radius:50px;padding:8px 20px;font-size:.9rem;font-weight:700;color:#1a1a1a;margin-bottom:24px}.achievement-score-big{font-size:5rem;font-weight:900;color:#1a1a1a;margin-bottom:24px;line-height:1}.achievement-breakdown{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px}.breakdown-item{display:flex;flex-direction:column;gap:8px}.breakdown-label{font-size:.9rem;font-weight:600;color:#4a5568}.breakdown-score{font-size:2rem;font-weight:800;color:#1a1a1a}.breakdown-divider{width:2px;height:40px;background:#1a1a1a}.achievement-desc{font-size:1rem;color:#4a5568;line-height:1.5}.cta-card-cute{background:linear-gradient(135deg,#a7d8ff 0%,#9dd1ff 100%);border:4px solid #1a1a1a;border-radius:32px;padding:60px 40px;text-align:center;box-shadow:0 12px #0000001a}.cta-title-cute{font-size:2.5rem;font-weight:900;color:#1a1a1a;margin-bottom:16px}.cta-desc-cute{font-size:1.1rem;color:#4a5568;margin-bottom:32px}.btn-cta-cute{background:white;color:#1a1a1a;border:4px solid #1a1a1a;border-radius:50px;padding:18px 48px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 6px #1a1a1a}.btn-cta-cute:hover{transform:translateY(-3px);box-shadow:0 9px #1a1a1a}.footer-cute{background:white;border-top:4px solid #1a1a1a;padding:40px 24px;position:relative;z-index:10}.footer-content-cute{max-width:1200px;margin:0 auto;text-align:center}.footer-logo-cute{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.footer-logo-cute img{width:32px;height:32px}.footer-logo-cute span{font-size:1.3rem;font-weight:800;color:#1a1a1a}.footer-text-cute{color:#6b7280;font-size:.9rem}@media (max-width: 768px){.hero-cute{grid-template-columns:1fr;gap:40px;padding:40px 24px}.hero-title-cute{font-size:2.5rem}.hero-stats-cute{flex-direction:column}.features-grid-cute{grid-template-columns:1fr}.cta-title-cute{font-size:2rem}}.auth-container{display:flex;min-height:100vh;width:100%;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.auth-form-section{flex:0 0 45%;display:flex;flex-direction:column;justify-content:center;padding:2rem 5rem}.auth-image-section{flex:1;background-image:url(https://images.pexels.com/photos/5940721/pexels-photo-5940721.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2);background-size:cover;background-position:center}.back-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#475569;font-weight:500;margin-bottom:2rem}.auth-form h2{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.auth-form p{color:#64748b;margin-bottom:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#334155}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.auth-button{width:100%;padding:.8rem;border:none;border-radius:8px;background-color:#1e293b;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.auth-button:hover{background-color:#334155}.divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#94a3b8}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.divider span{padding:0 1rem;font-size:.875rem}.google-button{width:100%;padding:.8rem;border:1px solid #e2e8f0;border-radius:8px;background-color:#fff;color:#1e293b;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-button:hover{background-color:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.google-button svg{flex-shrink:0}.auth-links{margin-top:1.5rem;text-align:center;color:#475569}.auth-links a{color:#4f46e5;font-weight:600;text-decoration:none}html.os-windows .auth-container{background:linear-gradient(180deg,#f9fbff 0%,#ffffff 100%);font-family:Inter,Segoe UI Variable Text,Segoe UI,Roboto,sans-serif}html.os-windows .auth-form h2{letter-spacing:-.02em}html.os-windows .form-group input,html.os-windows .auth-button,html.os-windows .google-button{border-radius:10px}html.os-windows .auth-button,html.os-windows .google-button{box-shadow:0 2px 8px #0f172a14}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}:root{--ui-surface: #ffffff;--ui-surface-soft: #f8fafc;--ui-border-soft: #e2e8f0;--ui-text-main: #1a1a2e;--ui-text-muted: #64748b;--ui-shadow-xs: 0 2px 8px rgba(15, 23, 42, .08);--ui-shadow-sm: 0 6px 20px rgba(15, 23, 42, .08);--ui-shadow-md: 0 12px 30px rgba(15, 23, 42, .12);--ui-shadow-modal: 0 20px 45px rgba(15, 23, 42, .22);--ui-radius-sm: 8px;--ui-radius-md: 12px;--ui-radius-lg: 16px}body{font-family:Inter,Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;color:var(--ui-text-main);font-size:16px;line-height:1.6;letter-spacing:.01em}html.os-windows{--ui-surface: #ffffff;--ui-surface-soft: #f7f9fc;--ui-border-soft: #d8e1ec;--ui-text-main: #132238;--ui-text-muted: #5f6f82;--ui-shadow-xs: 0 2px 9px rgba(15, 23, 42, .09);--ui-shadow-sm: 0 8px 24px rgba(15, 23, 42, .09);--ui-shadow-md: 0 14px 36px rgba(15, 23, 42, .14);--ui-shadow-modal: 0 24px 48px rgba(15, 23, 42, .2);--ui-radius-sm: 9px;--ui-radius-md: 13px;--ui-radius-lg: 18px;--primary: #4f7cff;--primary-dark: #3e63d3;--secondary: #89a4ff;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #0284c7;--bg-light: #f6f8fc;--bg-white: #ffffff;--text-dark: #132238;--text-gray: #5f6f82;--border-light: #d8e1ec;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-md: 0 8px 22px rgba(15, 23, 42, .11);--shadow-lg: 0 16px 38px rgba(15, 23, 42, .13);--primary-color: #2563eb;--primary-hover: #1d4ed8;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--text-primary: #132238;--text-secondary: #5f6f82;--text-muted: #8aa0b6;--bg-primary: #f6f8fc;--bg-card: #ffffff;--border-color: #d8e1ec;--radius-sm: .55rem;--radius-md: .8rem;--radius-lg: 1.05rem}html.os-windows body{font-family:Inter,Segoe UI Variable Text,Segoe UI,Source Sans Pro,-apple-system,sans-serif;letter-spacing:.006em;line-height:1.58;background:#f6f8fc;text-rendering:geometricPrecision}html.os-macos body{text-rendering:optimizeLegibility}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}html.os-windows ::-webkit-scrollbar{width:10px;height:10px}html.os-windows ::-webkit-scrollbar-thumb{background:#b8c4d6;border:2px solid #f1f5f9}html.os-windows ::-webkit-scrollbar-thumb:hover{background:#9fb0c7}::selection{background:#4f46e5;color:#fff}a{color:#4f46e5;text-decoration:none;transition:color .2s ease}a:hover{color:#4338ca}button,input,textarea,select{font-family:inherit}html.os-windows :where(.app,[class^=dashboard-],[class*=" dashboard-"],[class^=admin-],[class*=" admin-"],[class^=teacher-],[class*=" teacher-"],[class^=community-],[class*=" community-"],[class^=bb-],[class*=" bb-"],[class^=auth-],[class*=" auth-"]){color:var(--ui-text-main);text-rendering:geometricPrecision}html.os-windows :where(h1,h2,h3,h4,h5,h6,[class*=title]){letter-spacing:-.01em}html.os-windows :where(button,[class~=btn],[class*=-btn],[class*=" btn"]){font-family:inherit;letter-spacing:.003em;-webkit-font-smoothing:antialiased}html.os-windows :where(button:not(:disabled),[class~=btn]:not(:disabled),[class*=-btn]:not(:disabled),[class*=" btn"]:not(:disabled)){transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}html.os-windows :where(button:not(:disabled):hover,[class~=btn]:not(:disabled):hover,[class*=-btn]:not(:disabled):hover,[class*=" btn"]:not(:disabled):hover){box-shadow:var(--ui-shadow-xs)}html.os-windows :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){border-radius:var(--ui-radius-sm);border-color:var(--ui-border-soft);background:#ffffff;color:var(--ui-text-main);box-shadow:inset 0 1px #ffffffb3}html.os-windows :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select):focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb26}html.os-windows :where([class*=-card],[class~=card],[class*=-panel],[class*=-modal],[class*=-dialog],[class*=-popup],[class*=-drawer]):not([class*=overlay]):not([class*=backdrop]){border-color:var(--ui-border-soft);box-shadow:var(--ui-shadow-xs)}html.os-windows :where(table,[class*=table]){border-color:var(--ui-border-soft)}html.os-windows :where(th,td,[class*=-cell]){border-color:var(--ui-border-soft)}html.os-windows :where([class*=sidebar],[class*=header],[class*=topbar],[class*=toolbar],[class*=footer],[class*=divider]){border-color:var(--ui-border-soft)}html.os-windows :where([class*=badge],[class*=tag],[class*=chip]){border-radius:999px}@media (min-width: 1024px){.ui-scale-95{--ui-scale-factor: .95;zoom:var(--ui-scale-factor)}}.admin-auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b 0%,#334155 50%,#475569 100%);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.admin-auth-card{background:white;padding:3rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;animation:slideUp .4s ease-out}.admin-auth-header{text-align:center;margin-bottom:2rem}.admin-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:16px;color:#fff;margin-bottom:1.5rem;box-shadow:0 8px 16px #3b82f64d}.admin-auth-header h1{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.admin-auth-header p{color:#64748b;font-size:.95rem;margin:0}.admin-error-message{display:flex;align-items:center;gap:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.875rem 1rem;color:#dc2626;font-size:.9rem;margin-bottom:1.5rem;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.admin-error-message svg{flex-shrink:0}.admin-auth-form{display:flex;flex-direction:column;gap:1.25rem}.admin-form-group{display:flex;flex-direction:column;gap:.5rem}.admin-form-group label{font-weight:600;color:#334155;font-size:.9rem}.admin-form-group input{width:100%;padding:.875rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s;background:#f8fafc}.admin-form-group input:focus{outline:none;border-color:#3b82f6;background:white;box-shadow:0 0 0 3px #3b82f61a}.admin-form-group input:disabled{opacity:.6;cursor:not-allowed}.admin-submit-button{width:100%;padding:1rem;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.admin-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 4px 12px #2563eb66;transform:translateY(-1px)}.admin-submit-button:active:not(:disabled){transform:translateY(0)}.admin-submit-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.admin-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center}.student-login-link{display:inline-flex;align-items:center;gap:.5rem;color:#64748b;text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.student-login-link:hover{color:#3b82f6}.student-login-link svg{transition:transform .2s}.student-login-link:hover svg{transform:translate(-3px)}@media (max-width: 640px){.admin-auth-container{padding:1rem}.admin-auth-card{padding:2rem 1.5rem}.admin-auth-header h1{font-size:1.75rem}.admin-icon{width:56px;height:56px}}html.os-windows .admin-auth-container{background:linear-gradient(135deg,#1d2a3b 0%,#2f4258 52%,#4e6379 100%);font-family:Inter,Segoe UI Variable Text,Segoe UI,Roboto,sans-serif}html.os-windows .admin-auth-card{border:1px solid #d8e1ec;border-radius:14px;box-shadow:0 18px 42px #0f172a42}html.os-windows .admin-form-group input,html.os-windows .admin-submit-button{border-radius:10px}.dashboard-overview-simple{max-width:1200px;margin:0 auto;padding:0 24px}.simple-greeting{margin-bottom:40px;padding:32px;background:white;border-radius:16px;box-shadow:0 2px 12px #00000014}.simple-greeting h1{font-size:2.2rem;font-weight:700;color:#1a1a1a;margin:0 0 8px}.simple-greeting p{font-size:1.1rem;color:#6b7280;margin:0;font-weight:500}.dashboard-countdown-panel{margin-bottom:40px;padding:30px 30px 34px;background:#ffffff;border-radius:28px;border:1px solid #d9dfeb;box-shadow:0 16px 36px #0f172a14}.dashboard-countdown-header{display:flex;align-items:center;gap:24px;margin-bottom:28px}.dashboard-countdown-icon{width:96px;height:96px;border-radius:28px;background:#142033;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:2.7rem;flex-shrink:0;box-shadow:inset 0 1px #ffffff14}.dashboard-countdown-title-wrap h2{margin:0;font-size:3rem;line-height:1;font-weight:800;color:#162033;letter-spacing:-.04em}.dashboard-countdown-title-wrap p{margin:12px 0 0;font-size:1.05rem;color:#6b7280;font-weight:600}.dashboard-countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.dashboard-countdown-box{min-height:220px;border-radius:28px;background:#ffffff;border:1px solid #d9dfeb;box-shadow:0 8px 20px #0f172a1f;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}.dashboard-countdown-number{display:block;font-size:clamp(4rem,8vw,7rem);line-height:.9;font-weight:900;letter-spacing:-.08em;color:#162033;font-variant-numeric:tabular-nums}.dashboard-countdown-box-label{display:block;margin-top:20px;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;color:#6b7280;font-weight:800}.dashboard-countdown-footer{margin-top:28px;text-align:center;font-size:1.05rem;font-weight:700;color:#6b7280}.announcements-section{margin-bottom:40px}.announcements-section h2{font-size:1.6rem;font-weight:700;color:#1a1a1a;margin:0 0 24px;display:flex;align-items:center;gap:10px}.announcements-list{display:flex;flex-direction:column;gap:16px}.announcement-item{background:white;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;border-left:4px solid #3b82f6}.announcement-item:hover{box-shadow:0 4px 16px #0000001a;transform:translate(4px)}.announcement-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.announcement-icon{font-size:1.8rem;flex-shrink:0}.announcement-header h3{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin:0;flex:1}.announcement-body{font-size:1rem;color:#4a5568;line-height:1.6;margin:0 0 12px;padding-left:42px;white-space:pre-line}.announcement-time{display:inline-block;font-size:.85rem;color:#9ca3af;font-weight:500;padding-left:42px}.loading-state{text-align:center;padding:60px 24px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000000f}.spinner{width:50px;height:50px;border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loading-state p{font-size:1rem;color:#6b7280;font-weight:500;margin:0}.empty-state{text-align:center;padding:60px 24px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:2px dashed #d1d5db}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state p{font-size:1.2rem;font-weight:600;color:#4a5568;margin:0 0 8px}.empty-state span{font-size:.95rem;color:#9ca3af;font-weight:500}@media (max-width: 768px){.dashboard-overview-simple{padding:0 16px}.simple-greeting{padding:24px;margin-bottom:30px}.simple-greeting h1{font-size:1.8rem}.simple-greeting p{font-size:1rem}.dashboard-countdown-panel{padding:24px 22px 28px}.dashboard-countdown-header{gap:18px;margin-bottom:24px}.dashboard-countdown-icon{width:80px;height:80px;border-radius:24px;font-size:2.2rem}.dashboard-countdown-title-wrap h2{font-size:2.4rem}.dashboard-countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-countdown-box{min-height:190px}.announcements-section h2{font-size:1.4rem}.announcement-item{padding:20px}.announcement-header h3{font-size:1.1rem}.announcement-body{font-size:.95rem;padding-left:38px}.announcement-time{padding-left:38px}}@media (max-width: 480px){.simple-greeting h1{font-size:1.5rem}.dashboard-countdown-panel{padding:22px 18px 24px;border-radius:22px}.dashboard-countdown-header{flex-direction:column;align-items:flex-start}.dashboard-countdown-title-wrap h2{font-size:2rem}.dashboard-countdown-title-wrap p{font-size:.95rem}.dashboard-countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-countdown-box{min-height:150px;border-radius:22px}.dashboard-countdown-number{font-size:3.4rem}.dashboard-countdown-box-label{margin-top:14px;font-size:.82rem}.announcement-header{flex-direction:column;align-items:flex-start;gap:8px}.announcement-body,.announcement-time{padding-left:0}}.exam-countdown-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#ffffff;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .5s ease-in-out}.exam-countdown-container{text-align:center;color:#1a1a1a;position:relative;max-width:600px;padding:2rem}.countdown-bg-animation{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,0,0,.02) 1px,transparent 1px);background-size:80px 80px;animation:float 30s infinite linear;pointer-events:none}.exam-title-display{margin-bottom:3rem;animation:slideDown .8s ease-out}.exam-title-display h2{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#1a1a1a}.exam-title-display p{font-size:1.2rem;opacity:.7;font-weight:400;color:#666}.countdown-number{position:relative;margin:3rem 0;animation:bounceIn .6s ease-out}.count-digit{font-size:8rem;font-weight:900;color:#1a1a1a;display:inline-block;animation:pulse 1s ease-in-out}.count-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border:3px solid rgba(0,0,0,.1);border-radius:50%;animation:rotate 1s linear}.motivation-display{animation:zoomIn .8s ease-out}.motivation-text{font-size:2.5rem;font-weight:600;margin-bottom:1rem;color:#1a1a1a;animation:fadeInScale .8s ease-out}.motivation-subtitle{font-size:1.5rem;font-weight:500;color:#666;animation:fadeInUp 1s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (max-width: 768px){.exam-title-display h2{font-size:2rem}.exam-title-display p{font-size:1rem}.count-digit{font-size:6rem}.count-circle{width:150px;height:150px}.motivation-text{font-size:1.8rem}.motivation-subtitle{font-size:1.2rem}}@media (max-width: 480px){.exam-countdown-container{padding:1rem}.exam-title-display h2{font-size:1.5rem}.count-digit{font-size:4rem}.count-circle{width:120px;height:120px}.motivation-text{font-size:1.4rem}.motivation-subtitle{font-size:1rem}}.question-search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.question-search-modal{background:white;border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.search-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.search-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.25rem;color:#1f2937}.search-header .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:8px;transition:all .2s}.search-header .close-btn:hover{background:#f3f4f6;color:#1f2937}.search-controls{padding:20px 24px;border-bottom:1px solid #e5e7eb}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:16px;color:#9ca3af}.search-input-wrapper input{width:100%;padding:14px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .2s}.search-input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper .clear-btn{position:absolute;right:12px;background:none;border:none;padding:6px;cursor:pointer;color:#9ca3af;border-radius:6px}.search-input-wrapper .clear-btn:hover{background:#f3f4f6;color:#6b7280}.filter-row{display:flex;gap:12px;margin-top:12px}.section-filter{display:flex;align-items:center;gap:8px;color:#6b7280}.section-filter select{padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;cursor:pointer;background:white}.search-btn{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;margin-left:auto}.search-btn:hover:not(:disabled){background:#2563eb}.search-btn:disabled{background:#9ca3af;cursor:not-allowed}.search-error{padding:12px 24px;background:#fef2f2;color:#dc2626;font-size:.9rem}.search-results{flex:1;overflow-y:auto;padding:0}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#6b7280;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state p{margin:0 0 8px;font-size:1rem;color:#4b5563}.empty-state span{font-size:.875rem;color:#9ca3af}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.results-count{padding:12px 24px;background:#f9fafb;font-size:.875rem;color:#6b7280;border-bottom:1px solid #e5e7eb}.results-list{padding:12px}.result-item{background:#f9fafb;border-radius:12px;margin-bottom:12px;overflow:hidden;transition:all .2s}.result-item:hover{background:#f3f4f6}.result-item.expanded{background:white;box-shadow:0 4px 12px #0000001a}.result-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer}.result-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exam-name{font-weight:500;color:#1f2937;font-size:.9rem}.question-number-badge{padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:600;background:#ecfeff;color:#0f766e;border:1px solid #99f6e4}.section-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.section-badge.math{background:#dbeafe;color:#1d4ed8}.section-badge.verbal{background:#fef3c7;color:#b45309}.difficulty-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.difficulty-badge.easy{background:#d1fae5;color:#047857}.difficulty-badge.medium{background:#fef3c7;color:#b45309}.difficulty-badge.hard{background:#fee2e2;color:#dc2626}.expand-icon{color:#9ca3af;transition:transform .2s}.expand-icon.rotated{transform:rotate(90deg)}.result-preview{padding:0 16px 14px}.preview-text{font-size:.875rem;color:#6b7280;line-height:1.5}.preview-text mark,.search-highlight{background:linear-gradient(120deg,#fef08a 0%,#fde047 100%);padding:2px 4px;border-radius:3px;font-weight:600;color:#92400e;box-shadow:0 1px 2px #0000001a}.result-details{padding:16px;border-top:1px solid #e5e7eb;background:white}.detail-section{margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:8px}.detail-content{font-size:.9rem;line-height:1.6;color:#1f2937}.detail-content.passage{background:#f9fafb;padding:12px;border-radius:8px;overflow-y:auto}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f9fafb;border-radius:8px;font-size:.875rem}.option.correct{background:#d1fae5;border:1px solid #10b981}.option-letter{font-weight:600;color:#6b7280;min-width:20px}.option.correct .option-letter{color:#047857}.practice-btn{width:100%;margin-top:16px;padding:12px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.practice-btn:hover{background:#2563eb}@media (max-width: 640px){.question-search-modal{max-height:100vh;border-radius:0}.filter-row{flex-direction:column}.search-btn{margin-left:0;width:100%}.options-grid{grid-template-columns:1fr}}.result-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;cursor:pointer;transition:all .15s}.result-item:hover{background:#eef2ff;transform:translate(4px)}.result-actions{display:flex;justify-content:flex-end}.preview-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#e0e7ff;color:#4338ca;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s}.preview-btn:hover{background:#c7d2fe}.preview-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.preview-popup{background:white;border-radius:16px;width:100%;max-width:650px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;animation:popupSlideIn .2s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.preview-popup-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:16px 16px 0 0}.preview-popup-meta{display:flex;align-items:center;gap:10px}.preview-popup-content{flex:1;overflow-y:auto;padding:20px}.preview-section{margin-bottom:20px}.preview-section:last-child{margin-bottom:0}.preview-section label{display:block;font-size:.8rem;font-weight:600;color:#6b7280;margin-bottom:10px}.preview-passage{background:#fefce8;padding:16px;border-radius:10px;font-size:.9rem;line-height:1.7;overflow-y:auto;border-left:4px solid #eab308}.preview-question-text{font-size:1rem;line-height:1.6;color:#1f2937;padding:12px;background:#f0f9ff;border-radius:10px;border-left:4px solid #3b82f6}.preview-options{display:flex;flex-direction:column;gap:10px}.preview-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;transition:all .15s}.preview-option.correct{background:#dcfce7;border-color:#22c55e}.preview-option .option-letter{font-weight:700;color:#6b7280;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:white;border-radius:6px;font-size:.85rem}.preview-option.correct .option-letter{background:#22c55e;color:#fff}.preview-option .option-value{flex:1;font-size:.9rem;line-height:1.5}.preview-option .correct-mark{color:#22c55e;font-weight:700;font-size:1.1rem}.preview-popup-footer{padding:16px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.go-to-exam-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #3b82f64d}.go-to-exam-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}@media (max-width: 640px){.preview-popup{max-height:90vh;margin:10px}}.bluebook-preview-popup{background:#f0f2f5;border-radius:12px;width:95%;max-width:1100px;height:90vh;max-height:800px;display:flex;flex-direction:column;box-shadow:0 25px 80px #0006;animation:popupSlideIn .25s ease-out;overflow:hidden}.bluebook-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#1e3a5f;color:#fff}.preview-exam-info{display:flex;align-items:center;gap:12px}.preview-exam-info .exam-title{font-weight:600;font-size:.95rem}.preview-exam-info .question-number-tag{padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:600;background:#ecfeff;color:#0f766e}.preview-exam-info .section-tag{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.preview-exam-info .section-tag.math{background:#3b82f6}.preview-exam-info .section-tag.verbal{background:#f59e0b}.preview-exam-info .difficulty-tag{padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:500}.preview-exam-info .difficulty-tag.easy{background:#22c55e}.preview-exam-info .difficulty-tag.medium{background:#f59e0b}.preview-exam-info .difficulty-tag.hard{background:#ef4444}.bluebook-preview-header .close-btn{background:rgba(255,255,255,.1);border:none;color:#fff;padding:8px;border-radius:8px;cursor:pointer;transition:all .15s}.bluebook-preview-header .close-btn:hover{background:rgba(255,255,255,.2)}.bluebook-preview-body{flex:1;display:flex;overflow:hidden}.bluebook-left-panel{width:50%;background:white;border-right:1px solid #e5e7eb;overflow-y:auto;padding:24px;min-height:400px}.bluebook-left-panel .passage-content{font-size:.95rem;line-height:1.8;color:#1f2937;white-space:pre-wrap}.bluebook-right-panel{width:50%;background:white;overflow-y:auto;padding:24px;display:flex;flex-direction:column}.bluebook-right-panel.full-width{width:100%}.bluebook-right-panel .question-content{font-size:1rem;line-height:1.7;color:#1f2937;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.bluebook-right-panel .options-list{display:flex;flex-direction:column;gap:12px}.bluebook-right-panel .option-item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:default;transition:all .15s}.bluebook-right-panel .option-item.correct{background:#dcfce7;border-color:#22c55e}.bluebook-right-panel .option-circle{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;border:2px solid #9ca3af;border-radius:50%;font-weight:600;font-size:.9rem;color:#6b7280;background:white}.bluebook-right-panel .option-item.correct .option-circle{background:#22c55e;border-color:#22c55e;color:#fff}.bluebook-right-panel .option-text{flex:1;font-size:.95rem;line-height:1.5;padding-top:4px}.bluebook-preview-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.bluebook-preview-footer .secondary-btn{padding:10px 20px;background:white;color:#4b5563;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.bluebook-preview-footer .secondary-btn:hover{background:#f3f4f6}.bluebook-preview-footer .primary-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s}.bluebook-preview-footer .primary-btn:hover{background:#2563eb}@media (max-width: 768px){.bluebook-preview-popup{height:95vh;max-height:none}.bluebook-preview-body{flex-direction:column}.bluebook-left-panel,.bluebook-right-panel{width:100%}.bluebook-left-panel{max-height:40%;border-right:none;border-bottom:1px solid #e5e7eb}}.review-page{padding:1.5rem 2rem;max-width:1200px;margin:0 auto;background:#fafafa;min-height:100vh}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.review-title h1{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 .25rem}.review-title p{color:#666;font-size:.9rem;margin:0}.review-actions{display:flex;gap:.75rem}.practice-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#f97316;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.practice-btn:hover:not(:disabled){background:#ea580c}.practice-btn:disabled{background:#fed7aa;cursor:not-allowed}.history-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer}.history-btn svg{width:16px;height:16px}.review-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border-radius:12px;border:1px solid #e5e5e5}.stat-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fef2f2}.stat-icon svg{width:22px;height:22px;stroke:#ef4444}.stat-icon.orange{background:#fff7ed}.stat-icon.orange svg{stroke:#f97316}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.85rem;color:#666}.stat-value{font-size:1.5rem;font-weight:600}.stat-value.red{color:#ef4444}.stat-value.orange{color:#f97316}.review-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e5e5}.filter-tabs{display:flex;gap:0;background:#f0f0f0;border-radius:8px;padding:3px}.filter-tab{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;font-size:.85rem;color:#666;cursor:pointer;transition:all .2s}.filter-tab:hover{color:#1a1a1a}.filter-tab.active{background:#fff;color:#1a1a1a;font-weight:500;box-shadow:0 1px 3px #0000001a}.filter-controls{display:flex;gap:.75rem;align-items:center}.select-all-btn{padding:.5rem 1rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;cursor:pointer}.select-all-btn:hover{background:#f5f5f5}.filter-controls select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.85rem;background:#fff;cursor:pointer}.question-list{display:flex;flex-direction:column;gap:.75rem}.review-pagination{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.pagination-btn{padding:.5rem .9rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:#3b82f6;color:#1d4ed8}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.85rem;color:#64748b;font-weight:500}.question-card{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 220px;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;border:1px solid #e5e5e5;align-items:start;overflow:hidden}.question-card.math-question-card{grid-template-columns:40px minmax(0,1fr) 220px}.question-card.note-card,.question-card.frequent-card{display:block}.question-card.frequent-card .question-passage{border-right:none;padding-right:0}.question-checkbox{padding-top:.25rem}.question-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#f97316}.question-passage{padding-right:1rem;border-right:1px solid #f0f0f0;min-width:0;overflow:hidden}.section-label{display:block;font-size:.7rem;color:#94a3b8;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.passage-content{font-size:.9rem;line-height:1.7;color:#374151;max-height:100px;overflow:hidden;position:relative;transition:max-height .3s ease}.passage-content.expanded{max-height:none!important;overflow:visible}.passage-content.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,white);pointer-events:none}.passage-content p{margin:0 0 .5rem}.passage-content ul,.passage-content ol{margin:.5rem 0;padding-left:1.25rem}.passage-content li{margin-bottom:.25rem}.passage-content img{max-width:100%;height:auto;max-height:200px;object-fit:contain;border-radius:8px;margin:.5rem 0}.passage-content.expanded img{max-height:none}.passage-content table{width:100%;max-width:100%;border-collapse:collapse;font-size:.8rem;margin:.5rem 0;overflow-x:auto;display:block}.passage-content th,.passage-content td{padding:.4rem .6rem;border:1px solid #e5e7eb;text-align:left}.passage-content th{background:#f8fafc;font-weight:600}.passage-content h1,.passage-content h2,.passage-content h3,.passage-content h4{font-size:1rem;font-weight:600;margin:.5rem 0;line-height:1.4}.question-passage p{margin:0;font-size:.9rem;line-height:1.6;color:#333}.question-passage p.expanded{max-height:none}.read-more{background:none;border:none;color:#3b82f6;font-size:.8rem;cursor:pointer;padding:0;margin-top:.5rem;font-weight:500}.read-more:hover{text-decoration:underline}.note-section{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px dashed #e5e5e5}.note-icon{font-size:.9rem}.note-label{font-size:.8rem;color:#999}.add-note{font-size:.85rem;color:#3b82f6;cursor:pointer}.note-editor{display:flex;gap:.5rem;flex:1}.note-editor input{flex:1;padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem}.note-editor button{padding:.4rem .75rem;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.note-editor button:first-of-type{background:#1a1a1a;color:#fff}.note-editor button:last-of-type{background:#f0f0f0}.question-content{padding:0 1rem;min-width:0;overflow:hidden}.question-content.math-only{padding-right:1rem}.question-content.math-only .math-content p{margin:0}.question-text-content{font-size:.95rem;line-height:1.7;color:#1e293b;word-wrap:break-word;overflow-wrap:break-word}.question-text-content p{margin:0}.question-options{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.question-option-item{display:flex;align-items:flex-start;gap:.6rem;border:1px solid #dbe4ef;border-radius:10px;padding:.55rem .7rem;background:#f8fafc}.question-option-key{width:24px;height:24px;min-width:24px;border-radius:999px;border:1.5px solid #94a3b8;color:#64748b;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;background:#ffffff}.question-option-text{flex:1;min-width:0;color:#334155;font-size:.9rem;line-height:1.55}.question-option-text .math-content{font-size:.9rem}.question-option-item.wrong-selected{border-color:#fca5a5;background:#fef2f2}.question-option-item.wrong-selected .question-option-key{border-color:#ef4444;color:#fff;background:#ef4444}.option-flag{align-self:center;font-size:.72rem;font-weight:700;border-radius:999px;padding:.2rem .55rem;white-space:nowrap}.option-flag.wrong{background:#fee2e2;color:#b91c1c}.question-content p{margin:0;font-size:.95rem;line-height:1.6;color:#1a1a1a;word-wrap:break-word}.question-meta{display:flex;flex-direction:column;gap:.75rem;padding-left:1rem;border-left:1px solid #f0f0f0}.meta-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.tag.blue{background:#dbeafe;color:#1d4ed8}.tag.gray{background:#f3f4f6;color:#374151}.tag.light{background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb}.wrong-count{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.wrong-icon,.wrong-text{color:#ef4444}.exam-info{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#666}.exam-icon{font-size:.9rem}.exam-name{color:#3b82f6}.exam-detail{color:#999}.review-btn{padding:.6rem 1rem;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.review-btn:hover{background:#059669}.history-panel{position:fixed;top:0;right:0;width:360px;height:100vh;background:#fff;box-shadow:-4px 0 20px #0000001a;z-index:100;display:flex;flex-direction:column}.history-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e5e5}.history-header h3{margin:0;font-size:1.1rem;font-weight:600}.history-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.history-list{flex:1;overflow-y:auto;padding:1rem}.no-history{text-align:center;color:#999;padding:2rem}.history-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-radius:8px;margin-bottom:.75rem}.history-info{display:flex;flex-direction:column;gap:.25rem}.history-name{font-weight:500;color:#1a1a1a}.history-meta{font-size:.8rem;color:#666}.history-actions{display:flex;gap:.5rem}.history-actions button{padding:.4rem .75rem;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;background:#1a1a1a;color:#fff}.history-actions button.delete{background:#fff;border:1px solid #e0e0e0}.empty-state,.loading-state{text-align:center;padding:4rem 2rem;color:#888}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;width:90%;max-width:400px}.modal-content h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.modal-content p{margin:0 0 1.5rem;color:#666}.modal-content input{width:100%;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions button{padding:.6rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.modal-actions button:first-child{background:#f0f0f0;color:#666}.modal-actions button.primary{background:#f97316;color:#fff}.modal-actions button.primary:disabled{background:#fed7aa;cursor:not-allowed}@media (max-width: 1024px){.question-card{grid-template-columns:40px 1fr;gap:1rem}.question-passage,.question-content,.question-meta{grid-column:2;border:none;padding:0}.question-meta{flex-direction:row;flex-wrap:wrap;align-items:center}}@media (max-width: 768px){.review-page{padding:1rem}.review-header{flex-direction:column;gap:1rem}.review-stats{grid-template-columns:1fr}.review-filters{flex-direction:column;gap:1rem;align-items:stretch}.filter-controls{flex-wrap:wrap}.history-panel{width:100%}}.passage-actions{display:flex;gap:.75rem;margin-top:.5rem}.view-full-btn{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.view-full-btn:hover{background:#e0f2fe;border-color:#7dd3fc}.passage-modal{background:#fff;border-radius:16px;width:90%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040}.passage-modal-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc;border-radius:16px 16px 0 0}.passage-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1e293b}.passage-modal-exam{font-size:.85rem;color:#64748b;background:#e2e8f0;padding:.25rem .75rem;border-radius:20px}.close-modal{margin-left:auto;background:none;border:none;font-size:1.75rem;color:#94a3b8;cursor:pointer;line-height:1;padding:0;transition:color .2s}.close-modal:hover{color:#475569}.passage-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.passage-modal-content{font-size:1rem;line-height:1.8;color:#374151}.passage-modal-content p{margin:0 0 1rem}.passage-modal-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.passage-modal-content table{width:100%;border-collapse:collapse;margin:1rem 0}.passage-modal-content th,.passage-modal-content td{padding:.75rem;border:1px solid #e5e7eb;text-align:left}.passage-modal-content th{background:#f8fafc;font-weight:600}.passage-modal-question{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.passage-modal-question h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.05em}.passage-content.collapsed{position:relative}.passage-content.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to bottom,transparent,white);pointer-events:none}.error-log-page{padding:2rem;max-width:1600px;margin:0 auto;min-height:100vh;background:#f8fafc}.error-log-back-btn{position:fixed;top:1rem;left:1rem;z-index:50;display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;font-weight:600;color:#374151;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s}.error-log-back-btn:hover{background-color:#f9fafb;border-color:#3b82f6;color:#3b82f6}.error-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-top:1rem}.error-log-title h1{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.error-log-title p{color:#64748b;margin:0;font-size:.9rem}.error-log-add-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #3b82f64d}.error-log-add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.error-log-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.error-log-stats .stat-card{background:white;border-radius:.75rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000000d;border:1px solid #e5e7eb}.error-log-stats .stat-icon{font-size:1.5rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:.5rem}.error-log-stats .stat-content{display:flex;flex-direction:column}.error-log-stats .stat-label{font-size:.8rem;color:#64748b;margin-bottom:.25rem}.error-log-stats .stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.error-log-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.error-log-filters select,.error-log-search-input{padding:.625rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;background:white;min-width:180px;cursor:pointer}.error-log-filters select:focus{outline:none;border-color:#3b82f6}.error-log-search-input{min-width:260px}.error-log-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.filter-apply-btn{padding:.625rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.filter-apply-btn:hover{background:#2563eb}.error-log-view-toggle{display:flex;flex-wrap:wrap;gap:.625rem;margin:0 0 1.5rem}.view-toggle-btn{border:1px solid #dbe2ea;background:#fff;color:#334155;border-radius:999px;padding:.45rem .95rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{border-color:#93c5fd;color:#1d4ed8}.view-toggle-btn.active{background:#0f172a;border-color:#0f172a;color:#fff}.view-toggle-btn.focus{background:#eef9ff;border-color:#bae6fd;color:#075985}.template-dual-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(420px,1.35fr);gap:1rem;margin-bottom:1rem}.template-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;box-shadow:0 4px 16px #0f172a0d}.template-panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.85rem}.template-panel-header h3{margin:0;font-size:1.5rem;color:#0f172a;font-weight:700}.template-panel-header span{color:#64748b;font-size:.82rem}.record-ring-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.record-ring{width:118px;height:118px;border-radius:999px;display:flex;align-items:center;justify-content:center}.record-ring-inner{width:88px;height:88px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;justify-content:center}.record-ring-inner strong{color:#0f172a;font-size:1.1rem;line-height:1}.record-ring-inner small{color:#64748b;font-size:.7rem;margin-top:.2rem}.record-summary{flex:1;display:flex;flex-direction:column;gap:.55rem}.record-summary-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.84rem;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:.45rem .65rem}.record-summary-item b{color:#0f172a}.record-list{display:flex;flex-direction:column;gap:.5rem}.record-item{display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .7rem;border:1px solid #edf2f7;background:#f8fafc;border-radius:10px}.record-item-main{min-width:0;display:flex;flex-direction:column;gap:.2rem}.record-item-title{font-size:.82rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-item-meta{color:#64748b;font-size:.74rem}.record-item-score{min-width:44px;text-align:right;color:#0f172a;font-weight:700;font-size:.95rem}.record-empty{color:#94a3b8;font-size:.82rem;padding:.35rem 0}.database-mini-table-wrap{overflow:auto;border:1px solid #edf2f7;border-radius:10px}.database-mini-table{width:100%;border-collapse:collapse;min-width:560px}.database-mini-table th{text-align:left;font-size:.75rem;letter-spacing:.01em;text-transform:uppercase;color:#64748b;padding:.62rem .7rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.database-mini-table td{padding:.62rem .7rem;font-size:.8rem;color:#334155;border-bottom:1px solid #f1f5f9;vertical-align:middle}.database-mini-table tbody tr{cursor:pointer}.database-mini-table tbody tr:hover{background:#f8fafc}.mini-pill{display:inline-flex;align-items:center;padding:.15rem .42rem;border-radius:999px;font-size:.72rem;font-weight:600;color:#1e40af;background:#dbeafe}.pipeline-board-section{margin-top:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;box-shadow:0 5px 18px #0f172a0d}.pipeline-board-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.pipeline-board-header h2{margin:0;color:#0f172a;font-size:1.9rem;line-height:1}.pipeline-board-header p{margin:.35rem 0 0;color:#64748b;font-size:.86rem}.pipeline-due-chip{padding:.35rem .65rem;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;font-size:.76rem;font-weight:600;border-radius:999px;white-space:nowrap}.pipeline-board-grid{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:.7rem;overflow-x:auto}.pipeline-column{min-width:210px;border-radius:11px;border:1px solid #e2e8f0;background:#f8fafc;padding:.55rem;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.pipeline-column.drag-over{border-color:#0ea5e9;box-shadow:inset 0 0 0 2px #0ea5e940;transform:translateY(-2px)}.pipeline-column.not-started{background:#fff7ed;border-color:#fed7aa}.pipeline-column.in-progress{background:#eff6ff;border-color:#bfdbfe}.pipeline-column.level-1{background:#fef3f2;border-color:#fecaca}.pipeline-column.level-2{background:#f5f3ff;border-color:#ddd6fe}.pipeline-column.done{background:#f0fdf4;border-color:#bbf7d0}.pipeline-column-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem;font-weight:600;color:#334155;font-size:.82rem}.pipeline-column-top strong{font-size:.82rem;color:#0f172a}.pipeline-card-list{display:flex;flex-direction:column;gap:.5rem}.pipeline-empty-slot{border:1px dashed #cbd5e1;border-radius:9px;min-height:70px;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.77rem}.pipeline-card{background:#fff;border:1px solid #e2e8f0;border-radius:9px;padding:.55rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 1px 2px #0f172a0a}.pipeline-card.dragging{opacity:.45;border-style:dashed}.pipeline-card.saving{opacity:.7}.pipeline-card-title{background:none;border:none;text-align:left;margin:0;padding:0;color:#0f172a;font-size:.82rem;font-weight:600;cursor:pointer;line-height:1.35}.pipeline-card-title:hover{color:#1d4ed8}.pipeline-card-meta{display:flex;flex-direction:column;gap:.2rem;color:#64748b;font-size:.72rem}.pipeline-card-due{font-size:.72rem;color:#9a3412;font-weight:600;background:#fff7ed;border:1px solid #fed7aa;padding:.2rem .45rem;border-radius:999px;width:fit-content}.pipeline-card-actions{display:flex;gap:.35rem}.pipeline-card-btn{flex:1;border:1px solid #0ea5e9;background:#0ea5e9;color:#fff;font-size:.72rem;font-weight:600;border-radius:7px;padding:.28rem .5rem;cursor:pointer}.pipeline-card-btn.ghost{background:#fff;color:#0369a1}.pipeline-card-btn:hover{opacity:.9}.pipeline-card-btn:disabled{opacity:.6;cursor:not-allowed}.error-log-detailed-table{margin-top:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem}.detailed-table-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.detailed-table-header h3{margin:0;font-size:1.1rem;color:#0f172a}.error-log-filter-result{margin-top:.75rem;font-size:.82rem;color:#64748b}.error-log-loading{text-align:center;padding:3rem;color:#64748b;font-size:1rem}.error-log-empty{text-align:center;padding:4rem 2rem;background:white;border-radius:1rem;border:2px dashed #e5e7eb}.error-log-empty .empty-icon{font-size:3rem;margin-bottom:1rem}.error-log-empty h3{font-size:1.25rem;color:#374151;margin:0 0 .5rem}.error-log-empty p{color:#64748b;margin:0}.error-log-table-container{background:white;border-radius:.75rem;box-shadow:0 2px 8px #0000000d;overflow:hidden;border:1px solid #e5e7eb}.error-log-table{width:100%;border-collapse:collapse;font-size:.875rem}.error-log-table thead{background:#f8fafc;position:sticky;top:0}.error-log-table th{padding:1rem .75rem;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e5e7eb;white-space:nowrap}.error-log-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background .15s}.error-log-table tbody tr:hover{background:#f8fafc}.error-log-table td{padding:1rem .75rem;vertical-align:top}.test-name-cell{font-weight:600;color:#3b82f6;white-space:nowrap}.question-num-cell{font-weight:700;color:#1e293b;text-align:center}.topic-cell .topic-tag{display:inline-block;padding:.25rem .75rem;background:#e0f2fe;color:#0369a1;border-radius:999px;font-size:.75rem;font-weight:600}.answer-cell{text-align:center}.answer-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.375rem;font-weight:700;font-size:.875rem}.answer-badge.wrong{background:#fee2e2;color:#dc2626}.answer-badge.correct{background:#dcfce7;color:#16a34a}.cell-content{max-width:200px;line-height:1.5;color:#475569}.cell-content.tip{color:#059669;font-style:italic}.description-cell .cell-content,.solution-cell .cell-content,.tip-cell .cell-content{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.actions-cell{white-space:nowrap}.action-btn{background:none;border:none;padding:.375rem;cursor:pointer;font-size:1rem;border-radius:.375rem;transition:all .15s}.action-btn:hover{background:#f1f5f9}.action-btn.delete:hover{background:#fee2e2}.error-log-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.error-log-modal{background:white;border-radius:1rem;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:white;z-index:10}.modal-header h2{margin:0;font-size:1.25rem;color:#1e293b}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.25rem;line-height:1}.modal-close:hover{color:#1e293b}.error-log-modal form{padding:1.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1;margin-bottom:1rem}.form-group.small{flex:0 0 100px}.form-group label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;transition:all .15s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1rem}.btn-cancel{padding:.75rem 1.5rem;background:#f1f5f9;color:#475569;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-cancel:hover{background:#e2e8f0}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 1024px){.error-log-page{padding:1rem}.template-dual-grid{grid-template-columns:1fr}.pipeline-board-grid{grid-template-columns:repeat(5,minmax(220px,1fr))}.error-log-table-container{overflow-x:auto}.error-log-table{min-width:1000px}}@media (max-width: 768px){.error-log-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row{flex-direction:column;gap:0}.form-group.small{flex:1}.error-log-back-btn{position:relative;top:0;left:0;margin-bottom:1rem}.error-log-filters{gap:.6rem}.error-log-filters select,.error-log-search-input{width:100%;min-width:0}.record-ring-row,.pipeline-board-header{flex-direction:column;align-items:flex-start}.pipeline-board-grid{grid-template-columns:1fr}}.error-log-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem}.error-log-pagination button{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.error-log-pagination button:hover:not(:disabled){background:#2563eb}.error-log-pagination button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed}.error-log-pagination span{color:#64748b;font-size:.875rem}.question-detail-modal{max-width:1000px;width:95%}.question-detail-content{padding:1.5rem}.question-info-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.info-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.info-badge.exam{background:#dbeafe;color:#1d4ed8}.info-badge.question{background:#fef3c7;color:#b45309}.info-badge.type{background:#e0e7ff;color:#4338ca}.info-badge.skill{background:#f3e8ff;color:#7c3aed}.question-layout{display:flex;gap:1.5rem}.question-layout.single-column{flex-direction:column}.question-layout.two-column{flex-direction:row}.question-layout.two-column .passage-section,.question-layout.two-column .question-section{flex:1;max-width:50%}.passage-section{background:#f8fafc;border-radius:.75rem;padding:1.25rem;border:1px solid #e2e8f0}.passage-section h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.passage-content{font-size:.9rem;line-height:1.7;color:#334155;max-height:400px;overflow-y:auto}.question-section h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.05em}.question-content{font-size:1rem;line-height:1.6;color:#1e293b;margin-bottom:1.25rem;padding:1rem;background:#f1f5f9;border-radius:.5rem}.options-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.option-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.5rem;transition:all .15s}.option-item.correct{background:#f0fdf4;border-color:#22c55e}.option-item.wrong{background:#fef2f2;border-color:#ef4444}.option-key{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e2e8f0;border-radius:50%;font-weight:700;font-size:.8rem;color:#475569;flex-shrink:0}.option-item.correct .option-key{background:#22c55e;color:#fff}.option-item.wrong .option-key{background:#ef4444;color:#fff}.option-value{flex:1;font-size:.9rem;line-height:1.5;color:#334155}.option-value .math-content{font-size:.9rem;line-height:1.5;color:inherit}.option-value .math-content p{margin:0}.option-label{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem;flex-shrink:0}.option-label.correct-label{background:#dcfce7;color:#166534}.option-label.wrong-label{background:#fee2e2;color:#991b1b}.free-response-section{margin-bottom:1.5rem}.answer-comparison{display:flex;gap:1rem;flex-wrap:wrap}.answer-comparison .your-answer,.answer-comparison .correct-answer{flex:1;min-width:200px;padding:1rem;border-radius:.5rem}.answer-comparison .your-answer{background:#fef2f2;border:1px solid #fecaca}.answer-comparison .correct-answer{background:#f0fdf4;border:1px solid #bbf7d0}.answer-comparison .label{display:block;font-size:.75rem;font-weight:600;color:#64748b;margin-bottom:.5rem;text-transform:uppercase}.answer-comparison .value{font-size:1.125rem;font-weight:700}.answer-comparison .value .math-content{font-size:inherit;font-weight:inherit;line-height:1.45;color:inherit}.answer-comparison .value .math-content p{margin:0}.answer-comparison .value.wrong{color:#dc2626}.answer-comparison .value.correct{color:#16a34a}.answer-summary{display:flex;gap:2rem;padding:1rem;background:#f8fafc;border-radius:.5rem;border:1px solid #e2e8f0}.summary-item{display:flex;align-items:center;gap:.5rem}.summary-item .label{font-size:.875rem;color:#64748b}.summary-item .value{font-size:1rem;font-weight:700}.summary-item .value .math-content{font-size:inherit;font-weight:inherit;line-height:1.4;color:inherit}.summary-item .value .math-content p{margin:0}.summary-item .value.correct{color:#16a34a}.summary-item .value.wrong{color:#dc2626}.action-btn.view:hover{background:#dbeafe}.error-log-table-notes{table-layout:fixed;min-width:1200px}.error-log-table-notes th,.error-log-table-notes td{vertical-align:middle}.note-cell{padding:.5rem}.note-content{font-size:.8rem;line-height:1.4;color:#475569;max-height:80px;overflow:hidden;text-overflow:ellipsis}.note-placeholder{color:#94a3b8;font-style:italic;font-size:.75rem}.note-input{width:100%;padding:.5rem;border:1px solid #3b82f6;border-radius:.375rem;font-size:.8rem;font-family:inherit;resize:vertical;min-height:50px}.note-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f633}.action-btn.save{background:#dcfce7;color:#16a34a;font-weight:700}.action-btn.save:hover{background:#bbf7d0}.action-btn.cancel{background:#fee2e2;color:#dc2626;font-weight:700}.action-btn.cancel:hover{background:#fecaca}.actions-cell{display:flex;gap:.25rem;flex-wrap:wrap;justify-content:center}.confirm-modal{max-width:420px;padding-bottom:1rem}.confirm-body{padding:0 1.5rem;color:#475569;line-height:1.5}.confirm-info{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem 0}.skill-type-cell{padding:.5rem}.skill-tag{display:inline-block;padding:.25rem .5rem;background:#f0f9ff;color:#0369a1;border-radius:.25rem;font-size:.75rem;font-weight:500;line-height:1.3;word-break:break-word}.error-log-save-error{margin-bottom:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#b91c1c;font-size:.85rem;font-weight:500}.root-cause-cell{min-width:140px}.root-cause-select{width:100%;padding:.5rem;border:1px solid #3b82f6;border-radius:.375rem;background:#fff;font-size:.8rem}.root-cause-select:focus{outline:none;box-shadow:0 0 0 2px #3b82f633}.root-cause-badge{display:inline-block;padding:.2rem .45rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.72rem;font-weight:600}.cycle-cell{min-width:220px}.cycle-cell-content{display:flex;flex-direction:column;gap:.3rem}.cycle-badge{display:inline-block;width:fit-content;padding:.22rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600}.cycle-badge.needs-reason{background:#fee2e2;color:#b91c1c}.cycle-badge.wait{background:#fef3c7;color:#92400e}.cycle-badge.ready{background:#dbeafe;color:#1d4ed8}.cycle-badge.done{background:#dcfce7;color:#166534}.cycle-meta{font-size:.72rem;line-height:1.3;color:#64748b}@media (max-width: 768px){.question-layout.two-column{flex-direction:column}.question-layout.two-column .passage-section,.question-layout.two-column .question-section{max-width:100%}.question-detail-modal{max-height:95vh}.answer-summary{flex-direction:column;gap:.75rem}}.vocab-hub-page,.vocab-mode-page{min-height:100vh;width:100%;background:radial-gradient(circle at 12% 10%,rgba(37,99,235,.1) 0%,transparent 30%),radial-gradient(circle at 88% 14%,rgba(245,158,11,.14) 0%,transparent 36%),#f7f9fc;padding:1.5rem;color:#0f172a;font-family:Sora,Montserrat,Segoe UI,sans-serif}.vocab-hub-header{max-width:1180px;margin:0 auto 1rem;display:flex;align-items:center;gap:1rem}.vocab-hub-back{border:1px solid #d6dde8;background:#ffffff;color:#1e293b;padding:.65rem 1.1rem;border-radius:12px;font-weight:700;cursor:pointer}.vocab-hub-back:hover{border-color:#1d4ed8;color:#1e40af}.vocab-hub-title-wrap{display:flex;flex-direction:column;gap:.25rem}.vocab-hub-kicker{margin:0;font-size:.74rem;color:#1d4ed8;font-weight:700;letter-spacing:.08em}.vocab-hub-title{margin:0;font-size:2.2rem;line-height:1.1}.cram-today-shell{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:.9rem}.cram-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.cram-metric{border:1px solid #dfe6f1;border-radius:14px;background:#ffffff;padding:.8rem;display:flex;flex-direction:column;gap:.3rem}.cram-metric span{font-size:.78rem;color:#64748b;font-weight:600}.cram-metric strong{font-size:1.5rem;line-height:1}.cram-main-card{border:1px solid #dbe4f0;border-radius:18px;background:linear-gradient(142deg,#ffffff 0%,#f9fbff 52%,#eef6ff 100%);padding:1rem;display:grid;grid-template-columns:1.4fr .8fr;gap:.8rem}.cram-main-copy h2{margin:0 0 .5rem;font-size:1.45rem}.cram-main-copy p{margin:0;color:#475569;line-height:1.5}.cram-red72-banner{margin-top:.75rem;border-radius:12px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-weight:700;font-size:.82rem;padding:.55rem .75rem}.cram-red72-banner.muted{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}.cram-action-panel{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:.9rem;display:flex;flex-direction:column;gap:.55rem}.cram-start-btn,.cram-vault-btn{border-radius:12px;border:1px solid #cbd5e1;padding:.68rem .85rem;font-weight:700;cursor:pointer}.cram-start-btn{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.cram-start-btn:hover{background:#1e40af}.cram-vault-btn{background:#fff;color:#1e293b}.cram-vault-btn:hover{border-color:#1d4ed8;color:#1d4ed8}.cram-action-note{margin:.15rem 0 0;color:#64748b;font-size:.79rem}.cram-quick-tab-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.cram-quick-tab{border:1px solid #dbe2ec;border-radius:10px;background:#f8fafc;color:#1e293b;text-align:left;padding:.5rem .55rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.cram-quick-tab span{font-size:.79rem;font-weight:800}.cram-quick-tab small{font-size:.72rem;color:#64748b;line-height:1.3}.cram-quick-tab:hover{border-color:#1d4ed8;background:#eff6ff}.cram-quick-tab.error{border-color:#fecaca;background:#fff1f2}.cram-quick-tab.error:hover{border-color:#ef4444;background:#ffe4e6}.cram-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.cram-config-card{border:1px solid #dfe6f1;border-radius:14px;background:#fff;padding:.85rem;display:flex;flex-direction:column;gap:.45rem}.cram-config-card h3{margin:0;font-size:1rem}.cram-config-card p{margin:0;color:#64748b;font-size:.84rem;line-height:1.45}.cram-config-card input[type=date]{border:1px solid #cbd5e1;border-radius:10px;padding:.5rem .6rem;font-size:.86rem}.cram-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.cram-chip{border-radius:999px;border:1px solid #dbe2ec;background:#f8fafc;color:#334155;font-size:.78rem;padding:.35rem .6rem;cursor:pointer;font-weight:700}.cram-chip.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.cram-toggle{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:#334155;font-weight:600}.cram-toggle input[type=checkbox]{width:18px;height:18px}.test-day-value{margin-top:.2rem;color:#1e293b;font-size:.92rem}.vocab-hub-loading{border:1px dashed #cbd5e1;border-radius:12px;padding:.9rem;text-align:center;color:#64748b}.sprint-shell{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:.8rem}.sprint-side{display:flex;flex-direction:column;gap:.65rem}.sprint-ring-card{position:relative;border:1px solid #dfe6f1;border-radius:16px;background:#fff;padding:.9rem;display:flex;align-items:center;justify-content:center}.sprint-ring-card svg{width:148px;height:148px}.sprint-ring-card .ring-bg{fill:none;stroke:#e2e8f0;stroke-width:10}.sprint-ring-card .ring-fill{fill:none;stroke:#2563eb;stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .25s ease}.ring-center{position:absolute;text-align:center}.ring-center strong{display:block;font-size:1.35rem}.ring-center span{font-size:.74rem;color:#64748b;font-weight:700}.sprint-mini-stat{border:1px solid #dfe6f1;border-radius:12px;background:#fff;padding:.7rem;display:flex;justify-content:space-between;align-items:center}.sprint-mini-stat span{font-size:.8rem;color:#64748b;font-weight:600}.sprint-mini-stat strong{font-size:1.05rem}.sprint-red72{border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#b91c1c;font-size:.76rem;font-weight:700;padding:.6rem .65rem}.sprint-core{border:1px solid #dfe6f1;border-radius:16px;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.85rem;min-height:560px}.sprint-core.done{align-items:center;text-align:center;justify-content:center}.sprint-kicker{margin:0;color:#1d4ed8;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.sprint-core.done h2{margin:0;font-size:2rem}.sprint-core.done p{margin:0;max-width:540px;color:#475569}.sprint-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;max-width:560px}.sprint-result-card{border:1px solid #dbe2ec;border-radius:12px;padding:.65rem;background:#f8fafc}.sprint-result-card span{display:block;color:#64748b;font-size:.74rem}.sprint-result-card strong{font-size:1.15rem}.sprint-question-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #dbe2ec;padding-bottom:.55rem}.sprint-question-head p{margin:0;color:#1d4ed8;font-size:.83rem;font-weight:800;letter-spacing:.02em}.sprint-question-head strong{font-size:.88rem;color:#475569}.sprint-question h2{margin:0;font-size:1.9rem;line-height:1.1}.sprint-helper{margin:.4rem 0 .1rem;color:#64748b}.sprint-def{margin:.45rem 0 0;font-size:1.15rem;font-weight:600;color:#0f172a}.sprint-def-vi{margin:.3rem 0 0;font-size:.95rem;color:#475569}.sprint-context{margin:.45rem 0 0;color:#334155;line-height:1.55}.sprint-options{margin-top:.75rem;display:grid;gap:.55rem}.sprint-options.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.sprint-option{width:100%;text-align:left;border:1px solid #dbe2ec;border-radius:12px;background:#fff;color:#1e293b;padding:.6rem .75rem;cursor:pointer;transition:all .14s ease;font-weight:600}.sprint-option:hover:not(:disabled){border-color:#93c5fd;background:#f8fbff}.sprint-option.selected{border-color:#1d4ed8;background:#eff6ff}.sprint-option.correct{border-color:#16a34a;background:#f0fdf4}.sprint-option.wrong{border-color:#dc2626;background:#fef2f2}.sprint-option small{display:block;margin-top:.2rem;font-size:.76rem;color:#64748b}.sprint-input-wrap{margin-top:.8rem;display:flex;flex-direction:column;gap:.5rem}.sprint-input-wrap input{border:1px solid #cbd5e1;border-radius:12px;padding:.7rem .8rem;font-size:1rem}.sprint-input-wrap input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.sprint-hints{display:flex;flex-wrap:wrap;gap:.45rem}.sprint-hints button{border-radius:999px;border:1px solid #dbe2ec;background:#f8fafc;color:#334155;padding:.35rem .62rem;font-size:.8rem;font-weight:700;cursor:pointer}.sprint-feedback{border-radius:12px;padding:.58rem .7rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:700}.sprint-feedback.ok{border:1px solid #86efac;background:#f0fdf4;color:#166534}.sprint-feedback.bad{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.sprint-actions{margin-top:auto;display:flex;gap:.55rem}.sprint-actions button{border-radius:12px;padding:.65rem .85rem;border:1px solid #cbd5e1;font-weight:700;cursor:pointer}.sprint-actions .primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.sprint-actions .primary:disabled{opacity:.6;cursor:not-allowed}.sprint-actions .secondary{background:#fff;color:#1f2937}.sprint-actions .secondary:hover{border-color:#1d4ed8;color:#1d4ed8}.vocab-mode-topbar{max-width:1320px;margin:0 auto .9rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.mode-topbar-left{display:flex;align-items:center;gap:.75rem}.mode-topbar-left h1{margin:0;font-size:1.55rem}.mode-topbar-left p{margin:0;color:#64748b}.mode-topbar-right{display:flex;align-items:center;gap:.55rem}.mode-back-btn,.mode-refresh-btn,.mode-exit-btn{border-radius:10px;padding:.62rem .95rem;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:600;cursor:pointer}.mode-back-btn:hover,.mode-refresh-btn:hover,.mode-exit-btn:hover{border-color:#6366f1;color:#4338ca}.mode-loading{max-width:1320px;margin:0 auto;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;padding:1.5rem;text-align:center;color:#64748b}.mode-empty-card,.mode-complete-card{max-width:700px;margin:0 auto;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:1.25rem;text-align:center}.mode-empty-card h3,.mode-complete-card h3{margin:0 0 .5rem}.mode-empty-card p,.mode-complete-card p{margin:0 0 1rem;color:#64748b}.mode-empty-card button,.mode-complete-actions button{border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-weight:600;padding:.55rem .95rem;cursor:pointer}.mode-complete-actions{display:flex;justify-content:center;gap:.6rem}.mode-complete-actions .primary{border-color:#6366f1;background:#4f46e5;color:#fff}.cards-layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.6fr .8fr;gap:.8rem}.cards-main{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:1rem}.cards-progress-line{display:flex;justify-content:space-between;color:#64748b;font-size:.85rem;margin-bottom:.75rem}.vocab-card-3d{width:100%;min-height:420px;border:0;border-radius:14px;padding:0;background:transparent;position:relative;transform-style:preserve-3d;transition:transform .45s ease;cursor:pointer}.vocab-card-3d.flipped{transform:rotateY(180deg)}.vocab-card-face{position:absolute;inset:0;border-radius:14px;border:1px solid #dbe4ff;background:linear-gradient(150deg,#ffffff 0%,#eef2ff 100%);padding:1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;backface-visibility:hidden}.vocab-card-face.back{transform:rotateY(180deg)}.card-tag{font-size:.72rem;font-weight:700;color:#6366f1;letter-spacing:.08em;margin-bottom:.8rem}.vocab-card-face h2{margin:0;font-size:3rem;line-height:1.02}.card-pron{margin:.55rem 0 0;font-style:italic;color:#64748b}.card-pron.muted{opacity:.65}.card-definition{margin:0;font-size:1.35rem;color:#1e293b;line-height:1.45}.card-example{margin:.9rem 0 0;color:#64748b;font-style:italic}.card-hint{margin-top:1rem;color:#94a3b8;font-size:.82rem}.cards-controls{margin-top:.9rem;display:flex;justify-content:center;gap:.55rem}.cards-controls button{border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#334155;padding:.55rem .9rem;font-weight:600;cursor:pointer}.cards-controls button:disabled{opacity:.45;cursor:not-allowed}.cards-controls button:hover:not(:disabled){border-color:#6366f1;color:#4338ca}.cards-side-panel{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:1rem}.cards-side-panel h4{margin:0 0 .6rem}.cards-side-panel ul{margin:0 0 1rem;padding-left:1rem;color:#475569;line-height:1.5}.side-metric{border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;padding:.8rem}.side-metric span{display:block;font-size:.8rem;color:#64748b}.side-metric strong{font-size:1.05rem}.quiz-layout{max-width:980px;margin:0 auto}.quiz-progress-header{display:flex;justify-content:space-between;color:#475569;font-size:.9rem;margin-bottom:.55rem}.quiz-card{border-radius:14px;border:1px solid #e2e8f0;background:#fff;padding:1rem}.quiz-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:#6366f1}.quiz-definition{margin:.35rem 0 0;font-size:1.35rem;line-height:1.45}.quiz-example{margin:.6rem 0 0;color:#64748b;font-style:italic}.quiz-input-row{margin-top:1rem;display:flex;gap:.55rem}.quiz-input-row input{flex:1;border-radius:10px;border:1px solid #cbd5e1;padding:.75rem .85rem;font-size:1rem}.quiz-input-row input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f129}.quiz-input-row button{border-radius:10px;border:1px solid #4f46e5;background:#4f46e5;color:#fff;padding:0 1.1rem;font-weight:700;cursor:pointer}.quiz-input-row button:disabled{opacity:.45;cursor:not-allowed}.quiz-result{margin-top:.95rem;border-radius:10px;padding:.85rem}.quiz-result.correct{background:#dcfce7;border:1px solid #86efac}.quiz-result.wrong{background:#fef2f2;border:1px solid #fecaca}.quiz-result strong{display:block}.quiz-result p{margin:.4rem 0}.quiz-result span{font-weight:700}.quiz-pron{font-style:italic;color:#64748b}.quiz-result button{border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;padding:.45rem .8rem;font-weight:600;cursor:pointer}.quiz-score-panel{margin-top:.8rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:.7rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.score-item{border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;padding:.6rem;display:flex;flex-direction:column;gap:.2rem}.score-item span{font-size:.75rem;color:#64748b}.score-item strong{font-size:1.2rem}.quiz-summary-bar{margin:.8rem auto 1rem;max-width:360px}.quiz-summary-track{width:100%;height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}.quiz-summary-fill{height:100%;background:linear-gradient(90deg,#22c55e,#3b82f6)}.library-summary-row{max-width:1320px;margin:0 auto .75rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.library-summary-item{border-radius:10px;border:1px solid #e2e8f0;background:#fff;padding:.62rem;display:flex;justify-content:space-between;align-items:center}.library-summary-item span{color:#64748b;font-size:.82rem}.library-summary-item strong{font-size:1.2rem}.library-controls{max-width:1320px;margin:0 auto .8rem;display:grid;grid-template-columns:1fr auto;gap:.55rem}.library-controls input{border-radius:10px;border:1px solid #cbd5e1;padding:.72rem .85rem;font-size:.95rem}.library-controls input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f129}.library-filter-group{border-radius:10px;border:1px solid #e2e8f0;background:#fff;padding:.2rem;display:flex;gap:.25rem}.library-filter-group button{border:0;border-radius:8px;background:transparent;color:#475569;padding:.5rem .68rem;font-weight:600;cursor:pointer}.library-filter-group button.active{background:#4f46e5;color:#fff}.library-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.library-card{border-radius:12px;border:1px solid #e2e8f0;background:#fff;padding:.85rem;display:flex;flex-direction:column;gap:.55rem}.library-card.status-learning{border-color:#bfdbfe}.library-card.status-mastered{border-color:#86efac}.library-card.status-error{border-color:#fca5a5}.library-card header{display:flex;justify-content:space-between;gap:.55rem}.library-card h3{margin:0}.library-pron{margin:.18rem 0 0;color:#64748b;font-style:italic;font-size:.88rem}.library-badges{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end}.difficulty-badge,.status-badge{border-radius:999px;padding:.14rem .55rem;font-size:.72rem;font-weight:700;text-transform:capitalize}.difficulty-badge.easy{background:#dcfce7;color:#166534}.difficulty-badge.medium{background:#fef3c7;color:#92400e}.difficulty-badge.hard{background:#fee2e2;color:#b91c1c}.status-badge.new{background:#e2e8f0;color:#475569}.status-badge.learning{background:#dbeafe;color:#1d4ed8}.status-badge.mastered{background:#dcfce7;color:#166534}.status-badge.error{background:#fee2e2;color:#b91c1c}.library-definition{margin:0;color:#334155;line-height:1.45}.library-example{margin:0;color:#64748b;font-style:italic;font-size:.86rem}.library-card footer{display:flex;gap:.45rem;flex-wrap:wrap}.library-card footer button{border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;padding:.42rem .7rem;font-size:.8rem;font-weight:600;cursor:pointer}.library-card footer button:disabled{opacity:.5;cursor:not-allowed}.library-card footer button:hover:not(:disabled){border-color:#6366f1;color:#4338ca}.library-pagination{max-width:1320px;margin:.8rem auto 0;display:flex;align-items:center;justify-content:center;gap:.7rem}.library-pagination button{border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#334155;padding:.45rem .78rem;font-weight:600;cursor:pointer}.library-pagination button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 980px){.cram-metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cram-main-card,.cram-config-grid,.sprint-shell{grid-template-columns:1fr}.sprint-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.sprint-red72{grid-column:1 / -1}.sprint-core{min-height:460px}.library-grid,.library-controls{grid-template-columns:1fr}}@media (max-width: 720px){.vocab-hub-page,.vocab-mode-page{padding:1rem}.vocab-hub-header{flex-direction:column;align-items:flex-start}.vocab-hub-title{font-size:1.55rem}.cram-metric-row{grid-template-columns:1fr}.vocab-mode-topbar{flex-direction:column;align-items:stretch}.mode-topbar-left{align-items:flex-start}.mode-topbar-right{justify-content:stretch;width:100%}.mode-topbar-right button{flex:1}.sprint-side{grid-template-columns:1fr}.sprint-core{min-height:auto;padding:.85rem}.sprint-question h2{font-size:1.45rem}.sprint-options.compact{grid-template-columns:1fr}.sprint-actions{flex-direction:column}.sprint-actions button{width:100%}.cram-quick-tab-row,.cards-layout{grid-template-columns:1fr}.vocab-card-face h2{font-size:2.2rem}.card-definition{font-size:1.15rem}.quiz-input-row{flex-direction:column}.quiz-score-panel,.library-summary-row{grid-template-columns:1fr}.library-filter-group{overflow-x:auto}}.settings-container{max-width:1000px;margin:0 auto;padding:24px;background:#fff;border-radius:12px}.settings-header{margin-bottom:24px}.settings-header h2{margin:0 0 16px;font-size:28px;font-weight:700;color:#1f2937}.message{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.message-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.message-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.settings-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;flex-wrap:wrap}.tab-btn{padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .3s ease}.tab-btn:hover{color:#1f2937}.tab-btn.active{color:#6366f1;border-bottom-color:#6366f1}.settings-content{animation:fadeIn .3s ease}.tab-content h3{margin:0 0 24px;font-size:20px;font-weight:600;color:#1f2937}.settings-group{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:8px;transition:all .3s ease}.setting-item:hover{background:#f3f4f6}.setting-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#1f2937}.setting-info p{margin:0;font-size:13px;color:#6b7280}.toggle-switch{position:relative;display:inline-flex;cursor:pointer;user-select:none}.toggle-switch input{display:none}.toggle-switch span{display:inline-block;width:44px;height:24px;background:#d1d5db;border-radius:12px;transition:all .3s ease;position:relative}.toggle-switch span:after{content:"";position:absolute;width:20px;height:20px;background:white;border-radius:50%;top:2px;left:2px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+span{background:#6366f1}.toggle-switch input:checked+span:after{transform:translate(20px)}.language-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:white;color:#374151;font-size:14px;cursor:pointer}.language-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:14px;margin-top:12px}.btn-primary{background:#6366f1;color:#fff}.btn-primary:hover{background:#4f46e5}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.security-section{padding:20px;background:#f9fafb;border-radius:8px}.password-form{display:grid;grid-template-columns:1fr;gap:16px}.password-form .form-group{display:flex;flex-direction:column;gap:8px}.password-form label{font-weight:600;color:#374151;font-size:14px}.password-form input{padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.password-form input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.button-group{display:flex;gap:12px;margin-top:12px}.button-group button{flex:1}@media (max-width: 768px){.settings-container{padding:16px}.settings-tabs{gap:4px}.tab-btn{padding:10px 12px;font-size:13px}.setting-item{flex-direction:column;align-items:flex-start;gap:12px}.button-group{flex-direction:column}.button-group button{width:100%}}.billing-page{min-height:100%;padding:1.4rem;background:radial-gradient(820px 360px at 12% 0%,#dbeafe85 0%,transparent 56%),radial-gradient(780px 340px at 92% 0%,#ccfbf188 0%,transparent 58%),#f8fafc}.billing-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:#ffffff;border:1px solid #dbe7f5;border-radius:1rem;padding:1rem 1.1rem;box-shadow:0 6px 18px #0f172a0f}.billing-kicker{margin:0 0 .35rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:#2563eb;font-weight:700}.billing-hero-copy h1{margin:0;font-size:clamp(1.34rem,2.6vw,2rem);color:#0f172a}.billing-hero-copy p{margin:.45rem 0 0;color:#475569;line-height:1.55;font-size:.92rem}.billing-subscription-chip{min-width:220px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border-radius:.85rem;padding:.72rem .8rem}.billing-subscription-chip strong{display:block;color:#1e3a8a;font-size:.98rem}.billing-subscription-chip span{display:block;margin-top:.24rem;font-size:.78rem;color:#334155}.billing-banner{margin-top:.9rem;border-radius:.8rem;border:1px solid #e2e8f0;padding:.68rem .8rem;font-size:.86rem;font-weight:600}.billing-banner.success{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.billing-banner.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.billing-summary-grid{margin-top:.95rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.billing-summary-card{background:#ffffff;border:1px solid #dbe7f5;border-radius:.95rem;padding:.86rem .92rem}.billing-summary-card h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.billing-summary-card p{margin:.38rem 0 0;font-size:1.2rem;color:#0f172a;font-weight:800}.billing-summary-card span{display:block;margin-top:.18rem;font-size:.78rem;color:#64748b}.billing-loading{margin-top:1rem;border:1px dashed #bfd4ec;border-radius:.82rem;background:#ffffff;padding:1rem;color:#475569;font-weight:600}.billing-plan-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.82rem}.billing-plan-card{background:#ffffff;border:1px solid #dbe7f5;border-radius:1rem;padding:.92rem;box-shadow:0 8px 20px #0f172a0d}.billing-plan-card.active{border-color:#60a5fa;box-shadow:0 10px 24px #2563eb24}.plan-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.plan-head h3{margin:0;color:#0f172a;font-size:1.06rem}.plan-head span{color:#0f766e;font-weight:700;font-size:.82rem}.plan-desc{margin:.44rem 0 0;color:#475569;font-size:.83rem;line-height:1.55;min-height:40px}.plan-quota{margin-top:.58rem;padding:.4rem .54rem;border-radius:.6rem;background:#f8fafc;border:1px solid #e2e8f0;font-size:.8rem;color:#1e293b}.plan-features{margin:.65rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.34rem}.plan-features li{border:1px solid #e2e8f0;border-radius:.54rem;padding:.35rem .5rem;display:flex;justify-content:space-between;gap:.45rem;font-size:.75rem;color:#475569}.plan-features li strong{color:#0f172a;font-size:.76rem}.plan-action{margin-top:.72rem;width:100%;border:1px solid #38bdf8;border-radius:.65rem;background:linear-gradient(135deg,#0ea5e9 0%,#10b981 100%);color:#fff;font-size:.84rem;font-weight:700;padding:.56rem .68rem;cursor:pointer}.plan-action.current{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8;cursor:not-allowed}.billing-modal-overlay{position:fixed;inset:0;z-index:210;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:1rem}.billing-modal-card{width:min(430px,100%);background:#ffffff;border:1px solid #dbe7f5;border-radius:.9rem;padding:1rem}.billing-modal-card h3{margin:0;color:#0f172a}.billing-modal-card p{margin:.56rem 0 0;color:#475569;font-size:.9rem;line-height:1.55}.billing-modal-card label{display:block;margin-top:.8rem;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.billing-modal-card select{width:100%;margin-top:.35rem;border-radius:.6rem;border:1px solid #cbd5e1;background:#ffffff;color:#0f172a;padding:.5rem .58rem;font-size:.9rem}.billing-modal-total{margin-top:.75rem;border:1px solid #bfdbfe;background:#eff6ff;border-radius:.65rem;padding:.56rem .62rem;color:#1e3a8a;font-size:.84rem}.billing-modal-actions{margin-top:.92rem;display:flex;justify-content:flex-end;gap:.48rem}.billing-modal-actions button{border:1px solid #dbe7f5;background:#ffffff;color:#334155;border-radius:.62rem;padding:.46rem .78rem;font-size:.84rem;font-weight:700;cursor:pointer}.billing-modal-actions button.confirm{border-color:#22c55e;background:#16a34a;color:#fff}.billing-locked-card{max-width:620px;margin:1.5rem auto 0;border:1px solid #bfdbfe;background:#eff6ff;border-radius:.95rem;padding:1rem}.billing-locked-card h2{margin:0;color:#1e3a8a}.billing-locked-card p{margin:.45rem 0 0;color:#334155}@media (max-width: 980px){.billing-summary-grid{grid-template-columns:1fr}.billing-hero{flex-direction:column;align-items:stretch}.billing-subscription-chip{min-width:0}}.dashboard-layout{display:flex;min-height:100vh;background:#f8fafc}.dashboard-sidebar-backdrop,.dashboard-mobile-topbar{display:none}.dashboard-sidebar{width:260px;background:white;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:fixed;left:0;top:0;height:100vh;z-index:100;transition:width .3s ease}.dashboard-layout.collapsed .dashboard-sidebar{width:72px}.sidebar-header{padding:1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8f0}.brand{display:flex;align-items:center;gap:.75rem}.brand-icon{font-size:1.5rem}.brand-text{font-size:1.25rem;font-weight:700;color:#1e293b;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.collapse-btn{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s}.collapse-btn:hover{background:#e2e8f0;color:#3b82f6}.collapse-btn svg{width:18px;height:18px}.dashboard-layout.collapsed .brand-text{display:none}.dashboard-layout.collapsed .collapse-btn{margin:0 auto}.sidebar-nav{flex:1;padding:1rem .75rem;overflow-y:auto}.nav-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.25rem;border:none;border-radius:.75rem;background:transparent;color:#64748b;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:#f1f5f9;color:#3b82f6}.nav-item.active{background:linear-gradient(135deg,#eff6ff 0%,#f5f3ff 100%);color:#3b82f6;font-weight:600}.nav-item.active .nav-icon{color:#3b82f6}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-icon svg{width:100%;height:100%}.dashboard-layout.collapsed .nav-item{justify-content:center;padding:.75rem}.dashboard-layout.collapsed .nav-label{display:none}.sidebar-footer{padding:1rem;border-top:1px solid #e2e8f0}.user-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:.75rem;margin-bottom:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:600;color:#1e293b;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#64748b}.dashboard-layout.collapsed .user-details{display:none}.dashboard-layout.collapsed .user-info{justify-content:center;padding:.5rem}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:.75rem;background:transparent;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.logout-btn svg{width:18px;height:18px}.dashboard-main{flex:1;margin-left:260px;min-height:100vh;transition:margin-left .3s ease}.dashboard-layout.collapsed .dashboard-main{margin-left:72px}.dashboard-main.fullscreen{margin-left:0}@media (max-width: 1024px){.dashboard-sidebar{width:72px}.brand-text,.nav-label,.user-details{display:none}.nav-item{justify-content:center;padding:.75rem}.user-info{justify-content:center;padding:.5rem}.collapse-btn{display:none}.dashboard-main{margin-left:72px}}@media (max-width: 768px) and (orientation: portrait){.dashboard-layout.mobile-portrait .dashboard-sidebar{transform:translate(-100%);width:260px;z-index:120;box-shadow:0 16px 42px #0f172a52;transition:transform .25s ease}.dashboard-layout.mobile-portrait .dashboard-sidebar.open{transform:translate(0)}.dashboard-layout.mobile-portrait .dashboard-sidebar-backdrop{display:block;position:fixed;inset:0;border:none;background:rgba(15,23,42,.45);z-index:110}.dashboard-layout.mobile-portrait .dashboard-mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;position:sticky;top:0;z-index:90;padding:.75rem .85rem;background:rgba(248,250,252,.95);backdrop-filter:blur(8px);border-bottom:1px solid #e2e8f0}.dashboard-layout.mobile-portrait .dashboard-mobile-menu-btn{width:40px;height:40px;border:1px solid #dbe4f0;border-radius:.625rem;background:#ffffff;color:#334155;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.dashboard-layout.mobile-portrait .dashboard-mobile-menu-btn .nav-icon,.dashboard-layout.mobile-portrait .dashboard-mobile-menu-btn svg{width:18px;height:18px}.dashboard-layout.mobile-portrait .dashboard-mobile-title{font-size:.95rem;font-weight:700;color:#0f172a;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;text-align:center}.dashboard-layout.mobile-portrait .brand-text,.dashboard-layout.mobile-portrait .nav-label,.dashboard-layout.mobile-portrait .user-details{display:block}.dashboard-layout.mobile-portrait .nav-item{justify-content:flex-start;padding:.75rem 1rem}.dashboard-layout.mobile-portrait .user-info{justify-content:flex-start;padding:.75rem}.dashboard-layout.mobile-portrait .dashboard-main{margin-left:0;width:100%}.dashboard-layout.mobile-portrait.collapsed .dashboard-main,.dashboard-layout.mobile-portrait .dashboard-main.fullscreen{margin-left:0}}:root{--font-ui: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-reading: "Source Serif 4", "Charter", Georgia, serif;--font-math: "Source Serif 4", "Charter", Georgia, serif;--text-xs: 12px;--text-sm: 13px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--leading-tight: 1.4;--leading-normal: 1.6;--leading-relaxed: 1.8}html.os-windows{--font-ui: "Inter", "Segoe UI Variable Text", "Segoe UI", "Montserrat", Roboto, sans-serif;--font-reading: "Source Serif 4", Georgia, "Times New Roman", serif;--font-math: "Source Serif 4", Cambria, "Times New Roman", serif}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}.bluebook-interface{--bb-calc-dock-width: 360px;--bb-calc-dock-gap: 24px;display:flex;flex-direction:column;height:100vh;min-height:100vh;width:100vw;background:#f8f9fa;font-family:var(--font-ui);color:#1a1a2e;overflow:hidden;position:fixed;top:0;left:0;z-index:9999;font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}@supports (height: 100dvh){.bluebook-interface{height:100dvh}}html.os-windows .bluebook-interface{background:#f6f8fc;color:#132238}html.os-windows .bb-header,html.os-windows .bb-footer,html.os-windows .bb-question,html.os-windows .bb-passage,html.os-windows .bb-option,html.os-windows .bb-math-option,html.os-windows .bb-tool,html.os-windows .bb-nav-modal,html.os-windows .bb-module-review,html.os-windows .bb-calculator-popup,html.os-windows .bb-ai-inline-panel{border-color:#d8e1ec}html.os-windows .bb-header,html.os-windows .bb-footer,html.os-windows .bb-calculator-popup,html.os-windows .bb-nav-modal,html.os-windows .bb-module-review{box-shadow:none}.bb-passage-text,.bb-passage-text *,.bb-passage,.bb-passage *{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important}.bb-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;padding:0 24px;background:#eef3fb;border-bottom:1px solid #cfd7e4;height:60px;flex-shrink:0}.bb-header-left{display:flex;align-items:center;gap:8px;min-width:0}.bb-section-info{font-size:var(--text-sm);font-weight:700;color:#1f2a3b;letter-spacing:.01em;font-family:var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-directions{background:none;border:none;color:#3e4b61;font-size:var(--text-sm);cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:4px;font-family:var(--font-ui)}.bb-directions:hover{background:#dfe8f7;color:#1f2a3b}.bb-header-center{display:flex;align-items:center;gap:16px;justify-self:center;min-width:0}.bb-timer{font-size:32px;font-weight:700;color:#111827;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:var(--font-ui);min-width:6ch;text-align:center}.bb-pause-btn{background:#ffffff;border:1px solid #9ca7b8;color:#1f2937;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-ui);transition:all .15s ease}.bb-pause-btn:hover{background:#f8fafc;border-color:#7f8ba0}.bb-header-right{display:flex;align-items:center;gap:8px;min-width:0;justify-self:end;position:relative;z-index:1}.bb-tool{background:none;border:none;color:#334155;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;font-family:var(--font-ui);font-weight:500;transition:all .15s ease}.bb-tool:hover{background:#dfe8f7;color:#1f2a3b}.bb-tool-icon{font-size:16px}.bb-tool-label{font-size:13px;font-weight:600;font-family:var(--font-ui)}.bb-tool-divider{width:1px;height:24px;background:#cbd5e1;margin:0 4px}.bb-font-size{display:flex;align-items:center;gap:6px;color:#64748b;font-size:13px;padding:0 8px}.bb-font-size span{font-weight:500}.bb-save-exit-btn{background:#2563eb;border:none;color:#fff;-webkit-text-fill-color:#ffffff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;transition:all .15s ease;margin-left:8px}.bb-save-exit-btn:hover{background:#1d4ed8}.bb-report-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;z-index:11000;padding:16px}.bb-report-modal{width:min(520px,100%);background:#ffffff;border:1px solid #dbe4f1;border-radius:14px;box-shadow:0 30px 64px #0f172a3d;padding:18px}.bb-report-modal h3{margin:0;font-size:20px;color:#0f172a}.bb-report-modal-subtitle{margin:6px 0 14px;color:#475569;font-size:14px}.bb-report-options{display:grid;gap:8px}.bb-report-option{display:flex;align-items:flex-start;gap:10px;border:1px solid #dbe3f0;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;color:#1e293b;transition:all .15s ease}.bb-report-option.active{border-color:#3b82f6;background:#eff6ff}.bb-report-option input{margin-top:2px}.bb-report-note{width:100%;margin-top:12px;min-height:88px;resize:vertical;border:1px solid #cfd9e8;border-radius:10px;padding:10px 12px;font-size:14px;color:#0f172a;font-family:inherit}.bb-report-note:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.bb-report-modal-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.bb-report-cancel-btn,.bb-report-submit-btn{border:1px solid transparent;border-radius:9px;padding:8px 14px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.bb-report-cancel-btn{border-color:#cbd5e1;background:#ffffff;color:#334155}.bb-report-submit-btn{background:#dc2626;color:#fff}.bb-report-cancel-btn:disabled,.bb-report-submit-btn:disabled{opacity:.55;cursor:not-allowed}.bb-main{display:flex;flex:1;min-height:0;overflow:hidden;position:relative;background:#f6f8fc;transition:padding-left .26s cubic-bezier(.22,1,.36,1)}@media (min-width: 1024px){.bb-main.bb-main-math.bb-main-math-calc-open{padding-left:calc(var(--bb-calc-dock-width) + var(--bb-calc-dock-gap))}.bb-main.bb-main-math .bb-math-fullwidth{transition:transform .26s cubic-bezier(.22,1,.36,1)}.bb-main.bb-main-math.bb-main-math-calc-open .bb-math-fullwidth{transform:translate(8px)}}@media (prefers-reduced-motion: reduce){.bb-main,.bb-main.bb-main-math .bb-math-fullwidth,.bb-calculator-popup--docked{transition:none!important;animation:none!important}}.bb-passage{height:100%;min-height:0;overflow-y:auto;background:#ffffff;padding:32px 16px 32px 40px;border-right:1px solid #b9c3d3;-webkit-overflow-scrolling:touch}.bb-passage-text{font-size:16px;line-height:var(--leading-relaxed);color:#2d3748;max-width:100%;letter-spacing:.01em;font-family:var(--font-reading);font-variant-numeric:lining-nums tabular-nums;-webkit-font-feature-settings:"lnum" 1,"tnum" 1;font-feature-settings:"lnum" 1,"tnum" 1}.bb-passage-text p:empty,.bb-passage-text br:only-child{display:none}.bb-passage-text p{margin:0 0 1.3em}.bb-passage-text p:last-child{margin-bottom:0}.bb-passage-text br+br{display:none}.bb-passage-text{white-space:pre-line}.bb-passage-text img{max-width:100%;height:auto;margin:16px 0;border-radius:8px}.blank-line{display:inline-block;width:5em;border-bottom:1px solid #1a1a2e;margin:0 2px;vertical-align:baseline;position:relative;top:2px}.bb-divider{width:1px;background:#99a3b3;cursor:col-resize;display:flex;align-items:center;justify-content:center;position:relative}.bb-divider:before{content:"";position:absolute;width:12px;height:100%;background:transparent}.bb-divider:hover{background:#5c667a}.bb-divider-handle{width:4px;height:40px;background:#64748b;border-radius:2px;opacity:0;transition:opacity .2s}.bb-divider:hover .bb-divider-handle{opacity:1;background:#334155}.bb-question{height:100%;min-height:0;overflow-y:auto;background:#ffffff;padding:32px 40px;-webkit-overflow-scrolling:touch}.bb-q-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px dashed #4b5563}.bb-q-num{min-width:36px;height:36px;padding:0 12px;background:#111827;color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;letter-spacing:-.01em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}html.os-windows .bb-q-num,html.os-windows .bb-q-num *{color:#fff!important}.bb-mark-review{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#1f2937;padding:8px 12px;border-radius:6px;border:1px solid transparent;transition:all .15s ease;font-weight:500}.bb-mark-review:hover{background:#f3f4f6;border-color:#c7ceda}.bb-mark-review input{width:18px;height:18px;accent-color:#1d4ed8;cursor:pointer}.bb-flag{color:#374151;font-size:14px}.bb-abc{margin-left:auto;background:#ffffff;border:1px solid #c4ccd8;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;color:#475569;cursor:pointer;font-family:inherit;transition:all .15s ease}.bb-abc:hover{background:#f8fafc;border-color:#9da8ba}.bb-abc.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.bb-abc.active:hover{background:#1e40af;border-color:#1e40af}.bb-abc:disabled{opacity:.45;cursor:not-allowed}.bb-abc span{text-decoration:line-through}.bb-q-text{font-size:16px;line-height:var(--leading-relaxed);color:#2a3445;margin-bottom:24px;letter-spacing:.01em;font-family:var(--font-reading);font-variant-numeric:lining-nums tabular-nums;-webkit-font-feature-settings:"lnum" 1,"tnum" 1;font-feature-settings:"lnum" 1,"tnum" 1}.bb-q-text p:empty,.bb-q-text br:only-child{display:none}.bb-q-text p{margin:0 0 .75em}.bb-q-text p:last-child{margin-bottom:0}.bb-math-section .bb-q-text{font-family:var(--font-math)}.bb-options{display:flex;flex-direction:column;gap:12px}.bb-option{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:2px solid #8d97a8;border-radius:10px;cursor:pointer;background:#ffffff;transition:all .15s ease;user-select:none;position:relative}.bb-option:hover:not(.crossed){border-color:#5b6476;background:#f8fafc;box-shadow:none}.bb-option.selected{border-color:#1d4ed8!important;background:#eff6ff!important;box-shadow:none}.bb-option.crossed{background:#f8fafc;border-color:#6b7280}.bb-option.crossed:after{content:"";position:absolute;left:14px;right:78px;top:50%;border-top:2px solid #374151;transform:translateY(-50%);pointer-events:none;opacity:.85}.bb-option.crossed .bb-opt-text{text-decoration:none;color:#6b7280}.bb-option.crossed .bb-opt-letter{border-color:#9ca3af;color:#64748b;background:#f8fafc}.bb-option.correct{border-color:#10b981!important;background:#ecfdf5!important;box-shadow:none}.bb-opt-letter{width:28px;height:28px;border:2px solid #7b8495;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#475569;flex-shrink:0;background:#ffffff;transition:all .15s ease;font-family:var(--font-ui)}.bb-opt-letter.selected,.bb-option.selected .bb-opt-letter{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}.bb-opt-letter.correct,.bb-option.correct .bb-opt-letter{background:#10b981!important;border-color:#10b981!important;color:#fff!important}.bb-opt-text{flex:1;font-size:16px;line-height:1.5;color:#2d3748;padding-top:2px;letter-spacing:.01em;font-family:var(--font-reading);font-variant-numeric:lining-nums tabular-nums;-webkit-font-feature-settings:"lnum" 1,"tnum" 1;font-feature-settings:"lnum" 1,"tnum" 1}.bb-math-section .bb-opt-text{font-family:var(--font-math)}.bb-crossout{background:none;border:none;color:#d1d5db;font-size:18px;cursor:pointer;opacity:0;margin-left:auto;padding:4px;border-radius:4px;transition:all .15s ease;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.bb-option:hover .bb-crossout{opacity:1}.bb-crossout:hover{color:#ef4444;background:#fef2f2}.bb-crossout-undo{position:absolute;right:16px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#374151;font-size:14px;font-weight:700;text-decoration:underline;cursor:pointer;padding:2px 4px;z-index:2}.bb-crossout-undo:hover{color:#111827}.bb-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px;padding:0 24px;background:#d8dfeb;height:64px;flex-shrink:0;position:relative;border-top:1px solid #a8b3c4}.bb-footer-left{min-width:0}.bb-user{display:block;font-size:14px;color:#1f2937;font-weight:700;font-family:var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-footer-center{justify-self:center;min-width:0}.bb-q-counter{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;color:#fff;-webkit-text-fill-color:#ffffff;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 28px;border-radius:10px;font-weight:600;font-family:var(--font-ui);transition:background .15s ease;letter-spacing:.02em}.bb-q-counter:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%)}.bb-q-counter .arrow{font-size:10px;margin-left:4px}.bb-footer-right{min-width:0;display:flex;justify-content:flex-end;gap:12px;justify-self:end;position:relative;z-index:1}.bb-nav-btn{padding:12px 30px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:none;background:#2563eb;color:#fff;-webkit-text-fill-color:#ffffff;font-family:var(--font-ui);transition:all .15s ease;letter-spacing:.02em}.bb-nav-btn:hover:not(:disabled){background:#1e40af}.bb-nav-btn:disabled{opacity:.4;cursor:not-allowed}.bb-save-exit-btn,.bb-save-exit-btn *,.bb-q-counter,.bb-q-counter *,.bb-nav-btn,.bb-nav-btn *{color:#fff!important;-webkit-text-fill-color:#ffffff}.bb-nav-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:flex-end;justify-content:center;padding-bottom:72px;z-index:10000;backdrop-filter:none}.bb-nav-modal{background:#ffffff;border-radius:14px;width:90%;max-width:470px;max-height:70vh;overflow:hidden;box-shadow:0 16px 34px #0f172a38;border:1px solid #d5deea}.bb-nav-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #e5e7eb}.bb-nav-header h3{margin:0;font-size:16px;font-weight:700;color:#1a1a2e;letter-spacing:-.01em}.bb-nav-close{background:#f1f5f9;border:none;font-size:18px;color:#64748b;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.bb-nav-close:hover{background:#e2e8f0;color:#1a1a2e}.bb-nav-legend{display:flex;align-items:center;gap:16px;padding:10px 18px;background:#ffffff;border-bottom:1px solid #d1d5db;font-size:12px;color:#374151;font-weight:600}.bb-legend-item{display:flex;align-items:center;gap:8px}.bb-legend-dot{width:14px;height:14px;border-radius:4px}.bb-legend-dot.current{background:#2563eb}.bb-legend-pin{width:10px;height:10px;border:2px solid #111827;border-radius:999px;background:#ffffff;position:relative;display:inline-block;margin-right:2px}.bb-legend-pin:before{content:"";position:absolute;inset:2px;border-radius:999px;background:#111827}.bb-legend-pin:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:6px solid #111827}.bb-legend-box.unanswered{width:16px;height:16px;border:2px dashed #94a3b8;background:#ffffff;border-radius:2px;display:inline-block}.bb-legend-tag{width:9px;height:12px;background:#dc2626;border-radius:2px 2px 0 0;display:inline-block;position:relative}.bb-legend-tag:after{content:"";position:absolute;left:0;right:0;bottom:-4px;margin:auto;width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:4px solid #dc2626}.bb-nav-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:12px 18px;max-height:300px;overflow-y:auto;overflow-x:hidden}.bb-nav-item{width:100%;max-width:46px;height:46px;box-sizing:border-box;justify-self:center;border:1.5px dashed #9eabc0;border-radius:3px;background:#ffffff;cursor:pointer;font-size:17px;font-weight:700;color:#1d4ed8!important;display:flex;align-items:center;justify-content:center;position:relative;transition:all .15s ease}.bb-nav-item:hover{border-color:#1d4ed8;background:#eef2ff}.bb-nav-item.current{border-color:#1d4ed8;background:#ffffff;color:#1d4ed8!important}.bb-nav-item.answered{border-style:solid;border-color:#1d4ed8;background:#eef2ff;color:#1d4ed8!important}.bb-nav-item.marked{box-shadow:inset 0 0 0 1px #ef4444}.bb-nav-current-pin{position:absolute;top:-17px;left:50%;width:12px;height:12px;transform:translate(-50%);border:2px solid #111827;border-radius:999px;background:#ffffff;z-index:2;pointer-events:none}.bb-nav-current-pin:before{content:"";position:absolute;inset:2px;border-radius:999px;background:#111827}.bb-nav-current-pin:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:7px solid #111827}.bb-nav-review-tag{position:absolute;top:2px;right:2px;width:8px;height:10px;background:#dc2626;border-radius:2px 2px 0 0;pointer-events:none;z-index:2}.bb-nav-review-tag:after{content:"";position:absolute;left:0;right:0;bottom:-4px;margin:auto;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #dc2626}.bb-nav-footer{padding:20px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:center}.bb-review-btn{background:#ffffff;border:2px solid #2563eb;color:#2563eb;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.bb-review-btn:hover{background:#2563eb;color:#fff}.bb-loading,.bb-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#ffffff;gap:20px}.bb-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.bb-btn{background:#2563eb;color:#fff;border:none;padding:14px 28px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;font-family:inherit;transition:all .15s ease}.bb-btn:hover{background:#1d4ed8}.bb-highlight-toolbar{position:absolute;display:flex;gap:6px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;box-shadow:0 10px 25px #00000026;z-index:100;transform:translate(-50%)}.bb-hl-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.bb-hl-btn:hover{transform:scale(1.1)}.bb-hl-btn.yellow{background:#fef08a}.bb-hl-btn.green{background:#bbf7d0}.bb-hl-btn.blue{background:#bfdbfe}.bb-hl-btn.pink{background:#fbcfe8}.bb-hl-btn.vocab{width:36px;height:36px;padding:0;border-radius:999px;background:#2563eb;color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;line-height:1}.bb-hl-btn.vocab:disabled{opacity:.6;cursor:not-allowed}.bb-hl-btn.vocab:hover:not(:disabled){transform:scale(1.08)}.bb-hl-btn.lookup{width:32px;height:32px;border-radius:999px;background:#0f766e;color:#fff;font-size:18px;font-weight:700;line-height:1}.bb-hl-btn.lookup:disabled{opacity:.6;cursor:not-allowed}.bb-hl-btn.lookup:hover:not(:disabled){transform:scale(1.08)}.bb-hl-btn.remove{background:#f1f5f9;color:#64748b}.bb-highlight-yellow{background:#fef08a;border-radius:2px}.bb-highlight-green{background:#bbf7d0;border-radius:2px}.bb-highlight-blue{background:#bfdbfe;border-radius:2px}.bb-highlight-pink{background:#fbcfe8;border-radius:2px}.bb-word-lookup-popup{position:absolute;z-index:120;width:min(420px,calc(100vw - 20px));max-height:min(78vh,640px);transform:translate(-50%);border:1px solid #dbe2ec;border-radius:14px;background:#ffffff;box-shadow:0 14px 32px #0f172a2e;overflow:hidden;display:flex;flex-direction:column}.bb-word-lookup-popup.dragging{box-shadow:0 18px 38px #0f172a38}.bb-word-lookup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);color:#fff;cursor:grab;user-select:none}.bb-word-lookup-popup.dragging .bb-word-lookup-header{cursor:grabbing}.bb-word-lookup-kicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.bb-word-lookup-header strong{display:block;margin-top:2px;font-size:20px;line-height:1.1}.bb-word-lookup-vi-head{margin:5px 0 0;font-size:12px;line-height:1.35;color:#e8fdfaf2;font-weight:700}.bb-word-lookup-close{width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.2);color:#fff;cursor:pointer}.bb-word-lookup-close:hover{background:rgba(255,255,255,.32)}.bb-word-lookup-body{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.bb-word-lookup-state{border:1px dashed #cbd5e1;background:#f8fafc;color:#334155;border-radius:10px;padding:10px;font-size:13px;line-height:1.4}.bb-word-lookup-state.error{border-style:solid;border-color:#fecaca;background:#fef2f2;color:#991b1b}.bb-word-lookup-pron{display:flex;flex-wrap:wrap;gap:6px}.bb-word-lookup-audio{border:1px solid #bae6fd;background:#f0f9ff;color:#0c4a6e;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}.bb-word-lookup-audio:disabled{cursor:not-allowed;opacity:.5}.bb-word-lookup-def-list{display:flex;flex-direction:column;gap:8px}.bb-word-lookup-def-item{border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;background:#ffffff}.bb-word-lookup-def-item p{margin:0;color:#334155;font-size:13px;line-height:1.35}.bb-word-lookup-pos{display:inline-block;margin-right:7px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#0f766e;font-weight:800}.bb-word-lookup-example{margin-top:5px!important;color:#64748b!important;font-style:italic}.bb-word-lookup-image-card{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#f8fafc}.bb-word-lookup-image-card img{display:block;width:100%;max-height:220px;object-fit:cover}.bb-word-lookup-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;font-size:11px;color:#475569}.bb-word-lookup-meta a,.bb-word-lookup-link{color:#0f766e;font-weight:700;text-decoration:none}.bb-word-lookup-meta a:hover,.bb-word-lookup-link:hover{text-decoration:underline}.bb-word-lookup-link{font-size:12px}.bb-tool:disabled{opacity:.6;cursor:not-allowed}.bb-more-container{position:relative}.bb-more-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #00000026;min-width:200px;z-index:1000;overflow:hidden}.bb-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;background:none;border:none;color:#1a1a2e;font-size:14px;font-weight:500;cursor:pointer;text-align:left;font-family:inherit;transition:all .15s ease}.bb-menu-item:hover{background:#f8fafc}.bb-ai-inline-panel{margin-top:28px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000000f}.bb-ai-inline-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#1e3a5f;color:#fff}.bb-ai-inline-icon{font-size:20px}.bb-ai-inline-title{font-size:15px;font-weight:600;flex:1;letter-spacing:.01em}.bb-ai-inline-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .2s}.bb-ai-inline-close:hover{background:rgba(255,255,255,.25)}.bb-ai-inline-content{padding:20px;max-height:320px;overflow-y:auto;background:#ffffff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bb-ai-inline-loading{display:flex;align-items:center;gap:14px;padding:20px;color:#64748b;font-size:14px;font-weight:500}.bb-ai-spinner{width:24px;height:24px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.bb-ai-inline-text{font-size:15px;line-height:1.75;color:#1a1a2e;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ai-inline-heading{font-size:15px;font-weight:700;color:#1a1a2e;margin:16px 0 8px;letter-spacing:-.01em}.ai-inline-heading:first-child{margin-top:0}.ai-inline-paragraph{margin:0 0 12px;color:#374151}.ai-inline-list{margin:8px 0 12px;padding-left:20px}.ai-inline-list li{margin-bottom:6px;color:#374151}.bb-vocab-inline-panel{margin-top:18px;border:1px solid #dbe2ec;border-radius:12px;background:#ffffff;overflow:hidden;box-shadow:0 3px 10px #0f172a14}.bb-vocab-inline-header{padding:12px 14px;background:#1f3b63;color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bb-vocab-inline-header strong{display:block;font-size:15px;line-height:1.2}.bb-vocab-inline-kicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin-bottom:2px}.bb-vocab-inline-close{width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;cursor:pointer}.bb-vocab-inline-close:hover{background:rgba(255,255,255,.28)}.bb-vocab-inline-body{padding:12px;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}.bb-vocab-inline-summary{margin:0;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.4;font-weight:600}.bb-vocab-inline-summary.streaming{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);color:#1d4ed8}.bb-vocab-inline-raw{margin:0;border:1px dashed #cbd5e1;background:#f8fafc;color:#334155;border-radius:10px;padding:10px;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.bb-vocab-inline-list{display:flex;flex-direction:column;gap:8px}.bb-vocab-inline-card{border:1px solid #e2e8f0;border-radius:10px;padding:9px 10px;background:#ffffff;display:flex;flex-direction:column;gap:5px}.bb-vocab-inline-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bb-vocab-inline-top h4{margin:0;color:#0f172a;font-size:19px;line-height:1.05}.bb-vocab-inline-top span{display:inline-block;margin-top:2px;font-size:12px;font-style:italic;color:#64748b}.bb-vocab-inline-role{border-radius:999px;padding:2px 8px;font-size:10px;text-transform:uppercase;font-style:normal;font-weight:800;letter-spacing:.04em;background:#e0f2fe;color:#0369a1}.bb-vocab-inline-role.hard_word{background:#fef3c7;color:#92400e}.bb-vocab-inline-role.tone_word{background:#ede9fe;color:#5b21b6}.bb-vocab-inline-role.logic_word{background:#dcfce7;color:#166534}.bb-vocab-inline-role.trap_related{background:#fee2e2;color:#b91c1c}.bb-vocab-inline-card p{margin:0;color:#475569;font-size:13px;line-height:1.35}.bb-vocab-inline-en{color:#1e293b!important;font-weight:700}.bb-vocab-inline-quote{color:#334155!important;font-style:italic}.bb-vocab-inline-add{align-self:flex-start;border:1px solid #93c5fd;background:#eff6ff;color:#1d4ed8;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer}.bb-vocab-inline-add:disabled{opacity:.6;cursor:not-allowed}.bb-vocab-inline-state{margin:12px;border:1px dashed #cbd5e1;background:#ffffff;color:#475569;border-radius:10px;padding:12px;font-size:13px}.bb-vocab-inline-state p{margin:0}.bb-vocab-inline-state.error{border-style:solid;border-color:#fecaca;background:#fef2f2;color:#991b1b}.bb-vocab-inline-state.error p{margin:0 0 8px}.bb-vocab-inline-state.error button{border:1px solid #fecaca;background:#ffffff;color:#b91c1c;border-radius:8px;padding:4px 10px;font-weight:700;font-size:12px;cursor:pointer}@media (max-width: 1024px) and (orientation: portrait){.bluebook-interface{height:100dvh;min-height:100dvh;width:100%}.bb-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;grid-template-areas:"left right" "center right";align-items:center;column-gap:8px;row-gap:4px;height:auto;min-height:72px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px}.bb-header-left{grid-area:left;min-width:0}.bb-section-info{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-header-center{grid-area:center;position:static;left:auto;transform:none;justify-content:flex-start;gap:8px;min-width:0}.bb-header-right{grid-area:right;justify-self:end;align-items:center;gap:4px;min-width:0;flex-wrap:nowrap}.bb-tool{padding:6px}.bb-tool-label,.bb-tool-divider{display:none}.bb-timer{font-size:clamp(20px,5vw,28px);min-width:5.2ch}.bb-pause-btn{padding:6px 12px;font-size:13px}.bb-save-exit-btn{margin-left:0;padding:8px 12px;font-size:13px;white-space:nowrap}.bb-main{flex-direction:column;min-height:0;overflow:hidden}.bb-passage,.bb-question{width:100%!important;min-height:0}.bb-passage{flex:0 0 auto;max-height:clamp(150px,36vh,300px);padding:14px 12px 14px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.bb-question{flex:1 1 auto;padding:14px 12px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bb-divider{display:none}.bb-q-header{gap:8px;margin-bottom:14px;padding-bottom:10px}.bb-q-num{min-width:32px;height:32px;padding:0 8px;font-size:14px}.bb-mark-review{font-size:12px;gap:6px;padding:6px 8px;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-mark-review input{width:16px;height:16px}.bb-abc{margin-left:0;padding:6px 10px;font-size:12px;flex-shrink:0}.bb-footer{height:auto;min-height:56px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;justify-content:space-between;gap:6px}.bb-footer-left{display:none}.bb-footer-center{position:static;transform:none;flex:1 1 auto;min-width:0;display:flex;justify-content:flex-start}.bb-footer-right{min-width:0;flex:0 0 auto;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.bb-q-counter{width:auto;max-width:100%;min-width:0;padding:8px 10px;font-size:12px;gap:6px;border-radius:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-nav-btn{min-width:72px;min-height:40px;padding:8px 12px;font-size:13px;border-radius:10px}.bb-note-btn{margin-right:0!important;padding:8px 10px!important}.bb-note-btn span{display:none}.bb-nav-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 1024px) and (orientation: landscape){.bb-main{flex-direction:row;min-height:0}.bb-passage,.bb-question{width:auto!important;height:100%!important;min-height:0;max-height:none}.bb-divider{width:1px;height:auto;cursor:col-resize;border-top:none;border-bottom:none}.bb-header{height:auto;min-height:50px;padding:calc(env(safe-area-inset-top) + 4px) 10px 4px}.bb-header-left{min-width:0;flex:1 1 auto}.bb-section-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-header-center{position:static;left:auto;transform:none;margin:0 8px;gap:8px}.bb-header-right{gap:4px}.bb-tool-label,.bb-tool-divider{display:none}.bb-footer{height:auto;min-height:50px;padding:4px 10px calc(4px + env(safe-area-inset-bottom))}.bb-footer-center{position:static;transform:none;flex:1 1 auto;min-width:0;display:flex;justify-content:center}.bb-q-counter{padding:8px 12px;font-size:12px}.bb-nav-btn{min-width:72px;padding:7px 12px;font-size:12px}.bb-note-btn span{display:none}}@media (max-width: 768px) and (orientation: portrait){.bb-header{min-height:68px;padding:calc(env(safe-area-inset-top) + 6px) 10px 6px}.bb-timer{font-size:20px;min-width:5ch}.bb-pause-btn{padding:5px 10px;font-size:12px}.bb-save-exit-btn{padding:7px 10px;font-size:12px}.bb-passage{max-height:clamp(130px,34vh,240px);padding:12px 10px 12px 12px}.bb-question{padding:12px 10px calc(20px + env(safe-area-inset-bottom))}.bb-q-text{font-size:15px;line-height:1.65;margin-bottom:16px}.bb-opt-text{font-size:15px;line-height:1.5}.bb-options{gap:10px}.bb-option{padding:12px;gap:10px}.bb-math-option{padding:14px 16px;gap:10px}.bb-spr-input{font-size:18px;padding:14px 16px;min-height:52px}.bb-footer{min-height:54px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:6px}.bb-nav-btn{min-width:68px;padding:7px 10px;font-size:12px;min-height:38px}.bb-q-counter{padding:7px 8px;font-size:11px;min-height:38px}.bb-nav-grid{grid-template-columns:repeat(5,1fr);gap:8px;padding:16px}.bb-nav-item{min-height:44px;font-size:14px}.bb-ai-inline{max-height:250px}.bb-ai-inline-content{max-height:180px;font-size:14px;padding:12px}.bb-math-content{padding:16px}.bb-math-question-text{font-size:16px;line-height:1.7;margin:16px 0 24px}}@media (max-width: 640px) and (orientation: portrait){.bb-header{min-height:64px;padding:calc(env(safe-area-inset-top) + 4px) 8px 6px}.bb-timer{font-size:18px;min-width:4.8ch}.bb-pause-btn{padding:5px 8px;font-size:11px}.bb-save-exit-btn{padding:6px 8px;font-size:11px;border-radius:5px}.bb-header-right{gap:2px}.bb-tool{padding:5px}.bb-passage{padding:10px;font-size:15px;max-height:clamp(120px,32vh,210px)}.bb-question{padding:10px 8px calc(18px + env(safe-area-inset-bottom))}.bb-q-header{gap:6px}.bb-mark-review{font-size:11px;padding:5px 6px}.bb-q-text{font-size:15px;margin-bottom:16px}.bb-option{padding:10px 12px;font-size:14px}.bb-option-label{min-width:28px;height:28px;font-size:13px}.bb-footer-right{gap:4px}.bb-nav-btn{min-width:62px;padding:6px 8px;font-size:11px;min-height:36px}.bb-q-counter{padding:6px 8px;font-size:11px;min-height:36px}.bb-nav-grid{grid-template-columns:repeat(4,1fr);gap:6px;padding:12px}.bb-nav-item{min-height:40px;font-size:13px}.bb-math-content{padding:12px}.bb-math-question-text{font-size:15px;margin:12px 0 20px}.bb-math-option{min-height:48px;padding:12px 14px;gap:10px}}@media (max-width: 375px){.bb-header{min-height:60px}.bb-timer{font-size:16px}.bb-passage{font-size:14px;padding:10px}.bb-question{padding:10px 8px calc(16px + env(safe-area-inset-bottom))}.bb-q-text{font-size:14px}.bb-option{font-size:13px;padding:8px 10px}.bb-nav-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px) and (orientation: landscape){.bluebook-interface{height:100dvh;min-height:100dvh}.bb-main{flex-direction:row;min-height:0}.bb-passage,.bb-question{max-height:none;height:100%!important}.bb-passage{padding:20px 14px 20px 20px}.bb-header{height:auto;min-height:50px;padding:calc(env(safe-area-inset-top) + 4px) 8px 4px}.bb-header-center{position:static;left:auto;transform:none}.bb-footer{height:auto;min-height:52px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.bb-footer-center{position:static;transform:none}}.bb-math-centered{flex:1;display:flex;flex-direction:column;width:100%;height:100%;overflow-y:auto;background:#ffffff}.bb-math-fullwidth{width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start;padding:40px 24px;overflow-y:auto;background:#ffffff}.bb-math-content{width:100%;max-width:900px;margin:0 auto}.bb-math-question-text{font-size:18px;line-height:1.8;color:#2a3445;margin:24px 0 40px;padding:0}.bb-math-options{display:flex;flex-direction:column;gap:12px}.bb-math-option{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border:2px solid #8d97a8;border-radius:10px;cursor:pointer;transition:all .15s ease;position:relative}.bb-math-option:hover{border-color:#5b6476;background:#f8fafc;box-shadow:none}.bb-math-option.selected{border-color:#1d4ed8;background:#eff6ff;box-shadow:none}.bb-math-option.crossed{background:#f8fafc;border-color:#6b7280}.bb-math-option.crossed:after{content:"";position:absolute;left:14px;right:78px;top:50%;border-top:2px solid #374151;transform:translateY(-50%);pointer-events:none;opacity:.85}.bb-math-option.crossed .bb-math-opt-letter{border-color:#9ca3af;color:#64748b;background:#f8fafc}.bb-math-option.crossed .bb-math-opt-text{color:#6b7280}.bb-math-option.correct{border-color:#16a34a;background:#f0fdf4;box-shadow:none}.bb-math-opt-letter{width:32px;height:32px;border:2px solid #7b8495;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#475569;flex-shrink:0;transition:all .15s ease}.bb-math-opt-letter.selected{background:#2563eb;border-color:#2563eb;color:#fff}.bb-math-opt-letter.correct{background:#16a34a;border-color:#16a34a;color:#fff}.bb-math-opt-text{flex:1;font-size:16px;line-height:1.6;color:#2d3748;padding-top:4px}.bb-spr-layout{display:flex;gap:32px;margin-top:24px}.bb-spr-guide-panel{background:#f8f9fa;padding:24px;overflow-y:auto;border-right:1px solid #e5e7eb}.bb-spr-guide-content{max-width:480px}.bb-spr-guide-title{font-size:16px;font-weight:700;color:#1a1a2e;margin:0 0 16px}.bb-spr-guide-list{margin:0 0 20px;padding-left:20px;font-size:13px;line-height:1.6;color:#374151}.bb-spr-guide-list li{margin-bottom:8px}.bb-spr-guide-list strong{font-weight:600;color:#1f2937}.bb-spr-examples h4{font-size:14px;font-weight:600;margin:0 0 12px;color:#1a1a2e}.bb-spr-example-table{width:100%;border-collapse:collapse;font-size:12px;background:white}.bb-spr-example-table th,.bb-spr-example-table td{border:1px solid #d1d5db;padding:10px 12px;text-align:left;vertical-align:top}.bb-spr-example-table th{background:#e5e7eb;font-weight:600;font-size:11px;text-transform:none}.bb-spr-example-table td:first-child{font-weight:600;text-align:center;width:60px}.bb-spr-example-table td:nth-child(2){color:#166534}.bb-spr-example-table td:nth-child(3){color:#dc2626}.bb-spr-question-panel{padding:24px 32px;overflow-y:auto}.bb-spr-question-text{font-size:17px;line-height:1.7;color:#1a1a2e;margin-bottom:24px}.bb-spr-input-section{max-width:320px}.bb-spr-guide{flex:1;max-width:480px;padding:20px;background:#f8f9fa;border-radius:8px;font-size:13px;line-height:1.5;color:#374151}.bb-spr-input-area{flex:1;max-width:320px}.bb-spr-container{margin-top:24px}.bb-spr-input{width:200px;padding:12px 16px;font-size:18px;font-family:inherit;border:2px solid #d1d5db;border-radius:6px;outline:none;transition:border-color .15s ease;text-align:center}.bb-spr-input:focus{border-color:#2563eb}.bb-spr-input:disabled{background:#f3f4f6;cursor:not-allowed}.bb-spr-preview{margin-top:24px;padding:16px 20px;background:#f8f9fa;border-radius:8px}.bb-spr-preview-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.bb-spr-preview-value{font-size:20px;font-weight:500;color:#1a1a2e;min-height:32px}.bb-spr-empty{color:#9ca3af}.bb-spr-correct{margin-top:16px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;display:flex;align-items:center;gap:8px}.bb-spr-correct-label{font-size:14px;color:#166534;font-weight:500}.bb-spr-correct-value{font-size:16px;font-weight:600;color:#16a34a}.bb-ai-math{max-width:720px;width:100%;margin-top:24px}@media (max-width: 768px){.bb-math-content{padding:16px;max-width:100%}.bb-math-fullwidth{padding:20px 12px}.bb-math-question-text{font-size:16px;line-height:1.7;margin:16px 0 24px}.bb-math-options{gap:10px}.bb-math-option{padding:14px 16px;gap:12px;min-height:52px}.bb-math-option-label{min-width:32px;height:32px;font-size:14px}.bb-math-option-text{font-size:15px;line-height:1.6}.bb-spr-layout{flex-direction:column}.bb-spr-guide,.bb-spr-input-area{max-width:100%}.bb-spr-input{width:100%;font-size:18px;padding:14px 16px;min-height:52px}.bb-calculator-popup{position:fixed!important;inset:56px 0 60px!important;width:100%!important;height:auto!important;max-width:100%!important;border-radius:0!important;z-index:9999}.bb-calc-header{padding:10px 12px;cursor:default}.bb-calc-body{height:calc(100vh - 180px)!important}.bb-calc-resize-handle{display:none}}@media (max-width: 640px){.bb-math-content{padding:12px}.bb-math-fullwidth{padding:16px 10px}.bb-math-question-text{font-size:15px;margin:12px 0 20px}.bb-math-option{padding:12px 14px;gap:10px;min-height:48px}.bb-math-option-label{min-width:28px;height:28px;font-size:13px}.bb-math-option-text{font-size:14px}.bb-spr-input{font-size:16px;padding:12px 14px;min-height:48px}}.bb-calculator-popup{position:fixed;z-index:1000;background:#ffffff;border-radius:12px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb}@keyframes bbCalcDockIn{0%{opacity:0;transform:translate(-20px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@media (min-width: 1024px){.bb-calculator-popup--docked{top:72px!important;left:16px!important;animation:bbCalcDockIn .22s cubic-bezier(.22,1,.36,1);border-radius:10px}.bb-calculator-popup--docked .bb-calc-popup-header{cursor:default}}.bb-calc-popup-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);cursor:move;user-select:none}.bb-calc-popup-title{font-size:14px;font-weight:600;color:#fff}.bb-calc-popup-close{width:26px;height:26px;border:none;background:rgba(255,255,255,.2);color:#fff;font-size:14px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.bb-calc-popup-close:hover{background:rgba(255,255,255,.3)}.bb-calc-popup-body{flex:1;width:100%;min-height:0}.bb-calc-resize-handle{position:absolute;width:12px;height:12px;border-radius:999px;background:#ffffff;border:1px solid #cbd5e1;box-shadow:0 1px 4px #0f172a33;user-select:none;z-index:3}.bb-calc-resize-handle:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.bb-calc-resize-handle--nw{top:-6px;left:-6px;cursor:nwse-resize}.bb-calc-resize-handle--ne{top:-6px;right:-6px;cursor:nesw-resize}.bb-calc-resize-handle--sw{bottom:-6px;left:-6px;cursor:nesw-resize}.bb-calc-resize-handle--se{bottom:-6px;right:-6px;cursor:nwse-resize}.bb-calculator-overlay{position:fixed;top:60px;left:0;width:50%;bottom:56px;background:#ffffff;z-index:100;display:flex;flex-direction:column;border-right:3px solid #e5e7eb;box-shadow:4px 0 12px #0000001a}.bb-calculator-modal{display:flex;flex-direction:column;height:100%;width:100%}.bb-calculator-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f8f9fa;border-bottom:1px solid #e5e7eb;flex-shrink:0}.bb-calculator-tabs{display:flex;gap:8px}.bb-calc-tab{padding:8px 16px;border:1px solid #d1d5db;background:#ffffff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit;display:flex;align-items:center;gap:6px}.bb-calc-tab:hover{background:#f3f4f6}.bb-calc-tab.active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}.bb-calculator-close{width:32px;height:32px;border:none;background:transparent;font-size:20px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .15s ease}.bb-calculator-close:hover{background:#fee2e2;color:#dc2626}#desmos-calculator{flex:1;width:100%;min-height:0}.bb-tool.active{background:#2563eb;color:#fff;border-radius:6px}.bb-tool.active .bb-tool-icon,.bb-tool.active .bb-tool-label{color:#fff}.bb-spr-compact{margin-top:16px}.bb-spr-guide-compact{margin-bottom:16px}.bb-spr-guide-compact details{background:#f8f9fa;border-radius:8px;padding:12px 16px}.bb-spr-guide-compact summary{cursor:pointer;font-weight:600;font-size:14px;color:#374151;user-select:none}.bb-spr-guide-compact summary:hover{color:#2563eb}.bb-spr-guide-compact ul{margin:12px 0 0;padding-left:20px;font-size:13px;color:#4b5563;line-height:1.6}.bb-spr-guide-compact li{margin-bottom:4px}.bb-spr-guide-compact strong{color:#1f2937}.bb-spr-section{margin-top:32px}.bb-spr-section .bb-spr-input{width:220px;padding:14px 18px;font-size:20px;text-align:center;border:2px solid #d1d5db;border-radius:8px}.bb-spr-section .bb-spr-preview{margin-top:24px;padding:20px 24px;background:#f8f9fa;border-radius:8px;max-width:400px}.bb-spr-section .bb-spr-preview-value{font-size:24px;min-height:36px}.bb-module-review{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:40px;overflow-y:auto}.module-review-container{background:#ffffff;border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:700px;width:100%;padding:40px;animation:slideUp .3s ease-out}.module-review-header{text-align:center;margin-bottom:32px}.module-review-header h2{font-size:28px;font-weight:700;color:#1a1a2e;margin:0 0 8px;letter-spacing:-.02em}.module-review-subtitle{font-size:16px;color:#64748b;margin:0;font-weight:500}.module-review-content{margin-bottom:32px}.review-instructions{background:#f8fafc;border-radius:12px;padding:16px 20px;margin-bottom:24px}.review-instructions p{margin:0;font-size:14px;color:#475569;line-height:1.6}.review-questions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:10px;margin-bottom:24px;max-height:280px;overflow-y:auto;padding:4px}.review-question-btn{aspect-ratio:1;min-width:48px;min-height:48px;border:2px solid #e5e7eb;border-radius:10px;background:#ffffff;cursor:pointer;font-size:15px;font-weight:600;color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .15s ease;font-family:inherit}.review-question-btn:hover{border-color:#2563eb;background:#eff6ff;transform:scale(1.05)}.review-question-btn.answered{background:#2563eb;border-color:#2563eb;color:#fff}.review-question-btn.unanswered{background:#ffffff;border-color:#fbbf24;color:#92400e}.review-question-btn.marked{box-shadow:inset 0 0 0 3px #fef3c7}.review-question-btn.marked:after{content:"";position:absolute;top:-4px;right:-4px;width:14px;height:14px;background:#f59e0b;border-radius:50%;border:2px solid #ffffff}.review-question-btn .question-number{font-size:15px;line-height:1}.review-question-btn .mark-indicator{position:absolute;top:2px;right:4px;font-size:10px;color:#f59e0b}.review-legend{display:flex;justify-content:center;gap:24px;margin-bottom:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;font-weight:500}.legend-box{width:20px;height:20px;border-radius:6px;border:2px solid #e5e7eb}.legend-box.answered{background:#2563eb;border-color:#2563eb}.legend-box.unanswered{background:#ffffff;border-color:#fbbf24}.legend-box.marked{background:#ffffff;border-color:#e5e7eb;position:relative}.legend-box.marked:after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;background:#f59e0b;border-radius:50%;border:2px solid #ffffff}.review-summary{display:flex;justify-content:center;gap:40px;padding:20px;background:#f8fafc;border-radius:12px}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.summary-stat .stat-value{font-size:28px;font-weight:700;color:#1a1a2e}.summary-stat .stat-label{font-size:13px;color:#64748b;font-weight:500}.module-review-actions{display:flex;justify-content:space-between;gap:16px}.review-back-btn{padding:14px 28px;border:2px solid #e5e7eb;border-radius:10px;background:#ffffff;color:#374151;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.review-back-btn:hover{border-color:#d1d5db;background:#f8fafc}.review-continue-btn{padding:14px 32px;border:none;border-radius:10px;background:#2563eb;color:#fff;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.review-continue-btn:hover{background:#1d4ed8}@media (max-width: 600px){.bb-module-review{padding:20px}.module-review-container{padding:24px}.module-review-header h2{font-size:22px}.review-questions-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px}.review-question-btn{min-width:42px;min-height:42px;font-size:13px}.review-legend{gap:16px}.review-summary{gap:24px;padding:16px}.summary-stat .stat-value{font-size:22px}.module-review-actions{flex-direction:column}.review-back-btn,.review-continue-btn{width:100%;text-align:center}}.bb-video-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.bb-video-btn.has-video{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;animation:videoGlow 1.5s ease-in-out infinite;box-shadow:0 0 15px #dc262680}.bb-video-btn.has-video:hover{transform:scale(1.05);box-shadow:0 0 25px #dc2626b3}.bb-video-btn.no-video{background:#f3f4f6;color:#6b7280;border:2px dashed #d1d5db}.bb-video-btn.no-video:hover{background:#e5e7eb;color:#374151}@keyframes videoGlow{0%,to{box-shadow:0 0 10px #dc262666,0 0 20px #fff3;background:linear-gradient(135deg,#dc2626,#ef4444)}50%{box-shadow:0 0 20px #dc2626cc,0 0 30px #fff6;background:linear-gradient(135deg,#ef4444,#f87171)}}.bb-video-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.bb-video-modal{position:relative;width:90%;max-width:900px;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 50px #00000080}.bb-video-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:8px;z-index:10}.bb-video-close:hover{color:#ef4444}.bb-video-container{position:relative;padding-bottom:56.25%;height:0}.bb-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.ai-tutor-popup{position:fixed;z-index:1000;background:#ffffff;border-radius:12px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb}.ai-tutor-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);color:#fff;user-select:none}.ai-tutor-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem}.ai-tutor-icon{font-size:1.5rem}.ai-tutor-question-badge{background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.ai-tutor-header-actions{display:flex;align-items:center;gap:.5rem}.ai-tutor-model-select{border:1px solid rgba(255,255,255,.4);background:rgba(15,23,42,.35);color:#f8fafc;border-radius:8px;font-size:11px;font-weight:600;padding:.45rem .55rem;max-width:185px}.ai-tutor-model-select:focus{outline:none;border-color:#93c5fd}.ai-tutor-reset-btn,.ai-tutor-close-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s}.ai-tutor-reset-btn:hover,.ai-tutor-close-btn:hover{background:rgba(255,255,255,.3)}.ai-tutor-modes{display:flex;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;overflow-x:auto}.ai-tutor-mode-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:all .2s}.ai-tutor-mode-btn:hover{border-color:#3b82f6;background:#eff6ff}.ai-tutor-mode-btn.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.ai-tutor-mode-btn .mode-icon{font-size:1rem}.ai-tutor-mode-btn .mode-name{font-weight:500}.ai-tutor-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;min-height:300px;max-height:400px}.ai-tutor-message{display:flex;gap:.75rem;max-width:90%}.ai-tutor-message.user{flex-direction:row-reverse;align-self:flex-end}.ai-tutor-message.assistant{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:#f1f5f9;overflow:hidden}.message-avatar img{width:100%;height:100%;object-fit:cover}.ai-tutor-message.user .message-avatar{background:#3b82f6}.message-content{background:#f1f5f9;padding:.75rem 1rem;border-radius:16px;line-height:1.5;font-size:.95rem;white-space:pre-wrap}.ai-tutor-message.user .message-content{background:#3b82f6;color:#fff;border-radius:16px 16px 4px}.ai-tutor-message.assistant .message-content{background:#f1f5f9;color:#1e293b;border-radius:16px 16px 16px 4px}.typing-indicator{display:flex;gap:4px;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.ai-tutor-quick-actions{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #e2e8f0;overflow-x:auto;background:#fafafa}.ai-tutor-quick-actions button{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:16px;background:#fff;cursor:pointer;font-size:.8rem;white-space:nowrap;color:#475569;transition:all .2s}.ai-tutor-quick-actions button:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.ai-tutor-input-container{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e2e8f0;background:#fff}.ai-tutor-input-container textarea{flex:1;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:24px;font-size:.95rem;resize:none;outline:none;font-family:inherit;max-height:120px;transition:border-color .2s}.ai-tutor-input-container textarea:focus{border-color:#3b82f6}.ai-tutor-input-container textarea::placeholder{color:#94a3b8}.ai-tutor-send-btn{width:44px;height:44px;border-radius:50%;border:none;background:#3b82f6;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s;flex-shrink:0}.ai-tutor-send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.ai-tutor-send-btn:disabled{background:#cbd5e1;cursor:not-allowed}.ai-tutor-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:se-resize;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:12px;user-select:none;background:linear-gradient(135deg,transparent 50%,#e5e7eb 50%);border-radius:0 0 12px}.ai-tutor-resize-handle:hover{color:#6b7280;background:linear-gradient(135deg,transparent 50%,#d1d5db 50%)}@media (max-width: 640px){.ai-tutor-popup{width:100%!important;height:100%!important;left:0!important;top:0!important;border-radius:0}.ai-tutor-messages{min-height:250px}.ai-tutor-mode-btn .mode-name{display:none}.ai-tutor-mode-btn{padding:.5rem}.ai-tutor-mode-btn .mode-icon{font-size:1.25rem}.ai-tutor-resize-handle{display:none}}.note-editor-popup{position:fixed;z-index:1001;background:#fffef5;border-radius:14px;box-shadow:0 12px 48px #0000002e,0 4px 16px #00000014;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e5d8;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif}.note-editor-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:linear-gradient(180deg,#f9f3e3 0%,#f5eed8 100%);border-bottom:1px solid #e0d9c5;user-select:none;min-height:44px}.note-editor-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1rem;color:#3d3522}.note-editor-icon{font-size:1.25rem}.note-editor-badge{background:rgba(139,92,246,.15);color:#7c3aed;padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.note-editor-header-actions{display:flex;align-items:center;gap:6px}.note-save-status{display:flex;align-items:center;gap:4px;font-size:.75rem;padding:2px 8px;border-radius:8px;font-weight:500}.note-save-status.saving{color:#b08d2e}.note-save-status.saved{color:#16a34a}.note-header-btn{background:rgba(0,0,0,.06);border:none;color:#6b5e3e;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.note-header-btn:hover{background:rgba(0,0,0,.12)}.note-header-btn.delete:hover{background:#fef2f2;color:#ef4444}.note-header-btn.close{color:#9c8c6e}.note-header-btn.close:hover{background:rgba(0,0,0,.12);color:#3d3522}.note-tags-bar{display:flex;gap:6px;padding:8px 16px;background:#faf6ea;border-bottom:1px solid #eee8d5;overflow-x:auto;flex-shrink:0}.note-tag-chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:14px;font-size:.75rem;font-weight:600;cursor:pointer;border:1.5px solid;transition:all .2s;white-space:nowrap;font-family:inherit}.note-tag-chip:hover{opacity:.85;transform:scale(1.03)}.note-tag-chip.active{box-shadow:0 2px 8px #0000001f}.note-editor-body{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.note-editor-body .quill{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-body .ql-toolbar.ql-snow{border:none;border-bottom:1px solid #eee8d5;background:#fdfaf0;padding:6px 12px;font-family:inherit}.note-editor-body .ql-toolbar .ql-formats{margin-right:8px}.note-editor-body .ql-toolbar button{width:30px;height:30px;border-radius:6px;transition:background .15s}.note-editor-body .ql-toolbar button:hover{background:rgba(0,0,0,.06)}.note-editor-body .ql-toolbar button.ql-active{background:rgba(59,130,246,.12);color:#2563eb}.note-editor-body .ql-container.ql-snow{border:none;flex:1;overflow-y:auto;font-family:"Source Serif 4",Georgia,serif}.note-editor-body .ql-editor{padding:16px 20px;font-size:15px;line-height:1.7;color:#2c2416;min-height:200px}.note-editor-body .ql-editor.ql-blank:before{color:#b8a88a;font-style:normal;font-size:15px}.note-editor-body .ql-editor strong{font-weight:700;color:#1a1a1a}.note-editor-body .ql-editor em{font-style:italic}.note-editor-body .ql-editor ul,.note-editor-body .ql-editor ol{padding-left:1.5em}.note-editor-body .ql-editor li{margin:4px 0}.note-editor-body .ql-editor blockquote{border-left:3px solid #d4a853;padding-left:12px;margin:8px 0;color:#6b5e3e;font-style:italic}.note-editor-body .ql-editor h1{font-size:1.5rem;font-weight:700;margin:.5em 0;color:#1a1408}.note-editor-body .ql-editor h2{font-size:1.25rem;font-weight:600;margin:.5em 0;color:#2c2416}.note-editor-body .ql-editor h3{font-size:1.1rem;font-weight:600;margin:.5em 0;color:#3d3522}.note-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:#9c8c6e;font-size:.9rem}.note-spinner{width:28px;height:28px;border:3px solid #e8e5d8;border-top-color:#d4a853;border-radius:50%;animation:note-spin .7s linear infinite}@keyframes note-spin{to{transform:rotate(360deg)}}.note-history-panel{flex:1;overflow-y:auto;padding:0}.note-history-title{display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:600;font-size:.9rem;color:#3d3522;border-bottom:1px solid #eee8d5;background:#fdfaf0;position:sticky;top:0;z-index:1}.note-history-close{margin-left:auto;background:none;border:none;color:#3b82f6;font-size:.8rem;cursor:pointer;font-weight:500}.note-history-close:hover{text-decoration:underline}.note-history-empty{padding:40px 16px;text-align:center;color:#9c8c6e;font-size:.9rem}.note-history-list{padding:8px}.note-history-item{padding:12px 14px;margin-bottom:8px;border-radius:10px;background:#faf6ea;border:1px solid #eee8d5}.note-history-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.note-history-version{font-weight:600;font-size:.8rem;color:#6b5e3e}.note-history-date{font-size:.75rem;color:#9c8c6e}.note-history-content{font-size:.85rem;color:#3d3522;line-height:1.5;max-height:80px;overflow:hidden;opacity:.8}.note-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f9f3e3;border-top:1px solid #e0d9c5;flex-shrink:0}.note-editor-meta{font-size:.75rem;color:#9c8c6e}.note-last-saved{font-style:italic}.note-editor-actions{display:flex;gap:8px}.note-cancel-btn{padding:6px 16px;border:1px solid #d4cbb5;border-radius:8px;background:#fff;color:#6b5e3e;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.note-cancel-btn:hover{background:#f5f0e3}.note-save-btn{padding:6px 20px;border:none;border-radius:8px;background:#d4a853;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.note-save-btn:hover{background:#c49a42}.note-save-btn:disabled{background:#d4cbb5;cursor:not-allowed}.note-resize-handle{position:absolute;bottom:2px;right:4px;width:20px;height:20px;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;color:#c4b99a;font-size:14px;user-select:none}.note-resize-handle:hover{color:#9c8c6e}@media (max-width: 768px){.note-editor-popup{left:5%!important;top:5%!important;width:90%!important;height:85%!important;border-radius:12px}}.voice-tutor-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease}.voice-tutor-modal.white{background:#ffffff;border-radius:16px;width:96vw;max-width:1180px;max-height:94vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000026;border:1px solid #e5e7eb;animation:slideUp .2s ease;overflow:hidden}.voice-tutor-modal.white.expanded{width:98vw;max-width:1380px}.voice-tutor-modal.white.focus-passage .voice-tutor-context.white.two-column{grid-template-columns:64% 36%!important}.voice-tutor-modal.white.focus-chat .voice-tutor-context.white{max-height:220px}.voice-tutor-modal.white.focus-chat .voice-tutor-messages.white{min-height:340px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-tutor-header.white{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 18px;border-bottom:1px solid #e5e7eb;background:#ffffff}.voice-tutor-title.white{display:flex;align-items:center;gap:10px;color:#111827;font-size:18px;font-weight:600}.voice-icon{font-size:24px}.session-badge.white{font-size:12px;padding:4px 8px;background:#f3f4f6;border-radius:10px;color:#374151}.voice-tutor-close.white{margin-left:auto;background:#f3f4f6;border:1px solid #e5e7eb;color:#111827;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px;transition:all .15s}.voice-tutor-close.white:hover{background:#e5e7eb}.voice-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.voice-header-btn{border:1px solid #d1d5db;border-radius:8px;background:#ffffff;color:#111827;padding:6px 10px;font-size:12px;font-weight:500;cursor:pointer}.voice-header-btn:hover{background:#f8fafc}.voice-header-btn.reconnect{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.voice-layout-toolbar{padding:8px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e5e7eb;background:#f8fafc;font-size:12px;color:#334155}.voice-layout-toolbar input[type=range]{flex:1}.voice-tutor-context.white{padding:16px 18px;background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px;max-height:44vh;overflow:hidden}.voice-tutor-context.white.two-column{display:grid;grid-template-columns:56% 44%;gap:16px}.context-col{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;overflow-y:auto;padding-right:4px}.context-block{display:flex;flex-direction:column;gap:6px}.context-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.4px}.context-text.full{font-size:14px;color:#111827;line-height:1.6;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.options-grid{display:flex;flex-direction:column;gap:8px}.option-row{display:flex;gap:8px;align-items:flex-start;width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#111827;font:inherit}.option-key{font-weight:600;color:#111827}.option-text{flex:1}.voice-tutor-visualizer.white{padding:16px 18px;display:flex;flex-direction:column;align-items:stretch;gap:6px;border-bottom:1px solid #e5e7eb}.passage-sentence-list{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto}.sync-segment{border:1px solid transparent;border-radius:8px;background:transparent;color:#111827;text-align:left;font:inherit;line-height:1.5;padding:6px 8px;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}.sync-segment:hover{background:#f8fafc;border-color:#e5e7eb}.sync-segment.sync-active{box-shadow:inset 0 -2px #2563eb;border-color:#bfdbfe}.sync-segment.role-intro{background:#fff7ed;border-color:#fed7aa}.sync-segment.role-evidence{background:#ecfccb;border-color:#bef264}.sync-segment.role-reasoning{background:#e0f2fe;border-color:#7dd3fc}.sync-segment.role-conclusion{background:#fce7f3;border-color:#f9a8d4}.voice-progress-wrap{display:flex;flex-direction:column;gap:8px}.voice-progress-track{width:100%;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.voice-progress-fill{height:100%;border-radius:999px;background:#2563eb;transition:width .12s linear}.voice-progress-dots{display:flex;gap:6px;flex-wrap:wrap}.voice-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;opacity:.7}.voice-dot.active{transform:scale(1.25);opacity:1}.voice-dot.role-intro{background:#fb923c}.voice-dot.role-evidence{background:#84cc16}.voice-dot.role-reasoning{background:#38bdf8}.voice-dot.role-conclusion{background:#ec4899}.voice-playback-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.voice-playback-controls button{border:1px solid #d1d5db;background:#ffffff;color:#111827;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}.voice-playback-controls button:hover{background:#f9fafb}.voice-playback-controls span{font-size:12px;color:#374151;min-width:42px;text-align:center}.callouts-list,.trap-choice-list{display:flex;flex-direction:column;gap:6px}.callout-item,.trap-choice-item{border:1px solid #e5e7eb;background:#f9fafb;border-radius:8px;padding:8px 10px;font-size:13px;color:#374151}.callout-item.contrast{border-left:4px solid #fb7185}.callout-item.definition{border-left:4px solid #60a5fa}.callout-item.cause-effect{border-left:4px solid #34d399}.callout-token{display:inline-block;font-weight:600;margin-right:6px;color:#111827}.callout-tip{color:#475569}.key-points-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.key-points-list button{border:none;background:transparent;color:#1f2937;text-align:left;cursor:pointer;padding:0;font-size:13px}.key-points-list button:hover{text-decoration:underline}.voice-anchor-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;background:#f8fafc}.anchor-preview{font-size:12px;color:#334155}.voice-anchor-bar button{border:1px solid #d1d5db;border-radius:8px;background:#ffffff;color:#111827;padding:6px 10px;font-size:12px;cursor:pointer}.voice-anchor-bar button:disabled{opacity:.5;cursor:not-allowed}.anchor-status{font-size:12px;color:#475569}.anchor-status.saved{color:#15803d}.anchor-status.error{color:#b91c1c}.timeline-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.timeline-actions button{border:1px solid #d1d5db;border-radius:6px;background:#ffffff;color:#1f2937;font-size:12px;padding:4px 8px;cursor:pointer}.timeline-actions button:hover{background:#f9fafb}.voice-tutor-messages.white{flex:1;overflow-y:auto;padding:14px 18px;display:flex;flex-direction:column;gap:12px;min-height:260px;max-height:none;background:#ffffff}.voice-tutor-empty.white{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center;font-size:14px}.voice-message.white{padding:12px 14px;border-radius:12px;max-width:90%;animation:messageIn .15s ease;border:1px solid #e5e7eb;background:#f9fafb;color:#111827}.voice-message.user.white{align-self:flex-end;background:#e5f0ff;border-color:#c7d7fe}.voice-message.assistant.white{align-self:flex-start}.voice-message.streaming.white{border-color:#c7d7fe;position:relative}.voice-message.streaming.white:after{content:"▋";animation:blink 1s infinite;color:#2563eb}.message-role{font-size:11px;color:#6b7280;margin-bottom:4px;font-weight:500}.message-content{font-size:14px;line-height:1.5;white-space:pre-wrap}.voice-tutor-error.white{padding:12px 18px;background:#fef2f2;color:#b91c1c;font-size:13px;border-top:1px solid #fecdd3}.voice-tutor-controls.white{padding:14px 18px;display:flex;flex-direction:column;gap:12px;align-items:stretch;border-top:1px solid #e5e7eb;background:#ffffff}.voice-input-row{display:flex;align-items:center;gap:12px}.voice-quick-prompts{display:flex;flex-wrap:wrap;gap:8px}.voice-quick-prompts button{border:1px solid #d1d5db;border-radius:999px;background:#ffffff;color:#1f2937;font-size:12px;padding:6px 10px;cursor:pointer}.voice-quick-prompts button:hover:not(:disabled){background:#eff6ff;border-color:#bfdbfe}.voice-quick-prompts button:disabled{opacity:.5;cursor:not-allowed}.voice-input-form{flex:1;display:flex;gap:8px}.voice-text-input.white{flex:1;background:#ffffff;border:1px solid #d1d5db;border-radius:12px;padding:11px 14px;color:#111827;font-size:14px;outline:none;transition:all .15s}.voice-text-input.white::placeholder{color:#9ca3af}.voice-text-input.white:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.voice-text-input.white:disabled{opacity:.5;cursor:not-allowed}.voice-send-btn.white{background:#2563eb;border:none;color:#fff;width:44px;height:44px;border-radius:12px;cursor:pointer;font-size:18px;transition:all .15s;display:flex;align-items:center;justify-content:center}.voice-send-btn.white:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #2563eb40}.voice-send-btn.white:disabled{opacity:.5;cursor:not-allowed}.voice-mic-btn.white{background:#10b981;border:none;color:#fff;width:56px;height:56px;border-radius:50%;cursor:pointer;font-size:24px;transition:all .15s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #10b9814d}.voice-mic-btn.white:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #10b98159}.voice-mic-btn.white.recording{background:#dc2626;animation:pulse 1s infinite;box-shadow:0 4px 12px #dc262659}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.voice-mic-btn:disabled{opacity:.5;cursor:not-allowed;animation:none}.voice-tutor-footer.white{padding:10px 18px;border-top:1px solid #e5e7eb;font-size:11px;color:#6b7280;text-align:center;background:#ffffff}.voice-tutor-messages::-webkit-scrollbar{width:6px}.voice-tutor-messages::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:3px}.voice-tutor-messages::-webkit-scrollbar-thumb{background:rgba(148,163,184,.55);border-radius:3px}.voice-tutor-messages::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.65)}@media (max-width: 480px){.voice-tutor-modal.white{width:100%;max-width:100%;max-height:100vh;border-radius:0;height:100vh}.voice-tutor-context.white.two-column{flex-direction:column;grid-template-columns:1fr}.voice-tutor-messages.white{max-height:none;flex:1}.voice-header-actions{display:none}.voice-input-row{gap:8px}.voice-mic-btn.white{width:48px;height:48px;font-size:20px}}.voice-tutor-button{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff;color:#111827;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s;box-shadow:0 2px 6px #00000014}.voice-tutor-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.voice-tutor-button:disabled{opacity:.5;cursor:not-allowed}.voice-tutor-button .button-icon{font-size:16px}.voice-tutor-button .button-spinner{width:14px;height:14px;border:2px solid rgba(17,24,39,.2);border-top-color:#111827;border-radius:50%;animation:spin .8s linear infinite}.ai-modal-overlay{--ai-overlay-bg: rgba(2, 6, 23, .62);--ai-surface: #ffffff;--ai-surface-soft: #f8fafc;--ai-surface-muted: #f9fafb;--ai-border: #e2e8f0;--ai-border-strong: #d1d5db;--ai-text-main: #1e293b;--ai-text-muted: #64748b;--ai-radius: 14px;--ai-shadow: 0 22px 48px rgba(15, 23, 42, .25);--ai-hl-yellow-bg: #fef08a;--ai-hl-yellow-text: #854d0e;--ai-hl-green-bg: #bbf7d0;--ai-hl-green-text: #166534;--ai-hl-blue-bg: #bfdbfe;--ai-hl-blue-text: #1e40af;--ai-hl-pink-bg: #fbcfe8;--ai-hl-pink-text: #9d174d;position:fixed;inset:0;background:var(--ai-overlay-bg);display:flex;align-items:center;justify-content:center;z-index:9999;padding:10px}html.os-windows .ai-modal-overlay{--ai-overlay-bg: rgba(2, 6, 23, .58);--ai-surface-soft: #f7f9fc;--ai-surface-muted: #f7f9fc;--ai-border: #d8e1ec;--ai-text-main: #1c2b3a;--ai-text-muted: #5f6f82;--ai-shadow: 0 20px 44px rgba(15, 23, 42, .22);--ai-hl-yellow-bg: #fef3a8;--ai-hl-yellow-text: #7a4a00;--ai-hl-green-bg: #c7f7da;--ai-hl-green-text: #0f5d34;--ai-hl-blue-bg: #c7dcff;--ai-hl-blue-text: #2249a9;--ai-hl-pink-bg: #fdd7e9;--ai-hl-pink-text: #8e1c4f}.ai-modal-container-v2{background:var(--ai-surface);border-radius:var(--ai-radius);width:100%;max-width:1300px;max-height:95vh;display:flex;flex-direction:column;box-shadow:var(--ai-shadow);border:1px solid var(--ai-border);overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html.os-windows .ai-modal-container-v2{border-radius:12px;font-family:Segoe UI Variable Text,Inter,Segoe UI,sans-serif;text-rendering:geometricPrecision}.ai-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--ai-border);background:var(--ai-surface-soft);gap:16px}.ai-modal-title{display:flex;align-items:center;gap:8px}.ai-modal-title h3{margin:0;font-size:16px;font-weight:600;color:var(--ai-text-main)}.ai-modal-icon{font-size:20px;color:#f59e0b}.ai-voice-controls{display:flex;align-items:center;gap:8px}.ai-voice-btn{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.ai-voice-btn:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff}.ai-voice-btn:disabled{opacity:.45;cursor:not-allowed}.ai-voice-btn.danger{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.ai-voice-btn.danger:hover:not(:disabled){background:#fee2e2}.ai-color-legend-inline{display:flex;gap:12px;font-size:11px;color:var(--ai-text-muted)}.ai-legend-item{display:flex;align-items:center;gap:4px}.ai-legend-dot{width:10px;height:10px;border-radius:2px}.ai-legend-dot.yellow{background:#fef08a}.ai-legend-dot.green{background:#bbf7d0}.ai-legend-dot.blue{background:#bfdbfe}.ai-legend-dot.pink{background:#fbcfe8}.ai-modal-close{background:none;border:none;color:var(--ai-text-muted);cursor:pointer;padding:6px;border-radius:6px}.ai-modal-close:hover{background:#f3f4f6;color:var(--ai-text-main)}.ai-model-select-wrap{display:flex;align-items:center;gap:8px;margin-left:auto}.ai-model-select-label{font-size:12px;font-weight:600;color:var(--ai-text-muted)}.ai-model-select{border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:12px;font-weight:600;padding:6px 10px;min-width:190px}.ai-model-select:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 2px #3b82f633}.ai-modal-body-v2{display:flex;flex:1;overflow:hidden}.ai-modal-left-panel{flex:0 0 45%;padding:14px;overflow-y:auto;background:var(--ai-surface-muted);display:flex;flex-direction:column;gap:12px}.ai-full-passage-section{flex:1;min-height:0;display:flex;flex-direction:column}.ai-full-passage-text{flex:1;font-size:13px;line-height:1.6;color:var(--ai-text-main);background:var(--ai-surface);padding:10px 12px;border-radius:6px;border:1px solid var(--ai-border);overflow-y:auto;max-height:280px}.ai-question-section{flex-shrink:0;margin-top:10px}.ai-question-text{font-size:13px;line-height:1.6;color:var(--ai-text-main);background:#fffbeb;padding:10px 12px;border-radius:6px;border:1px solid #fcd34d}.ai-options-section{flex-shrink:0}.ai-modal-left-compact{flex:0 0 260px;padding:14px;overflow-y:auto;background:#f9fafb}.ai-section-title-sm{font-size:11px;font-weight:600;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.ai-options-compact{display:flex;flex-direction:column;gap:5px}.ai-option-compact{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--ai-surface);border:1px solid var(--ai-border);border-radius:5px;font-size:11px}.ai-option-compact.correct{background:#f0fdf4;border-color:#86efac}.ai-option-letter-sm{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:50%;font-weight:600;font-size:9px;color:#374151;flex-shrink:0}.ai-option-compact.correct .ai-option-letter-sm{background:#22c55e;color:#fff}.ai-option-text-sm{flex:1;color:#374151;line-height:1.5;font-size:12px}.ai-answer-compact{margin-top:8px;padding:6px 8px;background:#ecfdf5;border-radius:5px;font-size:11px;color:#166534}.ai-divider-v{width:1px;background:var(--ai-border)}.ai-divider-h{height:1px;background:var(--ai-border);margin:12px 0}.ai-modal-right-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.ai-passage-section{padding:16px 20px;flex:0 0 auto;max-height:35%;overflow-y:auto}.ai-passage-text{font-size:13px;line-height:1.6;color:var(--ai-text-main);background:var(--ai-surface-soft);padding:10px 12px;border-radius:6px;border:1px solid var(--ai-border)}.ai-no-passage{color:#94a3b8;font-style:italic;font-size:13px}.ai-no-analysis{color:#64748b;font-style:italic;font-size:13px;padding:8px 0}.ai-debug-error{margin:8px 0 14px;padding:10px 12px;border-radius:8px;border:1px solid #fecaca;background:#fff1f2;color:#9f1239;font-size:13px;line-height:1.55}.ai-error-link{color:#be123c;font-weight:700;text-decoration:underline}.ai-error-link:hover{color:#9f1239}.ai-analysis-section{flex:1;padding:0 20px 16px;overflow-y:auto}.ai-analysis-content{font-size:13px;line-height:1.7;color:#334155;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html.os-windows .ai-modal-title h3,html.os-windows .ai-full-passage-text,html.os-windows .ai-question-text,html.os-windows .ai-passage-text,html.os-windows .ai-analysis-content,html.os-windows .ai-option-text-sm,html.os-windows .ai-chat-bubble,html.os-windows .ai-chat-input{letter-spacing:.003em}html.os-windows .ai-analysis-content,html.os-windows .ai-full-passage-text,html.os-windows .ai-question-text,html.os-windows .ai-passage-text{line-height:1.68}html.os-windows .ai-option-compact,html.os-windows .desmos-container-clean,html.os-windows .geometry-container-clean,html.os-windows .ai-chat-input-container{border-color:#d8e1ec}.explanation-line{margin-bottom:5px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:2px 4px;border-radius:6px}.voice-active-line{background:linear-gradient(90deg,#dbeafe 0%,#eef2ff 100%);box-shadow:0 0 0 1px #bfdbfe inset;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#2563eb}.ai-loading-sm{display:flex;align-items:center;gap:10px;padding:20px;color:#6b7280;font-size:13px}.ai-spinner-sm{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.ai-hl-yellow{background:var(--ai-hl-yellow-bg);padding:1px 3px;border-radius:2px;color:var(--ai-hl-yellow-text)}.ai-hl-green{background:var(--ai-hl-green-bg);padding:1px 3px;border-radius:2px;color:var(--ai-hl-green-text)}.ai-hl-blue{background:var(--ai-hl-blue-bg);padding:1px 3px;border-radius:2px;color:var(--ai-hl-blue-text)}.ai-hl-pink{background:var(--ai-hl-pink-bg);padding:1px 3px;border-radius:2px;color:var(--ai-hl-pink-text)}@media (max-width: 900px){.ai-modal-body-v2{flex-direction:column}.ai-modal-left-panel{flex:none;max-height:40vh}.ai-full-passage-text{max-height:150px}.ai-modal-left-compact{flex:none;max-height:180px}.ai-divider-v{width:100%;height:1px}.ai-color-legend-inline{display:none}.ai-voice-controls{width:100%;justify-content:flex-start;flex-wrap:wrap}}.desmos-container-clean{margin:12px 0 16px;padding:0;background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;animation:slideIn .3s ease-out}.desmos-header{padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.desmos-title{font-size:14px;font-weight:600;color:#1e293b}.desmos-equations-list{padding:10px 14px;background:#fafbfc;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:10px}.desmos-equation-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151;background:#fff;padding:4px 10px;border-radius:6px;border:1px solid #e5e7eb}.eq-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.geometry-container-clean{margin:12px 0 16px;padding:0;background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden;animation:slideIn .3s ease-out}.geometry-header{padding:10px 14px;background:#f0fdf4;border-bottom:1px solid #dcfce7}.geometry-title{font-size:14px;font-weight:600;color:#166534}.desmos-placeholder{padding:12px 16px;background:#f3f4f6;border-radius:8px;text-align:center;color:#6b7280;font-style:italic;margin:12px 0;border:2px dashed #d1d5db}.streaming-indicator{color:#10b981;font-size:12px;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.typing-cursor{display:inline-block;color:#3b82f6;animation:blink .8s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-chat-section{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:16px}.ai-chat-divider{display:none}.ai-chat-messages{max-height:200px;overflow-y:auto;margin-bottom:12px;padding-right:8px}.ai-chat-message{display:flex;margin-bottom:10px}.ai-chat-message.user{justify-content:flex-end}.ai-chat-message.assistant{justify-content:flex-start}.ai-chat-bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}.ai-chat-message.user .ai-chat-bubble{background:#3b82f6;color:#fff;border-bottom-right-radius:4px}.ai-chat-message.assistant .ai-chat-bubble{background:#f3f4f6;color:#1f2937;border-bottom-left-radius:4px}.ai-chat-bubble.loading{padding:12px 20px}.typing-dots{display:flex;gap:4px}.typing-dots span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-chat-input-container{display:flex;gap:8px;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:24px;padding:6px 6px 6px 16px;transition:border-color .2s,box-shadow .2s}.ai-chat-input-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ai-chat-input{flex:1;border:none;background:transparent;font-size:14px;outline:none;padding:8px 0;color:#1f2937}.ai-chat-input::placeholder{color:#9ca3af}.ai-chat-send-btn{width:36px;height:36px;border-radius:50%;border:none;background:#3b82f6;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.ai-chat-send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.ai-chat-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.ai-chat-send-btn svg{width:18px;height:18px;transform:rotate(90deg)}.teacher-management{padding:2rem;max-width:1400px;margin:0 auto}.tm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.tm-header-left h2{font-size:1.75rem;font-weight:700;color:#1a202c;margin:0 0 .5rem}.tm-subtitle{color:#718096;font-size:.95rem;margin:0}.btn-create-teacher{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea4d}.btn-create-teacher:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;margin-bottom:1.5rem;animation:slideDown .3s ease}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1.5rem;animation:slideDown .3s ease}.error-banner button{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#dc2626;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tm-search-bar{position:relative;margin-bottom:1.5rem}.tm-search-bar .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:1.25rem}.tm-search-bar input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .3s ease}.tm-search-bar input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tm-table-container{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tm-table{width:100%;border-collapse:collapse}.tm-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.tm-table th{padding:1rem;text-align:left;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.tm-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.tm-table tbody tr:hover{background:#f9fafb}.tm-table td{padding:1rem;color:#4b5563;font-size:.95rem}.teacher-name,.teacher-email{display:flex;align-items:center;gap:.5rem}.user-icon,.email-icon{color:#9ca3af;font-size:1rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.last-login{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.875rem}.no-login{color:#9ca3af;font-style:italic;font-size:.875rem}.action-buttons{display:flex;gap:.5rem}.btn-action{padding:.5rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-action svg{font-size:1rem}.btn-edit{background:#dbeafe;color:#1e40af}.btn-edit:hover{background:#bfdbfe}.btn-reset{background:#fef3c7;color:#92400e}.btn-reset:hover{background:#fde68a}.btn-delete{background:#fee2e2;color:#991b1b}.btn-delete:hover{background:#fecaca}.empty-state{text-align:center;padding:4rem 2rem!important}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state p{color:#6b7280;font-size:1.125rem;margin-bottom:1.5rem}.btn-create-first{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-create-first:hover{background:#5568d3}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem;font-weight:700;color:#1a202c}.modal-close{background:none;border:none;font-size:1.75rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#f3f4f6;color:#4b5563}.modal-content form,.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#374151;font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input.input-disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group small{display:block;margin-top:.375rem;color:#6b7280;font-size:.8125rem}.password-input{position:relative}.password-input input{padding-right:3rem}.toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-password:hover{color:#4b5563}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel,.btn-submit,.btn-delete-confirm{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.btn-cancel{background:#f3f4f6;color:#4b5563}.btn-cancel:hover{background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.btn-delete-confirm{background:#dc2626;color:#fff}.btn-delete-confirm:hover{background:#b91c1c}.btn-cancel:disabled,.btn-submit:disabled,.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed}.modal-danger .modal-header{border-bottom-color:#fecaca}.warning-icon{text-align:center;color:#dc2626;margin-bottom:1rem}.teacher-info-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin:1rem 0}.teacher-info-box p{margin:.5rem 0;color:#4b5563;font-size:.95rem}.warning-text{color:#dc2626;font-size:.875rem;text-align:center;margin-top:1rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#6b7280;font-size:1rem}@media (max-width: 768px){.teacher-management{padding:1rem}.tm-header{flex-direction:column;align-items:stretch}.btn-create-teacher{width:100%;justify-content:center}.tm-table-container{overflow-x:auto}.tm-table{min-width:800px}.modal-content{width:95%;max-width:none}.modal-actions{flex-direction:column}.btn-cancel,.btn-submit,.btn-delete-confirm{width:100%}}.admin-stats-page{display:flex;flex-direction:column;gap:1rem}.admin-stats-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.admin-stats-search-wrap{flex:1;min-width:260px;display:flex;align-items:center;gap:.5rem;background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:.625rem .875rem}.admin-stats-search-wrap svg{color:#94a3b8;width:16px;height:16px}.admin-stats-search-wrap input{border:none;outline:none;flex:1;color:#0f172a;font-size:.95rem}.admin-stats-refresh-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #e2e8f0;background:#ffffff;color:#1e293b;border-radius:10px;padding:.6rem 1rem;font-weight:600;cursor:pointer}.admin-stats-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-stats-refresh-btn .spinning{animation:admin-stats-spin 1s linear infinite}@keyframes admin-stats-spin{to{transform:rotate(360deg)}}.admin-stats-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.admin-stats-summary-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem;display:flex;align-items:center;gap:.75rem}.admin-stats-summary-icon{width:40px;height:40px;border-radius:10px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-stats-summary-icon svg{width:18px;height:18px}.admin-stats-summary-body{min-width:0}.admin-stats-summary-label{margin:0;color:#64748b;font-size:.8rem;font-weight:600}.admin-stats-summary-value{margin:.1rem 0;color:#0f172a;font-size:1.3rem;line-height:1.2}.admin-stats-summary-helper{margin:0;color:#94a3b8;font-size:.75rem}.admin-stats-content-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(480px,1.4fr);gap:1rem;align-items:start}.admin-stats-student-list-card,.admin-stats-detail-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:1rem}.admin-stats-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.875rem}.admin-stats-section-header h3{margin:0;color:#0f172a}.admin-stats-section-header span{color:#64748b;font-size:.85rem}.admin-stats-subtext{margin:.25rem 0 0;color:#64748b;font-size:.85rem}.admin-stats-loading,.admin-stats-empty,.admin-stats-error{border:1px dashed #cbd5e1;border-radius:10px;padding:1rem;color:#64748b;text-align:center}.admin-stats-error{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.admin-stats-empty.large{min-height:320px;display:flex;align-items:center;justify-content:center}.admin-stats-student-list{display:flex;flex-direction:column;gap:.625rem;max-height:700px;overflow-y:auto;padding-right:.25rem}.admin-stats-student-item{border:1px solid #e2e8f0;border-radius:10px;background:#ffffff;padding:.75rem;cursor:pointer;text-align:left;transition:all .2s}.admin-stats-student-item:hover{border-color:#93c5fd;background:#f8fbff}.admin-stats-student-item.active{border-color:#2563eb;background:#eff6ff}.student-item-head{display:flex;justify-content:space-between;gap:.75rem}.student-item-head h4{margin:0;font-size:.95rem;color:#0f172a}.student-item-head p{margin:.15rem 0 0;color:#64748b;font-size:.8rem}.student-item-score{min-width:40px;text-align:right;font-weight:700;color:#1d4ed8}.student-item-metrics{margin-top:.55rem;display:flex;gap:.6rem;flex-wrap:wrap}.student-item-metrics span{background:#f1f5f9;border-radius:9999px;padding:.2rem .5rem;color:#334155;font-size:.75rem}.student-item-last-active{margin:.55rem 0 0;color:#64748b;font-size:.75rem}.admin-stats-pagination{margin-top:.8rem;display:flex;justify-content:space-between;align-items:center}.admin-stats-pagination button{border:1px solid #e2e8f0;background:#ffffff;color:#334155;border-radius:8px;padding:.35rem .75rem;cursor:pointer;font-weight:600}.admin-stats-pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-stats-pagination span{color:#64748b;font-size:.85rem}.admin-stats-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:.8rem}.admin-stats-detail-section{margin-top:.8rem}.admin-stats-detail-section h4{margin:0 0 .5rem;color:#0f172a;font-size:.95rem}.admin-stats-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;overflow-x:auto}.admin-stats-table-wrap table{width:100%;border-collapse:collapse;min-width:640px}.admin-stats-table-wrap th,.admin-stats-table-wrap td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid #f1f5f9;font-size:.82rem}.admin-stats-table-wrap th{background:#f8fafc;color:#475569;font-weight:700}.admin-stats-table-wrap td{color:#1e293b}.admin-stats-activity-list{display:flex;flex-direction:column;gap:.45rem}.admin-stats-activity-item{border:1px solid #e2e8f0;border-radius:10px;padding:.55rem .7rem;display:flex;justify-content:space-between;gap:1rem;color:#334155;font-size:.82rem}@media (max-width: 1200px){.admin-stats-content-grid{grid-template-columns:1fr}}@media (max-width: 640px){.admin-stats-toolbar{flex-direction:column;align-items:stretch}.admin-stats-refresh-btn{justify-content:center}}.admin-settings-panel{display:grid;gap:1rem}.admin-settings-card{background:#ffffff;border:1px solid #dbe3ef;border-radius:16px;padding:1.25rem 1.3rem;box-shadow:0 6px 20px #0f172a0d}.admin-settings-head{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1rem}.admin-settings-icon{width:2.2rem;height:2.2rem;border-radius:10px;background:#eff6ff;color:#1d4ed8;display:grid;place-items:center;flex-shrink:0}.admin-settings-head h2{margin:0;color:#0f172a;font-size:1.08rem;font-weight:700}.admin-settings-head p{margin:.25rem 0 0;color:#64748b;font-size:.9rem}.admin-settings-form{display:grid;gap:.8rem;max-width:560px}.admin-settings-form label{display:grid;gap:.36rem}.admin-settings-form label>span{display:inline-flex;align-items:center;gap:.38rem;color:#334155;font-size:.88rem;font-weight:600}.admin-settings-form input{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 .75rem;background:#ffffff;color:#0f172a;font-size:.92rem;outline:none}.admin-settings-form input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.admin-settings-form button{margin-top:.24rem;height:42px;border:none;border-radius:10px;background:linear-gradient(90deg,#0ea5e9 0%,#2563eb 100%);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer}.admin-settings-form button:disabled{opacity:.65;cursor:wait}.admin-settings-message{margin:0;padding:.66rem .72rem;border-radius:10px;display:inline-flex;align-items:center;gap:.42rem;font-size:.88rem;line-height:1.4}.admin-settings-message.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.admin-settings-message.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.rich-text-editor{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:white;display:flex;flex-direction:column}.rich-text-editor.toolbar-bottom{flex-direction:column}.rich-text-editor.toolbar-bottom .rte-toolbar-extra{order:2;border-top:1px solid #e2e8f0;border-bottom:none;position:sticky;bottom:0;z-index:10}.rte-toolbar-extra{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.rte-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;transition:all .2s}.rte-btn:hover{background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.rte-btn:disabled{opacity:.5;cursor:not-allowed}.rte-icon{font-size:1rem;font-weight:600}.rte-loading{font-size:.7rem;margin-left:2px}.rich-text-editor .quill{background:white;display:flex;flex-direction:column;flex:1;min-height:0}.rich-text-editor .ql-container{font-size:.95rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;flex:1;overflow-y:auto;max-height:300px}.rich-text-editor .ql-editor{padding:.75rem;min-height:80px;overflow-y:auto}.rich-text-editor .ql-editor.ql-blank:before{color:#94a3b8;font-style:normal}.rich-text-editor .ql-editor img{max-width:100%;height:auto;border-radius:4px;margin:.25rem 0}.rich-text-editor .ql-toolbar{background:white;border:none;border-bottom:1px solid #e2e8f0;padding:.5rem}.rich-text-editor .ql-toolbar button{width:28px;height:28px}.rich-text-editor .ql-toolbar button:hover,.rich-text-editor .ql-toolbar .ql-active{color:#3b82f6}.table-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.table-modal{background:white;border-radius:12px;padding:1.5rem;width:320px;box-shadow:0 20px 25px -5px #0000001a}.table-modal h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#111827}.table-modal-inputs{display:flex;gap:1rem;margin-bottom:1rem}.table-modal .input-group{flex:1}.table-modal .input-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}.table-modal .input-group input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.9375rem;text-align:center}.table-modal .input-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.table-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.table-preview table{border-collapse:collapse}.table-preview td{width:24px;height:24px;border:1px solid #d1d5db;background:white}.table-preview td.header-cell{background:#e5e7eb}.preview-note{font-size:.75rem;color:#9ca3af}.table-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.table-modal .btn-cancel{padding:.5rem 1rem;background:white;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.table-modal .btn-cancel:hover{background:#f3f4f6}.table-modal .btn-insert{padding:.5rem 1rem;background:#3b82f6;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.table-modal .btn-insert:hover{background:#2563eb}.table-modal .btn-copy{padding:.5rem 1rem;background:#f59e0b;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.table-modal .btn-copy:hover{background:#d97706}.table-modal-info{background:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;padding:.625rem .75rem;margin-bottom:1rem}.table-modal-info small{font-size:.8125rem;color:#92400e;line-height:1.4}.rich-text-editor .ql-editor table{border-collapse:collapse;width:100%;margin:.5rem 0}.rich-text-editor .ql-editor table td,.rich-text-editor .ql-editor table th{border:1px solid #d1d5db;padding:.5rem;text-align:center}.rich-text-editor .ql-editor table th{background:#f3f4f6;font-weight:600}.rte-separator{width:1px;height:24px;background:#e2e8f0;margin:0 .25rem}.rte-btn-compact{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.rte-btn-compact:hover{background:#bfdbfe;border-color:#3b82f6;color:#1e3a8a}.rte-btn-clean{background:#fef3c7;border-color:#fcd34d;color:#92400e}.rte-btn-clean:hover{background:#fde68a;border-color:#f59e0b;color:#78350f}.rte-toggle{display:flex;align-items:center;gap:.375rem;padding:0 .5rem;cursor:pointer;font-size:.75rem;color:#64748b}.rte-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#10b981;cursor:pointer}.rte-toggle-label{font-weight:500}.rte-toggle:hover{color:#1e293b}.rte-btn-watermark{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.rte-btn-watermark:hover{background:#bfdbfe;border-color:#3b82f6;color:#1e40af}.rte-btn-chart{background:#fef3c7;border-color:#fbbf24;color:#b45309}.rte-btn-chart:hover{background:#fde68a;border-color:#f59e0b;color:#92400e}.rte-btn-enhance{background:#dcfce7;border-color:#86efac;color:#166534}.rte-btn-enhance:hover{background:#bbf7d0;border-color:#4ade80;color:#15803d}.rte-toggle-math{background:#eff6ff;border-radius:4px;padding:2px 6px}.rte-toggle-math input:checked+.rte-toggle-label{color:#2563eb;font-weight:600}.chart-generator-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.chart-generator-modal{background:white;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.cg-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.cg-header h3{margin:0;font-size:1.125rem;color:#111827}.cg-close{background:none;border:none;font-size:1.25rem;color:#6b7280;cursor:pointer;padding:.25rem}.cg-close:hover{color:#111827}.cg-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.cg-types{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.cg-types button{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;background:white;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s}.cg-types button:hover{border-color:#3b82f6;color:#3b82f6}.cg-types button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.cg-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.cg-form{display:flex;flex-direction:column;gap:.75rem}.cg-field{display:flex;flex-direction:column;gap:.25rem}.cg-field label{font-size:.8125rem;font-weight:500;color:#374151}.cg-field input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.cg-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.cg-field small{font-size:.75rem;color:#6b7280}.cg-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.cg-series{display:flex;flex-direction:column;gap:.5rem}.cg-series>label{font-size:.8125rem;font-weight:500;color:#374151}.cg-series-row{display:flex;gap:.5rem;align-items:center}.cg-label-input{width:80px;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem}.cg-values-input{flex:1;padding:.375rem .5rem;border:1px solid #d1d5db;border-radius:4px;font-size:.8125rem}.cg-remove{width:24px;height:24px;border:none;background:#fee2e2;color:#dc2626;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1}.cg-remove:hover{background:#fecaca}.cg-add-series{align-self:flex-start;padding:.375rem .75rem;border:1px dashed #d1d5db;background:white;border-radius:4px;font-size:.8125rem;color:#6b7280;cursor:pointer}.cg-add-series:hover{border-color:#3b82f6;color:#3b82f6}.cg-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer}.cg-checkbox input{width:16px;height:16px}.cg-generate{margin-top:.5rem;padding:.625rem 1rem;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.cg-generate:hover:not(:disabled){background:#2563eb}.cg-generate:disabled{opacity:.6;cursor:not-allowed}.cg-preview{display:flex;flex-direction:column;gap:.5rem}.cg-preview>label{font-size:.8125rem;font-weight:500;color:#374151}.cg-preview img{max-width:100%;border:1px solid #e5e7eb;border-radius:8px}.cg-preview-placeholder{height:250px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;color:#9ca3af;font-size:.875rem}.cg-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f8fafc}.cg-cancel{padding:.5rem 1rem;border:1px solid #d1d5db;background:white;border-radius:6px;font-size:.875rem;color:#374151;cursor:pointer}.cg-cancel:hover{background:#f3f4f6}.cg-insert{padding:.5rem 1rem;border:none;background:#10b981;border-radius:6px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer}.cg-insert:hover:not(:disabled){background:#059669}.cg-insert:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.cg-content{grid-template-columns:1fr}}.cg-types button.tikz{background:#f0fdf4;border-color:#86efac;color:#166534}.cg-types button.tikz:hover,.cg-types button.tikz.active{background:#22c55e;border-color:#22c55e;color:#fff}.cg-tikz-field{flex:1}.cg-tikz-textarea{width:100%;min-height:200px;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8125rem;line-height:1.5;resize:vertical;background:#1e293b;color:#e2e8f0}.cg-tikz-textarea:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e33}.cg-tikz-field small{color:#6b7280;font-size:.75rem;line-height:1.4}.comment-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.comment-modal-card{width:min(980px,100%);max-height:min(88vh,960px);background:#ffffff;border-radius:1rem;border:1px solid #dbe7f2;box-shadow:0 22px 56px #0f172a33;display:flex;flex-direction:column;overflow:hidden}.comment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #e2edf7;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}.comment-modal-header h2{margin:0;font-size:1.1rem;color:#0f172a}.comment-modal-header button{border:1px solid #d4e2f1;background:#fff;color:#475569;border-radius:.65rem;width:2rem;height:2rem;display:grid;place-items:center;cursor:pointer}.comment-modal-header button:hover{color:#0f172a;border-color:#93c5fd}.comment-modal-post{padding:1rem 1.2rem;border-bottom:1px solid #e2edf7;background:#f8fbff}.comment-modal-post-meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}.comment-modal-post-meta img,.comment-modal-post-meta .fallback{width:2.1rem;height:2.1rem;border-radius:999px}.comment-modal-post-meta .fallback{display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#0f172a;background:linear-gradient(145deg,#60a5fa 0%,#34d399 100%)}.comment-modal-post-meta strong{display:block;font-size:.9rem;color:#0f172a}.comment-modal-post-meta span{display:block;margin-top:.05rem;font-size:.75rem;color:#64748b}.comment-modal-post p{margin:0;color:#334155;font-size:.9rem;line-height:1.55}.comment-modal-list{flex:1;overflow:auto;padding:.9rem 1rem 1rem;background:#ffffff}.comment-loading,.comment-empty{border:1px dashed #cadcf0;border-radius:.8rem;background:#f8fbff;color:#64748b;text-align:center;padding:1.3rem}.comment-empty p{margin:.6rem 0 0}.comment-node{margin-top:.72rem;margin-left:calc(var(--comment-indent-level, 0) * 18px)}.comment-card{border:1px solid #dce8f4;border-radius:.86rem;background:#ffffff;padding:.72rem .8rem;display:flex;gap:.62rem}.comment-card.pending{border-color:#fcd34d;background:#fffbeb}.comment-card.rejected{border-color:#fecaca;background:#fef2f2}.comment-avatar-wrap{flex-shrink:0}.comment-avatar-img,.comment-avatar-fallback{width:1.9rem;height:1.9rem;border-radius:999px}.comment-avatar-fallback{display:grid;place-items:center;font-size:.75rem;font-weight:800;color:#0f172a;background:linear-gradient(145deg,#60a5fa 0%,#34d399 100%)}.comment-body{min-width:0;flex:1}.comment-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem .6rem}.comment-meta-row strong{font-size:.84rem;color:#0f172a}.comment-meta-row>span{font-size:.74rem;color:#64748b}.comment-status-badge{border-radius:999px;padding:.16rem .52rem;font-size:.69rem;font-weight:700}.comment-status-badge.pending{border:1px solid #fcd34d;color:#92400e;background:#fef3c7}.comment-status-badge.rejected{border:1px solid #fca5a5;color:#991b1b;background:#fee2e2}.comment-content{margin-top:.42rem;white-space:pre-wrap;color:#334155;font-size:.86rem;line-height:1.55}.comment-mention-token{color:#1d4ed8;font-weight:700}.comment-actions{margin-top:.45rem}.comment-actions button{border:none;background:transparent;color:#2563eb;padding:0;font-size:.79rem;font-weight:700;display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.comment-replies{margin-top:.55rem}.comment-reply-editor{margin-top:.55rem;border:1px solid #dbe7f2;border-radius:.72rem;background:#f8fbff;padding:.55rem}.comment-reply-editor textarea{width:100%;border:1px solid #cfe0ee;border-radius:.62rem;background:#ffffff;color:#0f172a;font-family:inherit;font-size:.84rem;resize:vertical;padding:.54rem .58rem}.comment-reply-actions{display:flex;justify-content:flex-end;gap:.46rem;margin-top:.5rem}.comment-reply-actions button{border:1px solid #d7e6f4;background:#fff;color:#334155;border-radius:.58rem;padding:.34rem .66rem;font-size:.78rem;font-weight:700;cursor:pointer}.comment-reply-actions button.ghost{background:#f8fafc}.comment-reply-actions button:not(.ghost){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.comment-modal-input-wrap{border-top:1px solid #e2edf7;background:#ffffff;padding:.9rem 1rem 1rem}.comment-input-form{display:flex;gap:.64rem}.comment-input-form textarea{flex:1;border:1px solid #d3e3f2;border-radius:.7rem;font-family:inherit;font-size:.86rem;color:#0f172a;resize:vertical;padding:.58rem .66rem}.comment-input-form button{border:none;border-radius:.68rem;background:linear-gradient(135deg,#0ea5e9 0%,#10b981 100%);color:#fff;display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.82rem;padding:.62rem .85rem;height:fit-content;cursor:pointer}.comment-input-form button:disabled{opacity:.5;cursor:not-allowed}.mention-suggestions{margin-top:.64rem;border:1px solid #d7e6f4;border-radius:.72rem;background:#f8fbff;overflow:hidden}.mention-suggestions .title{padding:.45rem .62rem;font-size:.74rem;font-weight:700;color:#64748b;border-bottom:1px solid #e2edf7}.mention-suggestions .item{padding:.5rem .62rem;font-size:.82rem;color:#475569}.mention-btn{width:100%;border:none;border-top:1px solid #ebf2f9;background:transparent;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.mention-btn span{color:#1d4ed8;font-weight:700}.mention-btn small{color:#64748b}.comment-error{margin-top:.62rem;border:1px solid #fecaca;border-radius:.62rem;background:#fef2f2;color:#991b1b;padding:.5rem .62rem;font-size:.8rem}@media (max-width: 760px){.comment-modal-card{max-height:94vh}.comment-input-form{flex-direction:column}.comment-input-form button{justify-content:center}}.answer-list{display:flex;flex-direction:column;gap:.85rem}.answer-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.answer-list-header h4{margin:0;display:inline-flex;align-items:center;gap:.45rem;font-size:1rem;color:#0f172a}.answer-list-header p{margin:0;font-size:.82rem;color:#64748b}.answer-loading{border:1px solid #dbe7f2;background:#f8fbff;border-radius:.8rem;padding:.9rem;text-align:center;color:#64748b}.answer-form{border:1px solid #dbe7f2;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border-radius:.88rem;padding:.72rem;box-shadow:0 6px 15px #0f172a0f}.answer-form-input{width:100%;min-height:92px;padding:.68rem .74rem;border:1px solid #cfe0ee;border-radius:.7rem;outline:none;resize:vertical;font-family:inherit;font-size:.9rem;color:#0f172a;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.answer-form-input::placeholder{color:#94a3b8}.answer-form-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #3b82f624}.answer-form-footer{margin-top:.58rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.answer-form-footer span{font-size:.74rem;color:#64748b}.answer-submit-btn{border:none;border-radius:.62rem;padding:.5rem .82rem;display:inline-flex;align-items:center;gap:.38rem;font-size:.82rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#10b981 100%);box-shadow:0 9px 16px #10b9813d}.answer-submit-btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.answer-form-error{margin-top:.6rem;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;border-radius:.62rem;padding:.54rem .65rem;font-size:.8rem}.answer-login-hint{border:1px dashed #cfddec;background:#f8fbff;color:#64748b;border-radius:.8rem;padding:.7rem .8rem;font-size:.84rem}.answer-items{display:flex;flex-direction:column;gap:.72rem}.answer-card{position:relative;border:1px solid #d7e6f4;background:#fff;border-radius:.9rem;padding:.78rem .84rem;box-shadow:0 8px 18px #0f172a0d}.answer-card.accepted{border-color:#86efac;background:linear-gradient(180deg,#f0fdf4 0%,#ffffff 100%)}.answer-accepted-badge{position:absolute;top:.62rem;right:.62rem;border-radius:999px;border:1px solid #6ee7b7;background:#ecfdf5;color:#047857;font-size:.72rem;font-weight:700;padding:.3rem .6rem;display:inline-flex;align-items:center;gap:.3rem}.answer-card-head{display:inline-flex;align-items:center;gap:.58rem;margin-bottom:.62rem}.answer-avatar{width:32px;height:32px;border-radius:999px;background:linear-gradient(145deg,#60a5fa 0%,#34d399 100%);color:#0f172a;display:grid;place-items:center;font-size:.82rem;font-weight:800;flex-shrink:0}.answer-card-head strong{display:block;font-size:.86rem;color:#0f172a}.answer-card-head small{display:block;margin-top:.06rem;font-size:.74rem;color:#64748b}.answer-content{white-space:pre-wrap;font-size:.9rem;color:#334155;line-height:1.56}.answer-actions{margin-top:.68rem;padding-top:.68rem;border-top:1px solid #ebf2f9;display:flex;align-items:center;gap:.5rem}.answer-action-btn{border:1px solid #d7e6f4;background:#fff;color:#475569;border-radius:.58rem;font-size:.78rem;font-weight:700;padding:.36rem .62rem;display:inline-flex;align-items:center;gap:.32rem;cursor:pointer}.answer-action-btn:hover{border-color:#93c5fd;color:#1d4ed8}.answer-action-btn:disabled{cursor:not-allowed;opacity:.55}.answer-action-btn.voted{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.answer-action-btn.accept{border-color:#6ee7b7;background:#ecfdf5;color:#047857}.answer-empty{border:1px dashed #cfddec;background:#f8fbff;color:#64748b;border-radius:.85rem;padding:1rem;text-align:center;font-size:.84rem}@media (max-width: 760px){.answer-card{padding:.72rem}.answer-accepted-badge{position:static;margin-bottom:.6rem}.answer-form-footer{flex-direction:column;align-items:stretch}.answer-submit-btn{justify-content:center}}:root{--community-bg: #f2f7fb;--community-panel: #ffffff;--community-panel-soft: #f8fbff;--community-border: #dce8f4;--community-text: #0f172a;--community-muted: #64748b;--community-blue: #2563eb;--community-cyan: #0ea5e9;--community-emerald: #10b981;--community-amber: #f59e0b;--community-red: #ef4444}.community-shell{min-height:100vh;background:radial-gradient(900px 360px at 8% -10%,#bfdbfe55 0%,transparent 55%),radial-gradient(900px 360px at 95% 10%,#a7f3d050 0%,transparent 55%),var(--community-bg);color:var(--community-text);font-family:Space Grotesk,Sora,Manrope,Nunito Sans,sans-serif}.community-hero{position:relative;padding:1.9rem 2rem 1.35rem;border-bottom:1px solid var(--community-border);background:linear-gradient(180deg,#ffffffcc 0%,#ffffffc7 70%,#f7fbffe0 100%);overflow:hidden}.community-hero-grid{position:absolute;inset:0;background-image:linear-gradient(transparent 31px,#dbeafe66 32px),linear-gradient(90deg,transparent 31px,#dbeafe66 32px);background-size:32px 32px;pointer-events:none;opacity:.35}.community-hero-inner,.community-stats,.community-body{width:min(1320px,100%);margin:0 auto;position:relative;z-index:1}.community-hero-inner{display:grid;gap:1rem;grid-template-columns:auto 1fr auto;align-items:start}.community-back-btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #c8daf0;background:#fff;color:#0f172a;border-radius:.65rem;padding:.58rem .9rem;font-size:.86rem;font-weight:700;cursor:pointer;transition:.2s ease}.community-back-btn:hover{border-color:#93c5fd;color:var(--community-blue);transform:translateY(-1px)}.community-kicker{margin:0 0 .52rem;font-size:.73rem;letter-spacing:.12em;font-weight:700;color:#2563eb}.community-hero-copy h1{margin:0;font-size:clamp(1.45rem,2.5vw,2.35rem);letter-spacing:.01em}.community-hero-copy p{margin:.52rem 0 0;color:var(--community-muted);max-width:70ch;line-height:1.56;font-size:.96rem}.community-hero-actions{display:flex;gap:.72rem;align-items:center}.community-btn{border:none;border-radius:.74rem;padding:.68rem 1.03rem;font-size:.86rem;font-weight:700;display:inline-flex;align-items:center;gap:.42rem;cursor:pointer;transition:.2s ease}.community-btn.solid{color:#fff;background:linear-gradient(135deg,var(--community-cyan) 0%,var(--community-emerald) 100%);box-shadow:0 12px 20px #22c55e29}.community-btn.solid:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0ea5e930}.community-btn.ghost{color:#0f172a;border:1px solid #c9dbef;background:#fff}.community-btn.ghost:hover{border-color:#93c5fd;color:var(--community-blue)}.community-stats{margin-top:1.16rem;display:grid;gap:.82rem;grid-template-columns:repeat(4,minmax(0,1fr))}.community-stat-card{background:var(--community-panel);border:1px solid var(--community-border);border-radius:.98rem;padding:.92rem 1rem;display:flex;align-items:center;gap:.72rem;box-shadow:0 5px 16px #0f172a12}.stat-icon{width:2.25rem;height:2.25rem;border-radius:.62rem;display:grid;place-items:center;font-size:1rem}.stat-icon.blue{background:#dbeafe;color:#2563eb}.stat-icon.green{background:#dcfce7;color:#16a34a}.stat-icon.amber{background:#fef3c7;color:#d97706}.stat-icon.cyan{background:#cffafe;color:#0891b2}.community-stat-card p{margin:0;font-size:1.2rem;line-height:1.1;font-weight:800;color:#0f172a}.community-stat-card span{font-size:.8rem;color:var(--community-muted)}.community-body{margin-top:1.2rem;padding:0 2rem 2rem;display:grid;gap:1rem;grid-template-columns:280px minmax(0,1fr)}.community-side{display:flex;flex-direction:column;gap:.95rem;position:sticky;top:1rem;align-self:start}.side-card{background:var(--community-panel);border:1px solid var(--community-border);border-radius:.95rem;padding:.9rem;box-shadow:0 5px 16px #0f172a0d}.side-card h3{margin:0 0 .72rem;font-size:.8rem;color:var(--community-muted);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.35rem}.category-list{display:flex;flex-direction:column;gap:.5rem}.category-btn{border:1px solid var(--community-border);border-radius:.72rem;background:var(--community-panel-soft);color:#0f172a;padding:.64rem .74rem;display:flex;align-items:center;gap:.6rem;text-align:left;cursor:pointer;transition:.2s ease}.category-btn span{display:grid;place-items:center;width:1.84rem;height:1.84rem;border-radius:.55rem;background:#dbeafe;color:#2563eb}.category-btn strong{display:block;font-size:.86rem}.category-btn small{display:block;margin-top:.05rem;font-size:.72rem;color:var(--community-muted)}.category-btn:hover{border-color:#93c5fd}.category-btn.active{background:#eff6ff;border-color:#60a5fa}.category-btn.active span{background:#bfdbfe}.side-actions{display:flex;flex-direction:column;gap:.55rem}.side-actions .community-btn{width:100%;justify-content:center}.bookmark-info{margin-top:.4rem;border-top:1px dashed #cddcec;padding-top:.64rem;color:var(--community-muted);font-size:.82rem;display:inline-flex;align-items:center;gap:.42rem}.community-feed{display:flex;flex-direction:column;gap:.92rem}.feed-topbar{background:var(--community-panel);border:1px solid var(--community-border);border-radius:.95rem;padding:.78rem .9rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;box-shadow:0 5px 16px #0f172a0d}.search-wrap{flex:1;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--community-border);border-radius:.7rem;background:#fff;padding:.55rem .72rem}.search-wrap svg{color:#64748b}.search-wrap input{flex:1;border:none;outline:none;background:transparent;color:#0f172a;font-size:.9rem;font-family:inherit}.search-wrap input::placeholder{color:#94a3b8}.feed-topbar-right{display:inline-flex;align-items:center;gap:.55rem}.feed-topbar-right span{font-size:.8rem;color:var(--community-muted)}.refresh-btn{border:1px solid var(--community-border);background:#fff;color:#0f172a;border-radius:.65rem;padding:.52rem .72rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.8rem;font-weight:700}.refresh-btn:hover{border-color:#93c5fd;color:var(--community-blue)}.community-loading,.community-posts{display:flex;flex-direction:column;gap:.8rem}.community-skeleton-post{background:var(--community-panel);border:1px solid var(--community-border);border-radius:.9rem;padding:1rem;display:flex;gap:.8rem}.skeleton-avatar{width:2.65rem;height:2.65rem;border-radius:999px;background:#dbe5f0;animation:communityPulse 1.4s infinite}.skeleton-lines{flex:1;display:flex;flex-direction:column;gap:.45rem}.skeleton-lines span{display:block;height:.74rem;border-radius:.4rem;background:#dbe5f0;animation:communityPulse 1.4s infinite}.skeleton-lines span:nth-child(2){width:72%}.skeleton-lines span:nth-child(3){width:54%}@keyframes communityPulse{0%,to{opacity:1}50%{opacity:.45}}.community-empty{border:1px dashed #bfd5ea;background:var(--community-panel);border-radius:1rem;padding:2.4rem 1.5rem;text-align:center}.community-empty-icon{font-size:2.1rem;margin-bottom:.75rem}.community-empty h2{margin:0;color:#0f172a}.community-empty p{margin:.55rem auto 1rem;color:var(--community-muted);max-width:48ch}.community-empty-actions{display:inline-flex;gap:.55rem;flex-wrap:wrap;justify-content:center}.community-post-card{background:var(--community-panel);border:1px solid var(--community-border);border-radius:1rem;padding:.95rem 1rem;box-shadow:0 10px 20px #0f172a0f;transition:box-shadow .22s ease,border-color .22s ease}.community-post-card:hover{border-color:#bfdbfe;box-shadow:0 13px 28px #0f172a14}.community-post-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.post-user{display:inline-flex;align-items:center;gap:.58rem;min-width:0}.post-avatar-img,.post-avatar-fallback{width:2.55rem;height:2.55rem;border-radius:999px;flex-shrink:0}.post-avatar-img{object-fit:cover}.post-avatar-fallback{display:grid;place-items:center;background:linear-gradient(145deg,#60a5fa 0%,#34d399 100%);color:#0f172a;font-weight:800}.post-user strong{display:block;font-size:.9rem;color:#0f172a}.post-user small{display:block;margin-top:.05rem;font-size:.75rem;color:var(--community-muted)}.post-head-right{display:inline-flex;align-items:center;gap:.45rem}.community-action-wrap{position:relative}.post-menu-btn{border:1px solid var(--community-border);background:#fff;color:#0f172a;border-radius:.6rem;width:2.05rem;height:2.05rem;display:grid;place-items:center;cursor:pointer}.post-menu-btn:hover{border-color:#93c5fd;color:var(--community-blue)}.post-menu-dropdown{position:absolute;right:0;top:calc(100% + .35rem);border:1px solid var(--community-border);border-radius:.72rem;background:#fff;min-width:132px;overflow:hidden;z-index:18;box-shadow:0 14px 24px #0f172a22}.post-menu-dropdown button{width:100%;border:none;background:transparent;color:#0f172a;text-align:left;padding:.62rem .74rem;font-size:.82rem;display:inline-flex;align-items:center;gap:.42rem;cursor:pointer;justify-content:flex-start}.post-menu-dropdown button:hover{background:#eff6ff}.post-menu-dropdown button.danger{color:#dc2626}.post-menu-dropdown button.danger:hover{background:#fef2f2}.community-post-pills{margin-top:.65rem;display:flex;flex-wrap:wrap;gap:.4rem}.community-pill{display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:999px;font-size:.72rem;font-weight:700}.community-pill.exam{background:#dbeafe;color:#1d4ed8}.community-pill.score{background:#dcfce7;color:#166534}.community-pill.achievement{background:#fef3c7;color:#b45309}.community-pill.milestone{background:#cffafe;color:#0e7490}.community-pill.question{background:#fef3c7;color:#b45309}.community-pill.solved{background:#dcfce7;color:#166534}.community-post-content{margin-top:.75rem;color:#1e293b;white-space:pre-wrap;line-height:1.64;font-size:.93rem}.post-image-btn{border:1px solid var(--community-border);background:#fff;margin-top:.75rem;border-radius:.85rem;overflow:hidden;width:100%;padding:0;cursor:pointer}.post-image-btn img{width:100%;max-height:340px;object-fit:cover;display:block;transition:transform .25s ease}.post-image-btn:hover img{transform:scale(1.02)}.linked-question-card{margin-top:.75rem;border:1px solid #bfdbfe;border-radius:.8rem;padding:.72rem .82rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;background:linear-gradient(140deg,#eff6ff 0%,#f0f9ff 100%)}.linked-question-card p{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:#1d4ed8;font-weight:700}.linked-question-card span{display:block;margin-top:.15rem;color:var(--community-muted);font-size:.76rem}.linked-question-card button{border:1px solid #93c5fd;background:#fff;color:#1d4ed8;border-radius:.62rem;padding:.48rem .72rem;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.linked-question-card button:hover{border-color:#60a5fa}.question-preview-loading,.question-preview-error{grid-column:1 / -1;border:1px dashed #bfdbfe;border-radius:.66rem;background:#ffffffc8;color:#475569;font-size:.8rem;padding:.56rem .62rem}.question-preview-error{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.question-preview-shell{grid-column:1 / -1;border-top:1px dashed #bfdbfe;padding-top:.66rem;display:grid;gap:.56rem}.question-preview-block h4{margin:0 0 .32rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#334155}.question-preview-content{border:1px solid #bfdbfe;background:#ffffff;border-radius:.62rem;padding:.5rem .58rem;font-size:.83rem;line-height:1.5;color:#1e293b}.question-preview-content.preview-scroll{max-height:170px;overflow:auto}.question-preview-content .math-content,.option-value .math-content{font-size:inherit;overflow-wrap:anywhere}.question-preview-content .math-content img,.option-value .math-content img{max-width:min(100%,420px);max-height:185px;object-fit:contain;display:block;margin:.4rem auto}.question-preview-content .math-content>table,.option-value .math-content>table{width:100%;table-layout:fixed;display:block;overflow-x:auto;border-collapse:collapse}.question-preview-content .math-content>table td,.question-preview-content .math-content>table th,.option-value .math-content>table td,.option-value .math-content>table th{border:none;padding:.2rem .35rem;background:transparent;vertical-align:top}.question-preview-options{display:grid;gap:.45rem}.question-option-item{border:1px solid #dbeafe;border-radius:.62rem;background:#ffffff;padding:.45rem .54rem;display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:.42rem;align-items:start}.option-key{width:1.7rem;height:1.7rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.78rem;font-weight:800;display:grid;place-items:center;flex-shrink:0}.option-value{min-width:0;color:#0f172a;font-size:.82rem;line-height:1.52;word-break:break-word}.community-post-actions{margin-top:.76rem;padding-top:.7rem;border-top:1px solid #e5edf6;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.action-btn{border:1px solid var(--community-border);background:#fff;color:#334155;border-radius:.64rem;font-size:.78rem;font-weight:700;padding:.45rem .62rem;display:inline-flex;align-items:center;gap:.34rem;cursor:pointer}.action-btn:hover{border-color:#93c5fd;color:var(--community-blue)}.action-btn.liked{border-color:#fecaca;background:#fef2f2;color:#dc2626}.action-btn.saved{border-color:#a7f3d0;background:#ecfdf5;color:#059669}.action-like.is-animating svg{animation:communityHeartPop .42s ease}.action-like.is-animating{box-shadow:0 0 0 3px #fecdd355}.action-comment.is-animating svg{animation:communityCommentPulse .42s ease}.action-comment.is-animating{box-shadow:0 0 0 3px #bfdbfe66}@keyframes communityHeartPop{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes communityCommentPulse{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-2px) scale(1.2)}to{transform:translateY(0) scale(1)}}.community-answer-panel{margin-top:.8rem;border-top:1px solid #e2e8f0;padding-top:.76rem}.community-pagination{margin-top:.15rem;border:1px solid var(--community-border);background:var(--community-panel);border-radius:.92rem;padding:.68rem;display:flex;align-items:center;justify-content:space-between;gap:.55rem}.community-pagination>button,.page-numbers button{border:1px solid var(--community-border);background:#fff;color:#334155;border-radius:.58rem;padding:.42rem .62rem;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.community-pagination>button:hover,.page-numbers button:hover{border-color:#93c5fd;color:var(--community-blue)}.community-pagination>button:disabled{opacity:.45;cursor:not-allowed}.page-numbers{display:inline-flex;align-items:center;gap:.35rem}.page-numbers button.active{border-color:#60a5fa;background:#eff6ff;color:#1d4ed8}.community-image-preview{position:fixed;inset:0;z-index:120;background:#000a;display:grid;place-items:center;padding:1rem}.community-image-preview img{max-width:min(1000px,95vw);max-height:90vh;border-radius:.8rem;object-fit:contain;border:1px solid #bfdbfe;box-shadow:0 24px 44px #000b}.image-preview-close{position:fixed;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:1px solid #ffffff55;border-radius:999px;background:#0007;color:#fff;display:grid;place-items:center;cursor:pointer}.community-confirm-overlay{position:fixed;inset:0;z-index:125;background:#0008;display:grid;place-items:center;padding:1rem}.community-confirm-card{width:min(430px,100%);background:#fff;border:1px solid var(--community-border);border-radius:.95rem;padding:1rem 1.05rem}.community-confirm-card h3{margin:0}.community-confirm-head{display:flex;align-items:flex-start;gap:.65rem}.community-confirm-icon{width:2rem;height:2rem;border-radius:.62rem;background:#fef2f2;color:#dc2626;display:grid;place-items:center;border:1px solid #fecaca;flex-shrink:0}.community-confirm-icon.moderation{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.community-confirm-badge{display:inline-flex;align-items:center;margin-top:.2rem;padding:.2rem .46rem;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.community-confirm-card p{margin:.55rem 0 0;color:var(--community-muted);line-height:1.55;font-size:.9rem}.community-confirm-preview{margin-top:.72rem;padding:.68rem .74rem;border:1px solid #dbeafe;background:#f8fbff;border-radius:.65rem;color:#0f172a;font-size:.82rem;line-height:1.5;white-space:pre-wrap}.confirm-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.45rem}.confirm-actions button{border:1px solid var(--community-border);background:#fff;color:#334155;border-radius:.65rem;padding:.48rem .78rem;cursor:pointer;font-size:.8rem;font-weight:700}.confirm-actions button.danger{border-color:#fecaca;background:#fef2f2;color:#dc2626}.community-answer-highlight{animation:answerFlash 1.8s ease}@keyframes answerFlash{0%{box-shadow:0 0 #93c5fd88}45%{box-shadow:0 0 0 8px #93c5fd44}to{box-shadow:0 0 #93c5fd00}}@media (max-width: 1200px){.community-body{grid-template-columns:250px minmax(0,1fr)}.community-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.community-hero{padding:1.2rem 1rem .95rem}.community-body{grid-template-columns:1fr;padding:0 1rem 1.4rem}.community-side{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.community-hero-inner{grid-template-columns:1fr;gap:.72rem}.community-hero-actions{width:100%;justify-content:stretch;gap:.45rem}.community-hero-actions .community-btn{flex:1;justify-content:center}.community-side{grid-template-columns:1fr}.feed-topbar{flex-direction:column;align-items:stretch}.feed-topbar-right{justify-content:space-between}.community-post-card{padding:.82rem}.linked-question-card{grid-template-columns:1fr}.question-preview-content.preview-scroll{max-height:135px}.question-option-item{grid-template-columns:1.55rem minmax(0,1fr)}.option-key{width:1.55rem;height:1.55rem;font-size:.74rem}}.hof-page{min-height:100vh;background:linear-gradient(180deg,#fdf2f8 0%,#f8fafc 40%,#f8fafc 100%);color:#111827}.hof-header{max-width:1440px;margin:0 auto;padding:1.25rem 1rem;display:flex;align-items:center;justify-content:space-between}.hof-brand{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:800}.hof-brand img{width:32px;height:32px;border-radius:8px;object-fit:cover}.hof-nav{display:flex;align-items:center;gap:1rem}.hof-link,.hof-login{text-decoration:none;font-weight:700;color:#111827;border:2px solid #111827;border-radius:999px;padding:.45rem .9rem;transition:transform .15s ease,box-shadow .15s ease}.hof-login{background:#10b981;color:#fff}.hof-link:hover,.hof-login:hover{transform:translateY(-1px);box-shadow:0 4px #11182740}.hof-main{max-width:1440px;margin:0 auto;padding:1rem}.hof-hero{margin:.75rem 0 1.2rem}.hof-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:2px solid #111827;background:#bbf7d0;font-weight:700;font-size:.88rem}.hof-hero h1{margin:.75rem 0 .4rem;font-size:clamp(1.6rem,4vw,2.7rem);line-height:1.1}.hof-hero p{margin:0;font-size:1.03rem;color:#4b5563}.hof-controls{margin:1rem 0 1.5rem;display:flex;align-items:center;gap:.75rem}.hof-controls label{font-weight:700}.hof-controls input{border:2px solid #111827;border-radius:10px;padding:.45rem .65rem;font-weight:600;background:#ffffff}.hof-state{border:2px dashed #cbd5e1;border-radius:14px;padding:1rem;background:#ffffff;color:#475569;font-weight:600}.hof-state.hof-error{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.hof-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;padding-bottom:2rem}.hof-card{border:2px solid #111827;border-radius:14px;overflow:hidden;background:#ffffff;box-shadow:0 4px #1118271a}.hof-card.featured{border-color:#059669;box-shadow:0 6px #0596692e}.hof-card-image-wrap{aspect-ratio:4 / 3;background:#f1f5f9}.hof-card-image{width:100%;height:100%;object-fit:cover;display:block}.hof-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:700}.hof-card-content{padding:.6rem .65rem .7rem}.hof-card-content h3{margin:0;font-size:.95rem;line-height:1.25}.hof-achievement-title{margin:.25rem 0 0;font-size:.82rem;font-weight:800;color:#1d4ed8}.hof-score{margin:.35rem 0 0;font-size:.96rem;font-weight:900;color:#047857}.hof-exam{margin:.2rem 0 0;font-size:.78rem;color:#334155;font-weight:600}.hof-detail{margin:.3rem 0 0;font-size:.76rem;color:#475569;line-height:1.35}@media (max-width: 1320px){.hof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1040px){.hof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 768px){.hof-header{padding:1rem .8rem}.hof-nav{gap:.5rem}.hof-link,.hof-login{padding:.38rem .68rem;font-size:.88rem}.hof-main{padding:.8rem}.hof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}}@media (max-width: 520px){.hof-grid{grid-template-columns:1fr}}.math-content{line-height:1.6;color:#1e293b;font-family:"Source Serif 4",Charter,Georgia,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"lnum" 1}.math-content br{display:block;content:"";margin-top:.25em}.math-content p{margin:.5rem 0}.math-content strong{font-weight:700;color:#0f172a}.math-content em{font-style:italic}.math-content u{text-decoration:underline}.math-content img{max-width:100%;max-height:320px;width:auto;height:auto;object-fit:contain;border-radius:8px;margin:.75rem 0;display:block;cursor:pointer;transition:transform .2s ease}.math-content img:hover{transform:scale(1.02)}.math-content img.expanded{max-height:none;max-width:90vw;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;box-shadow:0 25px 50px -12px #00000080}.math-content ul,.math-content ol{margin:.5rem 0;padding-left:1.5rem}.math-content li{margin:.25rem 0}.math-content a{color:#3b82f6;text-decoration:underline}.math-content a:hover{color:#2563eb}.math-content .katex{font-size:1.1em}.math-content .katex-display{margin:1rem 0;overflow-x:auto;overflow-y:hidden}.math-content code{background:#f1f5f9;padding:.125rem .375rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.math-content pre{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;overflow-x:auto}.math-content pre code{background:none;padding:0}.math-content h1,.math-content h2,.math-content h3{margin:1rem 0 .5rem;font-weight:700;color:#0f172a}.math-content h1{font-size:1.5rem}.math-content h2{font-size:1.25rem}.math-content h3{font-size:1.125rem}.math-content blockquote{border-left:4px solid #3b82f6;padding-left:1rem;margin:1rem 0;color:#64748b;font-style:italic}.math-content table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}.math-content table th,.math-content table td{border:1px solid #d1d5db;padding:10px 14px;text-align:left}.math-content table th{background:#f3f4f6;font-weight:600;color:#374151}.math-content table tr:nth-child(2n){background:#f9fafb}.math-content table tr:hover{background:#f3f4f6}.math-content .notes-list{list-style-type:disc;margin:.75rem 0;padding-left:1.5rem}.math-content .notes-list li{margin:.5rem 0;padding-left:.25rem;line-height:1.5}.math-content .notes-list li::marker{color:#3b82f6}.math-content .blank-line{display:inline-block;width:5em;border-bottom:1px solid currentColor;margin:0 2px;vertical-align:baseline;position:relative;top:2px}
