@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.18.9"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .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 .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;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 .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .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 .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .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 .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .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 .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 .reflectbox{display:inline-block;transform:scaleX(-1)}.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>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-head: var(--font-body);--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--bg: #f7f7f8;--bg-2: #efeff2;--surface: #ffffff;--surface-2: #fafafb;--surface-3: #f2f3f5;--ink: #16181d;--ink-2: #4d5361;--ink-3: #868c99;--line: #e7e8ec;--line-2: #d9dbe1;--brand: #3643b8;--brand-2: #4453d4;--brand-soft: #eef0fd;--brand-ink: #ffffff;--rouge: #d9344a;--rouge-soft: #fde7ea;--ok: #0f8a5f;--ok-soft: #d9f4e7;--warn: #b26b00;--warn-soft: #fdefd0;--info: #1d6fd6;--info-soft: #e1eefc;--r-xs: 6px;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(16, 18, 27, .04);--sh-2: 0 4px 16px -4px rgba(16, 18, 27, .12), 0 1px 3px rgba(16, 18, 27, .05);--sh-3: 0 24px 60px -20px rgba(21, 26, 48, .35), 0 4px 14px rgba(21, 26, 48, .08);--ease: cubic-bezier(.22, .9, .3, 1);--side-w: 240px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #0d1120;--bg-2: #111631;--surface: #161c36;--surface-2: #1b2240;--surface-3: #212a4d;--ink: #eceffc;--ink-2: #a9b1d0;--ink-3: #7982a6;--line: #262e52;--line-2: #333d69;--brand: #8ea0ff;--brand-2: #a6b4ff;--brand-soft: #1f2853;--brand-ink: #0d1120;--rouge: #ff6b7f;--rouge-soft: #3b1a25;--ok: #3fd49b;--ok-soft: #10352a;--warn: #f2b45a;--warn-soft: #3a2b0f;--info: #6aa9ff;--info-soft: #14284a}}:root[data-theme=dark]{--bg: #0d1120;--bg-2: #111631;--surface: #161c36;--surface-2: #1b2240;--surface-3: #212a4d;--ink: #eceffc;--ink-2: #a9b1d0;--ink-3: #7982a6;--line: #262e52;--line-2: #333d69;--brand: #8ea0ff;--brand-2: #a6b4ff;--brand-soft: #1f2853;--brand-ink: #0d1120;--rouge: #ff6b7f;--rouge-soft: #3b1a25;--ok: #3fd49b;--ok-soft: #10352a;--warn: #f2b45a;--warn-soft: #3a2b0f;--info: #6aa9ff;--info-soft: #14284a}:root[data-theme=oled]{--bg: #000000;--bg-2: #050505;--surface: #0b0b0e;--surface-2: #111116;--surface-3: #18181f;--ink: #f2f3f8;--ink-2: #b3b7c9;--ink-3: #7b8098;--line: #1f2029;--line-2: #2c2e3a;--brand: #8ea0ff;--brand-2: #a6b4ff;--brand-soft: #151a38;--brand-ink: #000000;--rouge: #ff6b7f;--rouge-soft: #2a1118;--ok: #3fd49b;--ok-soft: #0b2a20;--warn: #f2b45a;--warn-soft: #2a1f0a;--info: #6aa9ff;--info-soft: #0e1d36}:root[data-theme=sepia]{--bg: #f1e7d0;--bg-2: #e8dcc0;--surface: #fbf5e6;--surface-2: #f6eed9;--surface-3: #efe4ca;--ink: #3b2f22;--ink-2: #5e4d3a;--ink-3: #8a7760;--line: #e2d4b4;--line-2: #d3c19b;--brand: #7a4b1e;--brand-2: #9a6128;--brand-soft: #f0e0c4;--brand-ink: #fbf5e6;--rouge: #b3362f;--rouge-soft: #f6dcd2;--ok: #4f7a2a;--ok-soft: #e3ecd0;--warn: #9a6400;--warn-soft: #f5e3bd;--info: #2f5f8a;--info-soft: #dde8f0}:root[data-theme=contrast]{--bg: #ffffff;--bg-2: #f0f0f0;--surface: #ffffff;--surface-2: #ffffff;--surface-3: #eeeeee;--ink: #000000;--ink-2: #111111;--ink-3: #333333;--line: #000000;--line-2: #000000;--brand: #0000c8;--brand-2: #0000ff;--brand-soft: #dde0ff;--brand-ink: #ffffff;--rouge: #b00000;--rouge-soft: #ffe0e0;--ok: #006400;--ok-soft: #ddffdd;--warn: #7a4a00;--warn-soft: #fff0cc;--info: #003a99;--info-soft: #dde8ff}:root[data-theme=light]{--bg: #f7f7f8;--bg-2: #efeff2;--surface: #ffffff;--surface-2: #fafafb;--surface-3: #f2f3f5;--ink: #16181d;--ink-2: #4d5361;--ink-3: #868c99;--line: #e7e8ec;--line-2: #d9dbe1;--brand: #3643b8;--brand-2: #4453d4;--brand-soft: #eef0fd;--brand-ink: #ffffff;--rouge: #d9344a;--rouge-soft: #fde7ea;--ok: #0f8a5f;--ok-soft: #d9f4e7;--warn: #b26b00;--warn-soft: #fdefd0;--info: #1d6fd6;--info-soft: #e1eefc}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";min-height:100vh}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:var(--brand);text-decoration:none}h1,h2,h3,h4{font-family:var(--font-head);font-weight:600;letter-spacing:-.011em;line-height:1.25}::selection{background:var(--brand);color:var(--brand-ink)}:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:6px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.row{display:flex;align-items:center;gap:8px}.row.gap-4{gap:4px}.row.gap-6{gap:6px}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1 1 auto;min-width:0}.ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100vh;overflow-y:auto;padding:16px 12px;background:var(--surface-2);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 14px}.brand-mark{width:30px;height:30px;border-radius:8px;overflow:hidden;box-shadow:var(--sh-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%)}.brand-mark strong{color:var(--brand-ink);font:700 14px var(--font-head)}.brand-mark.fr{background:none;align-items:stretch;justify-content:normal}.brand-mark.fr i{flex:1}.brand-mark.fr i:nth-child(1){background:#26358f}.brand-mark.fr i:nth-child(2){background:#fff}.brand-mark.fr i:nth-child(3){background:#d9344a}.brand h1{font-size:15px}.brand small{display:block;font:500 12px var(--font-body);color:var(--ink-3);margin-top:1px}.nav-group{font:500 12px var(--font-body);color:var(--ink-3);padding:16px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;color:var(--ink-2);font-weight:500;font-size:13.5px;width:100%;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-3);color:var(--ink)}.nav-item.on{background:var(--surface-3);color:var(--ink);font-weight:600}.nav-item svg{flex-shrink:0;color:var(--ink-3)}.nav-item.on svg,.nav-item:hover svg{color:var(--ink-2)}.nav-item.back-nav{color:var(--ink-3);font-weight:600;margin-bottom:8px}.nav-item.back-nav:hover{color:var(--brand);background:var(--surface-3)}.side-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.side-foot .muted{font-size:12.5px;padding:0 12px 8px;display:block}.main{min-width:0}.page{max-width:1080px;margin:0 auto;padding:32px 40px 96px}.topbar{display:none}.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.ph h2{font-size:24px;letter-spacing:-.02em}.ph p{color:var(--ink-2);margin-top:4px;max-width:62ch;font-size:14px}.ph-title{display:flex;align-items:center;gap:12px;min-width:0}.ph-badge{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;color:var(--accent, var(--brand));background:color-mix(in srgb,var(--accent, var(--brand)) 12%,var(--surface))}.ph-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ph-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.back-link{display:inline-block;font-size:13px;font-weight:500;color:var(--ink-3);margin-bottom:10px}.back-link:hover{color:var(--brand)}.eyebrow{font:600 11px var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--rouge);margin-bottom:6px;display:flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:22px;height:3px;border-radius:2px;background:linear-gradient(90deg,#26358f 0 33%,var(--line) 33% 66%,#d9344a 66%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);padding:20px}.card.tint{background:var(--surface-2)}.card h3{font-size:15px;margin-bottom:12px}.card h4{font-size:14px;margin-bottom:8px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.card-head h3,.card-head h4{margin:0;display:flex;align-items:center;gap:8px}.card-head svg{color:var(--ink-3)}.card.link{color:inherit;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;display:block}.card.link.tile{display:flex}.card.link:hover{box-shadow:var(--sh-2);border-color:var(--line-2)}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.sec-title{font:600 13px var(--font-body);color:var(--ink-2);margin:28px 0 12px;display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:8px;font-weight:500;font-size:13.5px;line-height:20px;background:var(--surface);border:1px solid var(--line-2);color:var(--ink);transition:transform .12s var(--ease),background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.primary:hover{background:var(--brand-2);border-color:var(--brand-2)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.sm{padding:4px 10px;font-size:13px;border-radius:7px}.btn.lg{padding:11px 22px;font-size:15px;border-radius:10px}.btn.icon{padding:6px;color:var(--ink-3)}.btn.icon:hover{color:var(--ink)}.btn[disabled]{opacity:.45;pointer-events:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface);font-size:13px;font-weight:500;color:var(--ink-2);transition:all .15s;white-space:nowrap}.chip:hover{border-color:var(--ink-3);color:var(--ink)}.chip.on{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 35%,var(--line-2));color:var(--brand)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:var(--r-pill);font:600 11px var(--font-body);background:var(--brand);color:var(--brand-ink)}.badge.soft{background:var(--brand-soft);color:var(--brand)}form{display:flex;flex-direction:column;gap:14px;max-width:360px}form.wide{max-width:none}label,.field{display:flex;flex-direction:column;gap:6px;font:500 13px var(--font-body);color:var(--ink-2)}label:has(>input[type=checkbox]),label:has(>input[type=radio]),label.check{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer}input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file]),select,textarea{width:100%;padding:7px 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);font-size:14px;line-height:20px;transition:border-color .15s,box-shadow .15s}input[type=checkbox],input[type=radio]{width:16px;height:16px;flex-shrink:0;accent-color:var(--brand);cursor:pointer}input[type=range]{width:100%;accent-color:var(--brand)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 16%,transparent)}input::placeholder,textarea::placeholder{color:var(--ink-3)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:end}.form-row>.grow{grid-column:span 2}.form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}textarea{resize:vertical;min-height:90px;line-height:1.55}fieldset{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}fieldset label{flex-direction:row;align-items:center;gap:8px;font:500 14px var(--font-body);color:var(--ink)}.auth-page{max-width:380px;margin:12vh auto 0;padding:0 20px}.auth-page h1{font-size:26px;margin-bottom:22px}.auth-choice{display:flex;flex-direction:column;gap:10px;max-width:340px}.auth-choice .btn{justify-content:flex-start}[role=alert]{color:var(--rouge);font-size:13.5px;font-weight:500}.hero{position:relative;overflow:hidden;margin-bottom:24px}.hero h2{font-size:24px;margin-bottom:4px}.hero p{color:var(--ink-2)}.tile-list{list-style:none;padding:0;display:grid;gap:12px}.tile{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px 16px}.tile .ico{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:17px;flex-shrink:0;background:var(--surface-3);color:var(--ink-2)}.tile h4{font-size:14px;margin-bottom:2px}.tile p{font-size:13px;color:var(--ink-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.li:last-child{border-bottom:0}.li .fr{font:600 16px var(--font-serif)}.li .en{color:var(--ink-2);font-size:14px}.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:24px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}.tabs::-webkit-scrollbar{display:none}.tabs button,.tabs a{padding:8px 12px;font-weight:500;font-size:13.5px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tabs button.on,.tabs a.on{color:var(--ink);border-color:var(--brand)}.tabs a:hover,.tabs button:hover{color:var(--ink)}.prose h2{font-size:20px;margin:26px 0 12px}.prose h2:first-child{margin-top:0}.prose p{margin:10px 0;max-width:72ch}.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);margin:14px 0;background:var(--surface)}table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}.tbl th{background:var(--surface-2);color:var(--ink-2);text-align:left;padding:9px 14px;font:600 12.5px var(--font-body);white-space:nowrap;border-bottom:1px solid var(--line)}.tbl td{padding:9px 14px;border-top:1px solid var(--line);vertical-align:top}.study{max-width:700px;margin:0 auto}.study-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;font:600 13px var(--font-mono);color:var(--ink-3)}.fc{position:relative;min-height:300px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);padding:34px 34px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;cursor:pointer}.fc .q{font:600 32px/1.2 var(--font-serif);word-break:break-word;margin:0}.fc .a{margin-top:22px;padding-top:20px;border-top:1px dashed var(--line-2);font:500 22px/1.3 var(--font-serif);color:var(--brand);width:100%}.fc .hint{margin-top:14px;font:500 12px var(--font-body);color:var(--ink-3)}.rate{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.rate button{padding:10px 8px;border-radius:10px;font-weight:600;font-size:13.5px;border:1px solid var(--line-2);background:var(--surface);transition:transform .12s var(--ease),border-color .15s,background .15s}.rate .again{color:var(--rouge);border-color:color-mix(in srgb,var(--rouge) 40%,var(--line-2))}.rate .again:hover{background:var(--rouge-soft)}.rate .hard{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--line-2))}.rate .hard:hover{background:var(--warn-soft)}.rate .good{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,var(--line-2))}.rate .good:hover{background:var(--ok-soft)}.rate .easy{color:var(--info);border-color:color-mix(in srgb,var(--info) 40%,var(--line-2))}.rate .easy:hover{background:var(--info-soft)}.quiz-prompt{font:600 24px/1.35 var(--font-serif);margin:6px 0 22px}.mcq{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.mcq button{padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);font:500 15px var(--font-body);line-height:1.25;text-align:left;transition:all .15s}.mcq button:hover:not([disabled]){border-color:var(--brand-2);background:var(--brand-soft)}.mcq button.correct{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.mcq button.incorrect{background:var(--rouge-soft);border-color:var(--rouge);color:var(--rouge)}.callout{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent);margin:12px 0;font-size:14px}.callout.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.acc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-bottom:10px}.acc summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:8px;list-style:none}.acc summary::-webkit-details-marker{display:none}.card.stat{padding:18px 20px}.card.stat .v{font:600 28px var(--font-head);letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.card.stat .l{font:500 13px var(--font-body);color:var(--ink-3);margin-top:6px}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);gap:4px;overflow-x:auto;padding-bottom:6px}.heat i{width:14px;height:14px;border-radius:4px;background:var(--surface-3)}.heat i[data-l="1"]{background:color-mix(in srgb,var(--brand) 25%,var(--surface-3))}.heat i[data-l="2"]{background:color-mix(in srgb,var(--brand) 50%,var(--surface-3))}.heat i[data-l="3"]{background:color-mix(in srgb,var(--brand) 75%,var(--surface-3))}.heat i[data-l="4"]{background:var(--brand)}.bars{display:flex;align-items:flex-end;gap:5px;height:130px}.bars>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;min-width:0}.bars i{width:100%;border-radius:6px 6px 2px 2px;background:var(--brand);min-height:2px;transition:height .5s var(--ease)}.bars span{font:500 10px var(--font-body);color:var(--ink-3)}.bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:var(--brand)}.empty{text-align:center;padding:56px 20px;color:var(--ink-2)}.empty .big{font-size:32px;margin-bottom:10px;color:var(--ink-3)}.empty h3{color:var(--ink);margin-bottom:6px}.tutor-messages{display:flex;flex-direction:column;gap:12px;min-height:12rem;margin:16px 0}.tutor-message{border-radius:16px;padding:12px 16px;margin:0;max-width:78%;line-height:1.5}.tutor-message-user{align-self:flex-end;background:var(--brand-soft);color:var(--brand)}.tutor-message-assistant{align-self:flex-start;background:var(--surface-2);border:1px solid var(--line)}.tutor-hint{color:var(--ink-3)}.tutor-form{display:flex;flex-direction:row;gap:10px;max-width:none}.tutor-form input{flex:1}.timer-ring{--p: 0;--sz: 140px;width:var(--sz);height:var(--sz);border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p) * 1%),var(--surface-3) 0);margin:0 auto 20px}.timer-ring>div{width:calc(100% - 16px);height:calc(100% - 16px);border-radius:50%;background:var(--surface);display:grid;place-items:center;font:600 30px var(--font-head);font-variant-numeric:tabular-nums}.prompt-card{padding:28px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-2);text-align:center;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.prompt-card .fr{font:600 24px/1.35 var(--font-serif)}.prompt-card .en{color:var(--ink-2);font-size:15px}.tt-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.tt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:30px}.tt-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;overflow:hidden;cursor:pointer;box-shadow:var(--sh-1);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}.tt-card:hover{box-shadow:var(--sh-2);border-color:var(--line-2)}.tt-card.on{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.tt-corner{position:absolute;top:0;right:0;width:60px;height:60px;border-bottom-left-radius:30px;display:flex;align-items:flex-start;justify-content:flex-end;padding:9px;font-size:19px}.tt-cat{display:inline-block;border:none;margin-bottom:10px}.tt-card h4{font-size:15px;margin-bottom:4px;padding-right:46px}.tt-card p{font-size:13px;color:var(--ink-2)}.tt-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;flex-wrap:wrap}.tt-meta .count{font-size:12px;color:var(--ink-3);font-weight:600;white-space:nowrap}@media (max-width: 860px){.app{grid-template-columns:1fr}.side{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:20;padding:10px 16px;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.page{padding:20px 16px 96px}.ph h2{font-size:21px}.g2,.g3,.mcq{grid-template-columns:1fr}}.card.link.tile.planned{background:var(--surface-2);box-shadow:none}.card.link.tile.planned .ico{background:transparent;color:var(--ink-3);border:1px solid var(--line)}.prio{display:inline-block;margin-left:4px;padding:0 5px;border-radius:4px;font:500 11px var(--font-body);color:var(--ink-3);background:var(--surface-3);vertical-align:1px;white-space:nowrap}.pill-soon{display:inline-flex;align-items:center;padding:0 6px;border-radius:4px;font:500 11px var(--font-body);background:var(--surface-3);color:var(--ink-3);white-space:nowrap;vertical-align:1px}.pill-soon.tag{background:var(--info-soft);color:var(--info)}.soon-link{color:var(--ink-3);text-decoration:underline dotted color-mix(in srgb,var(--ink-3) 60%,transparent);text-underline-offset:3px}.soon-link:hover{color:var(--brand)}.soon-links{font-size:12.5px;color:var(--ink-3);margin-top:12px;line-height:1.7}.soon-links>span:first-child{margin-right:2px}.soon-links .soon-link+.soon-link:before{content:"·";display:inline-block;margin:0 7px;color:var(--line-2);text-decoration:none}.chips .soon-link{align-self:center;font-size:13px}.planned-strip{margin-top:32px;border-top:1px solid var(--line);padding-top:12px}.planned-strip>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:13px;font-weight:500;color:var(--ink-3);padding:4px 0;width:fit-content}.planned-strip>summary::-webkit-details-marker{display:none}.planned-strip>summary:hover{color:var(--ink)}.planned-strip>summary .count,.nav-soon>summary .count{font-size:11.5px;padding:0 6px;border-radius:99px;background:var(--surface-3)}.planned-strip[open]>summary{margin-bottom:10px}.plist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.plist-row{display:grid;grid-template-columns:minmax(160px,240px) minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:9px 14px;border-bottom:1px solid var(--line);color:var(--ink);font-size:13.5px}.plist-row:last-child{border-bottom:0}.plist-row:hover{background:var(--surface-2)}.plist-title{font-weight:500}.plist-sum{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.plist-row{grid-template-columns:minmax(0,1fr) auto}.plist-sum{grid-column:1 / -1;grid-row:2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.mini-list{display:flex;flex-direction:column}.mini-list a{padding:5px 0;font-size:13.5px;color:var(--ink-2);border-bottom:1px solid var(--line)}.mini-list a:last-child{border-bottom:0}.mini-list a:hover{color:var(--brand)}.nav-soon>summary{list-style:none;cursor:pointer}.nav-soon>summary::-webkit-details-marker{display:none}.nav-soon>summary .chev{margin-left:auto;transition:transform .15s}.nav-soon[open]>summary .chev{transform:rotate(90deg)}.nav-soon>a.nav-item{padding-left:36px;font-size:13px}.countdown-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:500}.cd-green{color:var(--ok)}.cd-amber{color:var(--warn)}.cd-red{color:var(--rouge)}.widget-grid{display:grid;align-items:start;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.widget-grid .card h4{display:flex;align-items:center;gap:8px;margin-bottom:10px}.widget-grid .card h4 svg{color:var(--ink-3)}.widget-grid .wide{grid-column:span 2}@media (max-width: 860px){.widget-grid .wide{grid-column:auto}}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0c1873;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.palette{width:min(620px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--sh-3);overflow:hidden}.palette input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 18px;font-size:16px;background:transparent}.palette ul{list-style:none;margin:0;padding:6px;max-height:52vh;overflow-y:auto}.palette li button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 12px;border-radius:10px;font-size:14px}.palette li button.on{background:var(--brand-soft);color:var(--brand)}.palette .kind{margin-left:auto;font-size:11px;color:var(--ink-3)}.kbd{font:600 11px var(--font-mono);padding:1px 6px;border:1px solid var(--line-2);border-radius:5px;color:var(--ink-3)}.ring{--p: 0;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--p) * 1%),var(--surface-3) 0)}.ring>span{width:80px;height:80px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font:600 18px var(--font-head);font-variant-numeric:tabular-nums}.tabbar,.sheet-backdrop{display:none}@media (max-width: 860px){.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:500;color:var(--ink-3)}.tabbar .on{color:var(--brand)}.sheet-backdrop{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0a0c1866;align-items:flex-end}.sheet{width:100%;max-height:78vh;overflow-y:auto;background:var(--surface);border-radius:16px 16px 0 0;padding:8px 16px calc(80px + env(safe-area-inset-bottom));box-shadow:var(--sh-3)}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--line-2);margin:4px auto}.sheet .nav-group{padding-left:2px}.sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sheet-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:12px;font-weight:500;text-align:center}.sheet-item span{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.sheet-item.on{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:12px;border-top:1px solid var(--line);font-size:13px}}.seg{display:inline-flex;padding:2px;border-radius:9px;background:var(--surface-3);border:1px solid var(--line);gap:2px}.seg button{padding:4px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--ink-2)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}form.todo-add{max-width:none;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);margin-bottom:8px}.todo-add:focus-within{border-color:var(--line-2);box-shadow:var(--sh-2)}.todo-add-main{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px}.todo-add-main input:not([type=checkbox]){border:0;padding:6px 0;font-size:15px;box-shadow:none;background:transparent}.todo-add-meta{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r) var(--r)}.todo-add-meta select,.todo-add-meta input:not([type=checkbox]){width:auto;max-width:180px;padding:3px 8px;font-size:13px;border-radius:7px;color:var(--ink-2)}form.todo-folder-add{flex-direction:row;align-items:center;max-width:none;gap:8px;margin-top:4px}.todo-folder-add input:not([type=checkbox]){max-width:220px;padding:5px 10px;font-size:13px}.task{display:flex;align-items:flex-start;gap:12px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.task:last-child{border-bottom:0}.task:hover{background:var(--surface-2)}.task>input[type=checkbox]{margin-top:2px}.task-body{flex:1;min-width:0}.task-title{font-size:14px}.task.done .task-title{text-decoration:line-through;color:var(--ink-3)}.task-meta{font-size:12.5px;color:var(--ink-3);margin-top:1px}.task-prio{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:500;margin-top:2px}.task-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s}.task:hover .task-actions,.task:focus-within .task-actions{opacity:1}@media (hover: none){.task-actions{opacity:1}}@media (max-width: 640px){.task{flex-wrap:wrap}.task-actions{opacity:1;order:3;flex-basis:100%;padding-left:24px;margin-top:-4px}}.settings-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;align-items:start}.settings-nav{position:sticky;top:24px;display:flex;flex-direction:column;gap:1px}.settings-nav a{padding:5px 10px;border-radius:7px;font-size:13.5px;color:var(--ink-2)}.settings-nav a:hover{background:var(--surface-3);color:var(--ink)}.settings-section{margin-bottom:16px;scroll-margin-top:24px;display:flex;flex-direction:column;gap:12px}.settings-section>h3{margin-bottom:0}.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}.check-grid label.check{font-size:13.5px}.save-bar{position:static;bottom:16px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-radius:var(--r);border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px}.save-bar.dirty{position:sticky;border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--sh-2)}@media (max-width: 860px){.settings-layout{grid-template-columns:1fr;gap:0}.settings-nav{position:static;flex-direction:row;overflow-x:auto;margin-bottom:16px;scrollbar-width:none}.settings-nav a{white-space:nowrap}.save-bar{bottom:76px}}form button[type=submit]:not([class]){display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;font-weight:500;font-size:14px;background:var(--brand);color:var(--brand-ink);border:1px solid var(--brand)}form button[type=submit]:not([class]):hover{background:var(--brand-2)}form button[type=submit]:not([class])[disabled]{opacity:.5}form.form-inline{flex-direction:row;align-items:flex-end;gap:8px;max-width:420px}.stack{display:flex;flex-direction:column;gap:12px}.syl-topic{padding:0}.syl-topic>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}.syl-topic>summary::-webkit-details-marker{display:none}.syl-points{border-top:1px solid var(--line)}.syl-point{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font-size:13.5px;flex-wrap:wrap}.syl-point:last-child{border-bottom:0}.seg.conf button{font-size:12px;padding:3px 8px}.seg.conf button.on.c1{color:var(--rouge)}.seg.conf button.on.c2{color:var(--warn)}.seg.conf button.on.c3{color:var(--ok)}.formula-list{display:flex;flex-direction:column}.formula{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:4px 12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.formula:last-child{border-bottom:0}.formula-tex{font-size:15px;overflow-x:auto}.formula-note{grid-column:2;font-size:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a0c1873;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;overflow-y:auto}.modal{width:min(520px,100%);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:22px 24px}.modal.wide{width:min(760px,100%)}.modal>h3{font-size:17px;margin-bottom:14px}.modal-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:20px}.toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:10px;font-size:13.5px;box-shadow:var(--sh-2);max-width:min(520px,calc(100vw - 32px))}@media (max-width: 860px){.toasts{bottom:84px}}.fr-serif{font-family:var(--font-serif)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:6px;font-size:12px;font-weight:500;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.tag.t{background:color-mix(in srgb,var(--c, var(--brand)) 12%,var(--surface));color:var(--c, var(--brand))}.study-top .counts{display:flex;gap:10px;font:600 14px var(--font-body);font-variant-numeric:tabular-nums}.study-top .counts span{padding:1px 4px;border-bottom:2px solid transparent}.study-top .counts .n{color:var(--info)}.study-top .counts .l{color:var(--rouge)}.study-top .counts .r{color:var(--ok)}.study-top .counts .cur{border-bottom-color:currentColor}.fc{border-top:4px solid var(--c, var(--brand))}.fc.right{box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 40%,transparent),var(--sh-2)}.fc.wrong{box-shadow:0 0 0 2px color-mix(in srgb,var(--rouge) 40%,transparent),var(--sh-2)}.fc-meta{position:absolute;top:12px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.fc .q.sm{font-size:24px}.fc .q.xs{font-size:19px}.fc-ex{margin-top:12px;font:italic 400 15px/1.45 var(--font-serif);color:var(--ink-2)}.fc-note{margin-top:10px;font:400 13.5px var(--font-body);color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:8px 12px}form.typebox{width:100%;max-width:460px;margin:22px auto 0;gap:0}.typebox input:not([type=checkbox]){text-align:center;font:500 19px var(--font-serif);padding:10px 12px}.diff{font:500 20px var(--font-serif);letter-spacing:.01em}.diff .ok{color:var(--ok)}.diff .bad{color:var(--rouge);text-decoration:line-through}.rate button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.rate button small{font-weight:500;font-size:11.5px;opacity:.8}.rate button .kbd{position:absolute;top:5px;right:6px;font-size:9.5px;padding:0 4px}.rate button.sug{box-shadow:0 0 0 2px currentColor}.study-tools{display:flex;justify-content:center;gap:4px;margin-top:14px}.bslots{min-height:52px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;padding:10px;border:1px dashed var(--line-2);border-radius:10px;margin-bottom:12px}.bchips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bchip{padding:6px 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--surface);font:500 16px var(--font-serif)}.bchip.on{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand)}.bchip[disabled]{opacity:.3}.mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mtile{min-height:84px;padding:10px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);font-size:15px;font-weight:500;transition:transform .12s,background .15s}.mtile.fr{font-family:var(--font-serif);font-size:16px}.mtile.sel{border-color:var(--brand);background:var(--brand-soft)}.mtile.bad{border-color:var(--rouge);background:var(--rouge-soft)}.mtile.found{opacity:.25;background:var(--ok-soft)}@media (max-width: 640px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fc{padding:40px 18px 24px}}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:7px}.card-row{align-items:flex-start}.card-row>input[type=checkbox]{margin-top:4px}.card-row.susp{opacity:.55}.row-acts{display:flex;gap:2px;opacity:.35;transition:opacity .12s}.card-row:hover .row-acts,.card-row:focus-within .row-acts{opacity:1}@media (hover: none){.row-acts{opacity:1}}.group-h{padding:10px 16px 6px;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line)}.bulk{position:sticky;bottom:16px;z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;padding:10px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));box-shadow:var(--sh-2)}@media (max-width: 860px){.bulk{bottom:76px}}.fr-hero{padding:24px 26px;background:linear-gradient(135deg,color-mix(in srgb,#1f4fd1 7%,var(--surface)) 0%,var(--surface) 60%,color-mix(in srgb,#d9344a 6%,var(--surface)) 100%)}.q3{display:flex;gap:28px;margin-top:16px}.q3>div{display:flex;flex-direction:column}.q3 b{font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.q3 span{font-size:12.5px;color:var(--ink-3)}.split{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.split>div:first-child{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}.toc{display:flex;flex-direction:column;gap:1px}.toc button{display:flex;gap:10px;align-items:baseline;text-align:left;padding:6px 10px;border-radius:7px;font-size:13.5px;color:var(--ink-2)}.toc button b{width:18px;flex-shrink:0;color:var(--ink-3);font-size:12px}.toc button:hover{background:var(--surface-3)}.toc button.on{background:var(--brand-soft);color:var(--brand)}.fr-tbl td{font-family:var(--font-serif);font-size:15px}.checkrow{padding:8px 0;border-bottom:1px dashed var(--line);align-items:flex-start}.checkrow input{margin-top:4px}@media (max-width: 860px){.split{grid-template-columns:1fr}.split>div:first-child{position:static;max-height:none}.toc{flex-direction:row;overflow-x:auto;padding-bottom:6px}.toc button{white-space:nowrap}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.gallery img{width:100%;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:zoom-in;aspect-ratio:1 / 1.35;object-fit:cover;object-position:top}.tt-hero{position:relative;overflow:hidden;color:#fff;border-radius:var(--radius);padding:26px 28px}.tt-hero h2{font-size:28px;font-family:var(--font-serif);color:#fff}.tt-hero p{opacity:.85}.tt-hero .tag{background:#ffffff2e;color:#fff}.tt-hero-ico{position:absolute;right:22px;top:14px;font-size:56px;opacity:.9}.phr-chip{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid transparent}.phr-chip:hover{background:var(--surface-3);border-color:var(--line)}.phr-chip b{display:block;font-family:var(--font-serif);font-weight:600;font-size:15.5px}.phr-chip span{color:var(--ink-3);font-size:13px}.tt-sample{white-space:pre-wrap;font-family:var(--font-serif);font-size:16px;line-height:1.65;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--radius);padding:20px 24px}.mono{font-family:var(--font-mono);font-size:.92em}.set-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.set-row:last-child{border-bottom:0}.divider{height:1px;background:var(--line);margin:14px 0}.btn.danger{background:var(--rouge);border-color:var(--rouge);color:#fff}input[type=checkbox].toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;border-radius:999px;background:var(--line-2, var(--line));position:relative;cursor:pointer;transition:background .15s;flex-shrink:0}input[type=checkbox].toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}input[type=checkbox].toggle:checked{background:var(--brand)}input[type=checkbox].toggle:checked:after{transform:translate(16px)}.chat-me,.chat-ai{white-space:pre-wrap;line-height:1.6}.chat-me{align-self:flex-end;max-width:85%}.chat-input{display:flex;gap:10px;align-items:flex-end;margin-top:16px}.chat-input textarea{flex:1;resize:vertical}.chat-input .btn{height:44px;width:48px;justify-content:center}.scroll-box{overflow-y:auto;background:var(--surface-2, var(--surface-3));border:1px solid var(--line);border-radius:8px;padding:10px 12px}.spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}label.btn{flex-direction:row}.seg button{white-space:nowrap}.toast-act{pointer-events:auto;margin-left:12px;font-weight:700;text-decoration:underline;color:inherit}.oq{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c, var(--brand));border-radius:var(--radius);margin-bottom:12px}.oq.done{background:color-mix(in srgb,var(--ok-soft) 35%,var(--surface))}.oq-h{display:flex;gap:12px;padding:16px 18px 8px;align-items:flex-start}.oq-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--c, var(--brand)) 14%,transparent);color:var(--c, var(--brand));font-size:12.5px;font-weight:700;display:grid;place-items:center}.oq-q{flex:1;min-width:0}.oq-q .sub{display:block;font-family:var(--font-serif);font-size:17px;font-weight:600;line-height:1.45}.oq-q .sub+.sub{margin-top:4px}.oq-acts{display:flex;gap:2px;flex-shrink:0}.oq-body{padding:4px 18px 16px 56px}.ans{margin-top:12px;font-family:var(--font-serif);font-size:16px;line-height:1.7}.ans p+p{margin-top:10px}.sent{cursor:pointer;border-radius:4px;transition:background .15s}.sent:hover{background:var(--surface-3)}.sent.now{background:var(--warn-soft)}.conn{color:var(--brand);font-weight:600}.fu{display:flex;flex-direction:column;gap:6px;margin-top:8px}.fu button{display:flex;gap:8px;align-items:flex-start;text-align:left;padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-family:var(--font-serif);font-size:15px}.fu button:hover{background:var(--surface-3)}.fu button svg{margin-top:4px;flex-shrink:0;color:var(--ink-3)}.linkish{color:var(--brand);font-weight:600;text-decoration:underline;padding:0}.script{display:flex;flex-direction:column;gap:12px;margin-top:10px}.script-line{display:flex;gap:12px;align-items:flex-start}.who{flex-shrink:0;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;width:58px;text-align:center}.who.m{background:var(--brand-soft);color:var(--brand)}.who.c{background:var(--ok-soft);color:var(--ok)}.crit{display:flex;gap:12px;padding:8px 0}.crit .ico{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);flex-shrink:0}.wheel-wrap{position:relative;width:min(100%,460px);aspect-ratio:1;margin:0 auto}.wheel-wrap canvas{width:100%;height:100%;border-radius:50%;box-shadow:var(--sh-2)}.wheel-pin{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid var(--ink);z-index:2}.wheel-hub{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--surface);border:4px solid var(--ink);font-weight:800;letter-spacing:.08em;box-shadow:var(--sh-2)}.wheel-hub:disabled{opacity:.7}.mock{max-width:860px;margin:0 auto}.mock-top{display:flex;gap:16px;align-items:center;margin-bottom:16px}.timers{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.timers .lab{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-3);margin-bottom:4px}.mock-stage{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:36px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:420px;justify-content:center}.examiner{font-size:56px;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft)}.examiner.talking{animation:talk 1s ease-in-out infinite}@keyframes talk{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--brand) 18%,transparent)}}.mock-cap{font-family:var(--font-serif);font-size:24px;font-weight:600;line-height:1.4;max-width:680px}.mock-cap.en{font-family:inherit;font-weight:400;font-size:17px;color:var(--ink-2)}.mock-cap.small{font-size:15px;color:var(--ink-3)}.recdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--rouge);margin-right:8px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.livebox{width:100%;max-width:640px;min-height:60px;text-align:left;padding:10px 14px;border-radius:10px;background:var(--surface-3);font-family:var(--font-serif);font-size:15px}@media (max-width: 640px){.oq-body{padding-left:18px}.oq-h,.mock-top{flex-wrap:wrap}}.mock-label{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);min-height:14px}.fmt-opt{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.fmt-opt.on{border-color:var(--brand);background:var(--brand-soft)}.fmt-opt input{margin-top:4px}.steps{padding-left:20px;line-height:1.7;font-size:14px}.fl-list{display:flex;flex-direction:column;gap:10px}.fl-card{display:block;width:100%;text-align:left;padding:14px 16px 12px;border-radius:14px;background:#17191d;color:#f1f2f4;border:1px solid #262a31}.fl-card:hover{border-color:#3a404a}.fl-top{display:flex;align-items:center;gap:10px;font-size:13.5px}.fl-top .faint{color:#8b919b}.fl-top .tag{background:#262a31;color:#d5d8dd}.fl-logo{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;flex-shrink:0}.fl-cities{display:flex;justify-content:space-between;font-size:12.5px;color:#a3a8b1;margin:12px 0 2px}.fl-line{display:flex;align-items:center;gap:12px}.fl-code{font-family:var(--font-mono);font-size:30px;font-weight:600;letter-spacing:.02em}.fl-track{position:relative;flex:1;height:2px;background:#3a3f47;border-radius:2px}.fl-track i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#e2583a,#f5a524);border-radius:2px}.fl-plane{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(90deg);color:#fff;display:grid}.fl-track.big{margin:18px 4px 10px;height:3px}.fl-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12.5px;color:#8b919b;margin-top:8px}.steps-bar{display:flex;gap:6px;flex-wrap:wrap}.steps-bar .step{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;color:var(--ink-3);border:1px solid var(--line)}.steps-bar .step span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11.5px;background:var(--surface-3)}.steps-bar .step.on{color:var(--brand);border-color:var(--brand)}.steps-bar .step.on span{background:var(--brand);color:#fff}.steps-bar .step.done span{background:var(--ok-soft);color:var(--ok)}.fare-grid{display:grid;gap:8px}.seatmap{display:inline-flex;flex-direction:column;gap:4px;padding:14px;border-radius:40px 40px 14px 14px;background:var(--surface-3);max-height:520px;overflow:auto;margin-top:10px}.seat-row{display:flex;align-items:center;gap:14px}.seat-row.exit{border-top:2px dashed var(--warn);padding-top:4px}.seat-num{width:22px;text-align:right;font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.seat-block{display:flex;gap:4px}.seat-letter{width:24px;text-align:center;font-size:11px;color:var(--ink-3);font-weight:600}.seat{width:24px;height:24px;border-radius:6px 6px 4px 4px;background:var(--surface);border:1px solid var(--line-2, var(--line))}.seat:hover:not(:disabled){border-color:var(--brand)}.seat:disabled{background:var(--line);opacity:.5;cursor:not-allowed}.seat.on{background:var(--brand);border-color:var(--brand)}.board{background:#111316;color:#f5c518;border-radius:12px;padding:10px;font-family:var(--font-mono);font-size:13px}.board-row{display:grid;grid-template-columns:58px 70px 1fr 48px 110px;gap:8px;padding:7px 8px;border-bottom:1px solid #22252b;color:inherit}.board-row:last-child{border-bottom:0}.board-h{color:#7d828b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.board-st{font-weight:700}.board-st.st-in_flight{color:#4ade80}.board-st.st-checked_in,.board-st.st-boarding{color:#60a5fa}.board-st.st-paused{color:#fb923c}.stamps{display:flex;flex-wrap:wrap;gap:18px}.stamp{width:150px;padding:12px;border:3px double #c2410c;border-radius:12px;color:#c2410c;text-align:center;transform:rotate(var(--r, 0deg));font-family:var(--font-mono);background:color-mix(in srgb,#c2410c 6%,transparent)}.stamp-code{font-size:28px;font-weight:800;letter-spacing:.1em}.stamp-city{font-size:12.5px;font-weight:600}.stamp-date{font-size:11px;margin-top:4px;letter-spacing:.05em}.stamp.big{width:190px;margin:0 auto 14px}.fm{position:relative;width:100%;height:100%;min-height:240px;background:#15181d;overflow:hidden}.fm-vector svg{width:100%;height:100%;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.fm-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:2px solid #f5c518;border-radius:6px;background:#1d1d1d;color:#f5c518;font:700 12px var(--font-mono);white-space:nowrap}.fm-vector foreignObject .fm-tag{transform:translate(-50%);position:relative;left:50%}.fm-credit{position:absolute;right:6px;bottom:4px;font-size:10.5px;color:#ffffffb3;background:#00000059;padding:1px 6px;border-radius:4px}.fm-plane{background:none;border:0}.fm.fm-leaflet .leaflet-control-attribution{font-size:10.5px;background:#00000073;color:#ddd}.fm.fm-leaflet .leaflet-control-attribution a{color:#fff}.trip-map{height:280px;border-radius:16px;overflow:hidden;border:1px solid #262a31}.trip-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;background:#17191d;color:#f1f2f4;border-radius:16px;padding:12px 16px}.trip-head .btn{color:#f1f2f4}.trip-head .muted{color:#9aa0a9}.trip-no{font:600 24px var(--font-mono);color:#f5a524}.fx-dark{background:#17191d;color:#f1f2f4;border-color:#262a31}.fx-dark .faint,.fx-dark .muted{color:#9aa0a9}.fx-dark .card.stat{background:#1f2227;border-color:#2c3038;color:#f1f2f4}.spec-row{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;background:#1f2227;margin-top:6px;font-family:var(--font-mono);font-size:13.5px}.spec-row span{color:#9aa0a9}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.rh{display:flex;align-items:center;justify-content:space-between;gap:12px}.rh-code{font:600 40px var(--font-mono);line-height:1.1}.rh-ico{width:44px;height:44px;border-radius:50%;background:#262a31;color:#f5a524;display:grid;place-items:center;transform:rotate(90deg)}.bp{border-radius:18px;overflow:hidden;background:#1b1d21;color:#f4f5f7;box-shadow:0 12px 30px #00000040}.bp-top{position:relative;padding:18px 22px 16px}.bp-dots{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:#3a3e45;opacity:.55}.bp-dots .hot{fill:#f5a524;opacity:1}.bp-top>:not(.bp-dots){position:relative}.bp-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#b5b9c0}.bp-airline{display:inline-flex;align-items:center;gap:6px}.bp-airline i{width:10px;height:10px;border-radius:50%;background:var(--c, #f5a524)}.bp-fare{padding:2px 8px;border:1px solid #3a3e45;border-radius:999px}.bp-route{display:flex;justify-content:space-between;align-items:flex-end;margin:16px 0 12px}.bp-code{font:700 48px var(--font-mono);line-height:1;letter-spacing:.02em}.bp-city{color:#b5b9c0;font-size:14px;margin-top:4px}.bp-mid{display:flex;flex-direction:column;align-items:center;color:#9aa0a9;padding-bottom:18px}.bp-mid span{font-size:18px}.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.bp-grid label{display:block;font-size:12px;color:#9aa0a9}.bp-grid b{font:600 15.5px var(--font-mono)}.bp-perf{height:22px;position:relative;background:radial-gradient(circle at 0 50%,var(--bg) 11px,transparent 12px) left / 50% 100% no-repeat,radial-gradient(circle at 100% 50%,var(--bg) 11px,transparent 12px) right / 50% 100% no-repeat}.bp-perf:after{content:"";position:absolute;left:18px;right:18px;top:50%;border-top:2px dashed #3a3e45}.bp-bottom{padding:6px 22px 16px}.bp-barcode{width:100%;height:64px;background:#fff;padding:6px 10px;border-radius:8px;fill:#111}.bp-pnr{display:flex;gap:6px;align-items:baseline;font-size:12.5px;color:#9aa0a9;margin-top:8px;min-width:0}.bp-pnr b{color:#f4f5f7;font-family:var(--font-mono);max-width:50%}.bp-actions{padding:0 22px 20px;display:flex;flex-direction:column;gap:10px}.bp-am{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#24272c;color:#f4f5f7}.bp-cta{width:100%;padding:14px;border-radius:14px;background:#fff;color:#111;font-weight:600;font-size:15px}.bp-cta:disabled{background:#3a3e45;color:#9aa0a9;cursor:not-allowed}.am-ico{width:64px;height:64px;margin:0 auto 8px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#f5a524,#e2583a)}.am-ico.sm{width:28px;height:28px;margin:0;border-radius:8px}.sheet-overlay{align-items:flex-end}.sheet{position:relative;width:min(520px,100%);background:#1b1d21;color:#f4f5f7;border-radius:22px 22px 0 0;padding:22px 20px 20px;box-shadow:0 -10px 40px #00000059}@media (min-width: 700px){.sheet-overlay{align-items:center}.sheet{border-radius:22px}}.sheet h3{text-align:center;font-size:20px}.sheet .muted,.sheet .faint{color:#9aa0a9}.sheet-x{position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:50%;background:#2c2f35;color:#ddd;display:grid;place-items:center}.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.am-cat{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#24272c;color:#d5d8dd;font-size:13.5px;text-align:left;border:1px solid transparent}.am-cat.on{background:linear-gradient(135deg,#f5a524,#e2583a);color:#fff}.sheet-cta{width:100%;margin-top:14px;padding:14px;border-radius:14px;background:#fff;color:#111;font-weight:600;justify-content:center}.page-full{padding:0!important;max-width:none!important}.inflight{position:relative;height:calc(100vh + -0px);min-height:520px;background:#0b0d10;color:#fff;overflow:hidden}@media (max-width: 860px){.inflight{height:calc(100vh - 130px)}}.inflight-map{position:absolute!important;top:0;right:0;bottom:0;left:0;height:100%}.if-tools{position:absolute;top:64px;display:flex;flex-direction:column;gap:8px;z-index:500}.if-tools.left{left:16px}.if-tools.right{right:16px}.if-btn{width:42px;height:42px;border-radius:12px;background:#14161ad9;color:#fff;display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.if-btn.on{background:#fff;color:#111}.if-top{position:absolute;top:12px;left:16px;right:16px;z-index:500;display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:#14161abf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:13px var(--font-mono)}.if-top .tag{background:#f5a524;color:#111}.if-goal{position:absolute;left:50%;top:64px;transform:translate(-50%);z-index:500;padding:8px 14px;border-radius:12px;background:#14161abf;font-size:14px;max-width:min(560px,70%)}.if-bottom{position:absolute;left:0;right:0;bottom:0;z-index:500;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;padding:60px 24px 22px;background:linear-gradient(transparent,#000000bf 45%)}.if-bottom label{display:block;font-size:13px;color:#c8ccd2}.if-bottom b{font-size:34px;font-weight:600}.if-mid{display:flex;flex-direction:column;align-items:center;gap:6px}.if-clock{font:600 16px var(--font-mono)}.if-round{width:36px;height:36px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center}.if-round.danger{background:#ffffff2e;color:#fff}.if-paused{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:500;padding:10px 18px;border-radius:12px;background:#f5a524eb;color:#111;font-weight:600}@media (max-width: 640px){.if-bottom b{font-size:24px}.if-goal{display:none}}.arrival h2{text-align:center;font-size:26px}.arrival label{color:#c8ccd2}.flight-pill{display:flex;align-items:center;gap:6px;margin:4px 12px 10px;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#f5a524,#e2583a);color:#fff;font-size:13px;font-weight:600}.topbar-pill{display:none}@media (max-width: 860px){.topbar-pill{display:block}.topbar-pill .flight-pill{margin:8px 16px 0}}.fx-dark label,.fx-dark .check,.fx-dark .checkrow span{color:#e6e8eb}.fx-dark .checkrow{border-bottom-color:#2c3038}.bp-pnr span{white-space:nowrap}.grade-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:22px}.grade-card{text-align:left;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;transition:border-color .15s,box-shadow .15s}.grade-card:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--line))}.grade-card.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 16%,transparent)}.gc-top{display:flex;align-items:center;gap:8px}.gc-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);flex-shrink:0}.gc-name{flex:1;font-weight:600;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-mid{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.gc-avg{font-size:28px;font-weight:700;letter-spacing:-.02em}.spark{width:96px;height:28px}.gc-bar{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}.gc-bar i{display:block;height:100%;background:var(--c);border-radius:3px}.gc-foot{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3)}.band{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;border-radius:6px;font-size:12px;font-weight:700}.band-A{background:var(--ok-soft);color:var(--ok)}.band-B{background:var(--info-soft);color:var(--info)}.band-C{background:var(--warn-soft);color:var(--warn)}.band-D,.band-E{background:var(--rouge-soft);color:var(--rouge)}.grade-detail{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.grade-detail .card{box-shadow:none}.gd-title{display:flex;align-items:center;gap:12px}.gd-title .gc-ico{width:40px;height:40px;border-radius:12px}.gd-title h2{font-size:22px}.target-input{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2)}.target-input input{width:70px}.result-preview{display:flex;align-items:center;gap:8px;align-self:flex-end;padding-bottom:8px;font-size:20px}.rot90{transform:rotate(90deg)}.lost-row{align-items:center}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .axis{fill:var(--ink-3);font-size:11px}.chart .target{stroke:var(--ink-3);stroke-dasharray:2 4;stroke-width:1.5}.chart .series-line{fill:none;stroke:var(--series, var(--brand));stroke-width:2;stroke-linejoin:round;stroke-linecap:round;opacity:.85}.chart .class-line{fill:none;stroke:var(--ink-3);stroke-width:2;stroke-dasharray:6 5}.chart .dot{fill:var(--series, var(--brand));stroke:var(--surface);stroke-width:2;transition:r .1s}.chart .dot.on{stroke:var(--ink)}.chart .radar-area{fill:color-mix(in srgb,var(--brand) 16%,transparent);stroke:var(--brand);stroke-width:2}.radar .dot{fill:var(--brand)}.chart-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;background:var(--ink);color:var(--bg);padding:8px 10px;border-radius:8px;font-size:12.5px;white-space:nowrap;box-shadow:var(--sh-2);z-index:2}.chart-tip .faint{color:color-mix(in srgb,var(--bg) 70%,transparent)}.chart-tip.static{position:static;transform:none;display:inline-block;margin-top:6px}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-top:6px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.lg-dot{width:10px;height:10px;border-radius:50%;background:var(--series, var(--brand))}.lg-line{width:18px;height:2px;background:var(--series, var(--brand))}.lg-dash{width:18px;border-top:2px dashed var(--ink-3)}.chart-empty{padding:36px;text-align:center;color:var(--ink-3);font-size:14px}.res-row{border-bottom:1px solid var(--line)}.res-row:last-child{border-bottom:0}.res-main{display:flex;align-items:center;gap:12px;width:100%;padding:11px 4px}.res-main:hover{background:var(--surface-3);border-radius:8px}.res-pct{font-size:17px;font-weight:700;min-width:64px;text-align:right}.res-more{padding:4px 4px 14px 40px}.kv{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface-3);font-size:13.5px}.kv span{color:var(--ink-3)}.lost-item{font-size:13.5px;padding:3px 0}.lost-item b{color:var(--rouge);margin-left:4px}.lost-bar{display:grid;grid-template-columns:130px 1fr 52px;align-items:center;gap:10px;padding:5px 0;font-size:13.5px}.lost-bar b{text-align:right}.outline-list{display:flex;flex-direction:column}.outline-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}.outline-row.done b{color:var(--ink-2)}.ol-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2, var(--line));display:grid;place-items:center;flex-shrink:0}.outline-row.done .ol-check{background:var(--ok);border-color:var(--ok);color:#fff}.ol-score{font-weight:700;min-width:64px;text-align:right}@media (max-width: 640px){.grade-detail{padding:14px}.res-main .tag{display:none}.res-more{padding-left:4px}.lost-bar{grid-template-columns:96px 1fr 44px}}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.page-wide{max-width:1440px}.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.cal-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.cal-title{font-size:20px;font-weight:650;margin:0 6px;letter-spacing:-.01em}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.cal-main{padding:0;overflow:hidden}.cal-side{display:flex;flex-direction:column;gap:12px}.cal-side .card{padding:14px 16px}.cal-side h3{font-size:14px;margin:0 0 10px;display:flex;align-items:center;gap:6px}@media (max-width: 1000px){.cal-layout{grid-template-columns:1fr}}.cal-dow,.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dow span{padding:10px 10px 8px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border-bottom:1px solid var(--line)}.cal-cell{min-height:118px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px;cursor:pointer;transition:background .15s;min-width:0}.cal-week .cal-cell:last-child{border-right:0}.cal-week:last-child .cal-cell{border-bottom:0}.cal-cell:hover,.cal-cell.out{background:var(--surface-2)}.cal-cell.out .cal-num span{color:var(--ink-3)}.cal-cell.hol{background-image:repeating-linear-gradient(135deg,transparent 0 7px,color-mix(in srgb,var(--ink-3) 7%,transparent) 7px 8px)}.cal-cell.sel{box-shadow:inset 0 0 0 2px var(--brand)}.cal-num{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;padding:0 2px 2px}.cal-num small{font-size:10px;font-weight:600;color:var(--ink-3);letter-spacing:.02em}.cal-cell.today .cal-num span{background:var(--brand);color:var(--brand-ink);border-radius:var(--r-pill);min-width:24px;height:24px;display:inline-grid;place-items:center;padding:0 6px}.cal-pill{display:flex;align-items:center;gap:5px;width:100%;text-align:left;font:inherit;font-size:12px;line-height:1.25;padding:3px 6px;border:0;border-radius:var(--r-xs);cursor:pointer;background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--ink);border-left:3px solid var(--c);min-width:0}.cal-pill:hover{background:color-mix(in srgb,var(--c) 24%,var(--surface))}.cal-pill[draggable=true]{cursor:grab}.cal-pill.src-wace{background:color-mix(in srgb,var(--c) 30%,var(--surface));font-weight:600}.cal-pill.src-focus,.tg-ev.src-focus{opacity:.6;border-left-style:dashed}.cal-time{font-size:10.5px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none}.cal-more{font-size:11.5px;color:var(--ink-3);padding-left:6px}@media (max-width: 700px){.cal-cell{min-height:84px;padding:2px 1px;gap:2px}.cal-num{font-size:12px;justify-content:center;padding:2px 0}.cal-num small{display:none}.cal-cell.today .cal-num span{min-width:22px;height:22px}.cal-pill{font-size:9.5px;line-height:1.2;padding:1px 3px;border-left-width:2px;border-radius:3px;font-weight:500}.cal-pill .cal-time{display:none}.cal-more{font-size:9.5px;padding-left:3px}.cal-dow span{padding:8px 2px 6px;text-align:center;font-size:10px}}.tg{display:flex;flex-direction:column}.tg-head,.tg-allday,.tg-inner{display:grid}.tg-head{border-bottom:1px solid var(--line)}.tg-day{background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:2px}.tg-day small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.tg-day b{font-size:20px;font-weight:600;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}.tg-day.today b{background:var(--brand);color:var(--brand-ink)}.tg-allday{border-bottom:1px solid var(--line);min-height:34px}.tg-allday>span{font-size:10.5px;padding:8px 6px;text-align:right}.tg-allday>div{padding:4px 3px;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line);min-width:0}.tg-body{max-height:640px;overflow-y:auto}.tg-inner,.tg-hours{position:relative}.tg-hours span{position:absolute;right:8px;transform:translateY(-50%);font-size:10.5px;color:var(--ink-3);white-space:nowrap}.tg-hours span:first-child{transform:none}.tg-col{position:relative;border-left:1px solid var(--line);cursor:copy}.tg-col.today{background:color-mix(in srgb,var(--brand) 4%,transparent)}.tg-line{position:absolute;left:0;right:0;border-top:1px solid var(--line);pointer-events:none}.tg-ev{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:1px;overflow:hidden;text-align:left;font:inherit;font-size:12px;padding:4px 6px;border:0;border-radius:var(--r-xs);background:color-mix(in srgb,var(--c) 18%,var(--surface));border-left:3px solid var(--c);color:var(--ink);cursor:pointer;box-shadow:0 0 0 1px var(--surface);z-index:1}.tg-ev:hover{background:color-mix(in srgb,var(--c) 28%,var(--surface));z-index:2}.tg-ev b{font-weight:600;max-width:100%}.tg-ev span{font-size:11px;color:var(--ink-2)}.tg-now{position:absolute;left:-4px;right:0;border-top:2px solid var(--rouge);z-index:3;pointer-events:none}.tg-now:before{content:"";position:absolute;left:0;top:-6px;width:10px;height:10px;border-radius:50%;background:var(--rouge)}.agenda{padding:8px 16px 16px}.agenda-term{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin:18px 0 6px}.agenda-day{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.agenda-date{display:flex;flex-direction:column;align-items:center}.agenda-date b{font-size:22px;font-weight:650;line-height:1.1}.agenda-date span{font-size:11.5px;color:var(--ink-3)}.agenda-day.today .agenda-date b{color:var(--brand)}.agenda-list{display:flex;flex-direction:column;gap:4px;min-width:0}.agenda-item,.side-ev{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;font:inherit;font-size:13.5px;color:var(--ink);padding:7px 10px;border:0;border-radius:var(--r-sm);background:none;cursor:pointer;border-left:3px solid var(--c, var(--line-2))}.agenda-item:hover,.side-ev:hover{background:var(--surface-2)}.agenda-time{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.side-ev{grid-template-columns:56px minmax(0,1fr);padding:6px 8px;width:100%;margin-bottom:2px}.countdown{font-size:12px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}@media (max-width: 600px){.agenda-item{grid-template-columns:80px minmax(0,1fr)}.agenda-item>:last-child{display:none}}.year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:14px}.year-month{background:none;border:1px solid transparent;border-radius:var(--r);padding:10px;font:inherit;color:var(--ink);cursor:pointer;text-align:left}.year-month:hover{border-color:var(--line);background:var(--surface-2)}.year-month>b{font-size:14px;display:block;margin-bottom:6px}.ym-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ym-dow{font-size:9.5px;color:var(--ink-3);text-align:center;font-weight:600}.ym-day{font-size:10.5px;text-align:center;height:22px;line-height:22px;border-radius:5px;font-variant-numeric:tabular-nums}.ym-day.hol{color:var(--ink-3)}.ym-day.some{background:var(--brand-soft);color:var(--brand);font-weight:600}.ym-day.heavy{background:var(--brand);color:var(--brand-ink);font-weight:700}.ym-day.today{box-shadow:inset 0 0 0 1.5px var(--rouge)}.load-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.load-col{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;color:var(--ink-3)}.load-track{width:100%;height:64px;background:var(--surface-3);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.load-track i{width:100%;background:var(--brand);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s var(--ease)}.load-col.heavy .load-track i{background:var(--warn)}.load-col.today span{color:var(--brand);font-weight:700}.warn-card{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:color-mix(in srgb,var(--warn-soft) 55%,var(--surface))}.warn-card h3{color:var(--warn)}.warn-card .side-ev{grid-template-columns:52px minmax(0,1fr);font-size:12.5px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.legend-item{font-size:12.5px;gap:6px}.legend-item i{width:10px;height:10px;border-radius:3px;flex:none}.ev-title{font-size:20px;font-weight:600;border:0;border-bottom:2px solid var(--line);border-radius:0;padding:6px 2px;background:none;width:100%;color:var(--ink)}.ev-title:focus{outline:none;border-bottom-color:var(--brand)}.todo-view .card.stat>span{display:block}.todo-view .card.stat .l{margin:0 0 8px}.todo-hero{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.todo-hero-ring{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.todo-hero-ring b{display:block;font-size:18px;font-variant-numeric:tabular-nums}.todo-hero-ring span,.todo-hero-stat span{font-size:12.5px;color:var(--ink-3)}.todo-hero-stat{display:flex;flex-direction:column;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);min-width:108px}.todo-hero-stat b{font-size:24px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums}.todo-hero-stat b.red{color:var(--rouge)}.ring .ring-bg{fill:none;stroke:var(--surface-3);stroke-width:7}.ring .ring-fg{fill:none;stroke:var(--ok);stroke-width:7;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease)}.ring text{font:700 13px var(--font-body);fill:var(--ink)}.qa .qa-folder{width:auto;max-width:140px;padding:4px 8px;font-size:13px;border-radius:7px;color:var(--ink-2)}.qa-preview{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;border-top:1px dashed var(--line);background:var(--surface-2);border-radius:0 0 var(--r) var(--r)}.qa-title{font-size:13px;font-weight:600;margin-right:4px}.todo-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 0 10px}.todo-views{overflow-x:auto;max-width:100%}.todo-views button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.todo-search{max-width:220px;padding:6px 10px;font-size:13.5px}.todo-filters{margin-bottom:12px}.chip-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.tsec{margin-bottom:18px}.tsec-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px;padding:0 2px}.tsec-head h3{font-size:14px;font-weight:650;margin:0;display:flex;align-items:center;gap:6px}.tsec-head h3 .faint{font-weight:500;font-size:12.5px}.tsec-dot{width:9px;height:9px;border-radius:50%;background:var(--sc);display:inline-block}.tlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}.tempty{padding:14px 16px;margin:0;font-size:13px;color:var(--ink-3)}.task2{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);position:relative;outline:none;background:var(--surface)}.task2:last-child{border-bottom:0}.task2:hover{background:var(--surface-2)}.task2:focus-visible{box-shadow:inset 0 0 0 2px var(--brand)}.task2:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--sc);opacity:.8}.task2.compact{padding:8px 10px}.task2.done .task-title{text-decoration:line-through;color:var(--ink-3)}.task2.done:before{opacity:.25}.task-grip{color:var(--ink-3);font-size:11px;letter-spacing:-2px;cursor:grab;padding-top:3px;opacity:0;-webkit-user-select:none;user-select:none}.task2:hover .task-grip{opacity:1}.task-check{flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;border:2px solid var(--pc);background:color-mix(in srgb,var(--pc) 10%,transparent);display:grid;place-items:center;cursor:pointer;padding:0;color:#fff;transition:background .15s,transform .15s}.task-check.p4{border-color:var(--line-2);background:none}.task-check:hover{background:color-mix(in srgb,var(--pc) 30%,transparent)}.task-check:active{transform:scale(.9)}.task-check[aria-pressed=true]{background:var(--ok);border-color:var(--ok)}.task2 .task-body{flex:1;min-width:0;cursor:pointer}.task2 .task-title{font-size:14px;line-height:1.35;display:flex;align-items:center;gap:6px}.doing-dot{width:7px;height:7px;border-radius:50%;background:var(--info);box-shadow:0 0 0 3px var(--info-soft);flex:none}.task-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.task-chips:empty{display:none}.tchip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;line-height:1;padding:3px 7px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-2);white-space:nowrap}.tchip.red{background:var(--rouge-soft);color:var(--rouge);font-weight:600}.tchip.today{background:var(--ok-soft);color:var(--ok);font-weight:600}.tchip.ok{background:var(--ok-soft);color:var(--ok)}.tchip.subj i{width:7px;height:7px;border-radius:50%;background:var(--sc);display:inline-block}.tchip.tag-chip{background:var(--brand-soft);color:var(--brand)}.task-start{opacity:0;transition:opacity .12s}.task2:hover .task-start,.task2:focus-within .task-start{opacity:1}@media (hover: none){.task-start,.task-grip{opacity:1}}.suggest-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-right:10px;background:var(--surface)}.suggest-row:last-child{border-bottom:0}.suggest-row .task2{flex:1;border-bottom:0}.upc-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}.upc-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s}.upc-day:hover{border-color:var(--line-2)}.upc-day small{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.upc-day b{font-size:18px}.upc-day.today{border-color:var(--brand);background:var(--brand-soft)}.upc-dots{display:flex;gap:2px;height:6px}.upc-dots i{width:6px;height:6px;border-radius:50%}.upc-day em{font-style:normal;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.board-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;min-height:240px;display:flex;flex-direction:column;gap:8px}.board-col header{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 4px;font-size:13.5px}.board-col header b:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:var(--ink-3)}.col-doing header b:before{background:var(--info)}.col-done header b:before{background:var(--ok)}.kcard{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--sc);border-radius:var(--r-sm);padding:10px 12px;cursor:grab;box-shadow:var(--sh-1);transition:box-shadow .15s,transform .15s}.kcard:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.kcard-title{font-size:13.5px;font-weight:500}.col-done .kcard-title{text-decoration:line-through;color:var(--ink-3)}@media (max-width: 760px){.board{grid-template-columns:1fr}}.matrix{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:relative;padding-top:22px}.mx-axis{position:absolute;top:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.mx-axis.top{left:4px}.mx-axis.right{left:calc(50% + 9px)}.mx-cell{border-radius:var(--r-lg);padding:10px;min-height:200px;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.mx-cell header{display:flex;flex-direction:column;padding:2px 4px}.mx-cell header b{font-size:14px}.mx-cell header small{font-size:12px;color:var(--ink-3)}.mx-do{background:color-mix(in srgb,var(--rouge-soft) 60%,var(--surface))}.mx-schedule{background:color-mix(in srgb,var(--info-soft) 60%,var(--surface))}.mx-delegate{background:color-mix(in srgb,var(--warn-soft) 55%,var(--surface))}.mx-drop{background:var(--surface-2)}.mx-do header b{color:var(--rouge)}.mx-schedule header b{color:var(--info)}.mx-delegate header b{color:var(--warn)}.mx-cell .tempty{padding:6px 4px}@media (max-width: 700px){.matrix{grid-template-columns:1fr}.mx-axis{display:none}.matrix{padding-top:0}}.subj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.subj-card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--sc);border-radius:var(--r-lg);padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--sh-1)}.subj-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.subj-card header .faint{font-size:12.5px}.subj-card .tlist{box-shadow:none}.subj-card .progress i{background:var(--sc)}.progress{height:8px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.progress.thin{height:5px}.progress i{display:block;height:100%;background:var(--ok);border-radius:inherit;transition:width .3s var(--ease)}.done-bar{flex:0 0 120px;height:6px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.done-bar i{display:block;height:100%;background:var(--ok);border-radius:inherit}.td-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px}.td-label{font-size:13px;font-weight:600;margin-bottom:6px;display:flex;gap:8px;align-items:baseline}.prio-pick{display:flex;gap:4px}.prio-btn{flex:1;font:600 12.5px var(--font-body);padding:7px 0;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}.prio-btn.on.p1{background:var(--rouge-soft);color:var(--rouge);border-color:var(--rouge)}.prio-btn.on.p2{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.prio-btn.on.p3{background:var(--info-soft);color:var(--info);border-color:var(--info)}.prio-btn.on.p4{background:var(--surface-3);color:var(--ink);border-color:var(--line-2)}.sub-row{display:flex;align-items:center;gap:8px;padding:2px 0}.sub-row .sub-text{border:0;background:none;padding:5px 2px;font-size:14px;box-shadow:none}.sub-row input[type=checkbox]:checked+.sub-text{text-decoration:line-through;color:var(--ink-3)}form.sub-add{flex-direction:row;align-items:center;gap:8px;max-width:none}form.sub-add input{border:0;border-bottom:1px dashed var(--line-2);border-radius:0;background:none;padding:5px 2px;font-size:14px}.tag-input{width:90px!important;padding:4px 8px!important;font-size:12.5px!important;border-radius:var(--r-pill)!important}.tpl-layout{display:grid;grid-template-columns:220px 1fr;gap:16px}.tpl-list{display:flex;flex-direction:column;gap:4px}.tpl-item{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;padding:8px 10px;border-radius:var(--r-sm);border:1px solid transparent;background:none;color:var(--ink);cursor:pointer;position:relative}.tpl-item:hover{background:var(--surface-2)}.tpl-item.on{background:var(--brand-soft);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.tpl-item b{display:block;font-size:13.5px;font-weight:600}.tpl-item small{font-size:11.5px;color:var(--ink-3)}.tpl-item.new{color:var(--brand)}.tpl-ic{font-size:18px;width:24px;text-align:center}.tpl-del{margin-left:auto;color:var(--ink-3);padding:2px;border-radius:4px}.tpl-del:hover{color:var(--rouge)}.tpl-preview{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.tpl-preview li{display:grid;grid-template-columns:88px 1fr auto;gap:10px;padding:8px 12px;font-size:13.5px;border-bottom:1px solid var(--line)}.tpl-preview li:last-child{border-bottom:0}.tpl-when{font-weight:600;color:var(--brand);font-size:12.5px}@media (max-width: 640px){.tpl-layout{grid-template-columns:1fr}.tpl-list{flex-direction:row;overflow-x:auto}.tpl-item{flex:none}.upc-strip{gap:3px}.upc-day{padding:8px 2px}.todo-hero-stat{min-width:0;flex:1;padding:10px 12px}.todo-hero-ring{flex-basis:100%}}.timer-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media (max-width: 1000px){.timer-layout{grid-template-columns:1fr}}.t-stage{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 20px 16px;position:relative;overflow:hidden}.t-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--rc) 12%,transparent),transparent 60%);pointer-events:none;transition:background .4s}.t-stage>*{position:relative}.t-modes button:disabled{opacity:.5}.t-presets{justify-content:center}.t-custom{width:72px!important;padding:4px 8px!important;font-size:13px!important;border-radius:var(--r-pill)!important}.t-hint{font-size:12.5px;text-align:center;max-width:440px;margin:-4px 0 0}.fring{position:relative;display:grid;place-items:center;max-width:100%;aspect-ratio:1}.fring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.fring-bg{fill:none;stroke:var(--line);stroke-width:12}.fring-fg{fill:none;stroke:var(--rc);stroke-width:12;stroke-linecap:round;transition:stroke-dasharray .25s linear,stroke .3s;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--rc) 40%,transparent))}.fring .tick{stroke:var(--line-2);stroke-width:2;stroke-linecap:round}.fring .tick.on{stroke:var(--rc)}.fring-in{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.fr-phase{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--rc) 15%,transparent);color:var(--rc)}.fr-phase.b{background:var(--ok-soft);color:var(--ok)}.fr-time{font:600 64px/1 var(--font-mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.fr-sub{font-size:14px;color:var(--ink-2)}.fr-score{font-size:12px;color:var(--ink-3)}.t-live .fr-time{color:var(--ink)}.t-task{display:flex;align-items:center;gap:6px;font-size:13.5px;padding:6px 8px 6px 12px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);max-width:100%}.t-task b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-subjects{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.t-subj{display:inline-flex;align-items:center;gap:6px;font:500 13px var(--font-body);padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:all .15s}.t-subj i{width:8px;height:8px;border-radius:50%;background:var(--sc)}.t-subj:hover{border-color:var(--sc)}.t-subj.on{background:color-mix(in srgb,var(--sc) 14%,var(--surface));border-color:var(--sc);color:var(--ink);font-weight:600}.t-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.btn.lg{padding:11px 22px;font-size:15px;border-radius:var(--r-pill);gap:8px}.t-foot{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;align-items:center;border-top:1px solid var(--line);padding-top:10px;width:100%}.t-side{display:flex;flex-direction:column;gap:12px}.t-side .card{padding:14px 16px}.t-side .card-head h3{font-size:14px}.t-today-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}.t-today-top .l{display:block;font-size:12px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.t-today-top b{font-size:26px;font-weight:650;font-variant-numeric:tabular-nums}.t-streak{display:flex;align-items:baseline;gap:4px}.t-streak b{font-size:22px}.flame{font-size:20px;filter:grayscale(1);opacity:.5;transition:all .3s}.flame.lit{filter:none;opacity:1}.t-today-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--ink-2);margin:10px 0 6px}.t-sess{display:flex;flex-direction:column;margin-top:6px}.t-sess-row{display:grid;grid-template-columns:8px 1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:13px}.t-sess-row i{width:8px;height:8px;border-radius:50%;background:var(--sc)}.goal-row{margin-bottom:10px}.goal-row .progress i{background:var(--sc)}.goal-top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.goal-edit{display:grid;grid-template-columns:1fr 160px 48px;align-items:center;gap:10px;font-size:13.5px}.goal-edit b{text-align:right;font-variant-numeric:tabular-nums}.amb{display:flex;flex-direction:column;gap:6px}.amb-presets{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.amb-presets .chip{font-size:12px;padding:4px 9px}.amb-row{display:grid!important;grid-template-columns:22px 88px 1fr;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);margin:0!important}.amb-row.on{color:var(--ink);font-weight:500}.amb-ic{font-size:15px}.amb-row input[type=range]{width:100%;accent-color:var(--brand)}.sum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sum-stats>div{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}.sum-stats b{font-size:24px;font-weight:650}.sum-stats span{font-size:12px;color:var(--ink-3);text-align:center}.sum-stats .good b{color:var(--ok)}.sum-stats .ok b{color:var(--warn)}.sum-stats .low b{color:var(--rouge)}.rate{display:flex;gap:6px}.rate button{font-size:24px;padding:6px 10px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;filter:grayscale(.8);opacity:.7;transition:all .15s}.rate button:hover{opacity:1;filter:none}.rate button.on{filter:none;opacity:1;border-color:var(--brand);background:var(--brand-soft);transform:scale(1.08)}.zen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--rc) 22%,#0b0f1e),#05070f 70%);color:#eef1ff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px}.zen .fring-bg{stroke:#ffffff14}.zen .fring .tick{stroke:#ffffff24}.zen .fring .tick.on{stroke:var(--rc)}.zen .fr-time{font-size:88px;color:#fff}.zen .fr-sub,.zen .fr-score{color:#eef1ffb3}.zen .btn:not(.primary){color:#eef1ff;border-color:#fff3;background:#ffffff0f}.zen-x{position:absolute;top:16px;right:16px}.zen-task{font-size:17px;margin:0;opacity:.85}.zen-hint{position:absolute;bottom:18px;font-size:12.5px;opacity:.45;margin:0}@media (max-width: 600px){.zen .fring{width:300px!important;height:300px!important}.zen .fr-time{font-size:60px}.fr-time{font-size:52px}}.t-day-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.t-day-grid{grid-template-columns:1fr}}.ytt{display:flex;flex-direction:column;gap:3px}.ytt-row{display:grid;grid-template-columns:34px repeat(6,1fr);gap:3px;align-items:center}.ytt-h{font-size:10.5px;color:var(--ink-3);text-align:right;padding-right:6px;font-variant-numeric:tabular-nums}.ytt i{height:18px;border-radius:4px;background:var(--surface-3)}.ytt-row i:nth-child(4){margin-right:0}.ytt i.on{box-shadow:inset 0 0 0 1px #0000000f}.sess-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13.5px}.sess-item:last-child{border-bottom:0}.sess-dot{width:10px;height:10px;border-radius:50%;background:var(--sc);margin-top:5px;flex:none}.sess-note{margin:4px 0 0;font-size:13px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-sm);padding:6px 8px}.sbars{position:relative}.sbars-plot{display:flex;align-items:flex-end;gap:4px;position:relative;border-bottom:1px solid var(--line)}.sbar{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.sbar-stack{width:min(100%,36px);display:flex;flex-direction:column-reverse;gap:2px;border-radius:4px 4px 0 0;overflow:hidden;min-height:0}.sbar-stack i{display:block;min-height:2px}.sbar.hover .sbar-stack{filter:brightness(1.08)}.sbars-goal{position:absolute;left:0;right:0;border-top:1.5px dashed var(--ink-3);opacity:.6;pointer-events:none;z-index:1}.sbars-goal-l{position:absolute;right:0;transform:translateY(-100%);font-size:10.5px;color:var(--ink-3);background:var(--surface);padding:0 4px;z-index:1}.sbars-x{display:flex;gap:4px;margin-top:4px}.sbars-x span{flex:1;text-align:center;font-size:11px;color:var(--ink-3)}.sbars-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:12px;color:var(--ink-2)}.sbars-legend i,.tip-row i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:4px}.sbar .chart-tip,.hbar .chart-tip{transform:translate(-50%);display:flex;flex-direction:column;gap:2px}.tip-row{font-size:11.5px}.hbars-plot{display:flex;align-items:flex-end;gap:2px;height:120px;border-bottom:1px solid var(--line)}.hbar{flex:1;height:100%;display:flex;align-items:flex-end;position:relative}.hbar i{width:100%;background:color-mix(in srgb,var(--brand) 55%,var(--surface));border-radius:3px 3px 0 0;min-height:1px}.hbar.peak i{background:var(--brand)}.hbars-x{display:flex;gap:2px;margin-top:4px}.hbars-x span{flex:1;font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:visible}.hm-wrap{position:relative;overflow-x:auto}.hm-months{display:grid;gap:3px;font-size:10.5px;color:var(--ink-3);margin-bottom:4px;min-width:640px}.hm{display:grid;gap:3px;min-width:640px}.hm-col{display:grid;grid-template-rows:repeat(7,1fr);gap:3px}.hm-cell{display:block;aspect-ratio:1;border-radius:3px;background:var(--surface-3)}.hm-cell.l1{background:color-mix(in srgb,var(--ok) 28%,var(--surface-3))}.hm-cell.l2{background:color-mix(in srgb,var(--ok) 52%,var(--surface-3))}.hm-cell.l3{background:color-mix(in srgb,var(--ok) 76%,var(--surface-3))}.hm-cell.l4{background:var(--ok)}.hm-cell.lx{background:transparent}.hm-legend{display:flex;align-items:center;gap:3px;justify-content:flex-end;font-size:11px;color:var(--ink-3);margin-top:6px}.hm-legend .hm-cell{width:11px}.atar-disc{margin-bottom:16px;display:block}.atar-disc summary{cursor:pointer;font-size:13.5px}.atar-disc p{font-size:13px;margin:8px 0 0}.atar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media (max-width: 1000px){.atar-layout{grid-template-columns:1fr}}.atar-h3{font-size:15px;margin:0 0 10px}.atar-hero{padding:22px 24px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,var(--surface)),var(--surface) 60%)}.atar-num{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.atar-num .l{flex-basis:100%;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.atar-num b{font:700 56px/1 var(--font-head);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--brand)}.atar-range{font-size:14px;color:var(--ink-2)}.atar-band{margin:22px 0 8px}.atar-track{position:relative;height:12px;border-radius:var(--r-pill);background:var(--surface-3)}.atar-fill{position:absolute;top:0;bottom:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--brand) 35%,transparent)}.atar-mid{position:absolute;top:-5px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--brand)}.atar-target{position:absolute;top:-9px;margin-left:-6px;border:6px solid transparent;border-top:8px solid var(--rouge)}.atar-course{position:absolute;top:16px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--ink-3);box-shadow:0 0 0 2px var(--surface)}.atar-course.fit-safe,.fit.fit-safe{background:var(--ok)}.atar-course.fit-likely,.fit.fit-likely{background:var(--info)}.atar-course.fit-stretch,.fit.fit-stretch{background:var(--warn)}.atar-course.fit-gap,.fit.fit-gap{background:var(--rouge)}.atar-ticks{position:relative;height:26px;margin-top:4px}.atar-ticks span{position:absolute;top:10px;transform:translate(-50%);font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.atar-ticks span:last-child{transform:translate(-100%)}.atar-break{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.atar-break>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.atar-break span{font-size:12px;color:var(--ink-3)}.atar-break b{font-size:16px;font-variant-numeric:tabular-nums}.atar-break b.ok,small.ok{color:var(--ok)}.atar-break b.red,small.red{color:var(--rouge)}@media (max-width: 640px){.atar-break{grid-template-columns:1fr 1fr}.atar-num b{font-size:44px}}.atar-unc{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--ink-2)}.atar-unc input{flex:1;max-width:220px;accent-color:var(--brand)}.atar-rows{display:flex;flex-direction:column}.atar-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 1fr 1fr 110px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}.atar-row.r3{grid-template-columns:1fr 80px 80px}.atar-row:last-child{border-bottom:0}.atar-row.head{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding-top:0}.atar-row:not(.counted):not(.head) .atar-sc b{color:var(--ink-3)}.atar-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.atar-name>i{width:9px;height:9px;border-radius:50%;background:var(--sc);flex:none}.atar-badges{display:flex;gap:4px;flex-basis:100%;padding-left:17px}.atar-badges .tag{font-size:10.5px;padding:1px 6px}.tag.bonus{background:var(--ok-soft);color:var(--ok)}.atar-in{display:flex;align-items:center;gap:6px}.atar-in input[type=range]{flex:1;min-width:0;accent-color:var(--sc)}.atar-in input[type=number]{width:58px;padding:4px 6px;font-size:13px}.atar-sc{font-variant-numeric:tabular-nums;text-align:right}@media (max-width: 760px){.atar-row{grid-template-columns:1fr 1fr}.atar-row.head{display:none}.atar-row .atar-name{grid-column:1 / -1}.atar-sc{grid-column:1 / -1;text-align:left}}.course-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.course-row small{font-size:11.5px}.course-atar{font-variant-numeric:tabular-nums}.fit{font-size:10.5px;font-weight:700;color:#fff;padding:2px 7px;border-radius:var(--r-pill);width:56px;text-align:center;flex:none}form.course-add{display:grid;grid-template-columns:1fr 70px 64px auto;gap:6px;margin:10px 0 6px;max-width:none}form.course-add input{padding:5px 8px;font-size:13px}.atar-target-in{max-width:200px}.big-answer{font-size:17px;line-height:1.5;margin:0 0 16px}.linkish{background:none;border:0;padding:0;color:var(--brand);font:inherit;cursor:pointer;text-decoration:underline}.eff-row{display:grid;grid-template-columns:170px 1fr 60px;gap:12px;align-items:center;margin-bottom:10px;font-size:13.5px}.eff-track{height:12px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.eff-track i{display:block;height:100%;background:var(--sc);border-radius:inherit}.eff-row b{text-align:right;font-variant-numeric:tabular-nums}.scen-wrap{overflow-x:auto}table.scen{width:100%;border-collapse:collapse;font-size:13.5px}.scen th,.scen td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.scen th:first-child,.scen td:first-child{text-align:left}.scen th{font-size:12px;color:var(--ink-3);font-weight:600}.scen-total td{font-weight:700;font-size:15px}.seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{white-space:nowrap;flex:none}.ph>*{min-width:0;max-width:100%}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:28px;grid-auto-flow:dense}.dw{padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}.dw.wide{grid-column:span 2}@media (max-width: 700px){.dw.wide{grid-column:auto}}.dw.editing{outline:2px dashed color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:2px}.dw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.dw-head h3{font-size:13.5px;font-weight:650;margin:0;display:flex;align-items:center;gap:7px;color:var(--ink-2)}.dw-head h3 svg{color:var(--brand)}.dw-tools{display:flex;gap:2px}.dw-empty{font-size:13px;margin:0}.dash-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.plan{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:16px}@media (max-width: 800px){.plan{grid-template-columns:1fr}}.plan-col{display:flex;flex-direction:column;gap:4px;min-width:0}.plan-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:4px;display:flex;gap:6px;align-items:center}.plan-ev{display:grid;grid-template-columns:58px 1fr;gap:8px;padding:6px 8px;border-radius:var(--r-sm);border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 8%,var(--surface));color:var(--ink);text-decoration:none;font-size:13.5px}.plan-ev:hover{background:color-mix(in srgb,var(--c) 16%,var(--surface))}.plan-time{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.plan-task{display:flex;align-items:center;gap:8px;padding:5px 0 5px 8px;font-size:13.5px;border-left:3px solid var(--sc);min-width:0}.plan-task .task-check{width:18px;height:18px;margin:0}.plan-goal{align-items:center}.dring{--p: 0;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--surface) 78%,transparent 80% 100%),conic-gradient(var(--ok) calc(var(--p) * 1%),var(--surface-3) 0);margin:2px 0 8px}.dring b{font-size:20px;font-variant-numeric:tabular-nums}.dring span{font-size:11.5px;color:var(--ink-3)}.dw-study{display:flex;justify-content:space-between;align-items:baseline}.big-n{font:700 30px/1 var(--font-head);letter-spacing:-.02em}.mini-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:84px;margin-top:6px}.mini-bars>div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.mini-bars i{width:100%;max-width:26px;background:color-mix(in srgb,var(--brand) 45%,var(--surface-3));border-radius:4px 4px 0 0;min-height:2px}.mini-bars .today i{background:var(--brand)}.mini-bars span{font-size:10.5px;color:var(--ink-3)}.cd-list{display:flex;flex-direction:column}.cd-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.cd-row:last-child{border-bottom:0}.cd-row>i{width:8px;height:8px;border-radius:50%;background:var(--sc)}.cd-row b{min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.fc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fc-tile{display:flex;flex-direction:column;padding:12px;border-radius:var(--r);border:1px solid var(--line);border-top:3px solid var(--sc);color:var(--ink);text-decoration:none;transition:box-shadow .15s,transform .15s}.fc-tile:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.fc-label{font-size:12.5px;color:var(--ink-2);font-weight:600}.fc-tile b{font:700 28px/1.2 var(--font-head);font-variant-numeric:tabular-nums}.fc-tile .faint{font-size:12px}.dw-tasks{display:flex;flex-direction:column;gap:2px}.g-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13.5px}.g-row b{width:52px;text-align:right;font-variant-numeric:tabular-nums}.g-spark{display:flex;align-items:flex-end;gap:2px;height:22px;width:60px}.g-spark i{flex:1;background:var(--sc);border-radius:2px 2px 0 0;opacity:.8}.g-atar{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);font-size:13.5px}.g-atar b{color:var(--brand);font-size:16px}.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.wk-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink);min-width:0}.wk-day:hover{background:var(--surface-2)}.wk-day small{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;font-weight:600}.wk-day b{font-size:15px}.wk-day.today b{color:var(--brand)}.wk-bar{width:10px;height:40px;background:var(--surface-3);border-radius:5px;display:flex;align-items:flex-end;overflow:hidden}.wk-bar i{width:100%;background:var(--brand);border-radius:5px}.wk-day.heavy .wk-bar i{background:var(--warn)}.wk-day em{font-style:normal;font-size:10px;color:var(--rouge);max-width:100%}.dep-board{background:#10131c;color:#f4d35e;border-radius:var(--r);padding:8px 10px;font-family:var(--font-mono);font-size:12.5px}.dep-row{display:grid;grid-template-columns:70px 70px 50px 1fr;gap:8px;padding:6px 2px;border-bottom:1px solid rgba(255,255,255,.07);color:inherit;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.dep-row:last-child{border-bottom:0}.dep-row.head{color:#ffffff80;font-size:10.5px}a.dep-row:hover{background:#ffffff0d}.dep-st{color:#9be3a4}.dep-st.st-booked,.dep-st.st-checked_in{color:#f4d35e}.dep-st.st-boarding{color:#ffb86b;animation:blink 1.2s steps(2) infinite}.dep-st.st-paused{color:#ff8a8a}@keyframes blink{50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.dep-st.st-boarding{animation:none}}.qnotes{width:100%;min-height:150px;resize:vertical;font-size:14px;line-height:1.55;background:repeating-linear-gradient(transparent 0 25px,var(--line) 25px 26px);background-attachment:local;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 10px}.recent{display:flex;flex-direction:column}.recent-row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink);text-decoration:none}.recent-row:last-child{border-bottom:0}.recent-row:hover{color:var(--brand)}.recent-row .faint{font-size:12px;flex:none}.ann{margin-bottom:8px}.ann p{font-size:13.5px;margin:2px 0 0}:root[data-accent=teal]{--brand: #0f7a7a;--brand-2: color-mix(in srgb, #0f7a7a 85%, white);--brand-soft: color-mix(in srgb, #0f7a7a 12%, var(--surface))}:root[data-accent=teal][data-theme=dark],:root[data-accent=teal][data-theme=oled]{--brand: #4fd1c5;--brand-2: #4fd1c5;--brand-soft: color-mix(in srgb, #4fd1c5 16%, var(--surface));--brand-ink: #10131c}@media (prefers-color-scheme: dark){:root:not([data-theme])[data-accent=teal]{--brand: #4fd1c5;--brand-2: #4fd1c5;--brand-soft: color-mix(in srgb, #4fd1c5 16%, var(--surface));--brand-ink: #10131c}}:root[data-accent=violet]{--brand: #6d3fc0;--brand-2: color-mix(in srgb, #6d3fc0 85%, white);--brand-soft: color-mix(in srgb, #6d3fc0 12%, var(--surface))}:root[data-accent=violet][data-theme=dark],:root[data-accent=violet][data-theme=oled]{--brand: #b794f6;--brand-2: #b794f6;--brand-soft: color-mix(in srgb, #b794f6 16%, var(--surface));--brand-ink: #10131c}@media (prefers-color-scheme: dark){:root:not([data-theme])[data-accent=violet]{--brand: #b794f6;--brand-2: #b794f6;--brand-soft: color-mix(in srgb, #b794f6 16%, var(--surface));--brand-ink: #10131c}}:root[data-accent=rose]{--brand: #be2957;--brand-2: color-mix(in srgb, #be2957 85%, white);--brand-soft: color-mix(in srgb, #be2957 12%, var(--surface))}:root[data-accent=rose][data-theme=dark],:root[data-accent=rose][data-theme=oled]{--brand: #f687b3;--brand-2: #f687b3;--brand-soft: color-mix(in srgb, #f687b3 16%, var(--surface));--brand-ink: #10131c}@media (prefers-color-scheme: dark){:root:not([data-theme])[data-accent=rose]{--brand: #f687b3;--brand-2: #f687b3;--brand-soft: color-mix(in srgb, #f687b3 16%, var(--surface));--brand-ink: #10131c}}:root[data-accent=amber]{--brand: #a35a00;--brand-2: color-mix(in srgb, #a35a00 85%, white);--brand-soft: color-mix(in srgb, #a35a00 12%, var(--surface))}:root[data-accent=amber][data-theme=dark],:root[data-accent=amber][data-theme=oled]{--brand: #f6c453;--brand-2: #f6c453;--brand-soft: color-mix(in srgb, #f6c453 16%, var(--surface));--brand-ink: #10131c}@media (prefers-color-scheme: dark){:root:not([data-theme])[data-accent=amber]{--brand: #f6c453;--brand-2: #f6c453;--brand-soft: color-mix(in srgb, #f6c453 16%, var(--surface));--brand-ink: #10131c}}:root[data-accent=green]{--brand: #1e7b3c;--brand-2: color-mix(in srgb, #1e7b3c 85%, white);--brand-soft: color-mix(in srgb, #1e7b3c 12%, var(--surface))}:root[data-accent=green][data-theme=dark],:root[data-accent=green][data-theme=oled]{--brand: #68d391;--brand-2: #68d391;--brand-soft: color-mix(in srgb, #68d391 16%, var(--surface));--brand-ink: #10131c}@media (prefers-color-scheme: dark){:root:not([data-theme])[data-accent=green]{--brand: #68d391;--brand-2: #68d391;--brand-soft: color-mix(in srgb, #68d391 16%, var(--surface));--brand-ink: #10131c}}body{font-family:var(--font-body)}:root[data-density=compact] .page{padding-top:20px}:root[data-density=compact] .card{padding:12px 14px}:root[data-density=compact] .task2{padding:6px 10px}:root[data-density=compact] .ph{margin-bottom:14px}:root[data-density=compact] .stack{gap:8px}:root[data-motion=reduce] *,:root[data-motion=reduce] *:before,:root[data-motion=reduce] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}:root[data-links=underline] main a:not(.btn):not(.card):not(.chip):not([class*=-row]):not([class*=tile]){text-decoration:underline;text-underline-offset:2px}.set-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}.opt-row{display:flex;gap:6px;flex-wrap:wrap}.opt{font:500 13px var(--font-body);padding:7px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}.opt.on{border-color:var(--brand);background:var(--brand-soft);color:var(--ink);font-weight:600}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;padding:0}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.preview-box{border:1px dashed var(--line-2);border-radius:var(--r);padding:12px 14px;font-size:1rem;line-height:1.55}.preview-box b{color:var(--brand)}.kbd-table{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;font-size:13.5px}.kbd-table .keys{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.kbd-group{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);grid-column:1 / -1;margin-top:8px}.data-stats{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}.danger-zone{border:1px solid color-mix(in srgb,var(--rouge) 40%,var(--line));border-radius:var(--r);padding:12px 14px;margin-top:12px}.danger-zone h4{color:var(--rouge);margin:0 0 4px;font-size:14px}.mini-cal-card{padding:12px 14px!important}.mini-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13.5px}.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mc-dow{font-size:10px;color:var(--ink-3);text-align:center;font-weight:600;padding-bottom:2px}.mc-day{position:relative;font:500 12px var(--font-body);height:30px;border:0;background:none;border-radius:50%;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums}.mc-day:hover{background:var(--surface-3)}.mc-day.out{color:var(--ink-3)}.mc-day.inview{background:var(--brand-soft);border-radius:6px}.mc-day.sel{box-shadow:inset 0 0 0 1.5px var(--brand)}.mc-day.today{background:var(--brand);color:var(--brand-ink);font-weight:700}.mc-day i{position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--brand)}.mc-day.today i{background:var(--brand-ink)}.cal-main{touch-action:pan-y}.cal-fab{display:none}@media (max-width: 1000px){.mini-cal-card{display:none}}@media (max-width: 700px){.cal-fab{display:grid;place-items:center;position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:50%;border:0;background:var(--brand);color:var(--brand-ink);box-shadow:var(--sh-3);z-index:40;cursor:pointer}.cal-bar{gap:8px}.cal-title{font-size:17px;flex-basis:100%;order:-1;margin:0}.tg-hours span{font-size:9.5px;right:3px}.tg-ev{font-size:10.5px;padding:2px 4px}.tg-ev span{display:none}}@media (min-width: 701px){.cal-cell{min-height:max(118px,calc((100vh - 290px) / 6))}}.notes-ws{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;overflow:hidden;background:var(--surface)}.notes-ws.has-peek{grid-template-columns:260px minmax(0,1fr) min(520px,42vw)}.nt-toggle{display:none}.nt-side{border-right:1px solid var(--line);background:var(--surface-2);overflow-y:auto;padding:10px 8px 16px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.nt-quick{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}.nt-quick button,.nt-flat{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;color:var(--ink-2);background:none;border:0;padding:5px 8px;border-radius:6px;cursor:pointer;min-width:0}.nt-quick button:hover,.nt-flat:hover{background:var(--surface-3);color:var(--ink)}.nt-flat.on{background:var(--brand-soft);color:var(--ink);font-weight:600}.nt-badge{margin-left:auto;font-size:10.5px;font-weight:700;background:var(--rouge);color:#fff;border-radius:var(--r-pill);padding:0 6px;line-height:17px}.nt-sec{margin-top:8px}.nt-sec-head{display:flex;align-items:center;justify-content:space-between;padding:0 4px 2px 8px}.nt-sec-head>button:first-child{font:600 11.5px var(--font-body);color:var(--ink-3);background:none;border:0;cursor:pointer;padding:3px 0;text-transform:none;letter-spacing:.02em}.nt-add{background:none;border:0;color:var(--ink-3);cursor:pointer;padding:2px 4px;border-radius:4px}.nt-add:hover{background:var(--surface-3);color:var(--ink)}.nt-row{position:relative;display:flex;align-items:center;gap:2px;border-radius:6px;min-height:30px}.nt-row:hover{background:var(--surface-3)}.nt-row.on{background:var(--brand-soft)}.nt-row.on .nt-title{color:var(--ink);font-weight:600}.nt-row.drop-before{box-shadow:inset 0 2px 0 var(--brand)}.nt-row.drop-after{box-shadow:inset 0 -2px 0 var(--brand)}.nt-row.drop-inside{background:color-mix(in srgb,var(--brand) 18%,transparent)}.nt-chev{flex:none;width:20px;height:20px;display:grid;place-items:center;background:none;border:0;border-radius:4px;color:var(--ink-3);cursor:pointer;padding:0;transition:transform .12s}.nt-chev:hover{background:var(--line)}.nt-chev.open{transform:rotate(90deg)}.nt-chev.empty{opacity:.25}.nt-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:none;border:0;font:inherit;color:var(--ink-2);text-align:left;cursor:pointer;padding:4px 2px}.nt-ic{flex:none;width:18px;text-align:center;font-size:14px}.nt-acts{display:none;gap:1px;padding-right:3px}.nt-row:hover .nt-acts,.nt-row:focus-within .nt-acts{display:flex}.nt-acts button{background:none;border:0;color:var(--ink-3);cursor:pointer;width:22px;height:22px;display:grid;place-items:center;border-radius:4px}.nt-acts button:hover{background:var(--line);color:var(--ink)}.nt-menu{position:absolute;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);padding:4px;min-width:210px;display:flex;flex-direction:column}.nt-menu button,.pv-menu button{display:flex;align-items:center;gap:8px;text-align:left;font:inherit;font-size:13.5px;background:none;border:0;padding:7px 10px;border-radius:6px;color:var(--ink);cursor:pointer}.nt-menu button:hover,.pv-menu button:hover{background:var(--surface-2)}.nt-menu .danger,.pv-menu .danger,.danger-text{color:var(--rouge)!important}.nt-empty{font-size:12.5px;color:var(--ink-3);padding:4px 8px}.nt-root-drop{min-height:24px}.nt-setup{display:flex;flex-direction:column;gap:2px;padding:2px 0}.nt-setup button{font:inherit;font-size:12.5px;color:var(--brand);background:none;border:1px dashed color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:6px;padding:5px 8px;cursor:pointer;text-align:left;display:flex;gap:6px;align-items:center}.nt-setup button:hover{background:var(--brand-soft)}.nt-tsub{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink-3);padding:6px 8px 2px}.nt-tsub i{width:7px;height:7px;border-radius:50%;background:var(--sc)}.nt-trash{margin-top:10px}.nt-new{margin-top:8px;justify-content:center}.nt-main{overflow:hidden;display:flex;flex-direction:column;min-width:0}.nt-peek{border-left:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);box-shadow:-8px 0 24px -16px #00000040}.pv{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}.pv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid transparent;min-height:46px;flex-wrap:wrap}.pv-crumbs{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--ink-2);min-width:0;overflow:hidden;flex-wrap:wrap}.pv-crumbs button{background:none;border:0;font:inherit;color:inherit;padding:3px 6px;border-radius:5px;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-crumbs button:hover{background:var(--surface-2);color:var(--ink)}.pv-sep{color:var(--ink-3);margin:0 1px}.pv-actions{display:flex;align-items:center;gap:4px}.pv-edited{font-size:12px;margin-right:6px}.btn.fav svg{fill:#f5b301;color:#f5b301}.pv-dd{position:relative}.pv-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);padding:5px;min-width:250px;display:flex;flex-direction:column}.pv-menu.right{left:auto;right:0}.pv-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.pv-menu-note{font-size:11.5px;color:var(--ink-3);padding:6px 10px 4px}.pv-fonts{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px}.pv-fonts button{flex-direction:column;gap:2px;border:1px solid var(--line);padding:8px 4px;align-items:center}.pv-fonts button.on{border-color:var(--brand);background:var(--brand-soft)}.pv-fonts b{font-size:20px}.pv-fonts span{font-size:11px;color:var(--ink-3)}.pv-toggle{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;padding:6px 10px;margin:0!important}.pv-toggle.col{flex-direction:column!important;align-items:stretch}.pv-toggle select{padding:4px 8px;font-size:13px}.pv-scroll{flex:1;overflow-y:auto;min-height:0}.pv-cover{position:relative;height:200px}.pv-cover-acts{position:absolute;right:16px;bottom:10px;display:none;gap:4px}.pv-cover:hover .pv-cover-acts{display:flex}.pv-cover-acts button,.pv-addons button{font:inherit;font-size:12.5px;border:0;border-radius:6px;padding:5px 9px;cursor:pointer;background:#ffffffd9;color:#333}.pv-cover-pick{position:absolute;z-index:40;right:20px;top:150px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:var(--r);padding:8px;display:grid;grid-template-columns:repeat(4,60px);gap:6px}.pv-cover-pick button{height:40px;border:0;border-radius:6px;cursor:pointer}.pv-upload{grid-column:span 2;background:var(--surface-3)!important;font:500 12.5px var(--font-body);color:var(--ink)}.pv-body{max-width:760px;margin:0 auto;padding:0 54px 120px;position:relative}.pv.wide .pv-body{max-width:none}.pv-head{position:relative;padding-top:56px}.pv-head.has-cover{padding-top:0}.pv-icon{font-size:64px;line-height:1;background:none;border:0;cursor:pointer;padding:4px;border-radius:8px;margin-bottom:4px}.pv-head.has-cover .pv-icon{margin-top:-38px}.pv-icon:hover{background:var(--surface-2)}.pv-icon.static{cursor:default}.pv-emoji{position:absolute;z-index:40;top:80px;left:0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);border-radius:var(--r);padding:8px;display:grid;grid-template-columns:repeat(10,34px);gap:2px}.pv-emoji button{font-size:20px;background:none;border:0;border-radius:6px;cursor:pointer;height:34px}.pv-emoji button:hover{background:var(--surface-2)}.pv-emoji-rm{grid-column:span 10;font:500 12.5px var(--font-body)!important;color:var(--ink-2)}.pv-addons{display:flex;gap:4px;opacity:0;transition:opacity .15s;margin-bottom:4px}.pv-head:hover .pv-addons{opacity:1}.pv-addons button{background:none;color:var(--ink-3)}.pv-addons button:hover{background:var(--surface-2);color:var(--ink)}.pv-title{width:100%;border:0;background:none;resize:none;font:700 40px/1.2 var(--font-head);letter-spacing:-.02em;color:var(--ink);padding:0;overflow:hidden;outline:none;box-shadow:none!important}.pv-title::placeholder{color:var(--line-2)}h1.pv-title.static{margin:0}.pv-meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 18px}.pv-subj,.pv-dp{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.pv-subj i{width:7px;height:7px;border-radius:50%;background:var(--sc)}.pv-dp.due{background:var(--rouge-soft);color:var(--rouge);border-color:transparent;font-weight:600}.pv-cov{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin-bottom:18px;background:var(--surface-2)}.pv-cov-head{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:8px;flex-wrap:wrap;gap:6px}.pv-kids{display:flex;flex-direction:column;margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.pv-kid{display:flex;align-items:center;gap:8px;font:inherit;font-size:15px;background:none;border:0;padding:6px 4px;border-radius:6px;color:var(--ink);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}.pv-kid:hover{background:var(--surface-2)}.pv-backlinks{margin-top:36px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.pv-bl{font:inherit;font-size:13.5px;text-align:left;background:none;border:0;padding:5px 6px;border-radius:6px;color:var(--ink-2);cursor:pointer}.pv-bl:hover{background:var(--surface-2);color:var(--ink)}.pv-toc{position:absolute;right:14px;top:130px;width:180px;display:flex;flex-direction:column;gap:2px;font-size:12px;max-height:60vh;overflow:auto}.pv-toc a{color:var(--ink-3);text-decoration:none;padding:2px 6px;border-left:2px solid var(--line);line-height:1.35}.pv-toc a:hover{color:var(--ink);border-left-color:var(--brand)}.pv-toc a.l2{padding-left:14px}.pv-toc a.l3{padding-left:22px}@media (max-width: 1350px){.pv-toc{display:none}}.pv-loading{padding:40px;color:var(--ink-3)}.pv.peek .pv-body{padding:0 28px 80px}.pv.peek .pv-title{font-size:30px}.pv.peek .pv-head{padding-top:24px}.pv.peek .pv-cover{height:110px}.pf-serif .pv-title,.pf-serif .bn-editor{font-family:var(--font-serif)!important}.pf-mono .pv-title,.pf-mono .bn-editor{font-family:var(--font-mono)!important}.pv.small .bn-editor{font-size:14px}.pv-condensed{display:flex;flex-direction:column;gap:6px}.cd-h{font-weight:700;margin-top:10px}.cd-h.l1{font-size:22px}.cd-h.l2{font-size:18px}.cd-def{margin:0}.nb-editor{margin:0 -54px}.nb-editor .bn-editor{padding-inline:54px;background:transparent;font-family:var(--font-body);color:var(--ink)}.pv.peek .nb-editor{margin:0 -28px}.pv.peek .nb-editor .bn-editor{padding-inline:28px}.bn-container[data-color-scheme]{--bn-colors-editor-background: transparent;--bn-font-family: var(--font-body)}.pl{display:inline-flex;align-items:baseline;gap:3px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2);padding:0 1px;cursor:pointer;font-weight:500}.pl:hover{background:var(--surface-2);border-radius:3px}.pl.missing{color:var(--ink-3);text-decoration:line-through}.im{padding:0 2px;border-radius:3px;cursor:pointer}.im:hover{background:var(--surface-2)}.sb{width:100%;border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:6px}.sb-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);display:flex;gap:5px;align-items:center}.sb-field{width:100%;font:inherit;font-size:14.5px;border:1px solid transparent;background:var(--surface-2);border-radius:6px;padding:6px 8px;color:var(--ink);resize:vertical}.sb-field:focus{border-color:var(--brand);outline:none;background:var(--surface)}.sb-field[readonly]{background:transparent;resize:none}.sb-field.mono{font-family:var(--font-mono);font-size:13.5px}.sb-bold{font-weight:600}.sb-fc{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}@media (max-width: 640px){.sb-fc{grid-template-columns:1fr}}.sb-flashcard{border-left:3px solid var(--brand)}.sb-cloze{border-left:3px solid #8b5cf6}.sb-quiz{border-left:3px solid var(--info)}.sb-worked{border-left:3px solid var(--ok)}.sb-cloze-preview{margin:0;font-size:15px;cursor:pointer}.sb-callout{display:flex;gap:10px;width:100%;padding:12px 14px;border-radius:var(--r);background:var(--surface-2)}.sb-callout.c-blue{background:color-mix(in srgb,var(--info) 11%,var(--surface))}.sb-callout.c-green{background:color-mix(in srgb,var(--ok) 12%,var(--surface))}.sb-callout.c-yellow{background:color-mix(in srgb,#eab308 16%,var(--surface))}.sb-callout.c-red{background:color-mix(in srgb,var(--rouge) 11%,var(--surface))}.sb-callout.c-purple{background:color-mix(in srgb,#8b5cf6 12%,var(--surface))}.sb-callout-emoji{font-size:20px;background:none;border:0;cursor:pointer;line-height:1.2;padding:0;height:fit-content}.sb-inline{flex:1;min-width:0}.sb-box{width:100%;border-radius:var(--r);padding:10px 14px;border:1px solid transparent}.sb-box-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.sb-mustKnow{background:color-mix(in srgb,#eab308 13%,var(--surface));border-color:color-mix(in srgb,#eab308 35%,transparent)}.sb-mustKnow .sb-box-label{color:#a16207}.sb-mistake{background:color-mix(in srgb,var(--rouge) 9%,var(--surface));border-color:color-mix(in srgb,var(--rouge) 28%,transparent)}.sb-mistake .sb-box-label{color:var(--rouge)}.sb-examTip{background:color-mix(in srgb,var(--ok) 10%,var(--surface));border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.sb-examTip .sb-box-label{color:var(--ok)}.sb-math{width:100%}.sb-math-out{text-align:center;padding:8px;border-radius:8px;cursor:pointer;overflow-x:auto}.sb-math-out:hover{background:var(--surface-2)}.sb-math-out.preview{cursor:default;border:1px dashed var(--line)}.sb-math-edit{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--line);border-radius:var(--r)}.sb-seg{display:inline-flex;gap:2px;background:var(--surface-3);padding:2px;border-radius:7px;width:fit-content}.sb-seg button{font:500 12px var(--font-body);border:0;background:none;padding:4px 10px;border-radius:5px;cursor:pointer;color:var(--ink-2)}.sb-seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}.sb-err{font-size:12px;color:var(--rouge)}.sb-def{width:100%;display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:8px;align-items:start;border-left:3px solid #0891b2;padding-left:10px}.sb-def-term{font-weight:700}@media (max-width: 640px){.sb-def{grid-template-columns:1fr}}.sb-quiz-edit{display:flex;flex-direction:column;gap:6px;padding-bottom:6px;border-bottom:1px dashed var(--line)}.sb-quiz-try{display:flex;flex-direction:column;gap:6px}.sb-quiz-opts,.tm-opts{display:flex;flex-direction:column;gap:5px}.sb-opt{font:inherit;font-size:14px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 12px;cursor:pointer;color:var(--ink)}.sb-opt:hover{border-color:var(--line-2)}.sb-opt.right{background:var(--ok-soft);border-color:var(--ok);color:var(--ok);font-weight:600}.sb-opt.wrong{background:var(--rouge-soft);border-color:var(--rouge);color:var(--rouge)}.sb-ok{color:var(--ok);font-weight:600;font-size:13.5px}.sb-bad{color:var(--rouge);font-size:13.5px}.sb-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px;font-size:14.5px}.sb-quote{width:100%;border-left:3px solid #b45309;padding:4px 0 4px 12px;display:flex;flex-direction:column;gap:4px}.sb-quote-text{font-family:var(--font-serif);font-style:italic;font-size:16px}.sb-quote-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sb-embed{width:100%;display:flex;flex-direction:column;gap:6px}.sb-embed iframe{width:100%;aspect-ratio:16 / 9;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.sb-bookmark{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-draw{width:100%;display:flex;flex-direction:column;gap:6px}.sb-draw canvas{width:100%;border:1px solid var(--line);border-radius:var(--r);background:#fff;cursor:crosshair}.sb-draw-tools{display:flex;gap:6px;align-items:center}.sb-swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-2);cursor:pointer;padding:0}.sb-swatch.on{box-shadow:0 0 0 2px var(--ink)}.sb-toc{width:100%;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--r);background:var(--surface-2);font-size:14px}.sb-toc a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.sb-toc a.toc-l2{padding-left:16px}.sb-toc a.toc-l3{padding-left:32px}.tm{display:flex;flex-direction:column;gap:14px;align-items:stretch}.tm-progress{height:5px;background:var(--surface-3);border-radius:var(--r-pill);overflow:hidden}.tm-progress i{display:block;height:100%;background:var(--brand);transition:width .3s var(--ease)}.tm-meta{font-size:12px;text-transform:capitalize}.tm-front{font-size:22px;font-weight:600;text-align:center;padding:26px 12px;border-radius:var(--r-lg);background:var(--surface-2);line-height:1.35}.tm-back{font-size:18px;text-align:center;padding:16px;border-radius:var(--r-lg);border:1px dashed var(--line-2)}.tm-show{align-self:center}.tm-done{display:flex;flex-direction:column;gap:14px}.tm-score{font:700 48px var(--font-head);color:var(--brand);display:flex;flex-direction:column}.tm-score small{font:500 14px var(--font-body);color:var(--ink-3)}.tm-missed{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.blurt-area{font-size:15px;line-height:1.6;min-height:240px}.blurt-score{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.reading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:var(--surface);overflow-y:auto}.reading-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);font-size:12.5px}.reading-body{max-width:680px;margin:0 auto;padding:40px 24px 120px;font:21px/1.75 var(--font-serif)}.reading-body h1{font:700 36px/1.2 var(--font-serif);margin-bottom:28px}.reading-body h2{font:700 26px/1.3 var(--font-serif);margin:28px 0 8px}.reading-body p{margin:0 0 16px;cursor:pointer;transition:opacity .2s}.reading-body .lf-off{opacity:.35}.reading-body .lf-on{background:color-mix(in srgb,var(--brand) 8%,transparent);border-radius:6px;box-shadow:0 0 0 6px color-mix(in srgb,var(--brand) 8%,transparent)}.db{margin:8px 0 16px}.db-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}.db-views{display:flex;gap:2px;flex-wrap:wrap;align-items:center}.db-views button{display:inline-flex;align-items:center;gap:5px;font:500 13px var(--font-body);background:none;border:0;padding:5px 9px;border-radius:6px;color:var(--ink-3);cursor:pointer}.db-views button.on{color:var(--ink);background:var(--surface-2)}.db-addview{width:auto!important;font-size:12.5px!important;padding:3px 6px!important;border:0!important;background:none!important;color:var(--ink-3)!important}.db-settings{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px;background:var(--surface-2);font-size:13px}.db-settings select,.db-settings input{width:auto;padding:4px 8px;font-size:13px}.db-prop-row{display:flex;align-items:center;gap:8px}.db-prop-row .check{flex:1}.db-table-wrap{overflow-x:auto}.db-table{border-collapse:collapse;width:100%;font-size:13.5px}.db-table th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12.5px;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.db-table td{border-bottom:1px solid var(--line);padding:2px 4px;vertical-align:middle;min-width:120px}.db-table td:last-child,.db-table th:last-child{min-width:34px;width:34px}.db-name{position:relative;min-width:200px!important}.db-name .db-in{font-weight:500}.db-open{position:absolute;right:4px;top:50%;transform:translateY(-50%);font:500 11.5px var(--font-body);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:2px 7px;cursor:pointer;opacity:0;color:var(--ink-2)}.db-table tr:hover .db-open{opacity:1}.db-in{width:100%;border:0!important;background:none!important;padding:5px 6px!important;font:inherit;font-size:13.5px;box-shadow:none!important;color:var(--ink)}.db-in:focus{background:var(--surface-2)!important;outline:none}.db-in.num{text-align:right}.db-textcell{display:flex;align-items:center}.db-textcell a{color:var(--brand);text-decoration:none;padding:0 4px}.db-sel{border:0!important;background:transparent!important;font-size:13px!important;padding:4px 6px!important;width:100%;color:var(--ink);cursor:pointer}.db-sel.add{width:40px;color:var(--ink-3)}.db-multi{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.db-chip{display:inline-flex;align-items:center;font:500 12px var(--font-body);padding:2px 8px;border-radius:5px;border:0;background:var(--surface-3);color:var(--ink);white-space:nowrap;cursor:default}button.db-chip{cursor:pointer}.db-chip.c-blue{background:color-mix(in srgb,#3b82f6 18%,var(--surface))}.db-chip.c-green{background:color-mix(in srgb,#16a34a 18%,var(--surface))}.db-chip.c-yellow{background:color-mix(in srgb,#eab308 22%,var(--surface))}.db-chip.c-orange{background:color-mix(in srgb,#f97316 20%,var(--surface))}.db-chip.c-red{background:color-mix(in srgb,#ef4444 18%,var(--surface))}.db-chip.c-purple{background:color-mix(in srgb,#8b5cf6 18%,var(--surface))}.db-chip.c-pink{background:color-mix(in srgb,#ec4899 18%,var(--surface))}.db-subj{display:inline-flex;align-items:center;gap:4px;font-size:12.5px}.db-subj:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sc)}.db-addcol button{background:none;border:0;font-size:16px;color:var(--ink-3);cursor:pointer}.db-newrow{font:inherit;font-size:13px;color:var(--ink-3);background:none;border:0;padding:7px 8px;cursor:pointer;text-align:left;width:100%;border-radius:6px}.db-newrow:hover{background:var(--surface-2);color:var(--ink)}.db-board{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;align-items:flex-start}.db-col{flex:0 0 250px;display:flex;flex-direction:column;gap:6px;background:var(--surface-2);border-radius:var(--r);padding:8px;min-height:120px}.db-col header{display:flex;align-items:center;gap:6px;padding:2px 2px 4px;font-size:12.5px}.db-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;box-shadow:var(--sh-1);font-size:13.5px;display:flex;flex-direction:column;gap:5px}.db-card:hover{box-shadow:var(--sh-2)}.db-card-props{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:12px;color:var(--ink-2);align-items:center}.db-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.db-cal-dow{font-size:11px;color:var(--ink-3);padding:4px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.db-cal-day{min-height:90px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px;display:flex;flex-direction:column;gap:2px;min-width:0}.db-cal-day.out{background:var(--surface-2)}.db-cal-n{font-size:11.5px;color:var(--ink-3);padding:0 3px}.db-cal-item{font:500 11.5px var(--font-body);text-align:left;background:var(--brand-soft);border:0;border-radius:4px;padding:2px 5px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.db-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.db-gcard{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface);cursor:pointer;padding:0 0 10px;color:var(--ink)}.db-gcard>b,.db-gcard>.db-card-props{padding:0 10px}.db-gcard:hover{box-shadow:var(--sh-2)}.db-gcard.new{align-items:center;justify-content:center;color:var(--ink-3);min-height:140px;padding:0}.db-gcover{height:80px;display:grid;place-items:center;font-size:30px}.db-list{display:flex;flex-direction:column}.db-lrow{display:flex;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--line)}.db-title{display:flex;gap:6px;font:inherit;font-weight:500;background:none;border:0;cursor:pointer;color:var(--ink);padding:4px}.nh{max-width:900px;margin:0 auto;padding:48px 32px 96px;overflow-y:auto;height:100%}.nh h1{font:700 34px var(--font-head);letter-spacing:-.02em;margin:0 0 6px}.nh-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:22px 0}.nh-actions button{display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);padding:14px;cursor:pointer;color:var(--ink);transition:box-shadow .15s,transform .15s}.nh-actions button:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.nh-actions span{font-size:24px}.nh-actions small{color:var(--ink-3);font-size:12.5px}.nh-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:14px;background:var(--surface-2)}.nh-card .nt-setup{flex-direction:row;flex-wrap:wrap;gap:6px}.nh-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.nh-list button{font:inherit;font-size:13.5px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:5px 12px;cursor:pointer;color:var(--ink)}.nh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.nh-page{display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);cursor:pointer;padding:0 0 10px;color:var(--ink);transition:box-shadow .15s}.nh-page:hover{box-shadow:var(--sh-2)}.nh-page>b,.nh-page>small{padding:0 12px}.nh-cover{height:64px;position:relative;margin-bottom:14px}.nh-cover span{position:absolute;left:10px;bottom:-14px;font-size:26px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:20px}.tpl-card{display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);padding:14px;cursor:pointer;color:var(--ink)}.tpl-card:hover{border-color:var(--brand);box-shadow:var(--sh-2)}.tpl-card small{color:var(--ink-3);font-size:12.5px;line-height:1.4}.trash-list{display:flex;flex-direction:column;margin:12px 0}.trash-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:14px}.trash-row.as-btn{font:inherit;background:none;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;cursor:pointer;color:var(--ink)}.trash-row.as-btn:hover{background:var(--surface-2)}.ns-input{font-size:17px!important;padding:10px 12px!important;margin-bottom:10px}.ns-results{display:flex;flex-direction:column;max-height:55vh;overflow-y:auto}.ns-row{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;background:none;border:0;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}.ns-row.on{background:var(--brand-soft)}.ns-text{display:flex;flex-direction:column;flex:1;min-width:0}.ns-text small{color:var(--ink-3);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph{display:flex;flex-direction:column;gap:10px}.graph-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.graph-svg{width:100%;max-height:72vh;background:var(--surface-2);border-radius:var(--r-lg);border:1px solid var(--line)}.graph-svg .ge{stroke:var(--line-2);stroke-width:1.2}.graph-svg .ge.link{stroke:color-mix(in srgb,var(--brand) 55%,var(--line-2));stroke-width:1.6}.graph-svg .ge.hot{stroke:var(--brand);stroke-width:2.4}.graph-svg .gn{cursor:pointer;transition:opacity .15s}.graph-svg .gn.dim{opacity:.2}.graph-svg .gn circle{stroke:var(--surface);stroke-width:2}.graph-svg .gn text{font:500 10.5px var(--font-body);fill:var(--ink-2);pointer-events:none}.graph-svg .gn:hover text{fill:var(--ink);font-weight:700}.hist{display:grid;grid-template-columns:220px 1fr;gap:12px;min-height:320px}.hist-list{display:flex;flex-direction:column;gap:2px;max-height:56vh;overflow-y:auto}.hist-list button{display:flex;flex-direction:column;text-align:left;font:inherit;font-size:13px;background:none;border:0;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}.hist-list button.on{background:var(--brand-soft)}.hist-list small{color:var(--ink-3)}.hist-preview{margin:0;padding:12px;background:var(--surface-2);border-radius:var(--r);font-size:12.5px;white-space:pre-wrap;max-height:56vh;overflow-y:auto}.dp-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto}.dp-topic{display:flex;flex-direction:column;gap:4px;margin:0 0 10px 4px;font-size:13.5px}@media (max-width: 900px){.notes-ws,.notes-ws.has-peek{grid-template-columns:minmax(0,1fr);height:calc(100vh - 56px)}.nt-side{position:fixed;z-index:60;left:0;top:0;bottom:0;width:280px;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:var(--sh-3)}.notes-ws.side-open .nt-side{transform:none}.nt-toggle{display:grid;place-items:center;position:fixed;z-index:61;left:12px;bottom:calc(76px + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);box-shadow:var(--sh-2);color:var(--ink);cursor:pointer}.nt-peek{position:fixed;z-index:55;top:0;right:0;bottom:0;left:0}.pv-body{padding:0 18px 120px}.nb-editor{margin:0 -18px}.nb-editor .bn-editor{padding-inline:18px}.pv-title{font-size:30px}.pv-edited{display:none}.pv-head{padding-top:24px}.nh{padding:24px 16px 96px}.hist{grid-template-columns:1fr}}.pe .form-row{display:flex;flex-direction:column;gap:4px}.pe .form-row>span{font-size:12.5px;color:var(--ink-2);font-weight:600}.pe-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}.pe-types button{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:500 13px var(--font-body);cursor:pointer;text-align:left}.pe-types button:hover{background:var(--surface-2)}.pe-types button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}.pe-ic{width:18px;text-align:center;color:var(--ink-2);font-weight:700}.pe-opt{display:flex;gap:6px;align-items:center;margin-bottom:6px}.pe-opt select{width:90px;padding:3px 6px}.pe-opt input{flex:1}.pe-formula{font-family:var(--font-mono);font-size:13px}.pe-preview{padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:13px}.pe-preview.err{background:color-mix(in srgb,var(--rouge) 10%,var(--surface));color:var(--rouge)}.pe-help summary{cursor:pointer;font-size:13px;color:var(--ink-2)}.pe-help dl{display:grid;grid-template-columns:1fr;gap:4px;margin:8px 0;font-size:12.5px}.pe-help dl>div{display:flex;gap:10px}.pe-help dt{min-width:180px}.pe-help dd{margin:0;color:var(--ink-2)}.db-th{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.db-th:hover{color:var(--brand)}.db-th-ic{color:var(--ink-3);font-size:12px;width:14px;text-align:center}.db-computed{font-size:13px;color:var(--ink);padding:0 6px}.db-err{font-size:12px;color:var(--rouge);padding:0 6px;cursor:help}.db-pct{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:0 6px;min-width:110px}.db-pct .progress{flex:1}.db-rel{white-space:nowrap;display:inline-flex;align-items:center;gap:2px;background:var(--surface-2);border-radius:5px;padding:1px 4px 1px 6px;font-size:12.5px}.db-rel .linkish{font-size:12.5px}.db-rel-x{border:0;background:none;color:var(--ink-3);cursor:pointer;padding:0 2px}.tl-bar{margin-bottom:8px;flex-wrap:wrap}.tl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.tl-grid{position:relative;min-width:100%}.tl-head{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}.tl-head span{flex:none;text-align:center;font-size:11.5px;color:var(--ink-3);padding:6px 0 4px;border-left:1px solid color-mix(in srgb,var(--line) 50%,transparent);display:flex;flex-direction:column;align-items:center;line-height:1.15;cursor:default}.tl-head span small{font-size:10px;color:var(--ink-2);font-weight:600}.tl-head span.we{background:var(--surface-2)}.tl-head span.today{color:var(--brand);font-weight:700}.tl-rows{position:relative;padding:6px 0;min-height:80px;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--px) - 1px),color-mix(in srgb,var(--line) 50%,transparent) calc(var(--px) - 1px) var(--px))}.tl-now{position:absolute;top:0;bottom:0;width:2px;background:var(--brand);opacity:.6}.tl-row{position:relative;height:34px}.tl-item{position:absolute;top:4px;height:26px;margin-left:2px;border-radius:6px;display:flex;align-items:center;background:color-mix(in srgb,var(--brand) 20%,var(--surface));border:1px solid color-mix(in srgb,var(--brand) 45%,transparent);overflow:hidden}.tl-item.c-blue{background:color-mix(in srgb,#3b82f6 22%,var(--surface));border-color:color-mix(in srgb,#3b82f6 45%,transparent)}.tl-item.c-green{background:color-mix(in srgb,#16a34a 22%,var(--surface));border-color:color-mix(in srgb,#16a34a 45%,transparent)}.tl-item.c-yellow{background:color-mix(in srgb,#ca8a04 22%,var(--surface));border-color:color-mix(in srgb,#ca8a04 45%,transparent)}.tl-item.c-orange{background:color-mix(in srgb,#ea580c 22%,var(--surface));border-color:color-mix(in srgb,#ea580c 45%,transparent)}.tl-item.c-red{background:color-mix(in srgb,#dc2626 22%,var(--surface));border-color:color-mix(in srgb,#dc2626 45%,transparent)}.tl-item.c-purple{background:color-mix(in srgb,#9333ea 22%,var(--surface));border-color:color-mix(in srgb,#9333ea 45%,transparent)}.tl-item.c-pink{background:color-mix(in srgb,#db2777 22%,var(--surface));border-color:color-mix(in srgb,#db2777 45%,transparent)}.tl-item.c-grey{background:var(--surface-3);border-color:var(--line)}.tl-label{all:unset;flex:1;min-width:0;font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;cursor:pointer;color:var(--ink)}.tl-nudge{border:0;background:none;color:var(--ink-3);cursor:pointer;padding:0 3px;font-size:14px;opacity:0}.tl-item:hover .tl-nudge,.tl-nudge:focus-visible{opacity:1}.tl-off{position:absolute;left:8px;top:8px;font-size:12.5px}.tl-undated{margin-top:8px;font-size:13px}.tl-undated summary{cursor:pointer;color:var(--ink-2)}.tl-undated .linkish{display:block;margin:4px 0 0 14px}.chart{border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--surface)}.chart-title{font-size:13.5px}.chart-plot{display:flex;gap:8px;height:260px;padding-bottom:26px}.chart-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--ink-3);text-align:right;min-width:28px;margin-bottom:-6px;margin-top:-6px}.chart-bars{position:relative;flex:1;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--ink-3)}.chart-grid{position:absolute;left:0;right:0;height:1px;background:var(--line);opacity:.6}.chart-col{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;outline:none;min-width:0}.chart-col:hover .chart-bar,.chart-col:focus-visible .chart-bar{filter:brightness(1.12)}.chart-bar{position:relative;width:min(56px,72%);background:var(--brand);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.chart-val{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding-bottom:3px;font-size:11.5px;color:var(--ink);font-weight:600;white-space:nowrap}.chart-x{position:absolute;top:100%;margin-top:6px;font-size:11.5px;color:var(--ink-2);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-tip{position:absolute;bottom:60%;left:50%;transform:translate(-50%);background:var(--ink);color:var(--surface);padding:6px 9px;border-radius:6px;font-size:12px;display:flex;flex-direction:column;white-space:nowrap;z-index:3;pointer-events:none;box-shadow:var(--sh-2)}@media (prefers-reduced-motion: reduce){.chart-bar{transition:none}}.pv-cm-btn{position:relative}.pv-cm-btn.on{background:var(--surface-3)}.pv-cm-n{font-size:11px;font-weight:700;margin-left:3px;color:var(--brand)}.cm-panel{position:fixed;top:64px;right:16px;bottom:16px;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3);display:flex;flex-direction:column;z-index:40}.cm-panel header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.cm-new .row{flex-wrap:wrap}.cm-new{padding:10px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line)}.cm-new textarea{resize:vertical;font-size:13.5px}.cm-list{flex:1;overflow:auto;padding:8px 12px 16px;display:flex;flex-direction:column;gap:10px}.cm-empty{text-align:center;margin:24px 0}.cm-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--surface)}.cm-item.done{opacity:.6}.cm-item p{margin:4px 0;font-size:13.5px;white-space:pre-wrap}.cm-meta{display:flex;align-items:center;gap:6px;font-size:12.5px}.cm-quote{display:block;position:relative;border-left:3px solid #eab308;background:color-mix(in srgb,#eab308 10%,var(--surface));padding:4px 22px 4px 8px;font-size:12.5px;color:var(--ink-2);border-radius:0 6px 6px 0;margin-bottom:4px;text-align:left}button.cm-quote{border-top:0;border-right:0;border-bottom:0;cursor:pointer;width:100%;font-family:inherit}.cm-x{position:absolute;right:4px;top:2px;border:0;background:none;cursor:pointer;color:var(--ink-3)}.cm-reply{margin:6px 0 0 10px;padding-left:8px;border-left:2px solid var(--line)}.cm-replyin{margin-top:6px;width:100%;font-size:12.5px;padding:4px 8px}.cm-toggle{align-self:center;font-size:12.5px}.cm-flash{animation:cmflash 1.6s ease;border-radius:4px}@keyframes cmflash{0%,40%{background:color-mix(in srgb,#eab308 30%,transparent)}to{background:transparent}}@media (min-width: 1100px){.pv.with-cm .pv-scroll{padding-right:350px}}.mv-list{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow:auto}.mv-list button{display:flex;align-items:center;gap:10px;text-align:left;padding:7px 9px;border:0;background:none;border-radius:7px;cursor:pointer;color:var(--ink);font:inherit}.mv-list button:hover:not(:disabled){background:var(--surface-2)}.mv-list button:disabled{opacity:.55;cursor:default}.mv-list button>span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0}.mv-list small{font-size:11.5px}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.fm-tagicon{background:none;border:0}.fm-tagwrap{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:none}.fm-stem{display:block;width:2px;height:12px;background:#f5c518}.fm-vector foreignObject .fm-stem{display:none}.fm-plane svg{display:block}.inflight .fm-leaflet .leaflet-top.leaflet-left{top:112px}.rp-text{font-family:var(--font-mono);font-size:13px;resize:vertical}.rp-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}.rp-table{width:100%;border-collapse:collapse;font-size:13px}.rp-table th{text-align:left;font-weight:600;color:var(--ink-2);padding:7px 8px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.rp-table td{padding:5px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.rp-table tr:last-child td{border-bottom:0}.rp-table input:not([type=checkbox]),.rp-table select{padding:4px 6px;font-size:13px;min-width:0}.rp-table input[type=number]{width:64px}.rp-table input[aria-label="Assessment name"]{min-width:160px;width:100%}.rp-table input.need{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.rp-table tr.skip td{opacity:.5}.rp-table .nowrap{white-space:nowrap}.rp-tag{display:inline-block;margin-top:2px;font-size:11px;color:var(--ok)}.rp-tag.dup{color:var(--ink-3)}.rp-skipped{font-size:13px;color:var(--ink-2)}.rp-skipped summary{cursor:pointer}.uni-soon{text-align:center;padding:48px 24px;max-width:640px;margin:8px auto 0}.uni-soon-ic{font-size:56px;line-height:1;margin-bottom:12px}.uni-soon h2{margin:0 0 6px}.uni-soon p{margin:0 auto 18px;max-width:46ch}.rp-table select[aria-label=Subject]{min-width:130px}.rp-table select[aria-label=Type]{min-width:118px}.ex-next{display:flex;gap:20px;align-items:center;border-left:4px solid var(--c)}.ex-next-days{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:96px;height:96px;border-radius:18px;background:color-mix(in srgb,var(--c) 12%,var(--surface));color:var(--c)}.ex-next-days b{font:800 36px/1 var(--font-head)}.ex-next-days span{font-size:12px;font-weight:600}.ex-next-info h2{margin:2px 0 4px;font-size:22px}.ex-next-info .muted{font-size:14px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ex-note{margin-top:6px;font-size:13px;color:var(--warn);font-weight:600}.ex-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.ex-row:first-of-type{border-top:0}.ex-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--surface))}.ex-main{flex:1 1 200px;min-width:0}.ex-main .faint{font-size:12.5px}.ex-days{min-width:44px;text-align:right;font-size:14px}.ex-past summary{cursor:pointer;list-style:none}.ex-sources ul{margin:0;padding-left:18px;font-size:13.5px}.ex-sources p{font-size:13.5px}.ex-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--ink-2)}.ex-form .form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ex-form .form-row.three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ex-preview{display:flex;flex-direction:column;gap:6px}.ex-prev{display:flex;flex-direction:column;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13.5px}.ex-prev.bad{opacity:.6;border-style:dashed}@media (max-width: 600px){.ex-next{flex-direction:column;align-items:flex-start}.ex-row{flex-wrap:wrap}.ex-row .tag{order:5}.ex-form .form-row.three{grid-template-columns:1fr 1fr}}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.info{background:color-mix(in srgb,var(--info) 14%,var(--surface));color:var(--info)}.tag.warn{background:color-mix(in srgb,var(--warn) 16%,var(--surface));color:color-mix(in srgb,var(--warn) 80%,var(--ink))}.soc-me{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:4px 14px 4px 4px;cursor:pointer;color:var(--ink);text-align:left}.soc-me span{display:flex;flex-direction:column;line-height:1.15}.soc-me small{color:var(--ink-3);font-size:11.5px}.soc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media (max-width: 980px){.soc-grid{grid-template-columns:1fr}}.sa{position:relative;flex:none;display:inline-grid;place-items:center;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);line-height:1}.sa-dot{position:absolute;right:-1px;bottom:-1px;width:28%;height:28%;min-width:9px;min-height:9px;border-radius:50%;border:2px solid var(--surface);background:var(--ink-3)}.sa-dot.studying{background:#16a34a;box-shadow:0 0 #16a34a80;animation:livepulse 2s infinite}.sa-dot.resting{background:#eab308}@keyframes livepulse{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 7px #16a34a00}to{box-shadow:0 0 #16a34a00}}@media (prefers-reduced-motion: reduce){.sa-dot.studying{animation:none}}.live-clock{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:.95em}.st-line{font-size:12.5px;color:var(--ink-3)}.st-line.studying{color:var(--ok)}.st-line.resting{color:color-mix(in srgb,var(--warn) 85%,var(--ink))}.now-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.now-card{flex:none;width:128px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid color-mix(in srgb,var(--ok) 35%,var(--line));background:color-mix(in srgb,var(--ok) 6%,var(--surface));border-radius:14px;cursor:pointer;color:var(--ink);text-align:center}.now-card b{max-width:100%;font-size:13.5px}.fr-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.fr-row:first-of-type{border-top:0}.fr-row.small{padding:7px 0}.fr-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;cursor:pointer;text-align:left;color:var(--ink)}.fr-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.fr-txt .faint{font-size:12.5px}.fr-stats{display:flex;flex-direction:column;align-items:flex-end;font-size:12.5px;line-height:1.25}.fr-stats b{font-size:14px}.feed-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.feed-row:first-of-type{border-top:0}.feed-txt{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px}.feed-txt .faint{font-size:12px}.cheer{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:3px 10px;cursor:pointer;font-size:13px;color:var(--ink)}.cheer.on{background:color-mix(in srgb,var(--brand) 12%,var(--surface));border-color:color-mix(in srgb,var(--brand) 40%,var(--line))}.pc-head{display:flex;gap:14px;align-items:center}.pc-split{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.legend{display:flex;flex-direction:column;gap:4px;font-size:13px}.lg-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}.daystrip{position:relative;height:30px;border-radius:8px;background:var(--surface-2);margin:6px 0 18px}.ds-tick{position:absolute;top:100%;transform:translate(-50%);font-size:10.5px;color:var(--ink-3);padding-top:2px}.ds-tick:before{content:"";position:absolute;left:50%;top:-30px;height:30px;width:1px;background:var(--line)}.ds-block{position:absolute;top:4px;bottom:4px;border-radius:4px;min-width:3px}.sec-h{font-size:15px;margin:0 0 10px}.grp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.grp-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:12px;display:flex;flex-direction:column;gap:8px}.grp-main{display:flex;gap:10px;align-items:center;border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--ink)}.grp-main>span:last-child{display:flex;flex-direction:column;min-width:0}.grp-main .faint{font-size:12.5px}.grp-emoji{width:42px;height:42px;flex:none;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;font-size:22px}.grp-emoji.big{width:64px;height:64px;font-size:34px;border-radius:18px}.grp-desc{margin:0;font-size:13px;color:var(--ink-2)}.grp-foot{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:auto}.grp-foot .btn{margin-left:auto}.grp-live{color:var(--ok);font-weight:600}.grp-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}.grp-head-txt{flex:1;min-width:0}.grp-head-txt h1{margin:0;font-size:24px}.grp-head-txt p{margin:6px 0 0}.grp-goal{margin-top:10px;font-size:13px;max-width:460px}.grp-goal .progress{margin-top:4px}.grp-now{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px}.grp-now b{font:800 30px/1 var(--font-head);color:var(--ok)}.grp-now span{font-size:12px;color:var(--ink-3)}@media (max-width: 640px){.grp-head{flex-wrap:wrap}.grp-now{flex-direction:row}}.notices{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.notice{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,#eab308 12%,var(--surface));border:1px solid color-mix(in srgb,#eab308 35%,var(--line));font-size:13.5px}.notice>span{flex:1}.mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.mem-tile{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:8px}.mem-tile.studying{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));background:color-mix(in srgb,var(--ok) 5%,var(--surface))}.role-tag{margin-left:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--brand)}.mem-tile .st-line,.mem-tile b.ellip{display:block}.mem-nums{display:flex;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}.ok-text{color:var(--ok);font-weight:600}.mem-warn{font-size:12px;color:color-mix(in srgb,var(--warn) 85%,var(--ink))}.mem-admin{display:flex;gap:12px;font-size:12.5px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;padding:8px 0}.pod{display:flex;flex-direction:column;align-items:center;gap:3px;width:116px;text-align:center;font-size:13px;animation:podup .5s var(--ease, ease) both}.pod b{max-width:100%}.pod-av{font-size:30px}.pod-step{width:100%;border-radius:10px 10px 0 0;display:grid;place-items:start center;padding-top:6px;font-size:22px;background:color-mix(in srgb,var(--brand) 14%,var(--surface))}.pod.p1 .pod-step{height:96px;background:color-mix(in srgb,#eab308 28%,var(--surface))}.pod.p2 .pod-step{height:68px;background:color-mix(in srgb,#94a3b8 30%,var(--surface))}.pod.p3 .pod-step{height:50px;background:color-mix(in srgb,#b45309 22%,var(--surface))}.pod.p2{animation-delay:.1s}.pod.p3{animation-delay:.2s}@keyframes podup{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.pod{animation:none}}.rank-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid var(--line)}.rank-row:first-child{border-top:0}.rank-row.me{background:color-mix(in srgb,var(--brand) 8%,transparent);border-radius:8px}.rank-n{width:26px;text-align:center;color:var(--ink-3)}.rank-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rank-controls select{width:auto}.climb{padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok);font-weight:700;animation:podup .4s ease both}.room-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}.room-phase{display:flex;align-items:baseline;gap:10px}.room-phase b{font:800 34px/1 var(--font-mono);font-variant-numeric:tabular-nums}.room-phase.focus b{color:var(--brand)}.room-phase.break b{color:var(--ok)}.library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.lib-seat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:14px;border:1px solid var(--line);background:var(--surface);border-top:4px solid var(--sc);text-align:center}.lib-seat .live-clock{font-size:18px;font-weight:700}.lib-seat .ellip{max-width:100%}.lib-seat.resting{opacity:.75}.room-react{display:flex;flex-direction:column;gap:8px}.react-btn{font-size:20px;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:44px;height:40px;cursor:pointer}.react-btn:active{transform:scale(.92)}.react-feed{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;min-height:20px}.chat{display:flex;flex-direction:column;gap:8px}.chat-note{margin:0;font-size:12.5px;display:flex;gap:6px;align-items:center}.chat-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;min-height:200px;overflow-y:auto;padding:4px}.msg{display:flex;gap:8px;align-items:flex-end;max-width:80%}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg-body{display:flex;flex-direction:column;padding:7px 11px;border-radius:14px;background:var(--surface-2);font-size:14px}.msg-body b{font-size:12px;color:var(--ink-2)}.msg.mine .msg-body{background:var(--brand);color:#fff}.msg.mine .msg-time{color:#ffffffbf}.msg-time{font-size:10.5px;align-self:flex-end}.msg-acts{display:flex;opacity:0;transition:opacity .15s}.msg:hover .msg-acts,.msg:focus-within .msg-acts{opacity:1}.chat-send{display:flex;gap:8px}.chat-send input{flex:1}.att-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.att-dow{text-align:center;font-size:11px;color:var(--ink-3)}.att-day{aspect-ratio:1;border-radius:8px;background:color-mix(in srgb,var(--ok) calc(var(--p) * 60%),var(--surface-2));display:flex;flex-direction:column;justify-content:space-between;padding:3px 5px;font-size:11px}.att-day small{color:var(--ink-2)}.att-day b{font-size:11px;color:var(--ink);align-self:flex-end}.att-day.future{background:var(--surface);border:1px dashed var(--line)}.att-day.today{outline:2px solid var(--brand)}.hour-bars{display:flex;align-items:flex-end;gap:2px;height:120px;border-bottom:1px solid var(--ink-3)}.hour-bars i{flex:1;background:var(--brand);border-radius:3px 3px 0 0;min-height:1px}.hour-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:4px}.join-code{font:800 24px var(--font-mono);letter-spacing:.12em}.chal .card-head h3{margin:0}.chal-rows{display:flex;flex-direction:column;gap:8px;margin-top:12px}.chal-row{display:flex;align-items:center;gap:8px;font-size:13.5px}.chal-row.me .chal-name{font-weight:700}.chal-name{width:130px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chal-bar{flex:1;height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden}.chal-bar i{display:block;height:100%;border-radius:6px;background:var(--brand);transition:width .4s}.prof-top{display:flex;gap:16px;align-items:center;margin-bottom:12px}.prof-top h2{margin:0}.pinned{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.badge-pin{font-size:12px;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,#eab308 18%,var(--surface))}.sbadge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.sbadge{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:12px;border:1px dashed var(--line);background:var(--surface);color:var(--ink-3);font-size:12px;text-align:center;cursor:pointer}.sbadge span{font-size:24px;filter:grayscale(1);opacity:.5}.sbadge.earned{border-style:solid;color:var(--ink)}.sbadge.earned span{filter:none;opacity:1}.sbadge.pinned{border-color:#eab308;background:color-mix(in srgb,#eab308 12%,var(--surface))}.sbadge:disabled{cursor:default}.avatar-pick{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.avatar-pick button{font-size:20px;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer}.avatar-pick button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface))}.callout.rest{background:color-mix(in srgb,var(--ok) 10%,var(--surface));border-color:color-mix(in srgb,var(--ok) 30%,var(--line));align-items:center}.wrapped{position:relative;min-height:340px;border-radius:22px;padding:40px 32px 72px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;background:radial-gradient(circle at 20% 10%,color-mix(in srgb,var(--wc) 70%,#fff) 0%,transparent 45%),linear-gradient(135deg,#1e1b4b,var(--wc));animation:wrapin .45s ease both;overflow:hidden}.wr-step{position:absolute;top:16px;right:20px;font-size:12px;opacity:.75}.wr-big{font:800 clamp(34px,7vw,64px)/1.05 var(--font-head)}.wr-line{font-size:20px;opacity:.92}.wr-sub{font-size:14px;opacity:.75}.wr-nav{position:absolute;bottom:16px;right:16px;display:flex;gap:8px}.wr-nav .btn{background:#ffffff26;border-color:#ffffff4d;color:#fff}@keyframes wrapin{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.wrapped{animation:none}}.rep-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}.rep-row>div:first-child{flex:1;min-width:220px}.rep-row.dismissed,.rep-row.resolved{opacity:.6}.rep-quote{margin:6px 0 0;padding:6px 10px;border-left:3px solid var(--rouge);background:var(--surface-2);font-size:13px;border-radius:0 6px 6px 0}.dw-live{display:flex;gap:8px;flex-wrap:wrap}.dw-live a{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:var(--r-pill);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px}.grid.g-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 860px){.grid.g-2{grid-template-columns:1fr}}@media (max-width: 640px){.grp-head .grp-head-txt{flex-basis:calc(100% - 120px)}.grp-head .grp-now{flex-basis:100%;justify-content:flex-start;gap:8px;align-items:baseline}.grp-head-txt h1{font-size:20px}}.rbac-wrap{overflow-x:auto;padding:0}.rbac{width:100%;border-collapse:collapse;font-size:13.5px}.rbac th{text-align:center;padding:10px;border-bottom:1px solid var(--line);background:var(--surface-2);font-weight:600;white-space:nowrap}.rbac th:first-child{text-align:left}.rbac td{padding:8px 10px;border-bottom:1px solid var(--line)}.rbac-cell{text-align:center}.rbac-group td{background:var(--surface-2);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2)}.rbac-id{font-family:var(--font-mono);font-size:11px}.vh-list{display:flex;flex-direction:column}.vh-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.vh-row:first-child{border-top:0}.admin-sec{margin-bottom:22px}.entry-dot{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block}.tchip.pick{position:relative;cursor:pointer;display:inline-flex;flex-direction:row;gap:4px;font:inherit;font-size:11.5px;color:var(--ink-2)}.tchip.pick:hover{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.tchip.pick select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px}.tchip.pick.unset{background:transparent;color:var(--ink-3);border:1px dashed var(--line);padding:2px 6px;opacity:0;transition:opacity .12s}.task2:hover .tchip.pick.unset,.task2:focus-within .tchip.pick.unset,.tchip.pick.unset:focus-within{opacity:1}@media (hover: none){.tchip.pick.unset{opacity:.8}}.subj-add{display:flex;flex-direction:row;gap:6px;margin-top:8px;max-width:none}.subj-add input{flex:1;min-width:0}.subj-card.drop-on{outline:2px dashed var(--sc);outline-offset:2px}.today-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-6px 0 14px;font-size:13px;color:var(--ink-2)}.ts-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-3);font-size:12.5px}.rq{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rq li{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:8px;min-width:0}.rq li:hover{background:var(--surface-2)}.rq li>span.grow{display:flex;flex-direction:column;min-width:0}.rq b{font-size:13.5px}.rq small{font-size:11.5px}.rq-n{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:var(--sc);background:color-mix(in srgb,var(--sc) 14%,var(--surface))}.qotd-meta{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.qotd-meta i{width:7px;height:7px;border-radius:50%;background:var(--sc)}.qotd-q{font-size:14.5px;font-weight:600;margin:6px 0 10px;line-height:1.4}.qotd-opts{display:grid;gap:6px}.qotd-opt{display:flex;align-items:flex-start;gap:8px;text-align:left;padding:8px 10px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;color:var(--ink);cursor:pointer}.qotd-opt:hover:not(:disabled){border-color:var(--sc);background:color-mix(in srgb,var(--sc) 6%,var(--surface))}.qotd-opt:disabled{cursor:default}.qotd-opt.right{border-color:var(--ok);background:var(--ok-soft)}.qotd-opt.wrong{border-color:var(--rouge);background:var(--rouge-soft)}.qotd-l{font-weight:700;color:var(--ink-3);flex:none}.qotd-exp{margin-top:10px;font-size:13px;line-height:1.45;padding:9px 11px;border-radius:9px;background:var(--surface-2)}.qotd-exp.ok b{color:var(--ok)}.qotd-exp.bad b{color:var(--rouge)}.qotd-more{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-weight:600}.cov{display:flex;flex-direction:column;gap:8px}.cov-row{display:grid;grid-template-columns:minmax(0,110px) 1fr 40px;align-items:center;gap:10px;font-size:13px;color:var(--ink);text-decoration:none}.cov-row b{text-align:right;font-variant-numeric:tabular-nums}.cov-bar{position:relative;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.cov-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px}.cov-c{background:color-mix(in srgb,var(--sc) 35%,var(--surface))}.cov-m{background:var(--sc)}.bell-wrap,.bell{position:relative}.bell-badge{position:absolute;top:1px;right:1px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--rouge);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface)}.notif-pop{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:min(380px,calc(100vw - 24px));background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-3, 0 12px 40px rgba(0,0,0,.18));display:flex;flex-direction:column;max-height:min(560px,75vh)}.topbar .notif-pop{left:auto;right:-44px}.side .notif-pop{position:fixed;top:56px;left:16px}.notif-pop header{display:flex;align-items:center;gap:6px;padding:10px 10px 8px 14px;border-bottom:1px solid var(--line)}.notif-scroll{overflow-y:auto;padding:4px}.notif-all{display:block;text-align:center;padding:9px;border-top:1px solid var(--line);font-size:13px;font-weight:600}.notif-list{list-style:none;margin:0;padding:0}.notif{position:relative;display:flex;align-items:stretch;border-radius:10px}.notif:hover{background:var(--surface-2)}.notif-main{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;padding:9px 8px;background:none;border:0;text-align:left;color:var(--ink);cursor:pointer;font:inherit}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-text b{font-size:13.5px;font-weight:500}.notif.unread .notif-text b{font-weight:700}.notif-text small{font-size:12px;color:var(--ink-3)}.notif time{font-size:11.5px;flex:none;padding-top:2px}.notif.unread:before{content:"";position:absolute;left:1px;top:16px;width:6px;height:6px;border-radius:50%;background:var(--brand)}.notif-ico{width:28px;height:28px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink-2)}.notif-ico.t-deadline{--nc: #d97706}.notif-ico.t-exam{--nc: #be123c}.notif-ico.t-flight{--nc: #0e94b3}.notif-ico.t-cards{--nc: var(--brand)}.notif-ico.t-streak{--nc: #ea580c}.notif-ico.t-teacher{--nc: #0f9d6b}.notif-ico.t-friend{--nc: #7c3aed}.notif-ico.t-wellbeing{--nc: #db2777}.notif-ico.t-plan{--nc: var(--brand)}.notif-ico[class*=t-]{background:color-mix(in srgb,var(--nc) 14%,var(--surface));color:var(--nc)}.notif-x{opacity:0;align-self:center;margin-right:4px}.notif:hover .notif-x,.notif-x:focus-visible{opacity:1}@media (hover: none){.notif-x{opacity:.7}}.notif-held{display:flex;align-items:center;gap:6px;margin:4px 6px 6px;padding:7px 10px;border-radius:8px;background:var(--surface-2);font-size:12.5px;color:var(--ink-2)}.notif-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 10px;color:var(--ink-3);font-size:13.5px}.notif-empty p{margin:0}.notif-page{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.notif-page{grid-template-columns:1fr}}.notif-inbox{padding:6px}.notif-settings h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.ns-types{display:grid;gap:4px;margin-bottom:14px}.ns-type{align-items:flex-start!important;padding:6px 4px}.ns-type span{display:flex;flex-direction:column}.ns-type b{font-weight:600;color:var(--ink);font-size:13.5px}.ns-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.fring.aurora svg{animation:aurora 6s linear infinite}@keyframes aurora{to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion: reduce){.fring.aurora svg{animation:none}}.me-tabs{margin-bottom:16px}.me-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.me-grid .wide,.me-hero{grid-column:1 / -1}.me-hero{position:relative;overflow:hidden;padding:0}.me-banner{height:56px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 22%,var(--surface)),color-mix(in srgb,var(--brand) 6%,var(--surface)))}.me-banner.on{background:var(--banner);height:84px}.me-hero-body{display:flex;gap:18px;align-items:center;padding:0 20px 12px;margin-top:-30px}.me-hero-body h2{margin:30px 0 2px;font-size:20px}.me-hero-body p{margin:0 0 8px;font-size:13.5px}.me-level{width:84px;height:84px;flex:none;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--surface);border:4px solid var(--brand);box-shadow:var(--sh-2)}.me-level b{font-size:30px;line-height:1;color:var(--brand)}.me-level small{font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--ink-3)}.me-xpbar{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-bottom:4px}.me-xpbar i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .5s}.me-xp-sources{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 16px}.me-xp-sources b{margin-left:3px}.me-plant{display:flex;flex-direction:column;align-items:center;text-align:center}.me-plant h3{align-self:flex-start}.plant-sway{transform-origin:60px 118px;animation:sway 5s ease-in-out infinite}.plant-wilted .plant-sway{animation:none}@keyframes sway{50%{transform:rotate(2deg)}}@media (prefers-reduced-motion: reduce){.plant-sway{animation:none}}.me-report{margin:0 0 12px;padding-left:18px;font-size:13.5px;line-height:1.7}.me-next{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.me-next-row{display:flex;align-items:center;gap:10px}.me-next-row .grow{display:flex;flex-direction:column;gap:2px;min-width:0}.me-next-row b{font-size:13.5px}.me-next-row small{font-size:12px}.me-badge-ico{font-size:22px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--surface-2);flex:none;filter:grayscale(.6)}.me-mini{display:block;height:5px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:3px}.me-mini i{display:block;height:100%;background:var(--brand);border-radius:99px}.me-badges{display:grid;gap:16px}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.badge-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 10px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.badge-tile b{font-size:13px}.badge-tile small{font-size:11.5px;color:var(--ink-3);line-height:1.3}.badge-tile .me-mini{width:80%}.badge-medal{font-size:26px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);filter:grayscale(1);opacity:.55}.badge-tile.earned{border-color:color-mix(in srgb,#f59e0b 45%,var(--line));background:color-mix(in srgb,#f59e0b 6%,var(--surface))}.badge-tile.earned .badge-medal{filter:none;opacity:1;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b);box-shadow:0 2px 8px #f59e0b59}.me-shop{display:grid;gap:16px}.me-shop-preview{display:flex;align-items:center;gap:18px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;font-size:13px}.shop-item.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.shop-swatch{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;font-size:26px;background:var(--surface-3)}.ch-bars{display:flex;align-items:flex-end;gap:6px;padding-top:22px}.ch-col{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;outline:none}.ch-col i{width:100%;max-width:34px;min-height:2px;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--brand) 55%,var(--surface));transition:background .15s}.ch-col.last i,.ch-col.on i{background:var(--brand)}.ch-col small{font-size:10.5px;color:var(--ink-3);white-space:nowrap}.ch-tip{position:absolute;bottom:calc(100% - 16px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:11.5px;padding:3px 7px;border-radius:6px;background:var(--ink);color:var(--surface);z-index:2;pointer-events:none}.ch-note{font-size:12.5px;margin:8px 0 0}.ch-line{width:100%;display:block;overflow:visible}.ch-grid{stroke:var(--line);stroke-width:1}.ch-axis{font-size:11px;fill:var(--ink-3)}.ch-target{stroke:var(--ok);stroke-dasharray:4 4;stroke-width:1.5}.ch-path{fill:none;stroke:var(--brand);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}.ch-dot{fill:var(--brand);stroke:var(--surface);stroke-width:2}.ch-tipbox{fill:var(--ink)}.ch-tiptext{fill:var(--surface);font-size:11.5px}.ch-ring-bg{fill:none;stroke:var(--surface-3);stroke-width:7}.ch-ring-fg{fill:none;stroke-width:7;stroke-linecap:round}.ch-ring-t{font-size:17px;font-weight:700;fill:var(--ink)}.bal-row{display:grid;grid-template-columns:minmax(0,110px) 1fr 58px;gap:10px;align-items:center;font-size:13px;margin-bottom:8px}.bal-row b{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.bal-bar{position:relative;height:10px;border-radius:99px;background:var(--surface-3)}.bal-bar i{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--sc)}.bal-bar em{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);border-radius:2px}.hour-strip{display:grid;grid-template-columns:repeat(19,1fr);gap:3px}.hour-strip span{height:34px;border-radius:5px;background:color-mix(in srgb,var(--brand) calc(var(--v) * 100%),var(--surface-3));position:relative}.hour-strip small{position:absolute;top:100%;left:0;font-size:10px;color:var(--ink-3);margin-top:2px}.hour-strip+.ch-note{margin-top:20px}.me-sub{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:14px 0 0}.ready-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ready{display:flex;gap:12px;align-items:center}.ready>div{display:flex;flex-direction:column}.ready small{font-size:11.5px}.heat{display:flex;flex-direction:column;gap:10px}.heat-row{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start}.heat-label{font-size:13px;font-weight:600;padding-top:8px}.heat-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:4px}.heat-cell{display:block;min-height:34px;padding:6px 8px;border-radius:7px;font-size:11.5px;line-height:1.25;text-decoration:none;background:color-mix(in srgb,var(--sc, var(--brand)) calc(12% + var(--m) * 80%),var(--surface));color:var(--ink)}.heat-cell[style*="--m: 1"],.heat-cell[style*="--m: 0.9"],.heat-cell[style*="--m: 0.8"]{color:#fff}.heat-cell.none{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 4px,var(--surface-3) 4px,var(--surface-3) 8px);color:var(--ink-3)}.heat-legend{display:flex;align-items:center;gap:6px;font-size:11.5px;margin-top:4px;flex-wrap:wrap}.heat-legend .heat-cell{display:inline-block;width:26px;min-height:14px;height:14px;padding:0}@media (max-width: 600px){.heat-row{grid-template-columns:1fr}.heat-label{padding-top:0}.me-hero-body{flex-direction:column;align-items:flex-start}.me-hero-body h2{margin-top:4px}.bal-row{grid-template-columns:minmax(0,90px) 1fr 52px}}.ready-none{width:64px;height:64px;flex:none;border-radius:50%;border:7px solid var(--surface-3);display:grid;place-items:center;color:var(--ink-3);font-weight:700}.lvl-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-2)}.lvl-dot.l1{background:#f87171;box-shadow:none}.lvl-dot.l2{background:#fbbf24;box-shadow:none}.lvl-dot.l3{background:#34d399;box-shadow:none}.lvl-dot.l4{background:#059669;box-shadow:0 0 0 2px color-mix(in srgb,#059669 30%,transparent)}.lvl-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-2);margin:-6px 0 16px}.lvl-legend span{display:inline-flex;align-items:center;gap:6px}.lvl-stack{display:inline-flex;gap:3px;margin-right:10px}.lvl-stack .lvl-dot{width:8px;height:8px}.syl-point{gap:10px}@media (max-width: 600px){.lvl-stack{display:none}}.lvw{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none}.lvw .grow{display:flex;flex-direction:column;gap:5px;min-width:0}.lvw b{font-size:14px}.lvw small{font-size:12px}.plan-setup{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px}.plan-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}.plan-next{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.plan-next b{max-width:100%;font-size:14px}.quick-plan{margin-bottom:16px}.quick-plan select{width:auto}.quick-blocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:12px}.plan-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:start}@media (max-width: 1100px){.plan-week{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.plan-day{display:flex;flex-direction:column;gap:8px;min-width:0}.plan-day h4{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:13px;padding:6px 2px;border-bottom:2px solid var(--line)}.plan-day.today h4{border-color:var(--brand);color:var(--brand)}.plan-day h4 .faint{font-weight:500;font-size:11.5px}.pd-empty{font-size:12.5px;padding:10px 4px;margin:0}.pb{position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 10px 8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sc);font-size:12.5px;min-width:0}.pb header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pb time{font-weight:700;font-variant-numeric:tabular-nums;font-size:12px}.pb-kind{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600}.pb-st{margin-left:auto;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:99px;text-transform:capitalize}.pb-st.st-done{background:var(--ok-soft);color:var(--ok)}.pb-st.st-missed{background:var(--rouge-soft);color:var(--rouge)}.pb-st.st-skipped{background:var(--surface-3);color:var(--ink-3)}.pb-title{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.pb-detail{color:var(--ink-2);line-height:1.35}.pb footer{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pb footer .btn.sm{padding:3px 8px;font-size:12px}.pb-why{margin:4px 0 0;padding:6px 8px 6px 22px;border-radius:7px;background:var(--surface-2);color:var(--ink-2);font-size:12px;line-height:1.45}.pb-done,.pb-skipped{opacity:.62}.pb-done .pb-title{text-decoration:line-through;text-decoration-color:var(--ink-3)}.pb-missed{border-style:dashed;border-left-style:solid}.explain{display:flex;flex-direction:column;gap:2px;overflow-x:auto}.ex-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 80px 90px 90px minmax(140px,1.2fr) minmax(120px,1fr);gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line);font-size:13px;min-width:640px}.ex-row.head{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:600}.ex-name{display:flex;align-items:center;gap:8px;font-weight:600}.ex-name i{width:9px;height:9px;border-radius:50%;background:var(--sc)}.ex-row input[type=range]{width:100px;vertical-align:middle}.ex-row small{margin-left:6px;color:var(--ink-3)}.ex-share{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;font-weight:600}.ex-share em{flex:1;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.ex-share em i{display:block;height:100%;background:var(--sc);border-radius:99px}.avail{margin-top:14px;overflow-x:auto;-webkit-user-select:none;user-select:none;touch-action:none}.avail-hours,.avail-row{display:grid;grid-template-columns:70px 1fr;align-items:center;min-width:620px}.avail-hours{font-size:10.5px;color:var(--ink-3)}.avail-hours{grid-template-columns:70px repeat(17,1fr)}.avail-row{margin-bottom:4px}.avail-row b{font-size:12.5px}.avail-cells{display:grid;grid-template-columns:repeat(34,1fr);gap:2px}.avail-cell{height:30px;border:0;padding:0;border-radius:3px;background:var(--surface-3);cursor:pointer}.avail-cell.hr{margin-left:2px}.avail-cell.on{background:var(--brand)}.avail-cell:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.plan-stats .stat{display:flex;flex-direction:column;gap:4px}.page-header select{width:auto}.redeye{margin:10px 0 0;font-size:13px}.wb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}.wb-wide{grid-column:1 / -1}.wb-signal{border-left:4px solid var(--ok)}.wb-signal.lvl-watch{border-left-color:var(--warn)}.wb-signal.lvl-concern{border-left-color:var(--rouge)}.wb-signal h3{display:flex;align-items:center;gap:8px}.wb-signal p{font-size:14px}.wb-signal ul{font-size:13px;color:var(--ink-2);padding-left:18px}.wb-support{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13px}.wb-scale{display:flex;align-items:center;gap:10px;margin:8px 0}.wb-scale>span{width:56px;font-size:13px;font-weight:600;color:var(--ink-2)}.wb-scale>div{display:flex;gap:6px}.wb-scale button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:20px;cursor:pointer;filter:grayscale(.7);opacity:.7}.wb-scale button.on{filter:none;opacity:1;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft);transform:scale(1.06)}.wb-history{display:flex;align-items:flex-end;gap:6px;height:60px;margin-top:14px;flex-wrap:wrap}.wb-history span{display:flex;align-items:flex-end;gap:2px;height:44px}.wb-history i{width:7px;border-radius:3px 3px 0 0}.wb-history i.m{background:var(--brand)}.wb-history i.e{background:color-mix(in srgb,var(--brand) 40%,var(--surface))}.wb-history small{width:100%;font-size:11px}.wb-review{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.wb-review h4{margin:0 0 6px;font-size:13px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}@media (max-width: 760px){.wb-review{grid-template-columns:1fr}}.wb-past{margin-top:12px;font-size:13px}.wb-past>div{padding:8px 0;border-top:1px solid var(--line)}.wb-past p{margin:4px 0 0}.search-bar{display:flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:680px;margin-bottom:10px;box-shadow:var(--sh-1)}.search-bar input{border:0;box-shadow:none;flex:1;font-size:15px;padding:8px 4px;background:transparent}.search-bar input:focus{outline:none;box-shadow:none}.search-types{margin-bottom:14px}.search-help code{font-size:12.5px;padding:1px 5px;border-radius:5px;background:var(--surface-3)}.sr{flex-direction:column;align-items:flex-start!important;gap:3px}.sr-meta{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink-3)}.sr-snip{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.em-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 900px){.em-grid{grid-template-columns:1fr}}.em-papers{display:grid;gap:8px;margin-bottom:8px}.em-paper{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);border-left:4px solid var(--sc);background:var(--surface);cursor:pointer;color:var(--ink);font:inherit}.em-paper small{color:var(--ink-3);font-size:12px}.em-paper.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft);border-left-color:var(--sc)}.em-paper.other{opacity:.7}.em-history{display:flex;flex-direction:column}.em-run{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);border-left:3px solid var(--sc);padding:10px 4px 10px 10px}.em-run .grow{display:flex;flex-direction:column;min-width:0}.em-run small{font-size:12px}.em-sections{display:flex;flex-direction:column;gap:10px}.em-sec{display:grid;grid-template-columns:1fr 72px 44px;align-items:center;gap:8px}.em-sec .grow{display:flex;flex-direction:column}.em-sec small{font-size:12px}.em-sec input{width:72px}.em-bar{grid-column:1 / -1;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.em-bar i{display:block;height:100%;background:var(--brand)}.pace.fast{color:var(--info)}.pace.slow{color:var(--rouge)}.pace.on{color:var(--ok)}.em-total{font-size:16px;margin:14px 0 4px}.em-lost{padding-left:18px;font-size:13px;line-height:1.7}.exam-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg, var(--surface-2));display:flex;flex-direction:column}.exam-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.exam-top .grow{display:flex;flex-direction:column;min-width:0}.exam-top small{color:var(--ink-3);font-size:12.5px}.exam-top.is-reading{background:color-mix(in srgb,var(--info) 10%,var(--surface))}.exam-top.is-five{background:color-mix(in srgb,var(--rouge) 12%,var(--surface))}.exam-hint{font-style:normal;color:var(--warn)}.exam-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.exam-clock span{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.exam-clock b{font-size:26px;font-variant-numeric:tabular-nums}.exam-banner{text-align:center;padding:6px;background:var(--rouge);color:#fff;font-weight:700;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.75}}.exam-distract{position:absolute;right:16px;bottom:12px;z-index:2;font-size:12px;padding:4px 10px;border-radius:99px;background:var(--warn-soft, #fef3c7);color:var(--warn)}.exam-body{flex:1;min-height:0;display:grid;grid-template-columns:1fr}.exam-body.split{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr)}@media (max-width: 800px){.exam-body.split{grid-template-columns:1fr;grid-template-rows:50% 50%}}.exam-pdf{width:100%;height:100%;border:0;background:#fff}.exam-side{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--surface)}.exam-panes{margin:10px}.exam-pane{flex:1;min-height:0;overflow:auto;padding:0 14px 14px}.ans-grid{position:relative}.ans-grid section{margin-bottom:14px}.ans-grid h4{margin:4px 0 8px;font-size:13px}.ans-grid.locked .mc-row{opacity:.5}.mc-row{display:flex;align-items:center;gap:6px;padding:3px 0}.mc-row b{width:28px;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-2)}.mc-row button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface);font-weight:700;text-transform:uppercase;cursor:pointer;color:var(--ink-2)}.mc-row button.on{background:var(--ink);border-color:var(--ink);color:var(--surface)}.lock-note{position:sticky;bottom:0;text-align:center;padding:8px;background:var(--surface-2);border-radius:8px;font-size:13px;opacity:1}.scratch{display:flex;flex-direction:column;height:100%;min-height:360px}.scratch-tools{margin-bottom:8px;flex-wrap:wrap}.scratch canvas{flex:1;width:100%;min-height:320px;border:1px dashed var(--line-2);border-radius:10px;background:repeating-linear-gradient(var(--surface) 0 27px,var(--line) 27px 28px);touch-action:none;color:var(--ink);cursor:crosshair}.scratch canvas.locked{cursor:not-allowed;opacity:.5}.ref-panel section{margin-bottom:14px}.ref-panel h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.ref-item{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-bottom:1px solid var(--line);overflow-x:auto}.ref-item small{font-size:11.5px;color:var(--ink-3)}.pt-mini{display:grid;grid-template-columns:repeat(18,minmax(26px,1fr));gap:2px;font-size:9px;overflow-x:auto}.pt-mini span{display:flex;flex-direction:column;align-items:center;padding:2px 0;border-radius:3px;background:var(--surface-2);line-height:1.1}.pt-mini b{font-size:12px}.e0-table{width:100%;font-size:12.5px;border-collapse:collapse}.e0-table td,.e0-table th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.e0-table td:last-child,.e0-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.calc{max-width:340px}.calc-screen{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.calc-screen input{border:0;background:transparent;text-align:right;font-family:var(--font-mono, monospace);font-size:15px;box-shadow:none;padding:2px}.calc-screen b{font-size:22px;font-variant-numeric:tabular-nums;min-height:28px}.calc-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.calc-k{padding:10px 0;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:13.5px;cursor:pointer;color:var(--ink)}.calc-k.num{background:var(--surface-2);font-weight:600}.calc-k.eq{background:var(--brand);color:#fff;border-color:var(--brand)}.calc-hist{list-style:none;padding:0;margin:8px 0 0;font-size:12px;color:var(--ink-3);font-family:var(--font-mono, monospace)}.cl-group h4{margin:12px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.cl-item{align-items:flex-start!important;padding:4px 0;font-size:13.5px}.cl-item .done{text-decoration:line-through;color:var(--ink-3)}.mc-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;overflow:auto;padding:18px clamp(16px,4vw,48px) 28px;background:radial-gradient(1200px 500px at 50% -10%,color-mix(in srgb,var(--sc) 35%,#0b1020),#0b1020 60%);color:#e8ecf8}.mc-shell a:not(.btn){color:#9fb4ff}.mc-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mc-back{color:#e8ecf8!important}.mc-pick{display:flex;gap:6px;flex-wrap:wrap}.mc-pick button{padding:5px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#cfd6ea;font-size:12.5px;cursor:pointer}.mc-pick button.on{background:#fff;color:#0b1020;border-color:#fff}.mc-hero{text-align:center;margin:22px 0 18px}.mc-hero small{letter-spacing:.18em;font-size:11.5px;color:#9aa6c7;font-weight:700}.mc-count{display:flex;justify-content:center;gap:clamp(10px,3vw,28px);margin:12px 0 6px}.mc-count span{display:flex;flex-direction:column;align-items:center}.mc-count b{font-size:clamp(38px,9vw,84px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.mc-count em{font-style:normal;font-size:12px;color:#9aa6c7;text-transform:uppercase;letter-spacing:.1em}.mc-hero p{color:#cfd6ea;margin:6px 0 0}.mc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;max-width:1200px;margin:0 auto}.mc-card{padding:16px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mc-card h3{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#9aa6c7}.mc-card .ch-ring-bg{stroke:#ffffff1f}.mc-card .ch-ring-t{fill:#fff}.mc-parts{display:flex;flex-direction:column;gap:6px;flex:1}.mc-parts small{font-size:11.5px;color:#b8c1dc}.mc-bar{display:block;height:6px;border-radius:99px;background:#ffffff1f;overflow:hidden}.mc-bar i{display:block;height:100%;background:var(--sc)}.mc-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:5px}.mc-topic{display:flex;flex-direction:column;justify-content:space-between;gap:4px;min-height:52px;padding:7px 9px;border-radius:9px;text-decoration:none;font-size:11.5px;color:#fff!important;background:color-mix(in srgb,var(--sc) calc(15% + var(--m) * 75%),#1a2140)}.mc-topic.none{background:#ffffff0d;color:#9aa6c7!important}.mc-weak{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}.mc-weak .grow{display:flex;flex-direction:column;min-width:0}.mc-weak small{font-size:11.5px;color:#9aa6c7}.mc-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mc-stats>div{display:flex;flex-direction:column}.mc-stats b{font-size:26px}.mc-stats small{font-size:12px;color:#9aa6c7}.mc-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.mc-shell .btn:not(.primary){background:#ffffff14;border-color:#ffffff2e;color:#e8ecf8}.offline-pill{position:fixed;left:50%;bottom:76px;transform:translate(-50%);z-index:90;padding:7px 14px;border-radius:99px;background:var(--ink);color:var(--surface);font-size:12.5px;box-shadow:var(--sh-2);white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}@media (min-width: 900px){.offline-pill{bottom:18px}}.rq-mix{justify-content:flex-end}.mix-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.mix-prog{flex:1;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.mix-prog i{display:block;height:100%;background:var(--brand);transition:width .3s}.mix-q{max-width:760px}.mix-miss{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}.mix-miss small{color:var(--ink-2)}.qr-btn{border:0;padding:6px;background:#fff;border-radius:10px;cursor:zoom-in;box-shadow:var(--sh-1)}.qr-btn img{display:block}.qr-big{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.qr-big img{width:min(70vh,520px);height:auto;background:#fff;padding:10px;border-radius:12px}.onboarding{max-width:880px}.ob-head h2{margin:4px 0 12px}.ob-steps{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.ob-step{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:99px;border:1px solid var(--line);background:var(--surface);font-size:12.5px;color:var(--ink-3);cursor:default}.ob-step i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;background:var(--surface-3)}.ob-step.on{border-color:var(--brand);color:var(--ink);font-weight:600}.ob-step.on i,.ob-step.done i{background:var(--brand);color:#fff}.ob-step.done{cursor:pointer;color:var(--ink-2)}.ob-card h3{margin-top:0}.ob-exams{display:flex;flex-direction:column;gap:6px}.ob-exam{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.ob-exam span{display:flex;flex-direction:column}.ob-exam input{width:170px}.ob-review{display:flex;gap:14px;align-items:flex-start}.ob-review p{margin:4px 0}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.choice small{color:var(--ink-3);font-size:12px}.choice.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.pe-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:12px 0 6px}.profile-ed{display:flex;gap:20px;align-items:flex-start}.pe-preview{width:96px;height:96px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:50px;box-shadow:var(--sh-2)}.pe-preview.sm{width:56px;height:56px;font-size:30px}.pe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;max-width:520px}.pe-grid button{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:22px;cursor:pointer}.pe-grid button.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.pe-bgs{display:flex;gap:6px;flex-wrap:wrap}.pe-bgs button{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.pe-bgs button.on{outline:2px solid var(--brand);outline-offset:2px}@media (max-width: 600px){.profile-ed{flex-direction:column;align-items:center}}.sp-group h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:14px 0 6px}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.sp-tile{position:relative;display:flex;flex-wrap:wrap;align-items:center;border-radius:10px;border:1px solid var(--line);background:var(--surface)}.sp-tile.on{border-color:var(--sc);background:color-mix(in srgb,var(--sc) 7%,var(--surface))}.sp-main{flex:1;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;background:none;text-align:left;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;min-width:0}.sp-main em{color:#d97706;font-style:normal}.sp-check{width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--line-2);display:grid;place-items:center}.sp-tile.on .sp-check{background:var(--sc);border-color:var(--sc);color:#fff}.sp-info{flex-basis:100%;margin:0;padding:0 10px 10px;font-size:12px;color:var(--ink-2)}.goal-atar{font-size:20px;color:var(--brand)}.atar-slider{position:relative;padding-bottom:12px}.atar-slider input{width:100%}.atar-marks{position:absolute;left:8px;right:8px;bottom:0;height:10px}.atar-marks i{position:absolute;bottom:0;width:3px;height:10px;border-radius:2px;background:var(--line-2);transform:translate(-50%)}.atar-marks i.in{background:var(--ok)}.course-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto;margin-top:8px}.course-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer}.course-row .grow{display:flex;flex-direction:column;min-width:0}.course-row small{font-size:12px}.course-row.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cr-atar{width:42px;flex:none;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;padding:4px 0;border-radius:8px;background:var(--surface-3);color:var(--ink-3)}.cr-atar.ok{background:var(--ok-soft);color:var(--ok)}.cr-warn{color:var(--warn)}.rollover{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0e1e8c}.tour-hole{position:absolute;border-radius:10px;box-shadow:0 0 0 9999px #0a0e1e8c;outline:2px solid #fff;transition:all .25s;pointer-events:none}.tour-card{position:absolute;width:320px;max-width:calc(100vw - 24px);padding:14px 16px;border-radius:14px;background:var(--surface);box-shadow:var(--sh-3)}.tour-card h4{margin:2px 0 6px;font-size:16px}.tour-card p{margin:0 0 12px;font-size:13.5px;color:var(--ink-2);line-height:1.5}.uni-hero{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:14px}.uni-hero>div{display:flex;flex-direction:column;gap:2px;min-width:140px}.uni-est{font-size:24px;font-variant-numeric:tabular-nums}.uc-list{display:flex;flex-direction:column;gap:6px}.uc{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.uc.dream{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.uc .grow{display:flex;flex-direction:column;min-width:0;gap:2px}.uc.compact{padding:7px 10px}.uc.compact .grow{display:block}.uc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.uc-actions{display:flex;gap:4px;flex:none}.tchip.fit-safe{background:var(--ok-soft);color:var(--ok);font-weight:700}.tchip.fit-likely{background:var(--brand-soft);color:var(--brand);font-weight:700}.tchip.fit-stretch{background:#fef3c7;color:#b45309;font-weight:700}.tchip.fit-gap{background:var(--rouge-soft);color:var(--rouge);font-weight:700}.uni-tl{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}.uni-tl li{position:relative;padding:6px 0 12px 16px}.uni-tl li:before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2px solid var(--brand)}.uni-tl li.done:before{background:var(--brand)}.uni-tl li.done b{text-decoration:line-through;color:var(--ink-3)}.uni-tl label{align-items:flex-start!important}.uni-tl label span{display:flex;flex-direction:column;gap:2px}.uni-when{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand)}.palette-input{display:flex;align-items:center;gap:6px}.palette-input input{flex:1}.palette-mic{margin-right:8px;flex:none}.tsec.nested{margin-left:calc(var(--dl, 1) * 18px);border-left:2px solid var(--line);padding-left:12px}.tsec.nested.d1{--dl: 1}.tsec.nested.d2{--dl: 2}.tsec.nested.d3,.tsec.nested.d4{--dl: 3}@media (max-width: 600px){.tsec.nested{margin-left:calc(var(--dl, 1) * 8px)}}.att-field{display:flex;flex-direction:column;gap:6px}.att-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 2px 2px 8px;border-radius:99px;background:var(--surface-3);font-size:12.5px}.att-add{cursor:pointer}.att-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.att-thumb{display:flex;flex-direction:column;align-items:center;gap:3px;width:92px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:zoom-in}.att-thumb img{width:82px;height:82px;object-fit:cover;border-radius:6px}.att-thumb small{font-size:10.5px;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-full{max-width:100%;max-height:75vh;display:block;margin:0 auto;border-radius:8px}.att-pdf{width:100%;height:75vh;border:0}.pts-picker{margin:4px 0}.pts-picker summary{cursor:pointer}.pts-topic{margin:8px 0}.pts-point{margin-left:22px;font-size:12.5px;align-items:flex-start!important}.remote-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.timer-pill{position:fixed;right:16px;bottom:76px;z-index:80;padding:8px 14px;border-radius:99px;background:var(--brand);color:#fff!important;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;text-decoration:none;box-shadow:var(--sh-2)}@media (min-width: 900px){.timer-pill{bottom:18px}}
