.landing-page{background:var(--bg-primary)}.lp{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-inter)}.lp-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--border-color)}.lp-logo{font-family:var(--font-syne);font-size:15px;font-weight:600;color:var(--accent-lime);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.lp-nav-btn{padding:9px 20px;font-size:14px}.lp-hero{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:56px clamp(16px,4vw,48px) 72px}.lp-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(640px 360px at 50% 18%,rgba(255,214,10,.13),transparent 70%),radial-gradient(520px 320px at 85% 90%,rgba(255,214,10,.06),transparent 70%)}.lp-hero-in{position:relative;max-width:860px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;animation:lp-rise .5s ease-out both}@keyframes lp-rise{0%{opacity:0;transform:translateY(14px)}}.lp-title{margin:0;font-family:var(--font-syne);font-weight:700;line-height:1.1;font-size:clamp(32px,6vw,64px);letter-spacing:-.02em}.lp-title span{color:var(--accent-lime);white-space:nowrap}.lp-sub{margin:0;max-width:680px;color:var(--text-secondary);font-size:clamp(15px,1.7vw,18px);line-height:1.65}.lp-sub b{color:var(--text-primary)}.lp-nowrap{white-space:nowrap}.lp-features{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.lp-features li{font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:7px 14px}.lp-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}.lp-cta-btn{min-width:220px;height:52px;padding:0 28px;font-size:16px}.lp-cta-btn--ghost{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:700;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,color .2s,transform .2s}.lp-cta-btn--ghost:hover{border-color:var(--accent-lime);color:var(--accent-lime);transform:translateY(-1px)}@media (max-width: 520px){.lp-cta{width:100%;flex-direction:column}.lp-cta-btn{width:100%;min-width:0}}@media (prefers-reduced-motion: reduce){.lp-hero-in{animation:none}}@font-face{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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.11"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #08080A;--bg-secondary: #101014;--bg-tertiary: #17171D;--text-primary: #F6F6F4;--text-secondary: #C2C2BE;--text-tertiary: #8B8B96;--accent-lime: #FFD60A;--accent-soft: #FFE873;--accent-dim: rgba(255,214,10,.14);--accent-ink: #FFD60A;--on-accent: #08080A;--success: #3FB950;--success-dim: rgba(63,185,80,.12);--danger: #FF5F5F;--danger-dim: rgba(255,95,95,.1);--border-color: #26262E;--sidebar-width: 260px;--sidebar-collapsed-width: 56px;--topbar-height: 60px;--font-inter: "Manrope", system-ui, sans-serif;--font-syne: "Unbounded", system-ui, sans-serif;--font-clash: "Unbounded", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Monaco", "Menlo", monospace;--radius-sm: 8px;--radius-md: 13px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 6px 20px rgba(0,0,0,.45);--shadow-hover: 0 12px 32px rgba(0,0,0,.55)}html{overflow-x:hidden;color-scheme:dark}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-inter);line-height:1.6;overflow-x:hidden}::selection{background:var(--accent-lime);color:var(--on-accent)}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:var(--font-inter);cursor:pointer;border:none;outline:none}img{max-width:100%;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:1}}.fade-in{animation:fadeIn .4s ease-out forwards}.slide-up{animation:slideUp .5s ease-out forwards}.page{animation:pageEnter .3s ease-out}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,#202028 50%,var(--bg-tertiary) 100%);background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:var(--radius-md)}.skeleton-block{height:16px;margin-bottom:8px}.skeleton-title{height:24px;margin-bottom:12px;border-radius:var(--radius-md)}.skeleton-text{height:14px;margin-bottom:6px}.skeleton-large{height:200px;margin-bottom:16px}.skeleton-schedule-day{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;margin-bottom:12px}.skeleton-schedule-day .skeleton-title{margin-bottom:8px}.skeleton-schedule-day .skeleton-text{width:80%}.skeleton-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.skeleton-card-icon{width:40px;height:40px;margin-bottom:12px;border-radius:var(--radius-md)}.skeleton-card-title{height:16px;margin-bottom:10px;width:70%}.skeleton-card-desc{height:14px;margin-bottom:6px}.skeleton-card-desc:last-child{width:60%}.skeleton-news-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px;margin-bottom:8px}.skeleton-news-card-title{height:16px;margin-bottom:8px;width:75%}.skeleton-news-card-text{height:12px;margin-bottom:4px;width:90%}.skeleton-news-card-text:last-child{width:70%}.fade-in:nth-child(1){animation-delay:0s}.fade-in:nth-child(2){animation-delay:.05s}.fade-in:nth-child(3){animation-delay:.1s}.fade-in:nth-child(4){animation-delay:.15s}.fade-in:nth-child(5){animation-delay:.2s}.slide-up:nth-child(1){animation-delay:0s}.slide-up:nth-child(2){animation-delay:.08s}.slide-up:nth-child(3){animation-delay:.16s}.slide-up:nth-child(4){animation-delay:.24s}.slide-up:nth-child(5){animation-delay:.32s}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-ink);color:var(--on-accent);font-weight:700;font-size:15px;padding:12px 26px;border-radius:var(--radius-md);border:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;text-decoration:none;white-space:nowrap}.btn-primary:hover{transform:translateY(-1px);background:var(--accent-soft);box-shadow:var(--shadow-hover)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--accent-lime);font-weight:600;font-size:13px;padding:8px 18px;border-radius:var(--radius-pill);border:1px solid rgba(255,214,10,.4);cursor:pointer;transition:background .2s,transform .2s;text-decoration:none}.btn-outline:hover{background:#ffd60a14;transform:translateY(-1px)}.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);font-size:13px;padding:7px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-color);cursor:pointer;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--accent-lime);color:var(--accent-lime)}.btn-full{width:100%}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em}.badge--lime{background:#ffd60a1f;color:var(--accent-lime)}.badge--blue{background:#6eb5ff26;color:#3d84e0}.badge--purple{background:#a07aff26;color:#8358e8}.badge--orange{background:#ff9f502e;color:#d97a2c}.badge--gray{background:#6b6b801f;color:#6b6b80}.badge--red{background:#ff5f5f26;color:var(--danger)}.badge--green{background:#00c88c26;color:#00966b}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.form-group input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 16px;color:var(--text-primary);font-family:var(--font-inter);font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input:focus{border-color:var(--accent-lime);background:var(--bg-secondary);box-shadow:0 0 0 3px #ffd60a24}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input.error{border-color:var(--danger)}.profile-field::placeholder{color:var(--text-tertiary)}.wall-tabs{display:inline-flex;gap:2px;padding:4px;margin-bottom:20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill)}.wall-tab{padding:8px 20px;border:none;background:transparent;border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap}.wall-tab:hover{color:var(--text-primary)}.wall-tab.active{background:var(--bg-secondary);color:var(--accent-lime);box-shadow:var(--shadow-sm)}.wall-composer{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:22px;transition:border-color .2s,box-shadow .2s}.wall-composer:focus-within{border-color:#ffd60a66;box-shadow:var(--shadow-md)}.composer-row{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.composer-row .composer-avatar{order:1}.composer-row .composer-input{order:2;flex:1;min-width:0}.composer-row .composer-attach{order:3}.composer-row .composer-submit{order:4}.composer-submit{border-radius:var(--radius-md)!important;transition:transform .15s,box-shadow .15s}.composer-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.composer-submit .composer-submit-label{display:inline}.composer-submit .composer-submit-icon{display:none}.composer-attach{border-radius:var(--radius-md)!important;transition:border-color .15s,color .15s,background .15s}.composer-attach:hover:not(:disabled){border-color:var(--accent-lime);color:var(--accent-lime);background:#ffd60a0f}@media (max-width: 480px){.composer-row .composer-attach{order:2}.composer-row .composer-submit{order:3}.composer-row .composer-input{order:4;flex-basis:100%}.composer-submit{width:44px;padding:0!important}.composer-submit .composer-submit-label{display:none}.composer-submit .composer-submit-icon{display:inline-flex}.wall-tabs{display:flex;width:100%}.wall-tab{flex:1;text-align:center;padding:9px 8px}}.post-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.post-card:hover{border-color:#ffd60a38;box-shadow:var(--shadow-md)}@media (max-width: 480px){.post-card{padding:14px}}.icon-btn{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover{background:#e14b4b1a;color:var(--danger)}.reaction-row{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.reaction-row::-webkit-scrollbar{display:none}.reaction-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.reaction-pill:hover{border-color:#ffd60a66;background:#ffd60a0f}.reaction-pill.active{background:#ffd60a1f;border-color:var(--accent-lime);color:var(--accent-lime)}.wall-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 24px;border:1px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-tertiary)}.wall-empty-icon{font-size:28px;margin-bottom:4px}.wall-empty-title{font-size:14px;font-weight:600;color:var(--text-secondary)}.wall-empty-sub{font-size:13px}.post-media{display:flex;gap:16px;align-items:flex-start;margin-bottom:12px}.post-media-image{flex:0 0 220px;max-width:220px;border-radius:var(--radius-md);overflow:hidden}.post-media-image img{width:100%;height:auto;display:block}.post-media-text{flex:1;min-width:0}@media (max-width: 768px){.post-media{flex-direction:column}.post-media-image{flex:none;width:100%;max-width:100%;order:2}.post-media-text{order:1}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-primary)}.login-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,214,10,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,214,10,.05) 1px,transparent 1px);background-size:60px 60px}#login-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-wrap{position:relative;z-index:1;width:100%;max-width:420px;padding:24px}.login-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:40px 36px;box-shadow:var(--shadow-md)}.login-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px}.login-brand-kiro{font-family:var(--font-syne);font-size:22px;font-weight:700;color:var(--accent-lime)}.login-brand-sep{width:1px;height:18px;background:var(--border-color)}.login-brand-platform{font-size:13px;color:var(--text-tertiary)}.login-title{font-family:var(--font-syne);font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.login-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:28px}.password-wrap{position:relative}.password-wrap input{padding-right:44px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s}.password-toggle:hover{color:var(--text-primary)}.login-error{font-size:13px;color:#c62828;background:#e14b4b14;border:1px solid rgba(225,75,75,.25);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:14px}.login-note{font-size:12px;color:var(--text-tertiary);text-align:center;margin-top:20px;line-height:1.7}.login-note a{color:var(--accent-lime)}.app-page{min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:200;transition:transform .3s ease;overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-logo{font-family:var(--font-syne);font-weight:700;font-size:17px;color:var(--text-primary)}.sidebar-logo-kiro{color:var(--accent-lime)}.sidebar-logo-platform{font-weight:400;font-size:13px;color:var(--text-tertiary);margin-left:4px}.sidebar-close-btn{display:none;background:none;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;padding:2px;line-height:1}.sidebar-user{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:#ffd60a1a;border:1px solid rgba(255,214,10,.35);color:var(--accent-lime);font-family:var(--font-syne);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-sub{font-size:11px;color:var(--text-tertiary)}.sidebar-nav{flex:1;padding:10px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:#ffd60a1a;color:var(--accent-lime);font-weight:600}.nav-icon{font-size:15px;flex-shrink:0;width:20px;text-align:center}.nav-badge{margin-left:auto;background:var(--accent-lime);color:var(--on-accent);font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);min-width:18px;text-align:center}.nav-divider{height:1px;background:var(--border-color);margin:4px 10px 8px;flex-shrink:0}.nav-item--autumn{position:relative;overflow:hidden;background:linear-gradient(135deg,#ff8c4238,#ffc1071a);border:1px solid rgba(255,140,66,.4);color:#ffb870;font-family:var(--font-syne);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.nav-item--autumn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.16) 45%,transparent 60%);transform:translate(-120%);transition:transform .6s ease;pointer-events:none}.nav-item--autumn:hover:before{transform:translate(120%)}.nav-item--autumn:hover{background:linear-gradient(135deg,#ff8c4252,#ffc1072e);color:#ffc98a;border-color:#ff8c4299}.nav-item--autumn.active{background:linear-gradient(135deg,#ff8c4261,#ffc10738);color:#ffd08a;box-shadow:0 0 0 1px #ff8c428c inset,0 0 18px #ff8c4238}.sidebar-footer{padding:10px;border-top:1px solid var(--border-color);flex-shrink:0}.nav-item--logout{color:var(--text-tertiary)}.nav-item--logout:hover{color:var(--danger);background:#e14b4b0f}.app-content{margin-left:var(--sidebar-width);flex:1;display:flex;flex-direction:column;min-height:100vh;min-width:0}.app-content{transition:margin-left .28s cubic-bezier(.4,0,.2,1)}.top-bar{display:none;align-items:center;height:var(--topbar-height);padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;gap:12px}.hamburger{background:none;border:none;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:4px;flex-shrink:0}.hamburger span{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px}.top-bar-title{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary);flex:1}.top-bar-avatar{width:32px;height:32px;border-radius:50%;background:#ffd60a1a;border:1px solid rgba(255,214,10,.35);color:var(--accent-lime);font-family:var(--font-syne);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#11182766;z-index:150}.sidebar-overlay.active{display:block}.pages-wrap{flex:1;padding:28px 32px;width:100%;min-width:0}.page{display:none}.page.active{display:block}.page-header{margin-bottom:24px}.page-title{font-family:var(--font-syne);font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.3px}.page-subtitle{font-size:14px;color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:6px;transition:border-color .2s,box-shadow .2s,transform .2s}.stat-card:hover{border-color:#ffd60a4d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{font-size:22px}.stat-value{font-family:var(--font-syne);font-size:28px;font-weight:700;color:var(--accent-lime);line-height:1}.stat-label{font-size:12px;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:18px}.dashboard-col{display:flex;flex-direction:column;gap:18px}.widget{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.widget-title{font-family:var(--font-syne);font-size:14px;font-weight:700;color:var(--text-primary)}.widget-link{font-size:12px;color:var(--accent-lime);font-weight:600;cursor:pointer;transition:opacity .15s}.widget-link:hover{opacity:.75}.today-events{display:flex;flex-direction:column;gap:8px}.today-event{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .2s;cursor:default}.today-event:hover{border-color:#ffd60a4d}.today-event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.today-event-body{flex:1;min-width:0}.today-event-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.today-event-meta{font-size:11px;color:var(--text-tertiary)}.today-event-time{font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-tertiary);white-space:nowrap}.progress-bar{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--accent-lime);border-radius:3px;transition:width .8s ease}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-tertiary)}.mat-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-color);cursor:pointer;transition:color .15s}.mat-row:last-child{border-bottom:none}.mat-row:hover .mat-row-title{color:var(--accent-lime)}.mat-row-icon{width:30px;height:30px;background:var(--bg-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.mat-row-title{font-size:13px;font-weight:600;color:var(--text-primary);transition:color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-row-meta{font-size:11px;color:var(--text-tertiary);margin-top:1px}.schedule-controls{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}.filter-btn{padding:7px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:.15s}.filter-btn:hover,.filter-btn.active{border-color:var(--accent-lime);color:var(--accent-lime);background:#ffd60a14}.schedule-date-label{font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;padding:18px 0 10px;border-top:1px solid var(--border-color)}.schedule-date-label:first-child{border-top:none;padding-top:0}.event-card{display:flex;gap:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:8px;transition:border-color .2s,box-shadow .2s;align-items:flex-start}.event-card:hover{border-color:#ffd60a4d;box-shadow:var(--shadow-md)}.event-time-col{display:flex;flex-direction:column;align-items:flex-end;min-width:48px;flex-shrink:0}.event-time{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary)}.event-dur{font-size:11px;color:var(--text-tertiary);margin-top:2px}.event-stripe{width:3px;border-radius:2px;flex-shrink:0;align-self:stretch;min-height:36px}.event-body{flex:1;min-width:0}.event-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.3}.event-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px;line-height:1.5}.event-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.event-host{font-size:12px;color:var(--text-tertiary)}.event-join{font-size:12px;font-weight:700;padding:6px 16px;border-radius:var(--radius-pill);background:var(--accent-ink);color:var(--on-accent);border:none;cursor:pointer;transition:transform .15s,box-shadow .15s;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.event-join:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.event-join--outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.event-join--outline:hover{border-color:var(--accent-lime);color:var(--accent-lime);box-shadow:none;transform:none}.sched-week{margin-bottom:8px}.sched-day{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:6px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.sched-day--open{border-color:#ffd60a59;box-shadow:var(--shadow-sm);border-radius:var(--radius-md)}.sched-day-header{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-md)}.sched-day-header:hover{background:var(--bg-tertiary)}.sched-day-stripe{width:3px;border-radius:2px;align-self:stretch;min-height:28px;flex-shrink:0}.sched-day-meta{display:flex;flex-direction:row;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}.sched-day-num{font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-primary)}.sched-day-sep{font-size:11px;color:var(--border-color)}.sched-day-date{font-size:11px;color:var(--text-tertiary)}.sched-day-title{flex:1;min-width:0;font-size:14px;font-weight:400;color:var(--text-tertiary);line-height:1.3}.sched-chevron{font-size:10px;color:var(--text-tertiary);flex-shrink:0;margin-left:4px}.sched-day-body{padding:16px;border-top:1px solid var(--border-color)}.sched-section{margin-top:14px}.sched-section-label{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.sched-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.sched-list li{font-size:13px;color:var(--text-secondary);line-height:1.5;padding-left:14px;position:relative}.sched-list li:before{content:"·";position:absolute;left:4px;color:var(--accent-lime);font-weight:700}.sched-hw{font-size:13px;color:var(--text-secondary);line-height:1.6;background:#ffd60a0f;border:1px solid rgba(255,214,10,.18);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:8px}.hw-drive-btn{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:600;color:var(--accent-lime);text-decoration:none;background:#ffd60a14;border:1px solid rgba(255,214,10,.25);border-radius:var(--radius-pill);padding:6px 14px;transition:background .15s}.hw-drive-btn:hover{background:#ffd60a29}.hw-drive-btn--locked{color:var(--text-tertiary);border-color:var(--border-color);background:transparent;cursor:default;pointer-events:none}.hw-link-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--accent-lime);text-decoration:none;background:#ffd60a14;border:1px solid rgba(255,214,10,.25);border-radius:var(--radius-pill);padding:5px 12px;transition:background .15s}.hw-link-btn:hover{background:#ffd60a29}.hw-link-locked{font-size:12px;color:var(--text-tertiary)}.library-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.lib-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:.2s;margin-bottom:-1px}.lib-tab:hover{color:var(--text-primary)}.lib-tab.active{color:var(--accent-lime);border-bottom-color:var(--accent-lime)}.lib-month{display:none}.lib-month.active{display:block}.lib-week{margin-bottom:28px}.lib-week-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.day-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}.day-card:hover:not(.day-card--locked){border-color:var(--accent-lime);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.day-card--locked{opacity:.45;cursor:not-allowed}.day-card--done{border-color:#00966b59}.day-card--done:after{content:"✓";position:absolute;top:10px;right:11px;font-size:11px;color:#00966b;font-weight:700}.day-card--locked:after{content:"🔒";position:absolute;top:8px;right:9px;font-size:13px}.day-card-num{font-family:var(--font-syne);font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.day-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:7px}.day-card-date{font-size:11px;color:var(--text-tertiary)}.day-card-icons{display:flex;gap:3px;margin-top:8px;font-size:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;z-index:600;display:none;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay.active{display:flex}.modal-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:620px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-hover)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 18px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:var(--bg-secondary);z-index:1}.modal-day-num{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.modal-day-title{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:22px;cursor:pointer;flex-shrink:0;line-height:1;transition:color .15s}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:22px}.mat-section-title{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;margin-top:20px}.mat-section-title:first-child{margin-top:0}.mat-item{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;text-decoration:none;transition:border-color .2s;cursor:pointer}.mat-item:hover{border-color:var(--accent-lime)}.mat-item-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.mat-video{background:#ffd60a1f}.mat-pdf{background:#6eb5ff1f}.mat-task{background:#a07aff1f}.mat-link{background:#6b6b801a}.mat-code{background:#ff9f501f}.mat-item-body{flex:1;min-width:0}.mat-item-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.mat-item-meta{font-size:11px;color:var(--text-tertiary)}.mat-item-arrow{color:var(--text-tertiary);font-size:14px;flex-shrink:0}.tasks-header{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.task-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 16px;display:flex;align-items:flex-start;gap:12px;transition:border-color .2s;margin-bottom:8px}.task-card:hover{border-color:#ffd60a4d}.task-card--done{opacity:.6}.task-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:6px;flex-shrink:0;margin-top:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;font-size:11px;font-weight:700}.task-checkbox.checked{background:var(--accent-lime);border-color:var(--accent-lime);color:var(--on-accent)}.task-checkbox:hover:not(.checked){border-color:var(--accent-lime)}.task-body{flex:1;min-width:0}.task-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.task-card--done .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-deadline{font-size:11px;color:var(--text-tertiary)}.task-deadline--due{color:#d97a2c}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.widget-section-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:14px}.skill-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.skill-name{font-size:12px;color:var(--text-secondary);min-width:120px}.skill-bar{flex:1;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.skill-fill{height:100%;background:var(--accent-lime);border-radius:3px}.skill-pct{font-size:11px;color:var(--text-tertiary);min-width:32px;text-align:right}.week-progress-list{display:flex;flex-direction:column;gap:10px}.week-row{display:flex;align-items:center;gap:12px}.week-num{font-size:12px;color:var(--text-tertiary);min-width:60px}.week-bar{flex:1;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.week-fill{height:100%;background:linear-gradient(90deg,var(--accent-lime),var(--accent-lime));border-radius:4px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:4px}.achievement{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 10px;text-align:center;transition:.2s}.achievement:hover:not(.achievement--locked){border-color:#ffd60a59}.achievement--locked{opacity:.35}.achievement-icon{font-size:26px;margin-bottom:6px}.achievement-name{font-size:11px;color:var(--text-secondary);line-height:1.3}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leader-row{display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:12px 16px;transition:border-color .2s}.leader-row:hover{border-color:#ffd60a4d}.leader-row--me{border-color:#ffd60a80;background:#ffd60a0d}.leader-rank{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-tertiary);min-width:24px;text-align:center}.leader-rank--gold{color:#d4a800}.leader-rank--silver{color:#8a8f98}.leader-rank--bronze{color:#b06a2e}.leader-avatar{width:34px;height:34px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--accent-lime);font-family:var(--font-syne);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.leader-info{flex:1}.leader-name{font-size:13px;font-weight:600;color:var(--text-primary)}.leader-track{font-size:11px;color:var(--text-tertiary)}.leader-pts{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--accent-lime)}.leader-pts-label{font-size:10px;color:var(--text-tertiary);text-align:right}.community-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:28px}.community-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s,transform .2s,box-shadow .2s;text-decoration:none}.community-card:hover{border-color:#ffd60a59;transform:translateY(-2px);box-shadow:var(--shadow-md)}.community-card-icon{font-size:26px}.community-card-title{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary)}.community-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.community-card-tag{font-size:11px;font-weight:600;color:var(--accent-lime);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.announce-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;margin-bottom:10px}.announce-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.announce-icon{font-size:16px}.announce-title{font-size:14px;font-weight:700;color:var(--text-primary);flex:1}.announce-date{font-size:11px;color:var(--text-tertiary)}.announce-text{font-size:13px;color:var(--text-secondary);line-height:1.6}.profile-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px 20px;text-align:center}.profile-avatar{width:72px;height:72px;border-radius:50%;background:#ffd60a1a;border:2px solid rgba(255,214,10,.4);color:var(--accent-lime);font-family:var(--font-syne);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.profile-name{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.profile-email{font-size:12px;color:var(--text-tertiary);margin-bottom:14px}.profile-copy-link{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;font:inherit;font-size:13px;font-weight:700;color:var(--accent-lime);cursor:pointer;background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);border-radius:var(--radius-md);padding:10px 14px;transition:background .2s,color .2s,border-color .2s}.profile-copy-link:hover{background:#ffd60a38}.profile-copy-link.is-done{color:var(--success);border-color:#3fb95073;background:var(--success-dim)}.profile-track-badge{display:inline-flex;align-items:center;gap:5px;background:#ffd60a1a;border:1px solid rgba(255,214,10,.3);color:var(--accent-lime);font-size:12px;font-weight:600;padding:5px 14px;border-radius:var(--radius-pill);margin-bottom:18px}.profile-stats-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.psm{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:10px;text-align:center}.psm-val{font-family:var(--font-syne);font-size:20px;font-weight:700;color:var(--accent-lime);line-height:1}.psm-label{font-size:10px;color:var(--text-tertiary);margin-top:2px}.profile-details{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:22px}.profile-section-h{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.profile-field{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-color)}.profile-field:last-child{border-bottom:none}.pf-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;min-width:120px;padding-top:2px}.pf-value{font-size:13px;color:var(--text-primary);flex:1}.posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-info-trophies{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collapse-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}.collapse-wrap.open{grid-template-rows:1fr}.collapse-inner{overflow:hidden}.math-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.math-date{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#ff8c4238;border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-mono);font-size:11.5px;font-weight:600}.math-date.is-next{background:#ff8c42;border-color:#fff;color:#1a0f05;font-weight:700}.w4-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.w4-topic{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;cursor:pointer;font-family:var(--font-inter);transition:border-color .2s,background .2s,transform .2s}.w4-topic:hover{border-color:#ff8c4280;transform:translateY(-2px)}.w4-topic.is-active{border-color:#ff8c42b3;background:#ff8c4214}.w4-topic-title{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary)}.w4-topic.is-active .w4-topic-title{color:#ffb870}.w4-topic-subtitle{font-size:12px;color:var(--text-secondary);line-height:1.5}.w4-topic-for{margin-top:auto;padding-top:10px;font-size:11.5px;color:var(--text-tertiary);line-height:1.5}.w4-topic-tag{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:var(--radius-pill);background:#ff8c4224;color:#ffb870;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.w4-hw-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.w4-hw{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:13px 15px;cursor:pointer;font-family:var(--font-inter);transition:border-color .2s,background .2s}.w4-hw:hover{border-color:#ffd60a80}.w4-hw.is-active{border-color:#ffd60ab3;background:#ffd60a14}.w4-hw-label{font-size:10px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.w4-hw-topic{font-family:var(--font-syne);font-size:13.5px;font-weight:700;color:var(--text-primary)}.w4-hw.is-active .w4-hw-topic{color:var(--accent-lime)}.w4-hw-kind{font-size:11.5px;color:var(--text-tertiary)}.w4-switch{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.w4-switch-topic{margin-left:auto;font-size:12.5px;color:var(--text-tertiary)}.w4-quiz-intro{margin:0 0 18px;font-size:13.5px;color:var(--text-secondary);line-height:1.7}.w4-submit-link{display:block;margin-bottom:18px;padding:14px 16px;border-radius:var(--radius-md);background:#ffd60a0f;border:1px solid rgba(255,214,10,.3);text-decoration:none}.w4-submit-link:hover{background:#ffd60a1a;border-color:#ffd60a80}.w4-submit-link-title{display:block;font-family:var(--font-syne);font-size:13.5px;font-weight:700;color:var(--accent-lime);margin-bottom:4px}.w4-submit-link-text{display:block;font-size:13px;color:var(--text-secondary);line-height:1.6}.w4-sql-intro{margin:0 0 16px;font-size:13.5px;color:var(--text-secondary);line-height:1.7}.w4-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.w4-table{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.w4-table-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.w4-table-name{font-family:var(--font-mono);font-size:13.5px;font-weight:700;color:#ffb870}.w4-table-comment{font-size:11.5px;color:var(--text-tertiary)}.w4-table-cols{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.w4-col{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;line-height:1.5}.w4-col-name{font-family:var(--font-mono);color:var(--text-primary);min-width:84px}.w4-col-type{font-family:var(--font-mono);color:var(--text-tertiary);min-width:110px}.w4-col-note{color:var(--text-secondary)}.w4-tasks-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary);margin:22px 0 10px}.w4-tasks{display:flex;flex-direction:column;gap:10px}.w4-task{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.w4-task-num{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.w4-task-level{font-size:10px;font-weight:700;padding:1px 8px;border-radius:var(--radius-pill);background:#8b8b9629;color:var(--text-tertiary);letter-spacing:.03em}.w4-task-text{font-size:13.5px;color:var(--text-secondary);line-height:1.65}.w4-task-hint{margin-top:9px}.w4-task-hint summary{cursor:pointer;font-size:11.5px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.04em;list-style:none}.w4-task-hint summary::-webkit-details-marker{display:none}.w4-task-hint summary:before{content:"? "}.w4-task-hint div{margin-top:7px;font-size:12.5px;color:var(--text-tertiary);line-height:1.6}.w4-sql-submit{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-tertiary);line-height:1.7}.quiz{display:flex;flex-direction:column}.quiz-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.quiz-progress{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.quiz-answered{font-size:12px;color:var(--text-tertiary)}.quiz-bar{height:4px;border-radius:var(--radius-pill);background:var(--bg-tertiary);overflow:hidden;margin-bottom:18px}.quiz-bar-fill{height:100%;background:linear-gradient(90deg,#ff8c42,#ffc107);transition:width .3s ease}.quiz-prev{margin-bottom:14px;padding:8px 13px;border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:12.5px;color:var(--text-tertiary)}.quiz-question{font-size:15px;font-weight:600;color:var(--text-primary);line-height:1.6;margin-bottom:16px}.quiz-options{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.quiz-option{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;font-family:var(--font-inter);transition:border-color .15s,background .15s}.quiz-option:hover{border-color:#ff8c4280}.quiz-option.is-chosen{border-color:#ff8c42bf;background:#ff8c421a}.quiz-option-letter{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary)}.quiz-option.is-chosen .quiz-option-letter{background:#ff8c42;border-color:#ff8c42;color:#1a0f05}.quiz-option-text{font-size:13.5px;color:var(--text-secondary);line-height:1.6}.quiz-option.is-chosen .quiz-option-text{color:var(--text-primary)}.quiz-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quiz-next{font-size:13px;padding:9px 22px}.quiz-dots{display:flex;gap:5px;flex-wrap:wrap;flex:1;justify-content:center}.quiz-dot{width:26px;height:26px;border-radius:7px;flex-shrink:0;background:transparent;border:1px solid var(--border-color);color:var(--text-tertiary);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.quiz-dot.is-answered{background:#ff8c4238;border-color:#ff8c4273;color:var(--text-primary)}.quiz-dot.is-current{border-color:#fff;color:var(--text-primary)}.quiz-hint{margin:14px 0 0;font-size:12.5px;color:var(--text-tertiary);line-height:1.6}.quiz-score{text-align:center;padding:26px;border-radius:var(--radius-md);margin-bottom:22px;background:#ff8c4214;border:1px solid rgba(255,140,66,.3)}.quiz-score.is-perfect{background:var(--success-dim);border-color:#3fb95066}.quiz-score-value{font-family:var(--font-syne);font-size:40px;font-weight:800;color:#ffb870;line-height:1}.quiz-score.is-perfect .quiz-score-value{color:#7ee787}.quiz-score-label{font-size:13.5px;color:var(--text-secondary);margin-top:8px}.quiz-report-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.quiz-report{display:flex;flex-direction:column;gap:12px}.quiz-report-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:15px}.quiz-report-num{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.quiz-report-q{font-size:13.5px;font-weight:600;color:var(--text-primary);line-height:1.55;margin-bottom:11px}.quiz-report-answer{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.6;margin-bottom:6px}.quiz-report-mark{flex-shrink:0;font-weight:700}.quiz-report-answer.is-wrong{color:var(--text-tertiary)}.quiz-report-answer.is-wrong .quiz-report-mark{color:var(--danger)}.quiz-report-answer.is-right{color:var(--text-secondary)}.quiz-report-answer.is-right .quiz-report-mark{color:#7ee787}.quiz-report-why{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color);font-size:12.5px;color:var(--text-secondary);line-height:1.7}.quiz-actions{display:flex;justify-content:center;margin-top:22px}@media (max-width: 1100px){.w4-topics,.w4-hw-row{grid-template-columns:repeat(2,minmax(0,1fr))}.w4-tables{grid-template-columns:1fr}}@media (max-width: 560px){.w4-topics,.w4-hw-row{grid-template-columns:1fr}.quiz-dots{order:3;width:100%;justify-content:flex-start}}.math-sessions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.math-session{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.math-session.is-next{border-color:#ff8c428c;background:#ff8c420d}.math-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.math-session-num{font-family:var(--font-syne);font-size:11px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.05em}.math-session-topic{font-family:var(--font-syne);font-size:14.5px;font-weight:700;color:var(--text-primary);line-height:1.4}.math-session-when{font-size:12.5px;color:var(--text-secondary);margin-top:6px}.math-session-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.math-soon{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:var(--radius-pill);background:var(--bg-tertiary);border:1px solid var(--border-color);font-size:12px;color:var(--text-tertiary)}.math-soon-tag{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#ffb870;background:#ff8c4224;border-radius:var(--radius-pill);padding:1px 7px}.math-teacher-head{margin-bottom:14px}.math-teacher-name{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary)}.math-teacher-role{font-size:12.5px;color:#ffb870;margin-top:4px;line-height:1.5}.math-papers-title{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px}.math-papers{margin:0;padding-left:18px;list-style:disc}.math-papers li{font-size:12.5px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}@media (max-width: 900px){.math-sessions{grid-template-columns:1fr}}.autumn-toggle-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;width:132px;background:#ff8c4224;border:1px solid rgba(255,140,66,.4);color:#ffb870;border-radius:var(--radius-pill);padding:8px 16px;font-size:12.5px;font-weight:700;font-family:var(--font-syne);cursor:pointer;transition:background .2s ease,border-color .2s ease}.autumn-toggle-btn:hover{background:#ff8c423d;border-color:#ff8c4299}@media (max-width: 480px){.autumn-toggle-btn{width:100%}}.material-pager{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.material-dot{width:38px;height:38px;flex-shrink:0;border-radius:10px;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-tertiary);font-family:var(--font-syne);font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}.material-dot:hover{border-color:#ff8c4280;color:#ffb870}.material-dot.is-visited{background:#ff8c4229;border-color:#ff8c4259;color:#ffb870bf}.material-dot.is-active{background:var(--accent-lime);border-color:var(--accent-lime);color:var(--on-accent);box-shadow:0 0 14px #ffd60a40}.material-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:14px}@media (max-width: 480px){.material-cards{grid-template-columns:1fr}.material-dot{width:34px;height:34px;font-size:12px}}.calls-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.calls-tab{padding:7px 16px;border-radius:var(--radius-pill);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font-inter);transition:background .15s,border-color .15s,color .15s}.calls-tab:hover{border-color:#ff8c4280;color:var(--text-primary)}.calls-tab.is-active{background:#ff8c4224;border-color:#ff8c4299;color:#ffb870}.hw-submit-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:26px;padding:0 18px;border-radius:var(--radius-pill);background:var(--accent-ink);color:var(--on-accent);font-family:var(--font-syne);font-size:12.5px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}.hw-submit-btn:hover{background:var(--accent-soft);transform:translateY(-1px);box-shadow:var(--shadow-md)}.hwup-tasks{display:flex;flex-direction:column;gap:16px}.hwup-task{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.hwup-task-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.hwup-task-num{font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}.hwup-task-text{margin:0 0 14px;font-size:13.5px;color:var(--text-secondary);line-height:1.65}.hwup-status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:var(--radius-pill);white-space:nowrap}.hwup-status.is-submitted{background:#8b8b9629;color:var(--text-tertiary)}.hwup-status.is-approved{background:var(--success-dim);color:#7ee787}.hwup-status.is-rework{background:#ffd60a24;color:var(--accent-lime)}.hwup-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.hwup-btn{font-size:13px;padding:9px 20px}.hwup-error{margin-top:8px;font-size:12.5px;color:var(--danger)}.hwup-comment{margin-bottom:14px;padding:11px 14px;border-radius:var(--radius-sm);background:#ffd60a14;border:1px solid rgba(255,214,10,.3)}.hwup-comment-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-lime);margin-bottom:5px}.hwup-comment-text{font-size:13px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap}.task-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border-color);flex-wrap:wrap}.task-nav-btn{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:46%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:11px 15px;cursor:pointer;font-family:var(--font-inter);text-align:left;transition:border-color .15s,background .15s}.task-nav-btn.is-next{text-align:right;align-items:flex-end}.task-nav-btn:hover{border-color:#ff8c428c;background:#ff8c420f}.task-nav-dir{font-family:var(--font-syne);font-size:12.5px;font-weight:700;color:#ffb870;white-space:nowrap}.task-nav-name{font-size:11.5px;color:var(--text-tertiary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-nav-counter{font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono);flex-shrink:0}@media (max-width: 560px){.task-nav{flex-direction:column;align-items:stretch}.task-nav-btn{max-width:none}.task-nav-btn.is-next{text-align:left;align-items:flex-start}.task-nav-counter{order:3;text-align:center}}.hwrev{display:flex;flex-direction:column;gap:22px}.hwrev-legend{display:flex;flex-wrap:wrap;gap:16px}.hwrev-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-tertiary)}.hwrev-week-head{display:grid;grid-template-columns:22px minmax(0,max-content) auto;justify-content:start;align-items:center;column-gap:10px;margin-bottom:10px;width:100%;min-height:32px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:var(--font-inter)}.hwrev-chev{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:transform .25s ease,border-color .15s,color .15s}.hwrev-week-head:hover .hwrev-chev{border-color:#ff8c4299;color:#ffb870}.hwrev-chev.is-open{transform:rotate(180deg);border-color:#ff8c4299;color:#ffb870}.hwrev-week-name{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}@container camp-block (max-width: 519px){.hwrev-week-head{grid-template-columns:22px minmax(0,1fr);row-gap:5px}.hwrev-week-level{grid-column:2;justify-self:start}}.hwrev-week-level{font-size:10.5px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.04em;background:#ff8c421f;border-radius:var(--radius-pill);padding:2px 9px}.hwrev-sq{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:600;border:1px solid rgba(255,255,255,.7);background:transparent;color:transparent;transition:transform .15s,border-color .15s,background .15s}.hwrev-sq.is-clickable{cursor:pointer;padding:0}.hwrev-sq.is-clickable:hover{transform:scale(1.14)}.hwrev-sq.is-clickable:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.hwrev-sq.is-empty{background:transparent}.hwrev-sq.is-submitted{background:#8b8b9652;color:var(--text-primary)}.hwrev-sq.is-rework{background:#ffd60a99;color:#2a2400}.hwrev-sq.is-approved{background:#3fb950b3;color:#06260f}.hwrev-legend .hwrev-sq{width:16px;height:16px}@media (max-width: 560px){.hwup-actions{justify-content:stretch}.hwup-actions>button{flex:1}}.call-card{display:flex;align-items:flex-start;gap:18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px}.call-card-date{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:54px}.call-card-day{font-family:var(--font-syne);font-size:26px;font-weight:800;color:#ffb870;line-height:1}.call-card-month{font-size:10.5px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;text-align:center}.call-card-body{min-width:0}.call-card-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.call-card-topic{font-size:12px;color:var(--text-secondary);margin-top:5px;line-height:1.5}.call-card-video{display:block;margin-top:10px;font-size:11.5px;font-weight:700;color:var(--accent-lime);text-decoration:underline}.call-card-video+.call-card-video{margin-top:6px}.call-session-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.call-session-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.call-session-name{font-family:var(--font-syne);font-size:14px;font-weight:700;color:var(--text-primary)}.call-session-hint{font-size:12.5px;color:var(--text-secondary);margin-top:3px;line-height:1.5}.call-warning{margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-md);background:#ff8c4214;border:1px solid rgba(255,140,66,.3);font-size:13px;color:var(--text-secondary);line-height:1.6}.call-status{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:10px 14px;border-radius:var(--radius-md);font-size:13px;line-height:1.5;font-weight:600}.call-status.is-busy{background:#ffd60a14;border:1px solid rgba(255,214,10,.3);color:var(--accent-lime)}.call-status.is-success{background:var(--success-dim);border:1px solid rgba(63,185,80,.4);color:#7ee787;animation:slideUp .25s ease}.call-status-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0;background:#3fb95040;font-size:11px;font-weight:700}.call-spinner{display:inline-block;width:13px;height:13px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:callSpin .7s linear infinite}@keyframes callSpin{to{transform:rotate(360deg)}}.call-slot-btn.is-pending{background:#ffd60a1a;border-color:#ffd60a8c;color:var(--accent-lime);cursor:progress}.call-slot-btn.is-pending .call-slot-note{display:inline-flex;align-items:center;gap:6px;color:var(--accent-lime)}.call-slot-btn.is-dimmed{opacity:.4;cursor:default}.call-slot-btn.is-just-done{animation:callPop .45s ease}@keyframes callPop{0%{transform:scale(1);box-shadow:0 0 #3fb95080}45%{transform:scale(1.04);box-shadow:0 0 0 7px #3fb95000}to{transform:scale(1);box-shadow:0 0 #3fb95000}}@media (prefers-reduced-motion: reduce){.call-spinner{animation-duration:1.6s}.call-slot-btn.is-just-done{animation:none}}.call-empty-note{font-size:13px;color:var(--text-tertiary)}.call-day-block{border-top:1px solid var(--border-color);padding-top:12px;margin-top:12px}.call-day-block:first-of-type{border-top:none;padding-top:0;margin-top:0}.call-day-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:9px}.call-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.call-slot-btn{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;text-align:left;font-family:var(--font-inter);transition:border-color .15s,background .15s,color .15s}.call-slot-btn:hover:not(:disabled):not(.is-taken){border-color:#ffd60a8c;color:var(--text-primary)}.call-slot-btn:disabled{opacity:.6;cursor:default}.call-slot-time{font-family:var(--font-mono);font-size:12.5px;font-weight:600}.call-slot-note{font-size:11px;color:var(--text-tertiary)}.call-slot-btn.is-taken{background:#ffffff05;border-color:var(--border-color);color:var(--text-tertiary);cursor:not-allowed}.call-slot-btn.is-taken .call-slot-note{color:var(--text-tertiary)}.call-slot-btn.is-mine{background:#3fb9501f;border-color:#3fb95080;color:#7ee787}.call-slot-btn.is-mine .call-slot-note{color:#7ee787cc}@media (max-width: 480px){.call-slots{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}}.viz{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius-md);background:var(--bg-primary);border:1px solid var(--border-color)}.viz-title{font-family:var(--font-syne);font-size:12px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.viz-caption{margin-top:12px;font-size:12.5px;color:var(--text-tertiary);line-height:1.6}.viz-row{display:flex;flex-wrap:wrap;gap:6px}.viz-cell-wrap{display:flex;flex-direction:column;align-items:center}.viz-cell{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border-radius:8px;border:1.5px solid var(--border-color);background:var(--bg-tertiary);font-family:var(--font-mono);font-size:14px;font-weight:600;transition:background .2s ease,border-color .2s ease}.viz-cell-index{margin-top:3px;font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono)}.viz-cell-pointer{min-height:16px;margin-top:2px;font-size:11px;font-weight:700;font-family:var(--font-mono);color:#ffb870;white-space:nowrap}.viz-steps{display:flex;flex-direction:column;gap:14px}.viz-step{display:flex;flex-direction:column;gap:4px}.viz-step-head{display:flex;align-items:center;gap:8px}.viz-step-num{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.viz-step-note{font-size:12.5px;color:var(--text-secondary);line-height:1.6}.viz-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px}.viz-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary)}.viz-legend-dot{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--border-color);display:block}.viz-bars{display:flex;flex-direction:column;gap:8px}.viz-bar-row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:10px}.viz-bar-label{font-family:var(--font-mono);font-size:12.5px;color:var(--text-primary)}.viz-bar-track{height:16px;border-radius:8px;background:var(--bg-tertiary);overflow:hidden}.viz-bar-fill{height:100%;border-radius:8px}.viz-bar-value{font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono);white-space:nowrap}.viz-tree{display:flex;flex-direction:column;align-items:center;gap:2px}.viz-tree-level{display:flex;flex-direction:column;align-items:center;width:100%}.viz-tree-arrows{color:var(--text-tertiary);font-size:14px;line-height:1.2}.viz-tree-nodes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.viz-tree-node{padding:7px 12px;border-radius:8px;border:1.5px solid var(--border-color);background:var(--bg-tertiary);font-family:var(--font-mono);font-size:12.5px;font-weight:600}.viz-grid-scroll{overflow-x:auto}.viz-grid{border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px}.viz-grid th,.viz-grid td{border:1px solid var(--border-color);padding:6px 10px;text-align:center;color:var(--text-secondary);white-space:nowrap}.viz-grid th{color:#ffb870;font-weight:700;background:var(--bg-tertiary)}.viz-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.viz-flow-item{display:flex;align-items:center;gap:8px}.viz-flow-node{padding:10px 14px;border-radius:10px;border:1.5px solid var(--border-color);background:var(--bg-tertiary);min-width:120px}.viz-flow-title{font-family:var(--font-syne);font-size:12.5px;font-weight:700;color:var(--text-primary)}.viz-flow-text{margin-top:3px;font-size:12px;color:var(--text-secondary);line-height:1.5}.viz-flow-arrow{color:var(--text-tertiary);font-size:16px}@media (max-width: 480px){.viz{padding:12px}.viz-cell{min-width:34px;height:34px;font-size:12.5px;padding:0 5px}.viz-row{gap:4px}.viz-bar-row{grid-template-columns:74px 1fr}.viz-bar-value{grid-column:2;margin-top:-4px}.viz-flow,.viz-flow-item{width:100%}.viz-flow-node{flex:1}}.week-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.week-level-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease,transform .2s ease}.week-level-card:hover{border-color:#ff8c4280;background:#ff8c420f;transform:translateY(-2px)}.week-level-card.is-active{border-color:#ff8c42b3;background:#ff8c421a}.week-level-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}.week-level-num{font-family:var(--font-syne);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffb870}.week-level-title{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary)}.week-level-subtitle{font-size:12px;color:var(--text-tertiary)}.week-level-goal{margin-top:6px;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.5}.week-level-detail{font-size:12.5px;color:var(--text-secondary);line-height:1.55}.week-level-count{margin-top:auto;padding-top:10px;font-size:11.5px;font-weight:700;font-family:var(--font-syne);color:var(--text-tertiary)}@media (max-width: 768px){.week-levels{grid-template-columns:1fr}}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash-col{display:flex;flex-direction:column;gap:16px}.news-card{background:transparent;border:none;border-radius:var(--radius-md);padding:0;margin-bottom:12px}.news-card:last-child{margin-bottom:0}.news-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px}.news-card-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.news-card-date{font-size:11px;color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.news-card-text{font-size:13px;color:var(--text-secondary);line-height:1.6}.notes-area{width:100%;min-height:130px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-inter);font-size:13px;padding:12px;resize:vertical;outline:none;line-height:1.6;transition:border-color .2s,background .2s}.notes-area:focus{border-color:#ffd60a66;background:var(--bg-secondary)}.notes-area::placeholder{color:var(--text-tertiary)}.today-block{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:8px;text-decoration:none;transition:border-color .15s}.today-block:hover{border-color:#ffd60a4d}.today-block:last-child{margin-bottom:0}.today-block-icon{font-size:22px;flex-shrink:0}.today-block-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.today-block-link{font-size:13px;color:var(--accent-lime);font-weight:600}.today-block-text{font-size:13px;color:var(--text-primary)}.dash-nav-link{font-size:13px;color:var(--accent-lime);font-weight:600;cursor:pointer}.dash-nav-link:hover{opacity:.75}.event-mini{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-color)}.event-mini:last-child{border-bottom:none;padding-bottom:0}.event-mini-day{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--accent-lime);min-width:48px;flex-shrink:0}.event-mini-title{flex:1;font-size:13px;color:var(--text-primary);line-height:1.3}.timer-display{font-family:var(--font-syne);font-size:42px;font-weight:700;color:var(--accent-lime);text-align:center;letter-spacing:.02em;padding:16px 0}.timer-done{color:var(--danger);font-size:24px}.timer-setup{display:flex;align-items:center;gap:6px;justify-content:center;padding:12px 0}.timer-setup input{width:60px;text-align:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-syne);font-size:20px;font-weight:700;padding:8px 4px;outline:none;transition:border-color .15s}.timer-setup input:focus{border-color:var(--accent-lime)}.timer-setup span{font-size:12px;color:var(--text-tertiary)}.timer-setup input::-webkit-inner-spin-button{display:none}.timer-btns{display:flex;gap:8px;justify-content:center}.timer-btn-start{background:var(--accent-ink);color:var(--on-accent);border:none;border-radius:var(--radius-sm);padding:8px 24px;font-weight:700;font-size:13px;cursor:pointer;transition:opacity .15s}.timer-btn-start:disabled{opacity:.4;cursor:default}.timer-btn-pause,.timer-btn-reset{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);padding:8px 18px;font-size:13px;cursor:pointer;transition:border-color .15s}.timer-btn-pause:hover,.timer-btn-reset:hover{border-color:var(--accent-lime);color:var(--accent-lime)}.lib-day{display:flex;align-items:center;gap:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:13px 16px;margin-bottom:6px;cursor:pointer;transition:border-color .2s}.lib-day:hover{border-color:#ffd60a4d}.lib-day--locked{opacity:.45;cursor:default;pointer-events:none}.lib-day-stripe{width:3px;border-radius:2px;align-self:stretch;min-height:28px;flex-shrink:0}.lib-day-info{flex:1;min-width:0}.lib-day-date{font-size:11px;color:var(--text-tertiary);margin-bottom:2px}.lib-day-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3}.lib-day-arrow{font-size:14px;color:var(--text-tertiary);flex-shrink:0}.lib-tab--locked{opacity:.45;cursor:default!important}.mat-links{display:flex;flex-direction:column;gap:6px}.mat-link{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;transition:border-color .15s}.mat-link:hover{border-color:#ffd60a59}.mat-link-title{font-size:14px;font-weight:500;color:var(--text-primary)}.mat-link-arrow{font-size:14px;color:var(--accent-lime);flex-shrink:0}.logout-confirm{padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.logout-confirm-text{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.logout-confirm-btns{display:flex;gap:8px}.logout-btn-yes{flex:1;padding:7px 0;border-radius:var(--radius-md);border:none;cursor:pointer;background:#e14b4b1f;color:#c62828;font-size:13px;font-weight:600;transition:background .15s}.logout-btn-yes:hover{background:#e14b4b33}.logout-btn-no{flex:1;padding:7px 0;border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;transition:background .15s}.logout-btn-no:hover{background:var(--bg-secondary)}.sidebar-user{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.sidebar-user-name{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.progress-grid,.profile-layout,.dash-grid,.posts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.profile-info-trophies,.install-grid{grid-template-columns:1fr}.sidebar{transform:translate(calc(-1 * var(--sidebar-width)))}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-hover)}.sidebar-close-btn{display:flex}.app-content{margin-left:0;width:100%}.top-bar{display:flex}.pages-wrap{padding:16px}.stats-grid{gap:10px}.stat-value{font-size:22px}.library-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px}.lib-tab{white-space:nowrap;padding:10px 14px;font-size:13px}.days-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.event-card{flex-wrap:wrap;gap:8px}.event-time-col{flex-direction:row;align-items:baseline;gap:6px;min-width:unset;width:100%}.event-stripe{display:none}.event-body{width:100%}.sched-day-header{gap:8px;padding:11px 12px;flex-wrap:wrap}.sched-day-meta{min-width:unset;flex-direction:row;align-items:center;gap:6px;order:-1}.sched-day-title{font-size:13px;width:100%;order:1}.sched-chevron{margin-left:auto}.community-grid{grid-template-columns:1fr}.leader-row{padding:10px 12px;gap:10px}.leader-rank{font-size:14px;min-width:20px}.page-title{font-size:22px}.page-subtitle{font-size:13px}.profile-card{padding:24px 20px}}@media (max-width: 480px){.pages-wrap{padding:12px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px}.stat-value{font-size:20px}.days-grid{grid-template-columns:repeat(2,1fr)}.day-card{padding:10px}.day-card-title{font-size:12px}.filter-btn{font-size:12px;padding:6px 12px}.sched-day-header{flex-wrap:wrap;padding:12px;gap:8px}.sched-day-stripe{display:none}.sched-day-meta{order:1;width:100%;flex-basis:100%}.sched-day-title{order:2;width:100%;flex-basis:100%;margin-top:4px}.sched-day-header>div:last-child{order:3;width:100%;flex-basis:100%}.task-card{padding:12px}.skill-name{min-width:90px;font-size:11px}.leader-avatar{width:28px;height:28px;font-size:10px}.leader-pts{font-size:16px}.login-card{padding:28px 18px}}.theory-file-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:#ffd60a1a;color:var(--accent-lime);font-size:16px;padding:0;transition:all .2s ease;flex-shrink:0;pointer-events:auto}.theory-file-btn:hover{background:#ffd60a2e;transform:scale(1.05)}.theory-file-btn:active{transform:scale(.95)}.theory-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:20px}.breadcrumb-link{color:var(--accent-lime);font-size:13px;font-weight:600;background:none;padding:0;cursor:pointer;transition:color .2s ease}.breadcrumb-link:hover{color:var(--accent-lime)}.breadcrumb-sep{color:var(--text-tertiary);font-size:12px}.breadcrumb-current{color:var(--text-secondary);font-size:13px}.theory-container{width:100%;line-height:1.75;display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.theory-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 32px;min-width:0}.theory-section>:last-child{margin-bottom:0}.theory-container>.theory-section:first-child{background:radial-gradient(640px 220px at 100% 0%,rgba(255,214,10,.1),transparent 70%),var(--bg-secondary);padding:32px}.theory-section--extra{margin-top:16px}.theory-section--closing{text-align:center}.theory-section p{color:var(--text-secondary);font-size:15px;line-height:1.75;margin:0 0 14px}.theory-section p strong,.theory-section li strong{color:var(--text-primary)}.theory-section code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:1px 6px;color:var(--text-primary)}.theory-section pre code{background:none;border:none;padding:0}.theory-section a:not(.theory-pill){color:var(--accent-lime);text-decoration:underline;text-decoration-color:#ffd60a66;text-underline-offset:3px}.theory-title{font-family:var(--font-syne);font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.2;color:var(--text-primary);margin:0 0 14px;letter-spacing:-.5px;text-wrap:balance}.theory-subtitle{font-family:var(--font-syne);font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.theory-date{display:none}.theory-heading-2{font-family:var(--font-syne);font-size:20px;font-weight:700;line-height:1.3;color:var(--text-primary);margin:0 0 16px;letter-spacing:-.3px;text-wrap:balance}.theory-heading-2--centered{text-align:left}.theory-heading-3{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary);margin:22px 0 10px}.theory-text,.theory-intro{color:var(--text-secondary);font-size:15px;line-height:1.75;margin:0 0 14px}.theory-mt{margin-top:20px}.theory-highlight{background:#ffd60a12;border:1px solid rgba(255,214,10,.25);padding:14px 18px;border-radius:var(--radius-md);color:var(--text-primary);font-size:14.5px;margin:16px 0;line-height:1.7}.theory-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 18px;margin-bottom:14px}.theory-card-item{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.theory-card-item:last-child{margin-bottom:0}.theory-label{color:var(--accent-lime);font-weight:700;font-size:13px}.theory-list{list-style:none;padding:0;margin:0 0 14px}.theory-list-item{color:var(--text-secondary);font-size:15px;margin-bottom:8px;padding-left:20px;position:relative;line-height:1.7}.theory-list-item:before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--accent-lime)}.theory-steps{counter-reset:step;list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:10px}.theory-steps>li{counter-increment:step;position:relative;padding-left:40px;color:var(--text-secondary);font-size:15px;line-height:1.7}.theory-steps>li:before{content:counter(step);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-lime);color:#101014;font:800 12px var(--font-syne)}.theory-subsection{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.theory-subsection:first-child{margin-top:0;padding-top:0;border-top:none}.theory-closing-text{color:var(--accent-lime);font-family:var(--font-syne);font-size:18px;font-weight:700;margin:0;letter-spacing:-.3px}.theory-pill{display:inline-flex;align-items:center;gap:6px;background:#ffd60a1a;border:1px solid rgba(255,214,10,.4);color:var(--accent-lime);font-weight:700;font-size:13.5px;padding:8px 16px;border-radius:var(--radius-pill);text-decoration:none;white-space:nowrap;transition:background .15s}.theory-pill:hover{background:#ffd60a33}.breadcrumb-current.is-last{color:var(--text-primary);font-weight:600}@media (max-width: 768px){.theory-section,.theory-container>.theory-section:first-child{padding:20px 18px;border-radius:var(--radius-md)}.theory-section p,.theory-text,.theory-intro,.theory-list-item,.theory-steps>li{font-size:14.5px}}.btn-back{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:14px;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 18px;cursor:pointer;transition:all .2s ease;margin-top:24px}.btn-back:hover{border-color:var(--accent-lime);color:var(--accent-lime);transform:translate(-2px)}.btn-back:active{transform:translate(-1px)}.theory-footer{display:flex;justify-content:flex-start;margin-top:8px}.theory-table-wrapper{overflow-x:auto;margin:18px 0;border-radius:var(--radius-md);border:1px solid var(--border-color)}.theory-table{width:100%;border-collapse:collapse;font-size:13.5px}.theory-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:700;padding:12px 16px;text-align:left;border-bottom:2px solid var(--border-color);font-family:var(--font-syne)}.theory-table td{color:var(--text-secondary);padding:12px 16px;border-bottom:1px solid var(--border-color)}.theory-table tr:last-child td{border-bottom:none}.theory-table tr:hover{background:#ffd60a0a}.theory-code-block{position:relative;margin:20px 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-tertiary)}.theory-code-label{background:#ffd60a1a;color:var(--accent-lime);padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--border-color);display:inline-block}.theory-code{color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.5;margin:0;padding:16px;overflow-x:auto}.theory-code code{display:block}.theory-example{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 18px;margin:18px 0}.theory-example-title{color:var(--accent-lime);font-weight:700;font-size:13px;margin-bottom:12px}.theory-example-content{color:var(--text-secondary);font-size:14px;line-height:1.7}.theory-example-content p{margin:0 0 8px}.theory-example-content ul{margin:8px 0;padding-left:20px}.theory-example-content li{margin-bottom:4px;color:var(--text-secondary)}.questions-container{width:100%;padding:20px 0}.questions-header{margin-bottom:32px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.questions-title{font-family:var(--font-syne);font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.task-indicators{display:flex;gap:8px;flex-wrap:wrap}.task-indicator{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary);transition:all .3s ease;cursor:pointer}.task-indicator:hover{border-color:var(--accent-lime);color:var(--accent-lime)}.task-indicator.correct{background:var(--success);color:#08080a;border-color:var(--success)}.task-indicator.incorrect{background:var(--danger);color:#08080a;border-color:var(--danger)}.task-indicator.active{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-lime)}.single-question-view{display:flex;flex-direction:column;gap:24px}.question-card-wrapper{animation:fadeInQuestion .3s ease}.question-card-wrapper.switching{opacity:0;animation:switchQuestion .2s ease forwards}@keyframes switchQuestion{0%{opacity:0;background:linear-gradient(90deg,transparent,rgba(255,214,10,.12),transparent);background-position:-1000px 0}50%{opacity:.5;background:linear-gradient(90deg,transparent,rgba(255,214,10,.22),transparent);background-position:0 0}to{opacity:1;background:linear-gradient(90deg,transparent,rgba(255,214,10,.12),transparent);background-position:1000px 0}}@keyframes fadeInQuestion{0%{opacity:0}to{opacity:1}}.question-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.nav-btn{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-btn:hover:not(:disabled){border-color:var(--accent-lime);color:var(--accent-lime)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-counter{font-size:13px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.questions-list{display:flex;flex-direction:column;gap:20px}.question-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:24px;transition:border-color .3s ease}.question-card:hover{border-color:#ffd60a40}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.question-number{font-size:13px;font-weight:700;color:var(--text-secondary)}.question-difficulty{font-size:12px;font-weight:600;padding:4px 10px;border-radius:var(--radius-md);background:#ffd60a1a;color:var(--accent-lime)}.question-text{font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:16px;line-height:1.6}.question-input-group{margin-bottom:16px}.question-input{width:100%;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;transition:all .3s ease;font-family:var(--font-inter)}.question-input:focus{outline:none;border-color:var(--accent-lime);background:var(--bg-secondary);box-shadow:0 0 0 2px #ffd60a24}.question-input:disabled{opacity:.6;cursor:not-allowed}.question-input.answered{border-color:var(--accent-lime);background:#ffd60a0f}.question-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.question-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;outline:none}.question-option:hover{border-color:var(--accent-lime);background:#ffd60a0d}.question-option:focus,.question-option:focus-within,.question-option:focus-visible{outline:none;box-shadow:none}.question-option.answered{border-color:var(--accent-lime);background:#ffd60a0f}.question-option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-lime);outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}.question-option input[type=radio]:focus,.question-option input[type=radio]:focus-visible,.question-option input[type=radio]:active{outline:none!important;box-shadow:none!important}.question-option input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.option-text{color:var(--text-primary);font-size:14px;flex:1}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.question-actions-left{display:flex;gap:8px}.btn-hint,.btn-check,.btn-clear{width:max-content;padding:10px 18px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-hint:hover:not(:disabled),.btn-clear:hover:not(:disabled){border-color:var(--accent-lime);color:var(--accent-lime)}.btn-check{color:var(--accent-lime);border-color:var(--accent-lime)}.btn-check:hover:not(:disabled){background:#ffd60a1a}.btn-check.checking{animation:pulse .8s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn-hint:disabled,.btn-check:disabled,.btn-clear:disabled{opacity:.5;cursor:not-allowed}.question-hint{background:#ffd60a0d;border:1px solid rgba(255,214,10,.2);border-radius:var(--radius-md);padding:12px 16px;font-size:13px;color:var(--text-secondary);margin-top:12px;line-height:1.6}.question-hint strong{color:var(--accent-lime)}@media (max-width: 768px){.questions-container{padding:16px 0}.questions-title{font-size:22px}.question-card{padding:16px}.question-actions{flex-direction:column}.btn-hint,.btn-check,.btn-clear{width:100%}.task-indicators{gap:6px}.task-indicator{width:36px;height:36px;font-size:12px}.question-navigation{flex-direction:column;gap:12px}.nav-btn{width:100%}.nav-counter{width:100%;text-align:center}}@media (max-width: 768px){.theory-title{font-size:24px}.theory-subtitle{font-size:16px}.theory-heading-2{font-size:18px}.theory-heading-3{font-size:14px}.theory-section{margin-bottom:32px;padding-bottom:24px}}@media (max-width: 480px){.theory-breadcrumbs{font-size:12px;margin-bottom:20px}.breadcrumb-link{font-size:12px}.theory-title{font-size:20px}.theory-subtitle{font-size:14px}.theory-heading-2{font-size:16px}.theory-heading-3,.theory-text,.theory-intro,.theory-list-item{font-size:13px}.theory-section{margin-bottom:24px;padding-bottom:16px}.theory-card{padding:12px}.theory-highlight{padding:10px 12px;font-size:13px}}.reels-page{--reels-chrome: 56px;height:calc(100dvh - var(--reels-chrome));display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.reels-stage{display:flex;align-items:center;justify-content:center;gap:20px;height:100%}.reels-box{position:relative;height:100%;width:auto;aspect-ratio:9 / 16;max-width:100%;border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;background:var(--bg-secondary);box-shadow:var(--shadow-hover);touch-action:none;overscroll-behavior:contain}.reels-card-still{width:100%;height:100%}.reels-slide-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .38s cubic-bezier(.22,.61,.36,1);will-change:transform}.reels-controls{display:flex;flex-direction:column;gap:14px}.reels-nav-btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s,transform .1s}.reels-nav-btn:hover{border-color:#ffd60a80;background:#ffd60a14}.reels-nav-btn:active{transform:scale(.92)}.reels-nav-btn:disabled{opacity:.35;cursor:default}.antireels-fig-wrap svg{max-width:100%;height:auto}body.reels-lock{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;width:100%}@media (max-width: 768px){body.reels-lock .pages-wrap{padding:0}.reels-page{height:calc(100dvh - var(--topbar-height));width:100%}.reels-stage{width:100%;height:100%;gap:0}.reels-box{width:100%;height:100%;aspect-ratio:auto;border-radius:var(--radius-md);border-left:none;border-right:none;box-shadow:none}}.w5-intro{margin-bottom:16px}.w5-intro-text{margin:0;font-size:13.5px;color:var(--text-secondary);line-height:1.7}.w5-total{margin-top:18px}.w5-total-bar{height:8px;border-radius:99px;overflow:hidden;background:#ffffff0f}.w5-total-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#ff8c42,#ffb870);transition:width .35s ease}.w5-total-legend{display:flex;justify-content:space-between;gap:12px;margin-top:9px;font-size:12px;color:var(--text-tertiary)}.w5-total-legend b{color:var(--text-primary);font-size:13px}.w5-total-left{color:#ffb870}.w5-sections{display:flex;flex-direction:column;gap:10px}.w5-section{background:var(--bg-elevated, #16161b);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:14px;overflow:hidden}.w5-section.is-open{border-color:#ff8c4252}.w5-head{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit}.w5-head:hover{background:#ffffff05}.w5-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.w5-head-title{font-family:var(--font-syne);font-size:14.5px;font-weight:700;color:var(--text-primary)}.w5-head-sub{font-size:12px;color:var(--text-tertiary);line-height:1.55}.w5-head-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.w5-count{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);white-space:nowrap}.w5-chevron{font-size:12px;color:var(--text-tertiary);transition:transform .25s ease}.w5-section.is-open .w5-chevron{transform:rotate(180deg);color:#ffb870}.w5-ring{--pct: 0%;width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:conic-gradient(#FF8C42 var(--pct),rgba(255,255,255,.08) 0);transition:background .35s ease}.w5-ring-inner{width:32px;height:32px;border-radius:50%;background:var(--bg-elevated, #16161b);display:grid;place-items:center;font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:var(--text-secondary)}.w5-ring-sign{font-size:7.5px;opacity:.6}.w5-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.w5-section.is-open .w5-body{grid-template-rows:1fr}.w5-body-inner{overflow:hidden}.w5-list{list-style:none;margin:0;padding:0 18px 6px}.w5-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.w5-check{width:20px;height:20px;flex-shrink:0;margin-top:2px;border-radius:6px;cursor:pointer;border:1.5px solid rgba(255,255,255,.22);background:transparent;display:grid;place-items:center;transition:background .18s ease,border-color .18s ease}.w5-check:hover{border-color:#ff8c42}.w5-item.is-done .w5-check{background:#ff8c42;border-color:#ff8c42}.w5-tick{font-size:11px;font-weight:700;color:#0f0f12;line-height:1}.w5-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.w5-item-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:600;color:var(--text-primary)}.w5-item.is-done .w5-item-title{color:var(--text-tertiary)}.w5-item-num{font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:#ff8c42b3}.w5-item-must{font-size:12.5px;color:var(--text-secondary);line-height:1.6}.w5-item.is-done .w5-item-must{opacity:.55}.w5-open{flex-shrink:0;align-self:center;text-decoration:none;font-size:11.5px;font-weight:700;color:#ffb870;padding:6px 12px;border-radius:8px;border:1px solid rgba(255,140,66,.28);background:#ff8c4214;transition:background .18s ease;white-space:nowrap}.w5-open:hover{background:#ff8c422e}.w5-extra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 18px 16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.w5-extra-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.w5-extra-link{font-size:12px;color:var(--text-secondary);text-decoration:none;padding:5px 11px;border-radius:99px;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);transition:color .18s ease,border-color .18s ease}.w5-extra-link:hover{color:#ffb870;border-color:#ff8c4259}.w5-next{margin-top:16px}.w5-next-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.w5-next-card{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:12px;text-decoration:none;background:#ffffff08;border:1px solid rgba(255,255,255,.07);transition:border-color .18s ease,background .18s ease}.w5-next-card:hover{border-color:#ff8c4259;background:#ff8c420f}.w5-next-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.w5-next-note{font-size:11.5px;color:var(--text-tertiary);line-height:1.5}@media (max-width: 768px){.w5-next-list{grid-template-columns:1fr}.w5-head{padding:14px;gap:11px}.w5-head-sub{display:none}.w5-list{padding:0 14px 6px}.w5-extra{margin:4px 14px 14px}.w5-item{flex-wrap:wrap}.w5-open{margin-left:32px;align-self:flex-start}}.mx{font-family:Georgia,Times New Roman,serif;font-style:italic;white-space:nowrap;line-height:1}.mx-display{display:flex;justify-content:center;margin:18px 0;padding:4px 0;font-size:16px;color:var(--text-primary);overflow-x:auto;overflow-y:hidden}.mx-display .mx{white-space:nowrap}.mx-text{font-style:normal;font-family:var(--font-sans, inherit)}.mx-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .22em;font-size:.94em}.mx-num{padding:0 .32em .12em}.mx-den{padding:.14em .32em 0;border-top:1px solid currentColor}.mx-sqrt{display:inline-flex;align-items:stretch;vertical-align:middle}.mx-sqrt-sign{font-size:1.05em;line-height:1}.mx-sqrt-body{border-top:1px solid currentColor;padding:.14em .16em 0 .08em}.mx-sup,.mx-sub{font-size:.68em;font-style:italic}.mx-cases{display:inline-flex;align-items:stretch;gap:8px}.mx-brace{width:9px;flex-shrink:0;border:1.5px solid currentColor;border-right:none;border-radius:7px 0 0 7px}.mx-cases-lines{display:inline-flex;flex-direction:column;gap:9px;justify-content:center}.mx-cases-line{display:block}.mx-mat{display:inline-flex;vertical-align:middle;margin:0 .18em;position:relative;padding:.18em .42em}.mx-mat:before,.mx-mat:after{content:"";position:absolute;top:0;bottom:0;width:.36em;border:1.4px solid currentColor}.mx-mat:before{left:0;border-right:none}.mx-mat:after{right:0;border-left:none}.mx-mat.is-pmatrix:before{border-radius:.6em 0 0 .6em/50% 0 0 50%}.mx-mat.is-pmatrix:after{border-radius:0 .6em .6em 0/0 50% 50% 0}.mx-mat.is-vmatrix:before,.mx-mat.is-vmatrix:after{width:0;border-top:none;border-bottom:none}.mx-mat-grid{display:inline-grid;column-gap:.85em;row-gap:.42em;align-items:center}.mx-mat-cell{text-align:center;font-size:.95em}.mx-mat-cell.is-bar{border-left:1.2px solid currentColor;padding-left:.85em;margin-left:-.42em}.mx-over{display:inline-block;border-top:1.2px solid currentColor;padding-top:1px;line-height:1.1}.mx-vec{position:relative;display:inline-block;padding-top:.32em}.mx-vec:before{content:"";position:absolute;left:.05em;right:0;top:.12em;border-top:1px solid currentColor}.mx-vec:after{content:"";position:absolute;right:-.02em;top:-.02em;border:solid currentColor;border-width:1px 1px 0 0;width:.24em;height:.24em;transform:rotate(45deg)}.mx-xarrow{display:inline-flex;flex-direction:column;align-items:stretch;vertical-align:middle;margin:0 .4em;min-width:2.6em}.mx-xarrow-label{font-size:.66em;text-align:center;padding:0 .3em .15em;white-space:nowrap}.mx-xarrow-line{position:relative;border-top:1px solid currentColor;height:0}.mx-xarrow-line:after{content:"";position:absolute;right:0;top:-.2em;border:solid currentColor;border-width:1px 1px 0 0;width:.36em;height:.36em;transform:rotate(45deg)}.math-back{background:transparent;border:none;color:#ffb870;cursor:pointer;font-size:12.5px;font-weight:700;font-family:var(--font-syne);padding:0;margin-bottom:14px}.math-p{margin:0 0 12px;font-size:13.5px;color:var(--text-secondary);line-height:1.75}.math-p strong{color:var(--text-primary);font-weight:700}.math-p .mx{font-size:14px;color:var(--text-primary)}.math-list{margin:0 0 14px;padding-left:20px;list-style:disc}.math-list li::marker{color:#ff8c42b3}.math-list li{font-size:13.5px;color:var(--text-secondary);line-height:1.75;margin-bottom:7px}.math-list li strong{color:var(--text-primary)}.math-list .mx{font-size:14px;color:var(--text-primary)}.math-note{margin:16px 0;padding:13px 15px;border-radius:10px;background:#ff8c4212;border:1px solid rgba(255,140,66,.2)}.math-note-label{display:block;margin-bottom:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffb870}.math-note .math-p{margin:0}.math-goals-label{margin-top:18px;margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.math-goals{margin:0;padding-left:20px;list-style:disc}.math-goals li::marker{color:#ff8c42b3}.math-goals li{font-size:13px;color:var(--text-secondary);line-height:1.7;margin-bottom:5px}.math-toc{margin-bottom:18px}.math-toc-list{margin:0;padding-left:20px;list-style:decimal}.math-toc-list li::marker{color:#ff8c42b3;font-weight:700}.math-toc-list li{margin-bottom:7px}.math-toc-list a{font-size:13px;color:var(--text-secondary);text-decoration:none;transition:color .18s ease}.math-toc-list a:hover{color:#ffb870}.math-section{margin-bottom:16px;scroll-margin-top:20px}.math-section-title{display:flex;align-items:center;gap:11px;margin:0 0 16px;font-family:var(--font-syne);font-size:15.5px;font-weight:700;color:var(--text-primary);line-height:1.4}.math-section-num{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#ff8c4224;color:#ffb870;font-family:var(--font-mono);font-size:12px;font-weight:700}.math-task{margin-top:16px;padding:15px 16px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.math-task.is-open{border-color:#ff8c4247}.math-task-head{margin-bottom:8px}.math-task-num{font-family:var(--font-syne);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffb870}.math-task .math-p:last-of-type{margin-bottom:0}.math-task-toggle{margin-top:12px;padding:7px 14px;border-radius:8px;cursor:pointer;font-family:var(--font-syne);font-size:11.5px;font-weight:700;color:#ffb870;background:#ff8c4214;border:1px solid rgba(255,140,66,.28);transition:background .18s ease}.math-task-toggle:hover{background:#ff8c422e}.math-task-solution{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.math-task.is-open .math-task-solution{grid-template-rows:1fr}.math-task-solution-inner{overflow:hidden}.math-task.is-open .math-task-solution-inner{padding-top:14px}.math-solution-label{display:block;margin-bottom:8px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.math-outro{margin-top:18px}.math-hw-meta{margin-bottom:10px}.math-hw-count{font-family:var(--font-mono);font-size:11.5px;color:#ffb870;letter-spacing:.03em}.math-hw-part{margin-bottom:16px}.math-hw-hint{margin:0 0 14px;font-size:12.5px;color:var(--text-tertiary);line-height:1.65}.math-hw-list{list-style:none;margin:0;padding:0}.math-hw-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}.math-hw-item:first-child{border-top:none}.math-hw-num{flex-shrink:0;padding-top:3px;min-width:22px;font-family:var(--font-mono);font-size:12px;font-weight:700;color:#ff8c42bf}.math-hw-body{flex:1;min-width:0}.math-hw-text{display:block;font-size:13.5px;color:var(--text-secondary);line-height:1.75;padding-top:1px}.math-hw-text .mx{font-size:14px;color:var(--text-primary)}.math-hw-body .mx-display{margin:4px 0;justify-content:flex-start}.math-chat{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px;border-radius:12px;text-decoration:none;background:#ff8c4212;border:1px solid rgba(255,140,66,.22);transition:background .18s ease,border-color .18s ease}.math-chat:hover{background:#ff8c4221;border-color:#ff8c4266}.math-chat-icon{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#ff8c422e;color:#ffb870;font-size:13px;font-weight:700}.math-chat-text{display:flex;flex-direction:column;gap:4px;min-width:0}.math-chat-title{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.math-chat-note{font-size:11.5px;color:var(--text-tertiary);line-height:1.55}.math-link{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;text-decoration:none;font-size:11.5px;font-weight:700;color:#ffb870;background:#ff8c421a;border:1px solid rgba(255,140,66,.3);transition:background .18s ease}.math-link:hover{background:#ff8c4233}.math-link.is-external:after{content:"↗";font-size:10px;opacity:.8}@media (max-width: 768px){.mx-display{font-size:14.5px;justify-content:flex-start}.math-section-title{font-size:14.5px;gap:9px}.math-task{padding:13px 14px}.math-chat{padding:12px 14px}}.camp-page{container:camp / inline-size}.camp-layout{display:flex;flex-direction:column;gap:28px}.camp-main,.camp-side{display:contents}.camp-block.is-progress{order:1}.camp-block.is-materials{order:2}.camp-block.is-review{order:4}.camp-block.is-booking{order:5}.camp-block.is-calls{order:6}@container camp (min-width: 1000px){.camp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:24px;align-items:start}.camp-main,.camp-side{display:flex;flex-direction:column;gap:28px;min-width:0}}.camp-block{container:camp-block / inline-size;min-width:0}.camp-block-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 12px;min-height:28px;margin-bottom:14px}.camp-block-title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.camp-progress{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:16px 16px}.camp-progress-row{display:contents}.camp-progress-month{font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.camp-progress-bar{height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-color)}.camp-progress-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,#ff8c42,#ffc107);transition:width .3s ease}.wk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wk-month{min-width:0}.wk-month-label{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.wk-list{display:flex;flex-direction:column;gap:6px}.wk{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"name now side" "range range side";align-items:center;column-gap:8px;row-gap:2px;width:100%;min-height:50px;padding:8px 12px;text-align:left;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-inter);color:inherit;transition:border-color .15s,background .15s}.wk:hover:not(:disabled){border-color:#ff8c4280}.wk:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.wk-name{grid-area:name;white-space:nowrap;font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.wk-range{grid-area:range;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;color:var(--text-tertiary)}.wk-range-short{display:none}.wk-now{grid-area:now;justify-self:start;font-family:var(--font-syne);font-size:9.5px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.03em;background:#ff8c4226;border:1px solid rgba(255,140,66,.4);border-radius:var(--radius-pill);padding:2px 7px}.wk-arrow{grid-area:side;color:#ffb870;font-size:16px;line-height:1}.wk-lock{grid-area:side;color:var(--text-tertiary);display:flex}.wk.is-current{border-color:#ff8c428c;background:#ff8c4214}.wk.is-active{border-color:#ff8c42b3;background:#ff8c421a}.wk.is-active .wk-name{color:#ffb870}.wk.is-locked{cursor:not-allowed;background:#ffffff05}.wk.is-locked .wk-name{color:var(--text-tertiary);font-weight:600}.wk.is-locked .wk-range{color:#6b6b78}@container camp-block (max-width: 519px){.wk-grid{grid-template-columns:1fr;gap:14px}.wk-month-label{margin-bottom:6px}.wk-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.wk{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:8px 2px;text-align:center}.wk-word,.wk-range-full,.wk-arrow,.wk-now{display:none}.wk-range-short{display:inline}.wk-name{font-size:16px;line-height:1}.wk-range{font-size:10.5px;overflow:visible}.wk-lock{position:absolute;top:4px;right:4px}.wk-lock svg{width:10px;height:10px}.wk.is-current{background:#ff8c4233;border-color:#ff8c42}.wk.is-current .wk-name{color:#ffb870}}.wk-month{display:flex;flex-direction:column}.wk-program{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;border-radius:var(--radius-md);background:linear-gradient(160deg,#ff8c4229,#ffc1070d);border:1px solid rgba(255,140,66,.45)}.wk-program.is-pending{background:var(--bg-tertiary);border-color:var(--border-color)}.wk-program-tag{font-family:var(--font-syne);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffb870;background:#ff8c4226;border:1px solid rgba(255,140,66,.4);border-radius:var(--radius-pill);padding:3px 9px}.wk-program-title{font-family:var(--font-syne);font-size:14px;font-weight:700;line-height:1.25;color:var(--text-primary);text-wrap:balance}.wk-program-range{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.wk-program-sub{font-size:12.5px;color:var(--text-tertiary)}.wk-program-open{display:inline-flex;align-items:center;gap:6px;margin-top:2px;background:#ff8c42;color:#101014;border:none;border-radius:var(--radius-pill);padding:6px 12px;font:700 12px var(--font-syne);cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}.wk-program-open:hover{background:#ffa466;transform:translateY(-1px)}.wk-program-open:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.wk-program-note{margin-top:auto;padding-top:2px;font-size:11px;line-height:1.45;color:var(--text-tertiary)}.wk-program-note a{color:#ffb870;font-weight:600;text-decoration:underline;text-underline-offset:2px}.calls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}@media (pointer: coarse){.camp-page .hw-submit-btn{height:34px}.camp-page .calls-tab{min-height:36px}.camp-page .hwrev-matrix{--sq: 30px}}.call-empty-link{color:#ffb870;font-weight:600;text-decoration:underline;text-underline-offset:2px}.call-empty-link:hover{color:#ffd6a8}.hwup-page{container:hwup / inline-size}.hwup-back{background:transparent;border:none;color:#ffb870;cursor:pointer;font-size:12.5px;font-weight:700;font-family:var(--font-syne);padding:0;margin-bottom:14px}.hwup-alert{margin-bottom:16px;color:var(--danger);font-size:13px}.hwup-picker{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.hwup-step{display:flex;flex-direction:column;gap:9px;min-width:0}.hwup-step-label{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.hwup-weeks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.hwup-week,.hwup-level{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:10px 14px;border-radius:var(--radius-md);cursor:pointer;text-align:left;background:var(--bg-tertiary);border:1px solid var(--border-color);font-family:var(--font-inter);transition:border-color .15s,background .15s}.hwup-week:hover,.hwup-level:hover{border-color:#ff8c4280}.hwup-week:focus-visible,.hwup-level:focus-visible,.hwup-chapter:focus-visible,.hwup-side-toggle:focus-visible,.solution-kind:focus-visible,.py-btn:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.hwup-week.is-active,.hwup-level.is-active{background:#ff8c421f;border-color:#ff8c42b3}.hwup-week-name{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-primary)}.hwup-week.is-active .hwup-week-name{color:#ffb870}.hwup-week-range{font-size:11.5px;color:var(--text-tertiary)}.hwup-locked{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-tertiary)}.hwup-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hwup-level{flex-direction:row;align-items:center;gap:10px}.hwup-level-num{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:#ffffff0d;font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-secondary)}.hwup-level.is-active .hwup-level-num{background:#ff8c42;color:#1a0f05}.hwup-level-title{font-size:12.5px;color:var(--text-secondary);line-height:1.35;min-width:0}.hwup-empty{font-size:13.5px;color:var(--text-tertiary);line-height:1.6}.hwup-empty-inline{font-size:13.5px;color:var(--text-tertiary);padding:8px 0}.hwup-layout{display:flex;flex-direction:column;gap:16px}.hwup-side,.hwup-main{min-width:0}.hwup-main{scroll-margin-top:16px}.hwup-side-card{padding:0;overflow:hidden}.hwup-side-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-inter);color:inherit;min-height:56px}.hwup-side-toggle-text{display:flex;flex-direction:column;gap:3px;min-width:0}.hwup-side-current{font-size:13.5px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hwup-chev{color:#ffb870;flex-shrink:0;transition:transform .25s ease}.hwup-chev.is-open{transform:rotate(180deg)}.hwup-side-title{display:none}.hwup-side-list{display:none;border-top:1px solid var(--border-color)}.hwup-side-list.is-open{display:block}.hwup-chapters{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:2px}.hwup-chapter{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"num title" ". sq";column-gap:10px;row-gap:5px;align-items:center;padding:9px 10px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;text-align:left;font-family:var(--font-inter);color:inherit;transition:background .15s,border-color .15s}.hwup-chapter:hover{background:#ffffff08}.hwup-chapter.is-active{background:#ff8c421a;border-color:#ff8c4273}.hwup-chapter-num{grid-area:num;font-family:var(--font-syne);font-size:11.5px;font-weight:700;color:#ffb870;white-space:nowrap}.hwup-chapter-title{grid-area:title;font-size:13px;color:var(--text-secondary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hwup-chapter.is-active .hwup-chapter-title{color:var(--text-primary);font-weight:600}.hwup-chapter .hwup-squares{grid-area:sq}.hwup-squares{display:inline-flex;flex-wrap:wrap;gap:3px}.hwup-sq{width:9px;height:9px;border-radius:3px;flex-shrink:0;border:1px solid rgba(255,255,255,.45);background:transparent}.hwup-sq.is-submitted{background:#8b8b9699;border-color:transparent}.hwup-sq.is-rework{background:#ffd60ad9;border-color:transparent}.hwup-sq.is-approved{background:#3fb950e6;border-color:transparent}@container hwup (min-width: 860px){.hwup-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.hwup-side{position:sticky;top:16px}.hwup-side-toggle{display:none}.hwup-side-title{display:block;padding:14px 16px 8px;font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.hwup-side-list,.hwup-side-list.is-open{display:block;border-top:none;max-height:calc(100vh - 90px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,140,66,.35) transparent}.hwup-chapter{grid-template-areas:"num title" ". sq"}}.hwup-chapter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.hwup-chapter-kicker{font-size:11.5px;color:var(--text-tertiary);margin-bottom:5px}.hwup-chapter-name{margin:0;font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.35}.hwup-progress{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.hwup-progress .hwup-sq{width:12px;height:12px;border-radius:4px}.hwup-progress-text{font-size:11.5px;color:var(--text-tertiary);white-space:nowrap}.hwup-progress-text .is-rework{color:var(--accent-lime);font-weight:600}.hwup-dataset{margin-bottom:22px}@container hwup (max-width: 559px){.hwup-chapter-card{padding:14px}.hwup-task{padding:13px}.hwup-progress{align-items:flex-start}.hwup-levels{grid-template-columns:1fr}.hwup-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}}.hwup-task{scroll-margin-top:16px}.hwup-task.is-rework{border-color:#ffd60a59}.hwup-status.is-sent{background:var(--success-dim);color:#7ee787;animation:hwupSent .35s ease}@keyframes hwupSent{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.hwup-restored{margin-bottom:10px;padding:8px 12px;border-radius:var(--radius-sm);background:#ff8c4214;border:1px solid rgba(255,140,66,.25);font-size:12px;color:#ffb870}.hwup-actions{align-items:center}.hwup-actions-hint{margin-right:auto;font-size:11.5px;color:var(--text-tertiary)}.hwup-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 560px){.hwup-actions-hint{flex-basis:100%;margin-right:0}}.solution-input{display:flex;flex-direction:column;gap:10px;min-width:0}.solution-kinds{display:inline-flex;align-self:flex-start;padding:3px;gap:2px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-pill)}.solution-kind{padding:6px 14px;min-height:32px;border-radius:var(--radius-pill);border:none;cursor:pointer;background:transparent;color:var(--text-tertiary);font-family:var(--font-inter);font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.solution-kind:hover{color:var(--text-primary)}.solution-kind.is-active{background:#ff8c4229;color:#ffb870}.solution-text{width:100%;min-height:130px;resize:none;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-primary);font-family:var(--font-inter);font-size:13.5px;line-height:1.65;outline:none;transition:border-color .2s,box-shadow .2s}.solution-text:focus{border-color:#ff8c4299;box-shadow:0 0 0 3px #ff8c421f}.solution-text::placeholder{color:var(--text-tertiary)}.solution-text.is-readonly{margin:0;min-height:0;white-space:pre-wrap;word-break:break-word}.code-editor{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);overflow:hidden;transition:border-color .2s,box-shadow .2s}.code-editor:focus-within{border-color:#ff8c4299;box-shadow:0 0 0 3px #ff8c421f}.code-editor.is-readonly:focus-within{box-shadow:none}.code-editor-scroll{display:flex;align-items:flex-start;max-height:520px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,140,66,.35) transparent}.code-editor-gutter{position:sticky;left:0;z-index:1;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;min-width:42px;padding:12px 10px 12px 8px;background:var(--bg-secondary);border-right:1px solid var(--border-color);font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;align-self:stretch}.code-editor-input{flex:1;display:block;min-width:0;resize:none;overflow:hidden;padding:12px 14px;margin:0;border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre;-moz-tab-size:4;tab-size:4;caret-color:#ffb870}.code-editor-input::placeholder{color:var(--text-tertiary)}.py-runner{display:flex;flex-direction:column;gap:10px;min-width:0}.py-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.py-btn{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-syne);font-size:12.5px;font-weight:700;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s}.py-btn:disabled{opacity:.5;cursor:not-allowed}.py-btn-run{background:#3fb950;border-color:#3fb950;color:#04210b}.py-btn-run:hover:not(:disabled){background:#56d364;border-color:#56d364}.py-btn-stop{background:#ff5f5f24;border-color:#ff5f5f8c;color:#ff8a8a}.py-btn-stop:hover{background:#ff5f5f3d}.py-btn-ghost:hover:not(:disabled),.py-btn-ghost.is-on{border-color:#ff8c4280;color:#ffb870}.py-note{margin-left:auto;font-size:11px;color:var(--text-tertiary);white-space:nowrap}.py-shortcut{font-family:var(--font-mono)}.py-stdin{display:flex;flex-direction:column;gap:6px}.py-stdin-label{font-size:11.5px;color:var(--text-tertiary)}.py-stdin-label code{font-family:var(--font-mono);color:#ffb870}.py-stdin-input{width:100%;resize:vertical;min-height:64px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text-primary);outline:none;font-family:var(--font-mono);font-size:13px;line-height:1.55}.py-stdin-input:focus{border-color:#ff8c4299}.py-console{border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:#0b0b0e}.py-console.is-error{border-color:#ff5f5f66}.py-console.is-ok{border-color:#3fb95066}.py-console-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.py-console-title{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.py-console-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary);line-height:1.45}.py-console.is-ok .py-console-status{color:#7ee787}.py-console.is-error .py-console-status{color:#ff8a8a}.py-console.is-stopped .py-console-status{color:#ffb870}.py-console-out{margin:0;padding:10px 12px;max-height:280px;overflow:auto;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:#e6e6ea;white-space:pre-wrap;word-break:break-word}.py-out-stderr,.py-out-error{color:#ff8a8a}.py-out-error{display:block;margin-top:4px}.py-console-empty{padding:10px 12px;font-size:12.5px;color:var(--text-tertiary);font-style:italic}.py-footnote{font-size:11px;color:var(--text-tertiary);line-height:1.5}.py-spinner{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid rgba(255,184,112,.25);border-top-color:#ffb870;animation:pySpin .7s linear infinite}@keyframes pySpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.py-spinner{animation-duration:2s}.hwup-status.is-sent{animation:none}}@media (pointer: coarse){.code-editor-input,.code-editor-gutter,.solution-text,.py-stdin-input{font-size:16px}.py-shortcut{display:none}.py-btn{min-height:40px}}@media (max-width: 480px){.py-toolbar .py-btn{flex:1 1 auto;justify-content:center;padding:7px 10px}.py-note{margin-left:0;flex-basis:100%}}.md-strong{color:var(--text-primary);font-weight:700}.md-code{font-family:var(--font-mono);font-size:.92em;color:#ffb870;background:#ff8c421a;padding:1px 5px;border-radius:4px}.sidebar{transition:transform .3s ease,width .28s cubic-bezier(.4,0,.2,1);overflow-x:hidden}.sidebar-header{gap:8px;transition:padding .28s cubic-bezier(.4,0,.2,1),gap .28s cubic-bezier(.4,0,.2,1)}.sidebar-logo{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;transition:opacity .18s ease}.sidebar-collapse-btn{width:32px;height:32px;flex-shrink:0;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-primary);opacity:.5;transition:opacity .18s ease,background .18s ease}.sidebar-collapse-btn:hover,.sidebar-collapse-btn:focus-visible{opacity:1;background:#ffffff0d}.sidebar-collapse-btn:focus-visible{outline:2px solid var(--accent-lime);outline-offset:1px}.sidebar-collapse-btn svg{transition:transform .28s cubic-bezier(.4,0,.2,1)}.sidebar-body{display:flex;flex-direction:column;flex:1 0 auto;width:var(--sidebar-width);min-width:var(--sidebar-width);transition:opacity .2s ease .08s}@media (min-width: 769px){.sidebar.is-collapsed{width:var(--sidebar-collapsed-width);overflow-y:hidden}.sidebar.is-collapsed .sidebar-header{padding-left:12px;padding-right:12px;gap:0}.sidebar.is-collapsed .sidebar-logo{opacity:0;pointer-events:none}.sidebar.is-collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar.is-collapsed .sidebar-body{opacity:0;pointer-events:none;transition:opacity .12s ease}.app-content.is-sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}}@media (max-width: 768px){.sidebar-collapse-btn{display:none}}@media (prefers-reduced-motion: reduce){.sidebar,.app-content,.sidebar-header,.sidebar-body,.sidebar-collapse-btn svg{transition:none}}.hw-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.hw-block-head>:first-child{flex:1;min-width:0;line-height:1.4;padding-top:6px}.split-toggle{display:none;align-items:center;gap:8px;flex-shrink:0;padding:7px 14px;min-height:34px;border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font-syne);font-size:12.5px;font-weight:700;white-space:nowrap;color:#ffb870;background:#ff8c421f;border:1px solid rgba(255,140,66,.45);transition:background .15s,border-color .15s}.split-toggle:hover{background:#ff8c4238;border-color:#ff8c42b3}.split-toggle:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.split-toggle.is-open{color:var(--text-secondary);background:var(--bg-tertiary);border-color:var(--border-color)}.split-pane,.split-handle{display:none}@media (min-width: 1100px){.split-toggle{display:inline-flex}body.split-screen .pages-wrap{display:grid;grid-template-columns:minmax(0,var(--split-a, 1fr)) 14px minmax(0,var(--split-b, 1fr));height:100vh;padding:0;overflow:hidden}body.split-screen .pages-wrap>.page.active{height:100vh;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:28px 18px 48px 28px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}body.split-screen .split-pane{display:block;height:100vh;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px 48px 18px;container:split / inline-size;scrollbar-width:thin;scrollbar-color:rgba(255,140,66,.35) transparent;animation:splitIn .28s cubic-bezier(.2,.8,.2,1)}@keyframes splitIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}body.split-screen .split-handle{display:flex;align-items:center;justify-content:center;height:100vh;cursor:col-resize;touch-action:none;position:relative;outline:none}.split-handle:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border-color);transition:background .15s,width .15s;transform:translate(-50%)}.split-handle:hover:before,.split-handle:focus-visible:before,body.split-dragging .split-handle:before{width:3px;background:#ff8c42b3}.split-handle-grip{position:relative;width:6px;height:36px;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:background .15s,border-color .15s}.split-handle:hover .split-handle-grip,.split-handle:focus-visible .split-handle-grip,body.split-dragging .split-handle-grip{background:#ff8c42;border-color:#ff8c42}body.split-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}body.split-dragging iframe{pointer-events:none}}.split-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 -2px 16px;padding:24px 2px 14px;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.split-head-main{min-width:0}.split-kicker{font-family:var(--font-syne);font-size:10.5px;font-weight:700;color:#ffb870;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.split-title{margin:0;font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.3}.split-subtitle{margin-top:3px;font-size:13px;color:var(--text-secondary);line-height:1.45}.split-head-side{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0}.split-actions{display:flex;align-items:center;gap:8px}.split-link{font-size:12px;font-weight:600;color:var(--text-tertiary);text-decoration:none;padding:6px 10px;border-radius:var(--radius-pill);border:1px solid var(--border-color);white-space:nowrap;transition:color .15s,border-color .15s}.split-link:hover{color:#ffb870;border-color:#ff8c4273}.split-close{width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center;flex-shrink:0;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:color .15s,border-color .15s,background .15s}.split-close:hover{color:var(--text-primary);border-color:#ffffff4d;background:#ffffff0f}.split-close:focus-visible,.split-link:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.split-progress{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-tertiary);white-space:nowrap}.split-progress .hwup-sq{width:10px;height:10px}.split-empty{display:flex;flex-direction:column;gap:6px;padding:22px 18px;border-radius:var(--radius-md);border:1px dashed var(--border-color);color:var(--text-tertiary);font-size:13.5px;line-height:1.6}.split-empty b{color:var(--text-secondary)}@container split (max-width: 459px){.split-head{flex-direction:column;gap:10px}.split-head-side{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between}}.hwup-hint{margin:-4px 0 14px}.hwup-hint summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:12px;font-weight:600;color:var(--text-tertiary)}.hwup-hint summary::-webkit-details-marker{display:none}.hwup-hint summary:before{content:"💡";font-size:12px}.hwup-hint summary:hover{color:#ffb870}.hwup-hint[open] summary{color:#ffb870}.hwup-hint p{margin:8px 0 0;padding:9px 12px;border-radius:var(--radius-sm);background:#ffd60a0f;border:1px solid rgba(255,214,10,.2);font-size:12.5px;color:var(--text-secondary);line-height:1.6}@media (prefers-reduced-motion: reduce){body.split-screen .split-pane{animation:none}}.camp-heroes{display:grid;gap:12px;margin-bottom:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand onboarding" "math math"}.camp-brand{grid-area:brand}.camp-hero-onboarding{grid-area:onboarding}.camp-hero-math{grid-area:math}@container camp (min-width: 1020px){.camp-heroes{grid-template-columns:minmax(max-content,.95fr) minmax(0,1fr) minmax(0,2.6fr);grid-template-areas:"brand onboarding math"}.camp-hero-math .math-dates{gap:5px}.camp-hero-math .math-date{width:26px;height:26px;font-size:11px}}@container camp (max-width: 479px){.camp-heroes{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "onboarding" "math";gap:10px}}.camp-brand{display:flex;align-items:center;gap:12px;min-width:0;min-height:64px;padding:12px 18px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff8c4257,#ffc10724);border:1px solid rgba(255,140,66,.55)}.camp-brand-leaf{font-size:26px;line-height:1;flex-shrink:0}.camp-brand-title{margin:0;display:flex;flex-direction:column;min-width:0;font-family:var(--font-syne);font-size:15px;font-weight:800;line-height:1.15;color:#ffe2bf;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.camp-brand-year{font-size:12px;font-weight:700;color:#ffb870;letter-spacing:.12em;margin-top:2px}.camp-hero{display:flex;align-items:center;gap:14px;min-width:0;min-height:64px;padding:12px 16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ff8c4224,#ffc1070d);border:1px solid rgba(255,140,66,.32)}.camp-hero-title{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3;min-width:0;text-wrap:balance}.camp-hero-onboarding{justify-content:space-between;cursor:pointer;text-align:left;font-family:inherit;opacity:.5;transition:opacity .3s ease,border-color .2s ease}.camp-hero-onboarding:hover,.camp-hero-onboarding:focus-visible{opacity:1;border-color:#ff8c4299}.camp-hero-onboarding:focus-visible{outline:2px solid #FFB870;outline-offset:2px}.camp-hero-arrow{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:#ffb870;background:#ff8c4229;border:1px solid rgba(255,140,66,.45);transition:transform .2s ease,background .2s ease}.camp-hero-onboarding:hover .camp-hero-arrow{transform:translate(2px);background:#ff8c4242}.camp-hero-math{justify-content:space-between;flex-wrap:nowrap;gap:10px 12px}.camp-hero-math .camp-hero-title{flex:0 1 auto}.camp-hero-math .math-dates{flex-wrap:nowrap}.camp-hero-open{width:auto;padding:8px 16px}@container camp (max-width: 599px){.camp-hero-math{flex-wrap:wrap}.camp-hero-math .camp-hero-title{flex:1 1 0}.camp-hero-math .camp-hero-open{order:2}.camp-hero-math .math-dates{order:3;width:100%;justify-content:space-between}}@container camp (max-width: 479px){.camp-brand{min-height:0;padding:10px 14px;gap:10px}.camp-brand-leaf{font-size:20px}.camp-brand-title{flex-direction:row;align-items:baseline;gap:8px;font-size:14px}.camp-brand-year{margin-top:0}.camp-hero{min-height:56px;padding:11px 14px}.camp-hero-title{font-size:14px}}.hwrev-caption{margin:-10px 0 0;font-size:12px;color:var(--text-tertiary);line-height:1.5}.hwrev-matrix-scroll{overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin;scrollbar-color:rgba(255,140,66,.35) transparent}.hwrev-matrix{--sq: 24px;display:grid;grid-template-columns:max-content repeat(var(--cols),var(--sq));gap:6px;align-items:center;width:max-content}.hwrev-mrow{display:contents}.hwrev-corner,.hwrev-col,.hwrev-rowhead{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);white-space:nowrap}.hwrev-col{text-align:center;font-weight:600;color:var(--text-secondary);cursor:default}.hwrev-corner{font-family:var(--font-syne);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:right;padding-right:4px}.hwrev-rowhead{padding-right:6px}.hwrev-corner,.hwrev-rowhead{position:sticky;left:0;z-index:2;align-self:stretch;display:flex;align-items:center;background:var(--bg-secondary);box-shadow:6px 0 0 0 var(--bg-secondary),14px 0 10px -8px #000000b3}.hwrev-corner{justify-content:flex-end}.hwrev-cell{display:grid;place-items:center;width:var(--sq);height:var(--sq)}.hwrev-matrix .hwrev-sq{width:var(--sq);height:var(--sq)}.nowrap{white-space:nowrap}.math-session.is-locked{position:relative;overflow:hidden;min-height:150px}.math-session-veil{filter:blur(7px);opacity:.55;-webkit-user-select:none;user-select:none;pointer-events:none}.math-session-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-syne);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#ffb870;background:#08080a47;z-index:1}.math-session-lock:before{content:"";position:absolute;width:112px;height:38px;border-radius:999px;background:#101014d1;border:1px solid rgba(255,140,66,.5)}.math-contacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.math-contacts li{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:13.5px}.math-contacts-label{min-width:72px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.math-contacts a{color:#ffb870;font-weight:600;text-decoration:none}.math-contacts a:hover{text-decoration:underline;text-underline-offset:2px}.math-part{margin:26px 0 12px;padding:10px 14px;border-radius:var(--radius-md);font-family:var(--font-syne);font-size:13px;font-weight:700;letter-spacing:.04em;color:#ffb870;background:#ff8c4214;border:1px solid rgba(255,140,66,.25)}.math-toc-part{display:block;margin:12px 0 6px;font-family:var(--font-syne);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffb870}.math-toc-list li:has(.math-toc-part):first-child .math-toc-part{margin-top:0}.math-ol{margin:0 0 12px;padding-left:22px;list-style:decimal}.math-ol li{font-size:13.5px;color:var(--text-secondary);line-height:1.7;margin-bottom:4px}.math-ol li::marker{color:#ff8c42bf;font-weight:700}.math-ol .mx{font-size:14px;color:var(--text-primary)}.math-table-wrap{overflow-x:auto;margin:14px 0 16px}.math-table{border-collapse:collapse;font-size:13.5px;margin:0 auto}.math-table.is-text td{white-space:normal;text-align:left;min-width:150px}.math-table.is-text td:nth-child(2){text-align:center}.math-table th,.math-table td{padding:7px 14px;text-align:center;color:var(--text-secondary);border:1px solid rgba(255,255,255,.14)}.math-table th{background:#ff8c4214;color:var(--text-primary);font-weight:600;white-space:nowrap}.math-table td{white-space:nowrap}.math-table .mx{font-size:14.5px;color:var(--text-primary)}.math-figure{margin:16px 0;text-align:center}.math-svg{width:100%;max-width:420px;height:auto;color:var(--text-secondary)}.math-figure figcaption{margin-top:6px;font-size:12.5px;color:var(--text-tertiary);line-height:1.5}.math-figure figcaption strong{color:var(--text-secondary)}.math-hw-note{display:block;margin-top:2px;font-size:12.5px;color:var(--text-tertiary);line-height:1.6}.math-hw-note .mx{color:var(--text-secondary)}.math-hw-sub{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.math-hw-sub li{display:flex;align-items:baseline;gap:10px;font-size:13.5px;color:var(--text-secondary);line-height:1.65}.math-hw-sub-text{flex:1;min-width:0}.math-hw-sub-letter{flex-shrink:0;min-width:18px;font-family:var(--font-mono);font-weight:700;color:#ff8c42bf}.math-hw-sub .mx{font-size:14px;color:var(--text-primary)}.math-hw-optional{margin-left:auto;flex-shrink:0;padding:3px 10px;border-radius:999px;font-family:var(--font-inter);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--border-color)}.math-hw-part.is-star{border-color:#ffd60a47}.math-ref{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.math-ref-title{margin-bottom:10px;font-family:var(--font-syne);font-size:12.5px;font-weight:700;color:#ffb870}.math-ref .math-p:last-child{margin-bottom:0}.hw-howto{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color);font-size:13px;color:var(--text-secondary);line-height:1.65}.hw-howto-lead{margin:0 0 8px}.hw-howto-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.hw-howto-list li::marker{color:#ffb870;font-weight:700}.hw-howto a{color:#ffb870;font-weight:600;text-decoration:underline;text-underline-offset:2px}.hw-howto a.hw-howto-btn{display:inline-block;text-decoration:none;padding:1px 10px;border-radius:999px;font-family:var(--font-syne);font-size:12px;font-weight:700;color:var(--on-accent);background:var(--accent-ink)}.hw-howto a.hw-howto-btn:hover{background:var(--accent-soft)}.hw-howto-note{margin:10px 0 0;font-size:12.5px;color:var(--text-tertiary)}.sqlt-back{background:none;border:none;color:var(--accent-lime);font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-bottom:14px}.sqlt-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.sqlt-dots{display:flex;gap:6px;flex-wrap:wrap}.sqlt-dot{width:36px;height:36px;border-radius:10px;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-syne);font-size:13px;font-weight:700;transition:border-color .15s,background .15s,color .15s}.sqlt-dot:hover{border-color:#ffd60a80;color:var(--text-primary)}.sqlt-dot.is-solved{background:var(--success-dim);border-color:#3fb95080;color:var(--success)}.sqlt-dot.is-active{background:var(--accent-lime);border-color:var(--accent-lime);color:var(--on-accent)}.sqlt-score{font-size:13px;font-weight:700;color:var(--text-secondary)}.sqlt-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.sqlt-main{display:flex;flex-direction:column;gap:14px;min-width:0}.sqlt-task{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.sqlt-task-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.sqlt-task-num{font-family:var(--font-syne);font-size:11px;font-weight:700;color:var(--accent-lime);text-transform:uppercase;letter-spacing:.06em}.sqlt-solved{font-size:11px;font-weight:700;color:var(--success);background:var(--success-dim);border-radius:999px;padding:2px 9px}.sqlt-task-title{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.sqlt-task-text{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0}.sqlt-hint-toggle{margin-top:12px;background:none;border:1px solid var(--border-color);border-radius:999px;padding:5px 13px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer}.sqlt-hint-toggle:hover{border-color:#ffd60a80;color:var(--text-primary)}.sqlt-hint{margin:10px 0 0;padding:10px 13px;border-radius:10px;background:#ffd60a0f;border:1px solid rgba(255,214,10,.22);font-size:13px;color:var(--text-secondary);line-height:1.6}.sqlt-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sqlt-run{background:var(--accent-lime);color:var(--on-accent);border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer}.sqlt-run:disabled{opacity:.5;cursor:not-allowed}.sqlt-kbd{font-size:12px;color:var(--text-tertiary)}.sqlt-exec{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s}.sqlt-exec:hover:not(:disabled){border-color:var(--accent-lime);color:var(--accent-lime)}.sqlt-exec:disabled{opacity:.5;cursor:not-allowed}.sqlt-clear{margin-left:auto;background:none;border:none;color:var(--text-tertiary);font-size:13px;cursor:pointer}.sqlt-clear:hover{color:var(--text-primary)}.sqlt-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;font-size:14px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);margin-bottom:12px}.sqlt-banner.is-ok{background:var(--success-dim);border-color:#3fb95073;color:var(--text-primary)}.sqlt-banner.is-ok b{color:var(--success)}.sqlt-banner.is-bad{background:var(--danger-dim);border-color:#ff5f5f73;color:var(--text-primary)}.sqlt-banner.is-bad b{color:var(--danger)}.sqlt-next{margin-left:auto;background:var(--success);color:#06260f;border:none;border-radius:10px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer}.sqlt-error{padding:12px 14px;border-radius:12px;background:var(--danger-dim);border:1px solid rgba(255,95,95,.45);color:#ff8a8a;font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;margin-bottom:12px}.sqlt-result{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary)}.sqlt-table-wrap{overflow:auto;max-height:460px}.sqlt-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:ui-monospace,Menlo,monospace}.sqlt-table th{position:sticky;top:0;background:var(--bg-tertiary);color:var(--text-primary);font-weight:700;text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-color);white-space:nowrap}.sqlt-table td{padding:7px 12px;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis}.sqlt-table tr:hover td{background:#ffffff06}.sqlt-table td.sqlt-num{text-align:right;color:var(--text-primary)}.sqlt-table td.sqlt-null{color:var(--text-tertiary);font-style:italic}.sqlt-empty{padding:18px;text-align:center;color:var(--text-tertiary);font-size:13px}.sqlt-meta{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid var(--border-color);font-size:12px;color:var(--text-tertiary)}.sqlt-schema{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.sqlt-schema-title{font-family:var(--font-syne);font-size:14px;font-weight:700;color:var(--text-primary)}.sqlt-schema-sub{font-size:12px;color:var(--text-tertiary);margin:3px 0 12px;line-height:1.5}.sqlt-tbl{border:1px solid var(--border-color);border-radius:10px;margin-bottom:8px;background:var(--bg-tertiary)}.sqlt-tbl-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;text-align:left}.sqlt-tbl-name{font-family:ui-monospace,Menlo,monospace;font-size:13px;font-weight:700;color:var(--accent-lime)}.sqlt-tbl-rows{font-size:11.5px;color:var(--text-tertiary);margin-left:auto}.sqlt-chev{color:var(--text-tertiary);transition:transform .2s;font-size:16px;line-height:1}.sqlt-tbl.is-open .sqlt-chev{transform:rotate(90deg)}.sqlt-tbl-body{padding:0 12px 12px}.sqlt-tbl-desc{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.sqlt-cols{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.sqlt-col-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sqlt-col-name{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--text-primary)}.sqlt-col-type{font-size:10.5px;color:var(--text-tertiary);text-transform:uppercase}.sqlt-col-flag{font-size:9.5px;font-weight:700;border-radius:4px;padding:1px 5px;background:#ffd60a1f;color:var(--accent-lime)}.sqlt-col-flag.is-null{background:#8b8b9629;color:var(--text-tertiary)}.sqlt-col-desc{font-size:11.5px;color:var(--text-tertiary);line-height:1.45;margin-top:1px}.sqlt-preview{display:block;margin-top:10px;text-align:center;text-decoration:none;border:1px dashed var(--border-color);border-radius:8px;padding:7px;font-size:12px;font-weight:700;color:var(--text-secondary)}.sqlt-preview:hover{border-color:#ffd60a80;color:var(--accent-lime)}@media (max-width: 1100px){.sqlt-layout{grid-template-columns:minmax(0,1fr)}.sqlt-schema{position:static;max-height:none}}@media (pointer: coarse){.sqlt-dot{width:40px;height:40px}.sqlt-kbd{display:none}}.sqlt-lead{color:var(--text-primary);font-weight:700}.sqlt-head-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:20px;align-items:stretch;margin-bottom:24px}.sqlt-head-row .page-header{margin-bottom:0}.sqlt-head-progress{display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.sqlt-head-progress-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.sqlt-head-progress-num{font:700 34px/1 var(--font-syne);color:var(--text-primary);font-variant-numeric:tabular-nums}.sqlt-head-progress-num span{font-size:18px;color:var(--text-tertiary)}.sqlt-head-progress-bar{height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.sqlt-head-progress-bar i{display:block;height:100%;background:var(--accent-lime);border-radius:999px;transition:width .4s}.sqlt-head-progress-sub{font-size:12.5px;color:var(--text-secondary)}@media (max-width: 860px){.sqlt-head-row{grid-template-columns:1fr}}.sqlt-task-cat{font-size:11.5px;color:var(--text-tertiary)}.sqlt-ordered{margin:8px 0 0;font-size:12.5px;color:#ffb870}.sqlt-setup{display:flex;flex-direction:column;gap:16px;min-width:0}.sqlt-step{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.sqlt-step-title{display:flex;align-items:center;gap:10px;font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary)}.sqlt-step-title span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--accent-lime);color:var(--on-accent)}.sqlt-step-sub{font-size:12.5px;color:var(--text-tertiary);margin:4px 0 14px 34px}.sqlt-all{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;margin-bottom:10px;border-radius:12px;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:14px;font-weight:700;transition:border-color .15s,background .15s}.sqlt-all small{font-size:12px;font-weight:600;color:var(--text-tertiary)}.sqlt-all:hover{border-color:#ffd60a80}.sqlt-all.is-on{background:#ffd60a1f;border-color:var(--accent-lime);color:var(--accent-lime)}.sqlt-all.is-on small{color:var(--accent-lime)}.sqlt-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.sqlt-cat{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 13px;border-radius:12px;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);transition:border-color .15s,background .15s,color .15s}.sqlt-cat:hover{border-color:#ffd60a80;color:var(--text-primary)}.sqlt-cat.is-on{background:#ffd60a1a;border-color:var(--accent-lime);color:var(--text-primary)}.sqlt-cat-num{width:22px;height:22px;flex-shrink:0;border-radius:6px;display:grid;place-items:center;font-family:var(--font-syne);font-size:11px;font-weight:700;background:var(--bg-secondary);color:var(--text-tertiary)}.sqlt-cat.is-on .sqlt-cat-num{background:var(--accent-lime);color:var(--on-accent)}.sqlt-cat-title{flex:1;font-size:13px;font-weight:600;line-height:1.35}.sqlt-cat-count{font-size:11.5px;color:var(--text-tertiary)}.sqlt-seg{display:inline-flex;gap:4px;padding:4px;margin-top:12px;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.sqlt-seg button{border:none;background:none;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:700;color:var(--text-tertiary);cursor:pointer}.sqlt-seg button.is-on{background:#ffd60a24;color:var(--accent-lime)}.sqlt-start{align-self:flex-start;background:var(--accent-lime);color:var(--on-accent);border:none;border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;cursor:pointer}.sqlt-start:disabled{opacity:.5;cursor:not-allowed}.sqlt-dot{width:32px;height:32px;font-size:12px}.sqlt-view-head{margin-bottom:16px}.sqlt-view-name{font-family:ui-monospace,Menlo,monospace;color:var(--accent-lime)}.sqlt-result.is-full .sqlt-table-wrap{max-height:calc(100vh - 230px)}.sqlt-scroll{scrollbar-width:thin;scrollbar-color:var(--accent-lime) transparent}.sqlt-scroll::-webkit-scrollbar{width:6px;height:6px}.sqlt-scroll::-webkit-scrollbar-track{background:transparent}.sqlt-scroll::-webkit-scrollbar-thumb{background:var(--accent-lime);border-radius:999px}.sqlt-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-soft, #FFE873)}.sqlt-scroll::-webkit-scrollbar-corner{background:transparent}@media (max-width: 560px){.sqlt-cats{grid-template-columns:1fr}.sqlt-start{align-self:stretch}.sqlt-actions .sqlt-exec,.sqlt-actions .sqlt-run{flex:1}}.sqlt-leaders{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.sqlt-leaders-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sqlt-leaders-title{font-family:var(--font-syne);font-size:15px;font-weight:700;color:var(--text-primary)}.sqlt-leaders-sub{font-size:12px;color:var(--text-tertiary)}.sqlt-leaders-empty{font-size:13px;color:var(--text-tertiary);padding:6px 0}.sqlt-leaders-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sqlt-leader{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.sqlt-leader.is-me{border-color:#ffd60a8c;background:#ffd60a0f}.sqlt-place{width:24px;flex-shrink:0;text-align:center;font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--text-tertiary)}.sqlt-place.is-1{color:#ffd60a}.sqlt-place.is-2{color:#c9cdd6}.sqlt-place.is-3{color:#e0995e}.sqlt-ava{width:34px;height:34px;flex-shrink:0;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#ffd60a1a;border:1px solid rgba(255,214,10,.35);color:var(--accent-lime);font-family:var(--font-syne);font-size:13px;font-weight:700}.sqlt-leader-name{flex:1;min-width:0;font-size:14px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sqlt-leader-name small{font-weight:600;color:var(--accent-lime)}.sqlt-leader-score{font-size:13px;font-weight:700;color:var(--text-secondary);white-space:nowrap}.dsh{--c-group: #FFD60A;--c-math: #8AB4FF;--c-mine: #3FB950}.dsh-head{margin-bottom:18px}.dsh-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}.dsh-col{display:flex;flex-direction:column;gap:16px;min-width:0}.dsh .widget{margin:0}.dsh-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px}.dsh-muted{font-size:13px;line-height:1.6;color:var(--text-tertiary);margin:4px 0 0}.dsh-muted-sm{font-size:12px;color:var(--text-tertiary)}.dsh-btn-primary,.dsh-btn-secondary,.dsh-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm);padding:9px 16px;font:700 13px/1.2 var(--font-inter);cursor:pointer;text-decoration:none;transition:opacity .15s,border-color .15s,background .15s}.dsh-btn-primary{background:var(--accent-ink);color:var(--on-accent);border:1px solid var(--accent-ink)}.dsh-btn-primary:hover{opacity:.88}.dsh-btn-primary:disabled{opacity:.4;cursor:default}.dsh-btn-secondary{background:var(--accent-dim);color:var(--accent-lime);border:1px solid rgba(255,214,10,.3)}.dsh-btn-secondary:hover{border-color:#ffd60a99}.dsh-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);font-weight:600}.dsh-btn-ghost:hover{color:var(--text-primary);border-color:#3a3a44}.dsh-btn-primary:focus-visible,.dsh-btn-secondary:focus-visible,.dsh-btn-ghost:focus-visible,.dsh-cal-day:focus-visible,.dsh-camp-card:focus-visible,.dsh-next:focus-visible{outline:2px solid var(--accent-lime);outline-offset:2px}.dsh-link-btn{background:none;border:none;padding:0;color:var(--accent-lime);font-size:12px;font-weight:600;cursor:pointer}.dsh-link-btn:hover{opacity:.75}.dsh-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font:13px var(--font-inter);padding:9px 11px;outline:none;transition:border-color .15s}.dsh-input:focus{border-color:#ffd60a80}.dsh-input::placeholder{color:var(--text-tertiary)}.dsh-chip{display:inline-block;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:999px;padding:3px 9px;white-space:nowrap}.dsh-chips{display:flex;flex-wrap:wrap;gap:6px}.dsh-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-tertiary),#1e1e25,var(--bg-tertiary));background-size:200% 100%;animation:dsh-shimmer 1.4s infinite}@keyframes dsh-shimmer{to{background-position:-200% 0}}.dsh-next{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;text-align:left;cursor:pointer;margin-bottom:18px;background:linear-gradient(90deg,#ffd60a1a,#ffd60a05);border:1px solid rgba(255,214,10,.28);border-radius:var(--radius-md);padding:14px 18px;color:inherit}.dsh-next:disabled{cursor:default}.dsh-next.is-math{background:linear-gradient(90deg,#8ab4ff1f,#8ab4ff05);border-color:#8ab4ff4d}.dsh-next.is-mine{background:linear-gradient(90deg,#3fb9501f,#3fb95005);border-color:#3fb95052}.dsh-next-when{font:700 12px/1 var(--font-inter);text-transform:uppercase;letter-spacing:.06em;color:var(--on-accent);background:var(--accent-lime);padding:7px 10px;border-radius:999px;white-space:nowrap}.dsh-next.is-math .dsh-next-when{background:var(--c-math)}.dsh-next.is-mine .dsh-next-when{background:var(--c-mine)}.dsh-next.is-live .dsh-next-when{animation:dsh-pulse 1.6s ease-in-out infinite}@keyframes dsh-pulse{50%{opacity:.65}}.dsh-next-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dsh-next-title{font:700 15px/1.3 var(--font-syne);color:var(--text-primary)}.dsh-next-note{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-next-time{font-size:13px;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.dsh-cal-nav{display:flex;align-items:center;gap:4px}.dsh-cal-nav>button{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:8px;min-width:30px;height:30px;font-size:16px;cursor:pointer}.dsh-cal-nav>button:hover{color:var(--text-primary);border-color:#3a3a44}.dsh-cal-nav .dsh-cal-today{font-size:12px;font-weight:600;padding:0 10px;margin-left:4px}.dsh-cal-month{font-size:13px;font-weight:700;color:var(--text-primary);min-width:116px;text-align:center}.dsh-cal-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.dsh-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.dsh-cal-wd{font-size:11px;font-weight:700;color:var(--text-tertiary);text-align:center;padding:2px 0 6px}.dsh-cal-day{aspect-ratio:1 / .92;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer;color:var(--text-primary);font:600 13px var(--font-inter);font-variant-numeric:tabular-nums;transition:background .12s,border-color .12s}.dsh-cal-day:hover{background:var(--bg-tertiary)}.dsh-cal-day.is-out{color:var(--text-tertiary);opacity:.55}.dsh-cal-day.is-today{border-color:#ffd60a8c;color:var(--accent-lime)}.dsh-cal-day.is-selected{background:var(--accent-lime);color:var(--on-accent);border-color:var(--accent-lime)}.dsh-cal-day.is-selected .dsh-cal-dots i{box-shadow:0 0 0 1.5px var(--accent-lime)}.dsh-cal-dots{display:flex;gap:3px;height:5px}.dsh-cal-dots i,.dsh-cal-legend i{width:5px;height:5px;border-radius:50%;display:inline-block}.dot-group{background:var(--c-group)}.dot-math{background:var(--c-math)}.dot-mine{background:var(--c-mine)}.dsh-cal-day.is-selected .dot-group{background:var(--on-accent)}.dsh-cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:11.5px;color:var(--text-tertiary)}.dsh-cal-legend i{width:7px;height:7px;margin-right:6px}.dsh-cal-side{display:flex;flex-direction:column;gap:8px;min-width:0;border-left:1px solid var(--border-color);padding-left:20px}.dsh-cal-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px}.dsh-cal-side-title{font:700 14px var(--font-syne);color:var(--text-primary)}.dsh-cal-later{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-top:10px}.dsh-ev{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:start;padding:9px 10px;border-radius:9px;background:var(--bg-tertiary)}.dsh-ev-time{font:700 12px/1.5 var(--font-mono);color:var(--text-secondary)}.dsh-ev-time.is-allday{font:600 11px/1.6 var(--font-inter);color:var(--text-tertiary)}.dsh-ev-body{min-width:0}.dsh-ev-date{font-size:11px;color:var(--text-tertiary)}.dsh-ev-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4}.dsh-ev-link{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.dsh-ev-link:hover{color:var(--accent-lime)}.dsh-ev-note{font-size:12px;color:var(--text-secondary);line-height:1.45;margin-top:1px}.dsh-ev-del{background:none;border:none;color:var(--text-tertiary);font-size:18px;line-height:1;cursor:pointer;padding:0 2px;border-radius:4px}.dsh-ev-del:hover{color:var(--danger)}.dsh-timer-stats{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.dsh-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:var(--bg-tertiary);border-radius:10px;padding:3px}.dsh-preset{background:transparent;border:none;border-radius:8px;padding:7px 4px;cursor:pointer;font:600 12px var(--font-inter);color:var(--text-secondary);white-space:nowrap}.dsh-preset.is-active{background:var(--bg-secondary);color:var(--accent-lime);box-shadow:0 1px 2px #0006}.dsh-preset:disabled:not(.is-active){opacity:.45;cursor:default}.dsh-timer-face{position:relative;width:168px;max-width:100%;aspect-ratio:1;margin:16px auto 12px}.dsh-ring{width:100%;height:100%;transform:rotate(-90deg)}.dsh-ring circle{fill:none;stroke-width:7}.dsh-ring-bg{stroke:var(--bg-tertiary)}.dsh-ring-fg{stroke:var(--accent-lime);stroke-linecap:round;transition:stroke-dashoffset .3s linear}.dsh-ring-fg.is-break{stroke:var(--c-mine)}.dsh-timer-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.dsh-timer-time{font:700 32px/1 var(--font-syne);color:var(--text-primary);font-variant-numeric:tabular-nums}.dsh-timer-time.is-done{color:var(--accent-lime)}.dsh-timer-mode{font-size:12px;color:var(--text-tertiary);text-align:center;max-width:130px}.dsh-custom{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:12px}.dsh-custom .dsh-input{width:80px;text-align:center}.dsh-timer-btns{display:flex;gap:8px;justify-content:center}.dsh-timer-btns .dsh-btn-primary,.dsh-timer-btns .dsh-btn-secondary{min-width:120px}.dsh-tabs{display:flex;gap:4px}.dsh-tab{background:none;border:none;padding:4px 10px 4px 0;cursor:pointer;font:700 14px var(--font-syne);color:var(--text-tertiary);display:inline-flex;align-items:center;gap:6px}.dsh-tab+.dsh-tab{padding-left:10px;border-left:1px solid var(--border-color)}.dsh-tab.is-active{color:var(--text-primary)}.dsh-tab-count{font:700 11px var(--font-inter);background:var(--accent-lime);color:var(--on-accent);border-radius:999px;padding:1px 7px}.dsh-todo-form{margin-bottom:10px}.dsh-todos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto}.dsh-todo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 2px;border-radius:6px}.dsh-todo:hover{background:var(--bg-tertiary)}.dsh-check{width:18px;height:18px;border-radius:6px;border:2px solid #44444f;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--on-accent);padding:0}.dsh-todo.is-done .dsh-check{background:var(--accent-lime);border-color:var(--accent-lime)}.dsh-todo-text{font-size:13.5px;color:var(--text-primary);line-height:1.4;overflow-wrap:anywhere}.dsh-todo.is-done .dsh-todo-text{color:var(--text-tertiary);text-decoration:line-through}.dsh-todo .dsh-ev-del{opacity:0}.dsh-todo:hover .dsh-ev-del,.dsh-todo .dsh-ev-del:focus-visible{opacity:1}.dsh-notes-area{min-height:170px}.dsh-sql.is-promo{display:flex;flex-direction:column;gap:14px;align-items:flex-start;background:radial-gradient(120% 140% at 100% 0%,rgba(138,180,255,.1),transparent 55%),var(--bg-secondary)}.dsh-sql-promo{display:flex;gap:16px;align-items:flex-start}.dsh-sql-badge{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font:800 15px var(--font-mono);color:#0b1530;background:var(--c-math)}.dsh-sql-promo-body{display:flex;flex-direction:column;gap:8px;min-width:0}.dsh-sql-title{font:700 17px var(--font-syne);color:var(--text-primary)}.dsh-sql-text{margin:0;font-size:13.5px;line-height:1.6;color:var(--text-secondary);max-width:60ch}.dsh-place{font-size:12px;font-weight:700;color:var(--accent-lime);background:var(--accent-dim);padding:3px 9px;border-radius:999px}.dsh-sql-summary{display:flex;align-items:center;gap:18px;margin-bottom:14px}.dsh-sql-big{font:700 34px/1 var(--font-syne);color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.dsh-sql-big span{font-size:18px;color:var(--text-tertiary)}.dsh-sql-summary-text{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0}.dsh-progress{height:8px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.dsh-progress>div{height:100%;background:var(--accent-lime);border-radius:999px;transition:width .4s}.dsh-camp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.dsh-camp-card{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:12px 14px;color:inherit;transition:border-color .15s}.dsh-camp-card:hover{border-color:#ffd60a66}.dsh-camp-card.is-week{border-color:#ffd60a47;background:#ffd60a0d}.dsh-camp-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.dsh-camp-value{font:700 15px/1.3 var(--font-syne);color:var(--text-primary)}.dsh-camp-sub{font-size:12.5px;color:var(--text-secondary)}.dsh-hw{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.dsh-hw-head{display:flex;justify-content:space-between;align-items:center}.dsh-hw-stats{display:flex;flex-wrap:wrap;gap:8px}.dsh-hw-stat{font-size:12.5px;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px}.dsh-hw-stat b{font:700 14px var(--font-syne);margin-right:3px;color:var(--text-primary)}.dsh-hw-stat.is-approved b{color:var(--c-mine)}.dsh-hw-stat.is-submitted b{color:var(--c-math)}.dsh-hw-stat.is-alert{border-color:#ff5f5f66;background:var(--danger-dim)}.dsh-hw-stat.is-alert b{color:var(--danger)}.dsh-alert{text-align:left;background:var(--danger-dim);border:1px solid rgba(255,95,95,.35);color:#ff9a9a;border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer}.dsh-camp-actions{display:flex;flex-wrap:wrap;gap:8px}.dsh-question-q{margin:0 0 8px;font:600 15px/1.5 var(--font-inter);color:var(--text-primary)}.dsh-question-a{margin:0;font-size:13.5px;line-height:1.65;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:10px 12px}.dsh-question-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}@media (max-width: 1240px){.dsh-cal-body{grid-template-columns:1fr}.dsh-cal-side{border-left:none;padding-left:0;border-top:1px solid var(--border-color);padding-top:14px}}@media (max-width: 1000px){.dsh-grid{grid-template-columns:1fr}.dsh-cal-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.dsh-cal-side{border-left:1px solid var(--border-color);padding-left:20px;border-top:none;padding-top:0}}@media (max-width: 720px){.dsh-cal-body{grid-template-columns:1fr}.dsh-cal-side{border-left:none;padding-left:0;border-top:1px solid var(--border-color);padding-top:14px}.dsh-next{grid-template-columns:1fr;gap:8px}.dsh-next-when{justify-self:start}.dsh-next-note{white-space:normal}.dsh .widget-header{flex-wrap:wrap;gap:8px}.dsh-cal-month{min-width:0}}@media (max-width: 480px){.dsh-camp-grid{grid-template-columns:1fr}.dsh-sql-promo{flex-direction:column}}@media (prefers-reduced-motion: reduce){.dsh-next.is-live .dsh-next-when,.dsh-skeleton{animation:none}}.lib-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.lib-search{flex:1;display:flex;align-items:center;gap:10px;max-width:560px;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 14px;color:var(--text-tertiary);transition:border-color .15s,box-shadow .15s}.lib-search:focus-within{border-color:var(--accent-lime);box-shadow:0 0 0 3px var(--accent-dim)}.lib-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font:15px var(--font-inter);padding:12px 0}.lib-search input::placeholder{color:var(--text-tertiary)}.lib-search input::-webkit-search-cancel-button{display:none}.lib-search-clear{background:none;border:none;color:var(--text-tertiary);font-size:20px;line-height:1;padding:2px 4px;cursor:pointer}.lib-search-clear:hover{color:var(--text-primary)}.lib-picker{position:relative;flex:none}.lib-picker-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font:600 14px var(--font-inter);cursor:pointer;transition:border-color .15s,background .15s}.lib-picker-btn:hover{border-color:#ffd60a80}.lib-picker-btn.is-active{background:#ffd60a14;border-color:#ffd60a8c;color:var(--accent-lime)}.lib-picker-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:340px;max-width:calc(100vw - 32px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);padding:14px;display:flex;flex-direction:column;gap:10px}.lib-picker-head{display:flex;align-items:center;justify-content:space-between}.lib-picker-title{font:700 14px var(--font-syne);color:var(--text-primary)}.lib-picker-link{background:none;border:none;padding:0;color:var(--accent-lime);font:600 12.5px var(--font-inter);cursor:pointer}.lib-picker-link:hover{opacity:.8}.lib-picker-list{display:flex;flex-direction:column;gap:2px;max-height:min(480px,60vh);overflow-y:auto}.lib-picker-item{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-size:13.5px}.lib-picker-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.lib-picker-item.is-on{color:var(--text-primary)}.lib-picker-item input{position:absolute;opacity:0;pointer-events:none}.lib-picker-check{width:18px;height:18px;border-radius:5px;border:2px solid #44444f;display:grid;place-items:center;color:var(--on-accent)}.lib-picker-item.is-on .lib-picker-check{background:var(--accent-lime);border-color:var(--accent-lime)}.lib-picker-item:has(input:focus-visible){outline:2px solid var(--accent-lime);outline-offset:-2px}.lib-picker-count{font-size:12px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.lib-picker-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;border-top:1px solid var(--border-color)}.lib-picker-cancel,.lib-picker-save{border-radius:var(--radius-sm);padding:9px 16px;font:700 13px var(--font-inter);cursor:pointer;margin-top:8px}.lib-picker-cancel{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.lib-picker-cancel:hover{color:var(--text-primary)}.lib-picker-save{background:var(--accent-ink);border:1px solid var(--accent-ink);color:var(--on-accent)}.lib-picker-save:hover{background:var(--accent-soft)}.lib-selected{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px}.lib-selected-chip{background:#ffd60a14;border:1px solid rgba(255,214,10,.35);color:var(--text-primary);border-radius:999px;padding:4px 10px 4px 12px;font:600 12.5px var(--font-inter);cursor:pointer}.lib-selected-chip span{color:var(--text-tertiary);margin-left:4px}.lib-selected-chip:hover span{color:var(--danger)}.lib-selected .lib-picker-link{margin-left:6px}.lib-sections{display:flex;flex-direction:column;gap:32px;margin-top:32px}.lib-section-title{font:700 19px var(--font-syne);color:var(--text-primary);margin:0}.lib-section-about{margin:4px 0 14px;font-size:13.5px;color:var(--text-secondary);max-width:70ch}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.lib-card{display:flex;flex-direction:column;gap:12px;min-height:132px;text-align:left;cursor:pointer;color:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:border-color .15s,transform .15s,background .15s}.lib-card:hover{border-color:#ffd60a80;transform:translateY(-2px);background:#131318}.lib-card:focus-visible,.lib-picker-btn:focus-visible,.lib-selected-chip:focus-visible{outline:2px solid var(--accent-lime);outline-offset:2px}.lib-card-top{display:flex;align-items:center;gap:8px;min-width:0}.lib-card-num{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-lime);color:#101014;font:800 12px var(--font-syne);font-variant-numeric:tabular-nums}.lib-card-section{font-size:11.5px;font-weight:600;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-card-title{flex:1;font:700 14.5px/1.4 var(--font-inter);color:var(--text-primary)}.lib-card-open{font-size:12.5px;font-weight:600;color:var(--text-tertiary);transition:color .15s}.lib-card:hover .lib-card-open{color:var(--accent-lime)}.lib-mark{background:#ffd60a40;color:var(--text-primary);border-radius:3px;padding:0 1px}.lib-results-head{font-size:13px;color:var(--text-secondary);margin:32px 0 12px}@media (max-width: 640px){.lib-controls{flex-direction:column;align-items:stretch}.lib-search{max-width:none}.lib-picker-btn{width:100%;justify-content:center}.lib-picker-panel{left:0;right:0;width:auto;max-width:none}.lib-grid{grid-template-columns:1fr 1fr;gap:10px}.lib-card{min-height:120px;padding:14px}}@media (max-width: 380px){.lib-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.lib-card:hover{transform:none}}.prg-page{--prg: #FF8C42;--prg-text: #FFB870;--prg-dim: rgba(255,140,66,.14)}.prg-back{display:inline-block;color:var(--prg-text);font-size:13px;font-weight:600;margin-bottom:16px}.prg-back:hover{color:#ffd6a8}.prg-loading{color:var(--text-secondary)}.prg-hero{background:radial-gradient(640px 220px at 100% 0%,rgba(255,140,66,.14),transparent 70%),var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.prg-tag{font-family:var(--font-syne);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--prg-text);background:var(--prg-dim);border:1px solid rgba(255,140,66,.4);border-radius:var(--radius-pill);padding:4px 10px}.prg-title{font-family:var(--font-syne);font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.4px;color:var(--text-primary);margin:0;text-wrap:balance}.prg-lead{color:var(--text-secondary);font-size:15px;line-height:1.7;margin:0;max-width:75ch}.prg-hero-meta{display:flex;flex-wrap:wrap;gap:6px}.prg-chip{font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:3px 10px;white-space:nowrap}.prg-contact{margin:0;font-size:13.5px;color:var(--text-tertiary)}.prg-contact a{color:var(--prg-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}.prg-list-title{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin:28px 0 12px}.prg-empty{background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md);padding:20px;color:var(--text-tertiary);font-size:14px}.prg-chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.prg-chapter-card{display:flex;flex-direction:column;gap:8px;text-align:left;color:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px}.prg-chapters{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.prg-chapter-links{display:flex;flex-direction:column;gap:8px;margin-top:6px}.prg-chapter-link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center;text-align:left;cursor:pointer;color:inherit;font:inherit;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .15s,background .15s}.prg-chapter-link:hover{border-color:#ff8c4299}.prg-chapter-link:focus-visible{outline:2px solid var(--prg-text);outline-offset:2px}.prg-chapter-link-name{font-weight:700;font-size:14.5px;color:var(--text-primary)}.prg-chapter-link-meta{grid-column:1;font-size:12.5px;color:var(--text-tertiary)}.prg-chapter-link-go{grid-row:1 / 3;grid-column:2;color:var(--prg-text);font-weight:700}.prg-chapter-link.is-task{border-color:#ff8c4266;background:linear-gradient(90deg,rgba(255,140,66,.08),transparent 70%),var(--bg-tertiary)}.prg-chapter-link.is-submitted .prg-chapter-link-meta{color:var(--accent-lime)}.prg-chapter-link.is-approved .prg-chapter-link-meta{color:#3fb950}.prg-chapter-link.is-rework .prg-chapter-link-meta{color:var(--prg-text)}a.prg-chapter-link,a.prg-chip{text-decoration:none}.prg-chip.is-link{cursor:pointer;color:var(--prg-text);border-color:#ff8c4273;background:var(--prg-dim);font-family:inherit}.prg-chip.is-link:hover{border-color:var(--prg-text)}.prg-submit{padding:14px 18px;border-radius:var(--radius-md);border:1px solid rgba(255,140,66,.45);background:var(--prg-dim)}.prg-submit-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--prg-text);margin-bottom:6px}.prg-submit p{margin:0;font-size:14.5px;line-height:1.65;color:var(--text-secondary)}.prg-submit a{color:var(--prg-text);font-weight:700}.prg-task-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-color:#ff8c4280;background:linear-gradient(180deg,rgba(255,140,66,.07),transparent 200px),var(--bg-secondary)}.prg-task-cta .prg-p{margin:8px 0 0}.prg-task-cta-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--prg-text);margin-bottom:6px}.prg-task-cta-btn,.pq-btn{flex-shrink:0;cursor:pointer;font:inherit;font-weight:700;font-size:14px;color:#101014;background:var(--prg);border:1px solid var(--prg);border-radius:var(--radius-pill);padding:10px 18px;transition:filter .15s,opacity .15s}.prg-task-cta-btn:hover,.pq-btn:hover:not(:disabled){filter:brightness(1.08)}.prg-task-body{display:flex;flex-direction:column;gap:16px}.prg-files{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}.prg-files-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--prg-text)}.prg-file{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .15s}.prg-file:hover:not(:disabled){border-color:#ff8c4299}.prg-file:disabled{cursor:progress;opacity:.75}.prg-file-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--prg-dim);color:var(--prg-text)}.prg-file-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.prg-file-name{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.prg-file-title{font-size:12.5px;color:var(--text-tertiary)}.prg-file-action{font-size:13px;font-weight:700;color:var(--prg-text);white-space:nowrap}.prg-files-error{font-size:13px;color:#ff5f5f}.prg-trainer{padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);margin:4px 0 14px}.prg-trainer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prg-trainer-count{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin-top:4px}.prg-trainer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:6px}.prg-trainer-cat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);font-size:13px}.prg-trainer-cat-title{color:var(--text-secondary);font-weight:600;min-width:0;overflow-wrap:anywhere}.prg-trainer-cat-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.prg-trainer-cat.is-done{border-color:#3fb95073}.prg-trainer-cat.is-done .prg-trainer-cat-count{color:#3fb950;font-weight:700}.pq{display:flex;flex-direction:column;gap:16px;scroll-margin-top:20px}.pq-alert{padding:12px 16px;border-radius:var(--radius-md);border:1px solid rgba(255,95,95,.4);background:#ff5f5f14;color:var(--text-secondary);font-size:14px}.pq-status{padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary)}.pq-status p{margin:8px 0 0;color:var(--text-secondary);font-size:14.5px;line-height:1.6}.pq-status-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pq-status-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:var(--radius-pill);background:var(--bg-tertiary);color:var(--text-primary)}.pq-status-date{font-size:12.5px;color:var(--text-tertiary)}.pq-status.is-submitted{border-color:#ffd60a66}.pq-status.is-submitted .pq-status-badge{background:#ffd60a24;color:var(--accent-lime)}.pq-status.is-approved{border-color:#3fb95073}.pq-status.is-approved .pq-status-badge{background:#3fb95026;color:#3fb950}.pq-status.is-rework{border-color:#ff8c428c}.pq-status.is-rework .pq-status-badge{background:var(--prg-dim);color:var(--prg-text)}.pq-comment{margin-top:12px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex;flex-direction:column;gap:4px;font-size:14.5px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.pq-comment b{color:var(--text-primary);font-size:12.5px}.pq-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-top:6px}.pq-variant{display:flex;flex-direction:column;gap:6px;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:18px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);transition:border-color .15s,transform .15s}.pq-variant:hover{border-color:#ff8c4299;transform:translateY(-2px)}.pq-variant.is-active{border-color:var(--prg)}.pq-variant-title{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary)}.pq-variant-count{font-size:12.5px;font-weight:700;color:var(--prg-text)}.pq-variant-text{flex:1;font-size:14px;line-height:1.6;color:var(--text-secondary)}.pq-variant-go{font-size:13px;font-weight:700;color:var(--prg-text);margin-top:4px}.pq-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pq-counter{font-family:var(--font-syne);font-size:13px;font-weight:700;color:var(--prg-text);letter-spacing:.04em;text-transform:uppercase}.pq-variant-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:3px 10px}.pq-variant-chip:hover{border-color:#ff8c4299;color:var(--text-primary)}.pq-progress{height:4px;border-radius:4px;background:var(--bg-tertiary);margin:12px 0;overflow:hidden}.pq-progress span{display:block;height:100%;background:var(--prg);border-radius:4px;transition:width .25s}.pq-dots{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}.pq-dot{width:30px;height:30px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-tertiary);transition:border-color .15s}.pq-dot:hover{border-color:#ff8c4299}.pq-dot.is-filled{background:var(--prg-dim);color:var(--prg-text);border-color:#ff8c4259}.pq-dot.is-current{border-color:var(--prg);color:var(--text-primary);box-shadow:0 0 0 1px var(--prg)}.pq-topic{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px}.pq-question{font-family:var(--font-syne);font-size:19px;font-weight:700;line-height:1.45;color:var(--text-primary);margin:0 0 16px;text-wrap:pretty}.pq-answer{width:100%;min-height:220px;resize:vertical;box-sizing:border-box;padding:14px 16px;font:inherit;font-size:15px;line-height:1.7;color:var(--text-primary);background:var(--bg-primary, #08080A);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:border-color .15s}.pq-answer:focus{border-color:var(--prg)}.pq-answer::placeholder{color:var(--text-tertiary)}.pq-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--text-tertiary)}.pq-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}.pq-answered{font-size:13px;color:var(--text-tertiary)}.pq-btn:disabled{opacity:.4;cursor:not-allowed}.pq-btn.is-ghost{color:var(--text-primary);background:transparent;border-color:var(--border-color)}.pq-btn.is-ghost:hover:not(:disabled){border-color:var(--prg);filter:none}.pq-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-bottom:10px}.pq-review-head .pq-confirm{justify-content:flex-end}.pq-review-head .prg-section-title{flex:1 1 240px;min-width:0}.pq-review-head>.pq-btn{flex-shrink:0}.pq-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--text-secondary)}.pq-review,.pq-sent{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.pq-review-item{display:flex;gap:12px;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);transition:border-color .15s}.pq-review-item:hover{border-color:#ff8c4299}.pq-review-item.is-empty{border-style:dashed}.pq-review-num{flex-shrink:0;width:26px;font-weight:700;color:var(--prg-text);font-variant-numeric:tabular-nums}.pq-review-body{display:flex;flex-direction:column;gap:4px;min-width:0}.pq-review-q{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.5}.pq-review-a{font-size:13.5px;color:var(--text-tertiary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.pq-review-item.is-empty .pq-review-a{color:var(--text-tertiary);font-style:italic}.pq-sent li{padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary)}.pq-sent-q{display:flex;gap:10px;font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.5}.pq-sent-q span{color:var(--prg-text);flex-shrink:0}.pq-sent-a{margin-top:8px;font-size:14.5px;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.pq-sent-a.is-empty{color:var(--text-tertiary);font-style:italic}.prg-chapter-card:focus-visible,.prg-toc-item:focus-visible{outline:2px solid var(--prg-text);outline-offset:2px}.prg-chapter-num{font-family:var(--font-syne);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--prg-text)}.prg-chapter-title{flex:1;font-family:var(--font-syne);font-size:17px;font-weight:700;line-height:1.3;color:var(--text-primary)}.prg-chapter-meta{font-size:12.5px;color:var(--text-tertiary)}.prg-chapter-open{font-size:13px;font-weight:700;color:var(--prg-text)}.prg-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.prg-toc{position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px}.prg-toc-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);padding:4px 8px 8px}.prg-toc-item{display:grid;grid-template-columns:minmax(30px,auto) minmax(0,1fr);gap:8px;align-items:start;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:8px;cursor:pointer;color:var(--text-secondary);font:500 13px/1.4 var(--font-inter)}.prg-toc-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.prg-toc-num{font:700 11px/1.7 var(--font-syne);color:var(--prg-text);white-space:nowrap}.prg-toc-item.is-task{margin-top:4px;border-top:1px solid var(--border-color);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:12px;color:var(--text-primary);font-weight:600}.prg-content{display:flex;flex-direction:column;gap:16px;min-width:0}.prg-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:26px 30px;scroll-margin-top:20px;min-width:0}.prg-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.prg-section-num{flex:none;font-family:var(--font-syne);font-size:13px;font-weight:700;color:#101014;background:var(--prg);border-radius:var(--radius-pill);padding:3px 10px}.prg-section-title{font-family:var(--font-syne);font-size:20px;font-weight:700;line-height:1.3;color:var(--text-primary);margin:0;text-wrap:balance}.prg-h3{font-family:var(--font-syne);font-size:16.5px;font-weight:700;color:var(--text-primary);margin:26px 0 10px}.prg-h4{font-size:15px;font-weight:700;color:var(--text-primary);margin:20px 0 8px}.prg-p{color:var(--text-secondary);font-size:15px;line-height:1.75;margin:0 0 12px;max-width:85ch}.prg-small{color:var(--text-tertiary);font-size:13px;line-height:1.6;margin:0 0 12px}.prg-section strong,.prg-part strong{color:var(--text-primary)}.prg-section em,.prg-part em{color:var(--text-primary);font-style:italic}.prg-ul,.prg-ol,.prg-letters{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;max-width:85ch}.prg-ul li,.prg-ol li{position:relative;padding-left:22px;color:var(--text-secondary);font-size:15px;line-height:1.7}.prg-ul li:before{content:"";position:absolute;left:5px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--prg)}.prg-ol{counter-reset:prg}.prg-ol li{counter-increment:prg;padding-left:30px}.prg-ol li:before{content:counter(prg);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--prg-dim);color:var(--prg-text);font:700 11px var(--font-syne)}.prg-letters li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px;color:var(--text-secondary);font-size:15px;line-height:1.7}.prg-letter{color:var(--prg-text);font-weight:700}.prg-table{margin:16px 0 18px}.prg-table figcaption{font-size:12.5px;color:var(--text-tertiary);margin-bottom:8px}.prg-table-scroll{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.prg-table table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}.prg-table th{text-align:left;background:var(--bg-tertiary);color:var(--text-primary);font:700 12.5px var(--font-syne);padding:11px 14px;border-bottom:1px solid var(--border-color);vertical-align:bottom}.prg-table td{color:var(--text-secondary);padding:11px 14px;border-bottom:1px solid var(--border-color);vertical-align:top;line-height:1.55}.prg-table tr:last-child td{border-bottom:none}.prg-table td:first-child{color:var(--text-primary);font-weight:600}.prg-table table.is-numeric{min-width:420px}.prg-table table.is-numeric td:not(:first-child),.prg-table table.is-numeric th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.prg-quote{margin:14px 0 18px;padding:16px 20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.prg-quote p{color:var(--text-secondary);font-size:15px;line-height:1.75;margin:0 0 10px;font-style:italic}.prg-quote p:last-child{margin-bottom:0}.prg-formula{margin:12px 0 16px;padding:14px 18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:inline-flex;flex-direction:column;gap:4px;max-width:100%}.prg-formula-row{display:grid;grid-template-columns:minmax(18px,max-content) minmax(0,1fr);gap:10px;font:500 14px/1.6 var(--font-mono);color:var(--text-primary)}.prg-formula-op:empty{width:0}.prg-tex .katex{font-size:1.06em}.prg-texblock{margin:12px 0 16px;padding:12px 18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:grid;gap:4px;color:var(--text-primary)}.prg-texrow{display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.prg-texblock.is-labeled .prg-texrow{grid-template-columns:minmax(120px,210px) minmax(0,1fr);column-gap:18px}.prg-texblock.is-labeled .prg-texrow+.prg-texrow{border-top:1px dashed var(--border-color);padding-top:4px}.prg-texlabel{color:var(--prg-text);font-size:13px;font-weight:600;line-height:1.45}.prg-tex-display{display:block;min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 0}.prg-tex-display .katex-display{margin:6px 0;text-align:left}.prg-tex-display .katex-display>.katex{text-align:left;font-size:1.12em}.prg-texblock:not(.is-labeled) .prg-tex-display .katex-display,.prg-texblock:not(.is-labeled) .prg-tex-display .katex-display>.katex{text-align:center}@media (max-width: 640px){.prg-texblock.is-labeled .prg-texrow{grid-template-columns:minmax(0,1fr)}.prg-texlabel{padding-top:6px}}.prg-formula-op{color:var(--prg-text);font-weight:700}.prg-code{margin:12px 0 16px;padding:14px 18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto;font:500 13px/1.6 var(--font-mono);color:var(--text-primary);white-space:pre;-moz-tab-size:4;tab-size:4}.prg-code code{font:inherit;background:none;padding:0}.prg-code,.prg-code code{font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.prg-divider{display:flex;align-items:center;gap:14px;margin:14px 0 0;color:var(--prg-text);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.prg-divider:before,.prg-divider:after{content:"";flex:1;height:1px;background:#ff8c4259}.prg-toc-divider{margin:8px 0 2px;padding:10px 10px 4px;border-top:1px solid var(--border-color);color:var(--prg-text);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.prg-formula-row>span:last-child{overflow-wrap:anywhere}.prg-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 16px}.prg-flow-item{display:inline-flex;align-items:center;gap:6px}.prg-flow-step{background:var(--prg-dim);border:1px solid rgba(255,140,66,.4);color:var(--text-primary);border-radius:var(--radius-pill);padding:5px 12px;font-size:13.5px;font-weight:600}.prg-flow-arrow{color:var(--prg-text)}.prg-reading{margin:4px 0 16px;display:flex;flex-direction:column;gap:8px}.prg-reading-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.prg-reading-item{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:inherit;transition:border-color .15s}.prg-reading-item:hover{border-color:#ff8c428c}.prg-reading-title{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.45}.prg-reading-url{font-size:12px;color:var(--prg-text);word-break:break-all}.prg-frac{display:inline-flex;align-items:center;gap:12px;margin:10px 0 16px;padding:14px 18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);max-width:100%;font:500 14px/1.4 var(--font-mono);color:var(--text-primary)}.prg-frac-label{color:var(--prg-text);font-weight:700;white-space:nowrap}.prg-frac-body{display:inline-flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.prg-frac-num{padding:0 6px 6px;border-bottom:1.5px solid var(--text-secondary)}.prg-frac-den{padding:6px 6px 0}.prg-tree{margin:10px 0 16px;padding:14px 18px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;line-height:1.6;color:var(--text-secondary);overflow-x:auto}.prg-tree-row{position:relative;white-space:nowrap}.prg-tree-row.lvl-0{color:var(--text-primary);font-weight:700}.prg-tree-row.lvl-1{color:var(--text-primary)}.prg-tree-row:not(.lvl-0):before{content:"└";color:var(--prg-text);margin-right:6px}.prg-note{margin:12px 0 16px;padding:12px 16px;border-radius:var(--radius-md);background:#ff8c4214;border:1px solid rgba(255,140,66,.3);color:var(--text-secondary);font-size:14.5px;line-height:1.65}.prg-example{display:flex;flex-direction:column;gap:4px;margin:6px 0 18px;padding:12px 16px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:14.5px;line-height:1.65}.prg-example-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--prg-text)}.prg-split,.prg-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}.prg-split-col,.prg-compare-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 16px;color:var(--text-secondary);font-size:14.5px;line-height:1.65}.prg-split-title,.prg-compare-label{font-weight:700;margin-bottom:8px;font-size:13.5px}.prg-split-col.is-yes .prg-split-title,.prg-compare-item.is-yes .prg-compare-label{color:var(--success)}.prg-split-col.is-no .prg-split-title,.prg-compare-item.is-no .prg-compare-label{color:var(--text-tertiary)}.prg-split-col.is-yes,.prg-compare-item.is-yes{border-color:#3fb95059}.prg-split-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.prg-split-col li{position:relative;padding-left:16px}.prg-split-col li:before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6}.prg-terms{margin-top:18px;border-top:1px solid var(--border-color);padding-top:12px}.prg-terms summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-tertiary);list-style:none;display:inline-flex;align-items:center;gap:8px}.prg-terms summary::-webkit-details-marker{display:none}.prg-terms summary:before{content:"+";color:var(--prg-text);font-weight:700;width:12px}.prg-terms[open] summary:before{content:"−"}.prg-terms summary span{background:var(--bg-tertiary);border-radius:999px;padding:0 7px;font-size:11.5px}.prg-terms summary:hover{color:var(--text-primary)}.prg-terms dl{margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.prg-term{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:10px 12px}.prg-term dt{font:700 13px var(--font-mono);color:var(--prg-text);margin-bottom:2px}.prg-term dd{margin:0;font-size:13px;line-height:1.55;color:var(--text-secondary)}.prg-start{border-color:#ff8c4280;background:linear-gradient(180deg,rgba(255,140,66,.06),transparent 240px),var(--bg-secondary)}.prg-start .prg-section-num{color:var(--prg-text)}.prg-page>.prg-start{margin-bottom:28px}.prg-toc-item.is-start{color:var(--text-primary);font-weight:600}.prg-assignment{border-color:#ff8c4280;background:linear-gradient(180deg,rgba(255,140,66,.06),transparent 240px),var(--bg-secondary)}.prg-assign-meta{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:10px;margin-bottom:16px}.prg-assign-meta>div{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.prg-assign-meta span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.prg-assign-meta b{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.5}.prg-situation{margin-bottom:16px;padding:16px 18px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.prg-situation-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--prg-text);margin-bottom:8px}.prg-situation p{color:var(--text-secondary);font-size:15px;line-height:1.75;margin:0 0 10px}.prg-situation p:last-child{margin-bottom:0}.prg-parts{display:flex;flex-direction:column;gap:12px}.prg-part{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px 18px 6px}.prg-part-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.prg-part-head h3{font-family:var(--font-syne);font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.prg-criteria{margin-top:16px;padding:14px 18px;border-radius:var(--radius-md);background:var(--bg-tertiary)}.prg-criteria-title{font-family:var(--font-syne);font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.prg-criteria ul{margin:0;padding-left:18px;color:var(--text-secondary);font-size:14.5px;line-height:1.7}@media (max-width: 1000px){.prg-layout{grid-template-columns:1fr}.prg-toc{position:static}}@media (max-width: 640px){.prg-hero{padding:22px 18px}.prg-section{padding:20px 16px}.prg-section-head{flex-direction:column;gap:8px}.prg-split,.prg-compare,.prg-assign-meta{grid-template-columns:1fr}.pq-question{font-size:17px}.pq-nav .pq-btn{flex:1;white-space:nowrap}.pq-answered{order:-1;width:100%;text-align:center}.pq-confirm,.prg-task-cta-btn{width:100%}.prg-p,.prg-ul li,.prg-ol li,.prg-letters li,.prg-situation p{font-size:14.5px}}@media (prefers-reduced-motion: reduce){.wk-program-open:hover,.pq-variant:hover{transform:none}.pq-progress span{transition:none}}.hwup-month{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;border-color:#ff8c4273;background:linear-gradient(180deg,rgba(255,140,66,.07),transparent 180px),var(--bg-secondary)}.hwup-month-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffb870}.hwup-month-sep{margin:4px 0 10px;color:var(--text-tertiary)}.hwup-month-title{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.hwup-month-text{margin:0;font-size:14px;line-height:1.6;color:var(--text-secondary)}.hwup-month-text a{color:#ffb870;font-weight:700}.hwup-month-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);transition:border-color .15s}.hwup-month-row:hover{border-color:#ff8c4299}.hwup-month-num{font-size:12px;font-weight:700;color:#ffb870;background:#ff8c4224;border-radius:var(--radius-pill);padding:3px 10px;white-space:nowrap}.hwup-month-name{flex:1;min-width:180px;font-weight:600;font-size:14.5px;color:var(--text-primary)}.hwup-month-status{font-size:12.5px;font-weight:600;color:var(--text-tertiary);white-space:nowrap}.hwup-month-status.is-submitted{color:var(--accent-lime)}.hwup-month-status.is-approved{color:#3fb950}.hwup-month-status.is-rework{color:#ffb870}.hwup-month-go{font-size:13px;font-weight:700;color:#ffb870;white-space:nowrap}.prg-tracks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.prg-track-card{display:flex;flex-direction:column;gap:10px;text-align:left;cursor:pointer;color:inherit;font:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;transition:border-color .15s,transform .15s}.prg-track-card:hover{border-color:#ff8c4299;transform:translateY(-1px)}.prg-track-card:focus-visible{outline:2px solid var(--prg-text);outline-offset:2px}.prg-track-name{font-family:var(--font-syne);font-size:24px;font-weight:700;color:var(--text-primary)}.prg-track-about{flex:1;font-size:14px;line-height:1.55;color:var(--text-secondary)}.prg-track-go{font-size:13.5px;font-weight:700;color:var(--prg-text)}.prg-track-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--text-tertiary)}.prg-track-switch button{cursor:pointer;font:inherit;font-weight:700;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:4px 14px}.prg-track-switch button:hover{border-color:#ff8c4299}.prg-track-switch button.is-active{color:var(--prg-text);border-color:var(--prg-text);background:var(--prg-dim)}.prg-plot{margin:14px 0 18px;padding:12px 14px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.prg-plot-svg{color:var(--text-secondary)}.prg-plot-svg .plot-svg{display:block;width:100%;height:auto;font-family:inherit}.plot-grid line{stroke:currentColor;stroke-opacity:.12}.plot-axis line{stroke:currentColor;stroke-opacity:.55}.plot-ticks text{fill:currentColor;font-size:11.5px}.plot-label{fill:currentColor;font-size:12.5px;font-weight:600}.plot-note{font-size:12px;font-weight:700}.plot-legend{fill:var(--text-primary);font-size:12px}.prg-plot figcaption{margin-top:6px;color:var(--text-tertiary);font-size:13px;line-height:1.5;text-align:center}.prg-hero-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:stretch;margin-bottom:20px}.prg-hero-row>.prg-hero{margin-bottom:0}.prg-interview{display:flex;flex-direction:column;gap:8px;min-width:0;background:radial-gradient(420px 180px at 0% 0%,rgba(255,140,66,.12),transparent 70%),var(--bg-secondary);border:1px solid rgba(255,140,66,.4);border-radius:var(--radius-lg);padding:22px 22px 18px}.prg-interview-kicker{align-self:flex-start;font-family:var(--font-syne);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3fb950;background:#3fb9501f;border:1px solid rgba(63,185,80,.4);border-radius:var(--radius-pill);padding:4px 10px}.prg-interview-title{font-family:var(--font-syne);font-size:18px;font-weight:700;line-height:1.3;color:var(--text-primary);margin:4px 0 0}.prg-interview-lead{margin:0;color:var(--text-secondary);font-size:13.5px;line-height:1.55}.prg-interview-sec{margin-top:6px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.prg-interview-sec summary{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none}.prg-interview-sec summary::-webkit-details-marker{display:none}.prg-interview-sec summary:after{content:"▾";margin-left:4px;color:var(--prg-text);transition:transform .15s}.prg-interview-sec:not([open]) summary:after{transform:rotate(-90deg)}.prg-interview-num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--prg-dim);color:var(--prg-text);font-weight:700;font-size:13px;flex-shrink:0}.prg-interview-name{flex:1;font-weight:700;font-size:14.5px;color:var(--text-primary)}.prg-interview-count{font-size:12px;color:var(--text-tertiary)}.prg-interview-list{margin:0;padding:4px 16px 14px 38px;max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;color:var(--text-secondary);font-size:13.5px;line-height:1.5}.prg-interview-list li::marker{color:var(--prg-text);font-weight:700}@media (max-width: 960px){.prg-hero-row{grid-template-columns:minmax(0,1fr)}}.vac-hero{background:radial-gradient(640px 220px at 100% 0%,rgba(255,140,66,.14),transparent 70%),var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:26px 30px;margin-bottom:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.vac-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.vac-total{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border-radius:999px;background:#ff8c4224;border:1px solid rgba(255,140,66,.35);color:#ff8c42;font-family:var(--font-syne);font-size:15px;font-weight:700;letter-spacing:0;line-height:1;font-variant-numeric:tabular-nums}.vac-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.vac-toolbar .vac-filters{margin-bottom:0;flex:1 1 auto;min-width:0}.vac-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vac-pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.vac-pager.is-empty{min-height:0}.vac-pager-btn{cursor:pointer;font:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;min-width:34px;height:34px;padding:0 8px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.vac-pager-btn:hover:not(:disabled){border-color:#ff8c4299;color:var(--text-primary)}.vac-pager-btn.is-active{color:var(--prg-text);border-color:var(--prg-text);background:var(--prg-dim)}.vac-pager-btn:disabled{opacity:.4;cursor:default}.vac-pager-gap{color:var(--text-tertiary);padding:0 2px}.vac-bottom{display:flex;justify-content:center;margin-top:20px}.vac-filters button{cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:6px 14px}.vac-filters button:hover{border-color:#ff8c4299}.vac-filters button.is-active{color:var(--prg-text);border-color:var(--prg-text);background:var(--prg-dim)}.vac-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}@media (max-width: 1250px){.vac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.vac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.vac-grid{grid-template-columns:minmax(0,1fr)}}.vac-card.is-skeleton{cursor:default;pointer-events:none}.vac-card.is-skeleton:hover{transform:none;border-color:var(--border-color)}.vac-sk{display:block;border-radius:6px;background:linear-gradient(100deg,var(--bg-tertiary) 30%,rgba(255,255,255,.09) 50%,var(--bg-tertiary) 70%);background-size:250% 100%;animation:vac-shimmer .5s linear infinite}.vac-sk-badge{width:72px;height:22px;border-radius:var(--radius-pill)}.vac-sk-title{width:92%;height:18px}.vac-sk-title.is-short{width:60%}.vac-sk-line{width:100%;height:12px}.vac-sk-line.is-short{width:70%}.vac-sk-foot{width:90px;height:12px}.vac-sk-foot.is-right{width:70px;margin-left:auto}@keyframes vac-shimmer{0%{background-position:125% 0}to{background-position:-125% 0}}@media (prefers-reduced-motion: reduce){.vac-sk{animation-duration:1.6s}}.vac-card{display:flex;flex-direction:column;gap:10px;text-align:left;cursor:pointer;color:inherit;font:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:18px 18px 16px;height:100%;transition:border-color .15s,transform .15s}.vac-card:hover{border-color:#ff8c4299;transform:translateY(-1px)}.vac-card:focus-visible{outline:2px solid var(--prg-text);outline-offset:2px}.vac-badges{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}.vac-badge{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.03em;color:var(--vac);background:color-mix(in srgb,var(--vac) 14%,transparent);border:1px solid color-mix(in srgb,var(--vac) 45%,transparent);border-radius:var(--radius-pill);padding:3px 10px}.vac-card-title{font-family:var(--font-syne);font-size:17px;font-weight:700;line-height:1.3;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}.vac-card-desc{flex:1;color:var(--text-secondary);font-size:14px;line-height:1.55;white-space:normal;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:6.2em}.vac-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--border-color);font-size:13px}.vac-card-contact{color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vac-card-go{color:var(--prg-text);font-weight:700;white-space:nowrap}.vac-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:28px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.vac-item-desc{color:var(--text-secondary);font-size:15px;line-height:1.75;white-space:pre-line;max-width:75ch}.vac-item-contact{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border-radius:var(--radius-md);border:1px solid rgba(255,140,66,.45);background:var(--prg-dim);font-size:15px;font-weight:600;color:var(--text-primary)}.vac-item-contact a{color:var(--prg-text);text-decoration:underline;text-underline-offset:3px;word-break:break-all}.vac-item-contact-label{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.vac-pin{max-width:380px;margin:40px auto 0;text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:32px 28px;display:flex;flex-direction:column;align-items:center;gap:10px}.vac-pin-icon{font-size:30px}.vac-pin-title{font-family:var(--font-syne);font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.vac-pin-text{margin:0;color:var(--text-secondary);font-size:14px}.vac-pin-boxes{position:relative;display:flex;gap:10px;margin-top:8px;cursor:text}.vac-pin-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;font-size:16px;caret-color:transparent}.vac-pin-box{width:48px;height:56px;display:grid;place-items:center;font-size:26px;color:var(--text-primary);background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:12px}.vac-pin-input:focus~.vac-pin-box.is-active{border-color:var(--prg-text);box-shadow:0 0 0 3px var(--prg-dim)}.vac-pin-boxes.is-error .vac-pin-box{border-color:#f85149;animation:vac-shake .3s}@keyframes vac-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.vac-pin-error{min-height:18px;color:#f85149;font-size:13px;font-weight:600}.vac-pin-back{margin-top:4px;background:none;border:none;color:var(--prg-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer}@media (max-width: 640px){.vac-hero,.vac-item{padding:20px 18px}}.dt-page{max-width:none;width:100%}.dt-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:30px 32px;margin-bottom:26px;border:1px solid var(--border-color);border-radius:var(--radius-xl);background:radial-gradient(520px 260px at 100% 0%,rgba(255,214,10,.16),transparent 70%),radial-gradient(420px 220px at 0% 100%,rgba(255,95,145,.1),transparent 70%),var(--bg-secondary)}.dt-hero-text{max-width:760px;display:flex;flex-direction:column;gap:10px}.dt-tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-lime);background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);border-radius:var(--radius-pill);padding:4px 11px}.dt-title{font-family:var(--font-syne);font-size:34px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);margin:0}.dt-lead{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.6}.dt-lead-more{font-size:14px;color:var(--text-tertiary)}.dt-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.dt-hero-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.dt-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-tertiary)}.dt-status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.dt-status.is-on{color:var(--success)}.dt-status.is-on .dt-status-dot{background:var(--success);box-shadow:0 0 0 4px var(--success-dim);animation:dt-pulse 2s infinite}@keyframes dt-pulse{50%{box-shadow:0 0 0 7px #3fb9500a}}.dt-btn-hide{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;font-size:15px;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);transition:border-color .2s,color .2s}.dt-btn-hide:hover{border-color:var(--danger);color:var(--danger)}.dt-btn-edit{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;font-size:15px;padding:12px 24px;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);transition:border-color .2s,color .2s}.dt-btn-edit:hover{border-color:var(--accent-lime);color:var(--accent-lime)}.dt-hero-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.dt-hero-btn{min-width:220px;height:48px;padding:0 22px;box-sizing:border-box}.dt-btn-hide:disabled,.dt-submit:disabled{opacity:.6;cursor:default;transform:none}.dt-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.dt-section-head h2{font-family:var(--font-syne);font-size:18px;font-weight:700;margin:0;color:var(--text-primary)}.dt-section-head span{font-size:13px;font-weight:700;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-pill);padding:2px 9px}.dt-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}@media (max-width: 1280px){.dt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 960px){.dt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media (max-width: 540px){.dt-grid{grid-template-columns:minmax(0,1fr)}}.dt-card{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform .2s,border-color .2s,box-shadow .2s}.dt-card:hover{transform:translateY(-3px);border-color:#ffd60a73;box-shadow:var(--shadow-hover)}.dt-card.is-mine{border-color:#ffd60ab3;box-shadow:0 0 0 1px #ffd60a40,var(--shadow-md)}.dt-card-photo{position:relative;aspect-ratio:4 / 5;background:var(--bg-tertiary);overflow:hidden}.dt-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.dt-card:hover .dt-card-photo img{transform:scale(1.04)}.dt-card-photo:after{content:"";position:absolute;top:45%;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(8,8,10,.92),transparent);pointer-events:none}.dt-card-name{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;font-family:var(--font-syne);font-size:19px;font-weight:700;color:#fff;line-height:1.25;overflow-wrap:anywhere}.dt-card-mine{position:absolute;top:12px;left:12px;z-index:1;font-size:11.5px;font-weight:800;letter-spacing:.04em;color:var(--on-accent);background:var(--accent-lime);border-radius:var(--radius-pill);padding:4px 10px}.dt-card-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}.dt-card-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.dt-card-about{flex:1;margin:0 0 8px;color:var(--text-secondary);font-size:14px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.dt-card-more{align-self:flex-start;margin:-6px 0 8px;padding:0;background:none;border:none;cursor:pointer;font:inherit;font-size:13.5px;font-weight:700;color:var(--accent-lime)}.dt-card-more:hover{text-decoration:underline;text-underline-offset:3px}.dt-view{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;padding:0 22px 22px}.dt-view-photo{aspect-ratio:4 / 5;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-tertiary)}.dt-view-photo img{width:100%;height:100%;object-fit:cover;display:block}.dt-view-info{display:flex;flex-direction:column;gap:8px;min-width:0}.dt-view-name{margin:0 0 8px;font-family:var(--font-syne);font-size:24px;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.dt-view-about{margin:0 0 16px;color:var(--text-secondary);font-size:15px;line-height:1.65;white-space:pre-line;overflow-wrap:anywhere}.dt-view-contact{margin-top:auto}@media (max-width: 640px){.dt-view{grid-template-columns:minmax(0,1fr)}.dt-view-photo{max-width:260px;width:100%;margin:0 auto}}.dt-card-contact{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 13px;border-radius:var(--radius-md);background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);color:var(--accent-lime);font-size:13.5px;font-weight:700;text-decoration:none;transition:background .2s}.dt-card-contact:hover{background:#ffd60a38}.dt-card-contact-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-empty{text-align:center;padding:48px 20px;color:var(--text-secondary);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-lg)}.dt-empty-icon{font-size:34px;margin-bottom:8px}.dt-loading{color:var(--text-tertiary)}.dt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:700;display:flex;align-items:center;justify-content:center;padding:20px;background:#040406b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:dt-fade .15s ease-out}@keyframes dt-fade{0%{opacity:0}}.dt-modal{width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-hover);animation:dt-rise .2s ease-out}.dt-modal.is-wide{max-width:760px}@keyframes dt-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}}.dt-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 14px}.dt-modal-title{font-family:var(--font-syne);font-size:19px;font-weight:700;margin:0;color:var(--text-primary)}.dt-modal-close{background:none;border:none;color:var(--text-tertiary);font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.dt-modal-close:hover{color:var(--text-primary)}.dt-form{padding:4px 22px 22px}.dt-form-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.dt-fields{display:flex;flex-direction:column;gap:14px}.dt-field{display:flex;flex-direction:column;gap:7px}.dt-label{display:flex;justify-content:space-between;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.dt-count{font-weight:600;letter-spacing:0}.dt-input{width:100%;font:inherit;font-size:15px;color:var(--text-primary);background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s}.dt-input::placeholder{color:var(--text-tertiary)}.dt-input:focus{border-color:var(--accent-lime);box-shadow:0 0 0 3px var(--accent-dim)}.dt-input.is-error,.dt-photo-pick.is-error{border-color:var(--danger)}.dt-textarea{resize:vertical;min-height:120px;line-height:1.5}.dt-photo-pick{position:relative;display:block;width:100%;aspect-ratio:4 / 5;padding:0;overflow:hidden;cursor:pointer;background:var(--bg-tertiary);border:1.5px dashed var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font:inherit;transition:border-color .15s}.dt-photo-pick:hover{border-color:var(--accent-lime)}.dt-photo-pick.has-photo{border-style:solid}.dt-photo-pick img{width:100%;height:100%;object-fit:cover;display:block}.dt-photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;font-size:14px;font-weight:600}.dt-photo-empty small{font-size:12px;font-weight:500;color:var(--text-tertiary)}.dt-photo-plus{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:26px;color:var(--accent-lime);background:var(--accent-dim)}.dt-photo-change{position:absolute;left:10px;right:10px;bottom:10px;padding:8px;border-radius:var(--radius-sm);background:#08080ac7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-primary);font-size:13px;font-weight:700}.dt-form-foot{margin-top:18px;display:flex;flex-direction:column;gap:10px}.dt-form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dt-error{min-height:18px;color:var(--danger);font-size:13px;font-weight:600}.dt-hero-actions .dt-error{min-height:0}.dt-confirm{padding:0 22px 22px;display:flex;flex-direction:column;gap:12px}.dt-confirm-text{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.55}.dt-confirm-card{max-width:240px;width:100%;margin:4px auto}.dt-confirm-card .dt-card:hover{transform:none}@media (max-width: 1100px){.dt-hero{grid-template-columns:minmax(0,1fr)}.dt-hero-actions{align-items:flex-start}.dt-hero-buttons{justify-content:flex-start}}@media (max-width: 768px){.dt-hero{padding:22px 20px}.dt-title{font-size:26px}.dt-hero-actions{align-items:stretch;width:100%}.dt-hero-buttons{justify-content:stretch}.dt-hero-btn{min-width:0}.dt-form-grid{grid-template-columns:minmax(0,1fr)}.dt-photo-pick{max-width:220px;margin:0 auto}.dt-overlay{padding:10px;align-items:flex-end}.dt-modal{max-height:calc(100vh - 20px)}}.cs-page{width:100%}.cs-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:30px 32px;margin-bottom:18px;border:1px solid var(--border-color);border-radius:var(--radius-xl);background:radial-gradient(560px 260px at 100% 0%,rgba(255,214,10,.14),transparent 70%),var(--bg-secondary)}.cs-title{font-family:var(--font-syne);font-size:34px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);margin:0}.cs-lead{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.6}.cs-credit{display:flex;gap:12px;align-items:flex-start;align-self:stretch;padding:12px 16px;border-radius:var(--radius-md);background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);color:var(--text-secondary);font-size:14px;line-height:1.5}.cs-credit b{color:var(--accent-lime)}.cs-credit-icon{display:flex;flex-shrink:0;color:var(--accent-lime);padding-top:1px}.cs-credit.is-compact{font-size:13px;padding:10px 13px}.cs-top{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:stretch;margin-bottom:18px}.cs-top .cs-hero{margin-bottom:0}.cs-top .cs-credit{margin-top:auto}.cs-top .cs-lead{font-size:16px;max-width:640px}.cs-bundles{display:flex;flex-direction:column;gap:12px}.cs-bundle{position:relative;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:14px 18px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.cs-bundle.is-best{border-color:var(--accent-lime);box-shadow:0 0 0 1px #ffd60a4d,0 12px 36px #ffd60a14;background:linear-gradient(160deg,rgba(255,214,10,.1),transparent 60%),var(--bg-secondary)}.cs-bundle-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cs-bundle-flag{font-size:11.5px;font-weight:800;color:var(--on-accent);background:var(--accent-lime);border-radius:var(--radius-pill);padding:4px 11px;white-space:nowrap}.cs-bundle-name{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.cs-bundle-price{font-family:var(--font-syne);font-size:26px;font-weight:700;color:var(--text-primary)}.cs-bundle.is-best .cs-bundle-price{color:var(--accent-lime)}.cs-bundle-sub{font-size:13px;color:var(--success);font-weight:600}.cs-bundle-sub.is-plain,.cs-bundle-sub s,.cs-option-price s,.cs-total-price s{color:var(--text-tertiary);font-weight:500}.cs-bundle-btn{margin-top:10px;align-self:stretch}.cs-bundle:not(.is-best){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name price" "sub price";align-content:center;column-gap:12px}.cs-bundle:not(.is-best) .cs-bundle-name{grid-area:name}.cs-bundle:not(.is-best) .cs-bundle-sub{grid-area:sub}.cs-bundle:not(.is-best) .cs-bundle-price{grid-area:price;align-self:center}.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cs-card{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--radius-lg);background:radial-gradient(360px 180px at 100% 0%,color-mix(in srgb,var(--c) 14%,transparent),transparent 70%),var(--bg-secondary);border:1px solid var(--border-color);transition:border-color .2s,transform .2s}.cs-card:hover{border-color:color-mix(in srgb,var(--c) 55%,transparent);transform:translateY(-2px)}.cs-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.cs-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;font-family:var(--font-mono);font-weight:700;font-size:16px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}.cs-icon--lg{width:58px;height:58px;font-size:20px;border-radius:16px}.cs-free{font-size:11.5px;font-weight:700;color:var(--success);background:var(--success-dim);border:1px solid rgba(63,185,80,.4);border-radius:var(--radius-pill);padding:4px 10px}.cs-card-title{margin:6px 0 0;font-family:var(--font-syne);font-size:19px;font-weight:700;line-height:1.3;color:var(--text-primary)}.cs-card-tagline{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.55}.cs-card-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cs-card-meta li{font-size:12px;font-weight:600;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-pill);padding:4px 10px}.cs-card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.cs-card-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.cs-card-price b{font-family:var(--font-syne);font-size:22px;color:var(--text-primary)}.cs-card-price span{font-size:12.5px;color:var(--success);font-weight:600}.cs-card-actions{display:flex;flex-direction:column;gap:8px}.cs-card-actions>*{justify-content:center;height:44px;padding:0 14px;font-size:14.5px;border-radius:var(--radius-md)}.cs-modal{max-width:620px}.cs-checkout{padding:0 22px 22px;display:flex;flex-direction:column;gap:12px}.cs-options{display:flex;flex-direction:column;gap:10px}.cs-option{position:relative;display:flex;flex-direction:column;gap:8px;padding:15px 16px;cursor:pointer;outline:none;background:var(--bg-tertiary);border:1.5px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .15s,background .15s}.cs-option:hover{border-color:#3a3a44}.cs-option:focus-visible{box-shadow:0 0 0 3px var(--accent-dim)}.cs-option.is-on{border-color:var(--accent-lime);background:linear-gradient(160deg,rgba(255,214,10,.08),transparent 60%),var(--bg-tertiary)}.cs-option.is-best{padding-top:20px}.cs-option-flag{position:absolute;top:-10px;left:14px;font-size:11px;font-weight:800;color:var(--on-accent);background:var(--accent-lime);border-radius:var(--radius-pill);padding:3px 10px}.cs-option-head{display:flex;align-items:center;gap:10px}.cs-radio{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:2px solid var(--text-tertiary)}.cs-option.is-on .cs-radio{border-color:var(--accent-lime);box-shadow:inset 0 0 0 3px var(--bg-tertiary);background:var(--accent-lime)}.cs-option-title{flex:1;font-weight:700;font-size:15px;color:var(--text-primary)}.cs-option-price{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.cs-option-price b{font-family:var(--font-syne);font-size:18px;color:var(--text-primary)}.cs-option.is-best .cs-option-price b{color:var(--accent-lime)}.cs-option-sub{padding-left:28px;font-size:13px;color:var(--text-secondary);line-height:1.5}.cs-save{margin-left:28px;align-self:flex-start;font-size:12px;font-weight:800;color:var(--success);background:var(--success-dim);border-radius:var(--radius-pill);padding:3px 10px}.cs-option.is-plain .cs-option-title{font-weight:600;color:var(--text-secondary)}.cs-chips{display:flex;flex-wrap:wrap;gap:6px;padding-left:28px}.cs-chip{font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:5px 12px}.cs-chip.is-on{color:var(--accent-lime);border-color:#ffd60a8c;background:var(--accent-dim)}.cs-nudge{font-size:13.5px;line-height:1.5;color:var(--text-primary);padding:10px 13px;border-radius:var(--radius-md);border:1px dashed rgba(255,214,10,.5)}.cs-go{width:100%;height:50px;font-size:16px}.cs-summary{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cs-summary li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text-primary)}.cs-dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex-shrink:0}.cs-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border-color);font-weight:700;color:var(--text-secondary)}.cs-total-price{display:flex;align-items:baseline;gap:10px}.cs-total-price b{font-family:var(--font-syne);font-size:26px;color:var(--accent-lime)}.cs-total-save{align-self:flex-end;font-size:13px;font-weight:700;color:var(--success);margin-top:-6px}.cs-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.cs-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.cs-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px 20px;align-items:stretch}.cs-detail-main{display:contents}.cs-detail .cs-hero,.cs-detail .cs-about,.cs-detail-main>.cs-block{margin-bottom:0;grid-column:1 / -1}@media (min-width: 1101px){.cs-detail:not(.is-owned) .cs-hero{grid-column:1;grid-row:1}.cs-detail .cs-buy{grid-column:2;grid-row:1}}.cs-hero--course{background:radial-gradient(560px 260px at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),var(--bg-secondary)}.cs-tags{display:flex;flex-wrap:wrap;gap:6px}.cs-tags span{font-size:12.5px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:4px 11px}.cs-tags .is-free{color:var(--success);border-color:#3fb95066;background:var(--success-dim)}.cs-start{margin-top:6px}.cs-about{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.cs-about .cs-block{margin-bottom:0}.cs-block{padding:22px 24px;margin-bottom:14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);scroll-margin-top:80px}.cs-block h2{margin:0 0 12px;font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary)}.cs-block p,.cs-block li{color:var(--text-secondary);font-size:15px;line-height:1.65}.cs-block p{margin:0}.cs-block ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px}.cs-module{padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);margin-bottom:10px}.cs-module.is-free{border-color:#3fb95073}.cs-module.is-locked{opacity:.75}.cs-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.cs-module-num{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.cs-module-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--success)}.cs-module-badge.is-lock{color:var(--text-tertiary)}.cs-module-title{font-weight:700;font-size:15.5px;color:var(--text-primary)}.cs-lesson{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.cs-lesson-part{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-color);font-weight:600;font-size:14px;color:var(--text-primary)}.cs-lesson-part small{font-size:12px;font-weight:500;color:var(--text-tertiary)}.cs-module-note{margin-top:10px!important;font-size:13.5px!important}.cs-buy{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.cs-buy-price{font-family:var(--font-syne);font-size:30px;font-weight:700;color:var(--text-primary)}.cs-buy-sub{margin-top:-8px;font-size:13px;color:var(--text-tertiary)}.cs-buy-bundles{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.cs-buy-bundles div{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--text-secondary)}.cs-buy-bundles span{flex:1}.cs-buy-bundles b{color:var(--text-primary)}.cs-buy-bundles em{font-style:normal;font-size:12px;font-weight:700;color:var(--success)}.cs-buy-bundles .is-best b{color:var(--accent-lime)}.cs-buy-all{font:inherit;font-size:14px;font-weight:700;color:var(--accent-lime);background:none;border:none;cursor:pointer;padding:2px 0;text-align:left}.cs-buy-all:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width: 1100px){.cs-top{grid-template-columns:minmax(0,1fr)}.cs-bundles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.cs-about{grid-template-columns:minmax(0,1fr)}.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-detail{grid-template-columns:minmax(0,1fr)}.cs-buy{order:-1}}@media (max-width: 768px){.cs-hero{padding:22px 20px}.cs-title{font-size:26px}.cs-bundles,.cs-grid{grid-template-columns:minmax(0,1fr)}.cs-bundles .is-best{order:-1}.cs-lesson{grid-template-columns:minmax(0,1fr)}.cs-option-head{flex-wrap:wrap}.cs-actions>*{flex:1;justify-content:center}}.cs-detail.is-owned{grid-template-columns:minmax(0,1fr)}.cs-owned{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--success)}.cs-week{margin-bottom:18px}.cs-week-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.cs-week-title{font-weight:700;font-size:15.5px;color:var(--text-primary)}.cs-lessons{list-style:none;margin:0;padding:0!important;display:flex;flex-direction:column;gap:6px!important}.cs-lesson{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);text-decoration:none;transition:border-color .15s,transform .15s}a.cs-lesson:hover{border-color:color-mix(in srgb,var(--c) 60%,transparent);transform:translate(2px)}.cs-lesson.is-locked{opacity:.6}.cs-lesson-day{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font-size:13px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.cs-lesson-title{font-size:14.5px;font-weight:600;line-height:1.4}.cs-lesson-meta{display:flex;align-items:center;gap:8px;white-space:nowrap}.cs-lesson-lock{display:flex;color:var(--text-tertiary)}.cs-lesson-free{font-size:11.5px;font-weight:700;color:var(--success);background:var(--success-dim);border-radius:var(--radius-pill);padding:2px 9px}.cs-lesson-progress{font-size:12.5px;font-weight:700;color:var(--text-tertiary)}.cs-lesson-progress.is-done{color:var(--success)}.cs-lesson-day.is-video{color:var(--on-accent);background:var(--c)}.cs-lesson-video{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--c)}.cs-progress{align-self:stretch;max-width:460px;margin-top:6px}.cs-progress-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px;color:var(--text-tertiary);font-weight:600}.cs-progress-head b{color:var(--text-primary);font-weight:800}.cs-progress-bar{height:8px;border-radius:var(--radius-pill);background:var(--bg-tertiary);border:1px solid var(--border-color);overflow:hidden}.cs-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--success);transition:width .3s ease}.ls-dots{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 16px}.ls-dots-week{display:flex;flex-wrap:wrap;gap:6px}.ls-dot{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex-shrink:0;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;text-decoration:none;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);transition:border-color .15s,transform .15s}.ls-dot:hover{border-color:var(--text-tertiary);transform:translateY(-1px)}.ls-dot.is-started{color:var(--on-accent);background:var(--accent-lime);border-color:var(--accent-lime)}.ls-dot.is-done{color:#fff;background:var(--success);border-color:var(--success)}.ls-dot.is-locked{opacity:.45}.ls-dot.is-active{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--c)}@media (max-width: 768px){.ls-dots{gap:8px 12px}.ls-dot{width:34px;height:34px;font-size:11.5px}}.ls-page{width:100%}.ls-hero{padding:26px 30px;margin-bottom:18px;border-radius:var(--radius-xl);border:1px solid var(--border-color);background:radial-gradient(560px 240px at 100% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),var(--bg-secondary)}.ls-kicker{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}.ls-title{margin:8px 0 10px;font-family:var(--font-syne);font-size:28px;font-weight:700;line-height:1.25;color:var(--text-primary)}.ls-summary{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.6}.ls-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ls-meta span{font-size:12.5px;font-weight:700;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:4px 11px}.ls-meta .is-done{color:var(--success);border-color:#3fb95066}.ls-video{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:18px;background:#000;border:1px solid var(--border-color)}.ls-video iframe{width:100%;height:100%;border:0;display:block}.ls-video.is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:radial-gradient(400px 220px at 50% 40%,color-mix(in srgb,var(--c) 18%,transparent),transparent 70%),var(--bg-secondary)}.ls-video-play{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:var(--on-accent);background:var(--accent-lime);padding-left:3px;box-shadow:0 10px 30px #ffd60a40}.ls-video-title{font-family:var(--font-syne);font-size:18px;font-weight:700;color:var(--text-primary);margin-top:6px}.ls-video-sub{font-size:13.5px;color:var(--text-tertiary)}.ls-toc{margin-bottom:22px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.ls-toc-head{padding:16px 20px 8px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}.ls-toc-list{list-style:none;margin:0;padding:0 8px 8px;display:flex;flex-direction:column;gap:2px;counter-reset:none}.ls-toc-list a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 12px;border-radius:var(--radius-md);text-decoration:none;color:var(--text-secondary);font-size:15px;font-weight:600;line-height:1.35;transition:background .15s,color .15s}.ls-toc-list a:hover,.ls-toc-list a:focus-visible{background:var(--bg-tertiary);color:var(--text-primary)}.ls-toc-num{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.ls-toc-arrow{color:var(--text-tertiary);opacity:0;transform:translate(-4px);transition:opacity .15s,transform .15s}.ls-toc-list a:hover .ls-toc-arrow,.ls-toc-list a:focus-visible .ls-toc-arrow{opacity:1;transform:none;color:var(--c)}.ls-toc-list .is-tasks{margin-top:6px;padding-top:8px;border-top:1px solid var(--border-color)}.ls-toc-list .is-tasks a{color:var(--text-primary)}.ls-toc-list .is-tasks .ls-toc-num{color:var(--accent-lime);background:var(--accent-dim)}.ls-toc-progress{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:3px 10px}.ls-toc-progress.is-done{color:var(--success);background:var(--success-dim);border-color:#3fb95066}@media (max-width: 768px){.ls-toc-head{padding:14px 16px 6px}.ls-toc-list{padding:0 6px 6px}.ls-toc-list a{gap:12px;padding:9px 10px;font-size:14.5px}}.ls-a{color:var(--c);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--c) 45%,transparent);transition:text-decoration-color .15s}.ls-a:hover{text-decoration-color:currentColor}.ls-a svg{display:inline-block;vertical-align:-1px;margin-left:3px}.ls-section{padding:24px 28px;margin-bottom:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);scroll-margin-top:80px}.ls-section-title{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--font-syne);font-size:20px;font-weight:700;color:var(--text-primary)}.ls-section-title span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:10px;font-size:15px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.ls-p{margin:0 0 12px;color:var(--text-secondary);font-size:15.5px;line-height:1.72}.ls-p strong,.ls-list strong,.ls-steps strong,.ls-callout strong{color:var(--text-primary)}.ls-h{margin:22px 0 10px;font-size:16.5px;font-weight:800;color:var(--text-primary)}.ls-list,.ls-steps{margin:0 0 14px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:7px;color:var(--text-secondary);font-size:15px;line-height:1.65}.ls-list>li,.cs-block ul>li{position:relative;padding-left:16px}.ls-list>li:before,.cs-block ul>li:before{content:"";position:absolute;left:0;top:.82em;width:6px;height:6px;border-radius:50%;background:var(--c, var(--accent-lime));transform:translateY(-50%)}.ls-steps{counter-reset:ls-step}.ls-steps>li{counter-increment:ls-step;position:relative;padding-left:24px}.ls-steps>li:before{content:counter(ls-step) ".";position:absolute;left:0;top:0;color:var(--c);font-weight:800;font-variant-numeric:tabular-nums}.ls-code{font-family:var(--font-mono);font-size:.88em;color:var(--accent-soft);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:5px;padding:1px 5px;white-space:nowrap}.ls-table .ls-code{white-space:normal}.ls-py{margin:4px 0 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0b0b0e;overflow:hidden}.ls-py.is-live{background:transparent;border:none;overflow:visible}.ls-py-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border-bottom:1px solid var(--border-color);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.ls-py-run{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--accent-lime);background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);border-radius:var(--radius-pill);padding:4px 11px;cursor:pointer}.ls-py-run:hover{background:#ffd60a38}.ls-pre{margin:0;padding:14px 16px;font-family:var(--font-mono);font-size:13.5px;line-height:1.6;color:var(--text-primary);white-space:pre;overflow-x:auto}.ls-out{border-top:1px dashed var(--border-color);padding:10px 16px 12px}.ls-out-label{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--success)}.ls-out pre{margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.55;color:var(--text-secondary);white-space:pre-wrap}.ls-py-actions{display:flex;gap:14px;justify-content:flex-end;margin-top:6px}.ls-link{background:none;border:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--text-tertiary);cursor:pointer}.ls-link:hover{color:var(--accent-lime)}.ls-callout{--cc: var(--text-tertiary);display:flex;flex-direction:column;gap:4px;margin:4px 0 16px;padding:12px 16px;border-radius:var(--radius-md);font-size:14.5px;line-height:1.6;color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--cc) 35%,transparent);background:color-mix(in srgb,var(--cc) 7%,var(--bg-tertiary))}.ls-callout-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cc)}.ls-callout.is-note{--cc: #58A6FF}.ls-callout.is-tip{--cc: var(--success)}.ls-callout.is-warn{--cc: var(--accent-lime)}.ls-table-wrap{margin:4px 0 16px;overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--radius-md)}.ls-table{width:100%;border-collapse:collapse;font-size:14px}.ls-table th{text-align:left;padding:9px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.ls-table td{padding:9px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);vertical-align:top;line-height:1.5}.ls-table tr:last-child td{border-bottom:none}.ls-tasks{margin-top:26px;scroll-margin-top:80px}.ls-tasks-title{margin:0 0 6px;font-family:var(--font-syne);font-size:24px;font-weight:700;color:var(--text-primary)}.ls-tasks-lead{margin:0 0 16px;color:var(--text-secondary);font-size:14.5px;line-height:1.6}.tk-card{padding:22px 24px;margin-bottom:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);scroll-margin-top:80px}.tk-card.is-solved{border-color:#3fb95073}.tk-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-bottom:10px}.tk-num{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c)}.tk-title{margin:0;font-size:18px;font-weight:800;color:var(--text-primary);flex:1}.tk-solved{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;color:var(--success);background:var(--success-dim);border-radius:var(--radius-pill);padding:3px 10px}.tk-text{color:var(--text-secondary);font-size:15px;line-height:1.68;margin-bottom:14px}.tk-examples{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.tk-examples-title{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.tk-example{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tk-example>div{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0b0b0e;overflow:hidden}.tk-example-label{display:block;padding:5px 10px;font-size:11px;font-weight:700;color:var(--text-tertiary);border-bottom:1px solid var(--border-color)}.tk-example pre{margin:0;padding:8px 10px;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap}.tk-example.is-call{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0b0b0e;font-family:var(--font-mono);font-size:13px}.tk-example.is-call code{color:var(--text-primary);white-space:pre-wrap}.tk-example.is-call>span{color:var(--text-tertiary)}.tk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.tk-locked{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--success)}.ak-form.is-locked .ak-input{color:var(--text-primary);border-color:#3fb95080;background:var(--success-dim);cursor:default;box-shadow:none}.ak-form.is-locked .ak-option{cursor:default}.tk-check{padding:11px 22px;font-size:14.5px}.tk-check:disabled{opacity:.65;cursor:default;transform:none}.tk-reset{background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--text-tertiary);cursor:pointer}.tk-reset:hover{color:var(--text-primary)}.tk-report{margin-top:14px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary)}.tk-report.is-ok{border-color:#3fb95080;background:var(--success-dim)}.tk-report.is-fail{border-color:#ff5f5f66}.tk-report-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:var(--text-primary);margin-bottom:8px}.tk-report.is-ok .tk-report-head{color:var(--success);margin-bottom:4px}.tk-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tk-results li{display:flex;gap:10px;font-size:14px}.tk-mark{flex-shrink:0;width:20px;display:flex;padding-top:1px}.tk-results .is-ok .tk-mark{color:var(--success)}.tk-results .is-fail .tk-mark{color:var(--danger)}.tk-result-body{min-width:0;flex:1}.tk-result-label{font-family:var(--font-mono);font-size:13px;color:var(--text-primary);overflow-wrap:anywhere}.tk-result-detail{margin-top:6px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.tk-result-detail b{display:block;font-size:11.5px;color:var(--text-tertiary);margin-bottom:2px}.tk-result-detail pre{margin:0;padding:7px 10px;font-family:var(--font-mono);font-size:12.5px;line-height:1.5;background:#0b0b0e;border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary)}.ls-paywall{text-align:center;padding:36px 28px;border-radius:var(--radius-xl);border:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;align-items:center;gap:10px}.ls-paywall-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.ls-paywall h2{margin:0;font-family:var(--font-syne);font-size:22px;color:var(--text-primary)}.ls-paywall p{margin:0;max-width:520px;color:var(--text-secondary);line-height:1.6}.ls-paywall-prices{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px;color:var(--text-secondary)}.ls-paywall-prices b{color:var(--text-primary)}.ls-paywall-prices em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--success)}.ls-pager{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.ls-pager a{max-width:48%;font-size:14px;font-weight:700;color:var(--text-secondary);text-decoration:none;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);line-height:1.4}.ls-pager a:hover{border-color:color-mix(in srgb,var(--c) 60%,transparent);color:var(--text-primary)}.ls-pager a.is-next{text-align:right;margin-left:auto;color:var(--text-primary)}@media (max-width: 768px){.ls-hero,.ls-section,.tk-card{padding:18px 16px}.ls-title{font-size:22px}.ls-section-title{font-size:18px}.tk-example{grid-template-columns:minmax(0,1fr)}.ls-pager{flex-direction:column}.ls-pager a{max-width:none}}.tk-source{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--text-tertiary);text-decoration:none;border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:3px 10px}.tk-source:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--c) 60%,transparent)}.tk-timer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:13.5px}.tk-timer svg{color:var(--c)}.tk-timer-time{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.tk-timer-note{flex:1;min-width:160px}.tk-timer.is-on{border-color:color-mix(in srgb,var(--c) 45%,transparent)}.tk-timer.is-over{border-color:#ff5f5f80}.tk-timer.is-over .tk-timer-time,.tk-timer.is-over svg{color:var(--danger)}.tk-timer-start{font:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--accent-lime);background:var(--accent-dim);border:1px solid rgba(255,214,10,.35);border-radius:var(--radius-pill);padding:5px 13px}.tk-solution .ls-py{margin-bottom:12px}.ls-tex .katex{font-size:1.06em}.ls-formula{margin:6px 0 16px;padding:4px 0;overflow-x:auto;overflow-y:hidden}.ls-formula .katex-display{margin:4px 0}.ls-formula .katex-display>.katex{font-size:1.14em}.ls-plot{max-width:760px;margin-left:auto;margin-right:auto}.ls-table td .ls-tex{white-space:nowrap}.ak-blocks{margin:-4px 0 6px}.ak-form{display:flex;flex-direction:column;gap:4px}.ak-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ak-affix{font-size:15px;color:var(--text-secondary)}.ak-input{flex:1;min-width:0;max-width:420px;height:46px;padding:0 14px;font:inherit;font-family:var(--font-mono);font-size:15px;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none}.ak-input:focus{border-color:color-mix(in srgb,var(--c) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}.ak-input.is-matrix{height:auto;max-width:420px;padding:10px 14px;line-height:1.6;resize:vertical}.ak-options{display:flex;flex-direction:column;gap:8px}.ak-option{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;cursor:pointer;font-size:15px;line-height:1.55;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color .15s}.ak-option:hover{border-color:#3a3a44}.ak-option.is-on{border-color:color-mix(in srgb,var(--c) 70%,transparent);color:var(--text-primary)}.ak-option input{position:absolute;opacity:0;pointer-events:none}.ak-option-mark{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:12.5px;font-weight:800;color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--border-color)}.ak-option.is-on .ak-option-mark{color:var(--c);border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 14%,transparent)}.ak-show{display:inline-flex;align-items:center;gap:6px}.ak-report .tk-report-head{margin-bottom:0}.ak-report.is-fail .tk-report-head{color:var(--text-primary)}.ak-report.is-fail .tk-report-head svg{color:var(--danger)}.ak-hint{display:flex;gap:8px;margin-top:10px;font-size:14px;line-height:1.55;color:var(--text-secondary)}.ak-hint svg{flex-shrink:0;color:var(--accent-lime);margin-top:2px}.ak-solution{margin-top:14px;padding:16px 18px 6px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color)}.ak-solution-label{display:block;margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--success)}@media (max-width: 768px){.ak-input,.ak-input.is-matrix{max-width:none}}.prg-inline-code{font-family:var(--font-mono);font-size:.88em;color:var(--accent-soft, #FFE873);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:5px;padding:1px 5px}.prg-code-run{margin:12px 0 16px}.prg-code-run .prg-code{margin:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.prg-code-out{border:1px solid var(--border-color);border-top:1px dashed var(--border-color);border-radius:0 0 var(--radius-md) var(--radius-md);background:#0b0b0e;padding:10px 18px 12px;margin-top:-1px}.prg-code-out span{display:block;margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3fb950}.prg-code-out pre{margin:0;font:500 12.5px/1.55 var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.prg-table td .prg-tex{white-space:nowrap}
