@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Lora:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}:root{--green-lightest: #e9f5db;--green-light: #cfe1b9;--green-light-mid: #b5c99a;--green-mid: #97a97c;--green-dark-mid: #87986a;--green-dark: #718355;--ink: #26301f;--white: #ffffff;--success: #10b981;--warning: #d97706;--error: #dc2626;--info: #3b82f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 10px rgba(38, 48, 31, .08);--shadow-lg: 0 16px 32px rgba(38, 48, 31, .12);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Lora", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--muted: #596949;--border: var(--green-light-mid);--gray-200: rgba(113, 131, 85, .18);--gray-500: #7a8a6e}*{box-sizing:border-box}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--green-light-mid);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--green-mid)}*{scrollbar-width:thin;scrollbar-color:var(--green-light-mid) transparent}html{min-height:100%;background:var(--green-lightest);color:var(--ink);font-family:var(--font-sans);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100%;margin:0}body,button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{border:0}:focus-visible{outline:2px solid var(--green-dark);outline-offset:3px}#root{min-height:100vh}.page{width:min(1560px,100%);margin:0 auto;padding:clamp(24px,3vw,40px) clamp(16px,3.5vw,48px) clamp(44px,6vw,64px)}.page-narrow{width:min(960px,100%)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:36px}.eyebrow{color:var(--green-dark);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin:0}h1,h2{color:var(--ink);font-family:var(--font-serif)}h1{font-size:2.25rem;line-height:1.16}h2{font-size:1.45rem;line-height:1.25}h3{color:var(--ink);font-size:1rem;line-height:1.35}.muted{color:#596949}.small{font-size:.9rem}.shell{display:grid;grid-template-columns:var(--sidebar-width, clamp(236px, 22vw, 280px)) minmax(0,1fr);min-height:100vh}.shell-main{min-width:0}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;width:100%;min-width:0;height:100vh;padding:24px 18px;overflow-y:auto;background:#cfe1b994;border-right:1px solid var(--green-light-mid);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:width var(--transition-normal),padding var(--transition-normal),transform var(--transition-normal),opacity var(--transition-normal)}.sidebar[data-hidden=true]{transform:translateY(-100%);opacity:0;pointer-events:none}@media(min-width:1101px){.sidebar[data-hidden=true]{transform:none;opacity:1;pointer-events:auto}}.brand-lockup{display:flex;align-items:center;gap:12px;padding:0 8px;min-width:0}.brand-link{cursor:pointer}.brand-link:hover .brand-mark{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.brand-link:hover strong{color:var(--green-dark)}.brand-mark{display:grid;width:44px;height:44px;place-items:center;color:var(--green-lightest);background:var(--green-dark);border-radius:8px;box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.brand-mark--art{padding:0;background:url(/favicon.svg) center / contain no-repeat;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.brand-lockup strong{display:block;font-family:var(--font-serif);font-size:1.3rem;line-height:1}.brand-lockup span{color:#627350;font-size:.84rem}.brand-copy{min-width:0}.sidebar-collapse-btn{display:none;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;color:var(--ink);background:#ffffff75;border:1px solid rgba(113,131,85,.16);border-radius:9px;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast),color var(--transition-fast)}.sidebar-collapse-btn:hover{color:var(--green-dark);transform:translateY(-1px);transform:translateY(-1px) scale(1.04)}.sidebar-collapse-btn:active{transform:scale(.96)}.sidebar-nav{display:grid;gap:8px;min-width:0;justify-items:stretch;align-content:start}.sidebar-spotify{display:none;margin-top:auto;padding:8px 12px}.spotify-wrap{position:relative;display:flex;align-items:center;justify-content:center}.sidebar-spotify .button{width:100%;min-height:52px;padding:14px 16px;font-weight:700;font-size:1rem;border-radius:10px}.spotify-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;color:var(--ink);padding:6px 8px;border-radius:6px;font-size:.78rem;box-shadow:var(--shadow-sm);white-space:nowrap}.spotify-wrap:hover .spotify-tooltip{display:block}@media(min-width:1101px){.sidebar-spotify{display:flex}.shell{--sidebar-width: clamp(236px, 22vw, 280px)}.shell[data-sidebar-collapsed=true]{--sidebar-width: 76px}.sidebar-header{display:flex;align-items:center;width:100%;gap:8px}.sidebar-header .brand-lockup{flex:1;min-width:0;padding:0}.sidebar-collapse-btn{display:inline-flex}.sidebar[data-collapsed=true]{width:76px;padding-inline:12px;padding-top:16px;gap:16px;overflow-x:hidden;align-items:center}.sidebar[data-collapsed=true] .brand-lockup{flex-direction:column;justify-content:flex-start;align-items:center;width:100%}.sidebar[data-collapsed=true] .brand-copy,.sidebar[data-collapsed=true] .nav-label,.sidebar[data-collapsed=true] .sidebar-actions,.sidebar[data-collapsed=true] .sidebar-spotify{display:none}.sidebar[data-collapsed=true] .sidebar-header{flex-direction:column;justify-content:center;align-items:center;gap:10px}.sidebar[data-collapsed=true] .sidebar-header .brand-lockup{width:auto}.sidebar[data-collapsed=true] .sidebar-nav{align-items:center}.sidebar[data-collapsed=true] .nav-link{justify-content:center;width:52px;min-height:52px;padding:0;gap:0}.sidebar[data-collapsed=true] .sidebar-collapse-btn{color:var(--green-dark);background:#ffffffb8}}.mobile-topbar,.hamburger-btn,.drawer-close-btn,.sidebar-backdrop{display:none}.sidebar-header{display:flex;align-items:center;width:100%;gap:8px}.sidebar-header .brand-lockup{flex:1;min-width:0;padding:0}.nav-link{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;color:#536342;border-radius:8px;white-space:nowrap;cursor:pointer;font-weight:500;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.nav-label{min-width:0}.nav-link:hover,.nav-link.active{color:var(--ink);background:#ffffff94}.nav-link:active{transform:scale(.98)}.signout{width:100%;background:transparent;text-align:left}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;border-radius:8px;cursor:pointer;font-weight:700;transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:scale(.96)}.button:disabled{cursor:not-allowed;opacity:.5}.button-full{width:100%}.button-primary{color:var(--green-lightest);background:var(--green-dark)}.button-primary:hover:not(:disabled){background:var(--green-dark-mid);box-shadow:0 4px 14px #71835559}.button-secondary{color:var(--green-dark);background:#ffffffb8;border:1.5px solid var(--green-mid)}.button-secondary:hover:not(:disabled){background:#fffffff5;border-color:var(--green-dark);box-shadow:0 2px 8px #71835533}.button-ghost{color:var(--green-dark);background:transparent}.button-ghost:hover:not(:disabled){background:#7183551a}.button-danger{color:#fff;background:var(--error)}.button-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 14px #dc26264d}.card{background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.card-soft{background:#cfe1b9a3}.card-dark{color:var(--green-lightest);background:linear-gradient(135deg,var(--green-dark),#536342);border-color:transparent}.card-interactive{cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal)}.card-interactive:hover{border-color:var(--green-mid);box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.01)}.form-error{margin-bottom:16px;padding:12px 14px;color:var(--error);background:#dc262614;border:1px solid rgba(220,38,38,.18);border-radius:8px;font-weight:600}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:8px;color:var(--ink);font-weight:700}.field-label{font-size:.95rem}.field-hint{color:#627350;font-size:.86rem;font-weight:500}.input{width:100%;min-height:48px;padding:12px 16px;color:var(--ink);background:#ffffffa8;border:1px solid var(--green-light-mid);border-radius:8px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.input:hover{border-color:var(--green-mid)}.input:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px #7183552e;outline:none}.textarea{min-height:210px;resize:vertical;line-height:1.6}.select{cursor:pointer}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;color:var(--green-dark);background:#cfe1b9b8;border:1px solid var(--green-light-mid);border-radius:999px;font-size:.82rem;font-weight:700}.progress-track{height:8px;overflow:hidden;background:var(--green-light);border-radius:999px}.progress-fill{height:100%;background:var(--green-dark);border-radius:inherit;transition:width .5s cubic-bezier(.4,0,.2,1)}.empty-state{display:grid;gap:14px;place-items:center;padding:56px 24px;color:#596949;text-align:center;background:#ffffff75;border:1px dashed var(--green-light-mid);border-radius:8px}.empty-icon{display:grid;width:56px;height:56px;place-items:center;color:var(--green-dark);background:var(--green-light);border-radius:8px}.loader{display:inline-block;width:24px;height:24px;border:3px solid var(--green-light);border-top-color:var(--green-dark);border-radius:999px;animation:spin .8s linear infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.landing{display:grid;min-height:100vh;place-items:center;padding:40px 16px}.landing-card{display:grid;width:min(480px,100%);gap:28px}.landing-brand{display:grid;justify-items:center;gap:16px;text-align:center}.landing-brand .brand-mark{width:56px;height:56px}.signin-card{display:grid;gap:24px;padding:32px}.signin-actions{display:flex;flex-wrap:wrap;gap:12px}.signin-copy{display:grid;gap:10px}.trust-note{display:flex;align-items:flex-start;gap:10px;color:#596949;font-size:.86rem;line-height:1.5}.feature-list{display:grid;gap:16px}.feature-item{display:flex;gap:16px;padding:20px}.feature-item svg{flex:0 0 auto;color:var(--green-dark)}.feature-item p{margin-top:4px;color:#596949;font-size:.9rem}.centered-block{display:grid;min-height:260px;place-items:center}.stat-grid{margin-bottom:42px}.stat-card{display:grid;gap:22px;padding:24px}.stat-card div{display:flex;align-items:center;gap:10px;color:#596949}.stat-card svg{color:var(--green-dark)}.stat-card strong{color:var(--ink);font-family:var(--font-serif);font-size:2.15rem}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(20px,2.5vw,32px)}.icon-pin,.icon-check,.icon-plus,.icon-search,.icon-cancel{flex:0 0 auto;vertical-align:middle}.icon-search{color:#7f8b6f}.slash-manager-actions .button svg,.slash-manager-composer svg,.slash-manager-search svg{width:1em;height:1em;display:inline-block}.dashboard-main{display:grid;gap:44px}.text-link{color:var(--green-dark);font-size:.92rem;font-weight:700}.folder-mini{display:flex;gap:16px;min-height:132px;padding:22px}.test-row,.folder-card-main,.folder-list-main,.test-row-main{color:inherit}.folder-card-main{position:relative;display:grid;gap:0;flex:1}.folder-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.folder-card-actions{justify-content:flex-end}.folder-list-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;min-width:0;flex:1}.test-row{display:flex;align-items:center;gap:14px;padding:18px 20px}.test-row-main{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;flex:1}.mini-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:#596949;font-size:.86rem}.folder-list-row>.mini-meta{margin-top:0;align-self:center}.test-list,.weak-stack,.review-list{display:grid;gap:14px}.score-badge{flex:0 0 auto;min-width:88px;padding:8px 12px;color:var(--green-lightest);background:var(--green-dark);border-radius:8px;font-weight:800;text-align:center}.weak-card-link{display:block;text-decoration:none;color:inherit;border-radius:12px}.weak-card-link:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.weak-card{display:grid;gap:14px;padding:22px}.weak-card h3,.weak-card p{color:inherit}.dark-pill{justify-self:start;color:#fff;background:#ffffff29;border-color:#ffffff40}.toolbar,.button-row{display:flex;align-items:center;gap:12px}.segmented{display:flex;gap:4px;padding:4px;background:#ffffff8f;border:1px solid var(--green-light-mid);border-radius:8px}.segmented button,.icon-actions button{display:grid;width:40px;height:40px;place-items:center;color:var(--green-dark);background:transparent;border-radius:7px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.segmented button:hover,.segmented button.active,.icon-actions button:hover{color:var(--green-lightest);background:var(--green-dark)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,2vw,24px)}.folder-list{display:grid;gap:10px}.folder-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:24px;overflow:hidden}.folder-card h2{margin-top:22px}.folder-card p{margin-top:8px}.folder-card-footer{display:flex;gap:12px;color:#596949;font-size:.9rem;font-weight:700}.folder-detail-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:16px;border-top:1px solid var(--border)}.folder-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:82px;padding:18px 22px}.icon-actions{display:flex;gap:6px}.row-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.test-row .row-actions{padding-left:14px;border-left:1px solid var(--green-light-mid)}.row-actions button{display:grid;width:36px;height:36px;place-items:center;color:var(--green-dark);background:transparent;border-radius:8px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.row-actions button:hover{color:var(--green-lightest);background:var(--green-dark)}.row-actions button:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.floating-action{position:fixed;right:28px;bottom:28px;display:grid;width:56px;height:56px;place-items:center;color:var(--green-lightest);background:var(--green-dark);border-radius:999px;box-shadow:var(--shadow-lg);cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.floating-action:hover{transform:scale(1.08)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .15s ease}.modal-card{display:grid;width:min(460px,100%);gap:18px;padding:26px;background:var(--green-lightest);border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-lg)}.settings-card{display:grid;gap:24px;padding:28px}.settings-summary{display:grid;gap:10px}.settings-actions{display:flex;flex-wrap:wrap;gap:12px}.settings-note{display:flex;align-items:flex-start;gap:10px;color:#596949;font-size:.9rem;line-height:1.5}.settings-page h1,.settings-page h2,.settings-page .settings-group-title{font-family:var(--font-sans)}.settings-page h1{letter-spacing:-.02em}.settings-page .settings-summary h2{letter-spacing:-.01em}.settings-group-title{margin:0;padding-top:18px;border-top:1px solid var(--green-light-mid);font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--green-dark)}.settings-card>.settings-group-title:first-of-type{padding-top:0;border-top:none}.settings-group-title--danger{color:#b3261e;border-top-color:#b3261e47}.settings-restore-list{display:grid;gap:10px}.settings-restore-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--green-light-mid);border-radius:8px;background:#ffffffa3}.settings-restore-folder{margin:0;font-weight:700}.settings-feedback{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:.9rem;font-weight:500}.settings-feedback--success{background:#edf7ed;color:#2e6b2e}.settings-feedback--error{background:#fdecea;color:#b71c1c}.settings-collapsible{border-top:1px solid rgba(181,201,154,.55)}.settings-collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;background:none;border:none;cursor:pointer;text-align:left;color:inherit}.settings-collapsible-title{font-size:1rem;font-weight:600}.settings-collapsible-chevron{flex-shrink:0;color:var(--green-dark);transition:transform .18s ease}.settings-collapsible--open .settings-collapsible-chevron{transform:rotate(180deg)}.settings-collapsible-body{display:grid;gap:12px;padding-bottom:16px}.settings-reset-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toggle-switch{display:inline-flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:6px 0;font-size:.95rem;color:var(--ink)}.toggle-switch:hover .toggle-switch-track{opacity:.85}.toggle-switch-track{position:relative;width:56px;height:30px;border-radius:15px;background:var(--green-light);transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.toggle-switch--on .toggle-switch-track{background:var(--green-dark)}.toggle-switch-thumb{position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000040;transition:transform var(--transition-fast)}.toggle-switch--on .toggle-switch-thumb{transform:translate(26px)}.toggle-switch-label{font-weight:500;color:var(--ink)}.settings-strictness-row{display:flex;flex-direction:column;gap:6px;margin-top:10px}.settings-strictness-btn{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1.5px solid rgba(113,131,85,.22);border-radius:10px;background:transparent;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.settings-strictness-btn:hover{border-color:#71835580;background:#7183550d}.settings-strictness-btn--active{border-color:var(--green-dark);background:#7183551a}.settings-strictness-label{font-size:.9rem;font-weight:650;color:var(--ink)}.settings-strictness-btn--active .settings-strictness-label{color:var(--green-dark)}.settings-strictness-desc{display:block}.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--green-dark);font-size:.92rem;font-weight:700;transition:transform var(--transition-normal),color var(--transition-normal)}.back-link:hover{color:var(--green-light-mid);transform:translate(-6px)}.create-form{display:grid;gap:24px}.form-panel{display:grid;gap:22px;padding:26px}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice{min-height:54px;padding:12px;color:var(--green-dark);background:#ffffff94;border:1px solid var(--green-light-mid);border-radius:8px;cursor:pointer;font-weight:800;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.choice.active,.choice:hover{color:var(--green-lightest);background:var(--green-dark)}.upload-zone{position:relative;display:grid;min-height:178px;place-items:center;gap:8px;padding:34px;color:#596949;text-align:center;background:#cfe1b961;border:2px dashed var(--green-light-mid);transition:transform var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.upload-zone.dragging{background:#cfe1b9ad;border-color:var(--green-dark);transform:scale(1.01)}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.upload-zone svg{color:var(--green-dark)}.selected-files{display:grid;gap:10px;width:100%;max-width:100%;margin-top:8px}.selected-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#ffffff85;border:1px solid var(--green-light-mid);border-radius:8px;color:#596949;font-size:.88rem}.selected-file button{color:var(--green-dark);background:transparent;cursor:pointer;font-weight:800}.split{justify-content:flex-end}.test-screen,.flash-screen{min-height:100vh}.test-progress{position:sticky;top:0;z-index:10;background:#e9f5dbdb;border-bottom:1px solid var(--green-light-mid);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.test-progress .progress-track{height:4px;border-radius:0}.test-progress header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 32px}.test-progress .back-link{margin:0}.test-progress header div{display:grid;gap:2px;text-align:right}.test-progress span{color:#596949;font-size:.88rem}.question-wrap{width:min(880px,100%);margin:0 auto;padding:46px 32px}.generation-banner{display:grid;gap:4px;margin-bottom:14px;padding:10px 14px;border-radius:8px;font-size:.86rem;line-height:1.35}.generation-banner span{opacity:.9;font-size:.8rem}.generation-banner-warning{background:#fff7ed;border:1.5px solid #fdba74;color:#9a3412}.generation-banner-info{background:var(--green-lightest);border:1.5px solid var(--green-light-mid);color:var(--green-dark)}.question-card{display:grid;gap:26px;padding:40px}.question-card>*{min-width:0}.test-question-markdown .kojo-markdown{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.35;word-break:break-word;overflow-wrap:break-word}.test-question-markdown .kojo-md-p{margin:0;word-break:break-word;overflow-wrap:break-word}.option-grid{display:grid;gap:14px}.option-button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:64px;padding:14px 18px;color:var(--ink);text-align:left;background:#fff;border:2px solid var(--green-light-mid);border-radius:8px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.option-button:hover{background:#cfe1b952;border-color:var(--green-mid);transform:scale(1.01)}.option-button.selected{background:#7183551f;border-color:var(--green-dark);box-shadow:inset 0 0 0 2px #71835566}.option-button>.option-label{display:grid;width:32px;height:32px;place-items:center;color:var(--green-dark);border:1px solid var(--green-light-mid);border-radius:999px;font-weight:800}.test-option-markdown .kojo-markdown{font-size:1rem;line-height:1.45;word-break:break-word;overflow-wrap:break-word}.test-option-markdown .kojo-md-p{margin:0;word-break:break-word;overflow-wrap:break-word}.test-option-markdown .kojo-code-block{margin:8px 0;padding:10px 12px;font-size:.75rem;line-height:1.4;background:#f5f5f5;color:#333;border-radius:6px;overflow-x:auto;max-height:200px}.test-option-markdown .kojo-code-block .kojo-code-lang{font-size:.65rem;margin-bottom:6px;color:#666}.test-option-markdown .kojo-code-block code{color:#333}.question-nav{display:flex;justify-content:center;gap:16px;margin-top:28px}.score-hero{display:grid;gap:8px;justify-items:center;margin-bottom:24px;padding:48px 32px;color:#fff;text-align:center}.score-hero .eyebrow{color:#ffffffd1}.score-hero strong{font-family:var(--font-serif);font-size:4rem;line-height:1}.score-success{background:linear-gradient(135deg,#10b981,#047857)}.score-warning{background:linear-gradient(135deg,#d97706,#92400e)}.score-error{background:linear-gradient(135deg,#dc2626,#991b1b)}.result-stats{margin-bottom:24px}.result-stats .card{display:grid;gap:6px;padding:22px;text-align:center}.result-stats span,.review-detail span{color:#596949;font-size:.86rem;font-weight:800}.result-stats strong{color:var(--ink);font-family:var(--font-serif);font-size:2rem}.focus-card{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px}.focus-card-header{display:flex;align-items:flex-start;gap:14px}.focus-card-header>svg{flex:0 0 auto;color:var(--warning);margin-top:3px}.focus-card-header>div{flex:1}.focus-card-header>button{flex-shrink:0;align-self:center}.focus-card-summary{border-top:1px solid rgba(0,0,0,.06);padding-top:14px;font-size:.9rem;line-height:1.65}.result-actions{margin-bottom:36px}.targeted-practice-section{margin-bottom:32px}.targeted-topics-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.targeted-topic-item{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;background:#dc26260a;border:1px solid rgba(220,38,38,.14);border-radius:8px}.targeted-topic-icon{flex-shrink:0;margin-top:2px;color:#dc2626a6}.targeted-topic-text{font-size:.875rem;line-height:1.45;color:var(--ink)}.targeted-modal-body{display:grid;gap:14px}.targeted-modal-card{width:min(440px,100%);max-height:calc(100vh - 40px);overflow-y:auto;gap:14px}.targeted-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.targeted-modal-header h2{font-size:1rem;font-weight:600;margin:0 0 2px}.targeted-modal-header .muted{margin:0}.targeted-modal-fields{display:grid;gap:12px}.targeted-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.targeted-topics-preview{display:grid;gap:8px;padding:10px 12px;background:var(--green-lightest);border:1px solid var(--border);border-radius:8px}.targeted-topics-label{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:var(--green-dark)}.targeted-chips{display:flex;flex-wrap:wrap;gap:5px}.targeted-chip{font-size:.73rem;padding:3px 8px;background:#7183551f;border:1px solid var(--green-light-mid);border-radius:20px;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.targeted-chip-more{color:var(--green-dark);font-weight:600}.targeted-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.targeted-error{color:var(--danger, #dc2626);font-size:.875rem;margin:0}.review-item{overflow:hidden}.review-item.correct{border-color:#10b98199}.review-item.incorrect{border-color:#dc26268c}.review-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;width:100%;gap:14px;padding:18px 20px;color:var(--ink);text-align:left;background:transparent;cursor:pointer}.review-trigger svg:first-child{color:var(--green-dark);margin-top:3px}.review-trigger .rotated{transform:rotate(180deg)}.review-detail{display:grid;gap:16px;padding:0 20px 20px 56px}.review-detail div{display:grid;gap:6px}.review-detail p{padding:12px 14px;background:#cfe1b970;border-radius:8px}.review-question-markdown .kojo-markdown{font-size:1rem;word-break:break-word;overflow-wrap:break-word}.review-question-markdown .kojo-markdown .kojo-md-p{margin:0;word-break:break-word;overflow-wrap:break-word}.review-answer-markdown .kojo-markdown,.math-explanation .kojo-markdown{font-size:.92rem;word-break:break-word;overflow-wrap:break-word}.review-answer-markdown .kojo-markdown .kojo-md-p,.math-explanation .kojo-markdown .kojo-md-p{margin:0;word-break:break-word;overflow-wrap:break-word}.flash-header{position:sticky;top:0;z-index:10;background:#e9f5dbe6;border-bottom:1px solid var(--green-light-mid);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flash-header-row{display:flex;align-items:center;gap:14px;padding:12px clamp(14px,3vw,32px)}.flash-back-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;color:var(--green-dark);background:#fff9;border:1.5px solid var(--green-light-mid);border-radius:10px;transition:background var(--transition-fast),border-color var(--transition-fast)}.flash-back-btn:hover{background:var(--white);border-color:var(--green-mid)}.flash-header-title{flex:1;min-width:0}.flash-header-title h1{font-size:clamp(1.05rem,2.4vw,1.35rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flash-header-sub{color:var(--muted);font-size:.8rem;font-weight:600}.flash-header-actions{display:flex;flex-shrink:0;gap:8px}.flash-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--green-dark);background:#fff9;border:1.5px solid var(--green-light-mid);border-radius:10px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.flash-icon-btn:hover:not(:disabled){background:var(--white);border-color:var(--green-mid)}.flash-icon-btn:disabled{opacity:.4;cursor:default}.flash-icon-btn--danger{color:var(--error);border-color:#dc26264d}.flash-icon-btn--danger:hover:not(:disabled){background:#dc262614;border-color:var(--error)}.flash-progress{height:4px;border-radius:0}.flash-error{width:min(720px,calc(100% - 28px));margin:14px auto 0}.flash-wrap{display:grid;justify-items:center;width:min(720px,100%);margin:0 auto;padding:clamp(22px,4.5vw,42px) clamp(14px,3vw,24px) clamp(32px,5vw,56px)}.flash-meta{display:flex;align-items:center;gap:10px;margin-bottom:18px}.flip-card{width:min(620px,100%);height:400px;height:clamp(280px,46dvh,420px);padding:0;background:transparent;cursor:pointer;perspective:1000px}.flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.flip-card.flipped .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;gap:16px;padding:clamp(22px,4vw,44px);text-align:center;backface-visibility:hidden;overflow-y:auto}.flip-front h2{font-size:clamp(1.1rem,1.2vw + .9rem,1.5rem);line-height:1.45}.flip-front{background:#ffffffc2}.flip-back{color:var(--green-lightest);background:linear-gradient(135deg,var(--green-dark),#536342);transform:rotateY(180deg)}.flip-back .eyebrow,.flip-back p{color:inherit}.flip-back p{font-size:1.12rem;line-height:1.65}.confidence-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:12px;animation:confidence-in .22s ease}@keyframes confidence-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confidence{--c: var(--green-dark);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:86px;padding:14px 10px;background:color-mix(in srgb,var(--c) 8%,#fff);border:1px solid color-mix(in srgb,var(--c) 32%,transparent);border-radius:14px;color:var(--c);cursor:pointer;font-weight:800;overflow:hidden;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.confidence:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--c)}.confidence-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,#fff);color:var(--c);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.confidence-label{font-size:.98rem;line-height:1;letter-spacing:-.01em}.confidence-sub{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.62}.confidence:hover{background:var(--c);border-color:var(--c);color:#fff;transform:translateY(-3px);box-shadow:0 10px 22px color-mix(in srgb,var(--c) 34%,transparent)}.confidence:hover .confidence-icon{background:#ffffff3d;color:#fff;transform:scale(1.08)}.confidence:hover .confidence-sub{opacity:.92}.confidence:active{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--c) 28%,transparent)}.confidence:focus-visible{outline:2px solid var(--c);outline-offset:2px}.confidence--hard{--c: var(--error)}.confidence--medium{--c: var(--warning)}.confidence--easy{--c: var(--success)}.complete-card{display:grid;justify-items:center;gap:16px;padding:48px 32px;text-align:center}.complete-card svg{color:var(--success)}@media(min-width:1600px){.page{width:min(1720px,100%);padding:46px 56px 72px}.dashboard-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px)}}@media(max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;gap:12px;padding:12px 16px;overflow-y:visible}.sidebar-collapse-btn{display:none}.brand-lockup{padding:0}.sidebar-nav{order:3;display:flex;flex:1 0 100%;flex-wrap:wrap;gap:8px;justify-content:center}.sidebar-actions .button{min-height:40px;padding:8px 14px}.nav-link{min-height:40px;padding:8px 12px}.page{padding:30px 22px 54px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:1fr}}@media(max-width:760px){.page{padding:12px 14px 44px}.page-header,.toolbar,.button-row,.test-progress header{align-items:stretch;flex-direction:column}.segmented{align-self:flex-start;width:fit-content}.mobile-topbar{display:flex;position:sticky;top:0;z-index:100;align-items:center;justify-content:space-between;padding:10px 16px;background:#cfe1b9eb;border-bottom:1px solid var(--green-light-mid);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-topbar .brand-lockup{gap:10px;padding:0}.mobile-topbar strong{font-family:var(--font-serif);font-size:1.15rem}.hamburger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--ink);transition:background var(--transition-fast)}.hamburger-btn:hover{background:#71835526}.sidebar{position:fixed;top:0;left:0;width:min(300px,85vw);height:100vh;z-index:200;flex-direction:column;gap:24px;padding:24px 18px;border-right:1px solid var(--green-light-mid);border-bottom:none;transform:translate(-100%);opacity:1;pointer-events:none;overflow-y:auto}.sidebar[data-hidden=true]{transform:translate(-100%);opacity:1}.sidebar[data-open=true]{transform:translate(0);pointer-events:auto}.sidebar-header{display:flex;align-items:center;width:100%;gap:8px}.sidebar-header .brand-lockup{flex:1;min-width:0;padding:0}.drawer-close-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--ink);transition:background var(--transition-fast)}.drawer-close-btn:hover{background:#71835526}.sidebar-backdrop[data-visible=true]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:150;animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sidebar-nav{width:100%;flex:0 0 auto;justify-content:flex-start;flex-direction:column;flex-wrap:nowrap;overflow-x:visible}.sidebar-actions{width:100%;margin-left:0}.sidebar-actions .button{width:100%}.grid-2,.grid-3,.choice-grid{grid-template-columns:1fr}h1{font-size:clamp(1.55rem,7vw,1.95rem)}.folder-list-row{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}.folder-list-row>.folder-list-main{grid-column:1 / -1}.folder-list-row>.mini-meta{grid-column:1;align-self:center}.folder-list-row>.row-actions{grid-column:2;align-self:center}.test-row,.test-row-main,.folder-card-main,.folder-list-main{grid-column:1 / -1}.test-row{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.test-row-main{flex-basis:100%;align-items:center;flex-wrap:wrap;gap:10px}.test-row .score-badge{flex:1}.page-header .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.page-header .toolbar>*:last-child:nth-child(odd){grid-column:1 / -1}.page-header .toolbar>a{display:flex}.page-header .toolbar>a>.button{flex:1;width:100%}.button-row>a{display:flex}.button-row>a>.button{flex:1}.page-header{gap:14px;margin-bottom:20px}.page-header>a{display:flex}.page-header>a>.button{flex:1;width:100%;justify-content:center}.page{padding-top:18px}.row-actions{width:100%;justify-content:flex-end}.test-row .row-actions{border-left:none;padding-left:0;width:auto}.folder-card .row-actions,.folder-list-row .row-actions{width:auto}.question-card{padding:24px}.option-button{grid-template-columns:34px minmax(0,1fr)}.option-button svg{display:none}}@media(max-width:560px){.nav-link{min-width:max-content;padding:8px 10px;font-size:.9rem}.nav-label{font-size:.88rem}.brand-lockup span{display:none}.folder-grid{grid-template-columns:1fr}}@media(max-height:780px)and (min-width:1101px){.sidebar{gap:14px;padding:14px 12px}.brand-lockup strong{font-size:1.12rem}.nav-link{min-height:40px;padding:8px 10px}}@keyframes kojo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes kojo-slide-in{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes kojo-fullscreen-in{0%{opacity:0}to{opacity:1}}@keyframes kojo-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-6px);opacity:1}}.kojo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141c0e73;z-index:200;animation:kojo-fade-in .22s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.kojo-panel{position:fixed;top:0;right:0;width:460px;height:100vh;display:flex;flex-direction:column;background:#f9faf7;border-left:1px solid var(--green-light-mid);box-shadow:-12px 0 40px #141c0e29;z-index:201;animation:kojo-slide-in .3s cubic-bezier(.22,1,.36,1)}.kojo-panel--fullscreen{width:100vw;border-left:none;box-shadow:none;animation:kojo-fullscreen-in .22s ease}.selection-kojo-scope{position:relative}.selection-kojo-panel{position:fixed;z-index:210;width:min(480px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 48px));display:flex;flex-direction:column;background:#f8faf5;border:1px solid rgba(181,201,154,.6);box-shadow:0 20px 60px #0e140a38,0 4px 16px #0e140a1a,0 0 0 1px #ffffff80 inset;border-radius:22px;overflow:hidden;transform-origin:top center;animation:sel-kojo-panel-in .26s cubic-bezier(.22,1,.36,1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.selection-kojo-header{cursor:grab}.selection-kojo-header:active{cursor:grabbing}.selection-kojo-body{display:flex;flex-direction:column;overflow-y:auto;flex:1}.selection-kojo-quote{padding:14px 16px 14px 20px;background:#7183550a;border-bottom:1px solid rgba(181,201,154,.4);display:flex;flex-direction:column;gap:6px;flex-shrink:0;border-left:3px solid var(--green-dark-mid);margin-left:0}.selection-kojo-quote-text{margin:0;font-size:.85rem;line-height:1.6;color:var(--ink);font-style:italic;opacity:.72}.selection-kojo-see-more{display:inline-flex;align-items:center;gap:3px;margin-top:4px;border:none;background:none;color:var(--green-dark);font-size:.8125rem;font-weight:600;cursor:pointer;padding:0;line-height:1}.selection-kojo-see-more:hover{opacity:.75}.selection-kojo-sep{height:1px;background:#b5c99a66;flex-shrink:0}.selection-kojo-explanation{padding:16px 18px 14px;overflow-y:auto;flex:1}.kojo-link-button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--green-dark);font-weight:800;padding:0;cursor:pointer}.kojo-link-button:disabled{opacity:.5;cursor:not-allowed}@keyframes kojo-pop-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sel-kojo-panel-in{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sel-kojo-shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.sel-kojo-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.sel-kojo-skeleton-line{height:13px;border-radius:6px;background:linear-gradient(90deg,#e4ecda 25%,#eff5e8,#e4ecda 75%);background-size:600px 100%;animation:sel-kojo-shimmer 1.4s infinite linear}.selection-kojo-footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid rgba(181,201,154,.4);background:#71835508;flex-shrink:0}.sel-kojo-footer-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9px;border:1px solid rgba(113,131,85,.3);background:#71835512;color:var(--green-dark);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .13s ease,border-color .13s ease,transform .1s ease;white-space:nowrap}.sel-kojo-footer-btn:hover:not(:disabled){background:#71835524;border-color:var(--green-dark-mid)}.sel-kojo-footer-btn:active:not(:disabled){transform:translateY(1px)}.sel-kojo-footer-btn:disabled{opacity:.55;cursor:not-allowed}.sel-kojo-footer-btn--done{color:#2d7a4a;border-color:#86efac;background:#86efac1f}.sel-kojo-footer-error{font-size:.75rem;color:var(--error)}.kojo-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px;color:var(--ink);background:linear-gradient(180deg,#f6faef,#f3f8eb);flex-shrink:0;border-bottom:1px solid var(--green-light-mid)}.kojo-panel--fullscreen .kojo-header{padding:14px 24px}.kojo-header-left{display:flex;align-items:center;gap:11px;min-width:0}.kojo-avatar{width:38px;height:38px;border-radius:12px;background:#e7f0d8;border:1px solid #cdddba;color:#3f5a2c;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kojo-header-info{display:grid;min-width:0}.kojo-header-name{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.98rem;color:#28361c;white-space:nowrap}.kojo-title-icon{color:#58763d}.kojo-header-online{width:8px;height:8px;border-radius:50%;background:#31b059;box-shadow:0 0 0 2px #e6f4dc}.kojo-header-sub{font-size:.78rem;color:#516444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kojo-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;justify-content:flex-end}.kojo-header-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex-shrink:0;border-radius:10px;border:1px solid #cdddba;background:#fff;color:#2f4222;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.kojo-header-btn:hover:not(:disabled){border-color:#9db487;background:#f5f9ef}.kojo-header-btn:active:not(:disabled){transform:translateY(1px)}.kojo-header-btn:disabled{opacity:.55;cursor:not-allowed}.kojo-header-btn--danger:hover:not(:disabled){border-color:#e8b4b4;background:#fdf2f2;color:#c0392b}.kojo-header-btn--danger:active:not(:disabled){background:#fae5e5;transform:translateY(1px)}.kojo-clear-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;font-size:.82rem;border-bottom:1px solid var(--green-light-mid);background:#f2f7eb;color:#44583a}.kojo-panel--fullscreen .kojo-clear-inline{padding:10px 24px}.kojo-clear-inline-actions{display:flex;gap:8px}.kojo-clear-inline-btn{border:1px solid var(--green-light-mid);background:#fff;color:var(--ink);font-size:.78rem;font-weight:600;border-radius:7px;padding:6px 10px;cursor:pointer}.kojo-clear-inline-btn--confirm{background:#fff1f0;border-color:#fecaca;color:#b91c1c}.kojo-clear-inline-btn:disabled{opacity:.55;cursor:not-allowed}.kojo-messages{flex:1;overflow-y:auto;scroll-behavior:smooth}.kojo-messages-inner{display:flex;flex-direction:column;gap:2px;padding:20px 20px 12px;margin:0 auto;max-width:100%}.kojo-panel--fullscreen .kojo-messages-inner{max-width:760px;padding:28px 24px 16px}.kojo-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 12px 20px;text-align:center}.kojo-thread-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 12px;color:#596949;font-size:.875rem}.kojo-empty-icon{width:56px;height:56px;border-radius:50%;background:var(--green-lightest);color:var(--green-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.kojo-empty-title{font-weight:700;color:var(--ink);font-size:1.15rem;font-family:var(--font-serif)}.kojo-empty-sub{font-size:.875rem;color:#596949;line-height:1.6;max-width:300px}.kojo-suggestions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.kojo-suggestion{background:var(--white);border:1px solid var(--green-light-mid);border-radius:10px;padding:11px 15px;font-size:.855rem;color:var(--ink);cursor:pointer;text-align:left;font-family:inherit;line-height:1.45;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.kojo-suggestion:hover:not(:disabled){border-color:var(--green-mid);box-shadow:0 1px 6px #7183551f}.kojo-suggestion:disabled{opacity:.5;cursor:not-allowed}.kojo-message{display:flex;gap:12px;padding:10px 0}.kojo-message--assistant{align-items:flex-start}.kojo-msg-avatar{width:28px;height:28px;border-radius:50%;background:var(--green-lightest);border:1.5px solid var(--green-light);color:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.kojo-message-body{flex:1;min-width:0}.kojo-message-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kojo-thinking-label{font-style:italic}.kojo-message-label{display:block;font-size:.78rem;font-weight:600;color:var(--green-dark);margin-bottom:4px;letter-spacing:0}.kojo-message-time{font-size:.72rem;color:var(--green-dark-mid);opacity:.75}.kojo-message-time--user{display:block;font-size:.7rem;color:#ffffffa6;margin-top:4px;text-align:right}.kojo-message--user{justify-content:flex-end;padding:8px 0}.kojo-user-bubble{background:var(--green-dark);border:none;border-radius:18px 18px 4px;padding:12px 16px;font-size:.9rem;line-height:1.6;color:#fff;max-width:82%;word-break:break-word;box-shadow:0 2px 8px #7183554d}.kojo-user-bubble p{margin:0}.kojo-thinking-centered{display:flex;justify-content:center;align-items:center;padding:20px 0;width:100%}.kojo-thinking{display:flex;gap:5px;align-items:center;padding:6px 0}.kojo-thinking span{width:7px;height:7px;border-radius:50%;background:var(--green-dark-mid);animation:kojo-bounce 1.3s infinite ease-in-out}.kojo-thinking span:nth-child(2){animation-delay:.18s}.kojo-thinking span:nth-child(3){animation-delay:.36s}.kojo-error{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#fff1f0;border:1px solid #fecaca;color:#b91c1c;font-size:.85rem;margin-top:8px}.kojo-notice{margin:8px 0 0;font-size:.83rem;color:#3f5f2f;background:#edf7ed;border:1px solid #bfd8bf;border-radius:10px;padding:9px 12px}.kojo-markdown{font-size:.9rem;line-height:1.7;color:var(--ink);word-break:break-word;overflow-wrap:break-word}.kojo-markdown .kojo-md-p{margin:0 0 10px;word-break:break-word;overflow-wrap:break-word}.kojo-markdown .kojo-md-p:last-child{margin-bottom:0}.kojo-markdown .kojo-md-heading{font-family:var(--font-serif);color:var(--ink);margin:12px 0 6px;font-size:1rem;line-height:1.3}.kojo-markdown .kojo-md-list{margin:6px 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:4px}.kojo-markdown .kojo-md-list:last-child{margin-bottom:0}.kojo-markdown .kojo-md-list li{line-height:1.6}.kojo-markdown .kojo-md-hr{border:none;border-top:1.5px solid var(--green-light-mid);margin:14px 0}.kojo-inline-code{background:#7183551f;color:var(--green-dark);padding:1px 5px;border-radius:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.84em}.kojo-code-block{background:#1e2318;color:#d4e8b0;border-radius:10px;padding:14px 16px;margin:10px 0;overflow-x:auto;max-width:100%;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;line-height:1.6}.kojo-code-block .kojo-code-lang{display:block;font-size:.72rem;color:#7a9a50;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-family:inherit}.kojo-code-block code{background:none;color:inherit;padding:0;font-family:inherit;font-size:inherit;white-space:pre}.kojo-md-table-wrapper{overflow-x:auto;margin:10px 0}.kojo-md-table{border-collapse:collapse;font-size:.85rem;width:100%;min-width:360px}.kojo-md-table th,.kojo-md-table td{border:1px solid var(--green-light-mid);padding:6px 12px;text-align:left;vertical-align:top;line-height:1.4}.kojo-md-table thead tr{background:var(--green-light);font-weight:600}.kojo-md-table tbody tr:nth-child(2n){background:var(--green-lightest)}.kojo-input-area{flex-shrink:0;padding:14px 20px 12px;border-top:2px solid var(--green-light-mid);background:#eef5e5}.kojo-panel--fullscreen .kojo-input-area{padding:16px 24px 14px}.kojo-input-wrap{position:relative;display:flex;align-items:flex-end;gap:10px;background:var(--white);border:2px solid var(--green-dark-mid);border-radius:14px;padding:10px 10px 10px 14px;box-shadow:0 2px 10px #26301f1f;transition:border-color .15s,box-shadow .15s;margin:0 auto}.kojo-slash-menu-anchor{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:5}.slash-menu{display:flex;flex-direction:column;gap:2px;background:var(--white);border:1px solid var(--green-light-mid);border-radius:12px;padding:6px;box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto}.slash-menu-item{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;border-radius:8px;padding:8px 10px;text-align:left;font-family:inherit;cursor:pointer;color:var(--ink)}.slash-menu-item:hover,.slash-menu-item--active{background:var(--green-lightest)}.slash-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--green-lightest);color:var(--green-dark);flex-shrink:0}.slash-menu-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.slash-menu-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600}.slash-menu-item-top strong{font-weight:600;color:var(--green-dark);font-size:.78rem}.slash-menu-copy small{font-size:.76rem;color:var(--muted);line-height:1.4}.slash-menu-run{display:inline-flex;align-items:center;justify-content:center;color:var(--green-mid);flex-shrink:0}.kojo-panel--fullscreen .kojo-input-wrap{max-width:780px}.kojo-input-wrap:focus-within{border-color:var(--green-dark);box-shadow:0 0 0 3px #71835538,0 2px 10px #26301f1f}.kojo-input{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--ink);font-family:inherit;font-size:.9rem;line-height:1.55;min-height:24px;max-height:200px;overflow-y:auto;padding:0;scrollbar-width:none}.kojo-input::-webkit-scrollbar{display:none}.kojo-input::placeholder{color:#627350}.kojo-input:disabled{opacity:.55}.kojo-send{background:var(--green-dark);color:#fff;border:none;border-radius:9px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),transform .1s,opacity .15s}.kojo-send:not(:disabled):hover{background:var(--green-dark-mid)}.kojo-send:not(:disabled):active{transform:scale(.92)}.kojo-send:disabled{opacity:.3;cursor:not-allowed}.kojo-input-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:7px;flex-wrap:wrap}.kojo-model-row{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-right:2px}.kojo-model-label{font-size:.78rem;color:var(--green-dark-mid);font-weight:700}.kojo-model-select{background:#f8fbf4;border:1px solid var(--green-light-mid);color:var(--green-dark);border-radius:10px;min-height:38px;min-width:188px;padding:6px 12px;font-size:.84rem;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color var(--transition-fast)}.kojo-model-select:hover{border-color:var(--green-dark-mid)}.kojo-model-select:disabled{opacity:.5;cursor:not-allowed}.kojo-model-select option{background:var(--white);color:var(--ink)}.kojo-provider-warn{font-size:.72rem;color:#d97706;font-weight:700;white-space:nowrap;cursor:default}.kojo-input-hint{margin:0;font-size:.7rem;color:var(--green-mid);white-space:nowrap}.kojo-input-label{display:flex;align-items:center;gap:5px;margin:0 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark-mid)}.kojo-input-label--locked{color:var(--warning)}.kojo-model-picker{position:relative;flex-shrink:0}.kojo-model-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#f8fbf4;border:1px solid var(--green-light-mid);border-radius:8px;color:var(--green-dark);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color var(--transition-fast),background var(--transition-fast)}.kojo-model-btn:hover:not(:disabled){border-color:var(--green-dark-mid);background:#eef6e4}.kojo-model-btn--open{border-color:var(--green-dark);background:#eef6e4}.kojo-model-btn:disabled{opacity:.5;cursor:not-allowed}.kojo-model-warn-dot{width:7px;height:7px;background:var(--warning);border-radius:50%;flex-shrink:0}.kojo-model-chevron{color:var(--green-dark-mid);transition:transform .18s ease}.kojo-model-chevron--flipped{transform:rotate(180deg)}.kojo-model-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;min-width:200px;background:var(--white);border:1px solid var(--green-light-mid);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:210;animation:kojo-fade-in .12s ease}.kojo-model-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 14px;gap:8px;background:transparent;border:none;color:var(--ink);font-size:.86rem;font-family:inherit;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.kojo-model-option:hover{background:var(--green-lightest)}.kojo-model-option--active{color:var(--green-dark);font-weight:600;background:#cfe1b966}.kojo-model-option-right{display:flex;align-items:center;gap:6px;color:var(--green-dark);flex-shrink:0}.kojo-model-option-warn{font-size:.72rem;color:var(--warning);font-weight:700}.sidebar-beta-group{display:flex;flex-direction:column;gap:6px;margin-top:10px}.sidebar-beta-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);padding:0 14px}.nav-link--beta{border-left:2px solid transparent}.beta-mode-list{display:grid;gap:14px}.beta-mode-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.kojo-mode-picker{display:grid;gap:10px;margin-bottom:14px}.kojo-mode-page .kojo-panel{margin-top:12px}.beta-question-stack{display:grid;gap:12px;margin-top:12px}.beta-option-card{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--gray-200);background:#ffffffe6;text-align:left}.beta-option-card--selected{border-color:var(--green-dark);background:#14532d12}.matching-row,.ordering-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid var(--gray-200);background:#ffffffe6}.matching-prompt,.ordering-item{min-width:0}.matching-select{width:100%}.ordering-row{grid-template-columns:42px minmax(0,1fr) auto}.ordering-index{width:34px;height:34px;border-radius:999px;background:var(--green-lightest);color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.ordering-controls{display:flex;gap:8px}@media(max-width:720px){.matching-row,.ordering-row{grid-template-columns:1fr}.ordering-controls{justify-content:flex-start}}.kojo-input-row{display:flex;align-items:flex-end;gap:10px;max-width:820px;margin:0 auto}.kojo-input-row .kojo-input-wrap{flex:1;max-width:none;margin:0}.kojo-panel--fullscreen .kojo-input-footer{max-width:820px;margin-left:auto;margin-right:auto}.flash-folder-grid{margin-top:8px}.flash-folder-card .folder-card-footer span:last-child{font-weight:700;color:var(--green-dark)}@media(max-width:980px){.kojo-model-select{min-width:162px}}.math-mode-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:var(--green-light);color:var(--green-dark);border-radius:20px;font-size:.72rem;font-weight:600;vertical-align:middle}.math-mode-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:var(--white);border:1.5px solid var(--green-light);border-radius:10px;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.math-mode-toggle:hover{border-color:var(--green-dark)}.math-mode-toggle.active{border-color:var(--green-dark);background:var(--green-lightest)}.math-mode-toggle>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.math-mode-toggle strong{font-size:.9rem;color:var(--ink)}.math-mode-toggle-sub{font-size:.78rem;color:var(--green-dark-mid)}.math-mode-pill{padding:2px 10px;border-radius:20px;font-size:.78rem;font-weight:600;flex-shrink:0}.math-mode-pill.on{background:var(--green-dark);color:var(--white)}.math-mode-pill.off{background:var(--green-light);color:var(--green-dark)}.math-input-wrap{display:flex;flex-direction:column;gap:10px}.math-answer-textarea{resize:vertical;font-family:var(--font-sans);font-size:1rem;min-height:80px}.math-scratchpad{display:flex;flex-direction:column;gap:8px}.math-scratchpad-toggle{display:flex;align-items:center;gap:6px;width:fit-content;padding:4px 10px 4px 8px;background:transparent;border:1.5px solid var(--green-light);border-radius:20px;font-size:.82rem;color:var(--green-dark-mid);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.math-scratchpad-toggle:hover{color:var(--green-dark);border-color:var(--green-dark)}.math-scratchpad-toggle .rotated{transform:rotate(180deg)}.math-scratchpad-area{font-size:.88rem;background:#fffde7;border-color:#e8d87c;resize:vertical}.math-mode-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--green-lightest);border:1px solid var(--green-light);font-size:.875rem;color:var(--green-dark)}.math-explanation{border-top:1px solid var(--green-light);padding-top:14px;margin-top:4px}.math-explanation .kojo-markdown{font-size:.9rem}.math-explanation code{font-family:SFMono-Regular,Consolas,monospace;background:var(--green-lightest);border:1px solid var(--green-light);border-radius:4px;padding:1px 5px;font-size:.9em}.math-explanation .kojo-md-heading{font-size:.9rem;font-weight:700;margin:10px 0 4px;color:var(--green-dark)}.math-answer-text{font-family:SFMono-Regular,Consolas,monospace;font-size:.9rem;background:var(--green-lightest);border-radius:6px;padding:6px 10px}.attempt-history{width:100%;border-top:1px solid var(--green-light-mid);padding:12px 20px 14px;display:grid;gap:6px}.attempt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;color:#596949;font-size:.9rem;border-radius:8px;background:#cfe1b959;transition:background var(--transition-fast),color var(--transition-fast)}.attempt-row:hover{background:#7183551f;color:var(--ink)}.test-row--attempts-open{align-items:center;flex-wrap:wrap}.attempt-toggle-btn{display:grid;width:36px;height:36px;place-items:center}.attempt-toggle-btn--active{background:#71835524;color:var(--ink)}.flash-class-picker{display:inline-flex;align-items:center;gap:8px}.flashcard-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.flashcard-preview-card{display:grid;gap:6px;padding:16px 18px;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.flashcard-preview-card:hover{border-color:var(--green-mid);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.flashcard-preview-card p{font-size:.9rem;line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.add-card-form{display:grid;gap:16px;padding:24px;margin-bottom:4px}.flashcard-manage-list{display:grid;gap:12px}.flashcard-manage-item{display:flex;align-items:center;gap:16px;padding:16px 18px}.flashcard-manage-item.editing{display:grid;gap:14px;padding:18px 20px}.flashcard-manage-content{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;min-width:0}.flashcard-manage-content p{margin-top:4px;font-size:.9rem;line-height:1.5;color:var(--ink)}@media(max-width:760px){.flashcard-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard-manage-content{grid-template-columns:1fr}}@media(max-width:480px){.flashcard-preview-grid{grid-template-columns:1fr}}.math-inline{display:inline;vertical-align:middle}.math-block{display:block;overflow-x:auto;margin:12px 0;padding:10px 16px;background:var(--green-lightest);border-left:3px solid var(--green-dark);border-radius:0 6px 6px 0;text-align:center;word-break:break-word;overflow-wrap:break-word}.math-input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.math-preview-toggle{font-size:.78rem;color:var(--green-dark);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.math-preview{background:var(--white);border:1.5px solid var(--green-light);border-radius:8px;padding:10px 14px;margin-bottom:10px;overflow-x:auto}.math-preview-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--green-dark-mid);margin-bottom:6px}.math-preview-rendered{font-size:1.1rem}.math-keyboard{background:var(--green-lightest);border:1.5px solid var(--green-light);border-radius:10px;overflow:hidden;margin-top:8px}.math-keyboard-tabs{display:flex;overflow-x:auto;border-bottom:1.5px solid var(--green-light);background:var(--white);scrollbar-width:none}.math-keyboard-tabs::-webkit-scrollbar{display:none}.math-tab{flex-shrink:0;padding:9px 14px;font-size:.78rem;font-weight:600;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--green-dark-mid);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.math-tab:hover{background:var(--green-lightest)}.math-tab.active{background:var(--green-lightest);color:var(--green-dark);border-bottom-color:var(--green-dark)}.math-tab:focus-visible{outline:2px solid var(--green-dark);outline-offset:-2px}.math-keyboard-symbols{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;padding:10px}.math-sym-btn{height:42px;min-width:0;padding:4px 6px;background:var(--white);border:1.5px solid var(--green-light);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.math-sym-btn:hover{background:var(--green-lightest);border-color:var(--green-dark)}.math-sym-btn:active{transform:translateY(1px)}.math-sym-btn:focus-visible{outline:2px solid var(--green-dark);outline-offset:1px}.math-sym-btn .katex{font-size:.9rem;max-width:100%}.file-manager-list{display:flex;flex-direction:column;gap:4px}.file-manager-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--white);border:1.5px solid var(--green-light);border-radius:8px;transition:border-color var(--transition-fast);flex-wrap:wrap;min-height:44px}.file-manager-row:hover{border-color:var(--green-dark-mid)}.row-action-btn{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;flex-shrink:0}.row-action-btn:hover{background:var(--green-lightest)}.file-manager-tabs{display:flex;gap:4px;margin-bottom:12px;padding:4px;background:var(--green-lightest);border-radius:10px}.file-manager-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;background:none;border:none;border-radius:7px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted);transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.file-manager-tab:hover{color:var(--green-dark)}.file-manager-tab--active{color:var(--green-dark);background:var(--white);box-shadow:0 1px 2px #00000014}.file-manager-upload-zone{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px dashed var(--green-light-mid);border-radius:8px;background:var(--green-lightest);transition:border-color var(--transition-fast)}.file-manager-upload-zone:hover{border-color:var(--green-dark-mid)}.file-manager-upload-label{font-size:.875rem;color:var(--green-dark);font-weight:600}.file-manager-upload-meta{font-size:.78rem;margin-left:auto;white-space:nowrap}.file-manager-paste{display:flex;flex-direction:column;gap:8px}.file-manager-note-title,.file-manager-note-body{width:100%;padding:10px 12px;border:1.5px solid var(--green-light);border-radius:8px;font-size:.9rem;font-family:inherit;box-sizing:border-box}.file-manager-note-body{resize:vertical;min-height:120px;line-height:1.5}.file-manager-note-title:focus,.file-manager-note-body:focus{outline:none;border-color:var(--green-dark)}.file-manager-paste-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.file-manager-save-note{min-height:38px;padding:8px 18px;white-space:nowrap}.file-manager-hint{margin:8px 0 14px}@media(max-width:560px){.file-manager-tab{font-size:.8rem;padding:8px 6px}.file-manager-upload-zone{flex-wrap:wrap;gap:6px}.file-manager-upload-meta{width:100%;margin-left:0}.file-manager-paste-actions{flex-direction:column-reverse;align-items:stretch;gap:8px}.file-manager-save-note{width:100%}.file-manager-paste-actions .small{text-align:center}}.code-editor-wrap{margin-top:8px}.code-editor-frame{border:1.5px solid var(--green-light);border-radius:10px;overflow:hidden;margin-top:6px}.kojo-panel--classic .kojo-message{padding:16px 0}.kojo-panel--classic .kojo-message+.kojo-message{border-top:1px solid rgba(181,201,154,.28)}.kojo-panel--classic .kojo-message--user{padding:12px 0}.kojo-panel--classic .kojo-user-bubble{background:var(--white);border:1px solid var(--green-light-mid);border-radius:16px 16px 4px;color:var(--ink);box-shadow:0 1px 4px #141c0e0f}.kojo-panel--classic .kojo-user-bubble p{color:var(--ink)}.kojo-panel--classic .kojo-message-time--user{color:var(--green-dark-mid);opacity:.6}.kojo-panel--classic .kojo-message-label{font-weight:700;letter-spacing:.01em;text-transform:uppercase}.kojo-panel--classic .kojo-input-footer{justify-content:center}.kojo-panel--classic .kojo-input-hint{text-align:center}.chat-mode-shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;overflow:hidden;background:radial-gradient(circle at top left,rgba(207,225,185,.44),transparent 28%),linear-gradient(180deg,#f7f9f3,#eef4e5)}.chat-mode-sidebar{min-width:0;border-right:1px solid rgba(113,131,85,.14);display:flex;flex-direction:column;background:#f9fbf6;overflow-y:auto}.chat-mode-menu-btn,.chat-mode-sidebar-close,.chat-mode-sidebar-backdrop{display:none}.chat-mode-sidebar-header{display:flex;align-items:center;gap:8px;padding:16px 14px 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8fa07a}.chat-mode-sidebar-copy{display:grid;gap:2px;padding:0 14px 10px;border-bottom:1px solid rgba(113,131,85,.12)}.chat-mode-sidebar-copy strong{color:var(--ink);font-size:.9rem}.chat-mode-sidebar-copy small{color:#8fa07a;font-size:.78rem}.chat-mode-folder-list{display:flex;flex-direction:column;gap:1px;padding:8px 6px 16px}.chat-mode-folder-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:8px;font-size:.88rem;font-weight:500;color:#4a5568;cursor:pointer;text-align:left;overflow:hidden;transition:background .15s ease,color .15s ease;line-height:1.4}.chat-mode-folder-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.chat-mode-folder-btn:hover{background:#7183551a;color:var(--ink)}.chat-mode-folder-btn--active{background:#71835524;color:var(--green-dark);font-weight:600}.chat-mode-folder-btn--active:hover{background:#7183552e}.chat-mode-folder-btn svg{flex-shrink:0;color:#9aaa88;transition:color .15s ease}.chat-mode-folder-btn--active svg{color:var(--green-dark)}.chat-mode-folder-btn:hover svg{color:var(--ink)}.chat-mode-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--muted);text-align:center}.chat-mode-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-mode-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 24px;border-bottom:1px solid rgba(113,131,85,.14);flex-shrink:0}.chat-mode-header-left{display:flex;align-items:center;gap:12px}.chat-mode-title{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.95rem;color:var(--ink)}.chat-mode-subtitle{display:block;font-size:.8rem;color:#596949;margin-top:3px}.chat-mode-header-meta{margin-left:auto;color:#596949;font-size:.8rem;font-weight:700}.chat-mode-messages{flex:1;overflow-y:auto}.chat-mode-messages-inner{max-width:760px;margin:0 auto;padding:40px 28px 20px}.chat-mode-input-area{padding:8px 24px 24px;flex-shrink:0}.chat-mode-input-shell{position:relative;max-width:760px;margin:0 auto}.chat-mode-input-wrap{display:flex;flex-direction:column;background:var(--white);border:1.5px solid rgba(113,131,85,.18);border-radius:18px;padding:14px 14px 12px 16px;box-shadow:0 4px 24px #26301f14,0 1px 3px #26301f0a;transition:border-color .15s ease,box-shadow .15s ease}.chat-mode-input-wrap:focus-within{border-color:#7183556b;box-shadow:0 4px 28px #26301f1a,0 1px 3px #26301f0f}.chat-mode-input-wrap .kojo-input{flex:none;border:none;background:transparent;padding:0;width:100%;resize:none;font-size:.95rem;line-height:1.55;outline:none;box-shadow:none;min-height:26px}.chat-mode-composer-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;min-height:34px}.chat-mode-composer-hint{font-size:.72rem;color:#59694966}.chat-mode-input-wrap .kojo-send{width:34px;height:34px;padding:0;border-radius:50%;background:var(--green-dark);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,transform .1s ease;flex-shrink:0;margin-bottom:0}.chat-mode-input-wrap .kojo-send:not(:disabled):hover{background:var(--ink);transform:scale(1.05)}.chat-mode-input-wrap .kojo-send:not(:disabled):active{transform:scale(.97)}.chat-mode-input-wrap .kojo-send:disabled{background:#71835526;color:#71835580;cursor:not-allowed}@media(max-width:760px){.chat-mode-shell{grid-template-columns:minmax(0,1fr)}.chat-mode-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(86vw,320px);border-right:1px solid rgba(113,131,85,.16);box-shadow:0 12px 40px #26301f38;transform:translate(-100%);transition:transform .26s cubic-bezier(.22,1,.36,1);will-change:transform}.chat-mode-sidebar--open{transform:translate(0)}.chat-mode-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#1a25156b;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:chat-mode-backdrop-in .2s ease}@keyframes chat-mode-backdrop-in{0%{opacity:0}to{opacity:1}}.chat-mode-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:10px;background:#7183551a;color:var(--green-dark);cursor:pointer;transition:background .15s ease}.chat-mode-menu-btn:active{background:#71835533}.chat-mode-sidebar-header{justify-content:flex-start;padding-right:12px}.chat-mode-sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;border:none;border-radius:8px;background:transparent;color:#8fa07a;cursor:pointer;transition:background .15s ease,color .15s ease}.chat-mode-sidebar-close:active{background:#71835524;color:var(--ink)}.kojo-chat-list{max-height:none}.kojo-chat-item-delete{opacity:.65}.chat-mode-header-meta{display:none}.chat-mode-messages-inner{padding:24px 16px 14px}.chat-mode-input-area{padding:4px 14px 16px}.chat-mode-composer-hint{display:none}}.chat-mode-main .kojo-empty{padding:72px 28px 40px}.chat-mode-main .kojo-empty-icon{width:68px;height:68px;margin-bottom:16px}.chat-mode-main .kojo-empty-title{font-size:1.55rem}.chat-mode-main .kojo-empty-sub{max-width:420px;font-size:.9rem}.chat-mode-main .kojo-suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-width:540px;margin:14px auto 0}.chat-mode-main .kojo-suggestion{padding:14px 16px;border-radius:12px;font-size:.875rem;border-color:#71835538}.chat-mode-main .kojo-message{padding:14px 0}.lc-page{--lc-border: rgba(113, 131, 85, .26);--lc-surface: rgba(255, 255, 255, .72)}[class*=lc-]:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}input[class*=lc-]:focus-visible,textarea[class*=lc-]:focus-visible,select[class*=lc-]:focus-visible{outline:none}.lc-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.lc-hero p{max-width:680px;margin-top:8px}.lc-official-link,.lc-row-link,.lc-problem-source a,.lc-toolbar-btn,.lc-coding-tab,.lc-toolbar-timer{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid var(--lc-border);border-radius:8px;background:var(--white);color:var(--ink);font-size:.86rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.lc-official-link:hover,.lc-row-link:hover,.lc-problem-source a:hover,.lc-toolbar-btn:hover,.lc-toolbar-timer:hover{transform:translateY(-1px);border-color:var(--green-dark);background:var(--green-lightest)}.lc-toolbar-timer--urgent{border-color:#dc262661;background:#fef2f2eb;color:#991b1b}.lc-toolbar-timer--urgent:hover{border-color:#dc26268a;background:#fee2e2f5;color:#7f1d1d}.lc-tb-label{display:inline}.lc-mobile-pane-toggle{display:none}.lc-mobile-pane-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:40px;border:0;background:transparent;color:#596949;font-size:.88rem;font-weight:800;cursor:pointer}.lc-mobile-pane-btn--active{background:var(--white);color:var(--green-dark);box-shadow:var(--shadow-sm)}.lc-timer-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-timer-presets{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--lc-border);border-radius:10px;background:#ffffffd6}.lc-timer-preset{min-height:30px;padding:6px 10px;border-radius:7px;background:transparent;color:#516142;font-size:.8rem;font-weight:800;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.lc-timer-preset:hover{transform:translateY(-1px);background:var(--green-lightest);color:var(--ink)}.lc-timer-input{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:1px solid var(--lc-border);border-radius:8px;background:#ffffffe6}.lc-timer-input span{color:#5e6f4c;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.lc-timer-input input{width:58px;border:0;background:transparent;color:var(--ink);font-size:.88rem;font-weight:700;outline:none}.lc-toolbar-btn--timer{min-width:104px;min-height:36px;gap:7px;padding:8px 12px;border-radius:8px;font-variant-numeric:tabular-nums}.lc-toolbar-btn--timer .lc-tb-label--timer{display:inline}.lc-timer-ring{display:block;flex:0 0 auto}.lc-timer-ring-track{stroke:#7183552e}.lc-timer-ring-progress{stroke:var(--green-dark);transition:stroke-dashoffset .8s linear,stroke .16s ease}.lc-timer-ring--idle .lc-timer-ring-track{stroke:#7183556b;stroke-dasharray:2 3}.lc-toolbar-btn--timer-idle{color:#526442}.lc-toolbar-btn--timer-calm{border-color:#71835573;background:#e9f5db94}.lc-toolbar-btn--timer-warn{border-color:#ca8a0470;background:#fff9e8;color:#8a5a06}.lc-timer-ring--warn .lc-timer-ring-track{stroke:#ca8a042e}.lc-timer-ring--warn .lc-timer-ring-progress{stroke:#ca8a04}.lc-toolbar-btn--timer-alert{border-color:#dc26267a;background:#fff3f3;color:#a32020;animation:lc-timer-alert-pulse 1.4s ease-in-out infinite}.lc-timer-ring--alert .lc-timer-ring-track{stroke:#dc26262b}.lc-timer-ring--alert .lc-timer-ring-progress{stroke:#dc2626}@keyframes lc-timer-alert-pulse{50%{box-shadow:0 0 0 3px #dc26261a}}.lc-coding-tab:hover{transform:translateY(-1px);border-color:var(--green-dark);background:var(--green-lightest)}.lc-dashboard{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(150px,190px));gap:12px;margin-bottom:28px}.lc-dashboard-main,.lc-stat-tile{min-height:112px;padding:16px;border:1px solid var(--lc-border);border-radius:8px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.lc-dashboard-main strong{display:block;margin:4px 0 12px;color:var(--ink);font-size:2rem;line-height:1}.lc-stat-label,.lc-stat-tile small{color:#596949;font-size:.78rem;font-weight:700;text-transform:uppercase}.lc-master-bar,.lc-node-progress{height:8px;overflow:hidden;border-radius:999px;background:#71835529}.lc-master-bar span,.lc-node-progress span{display:block;height:100%;border-radius:inherit;background:var(--green-dark)}.lc-stat-tile{display:grid;align-content:center;justify-items:start;gap:5px}.lc-stat-tile svg{color:var(--green-dark)}.lc-stat-tile span{color:var(--ink);font-size:1.65rem;font-weight:800;line-height:1}.lc-stat-tile--split{grid-template-columns:1fr auto;align-content:center;column-gap:14px}.lc-stat-tile--split span{font-size:1rem}.lc-stat-tile--split .lc-split-val--easy{color:#166534}.lc-stat-tile--split .lc-split-val--medium{color:#92400e}.lc-stat-tile--split .lc-split-val--hard{color:#991b1b}.lc-stat-tile--streak{position:relative;cursor:default}.lc-stat-tile--streak:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:.73rem;font-weight:500;white-space:nowrap;padding:5px 10px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.lc-stat-tile--streak:hover:after{opacity:1}.lc-roadmap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px 92px;padding:12px 0 32px}.lc-roadmap:before{content:"";position:absolute;top:24px;bottom:36px;left:50%;width:3px;border-radius:999px;background:linear-gradient(#87986a,#97a97c,#718355);transform:translate(-50%)}.lc-node{--lc-accent: var(--green-dark);position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;min-height:104px;padding:20px;border:1px solid color-mix(in srgb,var(--lc-accent) 34%,white);border-radius:14px;background:#ffffffe6;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.lc-node[data-side=left]{grid-column:1}.lc-node[data-side=right]{grid-column:2;transform:translateY(34px)}.lc-node:after{content:"";position:absolute;top:42px;width:46px;height:2px;background:color-mix(in srgb,var(--lc-accent) 42%,white)}.lc-node[data-side=left]:after{right:-46px}.lc-node[data-side=right]:after{left:-46px}.lc-node:hover{transform:translateY(-2px);border-color:var(--lc-accent);box-shadow:var(--shadow-md)}.lc-node[data-side=right]:hover{transform:translateY(32px)}.lc-node-icon{display:inline-grid;width:48px;height:48px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--lc-accent) 12%,white);color:var(--lc-accent)}.lc-node-copy{display:grid;gap:4px;min-width:0}.lc-node-copy strong{color:var(--ink);font-size:1rem}.lc-node-copy small{color:#596949;font-weight:650}.lc-node-progress{grid-column:1 / -1;height:7px}.lc-node-progress span{background:var(--lc-accent)}.lc-category-header{display:grid;gap:16px;margin-bottom:20px}.lc-back-btn{display:inline-flex;align-items:center;gap:5px;width:fit-content;padding:0;background:none;color:#596949;font-size:.86rem;font-weight:800;cursor:pointer}.lc-back-btn:hover{color:var(--ink)}.lc-category-title-row{--lc-accent: var(--green-dark);display:flex;align-items:center;gap:14px}.lc-category-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lc-search{display:flex;align-items:center;gap:8px;width:min(360px,100%);padding:0 12px;border:1px solid var(--lc-border);border-radius:8px;background:var(--white);color:#596949}.lc-search input{width:100%;min-height:42px;border:0;outline:0;background:transparent;color:var(--ink)}.lc-problem-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;overflow:visible;border:none;background:transparent;box-shadow:none}.lc-problem-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:14px 16px;border:1px solid var(--lc-border);border-radius:12px;background:var(--white);box-shadow:var(--shadow-sm);transition:box-shadow .13s ease,transform .13s ease}.lc-problem-row:hover{box-shadow:0 6px 18px #26301f1a;transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.lc-problem-row{transition:none}.lc-problem-row:hover{transform:none}}.lc-problem-row--archived{grid-template-columns:minmax(0,1fr) auto auto}.lc-row-actions{display:inline-flex;align-items:center;gap:6px}.lc-problem-row:last-child{border-bottom:0}.lc-problem-row--done{background:var(--white);border-color:color-mix(in srgb,var(--green-dark) 40%,var(--lc-border));border-left:4px solid var(--green-dark);padding-left:13px}.lc-problem-check{display:inline-flex;padding:0;background:none;color:var(--green-dark);cursor:pointer}.lc-check-done{color:var(--green-dark)}.lc-check-empty{color:#9ca78d}.lc-problem-title-btn{display:grid;gap:2px;min-width:0;padding:0;background:none;color:var(--ink);text-align:left;cursor:pointer}.lc-problem-title-btn span{overflow:hidden;font-size:.92rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.lc-problem-title-btn small{color:#596949;font-size:.75rem;font-weight:700}.lc-problem-title-btn:hover span{color:var(--green-dark)}.lc-difficulty,.lc-extra-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap}.lc-difficulty--easy{background:#dcfce7;color:#166534}.lc-difficulty--medium{background:#fef3c7;color:#92400e}.lc-difficulty--hard{background:#fee2e2;color:#991b1b}.lc-difficulty--reference{background:#e0f2fe;color:#075985}.lc-extra-pill{background:#fce7f3;color:#9d174d}.lc-row-link{width:34px;min-height:34px;padding:0}.lc-editor-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:#f7faf2}.lc-editor-topbar{display:flex;align-items:center;gap:12px;min-height:58px;padding:9px 16px;border-bottom:1px solid rgba(113,131,85,.24);background:#fffffff0;flex-wrap:wrap}.lc-editor-title{display:flex;align-items:center;gap:8px;min-width:180px;flex:1;color:var(--ink);font-size:.95rem;font-weight:800}.lc-editor-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lc-toolbar-cluster{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:9px;background:#e9f5db80}.lc-toolbar-cluster-label{font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #596949);margin-right:2px;white-space:nowrap}@media(max-width:900px){.lc-toolbar-cluster-label{display:none}}.lc-toolbar-btn{min-height:34px;padding:7px 10px;font-size:.82rem}.lc-toolbar-btn--kojo{border-color:var(--green-dark-mid);background:var(--green-lightest);color:var(--green-dark)}.lc-toolbar-btn--done{border-color:var(--green-dark);background:var(--green-light);color:var(--green-dark)}.lc-code-tabs{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 12px;border-bottom:1px solid rgba(113,131,85,.18);background:#fffffff5}.lc-code-tabs__list{display:flex;align-items:center;gap:8px;min-width:0;flex:1;flex-wrap:wrap}.lc-coding-tab{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 12px;border:1px solid var(--lc-border);border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:.84rem;font-weight:800}.lc-coding-tab--active{border-color:var(--green-dark);background:var(--green-light);color:var(--green-dark);box-shadow:var(--shadow-sm)}.lc-coding-tab--add{white-space:nowrap;flex-shrink:0}.lc-coding-tab--locked{opacity:.6;color:var(--muted);background:#ffffff8c;cursor:not-allowed}.lc-coding-tab--locked:hover{transform:none;border-color:var(--lc-border);background:#ffffff8c}.lc-coding-tab-lock{color:var(--muted);flex-shrink:0}.closeTab{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:2px;border-radius:999px;color:var(--green-dark);font-size:.72rem;font-weight:900;line-height:1;cursor:pointer}.closeTab:hover{background:#71835538}.lc-editor-body{display:flex;min-height:0;flex:1}.lc-problem-pane{width:min(420px,40vw);min-width:320px;overflow-y:auto;padding:22px;border-right:1px solid rgba(113,131,85,.22);background:var(--white);word-break:break-word;overflow-wrap:break-word}.lc-problem-source{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;color:#596949;font-size:.78rem;font-weight:800;text-transform:uppercase}.lc-problem-source a{min-height:32px;padding:6px 9px;text-transform:none}.lc-problem-heading{margin-bottom:12px;font-family:var(--font-sans);font-size:1.35rem;line-height:1.2;word-break:break-word;overflow-wrap:break-word}.lc-problem-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.lc-problem-meta>span:not(.lc-difficulty){min-height:24px;padding:4px 9px;border-radius:999px;background:var(--green-lightest);color:var(--green-dark);font-size:.72rem;font-weight:850}.lc-source-note{padding:14px;border:1px solid rgba(113,131,85,.24);border-radius:8px;background:#e9f5db70}.lc-source-note p{color:#3d4a32;font-size:.9rem;line-height:1.55}.lc-editor-progress-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:13px;border:1px solid rgba(113,131,85,.24);border-radius:8px;background:var(--white)}.lc-editor-progress-card span{color:var(--ink);font-weight:800}.lc-editor-progress-card button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border-radius:8px;background:var(--green-dark);color:var(--white);font-weight:800;cursor:pointer}.lc-editor-pane{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1e1e1e}.lc-editor-surface{min-height:0;flex:1;display:grid}.lc-kojo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#26301f57;z-index:400}.lc-kojo-modal{position:fixed;right:24px;bottom:24px;z-index:401;display:flex;width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);flex-direction:column;overflow:hidden;border:1px solid rgba(113,131,85,.28);border-radius:8px;background:var(--white);box-shadow:var(--shadow-lg)}.lc-timeout-modal{width:460px}.lc-kojo-backdrop--drawer{background:transparent}.lc-kojo-modal--drawer{top:0;right:0;bottom:0;width:380px;max-width:min(380px,100vw);max-height:none;border-radius:0;border-top:none;border-bottom:none;border-left:1px solid var(--lc-border);box-shadow:-8px 0 24px #26301f1f;animation:lc-kojo-drawer-in .18s ease-out}@keyframes lc-kojo-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.lc-kojo-modal--drawer{animation:none}}@media(max-width:760px){.lc-kojo-modal--drawer{width:100%;max-width:100vw}}.lc-timer-modal{width:min(438px,calc(100vw - 32px));overflow:hidden;border-color:#71835552;box-shadow:0 24px 64px #26301f33}.lc-timer-modal-header{position:relative;display:block;padding:25px 58px 22px 24px;background:linear-gradient(135deg,#eff7e4,#dcebc9);border-bottom:1px solid rgba(113,131,85,.2)}.lc-timer-modal-header h2{margin:4px 0 0;color:var(--ink);font-family:Lora,Georgia,serif;font-size:1.45rem;line-height:1.22}.lc-timer-modal-header .lc-kojo-close{position:absolute;top:14px;right:14px}.lc-timer-modal-eyebrow{display:block;color:#5c7045;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lc-timer-modal-body{display:grid;gap:18px;padding:24px}.lc-timer-modal-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lc-timer-modal-preset{display:flex;min-height:86px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px;border:1px solid var(--lc-border);border-radius:12px;background:#fbfdf8;color:var(--ink);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.lc-timer-modal-preset:hover{transform:translateY(-1px);border-color:var(--green-dark);background:var(--green-lightest);box-shadow:0 6px 16px #71835521}.lc-timer-modal-preset:focus-visible,.lc-timer-modal-input:focus-within{outline:3px solid rgba(113,131,85,.25);outline-offset:2px}.lc-timer-modal-preset-value{font-family:Lora,Georgia,serif;font-size:1.65rem;font-weight:700;line-height:1}.lc-timer-modal-preset-value:after{content:" min";font-family:inherit;font-size:.72rem;font-weight:600}.lc-timer-modal-preset-caption{color:#657653;font-size:.7rem;font-weight:700}.lc-timer-modal-input{position:relative;display:flex;align-items:center;min-height:54px;padding:0 16px;border:1px solid var(--lc-border);border-radius:12px;background:#fbfdf8;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.lc-timer-modal-divider{display:flex;align-items:center;gap:10px;color:#77866a;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lc-timer-modal-divider:before,.lc-timer-modal-divider:after{height:1px;flex:1;background:var(--lc-border);content:""}.lc-timer-modal-input input{width:100%;min-height:50px;padding:0 42px 0 0;border:0;background:transparent;color:var(--ink);font-size:1.05rem;font-weight:700;outline:none;font-variant-numeric:tabular-nums}.lc-timer-modal-unit{position:absolute;right:16px;color:#5e6f4c;font-size:.8rem;font-weight:800}.lc-timer-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 24px 24px}.lc-timeout-modal-header{background:#fef2f2d1;border-bottom-color:#dc262629}.lc-timeout-avatar{color:#fee2e2;background:#dc2626}.lc-timeout-copy{gap:10px}.lc-timeout-copy p+p{color:#516142}.lc-timeout-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 14px 14px}.lc-timeout-action{min-height:40px}.lc-timeout-action--ghost{background:var(--white)}.lc-timer-backdrop{background:#1b231685}.lc-kojo-modal-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(113,131,85,.22);background:#e9f5db8a;color:var(--ink);font-size:.9rem;font-weight:800}.lc-kojo-close{display:inline-grid;width:30px;height:30px;margin-left:auto;place-items:center;border-radius:8px;background:transparent;color:#596949;cursor:pointer}.lc-kojo-close:hover{background:#7183551f;color:var(--ink)}.lc-kojo-folder-row{display:flex;align-items:center;gap:8px;padding:12px 14px 0;color:#596949}.lc-kojo-folder-select{min-width:0;flex:1;padding:7px 9px;font-size:.86rem}.lc-kojo-input{display:block;width:100%;min-height:138px;padding:12px 14px;border:2px solid var(--green-dark-mid);border-radius:8px;background:#f8fbf4;color:var(--ink);font-family:inherit;font-size:.86rem;line-height:1.5;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.lc-kojo-input:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px #7183552e}.lc-kojo-input::placeholder{color:#627350}.lc-kojo-response{max-height:260px;overflow-y:auto;padding:12px 14px;border-bottom:1px solid rgba(113,131,85,.22);font-size:.86rem}.lc-kojo-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 14px}.lc-kojo-send{display:inline-flex;align-items:center;gap:6px}@media(max-width:1180px){.lc-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.lc-editor-shell{height:auto;min-height:100dvh;overflow:visible}.lc-editor-pane{min-height:70dvh}}@media(max-width:900px){.lc-roadmap{grid-template-columns:1fr;gap:12px;padding-left:18px}.lc-roadmap:before{left:0}.lc-node,.lc-node[data-side=right],.lc-node[data-side=left]{grid-column:1;transform:none}.lc-node:hover,.lc-node[data-side=right]:hover{transform:translateY(-2px)}.lc-node:after{left:-18px;width:18px}.lc-editor-shell{height:auto;min-height:100dvh;overflow:visible}.lc-mobile-pane-toggle{display:flex;gap:4px;padding:6px;margin:10px 14px 0;border:1px solid var(--lc-border);border-radius:10px;background:#ffffffad}.lc-editor-body{flex-direction:column;flex:1}.lc-editor-body[data-mobile-pane=problem] .lc-editor-pane,.lc-editor-body[data-mobile-pane=code] .lc-problem-pane{display:none}.lc-problem-pane{width:100%;min-width:0;max-height:none;border-right:0}.lc-editor-pane{flex:1;min-height:60dvh}.lc-editor-topbar{flex-wrap:wrap;align-items:center}.lc-editor-title{flex:1 1 auto;min-width:0}.lc-editor-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.lc-editor-actions::-webkit-scrollbar{display:none}.lc-toolbar-btn{flex:0 0 auto;padding:8px 9px}.lc-tb-label:not(.lc-tb-label--timer){display:none}}@media(max-width:720px){.lc-hero,.lc-category-tools{align-items:stretch;flex-direction:column}.lc-dashboard{grid-template-columns:1fr}.lc-problem-row{grid-template-columns:30px minmax(0,1fr) auto}.lc-extra-pill,.lc-row-link{display:none}}.slash-menu{position:absolute;right:0;bottom:calc(100% + 8px);left:0;z-index:30;display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;padding:6px;border:1px solid var(--green-light-mid);border-radius:10px;background:#fff;box-shadow:0 8px 32px #26301f26;scrollbar-width:none}.slash-menu::-webkit-scrollbar{display:none}.slash-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background .1s}.slash-menu-item:hover,.slash-menu-item:focus-visible,.slash-menu-item--active{background:#cfe1b985;outline:none}.slash-menu-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:7px;background:var(--green-dark);color:#fff}.slash-menu-copy{flex:1 1 0;min-width:0}.slash-menu-item-top{display:flex;align-items:baseline;gap:7px;margin-bottom:1px}.slash-menu-item-top span{overflow:hidden;font-size:.875rem;font-weight:700;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.slash-menu-item-top strong{flex-shrink:0;color:var(--green-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:700}.slash-menu-item small{display:block;overflow:hidden;color:#596949;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.slash-menu-run{display:flex;align-items:center;flex-shrink:0;color:#b0be9a}.slash-manager,.slash-manager-composer,.slash-manager-list{display:grid;gap:12px}.slash-manager-header,.slash-manager-actions,.slash-manager-search{display:flex;align-items:center;gap:10px}.slash-manager-header{justify-content:space-between}.slash-manager-header h3{margin:0 0 4px;font-size:1rem}.slash-manager-counts{display:flex;flex:none;gap:6px}.slash-manager-composer{padding:12px}.slash-manager-form-row{gap:12px}.slash-manager-composer .textarea{min-height:92px}.slash-manager-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.slash-manager-error{margin:0;color:var(--error);font-size:.86rem;font-weight:700}.slash-manager-search{min-height:44px;padding:0 12px;border:1px solid var(--green-light-mid);border-radius:8px;background:#ffffffa8;margin:4px 0}.slash-manager-search input{width:100%;border:0;background:transparent;color:var(--ink);outline:0}.slash-manager-list{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:none}.slash-manager-list::-webkit-scrollbar{display:none}.slash-manager-item{display:flex;align-items:center;gap:10px;padding:10px 12px;overflow:hidden;transition:background .15s,box-shadow .15s,border-color .15s}.slash-manager-item.card:hover{background:#ffffffed;box-shadow:0 3px 14px #394f2021;border-color:#a2bc76e6}.slash-manager-item--pinned{border-left:3px solid var(--green-dark)}.slash-manager-item-main{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer;padding:0}.slash-manager-trigger{flex:0 0 auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;border:1px solid var(--green-light-mid);border-radius:999px;background:#cfe1b9b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;font-weight:700;color:var(--green-dark)}.slash-manager-item-copy{flex:1 1 0;min-width:0}.slash-manager-item-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;color:var(--ink)}.slash-manager-item-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:#596949}.slash-manager-item-actions{display:flex;align-items:center;gap:2px;flex:none}.slash-action-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:0;border-radius:8px;cursor:pointer;transition:background .12s}.slash-action-btn svg{color:#7a8a6e;transition:color .12s}.slash-action-btn:hover{background:#cfe1b98c}.slash-action-btn.action-pin.slash-action-btn--pinned svg{color:var(--green-dark)}.slash-action-btn.action-pin:hover svg{color:var(--green-dark)}.slash-action-btn.action-edit:hover svg{color:var(--info)}.slash-action-btn.action-delete:hover svg{color:#c94040}.kojo-command-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#ffffffeb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:700;letter-spacing:.01em}@media(max-width:720px){.slash-menu-item-top{align-items:flex-start;flex-direction:column;gap:2px}.slash-manager-header{align-items:flex-start;flex-direction:column}.slash-manager-form-row{grid-template-columns:1fr}.slash-manager-item{flex-wrap:wrap}.slash-manager-item-main{flex:1 1 0;min-width:0}.slash-manager-item-actions{flex:none;margin-left:auto}}.lc-statement-state{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#596949;font-size:.88rem;font-weight:700}.lc-statement-state--error{color:#b91c1c}.lc-topic-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.lc-topic-tags span{min-height:24px;padding:4px 9px;border-radius:999px;background:#e9f5dbb8;color:var(--green-dark);font-size:.72rem;font-weight:800}.lc-official-statement{color:#2d3725;font-size:.92rem;line-height:1.65}.lc-official-statement p,.lc-official-statement ul,.lc-official-statement ol,.lc-official-statement pre{margin:0 0 14px}.lc-official-statement pre{padding:14px;border:1px solid rgba(113,131,85,.18);border-radius:8px;background:#f7f9f3;white-space:pre-wrap;word-break:break-word;font-size:.84rem}.lc-tests-panel{margin-top:20px;padding-top:18px;border-top:1px solid rgba(113,131,85,.18)}.lc-tests-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.lc-tests-header h3{font-size:.98rem}.lc-add-test-btn,.lc-inline-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid rgba(113,131,85,.22);border-radius:8px;background:var(--white);color:var(--ink);font-size:.8rem;font-weight:800;cursor:pointer}.lc-inline-icon-btn{width:32px;min-width:32px;padding:0;color:#596949;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.lc-inline-icon-btn:hover{transform:translateY(-1px);border-color:var(--green-dark);background:var(--green-lightest);color:var(--green-dark)}.lc-inline-icon-btn--danger:hover{border-color:#dc262673;background:#fef2f2;color:#b91c1c}.lc-add-test-btn:disabled{opacity:.45;cursor:not-allowed}.lc-test-list{display:grid;gap:12px;margin-top:12px}.lc-test-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(113,131,85,.18);border-radius:10px;background:#ffffffe6}.lc-test-card--custom{background:#e9f5db52}.lc-test-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lc-test-card label{display:grid;gap:6px}.lc-test-card label span{color:#596949;font-size:.75rem;font-weight:800;text-transform:uppercase}.lc-test-card textarea{width:100%;padding:10px 12px;border:1px solid rgba(113,131,85,.2);border-radius:8px;background:#f9fbf7;color:var(--ink);font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;resize:vertical}.lc-runner-note{margin-top:12px;color:#596949;font-size:.82rem;line-height:1.55}.lc-runner-result{margin-top:14px;padding:12px;border-radius:10px;border:1px solid rgba(113,131,85,.18);background:#ffffffeb}.lc-runner-result--ok{border-color:#16653438;background:#dcfce7b3}.lc-runner-result--error{border-color:#991b1b38;background:#fee2e2a3}.lc-runner-result strong{display:block;margin-bottom:8px}.lc-runner-result pre{margin:0 0 10px;padding:10px 12px;overflow-x:auto;border-radius:8px;background:#fffc;font-size:.78rem}.lc-runner-case-list{display:grid;gap:8px}.lc-runner-case{display:grid;gap:2px;padding:8px 10px;border-radius:8px;background:#ffffffb8}.lc-runner-case span:first-child{font-weight:800}.lc-runner-case span:nth-child(2){color:#596949;font-size:.82rem;font-weight:700}.lc-runner-case small{color:#7f1d1d;font-size:.77rem}.lc-kojo-contract{padding:10px 16px;background:#7183550f;border-bottom:1px solid var(--green-light-mid)}.lc-kojo-contract p{color:#596949;font-size:.82rem;line-height:1.5}.lc-kojo-input-wrap{position:relative;padding:10px 14px 14px}.lc-kojo-input-label{display:block;margin-bottom:7px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark-mid)}.lc-grade-loading{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:.82rem;color:#596949;border-top:1px solid rgba(113,131,85,.14);margin-top:8px}.lc-grade-feedback{margin-top:8px;border:1px solid rgba(113,131,85,.22);border-radius:10px;overflow:hidden;background:#f9fbf5b3}.lc-grade-feedback-header{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#596949;border-bottom:1px solid rgba(113,131,85,.14);background:#7183550f}.lc-grade-feedback>div:last-child{padding:10px 14px;font-size:.85rem}.modal{background:#fff;border-radius:14px;width:100%;max-width:440px;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;animation:modal-slide-in .18s ease}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(0,0,0,.07)}.modal-header h3{font-size:1rem;font-weight:700;color:var(--ink);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:#888;cursor:pointer;transition:background .15s ease,color .15s ease}.modal-close:hover{background:#0000000f;color:var(--ink)}.modal-body{padding:18px 20px}.modal-body p{margin:0;line-height:1.5}.modal-input{width:100%;padding:10px 12px;border:1.5px solid rgba(113,131,85,.35);border-radius:8px;font-size:.95rem;color:var(--ink);background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s ease}.modal-input:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px #71835526}.modal-type-confirm-error{font-size:.8rem;color:#b71c1c;margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px}.modal-btn{padding:8px 18px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.modal-btn--secondary{background:#0000000f;color:#555}.modal-btn--secondary:hover{background:#0000001a}.modal-btn--primary{background:var(--green-dark);color:#fff}.modal-btn--primary:hover{opacity:.88}.modal-btn--danger{background:#dc2626;color:#fff}.modal-btn--danger:hover{opacity:.88}.lc-next-problem{margin-top:20px;padding-top:18px;border-top:1px solid rgba(113,131,85,.18)}.lc-next-problem-eyebrow{display:block;margin-bottom:8px;color:var(--green-dark);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.lc-next-problem-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1.5px solid var(--green-dark);border-radius:10px;background:#e9f5db66;color:var(--ink);cursor:pointer;text-align:left;transition:background .15s,box-shadow .15s}.lc-next-problem-btn:hover{background:#e9f5dbd9;box-shadow:0 2px 8px #4c6e281f}.lc-next-problem-info{flex:1;min-width:0}.lc-next-problem-title{display:block;font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-next-arrow{flex-shrink:0;color:var(--green-dark)}.kojo-blueprint-card{background:#fff;border:1px solid var(--green-light-mid);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:14px;max-width:440px;box-shadow:0 2px 8px #26301f14}.kojo-blueprint-card--done{padding:12px 14px}.kojo-blueprint-intro{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;color:var(--ink);line-height:1.45;padding-bottom:12px;border-bottom:1px solid var(--green-light)}.kojo-blueprint-intro-icon{flex-shrink:0;margin-top:2px;color:var(--green-dark)}.kojo-blueprint-fields{display:flex;flex-direction:column;gap:10px}.kojo-blueprint-row{display:flex;gap:10px}.kojo-blueprint-label{display:flex;flex-direction:column;gap:4px;flex:1;font-size:.78rem;font-weight:500;color:var(--ink)}.kojo-blueprint-optional{font-weight:400;color:var(--muted, #888)}.kojo-blueprint-input{background:#fff;border:1px solid var(--green-light);border-radius:6px;padding:6px 9px;font-size:.85rem;color:var(--ink);width:100%;box-sizing:border-box;font-family:inherit}.kojo-blueprint-input:focus{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--green-dark) 18%,transparent)}.kojo-blueprint-input--num{width:72px;flex:0 0 auto;text-align:center}.kojo-blueprint-select{background:#fff;border:1px solid var(--green-light);border-radius:6px;padding:6px 9px;font-size:.85rem;color:var(--ink);width:100%;font-family:inherit;cursor:pointer}.kojo-blueprint-select:focus{outline:none;border-color:var(--green-dark)}.kojo-blueprint-error{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#c0392b;background:#fdf0ef;border-radius:6px;padding:7px 10px}.kojo-blueprint-actions{display:flex;gap:8px;align-items:center}.kojo-blueprint-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:7px;font-size:.85rem;font-weight:500;border:none;cursor:pointer;transition:background .15s,opacity .15s;font-family:inherit}.kojo-blueprint-btn:disabled{opacity:.55;cursor:not-allowed}.kojo-blueprint-btn--primary{background:var(--green-dark);color:#fff;font-weight:600}.kojo-blueprint-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--green-dark) 85%,#000)}.kojo-blueprint-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--green-light)}.kojo-blueprint-btn--ghost:hover:not(:disabled){background:var(--green-light)}.kojo-blueprint-done{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--green-dark);font-weight:500}.kojo-blueprint-done-icon{color:var(--green-dark)}.kojo-blueprint-test-link{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--green-dark);text-decoration:underline;margin-left:4px}.kojo-blueprint-test-link:hover{opacity:.75}.loader--sm{width:14px;height:14px;border-width:2px}.loader--xs{display:inline-block;width:10px;height:10px;border:1.5px solid var(--green-light);border-top-color:var(--green-dark);border-radius:999px;animation:spin .8s linear infinite;flex-shrink:0}.chat-mode-upload-section{padding:10px 8px 14px;border-top:1px solid rgba(113,131,85,.12);margin-top:auto;display:flex;flex-direction:column;gap:6px}.chat-mode-upload-label{display:flex;align-items:center;gap:6px;padding:0 4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#8fa07a}.chat-mode-dropzone{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:1.5px dashed rgba(113,131,85,.3);border-radius:10px;background:transparent;font-size:.8rem;color:#8fa07a;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.chat-mode-dropzone:hover:not(.chat-mode-dropzone--disabled){border-color:var(--green-dark);background:#7183550f;color:var(--green-dark)}.chat-mode-dropzone--over{border-color:var(--green-dark);background:#7183551a;color:var(--green-dark)}.chat-mode-dropzone--disabled{opacity:.4;cursor:not-allowed}.chat-mode-upload-error{margin:2px 4px 0;font-size:.75rem;color:var(--error);line-height:1.4}.chat-mode-session-files{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.chat-mode-file-chip{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;border-radius:7px;background:#71835514;font-size:.75rem;color:#596949;min-width:0}.chat-mode-file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chat-mode-file-chip-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;border:none;background:transparent;color:#7a8a6e;cursor:pointer;padding:0;opacity:0;transition:opacity .15s,background .15s}.chat-mode-file-chip:hover .chat-mode-file-chip-delete{opacity:1}.chat-mode-file-chip-delete:hover{background:#dc26261f;color:#c0392b}.chat-mode-sidebar-footer{padding:10px 8px 14px;border-top:1px solid rgba(113,131,85,.12);margin-top:auto}.chat-mode-new-chat-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 12px;border-radius:8px;border:none;background:var(--green-dark);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;font-family:inherit;letter-spacing:.01em}.chat-mode-new-chat-btn:hover:not(:disabled){background:#5a6b42}.chat-mode-new-chat-btn:active:not(:disabled){background:#4a5938}.chat-mode-new-chat-btn:disabled{opacity:.45;cursor:not-allowed}.sel-kojo-toolbar{position:fixed;z-index:10000;display:flex;align-items:center;gap:2px;background:#1a2515;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:4px 5px;box-shadow:0 8px 24px #0a100866,0 2px 6px #0a100833;animation:sel-kojo-toolbar-in .16s cubic-bezier(.22,1,.36,1);transition:opacity .2s ease,transform .2s ease}.sel-kojo-toolbar--dismissing{opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none}.sel-kojo-btn{display:flex;align-items:center;gap:5px;padding:5px 11px;border-radius:9px;background:transparent;color:#ffffffd1;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .13s ease,color .13s ease;white-space:nowrap;border:none}.sel-kojo-btn:hover:not(:disabled){background:#ffffff1a;color:#fffffffa}.sel-kojo-btn--primary{background:#71835547;color:#b5d48a;font-weight:600}.sel-kojo-btn--primary:hover:not(:disabled){background:#7183556b;color:#c8e4a2}.sel-kojo-btn--done{color:#86efac}.sel-kojo-btn--close{padding:5px 7px;color:#fff6}.sel-kojo-btn--close:hover:not(:disabled){background:#ffffff14;color:#ffffffb3}.sel-kojo-toolbar-sep{width:1px;height:16px;background:#ffffff1a;margin:0 1px;flex-shrink:0}.sel-kojo-error{font-size:.75rem;color:#fca5a5;padding:0 6px}@keyframes sel-kojo-toolbar-in{0%{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.folder-kojo-settings{margin:0 0 24px;border:1px solid rgba(113,131,85,.2);border-radius:14px;background:#f9fbf6;overflow:hidden;animation:kojo-fade-in .15s ease}.folder-kojo-settings-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(113,131,85,.14);color:var(--green-dark);font-size:.88rem;font-weight:600}.folder-kojo-settings-header .muted{margin-left:auto}.folder-kojo-settings-body{display:flex;flex-direction:column;gap:0}.folder-kojo-toggle-row,.folder-kojo-persona-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:1px solid rgba(113,131,85,.1)}.folder-kojo-toggle-row:last-child,.folder-kojo-persona-row:last-child{border-bottom:none}.folder-kojo-toggle-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.folder-kojo-toggle-label{font-size:.88rem;font-weight:600;color:var(--ink)}.folder-kojo-toggle-desc{font-size:.8rem;color:#596949;line-height:1.4}.folder-kojo-toggle{width:44px;height:26px;border-radius:999px;border:none;background:#71835533;cursor:pointer;flex-shrink:0;position:relative;transition:background .2s ease;padding:0}.folder-kojo-toggle--on{background:var(--green-dark)}.folder-kojo-toggle-thumb{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s ease;pointer-events:none}.folder-kojo-toggle--on .folder-kojo-toggle-thumb{transform:translate(18px)}.folder-kojo-persona-select{padding:7px 28px 7px 12px;border:1px solid rgba(113,131,85,.25);border-radius:8px;background:var(--white);color:var(--ink);font-size:.875rem;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:120px;flex-shrink:0}.folder-kojo-persona-select:focus{outline:2px solid var(--green-dark);outline-offset:2px}.folder-kojo-persona-field{display:flex;align-items:center;gap:6px;flex-shrink:0}.folder-kojo-persona-tooltip-wrap{position:relative;display:flex;align-items:center}.folder-kojo-persona-info-icon{color:var(--ink-light, #8a9ba8);cursor:default;flex-shrink:0}.folder-kojo-persona-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);right:0;background:var(--ink, #1a1a2e);color:#fff;font-size:12px;line-height:1.5;padding:9px 12px;border-radius:7px;width:230px;white-space:normal;z-index:200;pointer-events:none;box-shadow:0 4px 14px #00000038}.folder-kojo-persona-tooltip:after{content:"";position:absolute;top:100%;right:5px;border:6px solid transparent;border-top-color:var(--ink, #1a1a2e)}.folder-kojo-persona-tooltip-wrap:hover .folder-kojo-persona-tooltip{display:block}@media(max-width:700px){.folder-kojo-toggle-row,.folder-kojo-persona-row{flex-direction:column;align-items:flex-start;gap:10px}}.folder-kojo-reindex-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:1px solid rgba(113,131,85,.1)}.folder-kojo-reindex-action{display:flex;align-items:center;gap:10px;flex-shrink:0}.folder-kojo-reindex-msg{max-width:200px;line-height:1.3}@media(max-width:700px){.folder-kojo-reindex-row{flex-direction:column;align-items:flex-start;gap:10px}.folder-kojo-reindex-msg{max-width:none}}.kojo-chat-history{padding:6px 8px 0;flex-shrink:0}.kojo-chat-history-label{display:flex;align-items:center;gap:5px;padding:4px 4px 6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green-mid)}.kojo-chat-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.kojo-chat-item{display:flex;flex-direction:row;align-items:center;border-radius:7px;background:transparent;transition:background .12s}.kojo-chat-item:hover{background:#71835514}.kojo-chat-item--active{background:#71835524}.kojo-chat-item-btn{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:7px 8px 7px 10px;border:none;background:none;cursor:pointer;text-align:left}.kojo-chat-item-name{font-size:.8rem;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kojo-chat-item--active .kojo-chat-item-name{color:var(--green-dark);font-weight:600}.kojo-chat-item-date{font-size:.7rem;color:var(--green-mid)}.kojo-chat-item-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:4px 6px;margin-right:4px;border:none;background:none;border-radius:5px;cursor:pointer;color:var(--green-mid);opacity:0;transition:opacity .12s,background .12s,color .12s}.kojo-chat-item:hover .kojo-chat-item-delete,.kojo-chat-item--active .kojo-chat-item-delete{opacity:1}.kojo-chat-item-delete:hover{background:#dc35451a;color:#dc3545}.kojo-chat-item-confirm{display:flex;gap:4px;align-items:center;padding:0 6px 0 4px;flex-shrink:0}.kojo-attach-wrap{position:relative;flex-shrink:0}.kojo-attach-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid rgba(113,131,85,.25);background:transparent;color:var(--green-dark);cursor:pointer;transition:background .12s,border-color .12s;flex-shrink:0}.kojo-attach-btn:hover:not(:disabled){background:#7183551a;border-color:var(--green-dark)}.kojo-attach-btn--open{background:#7183551f;border-color:var(--green-dark)}.kojo-attach-btn:disabled{opacity:.4;cursor:not-allowed}.kojo-attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:210px;background:var(--white);border:1px solid rgba(113,131,85,.2);border-radius:10px;box-shadow:var(--shadow-lg);padding:6px;z-index:200;animation:kojo-fade-in .12s ease}.kojo-attach-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;background:transparent;border:none;cursor:pointer;width:100%;text-align:left;font-size:.83rem;color:var(--ink);font-family:inherit;transition:background .1s}.kojo-attach-menu-item:hover:not(.kojo-attach-menu-item--info){background:var(--green-lightest)}.kojo-attach-menu-item--info{cursor:default;color:var(--green-mid);font-size:.78rem}.kojo-attach-menu-check{color:var(--success);flex-shrink:0}.kojo-attached-files{display:flex;flex-wrap:wrap;gap:5px;padding:6px 8px 0}.kojo-attached-chip{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:#7183551a;border:1px solid rgba(113,131,85,.2);border-radius:20px;font-size:.75rem;color:var(--green-dark);max-width:200px}.kojo-attached-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kojo-attached-chip-delete{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:none;background:transparent;color:var(--green-dark);cursor:pointer;padding:0;flex-shrink:0;opacity:.6;transition:opacity .1s,background .1s}.kojo-attached-chip-delete:hover{opacity:1;background:#dc26261a;color:var(--error)}.lc-visualize-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.75rem;font-weight:600;color:var(--green-dark);background:#7183551a;border:1px solid rgba(113,131,85,.28);border-radius:5px;text-decoration:none;white-space:nowrap;transition:background .15s}.lc-visualize-btn:hover{background:#71835533}.lc-test-card-actions{display:flex;align-items:center;gap:6px}.lc-viz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200}.lc-viz-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;width:min(92vw,1100px);height:min(88vh,760px);background:var(--surface, #fff);border-radius:14px;box-shadow:0 16px 64px #00000047;display:flex;flex-direction:column;overflow:hidden}.lc-viz-header{display:flex;align-items:center;justify-content:space-between;padding:0 18px;height:52px;border-bottom:1px solid rgba(113,131,85,.18);flex-shrink:0;gap:12px}.lc-viz-header-left{display:flex;align-items:center;gap:10px}.lc-viz-header-right{display:flex;align-items:center;gap:14px}.lc-viz-title{font-weight:700;font-size:.95rem}.lc-viz-method-badge{padding:2px 9px;background:#7183551f;border:1px solid rgba(113,131,85,.25);border-radius:20px;font-size:.78rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--green-dark, #2d5a27)}.lc-viz-step-label{font-size:.84rem;color:var(--muted, #666)}.lc-viz-body{display:flex;flex:1;overflow:hidden}.lc-viz-code-panel{width:55%;overflow-y:auto;background:#1e1e1e;padding:12px 0;flex-shrink:0}.lc-viz-code-line{display:flex;align-items:flex-start;gap:0;padding:1px 0;min-height:22px;border-left:3px solid transparent}.lc-viz-code-line--active{background:#7eb3562e;border-left-color:#7eb356}.lc-viz-line-num{width:42px;text-align:right;padding-right:14px;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;color:#ffffff40;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:20px}.lc-viz-code-line--active .lc-viz-line-num{color:#7eb356cc}.lc-viz-line-code{font-size:13px;font-family:JetBrains Mono,Fira Code,monospace;color:#d4d4d4;margin:0;white-space:pre;line-height:20px}.lc-viz-vars-panel{flex:1;overflow-y:auto;padding:16px;border-left:1px solid rgba(113,131,85,.15);display:flex;flex-direction:column;gap:14px}.lc-viz-var{display:flex;flex-direction:column;gap:6px}.lc-viz-var-name{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#596949}.lc-viz-var-value{min-height:28px}.lc-viz-empty-vars{font-size:.84rem;color:var(--muted, #888);margin:0;font-style:italic}.lc-viz-val{display:inline-block;padding:2px 7px;border-radius:5px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.83rem}.lc-viz-val--none{color:#9ca3af;background:#9ca3af1a}.lc-viz-val--bool.lc-viz-val--true{color:#15803d;background:#15803d1a}.lc-viz-val--bool.lc-viz-val--false{color:#dc2626;background:#dc26261a}.lc-viz-val--num{color:#1d4ed8;background:#1d4ed814}.lc-viz-val--str{color:#b45309;background:#b4530914}.lc-viz-val--other{color:#6b7280;background:#6b728014;font-size:.78rem}.lc-viz-array{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-end}.lc-viz-array-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:32px;padding:5px 8px;background:#f9fbf5e6;border:1px solid rgba(113,131,85,.28);border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem}.lc-viz-array-cell small{font-size:.65rem;color:#7183558c;font-family:inherit}.lc-viz-array-cell--more{color:#9ca3af;border-style:dashed;font-size:.75rem}.lc-viz-array--set .lc-viz-array-cell{background:#e9f5db80;border-color:#71835559}.lc-viz-nested-list{display:flex;flex-direction:column;gap:4px}.lc-viz-nested-row{display:flex;align-items:center;gap:8px}.lc-viz-nested-idx{font-size:.72rem;color:#9ca3af;font-family:JetBrains Mono,Fira Code,monospace;width:28px;flex-shrink:0}.lc-viz-nested-more{font-size:.75rem;color:#9ca3af;font-style:italic}.lc-viz-dict{display:flex;flex-direction:column;gap:4px}.lc-viz-dict-row{display:flex;align-items:center;gap:8px;font-size:.83rem}.lc-viz-dict-key{font-family:JetBrains Mono,Fira Code,monospace;color:#1d4ed8;font-size:.8rem}.lc-viz-dict-arrow{color:#9ca3af}.lc-viz-dict-more{font-size:.75rem;color:#9ca3af;font-style:italic}.lc-viz-result{display:flex;flex-direction:column;gap:8px;padding:14px;background:#71835512;border:1px solid rgba(113,131,85,.2);border-radius:10px}.lc-viz-result-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#596949}.lc-viz-result-value{font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:var(--ink)}.lc-viz-error{font-size:.78rem;color:#dc2626;background:#dc26260f;border:1px solid rgba(220,38,38,.15);border-radius:6px;padding:8px 10px;margin:0;white-space:pre-wrap;overflow-x:auto}.lc-viz-nav{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid rgba(113,131,85,.18);flex-shrink:0;background:#f9fbf599}.lc-viz-nav-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(113,131,85,.25);border-radius:8px;background:none;cursor:pointer;color:var(--ink);flex-shrink:0;transition:background .12s}.lc-viz-nav-btn:hover:not(:disabled){background:#7183551a}.lc-viz-nav-btn:disabled{opacity:.35;cursor:not-allowed}.lc-viz-slider{flex:1;accent-color:var(--green-dark, #2d5a27);cursor:pointer}.lc-viz-nav-hint{font-size:.75rem;color:var(--muted, #888);white-space:nowrap}.lc-solution-panel{margin-top:20px;padding-top:18px;border-top:1px solid rgba(113,131,85,.18);padding-bottom:20px}.lc-solution-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:1px solid rgba(113,131,85,.22);border-radius:8px;cursor:pointer;font-size:.86rem;font-weight:500;color:var(--ink);text-align:left;transition:background .15s}.lc-solution-toggle:hover:not(:disabled){background:#71835512}.lc-solution-toggle:disabled{opacity:.55;cursor:not-allowed}.lc-solution-chevron{margin-left:auto;flex-shrink:0;transition:transform .18s}.lc-solution-chevron--open{transform:rotate(180deg)}.lc-solution-locked{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--muted, #888);font-style:italic;flex-shrink:0}.lc-solution-frame-wrap{margin-top:10px;border-radius:10px;overflow:hidden;border:1px solid rgba(113,131,85,.18)}.lc-solution-iframe{width:100%;height:420px;border:none;display:block}.draft-section{margin-top:32px}.draft-list{display:flex;flex-direction:column;gap:10px}.draft-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;flex-wrap:wrap}.draft-card-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.draft-card-title{font-weight:600;font-size:.95rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-card-status{color:var(--red, #e53e3e)!important}.draft-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.draft-card-actions>button{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;background:transparent;border:none;cursor:pointer;color:var(--muted, #6b7a6b);transition:background .15s ease,color .15s ease}.draft-card-actions>button:hover{background:#e53e3e1a;color:var(--red, #e53e3e)}.prompt-modal{max-width:520px;width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:min(88vh,680px)}.prompt-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid var(--border, rgba(113, 131, 85, .15));flex-shrink:0}.prompt-modal-header h2{margin:0 0 2px;font-size:1.05rem}.prompt-modal-close{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--muted, #6b7a6b);flex-shrink:0;transition:background .15s ease}.prompt-modal-close:hover{background:var(--green-lightest)}.prompt-modal-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:0}.prompt-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prompt-modal-field{display:flex;flex-direction:column;gap:3px}.prompt-modal-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green-mid)}.prompt-modal-value{font-size:.9rem;color:var(--ink);font-weight:500}.prompt-modal-section{display:flex;flex-direction:column;gap:5px}.prompt-modal-text{margin:0;font-size:.88rem;color:var(--ink);line-height:1.55;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;background:var(--green-lightest);border:1px solid var(--border, rgba(113, 131, 85, .15));border-radius:8px;padding:10px 12px;max-height:220px;overflow-y:auto}.prompt-modal-date{margin-top:4px;border-top:1px solid var(--border, rgba(113, 131, 85, .1));padding-top:12px}@media(max-width:480px){.prompt-modal-grid{grid-template-columns:1fr}.draft-card{flex-direction:column;align-items:flex-start}.draft-card-actions{width:100%;justify-content:flex-end}}.folder-archive-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;border-top:1px solid rgba(229,62,62,.15);background:#e53e3e08;border-radius:0 0 10px 10px}.folder-archive-label{color:var(--red, #e53e3e)}.folder-archive-action{display:flex;align-items:center;gap:8px;flex-shrink:0}.folder-archive-input{width:150px;padding:7px 10px;border:1px solid rgba(229,62,62,.3);border-radius:8px;font-size:.85rem;background:var(--surface, #fff);color:var(--ink, #1a1a1a);outline:none;transition:border-color .15s}.folder-archive-input:focus{border-color:var(--red, #e53e3e)}.folder-archive-error{color:var(--red, #e53e3e);max-width:160px;line-height:1.3}@media(max-width:700px){.folder-archive-row{flex-direction:column;align-items:flex-start;gap:10px}.folder-archive-input{width:100%}.folder-archive-action{width:100%;flex-wrap:wrap}}.mock-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:40vh}.mock-error-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 32px;color:var(--muted)}.mock-stage-breadcrumb{font-size:.88rem;font-weight:500;color:var(--muted)}.mock-verdict-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.01em}.verdict-strong{background:#d1fae5;color:#065f46}.verdict-pass{background:#dbeafe;color:#1e40af}.verdict-borderline{background:#fef3c7;color:#92400e}.verdict-needs-work{background:#fee2e2;color:#991b1b}.mock-diff-easy{background:#d1fae5;color:#065f46}.mock-diff-medium{background:#fef3c7;color:#92400e}.mock-diff-hard{background:#fee2e2;color:#991b1b}.mock-setup-hero{background:linear-gradient(135deg,var(--green-lightest) 0%,#fff 60%);border:1px solid var(--green-light);border-radius:14px;padding:28px 32px 24px;margin-bottom:24px}.mock-setup-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.mock-setup-hero-title{font-size:1.75rem;line-height:1.2;margin:0 0 6px}.mock-setup-loop-bar{display:flex;align-items:center;gap:0;flex-wrap:wrap}.mock-loop-step{display:flex;align-items:center;gap:7px;padding:6px 14px;background:#ffffffd9;border:1.5px solid var(--green-light-mid);border-radius:8px;font-size:.8rem;font-weight:600;color:var(--ink)}.mock-loop-step-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--green-lightest);color:var(--green-dark);flex-shrink:0}.mock-loop-arrow{color:var(--green-light-mid);font-size:1rem;padding:0 6px;line-height:1}.mock-setup-section{padding:20px 24px 24px;margin-bottom:16px}.mock-company-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:14px}.mock-company-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 14px;border:2px solid var(--green-light-mid);border-radius:12px;background:#fffc;cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);font-size:.82rem;font-weight:500;color:var(--ink);text-align:center;line-height:1.2}.mock-company-btn:hover{border-color:var(--green-mid);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mock-company-btn.selected{border-color:var(--green-dark);background:var(--green-lightest);box-shadow:0 0 0 3px #71835533,var(--shadow-md);transform:translateY(-1px)}.mock-company-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0003}.mock-company-initial{color:#fff;font-size:1.1rem;font-weight:700;font-family:var(--font-sans, system-ui, sans-serif);line-height:1}.mock-company-label{color:var(--ink);font-size:.78rem;font-weight:600}.mock-stage-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.mock-stage-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border:2px solid var(--green-light-mid);border-radius:12px;background:#fffc;cursor:pointer;text-align:left;transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal);width:100%}.mock-stage-row:hover{border-color:var(--green-mid);box-shadow:var(--shadow-md)}.mock-stage-row.selected{border-color:var(--green-dark);background:var(--green-lightest);box-shadow:0 0 0 3px #71835526}.mock-stage-check{flex-shrink:0}.mock-stage-checkbox{width:18px;height:18px;border:2px solid var(--green-light-mid);border-radius:5px;transition:background .15s,border-color .15s;position:relative}.mock-stage-checkbox.checked{background:var(--green-dark);border-color:var(--green-dark)}.mock-stage-checkbox.checked:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.mock-stage-icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:var(--green-lightest);color:var(--green-dark);border:1px solid var(--green-light)}.mock-stage-row.selected .mock-stage-icon-wrap{background:var(--green-light);border-color:var(--green-light-mid)}.mock-stage-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.mock-stage-label{font-weight:600;font-size:.92rem;color:var(--ink)}.mock-stage-desc{font-size:.78rem;color:var(--muted);line-height:1.4}.mock-stage-time{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;font-size:.78rem}.mock-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px 20px;background:#fff9;border:1px solid var(--green-light);border-radius:12px}.mock-setup-footer-meta{display:flex;flex-direction:column;gap:4px}.mock-setup-error{color:#dc2626;font-size:.83rem;margin:0}.mock-start-btn{display:flex;align-items:center;gap:6px;padding:11px 28px;font-size:.95rem;font-weight:600;flex-shrink:0}@media(max-width:700px){.mock-company-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){.mock-company-grid{grid-template-columns:repeat(3,1fr)}.mock-setup-footer{flex-direction:column;align-items:stretch}.mock-start-btn{justify-content:center}}.mock-stage1-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.mock-stage1-topbar{display:flex;align-items:center;gap:12px;padding:0 16px;height:52px;border-bottom:1px solid var(--green-light-mid);background:#fff;flex-shrink:0}.mock-stage1-topbar-left{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.mock-stage1-company-badge{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--green-lightest);border:1px solid var(--green-light-mid);border-radius:20px;font-size:.78rem;font-weight:700;color:var(--green-dark);flex-shrink:0}.mock-stage1-stage-label{font-size:.8rem;color:var(--muted);white-space:nowrap}.mock-stage1-question-tabs{display:flex;gap:5px;flex:1;justify-content:center}.mock-q-tab{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;border:1.5px solid var(--green-light-mid);border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;transition:border-color .12s,background .12s,box-shadow .12s;color:var(--muted);position:relative}.mock-q-tab:hover{border-color:var(--green-dark);color:var(--ink)}.mock-q-tab.active{border-color:var(--green-dark);background:var(--green-lightest);color:var(--ink);box-shadow:0 0 0 2px #71835526}.mock-q-tab.expired{border-color:#dc2626;background:#fff5f5;color:#991b1b}.mock-q-tab.attempted:not(.active){border-color:var(--green-mid);color:var(--green-dark);background:#cfe1b940}.mock-q-tab-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--green-light-mid)}.mock-q-tab.attempted .mock-q-tab-dot,.mock-q-tab.active.attempted .mock-q-tab-dot{background:#10b981}.mock-q-tab.expired .mock-q-tab-dot{background:#ef4444}.mock-q-tab.active:not(.attempted):not(.expired) .mock-q-tab-dot{background:var(--green-mid)}.mock-stage1-timer{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700;padding:5px 12px;border-radius:8px;background:var(--green-lightest);border:1.5px solid var(--green-light-mid);color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:.01em}.mock-stage1-timer.warning{background:#fef3c7;border-color:#f59e0b;color:#92400e}.mock-stage1-timer.expired{background:#fee2e2;border-color:#ef4444;color:#991b1b;animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.6}}.mock-stage1-body{display:flex;flex:1;overflow:hidden}.mock-stage1-problem-panel{width:400px;min-width:280px;max-width:460px;padding:0;overflow-y:auto;border-right:1px solid var(--green-light-mid);display:flex;flex-direction:column;background:#fafbf8}.mock-stage1-problem-header{padding:18px 20px 14px;border-bottom:1px solid var(--green-light);display:flex;flex-direction:column;gap:10px;background:#fff;flex-shrink:0}.mock-stage1-prob-num{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green-dark)}.mock-stage1-problem-title{font-size:1.08rem;font-weight:700;margin:0;line-height:1.3;color:var(--ink)}.mock-stage1-problem-meta{display:flex;flex-wrap:wrap;gap:5px}.mock-stage1-panel-section{padding:14px 20px;border-bottom:1px solid var(--green-light);display:flex;flex-direction:column;gap:10px}.mock-stage1-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green-dark);display:flex;align-items:center;gap:5px}.mock-stage1-expired-banner{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;font-size:.82rem;color:#991b1b;font-weight:500}.mock-stage1-lc-card{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border:1.5px solid var(--green-light-mid);border-radius:10px;gap:10px}.mock-stage1-lc-card-text{font-size:.82rem;color:var(--muted);line-height:1.5}.mock-stage1-lc-link{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--green-lightest);border:1px solid var(--green-light-mid);border-radius:7px;font-size:.78rem;font-weight:700;color:var(--green-dark);white-space:nowrap;flex-shrink:0;transition:background .12s,border-color .12s}.mock-stage1-lc-link:hover{background:var(--green-light);border-color:var(--green-dark)}.mock-stage1-time-budget{display:flex;flex-direction:column;gap:8px}.mock-stage1-time-budget-row{display:flex;align-items:center;justify-content:space-between}.mock-stage1-time-budget-remaining{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.mock-stage1-time-budget-remaining.warning{color:#92400e}.mock-stage1-time-budget-remaining.expired{color:#991b1b}.mock-stage1-time-budget-limit{font-size:.75rem;color:var(--muted)}.mock-stage1-time-bar-track{height:6px;background:var(--green-light);border-radius:4px;overflow:hidden}.mock-stage1-time-bar-fill{height:100%;border-radius:4px;transition:width 1s linear,background-color .5s}.mock-stage1-benchmark-row{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--muted)}.mock-stage1-topics-chips{display:flex;flex-wrap:wrap;gap:5px}.mock-stage1-scratch-section{padding:14px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.mock-stage1-scratch-input{flex:1;min-height:100px;padding:10px 12px;background:#fff;border:1.5px solid var(--green-light-mid);border-radius:8px;font-family:var(--font-sans);font-size:.82rem;color:var(--ink);line-height:1.6;resize:none;transition:border-color .12s}.mock-stage1-scratch-input:focus{outline:none;border-color:var(--green-dark)}.mock-stage1-scratch-input::placeholder{color:var(--green-light-mid)}.mock-stage1-editor-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.mock-stage1-editor-header{display:flex;align-items:center;gap:12px;padding:0 16px;height:40px;border-bottom:1px solid #333;background:#1e1e1e;flex-shrink:0}.mock-stage1-editor-lang{display:flex;align-items:center;gap:5px;font-size:.78rem;color:#a3b68a;font-weight:600}.mock-stage1-editor-lang-dot{width:8px;height:8px;border-radius:50%;background:#a3b68a}.mock-stage1-editor-hint{font-size:.72rem;color:#666;margin-left:auto}.mock-stage1-editor-wrap{flex:1;overflow:hidden}.mock-stage1-bottombar{display:flex;align-items:center;gap:8px;padding:0 16px;height:52px;border-top:1px solid var(--green-light-mid);background:#fff;flex-shrink:0}.mock-stage1-q-status-row{display:flex;align-items:center;gap:4px}.mock-stage1-q-chip{display:flex;align-items:center;gap:4px;padding:4px 9px;border-radius:6px;font-size:.75rem;font-weight:600;border:1.5px solid var(--green-light-mid);background:#fff;color:var(--muted);cursor:pointer;transition:border-color .1s,background .1s}.mock-stage1-q-chip:hover{border-color:var(--green-dark);color:var(--ink)}.mock-stage1-q-chip.active{border-color:var(--green-dark);background:var(--green-lightest);color:var(--ink)}.mock-stage1-q-chip.attempted{border-color:#10b981;background:#f0fdf4;color:#065f46}.mock-stage1-q-chip.expired{border-color:#ef4444;background:#fef2f2;color:#991b1b}.mock-stage1-q-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.mock-stage1-q-progress{font-size:.78rem;color:var(--muted);white-space:nowrap;padding:0 4px}.mock-stage1-submit-error{display:flex;align-items:center;gap:4px;color:#dc2626;font-size:.82rem}.mock-results-page-header{text-align:center;margin-bottom:28px}.mock-results-page-header h1{font-size:1.6rem}.mock-overall-card{display:flex;align-items:center;gap:20px;padding:24px 28px;margin-bottom:24px;border-radius:14px}.mock-overall-icon{flex-shrink:0}.mock-overall-label{font-size:1.2rem;font-weight:700;margin-bottom:4px}.mock-overall-strong{border-left:5px solid #10b981;background:linear-gradient(90deg,#ecfdf5,#fff)}.mock-overall-pass{border-left:5px solid #3b82f6;background:linear-gradient(90deg,#eff6ff,#fff)}.mock-overall-borderline{border-left:5px solid #f59e0b;background:linear-gradient(90deg,#fffbeb,#fff)}.mock-overall-needs_work{border-left:5px solid #ef4444;background:linear-gradient(90deg,#fef2f2,#fff)}.mock-score-fraction{font-size:2rem;font-weight:800;line-height:1;color:var(--ink);margin-right:4px}.mock-score-label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.mock-results-list{display:flex;flex-direction:column;gap:12px}.mock-result-card{padding:18px 22px}.mock-result-card.verdict-strong{border-left:4px solid #10b981}.mock-result-card.verdict-pass{border-left:4px solid #3b82f6}.mock-result-card.verdict-borderline{border-left:4px solid #f59e0b}.mock-result-card.verdict-needs-work{border-left:4px solid #ef4444}.mock-result-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.mock-result-num{font-weight:700;font-size:.78rem;color:var(--muted);padding:2px 7px;background:var(--green-lightest);border-radius:4px}.mock-result-title{font-weight:700;flex:1;min-width:120px;font-size:.95rem}.mock-result-time{display:flex;align-items:center;gap:4px;margin-left:auto;color:var(--muted)}.mock-result-feedback{line-height:1.6;color:var(--muted);font-size:.88rem}.mock-result-code-toggle{margin-top:12px}.mock-result-code-toggle summary{cursor:pointer;font-size:.82rem;color:var(--muted);padding:4px 0;-webkit-user-select:none;user-select:none}.mock-result-code-toggle summary:hover{color:var(--ink)}.mock-result-code{background:#1e1e1e;color:#d4d4d4;padding:14px;border-radius:8px;font-size:.82rem;overflow-x:auto;margin-top:8px;white-space:pre-wrap;line-height:1.6}.mock-stage2-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.mock-stage2-header-left{display:flex;align-items:center;gap:12px}.mock-interviewer-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.01em}.mock-interviewer-info{display:flex;flex-direction:column;gap:2px}.mock-interviewer-name{font-weight:700;font-size:.9rem;color:var(--ink)}.mock-stage2-tts-btn{display:inline-flex;align-items:center;gap:6px;font-size:.82rem}.mock-stage2-tts-btn.active{color:var(--green-dark);border-color:var(--green-dark);background:var(--green-lightest)}.mock-stage2-progress{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:20px}.mock-stage2-progress-track{flex:1;height:4px;background:var(--green-light);border-radius:2px;overflow:hidden;margin:0 4px}.mock-stage2-progress-fill{height:100%;background:var(--green-dark);border-radius:2px;transition:width .3s ease}.mock-stage2-progress-dot{width:10px;height:10px;border-radius:50%;background:var(--green-light-mid);border:none;cursor:default;padding:0;transition:background .15s,transform .2s;flex-shrink:0}.mock-stage2-progress-dot.active{background:var(--green-dark);transform:scale(1.4)}.mock-stage2-progress-dot.done{background:var(--green-mid)}.mock-stage2-script-card{padding:28px 32px 22px;min-height:180px;display:flex;flex-direction:column;gap:14px;margin-bottom:4px;border-left:3px solid var(--green-light-mid)}.mock-stage2-script-card.coding-prompt{border-left-color:var(--green-dark);background:var(--green-lightest)}.mock-stage2-speaker{font-size:.72rem;letter-spacing:.06em;color:var(--green-dark);margin-bottom:2px}.mock-stage2-script-text{font-size:1.08rem;line-height:1.72;color:var(--ink);margin:0;flex:1}.mock-stage2-speaking-indicator{display:flex;align-items:center;gap:6px;color:var(--green-dark);font-size:.8rem;font-weight:500}.mock-stage2-card-actions{display:flex;gap:8px;padding-top:4px;border-top:1px solid var(--green-light);margin-top:4px}.mock-stage2-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 24px}.mock-stage2-step-counter{font-size:.8rem;color:var(--muted)}.mock-stage2-coding-area{display:flex;flex-direction:column;gap:0;border:1px solid var(--green-light-mid);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);margin-top:8px}.mock-stage2-coding-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#252526;color:#d4d4d4;border-bottom:1px solid #333}.mock-stage2-coding-header .eyebrow{color:#a3b68a}.mock-stage2-editor-wrap{min-height:380px;background:#1e1e1e}.mock-stage2-submit-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-top:1px solid var(--green-light-mid)}.mock-stage2-submit-bar .kojo-input-wrap{flex:1}.mock-stage2-feedback{padding:18px 22px;display:flex;flex-direction:column;gap:10px;background:var(--green-lightest);border-top:1px solid var(--green-light-mid)}.mock-stage2-room{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:#fff}.mock-stage2-room-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;border-bottom:1px solid var(--green-light-mid);background:#fff;flex-shrink:0}.mock-stage2-room-body{display:flex;flex:1;min-height:0;overflow:hidden}.mock-stage2-room-left{display:flex;flex-direction:column;width:400px;min-width:300px;max-width:460px;border-right:1px solid var(--green-light-mid);overflow:hidden;background:#fff}.mock-stage2-problem-card{padding:16px 20px 14px;border-bottom:1px solid var(--green-light-mid);flex-shrink:0;max-height:45%;overflow-y:auto}.mock-stage2-problem-header{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.mock-stage2-problem-title{font-weight:700;font-size:1rem;color:var(--ink);line-height:1.3}.mock-stage2-problem-text{font-size:.84rem;line-height:1.7;color:var(--ink);white-space:pre-wrap}.mock-stage2-chat-thread{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;justify-content:flex-end}.mock-stage2-chat-msg{display:flex;flex-direction:column;gap:3px;max-width:90%}.mock-stage2-chat-interviewer{align-self:flex-start}.mock-stage2-chat-user{align-self:flex-end}.mock-stage2-chat-role{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 4px}.mock-stage2-chat-interviewer .mock-stage2-chat-role{color:var(--green-dark)}.mock-stage2-chat-msg p{margin:0;font-size:.85rem;line-height:1.6;padding:8px 12px;border-radius:12px}.mock-stage2-chat-interviewer p{background:var(--green-lightest);border-radius:2px 12px 12px;color:var(--ink)}.mock-stage2-chat-user p{background:var(--green-dark);border-radius:12px 2px 12px 12px;color:#fff}.mock-stage2-chat-input-row{padding:10px 14px;border-top:1px solid var(--green-light-mid);flex-shrink:0;background:#fff;display:flex;gap:8px}.mock-stage2-room-right{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.mock-stage2-room-editor-wrap{display:flex;flex-direction:column;flex:1;overflow:hidden}.mock-stage2-room-editor-wrap .mock-stage2-coding-header{flex-shrink:0}.mock-stage2-room-editor-wrap .mock-stage2-editor-wrap{flex:1;min-height:0;background:#1e1e1e}.mock-stage2-room-editor-wrap .mock-stage2-submit-bar{flex-shrink:0}@media(max-width:700px){.mock-stage2-room-body{flex-direction:column}.mock-stage2-room-left{width:100%;max-width:none;max-height:50%;border-right:none;border-bottom:1px solid var(--green-light-mid)}.mock-stage2-problem-card{max-height:200px}}.mock-stage3-chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 260px);min-height:420px;border:1.5px solid var(--green-light-mid);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-md)}.mock-stage3-chat-thread{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:10px}.mock-stage3-chat-input-row{padding:12px 16px;border-top:1px solid var(--green-light-mid);background:#fff;display:flex;gap:8px;align-items:flex-end;flex-shrink:0}.mock-chat-msg{display:flex;flex-direction:column;gap:3px;max-width:88%}.mock-chat-msg--interviewer{align-self:flex-start}.mock-chat-msg--user{align-self:flex-end}.mock-chat-msg-role{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 4px}.mock-chat-msg--interviewer .mock-chat-msg-role{color:var(--green-dark)}.mock-chat-msg-bubble{font-size:.875rem;line-height:1.65;padding:10px 14px;border-radius:14px;margin:0;white-space:pre-wrap;word-break:break-word}.mock-chat-msg--interviewer .mock-chat-msg-bubble{background:var(--green-lightest);border:1px solid var(--green-light);border-radius:3px 14px 14px;color:var(--ink)}.mock-chat-msg--user .mock-chat-msg-bubble{background:var(--green-dark);border-radius:14px 3px 14px 14px;color:#fff}.mock-chat-typing{font-style:italic;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.82rem}.mock-stage3-opening{margin-bottom:16px;padding:18px 22px;display:flex;flex-direction:column;gap:8px;border-left:3px solid var(--green-light-mid)}.mock-stage3-question-card{display:flex;flex-direction:column;gap:16px;padding:26px}.mock-stage3-q-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.mock-stage3-question-text{font-size:1.1rem;font-weight:600;line-height:1.65;margin:0;color:var(--ink);padding:16px 18px;background:var(--green-lightest);border-left:3px solid var(--green-dark);border-radius:0 8px 8px 0}.mock-stage3-followup{padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;display:flex;flex-direction:column;gap:5px}.mock-stage3-followup .eyebrow{color:#92400e}.mock-stage3-followup-btn{align-self:flex-start;font-size:.82rem}.mock-star-hint{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mock-star-chip{display:flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mock-star-chip-s{background:#dbeafe;color:#1e40af}.mock-star-chip-t{background:#fce7f3;color:#9d174d}.mock-star-chip-a{background:#fef3c7;color:#92400e}.mock-star-chip-r{background:#d1fae5;color:#065f46}.mock-star-hint-label{font-size:.75rem;color:var(--muted);font-weight:500}.mock-stage3-tip{display:flex;align-items:center;gap:7px;padding:8px 12px;background:var(--green-lightest);border-radius:8px;font-size:.82rem}.mock-stage3-input-area{padding:0;border-top:none;background:transparent}.mock-stage3-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px;border-top:1px solid var(--green-light)}.mock-stage3-feedback-card{display:flex;flex-direction:column;gap:14px;padding:28px}.mock-rec-card{display:flex;align-items:center;gap:24px;padding:28px 32px;margin-bottom:24px;border-radius:14px}.mock-rec-icon{flex-shrink:0}.mock-rec-label{font-size:1.5rem;font-weight:800;margin-bottom:5px}.rec-strong-hire{border-left:5px solid #10b981;background:linear-gradient(90deg,#ecfdf5,#fff)}.rec-hire{border-left:5px solid #3b82f6;background:linear-gradient(90deg,#eff6ff,#fff)}.rec-borderline{border-left:5px solid #f59e0b;background:linear-gradient(90deg,#fffbeb,#fff)}.rec-no-hire{border-left:5px solid #ef4444;background:linear-gradient(90deg,#fef2f2,#fff)}.mock-summary-stages{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.mock-stage-verdict-chip{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:1.5px solid var(--green-light-mid);border-radius:10px;min-width:200px}.mock-stage-verdict-chip-name{font-size:.82rem;color:var(--muted);font-weight:500;flex:1}.mock-summary-feedback{padding:22px 24px;display:flex;flex-direction:column;gap:12px}.mock-summary-feedback p{line-height:1.7}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media(max-width:900px){.mock-stage1-body{flex-direction:column}.mock-stage1-problem-panel{width:100%;max-width:none;border-right:none;border-bottom:1px solid var(--green-light-mid);max-height:260px}.mock-stage2-script-card{padding:20px 22px}.mock-setup-loop-bar{display:none}}@media(max-width:760px){.mock-stage1-layout{height:calc(100vh - 56px)}}@media(max-width:600px){.mock-stage-verdict-chip{min-width:160px}.mock-rec-card{padding:20px;gap:16px}}.driver-popover{background:#fffffffa!important;border:1px solid var(--green-light-mid)!important;border-radius:10px!important;box-shadow:var(--shadow-lg)!important;padding:20px 22px 18px!important;max-width:300px!important;min-width:260px!important}.driver-popover *{font-family:var(--font-sans)!important;box-sizing:border-box!important}.driver-popover-title{font-size:14px!important;font-weight:700!important;color:var(--ink)!important;line-height:1.4!important;margin-bottom:6px!important}.driver-popover-description{font-size:13px!important;color:var(--muted)!important;line-height:1.55!important;margin-bottom:0!important}.driver-popover-progress-text{font-size:11.5px!important;color:var(--green-mid)!important;font-weight:500!important}.driver-popover-footer{margin-top:16px!important;gap:10px!important}.driver-popover-navigation-btns{gap:10px!important}.driver-popover-footer button{all:unset!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;padding:7px 14px!important;border-radius:8px!important;font-size:12.5px!important;font-weight:600!important;cursor:pointer!important;font-family:var(--font-sans)!important;line-height:1.3!important;transition:box-shadow var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)!important}.driver-popover-footer button:hover{transform:translateY(-1px)!important;box-shadow:var(--shadow-md)!important}.driver-popover-footer .driver-popover-next-btn,.driver-popover-footer .driver-popover-done-btn{background:var(--green-dark)!important;color:var(--green-lightest)!important}.driver-popover-footer .driver-popover-next-btn:hover,.driver-popover-footer .driver-popover-done-btn:hover{background:var(--green-dark-mid)!important}.driver-popover-footer .driver-popover-prev-btn{background:#ffffff94!important;color:var(--green-dark)!important;border:1px solid var(--green-light-mid)!important}.driver-popover-footer .driver-popover-prev-btn:hover{background:var(--green-lightest)!important}.driver-popover-footer .tour-replay-btn{background:transparent!important;color:var(--green-dark)!important;border:none!important;text-decoration:underline!important;text-underline-offset:3px!important;padding:7px 4px!important;font-weight:500!important;opacity:.8!important}.driver-popover-footer .tour-replay-btn:hover{opacity:1!important;transform:none!important;box-shadow:none!important}.driver-popover-close-btn{color:var(--green-mid)!important;background:none!important;border:none!important;cursor:pointer!important;opacity:.7!important;transition:opacity var(--transition-fast)!important}.driver-popover-close-btn:hover{color:var(--ink)!important;opacity:1!important}.driver-popover-arrow{border-color:#fffffffa!important}@media(max-width:760px){.kojo-panel{width:100vw;border-left:none}.chat-mode-shell{height:calc(100dvh - 61px)}.flashcard-manage-item .row-actions{width:auto;flex-shrink:0}.folder-grid{grid-template-columns:1fr;gap:12px}.folder-card{min-height:165px;padding:16px 18px}.folder-card h2{margin-top:8px;font-size:1.1rem}.folder-card p{margin-top:4px}.page-header>div>p.muted{font-size:.82rem;line-height:1.35}.folder-list{gap:8px}.floating-action{bottom:20px;right:20px}.upload-zone{padding:28px 16px}.math-mode-toggle{align-items:flex-start}.math-mode-toggle-sub{font-size:.78rem}.page-header .toolbar .segmented{align-self:flex-start;width:fit-content}.question-wrap{padding:24px 14px}.review-detail{padding:0 16px 16px}.score-hero strong{font-size:3rem}.score-hero{padding:32px 20px}.test-progress header{padding:12px 16px}.signin-card{padding:24px 20px}.stat-card strong{font-size:1.75rem}.toolbar{flex-wrap:wrap}.option-button{min-height:54px}.kojo-model-select{min-width:0;width:100%}.focus-card-header{flex-wrap:wrap}.focus-card-header>svg{display:none}.focus-card-header>button{flex:0 0 100%}.section-title{flex-direction:column;align-items:stretch;gap:10px}.page-header .toolbar>.button-danger{grid-column:auto;align-self:start;width:fit-content}}@media(max-width:560px){.score-hero strong{font-size:2.5rem}.result-stats strong{font-size:1.6rem}.confidence{min-height:74px;padding:11px 6px;gap:4px}.confidence-icon{width:32px;height:32px}.confidence-label{font-size:.9rem}.confidence-sub{font-size:.62rem}.button{white-space:normal;text-align:center}.question-card{padding:16px}.modal-card{padding:18px;gap:14px}.kojo-panel--fullscreen .kojo-header{padding:10px 14px}.kojo-panel--fullscreen .kojo-messages-inner{padding:16px 14px 12px}.kojo-panel--fullscreen .kojo-input-area{padding:10px 14px}}@media(max-width:480px){.mock-stage1-topbar{height:auto;min-height:52px;padding:8px 12px;flex-wrap:wrap;gap:6px}.mock-stage1-question-tabs{order:3;width:100%;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mock-stage1-question-tabs::-webkit-scrollbar{display:none}.mock-overall-card,.mock-rec-card{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 16px}.mock-setup-hero{padding:18px 16px 16px}.mock-setup-hero-title{font-size:1.35rem}.mock-setup-hero-top{flex-direction:column;gap:12px}.mock-stage2-header-row{flex-direction:column;align-items:flex-start;gap:10px}.lc-timer-controls{flex-direction:column;align-items:flex-start}}.landing-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.landing-footer-version{font-size:.72rem;font-weight:600;color:var(--green-dark);background:var(--green-lightest);border:1px solid var(--green-light-mid);border-radius:4px;padding:1px 6px;letter-spacing:.03em}.landing-footer-link{font-size:.78rem;color:var(--green-dark-mid);text-decoration:none}.landing-footer-link:hover{color:var(--ink);text-decoration:underline}.landing-footer-btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.privacy-modal{width:min(540px,100%);max-height:80vh;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.privacy-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.privacy-modal-header h2{font-size:1rem;font-weight:600;margin:0}.privacy-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--green-dark-mid)}.privacy-modal-close:hover{background:var(--green-lightest);color:var(--ink)}.privacy-modal-body{padding:20px 24px 24px;overflow-y:auto;display:grid;gap:14px}.privacy-modal-body h3{font-size:.85rem;font-weight:600;color:var(--ink);margin:0 0 4px}.privacy-modal-body p,.privacy-modal-body li{font-size:.85rem;color:var(--ink);line-height:1.6;margin:0}.privacy-modal-body ul{padding-left:18px;margin:0;display:grid;gap:4px}.privacy-modal-body a{color:var(--green-dark);text-decoration:underline}.admin-auth-screen{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center;max-width:420px;margin:0 auto}.admin-auth-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--green-lightest);color:var(--green-dark)}.admin-auth-error{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.85rem;width:100%;text-align:left}.admin-auth-actions{display:flex;gap:10px;justify-content:center}.admin-auth-note{max-width:320px}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.admin-stat-card{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.admin-stat-icon{color:var(--green-dark);margin-bottom:4px}.admin-stat-value{font-size:1.6rem;font-weight:700;color:var(--ink);margin:0;line-height:1}.admin-stat-label{font-size:.8rem;color:var(--muted);margin:0}.admin-section{margin-bottom:32px}.admin-section-title{font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 12px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{padding:10px 14px;text-align:left;font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--green-lightest);border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--ink);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--green-lightest)}.admin-users-table{min-width:640px}.admin-cell-id{color:var(--muted);font-size:.8rem;white-space:nowrap}.admin-cell-email{font-family:monospace;font-size:.82rem;word-break:break-all}.admin-cell-date{white-space:nowrap;color:var(--muted);font-size:.8rem}.admin-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600}.admin-badge--green{background:#dcfce7;color:#16a34a}.admin-badge--muted{background:var(--green-lightest);color:var(--muted)}.admin-badge--blue{background:#dbeafe;color:#1d4ed8}.admin-beta-select{font-family:inherit;font-size:.8rem;font-weight:600;padding:4px 8px;border-radius:999px;border:1px solid var(--green-lightest);background:var(--green-lightest);color:var(--muted);cursor:pointer;transition:filter .15s ease}.admin-beta-select--on{background:#dcfce7;border-color:#dcfce7;color:#16a34a}.admin-beta-select:hover:not(:disabled){filter:brightness(.97)}.admin-beta-select:disabled{cursor:default;opacity:.6}.admin-error{color:#dc2626;margin-bottom:12px}.admin-error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.85rem;margin-bottom:24px}.admin-session-timer{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:500;color:var(--muted);padding:4px 10px;border-radius:6px;background:var(--green-lightest)}.admin-session-timer--warn{background:#fff7ed;color:#c2410c}.admin-badge--yellow{background:#fef9c3;color:#a16207}.admin-badge--red{background:#fee2e2;color:#dc2626}.admin-health{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600}.admin-health--ok{color:#16a34a}.admin-health--warn{color:#d97706}.admin-health--error{color:#dc2626}.admin-cell-green{color:#16a34a;font-weight:500}.admin-cell-red{color:#dc2626;font-weight:500}.admin-cell-count{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}.admin-activity-table{min-width:360px}.admin-activity-bar-wrap{height:10px;background:var(--green-lightest);border-radius:99px;overflow:hidden;min-width:80px}.admin-activity-bar{height:100%;background:var(--green-dark);border-radius:99px;transition:width .3s ease}.lc-notes-modal{width:480px}.lc-notes-modal-header{background:#e9f5db94;cursor:move;-webkit-user-select:none;user-select:none}.lc-notes-body{padding:14px 18px;display:flex;flex-direction:column;gap:10px}.lc-notes-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:240px;padding:10px 12px;border:1.5px solid #d1e8b0;border-radius:8px;background:var(--green-lightest);font-size:.88rem;font-family:inherit;line-height:1.55;color:var(--ink);outline:none}.lc-notes-textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px #71835526}.lc-notes-textarea::placeholder{color:#9ab87a}.learning-mode-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--green-light);background:var(--green-lightest);color:var(--green-dark);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.learning-mode-toggle:hover{border-color:var(--green-dark-mid, var(--green-dark))}.learning-mode-toggle--on{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.learning-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:10px 14px;border-radius:12px;border:1px dashed var(--green-light);background:var(--green-lightest)}.learning-mode-bar-hint{display:inline-flex;align-items:center;gap:7px;color:var(--green-dark);font-size:.85rem;font-weight:500}.learning-mode-ask-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:none;background:var(--green-dark);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:filter .15s ease}.learning-mode-ask-btn:hover{filter:brightness(1.08)}@media(max-width:760px){.learning-mode-bar{flex-direction:column;align-items:stretch}.learning-mode-ask-btn{justify-content:center}}.flash-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;width:min(620px,100%);margin-top:18px}.flash-nav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:var(--green-dark);background:#ffffffb3;border:1.5px solid var(--green-light-mid);border-radius:50%;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.flash-nav-btn:hover:not(:disabled){background:var(--white);border-color:var(--green-mid);transform:translateY(-1px)}.flash-nav-btn:disabled{opacity:.35;cursor:default}.flash-hint{color:var(--muted);font-size:.85rem;font-weight:600;text-align:center}.flash-confidence-zone{display:grid;width:min(520px,100%);min-height:60px;margin-top:14px}.flash-kbd-hint{margin-top:18px;color:var(--gray-500);font-size:.78rem;font-weight:600}@media(max-width:760px){.flash-kbd-hint{display:none}.flash-confidence-zone{min-height:52px}}.flashcard-gen-panel{display:grid;gap:14px;padding:20px 24px;margin-bottom:18px}.flashcard-gen-head{display:grid;gap:4px}.flashcard-gen-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.flashcard-gen-count{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem;font-weight:600}.flashcard-gen-count .input{width:86px;min-height:42px;padding:8px 10px}@media(max-width:760px){.flashcard-gen-controls{flex-direction:column;align-items:stretch}.flashcard-gen-controls .button{width:100%}.flashcard-gen-count{justify-content:space-between}.flashcard-manage-item{align-items:flex-start}.flashcard-manage-content>div+div{padding-top:10px;border-top:1px dashed var(--green-light-mid)}}::highlight(nosey-test-highlight){background-color:#fff1a8;color:inherit}.test-tools-wrap{position:relative;padding:0 32px 12px}.test-tools-bar{display:flex;flex-wrap:wrap;gap:8px}.test-tool-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#ffffffb3;border:1.5px solid var(--green-mid);border-radius:999px;color:var(--green-dark);font-size:.85rem;font-weight:700;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.test-tool-btn:hover:not(:disabled){background:#cfe1b980;border-color:var(--green-dark)}.test-tool-btn:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.test-tool-btn--active{background:var(--green-dark);border-color:var(--green-dark);color:var(--green-lightest)}.test-tool-btn--active:hover:not(:disabled){background:#5a6944;border-color:#5a6944}.test-nav-pop{position:absolute;top:calc(100% - 6px);left:32px;z-index:40;width:min(420px,calc(100vw - 48px));padding:14px;background:#fff;border:1px solid var(--green-light-mid);border-radius:14px;box-shadow:var(--shadow-lg)}.test-nav-pop-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--green-dark)}.test-nav-pop-close{display:grid;place-items:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--ink)}.test-nav-pop-close:hover{background:#71835524}.test-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.test-nav-chip{position:relative;display:grid;place-items:center;min-height:44px;padding:4px;background:#fff;border:1.5px solid var(--green-light-mid);border-radius:10px;color:var(--ink);font-weight:800;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.test-nav-chip:hover{border-color:var(--green-mid)}.test-nav-chip--answered{background:#71835524;border-color:var(--green-mid)}.test-nav-chip--current{border-color:var(--green-dark);box-shadow:inset 0 0 0 2px var(--green-dark)}.test-nav-chip--marked{border-color:var(--warning)}.test-nav-chip-flag{position:absolute;top:3px;right:3px;color:var(--warning)}.test-nav-legend{display:flex;gap:16px;margin-top:12px;font-size:.75rem;color:var(--muted, #6b7a59)}.test-nav-legend span{display:inline-flex;align-items:center;gap:5px}.test-nav-dot{display:inline-block;width:11px;height:11px;border-radius:999px}.test-nav-dot--answered{background:#71835580;border:1.5px solid var(--green-mid)}.question-card-top{display:flex;align-items:center;gap:10px}.question-stuck-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#d69e2e29;border-radius:999px;color:#9a6b12;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.test-highlight-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:#fff1a866;border:1px dashed #d9b94a;border-radius:10px;font-size:.82rem;font-weight:600;color:#6b5a12}.test-highlight-hint>span{display:inline-flex;align-items:center;gap:6px}.test-highlight-clear{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#fff;border:1px solid #d9b94a;border-radius:999px;color:#6b5a12;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}.test-highlight-clear:hover{background:#fff8dc}.option-row{display:flex;align-items:stretch;gap:8px}.option-row>.option-button{flex:1;min-width:0}.option-cross-btn{display:grid;place-items:center;width:44px;flex-shrink:0;background:#ffffffb3;border:2px solid var(--green-light-mid);border-radius:12px;color:var(--green-mid);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.option-cross-btn:hover{border-color:var(--error);color:var(--error)}.option-cross-btn--on{background:#c530301a;border-color:var(--error);color:var(--error)}.option-row--crossed>.option-button{opacity:.5}.option-row--crossed>.option-button .test-option-markdown{text-decoration:line-through;text-decoration-color:var(--error)}.test-notes-panel{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;width:min(360px,calc(100vw - 32px));height:min(420px,calc(100vh - 120px));background:#fff;border:1px solid var(--green-light-mid);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.test-notes-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#eef5e5;border-bottom:1px solid var(--green-light-mid);font-weight:800;color:var(--green-dark)}.test-notes-head>span{display:inline-flex;align-items:center;gap:7px}.test-notes-close{display:grid;place-items:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--ink)}.test-notes-close:hover{background:#71835524}.test-notes-textarea{flex:1;width:100%;padding:14px 16px;background:#fcfdf9;border:none;resize:none;color:var(--ink);font-family:inherit;font-size:.95rem;line-height:1.5}.test-notes-textarea:focus{outline:none}.test-notes-hint{margin:0;padding:8px 16px;background:#f4f8ec;border-top:1px solid var(--green-light-mid);font-size:.72rem;color:var(--muted, #6b7a59)}@media(max-width:760px){.test-tools-wrap{padding:0 16px 10px}.test-tool-btn{flex:1 1 auto;justify-content:center}.test-nav-pop{left:16px;right:16px;width:auto}.test-notes-panel{right:0;left:0;bottom:0;width:100%;height:min(60vh,440px);border-radius:16px 16px 0 0}}.pill--beta{margin-left:6px;background:#71835529;color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.extra-types-section{padding:16px 18px;background:#cfe1b92e;border:1px dashed var(--green-light-mid);border-radius:12px}.extra-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:560px){.extra-types-grid{grid-template-columns:1fr}}.tf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tf-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:16px;background:#fff;border:2px solid var(--green-light-mid);border-radius:14px;color:var(--ink);font-size:1.1rem;font-weight:800;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.tf-button:hover{transform:translateY(-2px);border-color:var(--green-mid)}.tf-button.tf-true.selected{background:#388e3c1f;border-color:var(--success);color:#2f6f33}.tf-button.tf-false.selected{background:#c530301a;border-color:var(--error);color:#9a2a2a}@media(max-width:480px){.tf-grid{grid-template-columns:1fr}}.ms-hint{margin:0 0 4px;color:#596949;font-size:.85rem;font-weight:700}.ms-option{cursor:pointer}.ms-check{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:#fff;border:2px solid var(--green-light-mid);border-radius:7px;color:#fff;transition:background var(--transition-fast),border-color var(--transition-fast)}.ms-check.on{background:var(--green-dark);border-color:var(--green-dark)}.option-button.ms-option.selected .ms-check{border-color:var(--green-dark)}.rank-list{display:grid;gap:10px}.rank-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:2px solid var(--green-light-mid);border-radius:12px}.rank-num{display:grid;place-items:center;width:30px;height:30px;background:var(--green-dark);border-radius:999px;color:var(--green-lightest);font-weight:800}.rank-item-text{min-width:0}.rank-item-actions{display:flex;flex-direction:column;gap:4px}.rank-item-actions button{display:grid;place-items:center;width:30px;height:26px;padding:0;background:#cfe1b966;border:1px solid var(--green-light-mid);border-radius:7px;color:var(--green-dark);cursor:pointer;transition:background var(--transition-fast)}.rank-item-actions button:hover:not(:disabled){background:var(--green-light-mid)}.rank-item-actions button:disabled{opacity:.35;cursor:not-allowed}.mock-resume-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border:1.5px solid var(--green-mid);background:linear-gradient(180deg,var(--green-lightest),#fff);margin-bottom:16px}.mock-resume-banner-info{display:flex;align-items:center;gap:12px;min-width:0}.mock-resume-banner-title{font-weight:700;color:var(--ink);font-size:.95rem}.mock-resume-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.mock-resume-discard{color:var(--muted)}.mock-stage1-section-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mock-stage1-statement{font-size:.86rem;line-height:1.6;color:var(--ink);max-height:320px;overflow-y:auto;padding-right:4px}.mock-stage1-statement p{margin:0 0 10px}.mock-stage1-statement pre{background:#f4f7ee;border:1px solid var(--green-light-mid);border-radius:8px;padding:10px 12px;overflow-x:auto;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.mock-stage1-statement code{background:#f0f4e8;border-radius:4px;padding:1px 5px;font-size:.82em}.mock-stage1-statement pre code{background:none;padding:0}.mock-stage1-statement ul,.mock-stage1-statement ol{margin:0 0 10px;padding-left:20px}.mock-stage1-statement-loading,.mock-stage1-statement-error{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);padding:8px 0}.mock-stage1-statement-error{color:#991b1b}.mock-stage1-run-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 14px;border-radius:7px;border:1px solid #3f8f4f;background:#2f7d3f;color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .12s,opacity .12s}.mock-stage1-run-btn:hover:not(:disabled){background:#36913f}.mock-stage1-run-btn:disabled{opacity:.45;cursor:not-allowed}.mock-stage1-console{flex-shrink:0;max-height:34%;overflow-y:auto;padding:12px 16px;background:#11140f;border-top:1px solid #333;color:#d8e0cc;font-size:.82rem}.mock-stage1-console--note{color:#9fb088;font-style:italic;line-height:1.5}.mock-stage1-console-error{display:flex;align-items:flex-start;gap:6px;color:#f8a5a5;white-space:pre-wrap;word-break:break-word}.mock-stage1-console-summary{font-weight:700}.mock-stage1-console-pass{display:inline-flex;align-items:center;gap:6px;color:#6ee79a}.mock-stage1-console-fail{display:inline-flex;align-items:center;gap:6px;color:#f8a5a5}.mock-stage1-console-details{margin-top:8px}.mock-stage1-console-details summary{cursor:pointer;color:#9fb088;font-size:.78rem}.mock-stage1-console-case{margin-top:8px;padding:8px 10px;background:#1a1f15;border-radius:6px;border:1px solid #2b3322}.mock-stage1-console-case-label{display:block;font-weight:700;color:#c7d3b4;margin-bottom:4px}.mock-stage1-console-case code{color:#e6ecda;word-break:break-word}.mock-stage1-console-case .muted{color:#8a987a}.mock-stage1-submit-error{display:inline-flex;align-items:center;gap:5px;color:var(--error, #dc2626);font-size:.8rem;font-weight:600}@media(max-width:760px){.mock-resume-banner{flex-direction:column;align-items:stretch}.mock-resume-banner-actions{justify-content:stretch}.mock-resume-banner-actions .button{flex:1}.mock-stage1-statement{max-height:220px}.mock-stage1-console{max-height:40%}}.ats-page{--ats-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}.ats-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.ats-eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--ats-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-dark);font-weight:600}.ats-title{font-family:var(--font-serif);font-size:2.15rem;line-height:1.05;letter-spacing:-.01em;margin:9px 0 0;color:var(--ink)}.ats-sub{margin:9px 0 0;max-width:58ch;color:var(--muted);font-size:.9rem;line-height:1.55}.ats-sub strong{color:var(--green-dark)}.ats-quit{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 14px;border-radius:10px;background:transparent;color:var(--muted);border:1.5px solid var(--green-light-mid);font-weight:600;font-size:.85rem;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.ats-quit:hover{color:var(--ink);border-color:var(--green-mid);background:#ffffff8c}.ats-console{position:relative;border-radius:18px;overflow:hidden;background:var(--white);border:1px solid var(--green-light-mid);box-shadow:0 28px 50px -28px #26301f80}.ats-console-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:#cfe1b9}.ats-dots{display:inline-flex;gap:6px}.ats-dots i{display:block;width:10px;height:10px;border-radius:50%}.ats-dots i:nth-child(1){background:#f87171}.ats-dots i:nth-child(2){background:#fbbf24}.ats-dots i:nth-child(3){background:#4ade80}.ats-console-id{font-family:var(--ats-mono);font-size:.78rem;letter-spacing:.06em;color:#e9f5db}.ats-console-target{margin-left:auto;font-family:var(--ats-mono);font-size:.68rem;letter-spacing:.1em;color:#b5c99a;padding:3px 9px;border:1px solid rgba(181,201,154,.28);border-radius:6px}.ats-console-body{padding:22px;display:flex;flex-direction:column;gap:16px}.ats-modes{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;background:var(--green-lightest);border-radius:12px}.ats-mode{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:9px;background:transparent;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--muted);transition:color var(--transition-fast)}.ats-mode.active{color:var(--ink)}.ats-mode-slider{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:var(--white);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal)}.ats-mode-slider.upload{transform:translate(0)}.ats-mode-slider.paste{transform:translate(100%)}.ats-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;padding:34px 20px;cursor:pointer;border:2px dashed var(--green-light-mid);border-radius:14px;background:radial-gradient(circle at 1px 1px,rgba(113,131,85,.1) 1px,transparent 0) 0 0 / 16px 16px,var(--green-lightest);transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.ats-drop:hover{border-color:var(--green-dark);background-color:#dfeecb;transform:translateY(-1px)}.ats-drop.dragging{border-color:var(--green-dark);background-color:#dfeecb;box-shadow:0 0 0 4px #71835526}.ats-drop-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:14px;background:var(--white);color:var(--green-dark);box-shadow:var(--shadow-sm)}.ats-drop-title{font-weight:700;color:var(--ink);font-size:.98rem}.ats-drop-sub{color:var(--muted);font-size:.82rem}.ats-file{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:13px;background:var(--green-lightest);border:1.5px solid var(--green-light-mid)}.ats-file-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--green-dark);color:var(--white)}.ats-file-meta{display:flex;flex-direction:column;min-width:0;flex:1}.ats-file-name{font-weight:700;color:var(--ink);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ats-file-hint{font-family:var(--ats-mono);font-size:.72rem;color:var(--green-dark)}.ats-file-remove{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.ats-file-remove:hover{background:#fef2f2;color:#dc2626}.ats-paper{border-radius:13px;overflow:hidden;border:1.5px solid var(--green-light-mid);background:var(--white);transition:border-color var(--transition-fast)}.ats-paper:focus-within{border-color:var(--green-dark)}.ats-paper-gutter{display:flex;justify-content:space-between;padding:8px 14px;background:var(--green-lightest);border-bottom:1px solid var(--green-light-mid);font-family:var(--ats-mono);font-size:.72rem;letter-spacing:.04em;color:var(--green-dark)}.ats-paper-text{display:block;width:100%;border:0;resize:vertical;min-height:200px;padding:14px 16px;background:transparent;font-family:var(--ats-mono);font-size:.84rem;line-height:1.6;color:var(--ink)}.ats-paper-text:focus{outline:none}.ats-paper-text::placeholder{color:var(--green-light-mid)}.ats-error{display:flex;align-items:center;gap:7px;color:#991b1b;font-size:.85rem;font-weight:500}.ats-run-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.ats-run-hint{color:var(--muted);font-size:.8rem}.ats-run{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:11px 22px;border-radius:11px;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--white);background:linear-gradient(135deg,var(--green-dark),var(--green-dark-mid));box-shadow:0 10px 20px -8px #718355b3;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.ats-run:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 26px -10px #718355d1}.ats-run:disabled{opacity:.5;cursor:not-allowed}.ats-scan{position:absolute;top:46px;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.ats-scan-beam{position:absolute;left:0;right:0;top:-130px;height:130px;background:linear-gradient(180deg,transparent,rgba(113,131,85,.16) 60%,rgba(113,131,85,.32));border-bottom:2px solid var(--green-dark);animation:ats-sweep 1.5s cubic-bezier(.4,0,.2,1) infinite}@keyframes ats-sweep{0%{top:-130px}to{top:100%}}.ats-scan-label{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--ats-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-dark);animation:ats-blink 1.1s steps(2) infinite}@keyframes ats-blink{50%{opacity:.4}}.ats-report{position:relative;margin-top:18px;padding:26px 24px 24px;border-radius:18px;overflow:hidden;background:var(--white);border:1px solid var(--green-light-mid);box-shadow:var(--shadow-md);animation:ats-rise .4s cubic-bezier(.2,.8,.2,1) both}@keyframes ats-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.ats-report-strip{position:absolute;top:16px;right:18px;font-family:var(--ats-mono);font-size:.64rem;letter-spacing:.18em;font-weight:700;color:var(--green-light-mid)}.ats-report-top{display:flex;align-items:center;gap:24px}.ats-gauge{position:relative;width:104px;height:104px;flex-shrink:0}.ats-gauge-svg{width:100%;height:100%;transform:rotate(-90deg)}.ats-gauge-track{fill:none;stroke:var(--green-lightest);stroke-width:9}.ats-gauge-fill{fill:none;stroke:currentColor;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}.ats-gauge-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ats-gauge-num{font-family:var(--font-serif);font-size:2rem;font-weight:700;line-height:1;color:var(--ink)}.ats-gauge-max{font-family:var(--ats-mono);font-size:.64rem;color:var(--muted);margin-top:2px}.ats-report-headline{flex:1;min-width:0}.ats-stamp{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:8px;border:2px solid;transform:rotate(-2deg);font-family:var(--ats-mono);font-weight:700;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.ats-stamp.pass{color:#166534;border-color:#16653480;background:#dcfce78c}.ats-stamp.fail{color:#991b1b;border-color:#991b1b80;background:#fee2e28c}.ats-verdict{margin:12px 0 4px;font-weight:700;color:var(--ink);font-size:1.02rem;line-height:1.35}.ats-summary{margin:0;color:var(--muted);font-size:.88rem;line-height:1.6}.ats-keywords{display:flex;flex-direction:column;gap:14px;margin-top:22px;padding-top:20px;border-top:1px dashed var(--green-light-mid)}.ats-kw-label{display:block;margin-bottom:8px;font-family:var(--ats-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.ats-kw-label--match{color:#166534}.ats-kw-label--miss{color:#b45309}.ats-kw-chips{display:flex;flex-wrap:wrap;gap:7px}.ats-kw{padding:4px 11px;border-radius:8px;font-size:.8rem;font-weight:600}.ats-kw--match{background:#dcfce7;color:#166534;border:1px solid rgba(22,101,52,.18)}.ats-kw--miss{background:var(--white);color:#92400e;border:1px dashed #d97706}.ats-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding-top:20px;border-top:1px dashed var(--green-light-mid)}.ats-col-label{display:block;margin-bottom:9px;font-family:var(--ats-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.ats-col-label--good{color:#166534}.ats-col-label--bad{color:#b45309}.ats-col-label--fix{color:var(--green-dark)}.ats-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.ats-col li{position:relative;padding-left:16px;font-size:.85rem;line-height:1.5;color:var(--ink)}.ats-col li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--green-light-mid)}.ats-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px}.ats-footer-note{color:var(--muted);font-size:.82rem}.ats-continue{padding:11px 22px}@media(max-width:760px){.ats-head{flex-direction:column}.ats-quit{align-self:flex-start}.ats-title{font-size:1.65rem}.ats-run-row{flex-direction:column;align-items:stretch}.ats-run{justify-content:center}.ats-report-top{flex-direction:column;align-items:flex-start;gap:16px}.ats-cols{grid-template-columns:1fr}.ats-footer{flex-direction:column-reverse;align-items:stretch}.ats-footer-note{text-align:center}.ats-continue{justify-content:center}}:root{--lc-custom-accent: #b45309;--lc-custom-accent-soft: #d97a2b;--lc-custom-tint: #fdf6ec;--lc-custom-tint-deep: #f7ead6;--lc-custom-ink: #6b3d10}.lc-custom-section{margin-top:30px;padding-top:22px;border-top:1px dashed color-mix(in srgb,var(--lc-custom-accent) 38%,white)}.lc-custom-node{--lc-accent: var(--lc-custom-accent);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--lc-custom-accent) 30%,white);border-radius:8px;background:linear-gradient(135deg,var(--lc-custom-tint),rgba(255,255,255,.92));box-shadow:var(--shadow-sm)}.lc-custom-node:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--lc-custom-accent) 50%,white),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.lc-custom-node-main{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 12px;padding:0;background:none;text-align:left;cursor:pointer}.lc-custom-node-main .lc-node-icon{grid-row:1 / 3;background:color-mix(in srgb,var(--lc-custom-accent) 14%,white);color:var(--lc-custom-accent)}.lc-custom-node-main .lc-node-copy{align-self:center}.lc-custom-node-main .lc-node-copy strong{color:var(--ink);font-size:1rem}.lc-custom-node-main .lc-node-copy small{color:var(--lc-custom-ink);font-weight:650}.lc-custom-node-main .lc-node-progress{grid-column:1 / -1;height:7px;border-radius:999px;background:color-mix(in srgb,var(--lc-custom-accent) 14%,white);overflow:hidden}.lc-custom-node-main .lc-node-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--lc-custom-accent),var(--lc-custom-accent-soft))}.lc-custom-node-main:hover .lc-node-copy strong{color:var(--lc-custom-accent)}.lc-custom-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;align-self:center;padding:0 16px;min-height:44px;border:1px solid transparent;border-radius:8px;background:linear-gradient(135deg,var(--lc-custom-accent),var(--lc-custom-accent-soft));color:#fff;font-size:.86rem;font-weight:800;white-space:nowrap;cursor:pointer;box-shadow:0 6px 14px #b4530938;transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast)}.lc-custom-add-btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 10px 20px #b4530947}.lc-custom-add-btn:active{transform:translateY(0)}.lc-custom-add-btn:disabled{opacity:.6;cursor:progress;transform:none;box-shadow:none}.lc-custom-add-btn--secondary{background:transparent;color:var(--lc-custom-accent);border-color:var(--lc-custom-accent);box-shadow:none}.lc-custom-add-btn--secondary:hover{filter:none;background:color-mix(in srgb,var(--lc-custom-accent) 10%,transparent);box-shadow:none}.lc-reclassify-msg{margin:6px 0 0}.lc-custom-modal-save{min-height:48px}.lc-custom-empty{display:grid;justify-items:center;gap:14px;margin-top:8px;padding:48px 28px;border:1px dashed color-mix(in srgb,var(--lc-custom-accent) 40%,white);border-radius:12px;background:var(--lc-custom-tint);text-align:center}.lc-custom-empty p{max-width:460px;margin:0;color:var(--lc-custom-ink);font-size:.95rem;line-height:1.55}.lc-difficulty--unknown{background:#eceae4;color:#5b5750}.lc-custom-statement{margin-top:4px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--lc-custom-accent) 22%,white);border-left:3px solid var(--lc-custom-accent);border-radius:10px;background:var(--lc-custom-tint);color:var(--ink);font-size:.92rem;line-height:1.6}.lc-custom-statement :first-child{margin-top:0}.lc-custom-statement :last-child{margin-bottom:0}.lc-custom-statement code{padding:1px 5px;border-radius:5px;background:var(--lc-custom-tint-deep);color:var(--lc-custom-ink);font-size:.86em}.lc-custom-modal{right:50%;bottom:50%;width:560px;max-height:calc(100vh - 56px);transform:translate(50%,50%)}.lc-custom-modal-header{background:linear-gradient(135deg,var(--lc-custom-tint-deep),rgba(255,255,255,.6))}.lc-custom-avatar{color:#fff;background:linear-gradient(135deg,var(--lc-custom-accent),var(--lc-custom-accent-soft))}.lc-custom-modal-body{display:grid;gap:16px;padding:18px;overflow-y:auto}.lc-custom-ai{display:grid;gap:10px;padding:16px;border:1px solid color-mix(in srgb,var(--lc-custom-accent) 26%,white);border-radius:12px;background:radial-gradient(120% 120% at 0% 0%,var(--lc-custom-tint-deep),transparent 55%),var(--lc-custom-tint)}.lc-custom-ai-head{display:inline-flex;align-items:center;gap:8px;color:var(--lc-custom-accent);font-size:.9rem;font-weight:850;letter-spacing:.01em}.lc-custom-ai-code{display:block;width:100%;padding:12px 14px;border:1px solid color-mix(in srgb,var(--lc-custom-accent) 22%,white);border-radius:8px;background:#fffaf3;color:var(--ink);font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.82rem;line-height:1.55;outline:none;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.lc-custom-ai-code:focus{border-color:var(--lc-custom-accent);box-shadow:0 0 0 3px #b4530924}.lc-custom-ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;padding:0 18px;min-height:42px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--lc-custom-accent),var(--lc-custom-accent-soft));color:#fff;font-size:.86rem;font-weight:800;cursor:pointer;box-shadow:0 6px 14px #b4530933;transition:transform var(--transition-fast),filter var(--transition-fast)}.lc-custom-ai-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.lc-custom-ai-btn:disabled{opacity:.6;cursor:progress}.lc-custom-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.lc-custom-divider:before,.lc-custom-divider:after{content:"";flex:1;height:1px;background:#7183553d}.lc-custom-field{display:grid;gap:6px}.lc-custom-field>span{color:#5e6f4c;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.lc-custom-field>span small{text-transform:none;letter-spacing:0;font-weight:650}.lc-custom-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.lc-custom-input,.lc-custom-textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fbfdf8;color:var(--ink);font-family:inherit;font-size:.9rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.lc-custom-textarea{line-height:1.55;resize:vertical}.lc-custom-input:focus,.lc-custom-textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px #71835524}select.lc-custom-input{cursor:pointer}.lc-custom-cases{display:grid;gap:10px;padding:14px;border:1px solid rgba(113,131,85,.18);border-radius:12px;background:#e9f5db57}.lc-custom-cases-head{display:flex;align-items:center;justify-content:space-between;color:#5e6f4c;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.lc-custom-cases code{padding:1px 5px;border-radius:5px;background:#71835524;color:var(--green-dark);font-size:.84em}.lc-custom-case{display:grid;gap:8px;padding:12px;border:1px solid rgba(113,131,85,.18);border-radius:10px;background:var(--white)}.lc-custom-case-top{display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:.84rem;font-weight:800}.lc-custom-case label{display:grid;gap:4px}.lc-custom-case label span{color:#5e6f4c;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.lc-custom-case label span small{text-transform:none;letter-spacing:0;font-weight:650}.lc-custom-case textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fbfdf8;color:var(--ink);font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.82rem;line-height:1.5;outline:none;resize:vertical}.lc-custom-case textarea:focus{border-color:var(--green-dark)}.lc-custom-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid rgba(113,131,85,.18);background:#e9f5db66}@media(max-width:640px){.lc-custom-node{grid-template-columns:minmax(0,1fr)}.lc-custom-add-btn{justify-self:stretch}.lc-custom-modal{right:16px;left:16px;bottom:16px;width:auto;transform:none}.lc-custom-field-row{grid-template-columns:minmax(0,1fr)}}.lc-archived-section{margin-top:22px;padding-top:16px;border-top:1px solid var(--green-lightest, #e6e3da)}.lc-archived-toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--lc-custom-accent) 28%,white);border-radius:999px;background:var(--lc-custom-tint);color:var(--lc-custom-ink);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lc-archived-toggle:hover{background:color-mix(in srgb,var(--lc-custom-accent) 14%,white)}.lc-problem-list--archived{margin-top:12px}.lc-problem-row--archived{opacity:.78}.lc-problem-row--archived .lc-problem-title-btn span{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--lc-custom-ink) 45%,transparent)}.lc-archived-empty{margin-top:12px}.lc-streak-section{margin-top:30px;padding-top:22px;border-top:1px dashed color-mix(in srgb,#dc2626 28%,white)}.lc-streak-node{display:grid;grid-template-columns:56px minmax(0,1fr) 36px;align-items:center;gap:12px;width:100%;padding:16px 18px;border:1.5px solid color-mix(in srgb,#dc2626 30%,white);border-radius:14px;background:color-mix(in srgb,#dc2626 5%,white);cursor:pointer;text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.lc-streak-node:hover{transform:translateY(-2px);border-color:#dc2626;box-shadow:0 4px 18px color-mix(in srgb,#dc2626 18%,transparent)}.lc-streak-node-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:color-mix(in srgb,#dc2626 12%,white);color:#dc2626;flex-shrink:0}.lc-streak-node-copy{display:grid;gap:4px;min-width:0}.lc-streak-node-title{display:flex;align-items:center;gap:8px}.lc-streak-node-title strong{font-size:1rem;color:var(--ink)}.lc-streak-badge{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,#dc2626 15%,white);color:#dc2626;border:1px solid color-mix(in srgb,#dc2626 30%,white)}.lc-streak-node-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-streak-node-desc{font-size:.82rem;color:#596949;font-weight:550}.lc-streak-node-expires{font-size:.78rem;color:#dc2626;font-weight:600}.lc-streak-node-flame{color:#dc2626;opacity:.8;flex-shrink:0}.lc-streak-challenge-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:14px;border-radius:10px;background:color-mix(in srgb,#dc2626 7%,white);border:1px solid color-mix(in srgb,#dc2626 25%,white);color:#991b1b;font-size:.84rem;line-height:1.5}.lc-streak-challenge-banner svg{flex-shrink:0;margin-top:2px;color:#dc2626}.answer-reasoning{display:grid;gap:8px}.answer-reasoning-trigger{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 12px;border:1px solid var(--green-light, #cfe1b9);border-radius:999px;background:transparent;color:var(--green-dark);font-size:.82rem;font-weight:600;cursor:pointer}.answer-reasoning-trigger:hover{background:#cfe1b959}.answer-reasoning-trigger .rotated{transform:rotate(180deg)}.answer-reasoning-body{padding:12px 14px;background:#cfe1b947;border-left:3px solid var(--green-light, #cfe1b9);border-radius:8px}.answer-reasoning-body .kojo-markdown{font-size:.88rem}.flashcard-face-md{width:100%}.flip-front .flashcard-face-md .kojo-markdown{font-size:clamp(1.1rem,1.2vw + .9rem,1.5rem);line-height:1.45}.flip-back .flashcard-face-md .kojo-markdown{font-size:1.12rem;line-height:1.65;color:inherit}.flip-back .flashcard-face-md .kojo-markdown .kojo-md-p,.flip-back .flashcard-face-md .kojo-markdown .kojo-md-heading,.flip-back .flashcard-face-md .kojo-markdown .kojo-md-list li{color:inherit}.flashcard-face-md .math-block{color:var(--ink);text-align:left}.flashcard-manage-content .kojo-markdown{margin-top:4px;font-size:.9rem;line-height:1.5}.lc-filter-bar{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--lc-border);border-radius:12px;background:linear-gradient(180deg,#ffffffeb,#ffffffbd);box-shadow:var(--shadow-sm)}.lc-filter-group{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px}.lc-filter-label{font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.lc-filter-chips{display:flex;flex-wrap:wrap;gap:7px}.lc-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--lc-border);border-radius:999px;background:#fff9;color:var(--muted);font-size:.8rem;font-weight:750;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.lc-filter-chip:hover{border-color:color-mix(in srgb,var(--green-dark) 55%,white);color:var(--ink)}.lc-filter-chip>svg{opacity:.85}.lc-filter-chip--active{background:var(--green-dark);border-color:var(--green-dark);color:var(--white);box-shadow:0 2px 7px #43542d3d}.lc-filter-chip--active>svg{opacity:1}.lc-diff-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.lc-diff-dot--easy{background:#22c55e}.lc-diff-dot--medium{background:#f59e0b}.lc-diff-dot--hard{background:#ef4444}.lc-filter-chip--easy{background:#dcfce7;border-color:#86efac;color:#166534;box-shadow:none}.lc-filter-chip--medium{background:#fef3c7;border-color:#fcd34d;color:#92400e;box-shadow:none}.lc-filter-chip--hard{background:#fee2e2;border-color:#fca5a5;color:#991b1b;box-shadow:none}.lc-filter-actions{display:flex;justify-content:flex-end;margin-top:2px;padding-top:10px;border-top:1px solid var(--lc-border)}.lc-filter-clear{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.lc-filter-clear:hover{color:var(--error);background:#dc262614}@media(max-width:620px){.lc-filter-group{grid-template-columns:1fr;gap:7px}}.lc-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:clamp(38px,7vw,66px) 24px;border:1px dashed color-mix(in srgb,var(--green-dark) 32%,white);border-radius:14px;background:#ffffff8c;text-align:center}.lc-empty-icon{display:inline-grid;place-items:center;width:58px;height:58px;margin-bottom:4px;border-radius:50%;background:color-mix(in srgb,var(--green-dark) 12%,white);color:var(--green-dark)}.lc-empty-title{margin:0;font-family:var(--font-serif);font-size:1.16rem;font-weight:600;color:var(--ink)}.lc-empty-sub{color:var(--muted);font-size:.86rem;font-weight:600}.lc-empty-reset{display:inline-flex;align-items:center;gap:6px;margin-top:10px;min-height:38px;padding:0 16px;border-radius:999px;background:var(--green-dark);color:var(--white);font-size:.84rem;font-weight:750;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.lc-empty-reset:hover{background:var(--green-dark-mid);transform:translateY(-1px)}.test-generating-splash{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:360px}.test-generating-splash strong{font-size:1.05rem;color:var(--ink)}.test-generating-splash .muted{font-size:.85rem}.generation-banner-streaming{display:flex;align-items:center;gap:8px;background:var(--green-lightest);border:1.5px solid var(--green-light-mid);color:var(--green-dark)}.question-card--pending{min-height:220px;display:flex;align-items:center;justify-content:center}.test-pending-slot{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--green-dark)}.test-pending-slot strong{font-size:.98rem;color:var(--ink)}.test-pending-slot .muted{font-size:.82rem}.review-detail .review-flagged-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);color:#92400e;font-size:.86rem;line-height:1.4}.review-flagged-notice svg{flex-shrink:0;margin-top:2px;color:#d97706}.math-field-input{display:block;width:100%;font-size:1.15rem;padding:10px 12px;background:var(--white);border:1.5px solid var(--green-light);border-radius:8px;--caret-color: var(--green-dark);--selection-background-color: var(--green-lightest);--contains-highlight-background-color: var(--green-lightest);--smart-fence-color: var(--green-dark-mid)}.math-field-input:focus-within{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 3px var(--green-lightest)}.math-field-hint{margin:0;font-size:.78rem;color:var(--green-dark-mid)}.math-field-loading{display:flex;justify-content:center;padding:18px 0}:root{--keyboard-zindex: 1200;--keyboard-background: var(--green-lightest);--keyboard-border: var(--green-light);--keycap-background: var(--white);--keycap-background-hover: var(--green-lightest);--keycap-border: var(--green-light);--keycap-text: var(--ink);--keycap-secondary-background: var(--green-lightest);--keycap-secondary-background-hover: var(--green-light);--keycap-secondary-text: var(--green-dark);--keycap-primary-background: var(--green-dark);--keycap-primary-text: var(--white);--keyboard-toolbar-text: var(--green-dark);--keyboard-toolbar-text-active: var(--green-dark);--keyboard-toolbar-background-hover: var(--green-light)}.signin-page .landing-card{position:relative}.signin-back{display:inline-flex;align-items:center;gap:6px;align-self:start;padding:6px 4px;background:none;border:none;cursor:pointer;color:#596949;font-size:.88rem}.signin-back:hover{color:var(--green-dark)}.guest-skip{display:flex;justify-content:center}.guest-skip-link{background:none;border:none;padding:4px 6px;cursor:pointer;color:#8a9a7a;font-size:.82rem;text-decoration:underline;text-underline-offset:2px}.guest-skip-link:hover:not(:disabled){color:#596949}.guest-skip-link:disabled{cursor:default;opacity:.7}.google-btn-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;min-height:44px}.signin-loading{margin:0}.survey-card{--survey-gold: #e0a12e;max-width:400px;gap:20px;padding:28px 28px 24px;background:var(--white, #fff);position:relative;text-align:center}.survey-close{position:absolute;top:14px;right:14px}.survey-head{display:grid;gap:6px}.survey-eyebrow{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--green-dark-mid)}.survey-title{margin:0;font-size:1.28rem;line-height:1.25;color:var(--ink)}.survey-rate{display:grid;gap:10px;justify-items:center}.survey-stars{display:flex;justify-content:center;gap:8px}.survey-star{background:none;border:none;cursor:pointer;padding:3px;color:var(--green-light-mid);line-height:0;border-radius:8px;transition:color .14s ease,transform .14s ease}.survey-star:hover{transform:scale(1.14) translateY(-1px)}.survey-star:active{transform:scale(1.02)}.survey-star--on{color:var(--survey-gold)}.survey-star--on svg{fill:var(--survey-gold)}.survey-rating-label{margin:0;min-height:1.2em;font-size:.9rem;font-weight:500;color:var(--muted);transition:color .14s ease}.survey-rating-label--set{color:var(--green-dark);font-weight:600}.survey-comment{width:100%;box-sizing:border-box;resize:vertical;padding:11px 13px;border:1px solid var(--green-light-mid);border-radius:12px;font:inherit;font-size:.92rem;color:var(--ink);background:var(--green-lightest);transition:border-color .14s ease,background .14s ease}.survey-comment::placeholder{color:var(--gray-500)}.survey-comment:focus{outline:none;border-color:var(--green-dark);background:var(--white, #fff)}.survey-actions{display:flex;align-items:center;gap:10px}.survey-dismiss{background:none;border:none;cursor:pointer;color:var(--muted);font:inherit;font-weight:500;padding:10px 14px;border-radius:10px;transition:background .14s ease,color .14s ease}.survey-dismiss:hover{background:var(--green-lightest);color:var(--ink)}.survey-submit{flex:1;background:var(--green-dark);color:#fff;border:none;cursor:pointer;font:inherit;font-weight:600;padding:10px 18px;border-radius:10px;transition:background .14s ease,opacity .14s ease,transform .1s ease}.survey-submit:not(:disabled):hover{background:var(--green-dark-mid)}.survey-submit:not(:disabled):active{transform:translateY(1px)}.survey-submit:disabled{opacity:.45;cursor:default}.admin-survey-grid{--admin-star: #e0a12e;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;margin-bottom:20px}.admin-survey-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:var(--white, #fff)}.admin-survey-feature{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--green-dark-mid)}.admin-survey-score{display:flex;flex-direction:column;gap:6px}.admin-survey-rating{font-size:1.9rem;font-weight:700;color:var(--ink);line-height:1}.admin-survey-rating-max{font-size:.85rem;color:var(--muted);font-weight:500;margin-left:2px}.admin-rating-meter{--admin-star: #e0a12e;position:relative;display:inline-block;font-size:.95rem;line-height:1;letter-spacing:2px;white-space:nowrap}.admin-rating-meter-track{color:var(--green-light-mid)}.admin-rating-meter-fill{position:absolute;top:0;left:0;width:var(--fill, 0%);overflow:hidden;color:var(--admin-star)}.admin-rating-meter--sm{font-size:.82rem;letter-spacing:1.5px}.admin-survey-comments{display:flex;flex-direction:column;gap:8px}.admin-survey-comments-title{font-size:.95rem;margin:0 0 4px;color:var(--ink)}.admin-survey-comment{padding:11px 14px;border:1px solid var(--border);border-left:3px solid var(--green-light-mid);border-radius:10px;background:var(--white, #fff)}.admin-survey-comment-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.admin-survey-comment-head .admin-cell-date{margin-left:auto}.admin-survey-comment-text{margin:0;color:var(--ink);font-size:.9rem;line-height:1.5;white-space:pre-wrap}.mode-header{display:flex;align-items:flex-start;gap:.9rem}.mode-header .flash-back-btn{margin-top:.15rem;flex-shrink:0}.mode-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:.5rem}@media(min-width:620px){.mode-grid{grid-template-columns:repeat(2,1fr)}}.mode-card{--mode-accent: var(--green-dark);display:flex;align-items:flex-start;gap:1rem;padding:1.4rem;border:1px solid var(--border);border-radius:18px;background:var(--white);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.mode-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--mode-accent)}.mode-card:focus-visible{outline:2px solid var(--mode-accent);outline-offset:2px}.mode-card--disabled{opacity:.55;cursor:not-allowed}.mode-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;flex-shrink:0}.mode-card-body h2{margin:.15rem 0 .35rem;font-family:var(--font-serif);font-size:1.35rem}.mode-card-body p{margin:0;font-size:.9rem;line-height:1.45}.mode-card-meta{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.mode-empty-note{margin-top:1.1rem}.match-screen{max-width:1000px;margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.match-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 1rem;color:var(--green-dark)}.match-loading svg{animation:match-spin 1.4s ease-in-out infinite}@keyframes match-spin{0%,to{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}.match-header{margin-bottom:1.25rem}.match-header-row{display:flex;align-items:center;gap:.85rem}.match-header-title{flex:1;min-width:0}.match-header-title .eyebrow{color:var(--warning)}.match-header-title h1{margin:.1rem 0 0;font-family:var(--font-serif);font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-round-pill{display:inline-flex;align-items:baseline;gap:.3rem;padding:.4rem .8rem;border-radius:999px;background:#d977061f;color:var(--warning);font-weight:700;font-size:.85rem;white-space:nowrap;flex-shrink:0}.match-round-pill span{font-size:.72rem;opacity:.75}.match-hud{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1rem 0 .75rem}.match-hud-item{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.match-hud-item svg{color:var(--green-dark)}.match-hud-value{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);font-size:.95rem}.match-hud-unit{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.match-progress{height:6px}.match-board-wrap{position:relative;transition:opacity var(--transition-normal),filter var(--transition-normal)}.match-board-wrap.is-clearing{opacity:.4;filter:saturate(.6)}.match-board{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}@media(min-width:620px){.match-board{grid-template-columns:repeat(3,1fr);gap:.85rem}}@media(min-width:900px){.match-board[data-count="16"],.match-board[data-count="20"]{grid-template-columns:repeat(4,1fr)}}.match-tile{position:relative;display:flex;flex-direction:column;gap:.4rem;min-height:96px;padding:.7rem .75rem;border-radius:14px;border:1.5px solid var(--border);background:var(--white);text-align:left;cursor:pointer;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.match-tile--front{background:var(--green-lightest);border-color:var(--green-light)}.match-tile--back{background:var(--white);border-color:var(--green-light-mid)}.match-tile:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.match-tile:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.match-tile.is-selected{border-color:var(--warning);box-shadow:0 0 0 3px #d9770638;transform:translateY(-2px)}.match-tile.is-mismatch{border-color:var(--error);background:#dc262614;animation:match-shake .4s ease}@keyframes match-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.match-tile.is-matched{border-color:var(--success);background:#10b9811a;color:var(--muted);cursor:default;opacity:.72;animation:match-pop .42s cubic-bezier(.34,1.56,.64,1)}.match-tile.is-matched:after{content:"";position:absolute;top:.5rem;right:.55rem;width:16px;height:16px;border-radius:999px;background:var(--success);opacity:.9}@keyframes match-pop{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}.match-tile-side{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.match-tile--front .match-tile-side{color:var(--green-dark)}.match-tile-text{font-size:.88rem;line-height:1.35;max-height:5.4em;overflow-y:auto}.match-tile-text .kojo-markdown>*:first-child{margin-top:0}.match-tile-text .kojo-markdown>*:last-child{margin-bottom:0}.match-tile-text .kojo-md-p{margin:.2rem 0}.match-round-toast{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--green-dark);animation:match-toast-in .3s ease;pointer-events:none}@keyframes match-toast-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.match-hint{margin:1.1rem 0 0;text-align:center;color:var(--muted);font-size:.85rem}.match-results{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2.25rem 1.75rem}.match-results-badge{display:grid;place-items:center;width:78px;height:78px;border-radius:999px;background:#d9770624;color:var(--warning);margin-bottom:.25rem}.match-results h1{margin:0;font-family:var(--font-serif)}.match-record-flag{display:inline-flex;align-items:center;padding:.3rem .85rem;border-radius:999px;background:var(--success);color:var(--white);font-size:.78rem;font-weight:700;letter-spacing:.03em}.match-stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%;margin:1.25rem 0 .5rem}@media(min-width:520px){.match-stat-row{grid-template-columns:repeat(4,1fr)}}.match-stat{display:flex;flex-direction:column;gap:.2rem;padding:.85rem .5rem;border-radius:12px;background:var(--green-lightest)}.match-stat-label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.match-stat-value{font-family:var(--font-serif);font-size:1.5rem;font-variant-numeric:tabular-nums;color:var(--ink)}@media(prefers-reduced-motion:reduce){.match-tile,.match-tile.is-matched,.match-tile.is-mismatch,.match-loading svg,.match-round-toast{animation:none;transition:none}}.lm-spin{animation:lm-spin 1s linear infinite}@keyframes lm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lm-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 1rem;color:var(--green-dark)}.lm-header-main{flex:1;min-width:0}.lm-setup{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem}.lm-setup-label{font-weight:700;font-size:.95rem}.lm-count-row{display:flex;align-items:center;gap:1rem}.lm-count-slider{flex:1;accent-color:var(--green-dark)}.lm-count-value{font-family:var(--font-serif);font-size:1.6rem;font-weight:700;min-width:2ch;text-align:center;color:var(--green-dark)}.lm-failed,.lm-stale{display:flex;align-items:center;gap:.9rem;padding:1rem 1.15rem;margin-bottom:1rem}.lm-failed svg{color:var(--error);flex-shrink:0}.lm-failed div{flex:1;min-width:0}.lm-failed p,.lm-stale p{margin:.15rem 0 0}.lm-stale{background:#d9770614;border-color:#d9770659}.lm-stale svg{color:var(--warning);flex-shrink:0}.lm-stale p{flex:1;font-size:.9rem}.lm-generating-bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;margin-bottom:1rem;border-radius:12px;background:var(--green-lightest);border:1px dashed var(--green-light-mid);color:var(--muted);font-size:.88rem}.lm-generating-bar svg{color:var(--green-dark);flex-shrink:0}.lm-generating-bar span{flex:1}.lm-cancel-btn{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;color:var(--error);font-size:.82rem;font-weight:600;cursor:pointer;padding:.25rem .4rem;border-radius:8px}.lm-cancel-btn:hover{background:#dc262614}.lm-module-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.lm-module-row{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-radius:14px;border:1px solid var(--border);background:var(--white);text-decoration:none;color:var(--ink);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}a.lm-module-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--green-dark)}a.lm-module-row:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.lm-module-row.is-locked,.lm-module-row.is-pending{opacity:.55;cursor:not-allowed}.lm-module-row.is-passed{border-color:#10b98173;background:#10b9810f}.lm-module-num{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--green-lightest);color:var(--green-dark);font-weight:700;font-size:.92rem;flex-shrink:0}.lm-module-row.is-passed .lm-module-num{background:#10b98126;color:var(--success)}.lm-module-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.lm-module-title{font-weight:600;line-height:1.3}.lm-module-summary{font-size:.82rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lm-module-state{flex-shrink:0;display:grid;place-items:center;color:var(--muted)}.lm-module-row.is-passed .lm-module-state{color:var(--success)}.lm-module-row.is-open .lm-module-state{color:var(--green-dark)}.lm-skeleton{display:block;width:55%;height:.95em;border-radius:6px;background:var(--gray-200)}.lm-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:1.75rem;margin-top:1.25rem;color:var(--green-dark)}.lm-done h2{margin:0;font-family:var(--font-serif)}.lm-audio-player{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;margin-bottom:1rem;border-radius:12px;background:var(--green-lightest);border:1px solid var(--green-light)}.lm-audio-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:none;border-radius:999px;background:var(--green-dark);color:var(--white);cursor:pointer;transition:background var(--transition-fast)}.lm-audio-toggle:hover{background:var(--green-dark-mid)}.lm-audio-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.lm-audio-titles{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.lm-audio-titles strong{font-size:.9rem}.lm-audio-seek{width:100%;height:6px;margin:5px 0;accent-color:var(--green-dark);cursor:pointer}.lm-audio-seek:focus-visible{outline:2px solid var(--green-dark);outline-offset:3px}.lm-audio-restart{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--green-light-mid);border-radius:999px;background:var(--white);color:var(--green-dark);cursor:pointer}.lm-audio-restart:hover{border-color:var(--green-dark)}.lm-audio-rates{display:inline-flex;gap:.25rem;flex-shrink:0}.lm-audio-rate{border:none;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;padding:.3rem .5rem;border-radius:8px;cursor:pointer}.lm-audio-rate.is-active{background:var(--white);color:var(--green-dark);box-shadow:var(--shadow-sm)}@media(max-width:560px){.lm-audio-player{flex-wrap:wrap}.lm-audio-rates{margin-left:52px}}.lm-menu-wrap{position:relative}.lm-header-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:180px;display:flex;flex-direction:column;padding:6px;background:var(--white);border:1px solid var(--green-light-mid);border-radius:10px;box-shadow:var(--shadow-lg)}.lm-header-menu button{display:flex;align-items:center;gap:8px;padding:.5rem .65rem;border:none;border-radius:7px;background:transparent;color:var(--ink);font-size:.88rem;font-weight:600;text-align:left;cursor:pointer}.lm-header-menu button:hover{background:var(--green-lightest)}.lm-header-menu button svg{color:var(--green-dark);flex-shrink:0}.lm-voice-form{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem;margin-bottom:1rem}.lm-voice-select{width:100%;padding:.6rem .75rem;border-radius:10px;border:1.5px solid var(--border);background:var(--white);color:var(--ink);font-size:.9rem}.lm-voice-select:focus-visible{outline:2px solid var(--green-dark);outline-offset:1px}.lm-lesson-card{padding:1.5rem 1.6rem;line-height:1.6}.lm-lesson-block{padding:.35rem .6rem;margin:0 -.6rem;border-radius:10px;border-left:3px solid transparent;transition:background var(--transition-normal),border-color var(--transition-normal)}.lm-lesson-block.is-speaking{background:var(--green-lightest);border-left-color:var(--green-dark)}.lm-lesson-block.is-cursor{border-left-color:var(--green-light-mid)}.lm-lesson-block .kojo-md-p:first-child,.lm-lesson-block .kojo-md-heading:first-child{margin-top:0}.lm-lesson-block .kojo-md-p:last-child{margin-bottom:0}.lm-label-optional{font-weight:500;font-size:.8rem}.lm-instructions-input{width:100%;resize:vertical;min-height:70px;padding:.6rem .75rem;border-radius:10px;border:1.5px solid var(--border);background:var(--white);color:var(--ink);font-size:.9rem;line-height:1.45}.lm-instructions-input:focus-visible{outline:2px solid var(--green-dark);outline-offset:1px}.lm-char-count{margin:-.4rem 0 0;text-align:right}.lm-count-warning{display:flex;align-items:flex-start;gap:.6rem;margin:-.3rem 0 0;padding:.6rem .75rem;border-radius:10px;background:#d9770614;border:1px solid rgba(217,119,6,.35)}.lm-count-warning svg{color:var(--warning);flex-shrink:0;margin-top:2px}.lm-count-warning p{margin:0}.lm-file-input{display:none}.lm-edit-card{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem}.lm-edit-area{width:100%;min-height:55vh;resize:vertical;line-height:1.55}.lm-video-form{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem;margin-bottom:1rem}.lm-video-input{width:100%;min-height:0;resize:none}.lm-video-card{margin-top:1rem;padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:.75rem}.lm-video-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.lm-video-source{color:var(--green-dark);font-weight:600;white-space:nowrap}.lm-video-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;border:1px solid var(--green-light-mid);overflow:hidden;background:#000}.lm-video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.lm-video-player{width:100%;border-radius:10px;border:1px solid var(--green-light-mid);background:#000}.lm-video-fallback{margin:0}.lm-quiz{margin-top:1.75rem;display:flex;flex-direction:column;gap:.9rem}.lm-quiz-title{margin:0;font-family:var(--font-serif);font-size:1.3rem}.lm-quiz-question{padding:1.1rem 1.2rem}.lm-quiz-q-text{display:flex;align-items:baseline;gap:.4rem;margin:0 0 .75rem;font-weight:600;line-height:1.4}.lm-quiz-q-num{color:var(--green-dark);flex-shrink:0}.lm-quiz-q-md{flex:1;min-width:0}.lm-quiz-q-md .kojo-md-p,.lm-quiz-option-text .kojo-md-p{margin:0}.lm-quiz-q-md .kojo-md-p+.kojo-md-p,.lm-quiz-option-text .kojo-md-p+.kojo-md-p{margin-top:.3rem}.lm-quiz-q-md .math-block,.lm-quiz-option-text .math-block{margin:.35rem 0;overflow-x:auto}.lm-quiz-options{display:flex;flex-direction:column;gap:.5rem}.lm-quiz-option{display:flex;align-items:center;gap:.65rem;width:100%;padding:.6rem .75rem;border-radius:10px;border:1.5px solid var(--border);background:var(--white);text-align:left;font-size:.9rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.lm-quiz-option:hover:not(:disabled){border-color:var(--green-dark)}.lm-quiz-option:disabled{cursor:default}.lm-quiz-option-letter{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--green-lightest);color:var(--green-dark);font-size:.75rem;font-weight:700;flex-shrink:0}.lm-quiz-option-text{flex:1;min-width:0}.lm-quiz-option.is-chosen{border-color:var(--green-dark);background:var(--green-lightest)}.lm-quiz-option.is-correct{border-color:var(--success);background:#10b98114}.lm-quiz-option.is-correct svg{color:var(--success)}.lm-quiz-option.is-wrong{border-color:var(--error);background:#dc26260f}.lm-quiz-option.is-wrong svg{color:var(--error)}.lm-quiz-result{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.3rem;flex-wrap:wrap}.lm-quiz-result.is-pass{border-color:#10b98180}.lm-quiz-result.is-pass>svg{color:var(--success)}.lm-quiz-result.is-fail>svg{color:var(--error)}.lm-quiz-result-body{flex:1;min-width:200px}.lm-quiz-result-body p{margin:.2rem 0 0}@media(prefers-reduced-motion:reduce){.lm-spin{animation:none}.lm-module-row,a.lm-module-row:hover,.lm-lesson-block{transition:none;transform:none}}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0% 0}}.skel{display:inline-block;height:.8rem;border-radius:6px;background:linear-gradient(90deg,#e4ecda 32%,#f4f8ec,#e4ecda 68%);background-size:300% 100%;animation:skel-shimmer 1.6s infinite ease-in-out}.skel--circle{border-radius:999px;flex-shrink:0}.skel-text{display:flex;flex-direction:column;gap:10px;padding:4px 0}.skel-list{display:flex;flex-direction:column;gap:10px}.skel-list-row{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px}.skel-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.skel-card-top{display:flex;align-items:center;gap:10px}.progress-block{display:flex;flex-direction:column;gap:6px;width:100%}.progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.82rem;color:var(--muted)}.progress-detail{font-variant-numeric:tabular-nums;font-weight:600;color:var(--green-dark)}.progress-block .progress-fill{position:relative;min-width:8px;background:linear-gradient(90deg,var(--green-mid),var(--green-dark))}.progress-block .progress-fill:after{content:"";position:absolute;top:50%;right:1px;width:4px;height:4px;transform:translateY(-50%);border-radius:999px;background:var(--green-lightest);opacity:.9}@keyframes progress-sweep{0%{margin-left:-35%}to{margin-left:100%}}.progress-track--indeterminate .progress-fill{width:35%;animation:progress-sweep 1.3s infinite cubic-bezier(.4,0,.6,1)}.inline-loading{display:inline-flex;align-items:center;gap:7px}@media(prefers-reduced-motion:reduce){.skel{animation:none;background:#e4ecda}.progress-track--indeterminate .progress-fill{animation:none;margin-left:0;width:100%;opacity:.35}}.lm-generating-bar--progress{flex-wrap:wrap;align-items:center;row-gap:.45rem;padding:.85rem 1rem}.lm-generating-bar--progress .progress-block{flex-basis:100%}.lm-generating-bar--progress .progress-block span{flex:initial}.loading-notice{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 24px;text-align:center;background:#ffffff75;border:1px dashed var(--green-light-mid);border-radius:8px}.loading-notice-text{display:flex;flex-direction:column;gap:4px;min-width:0}.loading-notice strong{color:var(--ink);font-size:1rem}.loading-notice-hint{animation:fade-in .4s ease}.loading-notice--compact{flex-direction:row;align-items:center;gap:12px;padding:12px 14px;text-align:left}.loading-notice--compact strong{font-size:.9rem}.progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:20px;background:#26301f8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .2s ease}.progress-overlay-card{display:flex;width:min(440px,100%);flex-direction:column;gap:20px;padding:30px 28px;background:var(--white);border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-lg)}.progress-overlay-head{display:flex;flex-direction:column;gap:6px}.progress-overlay-card h2{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:1.4rem;line-height:1.25}.progress-overlay-card .progress-track{height:12px;background:var(--green-lightest)}.progress-overlay-card .progress-head{font-size:.78rem}.progress-stages{display:flex;flex-direction:column;gap:11px;margin:0;padding:0;list-style:none}.progress-stage{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem;transition:color var(--transition-normal),opacity var(--transition-normal)}.progress-stage-mark{display:grid;width:18px;height:18px;flex-shrink:0;place-items:center;border:1.5px solid var(--green-light-mid);border-radius:999px;transition:background var(--transition-normal),border-color var(--transition-normal)}.progress-stage--pending{opacity:.42}.progress-stage--active{color:var(--ink);font-weight:600}.progress-stage--active .progress-stage-mark{border-color:transparent}.progress-stage--done .progress-stage-mark{color:var(--white);background:var(--green-dark);border-color:var(--green-dark)}.progress-overlay-note{margin:0;padding-top:4px;border-top:1px solid var(--gray-200)}@media(prefers-reduced-motion:reduce){.progress-overlay,.loading-notice-hint{animation:none}}.skel-folder-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:300px;padding:24px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.skel-folder-top{display:flex;flex-direction:column;gap:12px}.skel-folder-top .skel:first-of-type{margin-bottom:10px}.skel-folder-icon{border-radius:8px}.skel-folder-footer{display:flex;gap:12px}.skel-folder-mini{display:flex;gap:16px;min-height:132px;padding:22px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.skel-folder-mini-body{display:flex;flex:1;flex-direction:column;gap:9px}.skel-folder-mini-body .skel-folder-footer{margin-top:auto}.skel-test-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px}.skel-test-row-main{display:flex;flex:1;flex-direction:column;gap:8px}.test-list .skel-test-row+.skel-test-row{margin-top:10px}.skel-score-hero{display:grid;gap:12px;justify-items:center;margin-bottom:24px;padding:48px 32px;background:linear-gradient(160deg,var(--green-light),var(--green-light-mid));border:1px solid var(--green-light-mid);border-radius:8px}.skel-score-hero .skel{background:linear-gradient(90deg,#ffffff8c 32%,#ffffffd9,#ffffff8c 68%);background-size:300% 100%}.result-stats .skel-card{align-items:flex-start}.skel-question-card{display:flex;flex-direction:column;gap:22px;padding:26px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.skel-question-head{display:flex;align-items:center;justify-content:space-between}.skel-pill{border-radius:999px}.skel-question-prompt,.skel-question-options{display:flex;flex-direction:column;gap:10px}.skel-option-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--green-light-mid);border-radius:8px;background:#ffffff80}.skel-flashcard{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:320px;padding:32px;background:#ffffffb8;border:1px solid var(--green-light-mid);border-radius:8px;box-shadow:var(--shadow-md)}.skel-flashcard-text{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}.skel-chat{display:grid;grid-template-columns:280px minmax(0,1fr);height:100%;min-height:60vh;grid-column:1 / -1}.skel-chat-sidebar{display:flex;flex-direction:column;gap:16px;padding:22px 18px;border-right:1px solid rgba(113,131,85,.14)}.skel-chat-side-row{display:flex;align-items:center;gap:10px}.skel-chat-main{display:flex;flex-direction:column;gap:14px;max-width:720px;width:100%;margin:0 auto;padding:32px 24px}.skel-chat-bubble{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--green-light-mid);border-radius:16px}.skel-chat-bubble--kojo{width:min(72%,420px);background:#ffffffb8;border-bottom-left-radius:4px}.skel-chat-bubble--user{align-self:flex-end;width:min(52%,300px);background:var(--green-lightest);border-bottom-right-radius:4px}@media(max-width:720px){.skel-chat{grid-template-columns:1fr}.skel-chat-sidebar{display:none}}.skel-weak-card{display:grid;gap:14px;padding:22px;background:linear-gradient(135deg,var(--green-dark),#536342);border-radius:8px}.skel-weak-card .skel{background:linear-gradient(90deg,#e9f5db47 32%,#e9f5db80,#e9f5db47 68%);background-size:300% 100%}.mode-header-loading,.skel-page-head{display:flex;flex-direction:column;gap:10px}.match-loading--with-board{padding:1.5rem 1rem 2rem}.skel-match-tile{display:flex;flex-direction:column;gap:8px;min-height:96px;padding:.7rem .75rem;border:1.5px solid var(--green-light-mid);border-radius:14px;background:#ffffffb8}.kojo-avatar,.kojo-msg-avatar,.kojo-empty-icon{color:var(--green-dark)}.kojo-avatar svg,.kojo-msg-avatar svg,.kojo-empty-icon svg{display:block}.kojo-msg-avatar--working{background:transparent;border-color:transparent;overflow:visible}.chat-mode-shell,.kojo-panel{--surface-1: var(--green-lightest);--surface-2: var(--white)}.chat-mode-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-mode-collapse-btn:hover{background:#7183551a;color:var(--ink)}@media(min-width:761px){.chat-mode-shell--collapsed{grid-template-columns:0 minmax(0,1fr)}.chat-mode-shell--collapsed .chat-mode-sidebar{display:none}}@media(max-width:760px){.chat-mode-collapse-btn{display:none}}.chat-mode-header{min-height:54px;padding:10px 20px}.chat-mode-folder-pill{display:inline-block;margin-top:3px;padding:2px 9px;border-radius:999px;background:#71835524;color:var(--green-dark);font-size:.74rem;font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.chat-mode-shell .kojo-suggestions{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px;width:auto}.chat-mode-shell .kojo-suggestion{border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:500;color:var(--muted);background:#ffffffb8}.chat-mode-shell .kojo-suggestion:hover{color:var(--green-dark);border-color:var(--green-dark-mid)}.kojo-thinking-mascot{display:flex;align-items:center;gap:8px;color:var(--green-dark);font-size:.8rem}.chat-mode-brand{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid rgba(113,131,85,.12)}.chat-mode-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--green-lightest);border:1px solid var(--green-light);color:var(--green-dark);flex-shrink:0}.chat-mode-brand-name{font-family:var(--font-mono);font-weight:600;font-size:.85rem;color:var(--ink)}.chat-mode-brand-new{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;padding:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease}.chat-mode-brand-new:hover:not(:disabled){background:#7183551f;color:var(--green-dark)}.chat-mode-brand-new:disabled{opacity:.5;cursor:not-allowed}.chat-mode-new-chat{display:flex;align-items:center;gap:8px;margin:10px 8px 4px;padding:8px 10px;border-radius:8px;background:transparent;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--green-dark);cursor:pointer;text-align:left;transition:background .15s ease}.chat-mode-new-chat:hover:not(:disabled){background:#7183551a}.chat-mode-new-chat:disabled{opacity:.5;cursor:not-allowed}.chat-mode-sidebar-scroll{flex:1;overflow-y:auto;padding-bottom:14px}.chat-mode-section-label{margin:12px 14px 4px;font-family:var(--font-mono);font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:#8fa07a}.chat-mode-sidebar .chat-mode-folder-list{padding:2px 6px 8px}.kojo-chat-item-date{font-family:var(--font-mono);font-size:.66rem}.chat-mode-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}.chat-mode-title-wrap .chat-mode-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:.9rem}.chat-mode-title-wrap .chat-mode-folder-pill{margin-top:0;flex-shrink:0}.chat-mode-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.chat-mode-docs-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;font-family:var(--font-mono);font-size:.74rem;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chat-mode-docs-btn:hover{background:#71835514;color:var(--ink)}.chat-mode-docs-btn--open{border-color:var(--green-light-mid);background:var(--green-lightest);color:var(--green-dark)}.chat-mode-docs-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--green-dark);color:#fff;font-size:.62rem;font-weight:600}.chat-mode-main{position:relative}.chat-mode-docs-panel{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(88vw,300px);display:flex;flex-direction:column;background:#f9fbf6;border-left:1px solid rgba(113,131,85,.16);box-shadow:-12px 0 32px #26301f1a;animation:chat-mode-docs-in .2s cubic-bezier(.22,1,.36,1)}@keyframes chat-mode-docs-in{0%{transform:translate(12px);opacity:0}to{transform:translate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.chat-mode-docs-panel{animation:none}}.chat-mode-docs-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(113,131,85,.12);font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--ink)}.chat-mode-docs-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s ease}.chat-mode-docs-close:hover{background:#7183551f}.chat-mode-docs-body{flex:1;overflow-y:auto;padding:4px 8px 14px}.chat-mode-docs-body section+section{margin-top:10px}.chat-mode-doc-row{display:flex;align-items:flex-start;gap:9px;width:100%;padding:8px;border-radius:8px;transition:background .15s ease}.chat-mode-doc-row:hover{background:#71835512}.chat-mode-doc-icon{flex-shrink:0;margin-top:3px;color:var(--muted)}.chat-mode-doc-icon--test{color:var(--green-dark)}.chat-mode-doc-info{display:grid;gap:2px;min-width:0;flex:1}.chat-mode-doc-name{font-size:.84rem;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-mode-doc-meta{font-family:var(--font-mono);font-size:.66rem;color:#8fa07a}.chat-mode-doc-delete{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin-top:2px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.chat-mode-doc-row:hover .chat-mode-doc-delete{opacity:1}.chat-mode-doc-delete:hover{background:#fdf2f2;color:#c0392b}.chat-mode-docs-empty{display:grid;justify-items:center;gap:8px;padding:36px 18px;text-align:center;color:#8fa07a;font-size:.82rem;line-height:1.5}.chat-mode-input-chips{margin-bottom:8px}.chat-mode-shell .chat-mode-input-chips.kojo-suggestions{justify-content:flex-start;margin-top:0}.chat-mode-composer-spacer{flex:1}.chat-mode-input-hint{margin:8px 0 0;text-align:center;font-family:var(--font-mono);font-size:.66rem;color:#5969498c}.kojo-blueprint-card{padding:0;gap:0;overflow:hidden;border-radius:10px}.kojo-blueprint-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--green-lightest);border:none;border-bottom:1px solid var(--green-light);color:var(--green-dark);font-family:var(--font-mono);font-size:.72rem;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease}button.kojo-blueprint-head:hover{background:var(--green-light)}.kojo-blueprint-head--static{cursor:default}.kojo-blueprint-head-label{letter-spacing:.06em}.kojo-blueprint-head-toggle{margin-left:auto;font-weight:500;color:var(--muted)}.kojo-blueprint-head-status{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--green-dark)}.kojo-blueprint-body{display:flex;flex-direction:column;gap:14px;padding:12px 14px 14px}.kojo-blueprint-card--done{padding:0}.kojo-blueprint-card--done .kojo-blueprint-done{padding:10px 14px;justify-content:space-between}.chat-mode-shell .kojo-message-time{font-family:var(--font-mono);font-size:.66rem}.kojo-avatar{width:44px;height:44px}.chat-mode-brand-mark{width:34px;height:34px}.kojo-empty-icon{width:72px;height:72px}.chat-mode-shell{--k-canvas: #f6f9f1;--k-rail: #eef3e6;--k-panel: #f9fbf6;--k-field: var(--white);--k-ink: var(--ink);--k-ink-2: #3f4c35;--k-muted: var(--muted);--k-faint: #8fa07a;--k-line: rgba(113, 131, 85, .16);--k-hover: rgba(113, 131, 85, .1);--k-hover-strong: rgba(113, 131, 85, .18);--k-accent: var(--green-dark);--k-accent-tint: rgba(113, 131, 85, .13);--k-danger-tint: rgba(220, 38, 38, .09);background:var(--k-canvas);color:var(--k-ink)}.chat-mode-shell button:focus-visible,.chat-mode-shell a:focus-visible{outline:2px solid var(--k-accent);outline-offset:2px}.chat-mode-shell textarea:focus,.chat-mode-shell textarea:focus-visible,.chat-mode-shell .kojo-browse-search input:focus,.chat-mode-shell .kojo-browse-search input:focus-visible{outline:none}.chat-mode-shell .chat-mode-sidebar{background:var(--k-rail);border-right:1px solid var(--k-line)}.chat-mode-shell .chat-mode-brand{border-bottom:1px solid var(--k-line)}.chat-mode-shell .chat-mode-brand-mark{background:var(--white);border:1px solid var(--k-line)}.chat-mode-shell .chat-mode-brand-name{color:var(--k-ink)}.chat-mode-shell .chat-mode-brand-new,.chat-mode-shell .chat-mode-collapse-btn{color:var(--k-muted)}.chat-mode-shell .chat-mode-brand-new:hover:not(:disabled),.chat-mode-shell .chat-mode-collapse-btn:hover{background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .chat-mode-new-chat{color:var(--k-accent)}.chat-mode-shell .chat-mode-new-chat:hover:not(:disabled){background:var(--k-hover)}.chat-mode-shell .chat-mode-section-label{color:var(--k-faint)}.chat-mode-shell .chat-mode-folder-btn{font-size:.84rem;color:var(--k-ink-2)}.chat-mode-shell .chat-mode-folder-btn svg{color:var(--k-faint)}.chat-mode-shell .chat-mode-folder-btn:hover{background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .chat-mode-folder-btn:hover svg{color:var(--k-ink)}.chat-mode-shell .chat-mode-folder-btn--active{background:var(--k-hover-strong);color:var(--k-ink)}.chat-mode-shell .chat-mode-folder-btn--active svg{color:var(--k-accent)}.chat-mode-shell .kojo-chat-list{max-height:none;overflow:visible;padding:0 6px}.chat-mode-shell .kojo-chat-item:hover{background:var(--k-hover)}.chat-mode-shell .kojo-chat-item--active{background:var(--k-hover-strong)}.chat-mode-shell .kojo-chat-item-name{font-size:.8rem;color:var(--k-ink-2)}.chat-mode-shell .kojo-chat-item--active .kojo-chat-item-name{color:var(--k-ink)}.chat-mode-shell .kojo-chat-item-date,.chat-mode-shell .kojo-chat-item-delete{color:var(--k-faint)}.chat-mode-shell .kojo-chat-item-delete:hover{background:var(--k-danger-tint);color:var(--error)}.chat-mode-shell .chat-mode-header{background:var(--k-canvas);border-bottom:1px solid var(--k-line)}.chat-mode-shell .chat-mode-title{font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--k-ink)}.chat-mode-shell .chat-mode-folder-pill{background:var(--k-accent-tint);color:var(--k-accent);font-family:var(--font-sans);font-size:.68rem}.chat-mode-title--editable{padding:3px 6px;margin-left:-6px;border-radius:6px;cursor:text;transition:background var(--transition-fast)}.chat-mode-title--editable:hover{background:var(--k-hover)}.chat-mode-title-input{min-width:0;width:min(320px,40vw);padding:3px 6px;margin-left:-6px;border:1px solid var(--green-mid);border-radius:6px;background:var(--white);color:var(--k-ink);font-family:var(--font-sans);font-size:.82rem;font-weight:600;outline:none}.chat-mode-shell .kojo-avatar{background:transparent;border:none}.chat-mode-shell .chat-mode-docs-btn,.chat-mode-shell .kojo-header-btn{color:var(--k-muted)}.chat-mode-shell .chat-mode-docs-btn:hover,.chat-mode-shell .kojo-header-btn:hover:not(:disabled){background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .chat-mode-docs-btn--open{background:var(--k-accent-tint);border-color:#71835552;color:var(--k-accent)}.chat-mode-shell .chat-mode-docs-count{background:var(--green-lightest);border:1px solid var(--green-light);color:var(--muted);font-size:.68rem;font-weight:700}.chat-mode-shell .chat-mode-docs-btn--open .chat-mode-docs-count{border-color:var(--green-light-mid);color:var(--green-dark)}.chat-mode-shell .kojo-header-btn--danger:hover:not(:disabled){background:var(--k-danger-tint);color:var(--error)}.chat-mode-shell .kojo-clear-inline{background:var(--k-field);border-color:var(--k-line);color:var(--k-ink-2)}.chat-mode-shell .chat-mode-messages-inner{max-width:720px;padding:32px 28px 16px}.chat-mode-shell .kojo-message{gap:10px;padding:0;margin-bottom:22px}.chat-mode-shell .kojo-msg-avatar{width:44px;height:44px;margin-top:0;background:var(--white);border:1px solid var(--k-line)}.chat-mode-shell .kojo-msg-avatar--working{background:transparent;border-color:transparent;overflow:visible}.chat-mode-shell .kojo-markdown{color:var(--k-ink-2);font-size:.9rem;line-height:1.65}.chat-mode-shell .kojo-markdown .kojo-md-heading{color:var(--k-ink)}.chat-mode-shell .kojo-inline-code,.chat-mode-shell .kojo-code-block{background:var(--k-hover);border-color:var(--k-line);color:var(--k-ink)}.chat-mode-shell .kojo-message-time{display:block;margin-top:6px;font-family:var(--font-sans);font-size:.65rem;color:var(--k-faint);opacity:1}.chat-mode-shell .kojo-user-col{display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:78%}.chat-mode-shell .kojo-user-bubble{max-width:100%;padding:10px 14px;border-radius:12px;background:var(--k-ink);color:var(--k-canvas);font-size:.9rem;box-shadow:0 2px 8px #26301f2e}.chat-mode-shell .kojo-user-bubble p{color:var(--k-canvas)}.chat-mode-shell .kojo-message-time--user{color:var(--k-faint);text-align:right}.chat-mode-shell .kojo-command-pill{background:#e9f5db29;border-color:#e9f5db42;color:var(--k-canvas);font-family:var(--font-sans)}.chat-mode-shell .kojo-thinking span{background:var(--k-muted)}.chat-mode-shell .kojo-thinking-label{color:var(--k-muted)}.chat-mode-shell .kojo-error{display:flex;align-items:center;gap:10px;background:#fdf2f2;border-color:#dc262638;color:var(--error)}.chat-mode-shell .kojo-error svg{flex-shrink:0}.chat-mode-shell .kojo-notice{color:var(--k-muted)}.chat-mode-shell .kojo-empty{padding:64px 24px 32px}.chat-mode-shell .kojo-empty-title{font-family:var(--font-serif);font-size:1.6rem;color:var(--k-ink)}.chat-mode-shell .kojo-empty-sub{max-width:400px;color:var(--k-muted)}.chat-mode-shell .kojo-empty-sub strong{color:var(--k-accent)}.chat-mode-shell .kojo-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:560px;margin:18px auto 0}.chat-mode-shell .kojo-suggestion{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--k-line);border-radius:999px;background:transparent;font-family:var(--font-sans);font-size:.72rem;font-weight:500;color:var(--k-muted)}.chat-mode-shell .kojo-suggestion svg{flex-shrink:0}.chat-mode-shell .kojo-suggestion:hover{border-color:var(--k-accent);background:var(--k-accent-tint);color:var(--k-accent)}.chat-mode-shell .chat-mode-input-area{padding:6px 24px 18px}.chat-mode-shell .chat-mode-input-chips.kojo-suggestions{justify-content:flex-start;max-width:none;margin:0 0 8px}.chat-mode-shell .chat-mode-input-wrap{padding:8px 10px;border:1px solid var(--k-line);border-radius:14px;background:var(--k-field);box-shadow:none}.chat-mode-shell .chat-mode-input-wrap:focus-within{border-color:var(--green-mid);box-shadow:0 2px 12px var(--k-hover)}.chat-mode-composer-row{display:flex;align-items:flex-end;gap:8px}.chat-mode-shell .kojo-input{flex:1;padding:6px 0;background:transparent;color:var(--k-ink);font-size:.9rem}.chat-mode-shell .kojo-input::placeholder{color:var(--k-faint)}.chat-mode-shell .kojo-attach-btn{border:none;background:transparent;color:var(--k-muted)}.chat-mode-shell .kojo-attach-btn:hover:not(:disabled),.chat-mode-shell .kojo-attach-btn--open{background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .kojo-send{width:30px;height:30px;border-radius:8px;background:var(--k-ink);color:var(--k-canvas)}.chat-mode-shell .kojo-send:not(:disabled):hover{background:var(--k-accent);transform:none}.chat-mode-shell .kojo-send:disabled{background:transparent;color:#59694973}.chat-mode-shell .chat-mode-input-hint{color:#596949b3}.chat-mode-shell .chat-mode-upload-error{color:var(--error)}.chat-mode-shell .chat-mode-docs-panel{background:var(--k-panel);border-left:1px solid var(--k-line);box-shadow:-14px 0 34px #26301f1a}.chat-mode-shell .chat-mode-docs-header{border-bottom:1px solid var(--k-line);color:var(--k-ink)}.chat-mode-shell .chat-mode-docs-close{color:var(--k-muted)}.chat-mode-shell .chat-mode-docs-close:hover,.chat-mode-shell .chat-mode-doc-row:hover{background:var(--k-hover)}.chat-mode-shell .chat-mode-doc-name{color:var(--k-ink)}.chat-mode-shell .chat-mode-doc-icon{color:var(--k-muted)}.chat-mode-shell .chat-mode-doc-icon--test{color:var(--k-accent)}.chat-mode-shell .chat-mode-doc-meta,.chat-mode-shell .chat-mode-docs-empty{color:var(--k-faint)}.chat-mode-shell .chat-mode-doc-delete{color:var(--k-muted)}.chat-mode-shell .chat-mode-doc-delete:hover{background:var(--k-danger-tint);color:var(--error)}.chat-mode-shell .kojo-blueprint-card{--card-accent: var(--green-dark);margin-top:8px;border:1px solid rgba(113,131,85,.32);border-radius:8px;background:#71835512}.chat-mode-shell .kojo-blueprint-head{background:transparent;border-bottom:1px solid rgba(113,131,85,.22);color:var(--card-accent);font-size:.7rem;letter-spacing:.04em}.chat-mode-shell button.kojo-blueprint-head:hover{background:#7183551a}.chat-mode-shell .kojo-blueprint-head-toggle{color:var(--k-faint)}.chat-mode-shell .kojo-blueprint-head-status{color:var(--card-accent)}.chat-mode-shell .kojo-blueprint-intro{color:var(--k-muted);font-size:.82rem}.chat-mode-shell .kojo-blueprint-label{font-family:var(--font-sans);font-size:.68rem;color:var(--k-muted)}.chat-mode-shell .kojo-blueprint-input,.chat-mode-shell .kojo-blueprint-select{border:1px solid var(--k-line);border-radius:6px;background:var(--white);color:var(--k-ink);font-size:.82rem}.chat-mode-shell .kojo-blueprint-input:focus,.chat-mode-shell .kojo-blueprint-select:focus{border-color:var(--card-accent);outline:none}.chat-mode-shell .kojo-blueprint-btn{border-radius:6px;font-family:var(--font-sans);font-size:.74rem}.chat-mode-shell .kojo-blueprint-btn--primary{border:none;background:var(--card-accent);color:#f7f5ef}.chat-mode-shell .kojo-blueprint-btn--primary:hover:not(:disabled){background:var(--k-ink)}.chat-mode-shell .kojo-blueprint-btn--ghost{border:none;background:transparent;color:var(--k-muted)}.chat-mode-shell .kojo-blueprint-btn--ghost:hover:not(:disabled){background:var(--k-hover)}.chat-mode-shell .kojo-blueprint-done{color:var(--k-ink);font-size:.85rem}.chat-mode-shell .kojo-blueprint-test-link{color:var(--card-accent);font-family:var(--font-sans);font-size:.74rem}.chat-mode-shell .kojo-blueprint-error{color:var(--error)}@media(min-width:761px){.chat-mode-shell--collapsed{grid-template-columns:minmax(0,1fr)}}.chat-mode-nav{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--k-line)}.chat-mode-nav-btn{display:flex;align-items:center;gap:8px;margin:0 8px 4px;padding:8px 10px;border:none;border-radius:8px;background:transparent;font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:var(--k-muted);cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.chat-mode-nav-btn:hover{background:var(--k-hover);color:var(--k-ink)}.chat-mode-nav-btn--active{background:var(--k-hover-strong);color:var(--k-ink)}.kojo-browse,.kojo-home{flex:1;overflow-y:auto}.kojo-browse-inner{max-width:820px;margin:0 auto;padding:36px 28px 40px}.kojo-browse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.kojo-browse-head h1{margin:0;font-family:var(--font-serif);font-size:1.7rem;color:var(--k-ink)}.kojo-browse-new{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--k-line);border-radius:8px;background:var(--white);font-family:var(--font-sans);font-size:.76rem;font-weight:600;color:var(--k-ink);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.kojo-browse-new:hover{border-color:var(--green-mid);background:var(--green-lightest)}.kojo-browse-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px;border:1px solid var(--k-line);border-radius:10px;background:var(--white)}.kojo-browse-field{flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--k-line);border-radius:7px;background:var(--k-canvas);color:var(--k-ink);font-family:inherit;font-size:.86rem;outline:none}.kojo-browse-field:focus{border-color:var(--green-mid)}.kojo-browse-create,.kojo-browse-cancel{padding:8px 14px;border:none;border-radius:7px;font-family:var(--font-sans);font-size:.76rem;font-weight:600;cursor:pointer}.kojo-browse-create{background:var(--green-dark);color:var(--white)}.kojo-browse-create:disabled{opacity:.5;cursor:not-allowed}.kojo-browse-cancel{background:transparent;color:var(--k-muted)}.kojo-browse-error{flex-basis:100%;margin:0;color:var(--error);font-size:.8rem}.kojo-browse-search{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;border:1px solid var(--k-line);border-radius:10px;background:var(--white);color:var(--k-faint);transition:border-color var(--transition-fast)}.kojo-browse-search:focus-within{border-color:var(--green-mid)}.kojo-browse-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--k-ink);font-family:inherit;font-size:.9rem}.kojo-browse-search input::-webkit-search-cancel-button{display:none}.kojo-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.kojo-browse-card{display:flex;flex-direction:column;gap:8px;min-height:132px;padding:16px;border:1px solid var(--k-line);border-radius:12px;background:var(--white);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.kojo-browse-card:hover{border-color:var(--green-light-mid);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kojo-browse-card-name{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--k-ink);line-height:1.35}.kojo-browse-card-desc{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1;color:var(--k-muted);font-size:.84rem;line-height:1.5}.kojo-browse-card-meta{font-family:var(--font-sans);font-size:.68rem;color:var(--k-faint)}.kojo-browse-empty,.kojo-home-empty{margin:0;padding:20px 0;color:var(--k-muted);font-size:.86rem}.kojo-home-inner{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;max-width:980px;margin:0 auto;padding:32px 28px 40px}.kojo-home-back{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;font-family:var(--font-sans);font-size:.76rem;color:var(--k-muted);cursor:pointer}.kojo-home-back:hover{color:var(--k-ink)}.kojo-home-title{margin:16px 0 6px;font-family:var(--font-serif);font-size:1.85rem;color:var(--k-ink)}.kojo-home-desc{margin:0 0 20px;color:var(--k-muted);font-size:.9rem;line-height:1.6}.kojo-home-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border:1px solid var(--k-line);border-radius:14px;background:var(--white);transition:border-color var(--transition-fast)}.kojo-home-composer:focus-within{border-color:var(--green-mid)}.kojo-home-composer textarea{flex:1;min-height:44px;border:none;outline:none;resize:none;background:transparent;color:var(--k-ink);font-family:inherit;font-size:.9rem;line-height:1.55}.kojo-home-composer textarea::placeholder{color:var(--k-faint)}.kojo-home-label{margin-left:0;margin-top:28px}.kojo-home-recents{display:grid;gap:2px}.kojo-home-recent{display:flex;align-items:center;gap:10px;width:100%;padding:11px 10px;border:none;border-bottom:1px solid var(--k-line);border-radius:6px;background:transparent;color:var(--k-ink);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.kojo-home-recent:hover{background:var(--k-hover)}.kojo-home-recent svg{flex-shrink:0;color:var(--k-faint)}.kojo-home-recent-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.kojo-home-recent-time{flex-shrink:0;font-family:var(--font-sans);font-size:.68rem;color:var(--k-faint)}.kojo-home-rail{display:grid;align-content:start;gap:12px}.kojo-home-card{padding:6px 12px 14px;border:1px solid var(--k-line);border-radius:12px;background:var(--white)}.kojo-home-card .chat-mode-section-label{margin-left:2px}.kojo-home-stats{display:grid;gap:8px;margin:0 0 12px;padding:0 2px}.kojo-home-stats div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.kojo-home-stats dt{font-family:var(--font-sans);font-size:.72rem;color:var(--k-muted)}.kojo-home-stats dd{margin:0;font-size:.86rem;font-weight:600;color:var(--k-ink)}.kojo-home-link{display:inline-flex;align-items:center;gap:6px;padding:0 2px;font-family:var(--font-sans);font-size:.74rem;color:var(--k-accent);text-decoration:none}.kojo-home-link:hover{text-decoration:underline}@media(max-width:860px){.kojo-home-inner{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 16px 32px}.kojo-browse-inner{padding:24px 16px 32px}}@media(max-width:760px){.chat-mode-shell .chat-mode-messages-inner{padding:20px 14px 12px}.chat-mode-shell .chat-mode-input-area{padding:4px 12px 14px}.chat-mode-shell .chat-mode-input-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chat-mode-shell .chat-mode-input-chips .kojo-suggestion{flex-shrink:0}.chat-mode-shell .kojo-user-col{max-width:88%}}.chat-mode-shell .chat-mode-brand-name,.chat-mode-shell .chat-mode-new-chat,.chat-mode-shell .chat-mode-section-label,.chat-mode-shell .kojo-chat-item-date,.chat-mode-shell .chat-mode-docs-btn,.chat-mode-shell .chat-mode-docs-header,.chat-mode-shell .chat-mode-doc-meta,.chat-mode-shell .chat-mode-input-hint,.chat-mode-shell .kojo-blueprint-head,.chat-mode-shell .kojo-message-time,.chat-mode-shell .kojo-command-pill,.chat-mode-shell .kojo-suggestion,.chat-mode-shell .chat-mode-title,.chat-mode-shell .chat-mode-folder-pill{font-family:var(--font-sans)}.kojo-action-textarea{resize:vertical;min-height:56px;font:inherit;line-height:1.45}.kojo-action-folderpick{display:flex;gap:6px;align-items:center}.kojo-action-folderpick .kojo-blueprint-select{flex:1;min-width:0}.kojo-action-newfolder{display:flex;gap:6px;align-items:center}.kojo-action-newfolder .kojo-blueprint-input{flex:1;min-width:0}.kojo-action-newfolder-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border, #d8d3c4);background:transparent;color:inherit;border-radius:8px;padding:6px 10px;font-size:.78rem;cursor:pointer;white-space:nowrap}.kojo-action-newfolder-btn:hover:not(:disabled){background:var(--green-lightest, #eef3ea)}.kojo-action-card--deleted{opacity:.75}.kojo-action-deleted-name{text-decoration:line-through;opacity:.7}.kojo-action-deleted-note{font-size:.75rem;opacity:.65;font-style:italic}.kojo-attach-menu-label{margin:6px 0 2px;padding:8px 10px 0;font-family:var(--mono, ui-monospace, monospace);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55;border-top:1px solid var(--border, #d8d3c4)}.lm-archived-section{margin-top:1.5rem;border-top:1px solid var(--border);padding-top:1.1rem}.lm-archived-toggle{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--white);color:var(--ink);font-size:.85rem;font-weight:600;padding:.45rem .85rem;border-radius:999px;cursor:pointer}.lm-archived-toggle:hover{border-color:var(--green-dark)}.lm-chevron-open{transform:rotate(90deg)}.lm-archived-tracks{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem}.lm-archived-track{border:1px solid var(--border);border-radius:14px;background:var(--white);padding:.4rem .5rem .4rem .2rem}.lm-archived-track-head{display:flex;align-items:center;gap:.5rem}.lm-archived-track-toggle{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;border:none;background:transparent;color:var(--ink);cursor:pointer;padding:.45rem .35rem;text-align:left}.lm-archived-track-title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lm-module-list--archived{margin-top:.5rem;padding:0 .35rem .35rem}.kojo-staged{display:inline-flex;align-items:center;gap:.55rem;padding:.15rem 0;color:var(--muted);font-size:.85rem}.kojo-staged-dots{display:inline-flex;align-items:center;gap:3px}.kojo-staged-dots i{width:5px;height:5px;border-radius:50%;background:var(--green-dark-mid);animation:kojo-dot 1.1s ease-in-out infinite}.kojo-staged-dots i:nth-child(2){animation-delay:.15s}.kojo-staged-dots i:nth-child(3){animation-delay:.3s}@keyframes kojo-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.kojo-staged-label{font-weight:500;letter-spacing:.01em;color:var(--green-dark);animation:kojo-staged-in .34s ease}@keyframes kojo-staged-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.kojo-answer{position:relative}.kojo-caret{display:inline-block;width:2px;height:1.05em;margin-left:1px;vertical-align:text-bottom;background:var(--green-dark);animation:kojo-caret-blink 1s steps(1) infinite}@keyframes kojo-caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.kojo-reasoning{margin:0 0 .4rem}.kojo-reasoning-toggle{display:inline-flex;align-items:center;gap:.28rem;padding:.1rem 0;background:none;border:none;cursor:pointer;color:var(--green-dark-mid);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.kojo-reasoning-toggle:hover{color:var(--green-dark);opacity:1}.kojo-reasoning-chevron{transition:transform .18s ease;flex-shrink:0}.kojo-reasoning--open .kojo-reasoning-chevron{transform:rotate(90deg)}.kojo-reasoning-live{text-transform:none;letter-spacing:0;font-weight:500;font-style:italic;color:var(--green-dark-mid);animation:kojo-reasoning-pulse 1.3s ease-in-out infinite}@keyframes kojo-reasoning-pulse{0%,to{opacity:.55}50%{opacity:1}}.kojo-reasoning-body{margin-top:.25rem;padding:.05rem 0 .05rem .7rem;border-left:2px solid var(--green-lightest);color:var(--green-dark-mid);font-size:.76rem;line-height:1.45;opacity:.85;animation:kojo-staged-in .24s ease}.kojo-reasoning-body .kojo-markdown,.kojo-reasoning-body p,.kojo-reasoning-body li{color:var(--green-dark-mid);font-size:.76rem;line-height:1.45}.kojo-reasoning-body .kojo-md-p{margin:.25rem 0}@media(prefers-reduced-motion:reduce){.kojo-staged-dots i,.kojo-caret,.kojo-reasoning-live,.kojo-staged-label,.kojo-reasoning-body{animation:none}}.kojo-code-head{position:sticky;left:0;display:flex;align-items:center;gap:12px;margin-bottom:8px;min-height:16px}.kojo-code-block .kojo-code-head .kojo-code-lang{margin-bottom:0}.kojo-code-copy{display:inline-flex;align-items:center;gap:5px;margin-left:auto;flex-shrink:0;border:none;border-radius:6px;background:transparent;color:currentColor;opacity:.62;font-family:var(--font-sans);font-size:.7rem;line-height:1;padding:3px 7px;cursor:pointer;transition:opacity .12s ease,background .12s ease}.kojo-code-copy:hover{opacity:1;background:#7f7f7f29}.kojo-code-copy:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:1px}.chat-mode-shell .kojo-user-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;margin-top:4px}.chat-mode-shell .kojo-user-meta .kojo-message-time--user,.chat-mode-shell .kojo-user-meta .kojo-message-time{margin-top:0}.chat-mode-shell .kojo-user-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s ease}.chat-mode-shell .kojo-user-col:hover .kojo-user-actions,.chat-mode-shell .kojo-user-actions:focus-within{opacity:1}.chat-mode-shell .kojo-user-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:7px;background:transparent;color:var(--k-faint);cursor:pointer;transition:background .12s ease,color .12s ease}.chat-mode-shell .kojo-user-action:hover{background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .kojo-user-action:focus-visible{outline:2px solid var(--k-accent);outline-offset:1px}.chat-mode-shell .kojo-user-action:disabled{opacity:.4;cursor:default}.chat-mode-shell .kojo-version-switch{display:inline-flex;align-items:center;gap:1px;font-family:var(--font-sans);font-size:.68rem;color:var(--k-faint)}.chat-mode-shell .kojo-version-switch span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums}.chat-mode-shell .kojo-version-switch button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--k-faint);cursor:pointer;transition:background .12s ease,color .12s ease}.chat-mode-shell .kojo-version-switch button:hover:not(:disabled){background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .kojo-version-switch button:disabled{opacity:.35;cursor:default}.chat-mode-shell .kojo-user-bubble--failed{background:#9a4038}.chat-mode-shell .kojo-user-failed{display:flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--font-sans);font-size:.72rem;color:#b3352b}.chat-mode-shell .kojo-user-retry{display:inline-flex;align-items:center;gap:4px;border:1px solid #e2b4ae;border-radius:999px;background:#fdf3f2;color:#b3352b;font-family:inherit;font-size:.72rem;padding:2px 9px;cursor:pointer;transition:background .12s ease}.chat-mode-shell .kojo-user-retry:hover:not(:disabled){background:#f9e6e4}.chat-mode-shell .kojo-user-retry:disabled{opacity:.5;cursor:default}.chat-mode-shell .kojo-user-col--editing{max-width:100%;width:100%;align-items:stretch}.chat-mode-shell .kojo-user-edit{display:flex;flex-direction:column;gap:8px;width:100%}.chat-mode-shell .kojo-user-edit-input{width:100%;border:1px solid var(--k-line);border-radius:12px;background:var(--k-field);color:var(--k-ink);font-family:var(--font-sans);font-size:.9rem;line-height:1.5;padding:10px 12px;resize:vertical}.chat-mode-shell .kojo-user-edit-input:focus{outline:none;border-color:var(--k-accent);box-shadow:0 0 0 3px var(--k-accent-tint)}.chat-mode-shell .kojo-user-edit-actions{display:flex;justify-content:flex-end;gap:8px}.chat-mode-shell .kojo-user-edit-cancel,.chat-mode-shell .kojo-user-edit-send{border-radius:8px;font-family:var(--font-sans);font-size:.8rem;padding:6px 14px;cursor:pointer;transition:background .12s ease,opacity .12s ease}.chat-mode-shell .kojo-user-edit-cancel{border:1px solid var(--k-line);background:transparent;color:var(--k-muted)}.chat-mode-shell .kojo-user-edit-cancel:hover{background:var(--k-hover)}.chat-mode-shell .kojo-user-edit-send{border:none;background:var(--k-accent);color:#fff}.chat-mode-shell .kojo-user-edit-send:disabled{opacity:.5;cursor:default}@media(hover:none){.chat-mode-shell .kojo-user-actions{opacity:1}}.chat-mode-shell .kojo-answer-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.chat-mode-shell .kojo-answer-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s ease}.chat-mode-shell .kojo-message--assistant:hover .kojo-answer-actions,.chat-mode-shell .kojo-answer-actions:focus-within{opacity:1}.chat-mode-shell .kojo-answer-meta .kojo-message-time{margin-top:0}@media(hover:none){.chat-mode-shell .kojo-answer-actions{opacity:1}}.chat-mode-shell .kojo-send--stop{background:var(--k-ink);color:var(--k-canvas)}.chat-mode-shell .kojo-send--stop:hover{background:var(--k-ink-2)}.chat-mode-shell .kojo-send--stop svg{fill:currentColor}.settings-custom-instruction{width:100%;border:1px solid var(--green-light-mid);border-radius:10px;background:var(--white);color:var(--ink);font-family:inherit;font-size:.92rem;line-height:1.5;padding:10px 12px;resize:vertical;margin-top:8px}.settings-custom-instruction:focus{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 3px #71835526}.settings-custom-instruction-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.settings-inline-clear{border:none;background:none;color:var(--green-dark);font-size:.82rem;cursor:pointer;padding:2px 4px}.settings-inline-clear:hover{text-decoration:underline}.settings-memory-card{border:1px solid var(--green-light-mid);border-radius:10px;background:var(--green-lightest);padding:12px 14px;margin:10px 0}.settings-memory-text{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink)}.settings-memory-date{margin:8px 0 0}.settings-secondary-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--green-light-mid);border-radius:8px;background:var(--white);color:var(--green-dark);font-family:inherit;font-size:.88rem;padding:7px 14px;cursor:pointer;transition:background var(--transition-fast)}.settings-secondary-btn:hover:not(:disabled){background:var(--green-lightest)}.settings-secondary-btn:disabled{opacity:.55;cursor:default}.chat-mode-shell .kojo-files-card{position:relative}.chat-mode-shell .kojo-files-card--drag{border-color:var(--k-accent);box-shadow:0 0 0 3px var(--k-accent-tint)}.chat-mode-shell .kojo-files-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-mode-shell .kojo-files-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--k-line);border-radius:7px;background:var(--k-field);color:var(--k-ink);cursor:pointer;transition:background .12s ease,border-color .12s ease}.chat-mode-shell .kojo-files-add:hover:not(:disabled){background:var(--k-hover);border-color:var(--k-accent)}.chat-mode-shell .kojo-files-add:disabled{opacity:.5;cursor:default}.chat-mode-shell .kojo-files-drop{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;margin-top:8px;padding:18px 12px;border:1.5px dashed var(--k-line);border-radius:12px;background:transparent;color:var(--k-muted);cursor:pointer;text-align:center;transition:border-color .12s ease,background .12s ease,color .12s ease}.chat-mode-shell .kojo-files-drop:hover:not(:disabled){border-color:var(--k-accent);background:var(--k-hover);color:var(--k-ink)}.chat-mode-shell .kojo-files-drop:disabled{opacity:.6;cursor:default}.chat-mode-shell .kojo-files-drop-main{font-size:.82rem}.chat-mode-shell .kojo-files-drop-link{color:var(--k-accent);font-weight:600}.chat-mode-shell .kojo-files-drop-hint{font-size:.7rem;color:var(--k-faint)}.chat-mode-shell .kojo-files-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.chat-mode-shell .kojo-file-row{align-items:center}.chat-mode-shell .kojo-file-badge{flex-shrink:0;margin-left:auto;font-family:var(--font-sans);font-size:.6rem;font-weight:700;letter-spacing:.04em;color:var(--k-faint);border:1px solid var(--k-line);border-radius:4px;padding:2px 5px}.chat-mode-shell .kojo-files-error{margin:8px 0 0;font-size:.72rem;color:#b3352b}.chat-mode-shell .kojo-files-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:14px;background:#f6f9f1eb;color:var(--k-accent);font-size:.8rem;font-weight:600;pointer-events:none}.lc-cadence{min-width:0;padding:20px 22px;border:1px solid var(--lc-border);border-radius:12px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.lc-cadence-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.lc-cadence-head h2{margin:0;font-family:Lora,Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--ink)}.lc-cadence-sub{font-size:.72rem;color:var(--muted, #596949);font-variant-numeric:tabular-nums;white-space:nowrap}.lc-cadence-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.lc-cadence-stat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--lc-border);border-radius:10px;background:var(--green-lightest, #eef4e4);min-width:92px}.lc-cadence-stat strong{font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1;color:var(--green-dark);font-variant-numeric:tabular-nums}.lc-cadence-stat small{font-size:.68rem;letter-spacing:.02em;color:var(--muted, #596949)}.lc-cadence-resume{display:flex;align-items:center;gap:12px;flex:1;min-width:160px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--green-dark) 30%,white);border-radius:10px;background:#ffffffe6;color:var(--ink);cursor:pointer;text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.lc-cadence-resume:hover{border-color:var(--green-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.lc-cadence-resume-copy{display:grid;gap:2px;flex:1;min-width:0}.lc-cadence-resume-copy small{font-size:.66rem;letter-spacing:.02em;text-transform:uppercase;color:var(--muted, #596949)}.lc-cadence-resume-copy strong{font-family:Lora,Georgia,serif;font-size:.92rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-cadence-resume>svg{color:var(--green-dark);flex-shrink:0;transition:transform var(--transition-fast)}.lc-cadence-resume:hover>svg{transform:translate(3px)}.lc-cadence-scroll{overflow-x:auto;padding-bottom:4px}.lc-cadence-grid{display:grid;grid-template-rows:repeat(7,16px);grid-auto-flow:column;grid-auto-columns:16px;gap:4px;width:max-content}.lc-cadence-cell{width:16px;height:16px;border-radius:3px;background:var(--green-lightest, #e9f0dd);box-shadow:inset 0 0 0 1px #1b37180a;transition:outline-color .1s ease}.lc-cadence-cell[data-level="1"]{background:#b7d89a}.lc-cadence-cell[data-level="2"]{background:#7fb85f}.lc-cadence-cell[data-level="3"]{background:#4f9636}.lc-cadence-cell[data-level="4"]{background:var(--green-dark, #2f5e1f)}.lc-cadence-cell.is-today{outline:2px solid var(--green-dark);outline-offset:1px}.lc-cadence-cell.is-future{background:transparent;box-shadow:none}.lc-cadence-scroll .lc-cadence-cell:hover{outline:1px solid rgba(27,55,24,.35);outline-offset:1px}.lc-cadence-legend{display:flex;align-items:center;gap:4px;margin-top:14px;font-size:.7rem;color:var(--muted, #596949)}.lc-cadence-legend .lc-cadence-cell{width:16px;height:16px}.lc-cadence-legend>span:first-child{margin-right:2px}.lc-cadence-legend>span:last-child{margin-left:2px}.lc-dash-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;align-items:stretch}@media(max-width:760px){.lc-dash-row{grid-template-columns:1fr}}.lc-insight-card{padding:20px 22px;border:1px solid var(--lc-border);border-radius:12px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.lc-insight-title{margin:0 0 16px;font-family:Lora,Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--ink)}.lc-mastery-list,.lc-focus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lc-mastery-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}.lc-mastery-label{font-size:.82rem;font-weight:600;color:var(--ink)}.lc-mastery-count{font-size:.72rem;color:var(--muted, #596949);font-variant-numeric:tabular-nums}.lc-mastery-bar{height:6px;border-radius:999px;background:#e3eed3;overflow:hidden}.lc-mastery-bar>span{display:block;height:100%;border-radius:999px;transition:width .3s ease}.lc-focus-sub{margin:-8px 0 14px;font-size:.72rem;color:var(--muted, #596949)}.lc-focus-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.lc-focus-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--lc-border);border-radius:999px;background:#e9f5db99;color:var(--ink);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .13s ease,border-color .13s ease}.lc-focus-chip:hover{background:var(--green-lightest);border-color:var(--green-dark-mid)}.lc-focus-chip-count{font-size:.68rem;font-weight:700;color:var(--muted, #596949);font-variant-numeric:tabular-nums}.lc-focus-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;margin-top:auto;border:none;border-radius:10px;background:linear-gradient(135deg,var(--green-dark),#536342);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:filter .13s ease}.lc-focus-generate-btn:hover{filter:brightness(1.06)}.lc-focus-generate-btn:disabled{opacity:.7;cursor:default;filter:none}.lc-focus-complete{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;margin-top:auto;border:1px solid var(--green-dark);border-radius:10px;background:var(--green-lightest);color:var(--green-dark);font-size:.85rem;font-weight:700;cursor:pointer;text-align:left;transition:background .13s ease,filter .13s ease}.lc-focus-complete:hover{filter:brightness(.98)}.lc-focus-complete-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-focus-complete svg{flex-shrink:0}.lc-focus-card,.lc-reminders-card{display:flex;flex-direction:column}.lc-reminders-list{display:flex;flex-direction:column;gap:14px;flex:1}.lc-reminder-feature{display:flex;flex-direction:column;flex:1;gap:8px;width:100%;padding:18px 20px;border:1px solid var(--lc-border);border-radius:12px;background:#f7faf2b3;color:var(--ink);cursor:pointer;text-align:left;transition:background .13s ease,border-color .13s ease,box-shadow .13s ease}.lc-reminder-feature:hover{background:var(--green-lightest);border-color:var(--green-dark-mid);box-shadow:var(--shadow-sm)}.lc-reminder-feature-top{display:flex;align-items:center;justify-content:space-between}.lc-reminder-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--green-lightest);color:var(--green-dark)}.lc-reminder-badge{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green-dark);background:#fff;border:1px solid var(--lc-border);border-radius:999px;padding:2px 9px}.lc-reminder-feature-title{font-family:Lora,Georgia,serif;font-size:1rem;font-weight:700;color:var(--ink)}.lc-reminder-feature-copy{margin:0;flex:1;font-size:.78rem;line-height:1.55;color:var(--muted, #596949)}.lc-reminder-feature-cta{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--green-dark)}.lc-reminder-feature--active{cursor:default;border-color:var(--green-dark-mid);background:var(--green-lightest)}.lc-reminder-badge--live{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}.lc-reminder-feature-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}button.lc-reminder-feature-cta{padding:7px 12px;border:1px solid var(--green-dark);border-radius:8px;background:var(--green-dark);color:#fff;cursor:pointer;transition:background .13s ease}button.lc-reminder-feature-cta:hover:not(:disabled){background:var(--green-darker, #4c5a3c)}button.lc-reminder-feature-cta:disabled{opacity:.55;cursor:not-allowed}.lc-reminder-feature-note{margin:0;font-size:.72rem;color:var(--muted, #596949)}@media(prefers-reduced-motion:reduce){.lc-mastery-bar>span{transition:none}.lc-toolbar-btn--timer-alert{animation:none}.lc-timer-ring-progress{transition:none}}.lc-shell{display:flex;align-items:flex-start;min-height:100%}.lc-shell-body{flex:1;min-width:0}.lc-shell--editor{height:100dvh;overflow:hidden}.lc-shell--editor .lc-editor-shell{flex:1;min-width:0;max-width:100%}@media(max-width:1100px){.lc-shell--editor{height:auto;overflow:visible}}@media(max-width:900px){.lc-shell--editor .lc-rail{display:none}}.lc-rail{--lc-rail-w: 184px;--lc-rail-w-collapsed: 60px;position:sticky;top:0;flex-shrink:0;width:var(--lc-rail-w);height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow-y:auto;padding:18px 0;background:#fff;border-right:2px solid var(--green-light-mid);transition:width .16s ease}.lc-rail[data-collapsed=true]{width:var(--lc-rail-w-collapsed)}.lc-rail-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 14px;margin-bottom:22px}.lc-rail-brand{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}.lc-rail[data-collapsed=true] .lc-rail-brand{width:0;opacity:0}.lc-rail-brand-name{font-family:Lora,Georgia,serif;font-size:1.1rem;font-weight:700;color:var(--green-dark);letter-spacing:-.02em;white-space:nowrap}.lc-rail-brand-badge{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green-dark);background:var(--green-lightest);border:1px solid var(--lc-border);border-radius:4px;padding:1px 6px;white-space:nowrap}.lc-rail-collapse-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--lc-border);border-radius:8px;background:#fff;color:var(--muted, #596949);cursor:pointer;transition:background .13s ease,color .13s ease}.lc-rail-collapse-btn:hover{background:var(--green-lightest);color:var(--green-dark)}.lc-rail-nav{display:flex;flex-direction:column;gap:3px;padding:0 10px}.lc-rail-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;border-radius:10px;background:transparent;color:var(--muted, #596949);font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:background .13s ease,color .13s ease}.lc-rail-item:hover{background:#f0f7e6;color:var(--ink)}.lc-rail-item.is-active{background:var(--green-dark);color:#fff;font-weight:600;box-shadow:0 2px 8px #71835559}.lc-rail-item.is-active:hover{background:#5f7248;color:#fff}.lc-rail-item-icon{display:flex;flex-shrink:0;opacity:.9}.lc-rail-item.is-active .lc-rail-item-icon{opacity:1}.lc-rail-item-label{white-space:nowrap;overflow:hidden}.lc-rail[data-collapsed=true] .lc-rail-item{justify-content:center;padding:10px}.lc-rail[data-collapsed=true] .lc-rail-item-label{display:none}.lc-rail-streak{margin:auto 10px 0;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;background:var(--green-lightest);border:1px solid var(--lc-border);border-radius:12px}.lc-rail-streak svg{grid-row:1 / span 2;color:#d97706}.lc-rail-streak strong{font-size:1.2rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.lc-rail-streak small{font-size:.68rem;color:var(--muted, #596949);white-space:nowrap;overflow:hidden}.lc-rail[data-collapsed=true] .lc-rail-streak{grid-template-columns:1fr;justify-items:center;padding:10px 4px}.lc-rail[data-collapsed=true] .lc-rail-streak svg{grid-row:auto}.lc-rail[data-collapsed=true] .lc-rail-streak small{display:none}@media(max-width:760px){.lc-shell{flex-direction:column}.lc-rail{position:static;flex-direction:row;width:100%!important;height:auto;max-height:none;overflow:visible;align-items:center;padding:10px 12px;overflow-x:auto;border-right:none;border-bottom:1px solid var(--lc-border)}.lc-rail-header{margin-bottom:0;padding:0 8px 0 4px}.lc-rail[data-collapsed=true] .lc-rail-brand{width:auto;opacity:1}.lc-rail-collapse-btn{display:none}.lc-rail-nav{flex-direction:row;gap:4px;padding:0 8px}.lc-rail-item{padding:8px 12px;white-space:nowrap}.lc-rail[data-collapsed=true] .lc-rail-item-label{display:inline}.lc-rail-streak{flex-shrink:0;margin:0 0 0 8px;padding:6px 12px;grid-template-columns:auto auto auto}.lc-rail-streak svg{grid-row:auto}.lc-rail-streak small{display:inline;align-self:center}}.lc-coming{max-width:640px;margin:40px auto;padding:32px 34px;border:1px solid var(--lc-border);border-radius:14px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.lc-coming-badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--green-dark);background:var(--green-lightest);border:1px solid var(--lc-border);border-radius:999px;padding:3px 12px;margin-bottom:16px}.lc-coming-title{margin:0 0 8px;font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--ink)}.lc-coming-sub{margin:0 0 18px;font-size:.9rem;line-height:1.6;color:var(--muted, #596949)}.lc-coming-points{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.lc-coming-points li{font-size:.85rem;line-height:1.5;color:var(--ink)}.lc-daily-error{margin:8px 0 0;font-size:.82rem;color:var(--error, #b91c1c)}.lc-daily-source-note{display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:.8rem;color:var(--green-dark)}.lc-daily-source-note svg{color:#0369a1}.lc-pass-banner{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--pass-color) 40%,white);background:color-mix(in srgb,var(--pass-color) 8%,white)}.lc-pass-banner-rule{flex:1;min-width:0;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:color-mix(in srgb,var(--pass-color) 78%,black)}.lc-pass-banner-clear{padding:7px 14px;border:1px solid color-mix(in srgb,var(--pass-color) 45%,white);border-radius:8px;background:#fff;font-size:.8rem;font-weight:650;color:color-mix(in srgb,var(--pass-color) 78%,black);cursor:pointer;white-space:nowrap;transition:background var(--transition-normal),border-color var(--transition-normal)}.lc-pass-banner-clear:hover{background:color-mix(in srgb,var(--pass-color) 12%,white);border-color:var(--pass-color)}.lc-pass-banner-clear:focus-visible{outline:2px solid var(--pass-color);outline-offset:2px}.lc-practice-builder{display:flex;flex-direction:column;gap:18px;padding:22px 24px;border:1px solid var(--lc-border);border-radius:14px;background:#ffffffe6;box-shadow:var(--shadow-sm)}.lc-practice-field{display:flex;flex-direction:column;gap:8px}.lc-practice-field-label{font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949)}.lc-practice-seg{display:inline-flex;align-self:flex-start;padding:3px;border:1px solid var(--border, #d8dfd0);border-radius:10px;background:#fff;gap:2px}.lc-practice-seg-btn{padding:7px 16px;border:none;border-radius:8px;background:none;font-size:.82rem;font-weight:650;color:var(--muted, #596949);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.lc-practice-seg-btn:hover{color:var(--ink)}.lc-practice-seg-btn.is-active{background:var(--green-dark);color:#fff}.lc-practice-count{width:90px;padding:10px;border:1px solid var(--border, #d8dfd0);border-radius:8px;font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.lc-practice-toggle{align-self:flex-start;gap:10px;padding:2px 0}.lc-practice-toggle .toggle-switch-track{width:42px;height:22px;border-radius:11px}.lc-practice-toggle .toggle-switch-thumb{top:3px;left:3px;width:16px;height:16px}.lc-practice-toggle.toggle-switch--on .toggle-switch-thumb{transform:translate(20px)}.lc-practice-toggle .toggle-switch-label{font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--ink)}.lc-practice-start{align-self:flex-start;min-height:44px;padding:11px 20px;border-radius:8px;border:1px solid transparent}.lc-practice-note{margin:0;font-size:.82rem;color:var(--muted, #596949)}.lc-practice-run-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.lc-practice-progress{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--green-dark)}.lc-practice-clock{font-family:var(--font-mono);font-size:.9rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.lc-practice-finish{margin-left:auto;padding:8px 16px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.82rem;font-weight:650;color:var(--ink);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal)}.lc-practice-finish:hover{border-color:var(--green-dark-mid);background:var(--green-lightest)}.lc-practice-queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:none}.lc-practice-step{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border, #d8dfd0);border-radius:10px;background:#fff;box-shadow:var(--shadow-sm)}.lc-practice-step.is-done{background:color-mix(in srgb,var(--green-dark) 5%,white);border-color:color-mix(in srgb,var(--green-dark) 26%,white)}.lc-practice-step-num{font-family:var(--font-mono);font-size:.66rem;font-weight:600;color:var(--muted, #596949);white-space:nowrap}.lc-practice-step-check{display:inline-flex;color:#b7c4a4;flex-shrink:0}.lc-practice-step-check.is-done{color:var(--green-dark)}.lc-practice-step-title{flex:1;min-width:0;padding:0;border:none;background:none;text-align:left;font-family:var(--font-serif);font-size:.95rem;font-weight:600;color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-practice-step-title:hover{color:var(--green-dark);text-decoration:underline}.lc-practice-summary{padding:24px;border:1px solid var(--lc-border);border-radius:14px;background:#ffffffe6;box-shadow:var(--shadow-sm)}.lc-practice-summary-eyebrow{display:block;margin-bottom:16px;font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark)}.lc-practice-summary-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lc-practice-tile{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--lc-border);border-radius:12px;background:var(--green-lightest)}.lc-practice-tile strong{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.lc-practice-tile small{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949)}.lc-practice-improved{margin:16px 0 0;font-size:.88rem;color:var(--ink)}.lc-practice-summary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.lc-practice-summary-actions .button-primary{min-height:42px;padding:10px 18px;border-radius:8px;border:1px solid transparent}.lc-practice-secondary{padding:10px 18px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.85rem;font-weight:650;color:var(--ink);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal)}.lc-practice-secondary:hover{border-color:var(--green-dark-mid);background:var(--green-lightest)}.lc-add-link-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--lc-border);border-radius:8px;background:#fff;color:var(--green-dark);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-add-link-btn:hover{background:var(--green-lightest);border-color:var(--green-dark-mid);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lc-add-link-btn:active{transform:scale(.96)}.lc-add-link-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#141c0e59}.lc-add-link-modal{width:min(460px,100%);padding:22px 24px;border:1px solid var(--lc-border);border-radius:14px;background:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:12px}.lc-add-link-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lc-add-link-head h2{margin:0;font-family:var(--font-serif);font-size:1.2rem;font-weight:700;color:var(--ink)}.lc-add-link-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:none;color:var(--muted, #596949);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.lc-add-link-close:hover{background:var(--green-lightest);color:var(--ink)}.lc-add-link-input{width:100%;padding:11px 12px;border:1px solid var(--border, #d8dfd0);border-radius:8px;font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.lc-add-link-input:focus{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 3px #71835524}.lc-add-link-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.lc-add-link-cancel{padding:10px 16px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.85rem;font-weight:650;color:var(--ink);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal)}.lc-add-link-cancel:hover{border-color:var(--green-dark-mid);background:var(--green-lightest)}.lc-add-link-submit.lc-add-link-submit{min-height:42px;padding:10px 18px;border-radius:8px;border:1px solid transparent}.lc-bank-new{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.lc-bank-new input{flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--border, #d8dfd0);border-radius:8px;font-size:.86rem}.lc-bank-new button{display:inline-flex;align-items:center;gap:6px;padding:0 16px;border:1px solid transparent;border-radius:8px;background:var(--green-dark);color:#fff;font-weight:700;font-size:.85rem;white-space:nowrap;cursor:pointer;transition:background .15s ease}.lc-bank-new button:hover:not(:disabled),.lc-bank-new button:active:not(:disabled){background:#536342}.lc-bank-new button:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}.lc-bank-new button:disabled{opacity:.5;cursor:not-allowed}.lc-bank-list{display:flex;flex-direction:column;gap:10px}.lc-bank-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff}.lc-bank-card.is-active{border-color:var(--green-dark, #1f4d2c);background:color-mix(in srgb,var(--green-dark, #1f4d2c) 6%,white)}.lc-bank-card-main{flex:1;display:flex;flex-direction:column;gap:2px;padding:0;background:none;border:none;text-align:left;cursor:pointer}.lc-bank-card-actions{display:flex;align-items:center;gap:8px}.lc-bank-card-actions button{padding:6px 12px;border:1px solid var(--border, #d8dfd0);border-radius:6px;background:#fff;font-size:.8rem;font-weight:650}.lc-bank-delete{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border, #d8dfd0);background:#fff;color:var(--muted, #596949);cursor:pointer;transition:color var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-bank-delete:hover{color:#dc2626;border-color:color-mix(in srgb,#dc2626 40%,white);background:color-mix(in srgb,#dc2626 8%,white)}.lc-bank-delete:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.lc-bank-detail{margin-top:24px;padding:22px 24px;border:1px solid var(--lc-border);border-radius:14px;background:#ffffffe6;box-shadow:var(--shadow-sm)}.lc-bank-detail textarea{width:100%;margin:10px 0;padding:10px 12px;border:1px solid var(--border, #d8dfd0);border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.82rem;resize:vertical}.lc-bank-problem-list{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.lc-bank-problem-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border, #d8dfd0);border-radius:6px;font-size:.85rem}.lc-bank-problem-list li button{display:inline-flex;color:var(--muted, #596949)}.lc-focus-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.lc-focus-head .lc-insight-title{margin:0}.lc-focus-source{font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949);white-space:nowrap}.lc-focus-rows{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.lc-focus-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label score" "meter meter";align-items:center;gap:4px 10px;width:100%;padding:10px 12px;border:1px solid var(--lc-border);border-radius:10px;background:#e9f5db66;cursor:pointer;text-align:left;transition:background .13s ease,border-color .13s ease}.lc-focus-row:hover{background:var(--green-lightest);border-color:var(--green-dark-mid)}.lc-focus-row-label{grid-area:label;font-family:var(--font-serif);font-size:.92rem;font-weight:600;color:var(--ink)}.lc-focus-row-score{grid-area:score;font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--muted, #596949);white-space:nowrap;font-variant-numeric:tabular-nums}.lc-focus-meter{grid-area:meter;height:5px;border-radius:999px;background:#e3eed3;overflow:hidden}.lc-focus-meter>span{display:block;height:100%;border-radius:999px;transition:width .3s ease}.lc-improvement-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.lc-improvement-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--green-dark-mid);background:var(--green-lightest);color:var(--green-dark);font-family:var(--font-mono);font-size:.68rem;font-weight:600;white-space:nowrap}.lc-rung{display:inline-flex;align-items:center;gap:4px}.lc-rung-step{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:2px 7px;border-radius:6px;border:1px solid transparent;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.02em}.lc-rung-step.is-done{background:var(--rung);border-color:var(--rung);color:#fff}.lc-rung-step.is-current{background:color-mix(in srgb,var(--rung) 16%,white);border-color:var(--rung);color:color-mix(in srgb,var(--rung) 72%,black);box-shadow:0 0 0 2px color-mix(in srgb,var(--rung) 22%,transparent)}.lc-rung-step.is-locked{background:#eef2e6;border-color:var(--lc-border);color:#a7b394}.lc-drill-sections{display:flex;flex-direction:column;gap:26px}.lc-drill-section-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-family:var(--font-serif);font-size:1.02rem;font-weight:600;color:var(--ink)}.lc-drill-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--green-lightest);border:1px solid var(--lc-border);font-family:var(--font-mono);font-size:.68rem;font-weight:600;color:var(--green-dark)}.lc-drill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.lc-drill-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border, #d8dfd0);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}.lc-drill-card.is-due{border-color:color-mix(in srgb,#dc2626 45%,white);box-shadow:0 0 0 1px color-mix(in srgb,#dc2626 22%,transparent),var(--shadow-sm)}.lc-drill-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lc-drill-when{font-family:var(--font-mono);font-size:.66rem;font-weight:600;color:var(--muted, #596949);white-space:nowrap}.lc-drill-card.is-due .lc-drill-when{color:#dc2626}.lc-drill-title{padding:0;border:none;background:none;text-align:left;font-family:var(--font-serif);font-size:1.05rem;font-weight:600;color:var(--ink);cursor:pointer}.lc-drill-title:hover{color:var(--green-dark);text-decoration:underline}.lc-drill-rule{margin:0;font-family:var(--font-mono);font-size:.72rem;font-weight:500;line-height:1.4}.lc-drill-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.lc-drill-open{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:8px;background:linear-gradient(135deg,var(--green-dark),#536342);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:filter .13s ease}.lc-drill-open:hover{filter:brightness(1.06)}.lc-drill-advance{padding:8px 12px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.8rem;font-weight:650;color:var(--ink);cursor:pointer;transition:border-color .13s ease,background .13s ease}.lc-drill-advance:hover{border-color:var(--green-dark-mid);background:var(--green-lightest)}.lc-preset-row{margin:0 0 22px}.lc-preset-label{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949)}.lc-preset-chips{display:flex;flex-wrap:wrap;gap:8px}.lc-preset-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--lc-border);border-radius:999px;background:#fff;color:var(--green-dark);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-preset-chip:hover:not(:disabled){background:var(--green-lightest);border-color:var(--green-dark-mid);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lc-preset-chip:active:not(:disabled){transform:scale(.97)}.lc-preset-chip svg{color:var(--green-dark-mid)}.lc-preset-chip:disabled{opacity:.55;cursor:not-allowed}.lc-preset-chip-name{font-family:var(--font-serif);font-size:.84rem;font-weight:600}.lc-preset-chip-count{font-family:var(--font-mono);font-size:.66rem;font-weight:600;color:var(--muted, #596949)}.lc-bank-empty{margin-top:6px}.lc-bank-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.lc-bank-tile{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border, #d8dfd0);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.lc-bank-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.lc-bank-tile.is-active{border-color:var(--green-dark);box-shadow:0 0 0 1px color-mix(in srgb,var(--green-dark) 30%,transparent),var(--shadow-sm)}.lc-bank-tile.is-active:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--green-dark) 30%,transparent),var(--shadow-lg)}.lc-bank-tile.is-open{border-color:var(--green-dark-mid)}.lc-bank-tile-main{display:flex;align-items:center;gap:14px;padding:0;border:none;background:none;text-align:left;cursor:pointer}.lc-bank-tile-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.lc-bank-tile-name{font-family:var(--font-serif);font-size:1.02rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-bank-tile-target{font-family:var(--font-mono);font-size:.68rem;color:var(--muted, #596949)}.lc-bank-tile-count{font-family:var(--font-mono);font-size:.66rem;color:var(--green-dark)}.lc-bank-active-tag{align-self:flex-start;padding:2px 8px;border-radius:999px;background:var(--green-dark);color:#fff;font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.lc-bank-tile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid color-mix(in srgb,var(--border, #d8dfd0) 70%,white);padding-top:10px}.lc-bank-tile-actions button:not(.lc-bank-delete){padding:7px 14px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.8rem;font-weight:650;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-bank-tile-actions button:not(.lc-bank-delete):hover{border-color:var(--green-dark-mid);background:var(--green-lightest);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lc-bank-tile-actions button:not(.lc-bank-delete):active{transform:scale(.96)}.lc-bank-tile-feeds{margin-right:auto;font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.02em;color:var(--green-dark)}.lc-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.lc-ring-track{stroke:#e3eed3}.lc-ring-fill{stroke:var(--green-dark);transition:stroke-dashoffset .4s ease}.lc-ring-label{position:absolute;font-family:var(--font-mono);font-size:.6rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.lc-bank-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.lc-bank-detail-name{margin:0;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--ink)}.lc-bank-detail-target{font-family:var(--font-mono);font-size:.72rem;color:var(--muted, #596949)}.lc-bank-detail-count{font-family:var(--font-mono);font-size:.72rem;font-weight:600;color:var(--green-dark);white-space:nowrap}.lc-bank-feeds{display:flex;align-items:center;gap:7px;margin:12px 0 0;padding:9px 12px;border:1px solid color-mix(in srgb,#0ea5e9 30%,white);border-radius:8px;background:color-mix(in srgb,#0ea5e9 7%,white);font-size:.82rem;font-weight:600;color:var(--ink)}.lc-bank-feeds svg{color:#0369a1}.lc-bank-feeds-set{display:block;width:100%;margin-top:12px;padding:9px 12px;border:1px dashed var(--green-dark-mid);border-radius:8px;background:#e9f5db80;font-size:.82rem;font-weight:650;color:var(--green-dark);cursor:pointer;transition:background .13s ease,border-color .13s ease}.lc-bank-feeds-set:hover{background:var(--green-lightest);border-color:var(--green-dark)}.lc-bank-weakmap{margin-top:16px;margin-bottom:24px}.lc-bank-weakmap-label{display:block;margin-bottom:8px;font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949)}.lc-bank-weakmap ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.lc-bank-weakmap li{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"topic level count" "bar bar bar";align-items:center;gap:7px 10px}.lc-bank-weakmap-level{grid-area:level;font-family:var(--font-mono);font-size:.64rem;font-weight:700;text-transform:lowercase;letter-spacing:.02em;font-variant-numeric:tabular-nums}.lc-bank-weakmap-topic{grid-area:topic;font-family:var(--font-serif);font-size:.86rem;font-weight:600;color:var(--ink)}.lc-bank-weakmap-count{grid-area:count;font-family:var(--font-mono);font-size:.68rem;color:var(--muted, #596949);font-variant-numeric:tabular-nums}.lc-bank-weakmap-bar{grid-area:bar;height:5px;border-radius:999px;background:#e3eed3;overflow:hidden}.lc-bank-weakmap-bar>span{display:block;height:100%;border-radius:999px;transition:width .3s ease}.lc-bank-problem-row{display:flex;align-items:center;gap:10px}.lc-bank-problem-check{display:inline-flex;color:#b7c4a4;flex-shrink:0}.lc-bank-problem-check.is-done{color:var(--green-dark)}.lc-bank-problem-open{flex:1;min-width:0;padding:0;border:none;background:none;text-align:left;font-family:var(--font-serif);font-size:.9rem;font-weight:600;color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-bank-problem-open:hover{color:var(--green-dark);text-decoration:underline}.lc-bank-problem-link{font-family:var(--font-mono);font-size:.64rem;font-weight:600;color:var(--green-dark);text-decoration:none;flex-shrink:0}.lc-bank-problem-link:hover{text-decoration:underline}.lc-bank-problem-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted, #596949);cursor:pointer;flex-shrink:0;transition:color var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-bank-problem-remove:hover{color:#dc2626;background:color-mix(in srgb,#dc2626 8%,white);border-color:color-mix(in srgb,#dc2626 30%,white)}.lc-bank-problem-remove:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.lc-bank-add-hint{margin-top:0}.lc-bank-match-btn{padding:9px 16px;border:1px solid transparent;border-radius:8px;background:var(--green-dark, #1f4d2c);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal)}.lc-bank-match-btn:hover:not(:disabled){background:var(--green-dark-mid);transform:translateY(-2px);box-shadow:0 4px 14px #71835559}.lc-bank-match-btn:active:not(:disabled){transform:scale(.96)}.lc-bank-match-btn:disabled{opacity:.5;cursor:not-allowed}.lc-drill-advance,.lc-pass-banner-clear,.lc-bank-tile-actions button:not(.lc-bank-delete),.lc-bank-feeds-set,.lc-bank-match-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.lc-drill-advance:disabled,.lc-pass-banner-clear:disabled,.lc-bank-tile-actions button:disabled,.lc-bank-feeds-set:disabled,.lc-bank-delete:disabled,.lc-bank-problem-remove:disabled{opacity:.6;cursor:not-allowed}.lc-bank-add{margin-top:22px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--border, #d8dfd0) 70%,white)}.lc-bank-add-title{display:block;margin-bottom:3px;font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--ink)}.lc-bank-add-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:10px}.lc-topic-picker{position:relative}.lc-topic-summary{cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:210px;padding:10px 12px;border:1px solid var(--border, #d8dfd0);border-radius:8px;background:#fff;font-size:.85rem;font-weight:600;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.lc-topic-summary:hover{border-color:var(--green-dark-mid)}.lc-topic-summary[aria-expanded=true]{border-color:var(--green-dark);box-shadow:0 0 0 3px #71835524}.lc-topic-chevron{color:var(--muted, #596949);transition:transform .15s ease}.lc-topic-chevron--open{transform:rotate(180deg)}.lc-topic-panel{position:absolute;z-index:30;margin-top:6px;width:264px;max-height:264px;overflow-y:auto;padding:6px;border:1px solid var(--lc-border);border-radius:10px;background:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px}.lc-topic-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.85rem}.lc-topic-option:hover{background:var(--green-lightest)}.lc-topic-option input{width:15px;height:15px;accent-color:var(--green-dark);cursor:pointer}.lc-topic-option-label{flex:1;font-family:var(--font-serif);font-weight:600;color:var(--ink)}.lc-topic-option-count{font-family:var(--font-mono);font-size:.68rem;color:var(--muted, #596949)}.lc-bank-add-count{display:flex;flex-direction:column;gap:4px}.lc-bank-add-count span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.02em;text-transform:lowercase;color:var(--muted, #596949)}.lc-bank-add-count input,.lc-bank-add-count select{padding:10px;border:1px solid var(--border, #d8dfd0);border-radius:8px;font-family:var(--font-mono);font-size:.85rem;color:var(--ink);background:#fff}.lc-bank-add-count input{width:78px}.lc-bank-add-count select{cursor:pointer}.lc-bank-add-btn.lc-bank-add-btn{min-height:42px;padding:10px 16px;border-radius:8px;font-size:.85rem}.lc-bank-add-note{margin:12px 0 0;font-family:var(--font-mono);font-size:.74rem;color:var(--green-dark)}.lc-bank-add-paste{margin-top:18px}.lc-bank-add-paste>summary{list-style:none;cursor:pointer;font-size:.82rem;font-weight:650;color:var(--green-dark)}.lc-bank-add-paste>summary::-webkit-details-marker{display:none}.lc-bank-add-paste>summary:before{content:"+ ";font-family:var(--font-mono)}.lc-bank-add-paste[open]>summary:before{content:"- "}.lc-bank-add-actions,.lc-practice-actions{display:flex;flex-wrap:wrap;gap:8px}.lc-bank-kojo-btn{background:var(--green-lightest);border:1px solid var(--green-dark);color:var(--green-dark)}.lc-bank-kojo-btn:disabled{opacity:.55;cursor:not-allowed}.lc-cog-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--lc-border);border-radius:8px;background:var(--white);color:var(--ink);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.lc-cog-btn:hover{transform:translateY(-1px);border-color:var(--green-dark);background:var(--green-lightest)}.lc-settings-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:401;display:flex;flex-direction:column;gap:4px;width:400px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:20px;border:1px solid rgba(113,131,85,.28);border-radius:10px;background:var(--white);box-shadow:var(--shadow-lg)}.lc-settings-modal::-webkit-scrollbar{display:none}.lc-settings-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.lc-settings-modal-title{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:1.02rem;font-weight:650;color:var(--ink)}.lc-settings-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:7px;background:transparent;color:var(--muted, #596949);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.lc-settings-close:hover{background:var(--green-lightest);color:var(--ink)}.lc-settings-section{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid rgba(113,131,85,.16)}.lc-settings-label{font-size:.9rem;font-weight:650;color:var(--ink)}.lc-settings-help{margin:0 0 6px;font-size:.78rem;color:var(--muted, #596949)}.lc-settings-mode-blurb{margin:8px 0 0;font-size:.78rem;line-height:1.5;color:var(--green-dark-mid, #596949)}.lc-settings-segmented{display:flex;gap:6px}.lc-settings-seg-btn{flex:1;padding:8px 12px;border:1.5px solid rgba(113,131,85,.22);border-radius:9px;background:transparent;color:var(--ink);font-size:.84rem;font-weight:650;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.lc-settings-seg-btn:hover{border-color:#71835580;background:#7183550d}.lc-settings-seg-btn--active{border-color:var(--green-dark);background:#7183551a;color:var(--green-dark)}.lc-settings-clear-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;align-self:flex-start;padding:8px 14px;border:1.5px solid rgba(220,38,38,.4);border-radius:9px;background:transparent;color:#b91c1c;font-size:.84rem;font-weight:650;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.lc-settings-clear-btn:hover{border-color:#dc2626;background:#dc26260f}.lc-completed-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left}.lc-completed-chevron{flex-shrink:0;color:var(--muted, #6b7280);transition:transform .18s ease}.lc-completed-chevron--open{transform:rotate(180deg)}.lc-completed-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;max-height:168px;overflow-y:auto;border:1px solid var(--border, #d8dfd0);border-radius:8px}.lc-completed-item{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:5px 10px;border-bottom:1px solid rgba(0,0,0,.05)}.lc-completed-item:last-child{border-bottom:none}.lc-completed-title{font-family:var(--font-serif, "Lora", serif);font-size:.8rem;line-height:1.3;color:var(--ink, #1f2a1f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-completed-time{flex-shrink:0;font-size:.7rem;color:var(--muted, #6b7280);white-space:nowrap}.lc-difficulty-card{text-align:center}.lc-difficulty-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 6px}.lc-difficulty-btn{padding:14px 12px;border:1.5px solid rgba(113,131,85,.28);border-radius:10px;background:var(--white);color:var(--ink);font-size:.95rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.lc-difficulty-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.lc-difficulty-btn--easy:hover{border-color:#10b981;background:#10b98114}.lc-difficulty-btn--medium:hover{border-color:var(--green-dark);background:var(--green-lightest)}.lc-difficulty-btn--hard:hover{border-color:#d97706;background:#d9770614}.lc-difficulty-btn--brutal:hover{border-color:#dc2626;background:#dc262614}.lc-difficulty-skip{margin-top:6px;border:none;background:transparent;color:var(--muted, #596949);font-size:.82rem;font-weight:600;cursor:pointer;padding:6px 10px}.lc-difficulty-skip:hover{color:var(--ink);text-decoration:underline}.lc-complexity-panel{margin-top:20px;padding-top:18px;border-top:1px solid rgba(113,131,85,.18);padding-bottom:20px}.lc-complexity-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:1px solid rgba(113,131,85,.22);border-radius:8px;cursor:pointer;font-size:.86rem;font-weight:500;color:var(--ink);text-align:left;transition:background .15s}.lc-complexity-toggle:hover{background:#71835512}.lc-complexity-done{margin-left:auto;font-size:.75rem;font-weight:500;color:#596949;font-family:JetBrains Mono,monospace;flex-shrink:0}.lc-complexity-chevron{margin-left:auto;flex-shrink:0;transition:transform .18s}.lc-complexity-done+.lc-complexity-chevron{margin-left:6px}.lc-complexity-chevron--open{transform:rotate(180deg)}.lc-complexity-body{margin-top:12px;display:flex;flex-direction:column;gap:14px}.lc-complexity-intro{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted, #596949)}.lc-complexity-field{display:flex;flex-direction:column;gap:6px}.lc-complexity-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#596949}.lc-complexity-claim{width:100%;padding:7px 10px;border:1px solid rgba(113,131,85,.28);border-radius:7px;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--ink);background:#fff}.lc-complexity-why{width:100%;padding:8px 10px;border:1px solid rgba(113,131,85,.22);border-radius:7px;font-family:inherit;font-size:.84rem;line-height:1.45;color:var(--ink);background:#fff;resize:vertical}.lc-complexity-claim:focus,.lc-complexity-why:focus{outline:none;border-color:var(--green-dark, #718355);box-shadow:0 0 0 2px #71835526}.lc-complexity-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:var(--green-dark, #718355);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s,background .15s}.lc-complexity-submit:hover:not(:disabled){transform:translateY(-2px)}.lc-complexity-submit:disabled{opacity:.55;cursor:not-allowed}.lc-complexity-spin{animation:lc-complexity-spin .9s linear infinite}@keyframes lc-complexity-spin{to{transform:rotate(360deg)}}.lc-complexity-result{margin-top:2px;display:flex;flex-direction:column;gap:13px}.lc-cx-cards{display:flex;flex-direction:column;gap:8px}.lc-cx-card{position:relative;border:1px solid var(--green-light-mid);border-radius:10px;background:#fff;padding:10px 13px 11px 15px;overflow:hidden}.lc-cx-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.lc-cx-card--ok{border-color:#bcd9b4;background:#eef6ea}.lc-cx-card--ok:before{background:#3f7d4e}.lc-cx-card--off{border-color:#f0d3a6;background:#fdf3e7}.lc-cx-card--off:before{background:#c2600c}.lc-cx-card-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}.lc-cx-metric{font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#5b6a49}.lc-cx-status{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700}.lc-cx-card--ok .lc-cx-status{color:#3f7d4e}.lc-cx-card--off .lc-cx-status{color:#c2600c}.lc-cx-answer{font-family:JetBrains Mono,monospace;font-size:1.12rem;font-weight:700;color:var(--ink);letter-spacing:-.01em}.lc-cx-diff{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline}.lc-cx-diff-key{font-size:.7rem;font-weight:700;color:#6f7d5b;text-transform:uppercase;letter-spacing:.05em}.lc-cx-diff-val{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.lc-cx-diff-val--said{color:#c2600c;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#c2600c80}.lc-cx-diff-val--right{color:var(--ink)}.lc-cx-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#5b6a49}.lc-cx-meter{flex:0 0 66px;height:5px;border-radius:3px;background:#71835533;overflow:hidden}.lc-cx-meter>span{display:block;height:100%;background:var(--green-dark);border-radius:3px}.lc-cx-meta-label{font-family:JetBrains Mono,monospace;font-size:.72rem}.lc-cx-uncertain{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;border-radius:9px;background:#fdf3e7;border:1px solid #f0d3a6;color:#a4560a;font-size:.78rem;line-height:1.4}.lc-cx-uncertain svg{flex:0 0 auto;margin-top:1px}.lc-cx-divider{height:1px;background:#7183552e;border:0;margin:1px 0;width:100%}.lc-cx-feedback{font-size:.86rem;line-height:1.55;color:#313d27}.mock-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.mock-level-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:2px solid var(--green-light-mid);border-radius:12px;background:#fffc;cursor:pointer;text-align:left;transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal)}.mock-level-btn:hover{border-color:var(--green-mid);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mock-level-btn.selected{border-color:var(--green-dark);background:var(--green-lightest);box-shadow:0 0 0 3px #71835533,var(--shadow-md);transform:translateY(-1px)}.mock-level-label{font-weight:600;font-size:.95rem;color:var(--ink)}.mock-level-desc{font-size:.78rem;color:var(--muted);line-height:1.35}.mock-goal-progress{display:inline-flex;align-items:center;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--green-lightest);border:1px solid var(--green-light-mid);font-size:.72rem;font-weight:600;color:var(--green-dark);vertical-align:middle}.mock-back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:4px 4px 4px 0;background:none;border:none;cursor:pointer;color:var(--green-dark);font-size:.9rem;font-weight:600}.mock-back-link:hover{color:var(--ink)}.mock-custom-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--green-light-mid)}.mock-custom-label{display:block;margin:14px 0 6px;font-size:.8rem;font-weight:600;color:var(--ink)}.mock-custom-input,.mock-custom-textarea{width:100%;padding:9px 11px;border:1px solid var(--green-light-mid);border-radius:10px;background:#ffffffe6;font-size:.9rem;color:var(--ink);font-family:inherit}.mock-custom-textarea{resize:vertical;line-height:1.5}.mock-custom-input:focus,.mock-custom-textarea:focus{outline:none;border-color:var(--green-dark);box-shadow:0 0 0 3px #7183552e}.mock-chip-row{display:flex;flex-wrap:wrap;gap:8px}.mock-chip{padding:6px 12px;border:1.5px solid var(--green-light-mid);border-radius:999px;background:#fffc;cursor:pointer;font-size:.83rem;font-weight:500;color:var(--ink);transition:border-color var(--transition-normal),background var(--transition-normal)}.mock-chip:hover{border-color:var(--green-mid)}.mock-chip.selected{border-color:var(--green-dark);background:var(--green-lightest);color:var(--green-dark);font-weight:600}.mock-chip-sm{padding:4px 10px;font-size:.76rem}.mock-subtopic-group{margin-bottom:10px}.mock-subtopic-group-label{display:block;margin-bottom:5px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lc-topic-option-group{display:flex;flex-direction:column}.lc-topic-option-main{flex:1;display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.lc-topic-expand{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;border-radius:6px;background:none;color:var(--muted, #596949);cursor:pointer}.lc-topic-expand:hover{background:var(--green-lightest);color:var(--green-dark)}.lc-subtopic-list{display:flex;flex-direction:column;gap:1px;margin:0 0 4px 26px;padding-left:8px;border-left:1px solid var(--lc-border)}.lc-subtopic-option{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:.8rem;color:var(--ink);cursor:pointer}.lc-subtopic-option:hover{background:var(--green-lightest)}.lc-subtopic-option input{width:14px;height:14px;accent-color:var(--green-dark);cursor:pointer}.lc-filter-chip--subtopic{font-size:.72rem}.lc-subtopic-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.lc-subtopic-tag{padding:3px 6px;border-radius:999px;background:var(--green-lightest);color:var(--green-dark);font-family:var(--font-mono);font-size:.62rem;font-weight:600;line-height:1;white-space:nowrap}.lc-kojocode-body{margin-top:12px;padding:14px 16px;border:1px solid rgba(113,131,85,.18);border-radius:10px;background:#7183550a}.lc-kojocode-loading,.lc-kojocode-error{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink)}.lc-kojocode-error{justify-content:space-between}.lc-inline-btn{padding:4px 10px;font-size:.78rem;font-weight:600;color:var(--green-dark);background:#7183551a;border:1px solid rgba(113,131,85,.28);border-radius:5px;cursor:pointer}.lc-inline-btn:hover{background:#71835533}.lc-kojocode-approach-title{font-size:.95rem;font-weight:700;color:var(--green-dark);margin-bottom:10px}.lc-kojocode-section{margin-top:18px}.lc-kojocode-section:first-of-type{margin-top:0}.lc-kojocode-heading{margin:0 0 8px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #888)}.lc-kojocode-viz-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.lc-kojocode-viz-row .lc-kojocode-heading{margin-bottom:0}.lc-kojocode-viz-hint{margin:6px 0 0;word-break:break-word}.lc-kojocode-body .kojo-code-block{background:#7183551a;color:var(--ink)}.lc-kojocode-complexity-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.lc-drill-remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--muted, #596949);cursor:pointer;flex-shrink:0;transition:color var(--transition-normal),background var(--transition-normal),border-color var(--transition-normal)}.lc-drill-remove:hover{color:#dc2626;background:color-mix(in srgb,#dc2626 8%,white);border-color:color-mix(in srgb,#dc2626 30%,white)}.lc-drill-remove:focus-visible{outline:2px solid #dc2626;outline-offset:2px}
