.api-code-example{background-color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--box-shadow)}.api-code-example__header{display:flex;gap:6px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color)}.api-code-example__dot{width:10px;height:10px;border-radius:50%;background-color:var(--border-color)}.api-code-example__body{padding:var(--space-5);margin:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--text-base);line-height:1.6;color:var(--text-color);overflow-x:auto}.api-code-example__method{font-weight:600}.api-code-example__method--get{color:#22c55e}.api-code-example__method--post{color:#3b82f6}.api-code-example__method--patch{color:#f59e0b}.api-code-example__method--delete{color:#ef4444}.api-code-example__comment{color:var(--text-color-extra-weak)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.28"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.markdown-content{word-wrap:break-word;white-space:pre-wrap}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content--large{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}.markdown-content--large h1{font-size:1.75em;font-weight:600;margin:.75em 0 .5em;line-height:1.3}.markdown-content--large h2{font-size:1.4em;font-weight:600;margin:.7em 0 .4em;line-height:1.3}.markdown-content--large h3{font-size:1.2em;font-weight:600;margin:.6em 0 .3em;line-height:1.4}.markdown-content--large h4,.markdown-content--large h5,.markdown-content--large h6{font-size:1em;font-weight:600;margin:.5em 0 .25em;line-height:1.4}.markdown-content--large p{margin:.5em 0}.markdown-content--large ul,.markdown-content--large ol{margin:.5em 0;padding-left:1.5em}.markdown-content--large li{margin:.25em 0}.markdown-content--large li>ul,.markdown-content--large li>ol{margin:.25em 0}.markdown-content--large code{font-family:ui-monospace,monospace;background:var(--secondary);padding:.15em .35em;border-radius:var(--radius-xs);font-size:.85em}.markdown-content--large pre{background:var(--secondary);padding:.75em 1em;border-radius:var(--radius-sm);overflow-x:auto;margin:.75em 0;text-align:left}.markdown-content--large pre code{background:none;padding:0;font-size:.8em}.markdown-content--large .shiki-wrapper{text-align:left}.markdown-content--large .shiki-wrapper pre{margin:0}.shiki{text-align:left}.markdown-content--large .shiki-wrapper .shiki{background:var(--secondary)!important;padding:.75em 1em;border-radius:var(--radius-sm);overflow-x:auto;margin:.75em 0;font-family:ui-monospace,monospace;font-size:.8em;line-height:1.5;text-align:left}.markdown-content--large .shiki-wrapper .shiki code{background:none;padding:0;font-size:inherit}:root:not(.dark) .shiki-wrapper .shiki span{color:var(--shiki-light)!important}:root.dark .shiki-wrapper .shiki span{color:var(--shiki-dark)!important}.markdown-content--large blockquote{border-left:3px solid var(--border-color);margin:.75em 0;padding:.25em 0 .25em 1em;color:var(--text-color-weak)}.markdown-content--large a{color:var(--text-color-highlight);text-decoration:underline;text-underline-offset:2px}.markdown-content--large a:hover{color:var(--text-color)}.markdown-content--large strong{font-weight:600}.markdown-content--large img,img.markdown-content--large{display:block;max-width:100%;max-height:40vh;height:auto;object-fit:contain;border-radius:var(--radius-sm);margin:0 auto}.markdown-content--large hr{border:none;border-top:1px solid var(--border-color);margin:1em 0}.markdown-content--large table{border-collapse:collapse;margin:.75em 0;width:100%}.markdown-content--large th,.markdown-content--large td{border:1px solid var(--border-color);padding:.4em .6em;text-align:left}.markdown-content--large th{background:var(--secondary);font-weight:600}.markdown-content--large .block-latex{display:block;text-align:center;margin:.75em 0;overflow-x:auto}.katex-error{color:var(--color-error);font-family:ui-monospace,monospace;font-size:.85em}.inline-markdown{display:inline;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}.inline-markdown code{font-family:ui-monospace,monospace;background:var(--secondary);padding:.1em .25em;border-radius:var(--radius-xs);font-size:.85em}.inline-markdown strong{font-weight:600}.cloze-blank{display:inline;font-weight:600;color:var(--text-color-highlight);border-bottom:2px solid var(--text-color-weak);padding:0 .1em}.cloze-blank--with-hint{font-style:italic;font-weight:500;color:var(--text-color-weak)}.cloze-answer{display:inline;font-weight:600;color:var(--text-color-highlight);background:var(--secondary);border-radius:var(--radius-xs);padding:.05em .25em}.card-content{width:100%;text-align:center;font-family:var(--font-review)}.card-content__front{font-size:var(--text-3xl);font-weight:400;line-height:1.4;color:var(--text-color-highlight)}.card-content__back{margin-top:var(--space-8)}.card-content__divider{width:40px;height:1px;background-color:var(--border-color);margin:0 auto var(--space-8)}.card-content__back-text{font-size:var(--text-2xl);color:var(--text-color-weak)}.card-content--compact .card-content__front{font-size:var(--text-xl)}.card-content--compact .card-content__back{margin-top:var(--space-4)}.card-content--compact .card-content__divider{margin:0 auto var(--space-4)}.card-content--compact .card-content__back-text{font-size:var(--text-xl)}.card-content--preview{text-align:left}.card-content--preview .card-content__front{font-size:var(--text-3xl);font-weight:500;color:var(--text-color)}.card-content--preview .card-content__back{margin-top:0}.card-content--preview .card-content__divider{width:100%;background-color:var(--border-color-weak);margin:var(--space-6) 0}.card-content--preview .card-content__back-text{font-size:var(--text-xl);color:var(--text-color-medium);line-height:1.4}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-16) var(--space-6);text-align:center}.page>.empty-state{flex:1;padding-top:0;padding-bottom:0}.empty-state__icon{color:var(--text-color-extra-extra-weak)}.empty-state__title{font-size:var(--text-lg);font-weight:500;color:var(--text-color-weak)}.empty-state__description{font-size:var(--text-base);color:var(--text-color-extra-weak);max-width:300px}.empty-state--compact{gap:var(--space-2);padding:var(--space-8) var(--space-4)}.empty-state--compact .empty-state__title{font-size:var(--text-lg);font-weight:400}.empty-state--compact .empty-state__description{font-size:var(--text-base)}.progress-ring{position:relative}.progress-ring__svg{transform:rotate(-90deg)}.progress-ring__background{fill:none;stroke:var(--secondary)}.progress-ring__progress{fill:none;stroke:var(--text-color-extra-weak);stroke-linecap:round;transition:stroke-dasharray var(--duration-slow) ease}.progress-bar{margin:0 var(--space-1)}.progress-bar__bar{display:flex;height:var(--space-2);border-radius:var(--radius-pill);overflow:hidden;background-color:var(--secondary)}.progress-bar__segment{transition:width var(--duration-slow) ease}.progress-bar__segment--mastered{background-color:var(--text-color-highlight)}.progress-bar__segment--learning{background-color:var(--text-color-extra-weak)}.progress-bar__segment--due{background-color:var(--text-color-extra-extra-weak)}.progress-bar__legend{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-4)}.progress-bar__legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-color-extra-weak)}.progress-bar__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-xs)}.progress-bar__dot--mastered{background-color:var(--text-color-highlight)}.progress-bar__dot--learning{background-color:var(--text-color-extra-weak)}.progress-bar__dot--due{background-color:var(--text-color-extra-extra-weak)}.progress-bar__dot--new{background-color:var(--status-new)}.deck-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.spinner-icon{animation:spin 1s linear infinite;color:var(--text-color-weak)}.spinner-ring{border:2px solid var(--border-color);border-top-color:var(--text-color);border-radius:50%;animation:spin .8s linear infinite}.toggle-field{display:flex;flex-direction:column}.toggle-field__toggle{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer}.toggle-field__toggle input{display:none}.toggle-field__slider{width:var(--space-10);height:var(--space-6);background-color:var(--secondary);border-radius:var(--radius-pill);position:relative;transition:background-color var(--duration-normal) ease;flex-shrink:0}.toggle-field__slider:after{content:"";position:absolute;top:var(--space-1);left:var(--space-1);width:var(--space-4);height:var(--space-4);background-color:var(--button-primary-text);border-radius:50%;transition:transform var(--duration-normal) ease;box-shadow:0 1px 3px #0003}.toggle-field__toggle input:checked+.toggle-field__slider{background-color:var(--button-primary-bg)}.toggle-field__toggle input:checked+.toggle-field__slider:after{transform:translate(var(--space-4))}.toggle-field__slider--checked{background-color:var(--button-primary-bg)}.toggle-field__slider--checked:after{transform:translate(var(--space-4))}.toggle-field__slider--sm{width:28px;height:16px}.toggle-field__slider--sm:after{top:2px;left:2px;width:12px;height:12px}.toggle-field__slider--sm.toggle-field__slider--checked:after{transform:translate(12px)}.toggle-field__text{flex:1;min-width:0}.toggle-field__label{font-size:var(--text-lg);font-weight:400;color:var(--text-color-highlight);line-height:1.3}.toggle-field__hint{display:block;font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:1px;line-height:1.4}.toggle-field--boxed .toggle-field__toggle{padding:13px var(--space-4);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);transition:background var(--duration-fast) ease}.toggle-field--boxed .toggle-field__toggle:hover{background:var(--primary-highlight)}.pricing{width:100%;max-width:640px;margin:0 auto;padding-top:var(--space-6);padding-bottom:var(--space-2);position:relative}.pricing__close{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;color:var(--text-color-weak);padding:var(--inset-sm);border-radius:var(--radius-sm);transition:color var(--duration-fast)}.pricing__close:hover{color:var(--text-color)}.pricing__header{text-align:center;margin-bottom:var(--space-6);width:0;min-width:100%}.pricing__header h2{font-size:var(--text-4xl);margin-bottom:var(--space-2)}.pricing__header p{color:var(--text-color-weak);font-size:var(--text-xl)}.pricing__billing-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.pricing__billing-toggle>span{font-size:var(--text-lg);font-weight:500;color:var(--text-color-extra-weak);cursor:pointer;transition:color var(--duration-fast);-webkit-user-select:none;user-select:none}.pricing__billing-toggle--active{color:var(--text-color)!important}.pricing__tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.pricing__tiers--single{grid-template-columns:1fr;max-width:360px;margin:0 auto}.pricing__tier{background-color:var(--primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:var(--space-6);border:1px solid var(--border-color-weak);position:relative;transition:box-shadow var(--duration-slow) ease;overflow:hidden}.pricing__tier:hover{box-shadow:var(--box-shadow)}.pricing__tier--highlighted{border-color:var(--border-color);box-shadow:var(--box-shadow)}.pricing__tier--glow{--mouse-x: 50%;--mouse-y: 50%}.pricing__tier--glow:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(100,100,100,.08) 0%,rgba(100,100,100,.04) 25%,transparent 60%);pointer-events:none;z-index:2;opacity:0;transition:opacity var(--duration-slow) ease}:root.dark .pricing__tier--glow:after{background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(200,200,200,.06) 0%,rgba(200,200,200,.03) 25%,transparent 60%)}.pricing__tier--hover-active.pricing__tier--glow:after{opacity:1}.pricing__tier-header{position:relative;z-index:3}.pricing__tier-header h3{font-size:var(--text-3xl);margin-bottom:var(--space-1)}.pricing__tier-description{color:var(--text-color-weak);font-size:var(--text-lg)}.pricing__tier-content{flex-grow:1;position:relative;z-index:3}.pricing__price{margin:var(--space-4) 0 var(--space-5)}.pricing__price-main{display:flex;align-items:baseline}.pricing__amount{font-size:var(--text-5xl);font-weight:600;color:var(--text-color-highlight)}.pricing__tier--highlighted .pricing__amount{color:var(--text-color-highlight)}.pricing__period{font-size:var(--text-lg);color:var(--text-color-weak);margin-left:var(--space-1)}.pricing__price-secondary{font-size:var(--text-lg);color:var(--text-color-weak);margin-top:var(--space-1);min-height:1.4em}.pricing__annual-info{display:flex;align-items:center;gap:var(--space-2)}.pricing__save-badge{background-color:var(--button-primary-bg);color:var(--button-primary-text);font-size:var(--text-sm);font-weight:600;padding:1px var(--space-1-5);border-radius:var(--radius-pill)}.pricing__feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.pricing__feature-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-lg);color:var(--text-color)}.pricing__feature-item svg{color:var(--text-color-extra-weak);flex-shrink:0;margin-top:2px}.pricing__tier--highlighted .pricing__feature-item svg{color:var(--text-color-weak)}.pricing__feature-item--anti svg{color:var(--color-error)}.pricing__tier-footer{margin-top:var(--space-5);position:relative;z-index:3}.pricing__button{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color-weak);background-color:var(--primary);color:var(--text-color);cursor:pointer;font-size:var(--text-lg);font-weight:500;transition:background-color var(--duration-fast),border-color var(--duration-fast)}.pricing__button:hover{background-color:var(--primary-highlight)}.pricing__button--highlighted{background-color:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-text)}.pricing__button--highlighted:hover{background-color:var(--button-primary-bg-hover);border-color:var(--button-primary-bg-hover)}.pricing__button--loading{opacity:.7;cursor:not-allowed}.pricing__button--subscribed{cursor:default;opacity:.6}.pricing__button--subscribed:hover{background-color:var(--primary)}.pricing__button-content{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}@media(max-width:768px){.pricing__tiers{grid-template-columns:1fr}.pricing__tier{padding:var(--space-5)}.pricing__tier--hover-active.pricing__tier--glow:after{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:500;border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-weak);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,opacity var(--duration-fast) ease}.btn--sm{padding:var(--inset-md) var(--space-3);font-size:var(--text-base)}.btn--md{padding:var(--inset-lg) var(--space-3);font-size:var(--text-lg)}.btn--lg{padding:var(--inset-xl) var(--space-4);font-size:var(--text-xl)}.btn--pill{border-radius:var(--radius-pill)}.btn--primary{background-color:var(--button-primary-bg);color:var(--button-primary-text)}.btn--primary:hover:not(:disabled){background-color:var(--button-primary-bg-hover)}.btn--reverse{background-color:var(--primary);color:var(--button-primary-bg);border-color:var(--border-color)}.btn--reverse:hover:not(:disabled){background-color:var(--primary-highlight)}.btn--dashed{border:1px dashed var(--border-color)}.btn--dashed:hover:not(:disabled){border-color:var(--border-color)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background-color:transparent;border:none;padding:var(--inset-sm);border-radius:var(--radius-sm);color:var(--text-color-extra-weak);cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.icon-btn--xs{padding:var(--inset-xs)}.icon-btn--sm{padding:var(--inset-sm)}.icon-btn--md{padding:var(--inset-md)}.icon-btn:hover:not(:disabled){background-color:var(--secondary-extra-weak);color:var(--text-color-medium)}.icon-btn--active{background-color:var(--secondary-extra-weak);color:var(--text-color)}@media(max-width:768px){.btn--lg{padding:var(--space-2) var(--space-3);font-size:var(--text-lg)}}.btn:disabled,.icon-btn:disabled{opacity:.5;cursor:not-allowed}.split-button{display:inline-flex;align-items:stretch}.split-button>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.split-button__chevron{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-2) 0 var(--space-1);background-color:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--border-color-weak);border-left:0;border-radius:0 var(--radius-pill) var(--radius-pill) 0;cursor:pointer;transition:background-color var(--duration-fast) ease}.split-button__chevron:hover{background-color:var(--button-primary-bg-hover)}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-out{0%{opacity:1}to{opacity:0}}.drawer-backdrop{position:fixed;inset:0;background:var(--overlay-color);z-index:1000;animation:overlay-fade-in var(--duration-fast) ease-out}.drawer-backdrop--closing{animation:overlay-fade-out var(--duration-fast) ease-in forwards}.drawer{position:fixed;left:0;right:0;bottom:0;background:var(--primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--box-shadow-strong);z-index:1001;height:var(--drawer-height, 85dvh);max-height:92dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform var(--duration-normal) cubic-bezier(.32,.72,0,1);touch-action:none;overflow:hidden}.drawer--closing{pointer-events:none}.drawer--dragging{transition:none}.drawer-backdrop--backgrounded{animation:overlay-fade-out var(--duration-fast) ease-in forwards;pointer-events:none}.drawer--backgrounded{pointer-events:none}.drawer-backdrop--foregrounding{animation:overlay-fade-in var(--duration-fast) ease-out}.drawer__grabber{display:flex;justify-content:center;padding:var(--space-3) 0;cursor:ns-resize;touch-action:none;flex-shrink:0}.drawer__grabber-handle{width:36px;height:4px;background:var(--secondary-strong-highlight);border-radius:var(--radius-pill)}.drawer__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-5) var(--space-3);flex-shrink:0}.drawer__title{font-size:var(--text-lg);font-weight:600;color:var(--text-color);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drawer__content{padding:0 var(--space-5) var(--space-3);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.drawer__content--locked{overflow-y:hidden;touch-action:none}.drawer__content-inner{display:block}.drawer__footer{flex-shrink:0;padding:var(--space-3) var(--space-5);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));display:flex;gap:var(--space-2)}.drawer__footer>.btn,.drawer__footer>.modal__split-group{flex:1}.drawer--menu .drawer__content,.drawer--dropdown .drawer__content{padding:0 var(--space-2) var(--space-3);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom))}.drawer--dropdown .dropdown__search-wrap{padding:var(--space-3);border-bottom:1px solid var(--border-color-weak)}.drawer--dropdown .dropdown__search{font-size:var(--text-xl)}:is(.drawer--menu,.drawer--dropdown) .dropdown__list{padding:var(--space-1) 0;max-height:none;overflow-y:visible;overscroll-behavior:auto}:is(.drawer--menu,.drawer--dropdown) .dropdown__item{padding:var(--space-3);min-height:44px}:is(.drawer--menu,.drawer--dropdown) .toggle-field__slider--sm{width:var(--space-10);height:var(--space-6)}:is(.drawer--menu,.drawer--dropdown) .toggle-field__slider--sm:after{top:var(--space-1);left:var(--space-1);width:var(--space-4);height:var(--space-4)}:is(.drawer--menu,.drawer--dropdown) .toggle-field__slider--sm.toggle-field__slider--checked:after{transform:translate(var(--space-4))}.drawer--menu .dropdown__header{padding:var(--space-3) var(--space-3) var(--space-1)}.drawer--menu .dropdown__divider{margin:var(--space-2) var(--space-3)}.drawer.spotlight{max-height:90dvh}.drawer.spotlight .drawer__content{padding:0;padding-bottom:var(--safe-area-bottom);display:flex;flex-direction:column;min-height:0}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-color);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlay-fade-in var(--duration-fast) ease-out}.modal-backdrop--closing{animation:overlay-fade-out var(--duration-fast) ease-in forwards}.modal{background:var(--primary);border-radius:var(--radius-lg);border:1px solid var(--border-color-weak);box-shadow:var(--box-shadow-strong);min-width:320px;max-width:min(480px,calc(100vw - var(--space-8)));max-height:calc(100dvh - var(--space-8));overflow:hidden;display:flex;flex-direction:column;animation:modal-in var(--duration-fast) ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal--closing{animation:modal-out var(--duration-fast) ease-in forwards}@keyframes modal-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.modal-backdrop--backgrounded{animation:overlay-fade-out var(--duration-fast) ease-in forwards;pointer-events:none}.modal--backgrounded{animation:modal-out var(--duration-fast) ease-in forwards;pointer-events:none}.modal-backdrop--foregrounding{animation:overlay-fade-in var(--duration-fast) ease-out}.modal--foregrounding{animation:modal-in var(--duration-fast) ease-out}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3)}.modal__title{font-size:var(--text-xl);font-weight:600;color:var(--text-color);margin:0;margin-right:var(--space-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.modal__close{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:var(--inset-sm);margin:calc(-1 * var(--inset-sm));background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-color-weak);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.modal__close:hover{color:var(--text-color);background:var(--secondary)}.modal__content{padding:0 var(--space-5);padding-top:var(--space-2);overflow-y:auto;font-size:var(--text-lg);color:var(--text-color-weak)}.modal__content:last-child{padding-bottom:var(--space-5)}.modal__footer{flex-shrink:0;padding:var(--space-4) var(--space-5) var(--space-5);display:flex;gap:var(--space-2)}.modal__footer>.btn,.modal__footer>.modal__split-group{flex:1}.modal__split-group{display:flex;border-radius:var(--radius-md);overflow:hidden}.modal__split-group .modal__split-main{flex:1;border-radius:0;border:none;box-shadow:none}.modal__split-group .modal__split-extra{border-radius:0;border:none;box-shadow:none;border-left:1px solid rgba(255,255,255,.2);font-variant-numeric:tabular-nums}.pricing-modal.modal{width:fit-content;max-width:calc(100vw - var(--space-8));padding:var(--space-4)}.popover{position:fixed;z-index:10001;background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--box-shadow);overflow:hidden}@keyframes popover-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes popover-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}@keyframes popover-center-in{0%{opacity:0;transform:translate(-50%) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes popover-center-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(.92)}}.popover--open{animation:popover-in var(--duration-fast) cubic-bezier(.22,1,.36,1) forwards}.popover--closing{animation:popover-out var(--duration-fast) cubic-bezier(.22,1,.36,1) forwards;pointer-events:none}.popover--center.popover--open{animation-name:popover-center-in}.popover--center.popover--closing{animation-name:popover-center-out}.dropdown{position:relative;display:inline-flex}.dropdown--context-menu{position:absolute;width:0;height:0;overflow:visible}.dropdown__trigger{cursor:pointer}.dropdown__trigger--disabled{cursor:not-allowed;pointer-events:none}.dropdown__panel{min-width:160px}.dropdown__search-wrap{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color-weak)}.dropdown__search-icon{color:var(--text-color-extra-weak);flex-shrink:0}.dropdown__search{flex:1;min-width:0;border:none;outline:none;background:none;font-size:var(--text-lg);color:var(--text-color);padding:0}.dropdown__search::placeholder{color:var(--text-color-extra-weak)}.dropdown__list{padding:var(--space-1-5);max-height:280px;overflow-y:auto;overscroll-behavior:contain}.dropdown__list::-webkit-scrollbar{width:6px}.dropdown__list::-webkit-scrollbar-track{background:transparent}.dropdown__list::-webkit-scrollbar-thumb{background:var(--secondary-highlight);border-radius:3px}.dropdown__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--inset-sm) var(--space-2);min-height:35px;border-radius:var(--radius-sm);font-size:var(--text-lg);cursor:pointer;color:var(--text-color);-webkit-user-select:none;user-select:none;transition:background-color 80ms ease}.dropdown__item--highlighted{background:var(--secondary-extra-weak)}.dropdown__item--active{font-weight:500}.dropdown__item--disabled{opacity:.4;cursor:not-allowed}.dropdown__item-icon{display:flex;align-items:center;flex-shrink:0}.dropdown__item-body{flex:1;min-width:0;display:flex;flex-direction:column}.dropdown__item-desc{font-size:var(--text-base);color:var(--text-color-extra-weak)}.dropdown__check{color:var(--text-color);flex-shrink:0;margin-left:auto}.dropdown__divider{height:1px;background-color:var(--border-color-weak);margin:var(--space-1) var(--space-2)}.dropdown__header{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--text-base);color:var(--text-color-weak);font-weight:500}.dropdown__item--danger{color:var(--color-danger)}.dropdown__item--danger:hover{background-color:var(--color-danger-bg)}.dropdown__item--toggle{cursor:pointer}.dropdown__create{color:var(--text-color-weak)}.dropdown__create-plus{line-height:1;color:var(--text-color-extra-weak);flex-shrink:0;display:flex;align-items:center}.dropdown__empty{padding:var(--space-1);text-align:center;font-size:var(--text-lg);color:var(--text-color-extra-weak)}.dropdown__empty-state{padding:var(--space-1)}.dropdown__select{display:flex;align-items:center;gap:var(--space-2);padding:var(--dropdown-padding, var(--inset-md) var(--space-3));background:var(--dropdown-bg, var(--primary));border:var(--dropdown-border, 1px solid var(--border-color-weak));border-radius:var(--dropdown-radius, var(--radius-md));font-size:var(--text-lg);font-weight:var(--dropdown-font-weight, 400);color:var(--dropdown-color, var(--text-color));cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.dropdown__select:hover{background:var(--dropdown-hover-bg, var(--primary));border-color:var(--dropdown-hover-border, var(--border-color))}.dropdown__select--open{background:var(--dropdown-open-bg, var(--primary));border-color:var(--dropdown-open-border, var(--border-color))}.dropdown__select--disabled{opacity:var(--dropdown-disabled-opacity, 1);color:var(--dropdown-disabled-color, var(--text-color-weak));cursor:not-allowed;pointer-events:none}.dropdown__select-icon{display:flex;align-items:center;flex-shrink:0}.dropdown__select-label{flex:1;min-width:0}.dropdown__select-chevron{color:var(--text-color-extra-weak);transition:transform var(--duration-fast);flex-shrink:0}.dropdown__select-chevron--open{transform:rotate(180deg)}.menu-dropdown{min-width:210px;max-width:260px}.deck-picker .dropdown__select{--dropdown-padding: var(--space-1);--dropdown-bg: transparent;--dropdown-border: none;--dropdown-hover-bg: var(--secondary-extra-weak);--dropdown-open-bg: var(--secondary-weak);--dropdown-radius: var(--radius-sm);--dropdown-color: var(--text-color-highlight);--dropdown-font-weight: 500}.deck-picker__menu{max-width:260px}.menu-dropdown--emoji-picker{min-width:unset;max-width:unset;overflow:visible}.emoji-picker{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);width:360px;--emoji-sidebar-btn-size: 34px;--emoji-sidebar-font-size: 19px;--emoji-viewport-height: 342px}.emoji-picker__header{display:flex;gap:var(--space-2);align-items:center}.emoji-picker__search{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--text-base);color:var(--text-color);background:var(--secondary-extra-weak);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none}.emoji-picker__search:focus{border-color:var(--text-color-extra-weak)}.emoji-picker__search::placeholder{color:var(--text-color-extra-weak)}.emoji-picker__remove{padding:var(--space-1) var(--space-2);font-size:var(--text-base);color:var(--text-color-weak);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;flex-shrink:0}.emoji-picker__remove:hover{background:var(--secondary-extra-weak);color:var(--text-color)}.emoji-picker__body{display:flex;gap:var(--space-1)}.emoji-picker__sidebar{display:flex;flex-direction:column;gap:var(--space-1);flex-shrink:0;padding-top:var(--space-1)}.emoji-picker__sidebar-btn,.emoji-picker__item{display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;padding:0;line-height:1}.emoji-picker__sidebar-btn{width:var(--emoji-sidebar-btn-size);height:var(--emoji-sidebar-btn-size);font-size:var(--emoji-sidebar-font-size);opacity:.5;transition:opacity var(--duration-fast),background var(--duration-fast)}.emoji-picker__sidebar-btn:hover{opacity:1;background:var(--secondary-weak)}.emoji-picker__sidebar-btn--active{opacity:1;background:var(--secondary-extra-weak)}.emoji-picker__viewport{flex:1;height:var(--emoji-viewport-height);overflow-y:auto;min-width:0}.emoji-picker__loading,.emoji-picker__empty{display:flex;align-items:center;justify-content:center;height:100px;font-size:var(--text-base);color:var(--text-color-extra-weak)}.emoji-picker__category{font-size:var(--text-xs);padding:var(--space-2) var(--space-1) var(--space-1);position:sticky;top:0;background:var(--primary)}.emoji-picker__list [frimousse-row]{display:flex;gap:1px}.emoji-picker__item{width:36px;height:36px;font-size:22px}.emoji-picker__item:hover{background:var(--secondary-weak)}.drawer--emoji-picker .drawer__content{padding:0 var(--space-2) var(--space-3);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom))}.drawer--emoji-picker .emoji-picker{width:100%;max-width:none;padding:var(--space-2) 0 0;gap:var(--space-3);--emoji-viewport-height: min(56dvh, 460px)}.template-picker .dropdown__select{--dropdown-padding: var(--space-1) var(--space-2);--dropdown-bg: var(--secondary-extra-weak);--dropdown-border: 1px solid var(--border-color-weak);--dropdown-hover-bg: var(--secondary-weak);--dropdown-hover-border: var(--border-color);--dropdown-open-bg: var(--secondary);--dropdown-open-border: var(--border-color);--dropdown-radius: var(--radius-pill);--dropdown-color: var(--text-color-medium);--dropdown-disabled-color: var(--text-color-extra-weak);--dropdown-disabled-opacity: .6}.template-picker .dropdown__select-label{max-width:150px}.template-picker__menu{max-width:220px}@media(max-width:768px){.template-picker .dropdown__select-label{max-width:100px}}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo__img{width:100%;height:100%;object-fit:cover;border-radius:22%}.logo--md .logo__icon{width:32px;height:32px}.logo--sm{gap:var(--space-2)}.logo--sm .logo__icon{width:28px;height:28px}.logo--lg .logo__icon{width:56px;height:56px}.logo__text{font-family:var(--font-serif);font-weight:500;color:var(--text-color-highlight);white-space:nowrap;transform:translateY(2px);-webkit-user-select:none;user-select:none}.logo--md .logo__text{font-size:var(--text-3xl)}.logo--sm .logo__text{font-size:var(--text-2xl)}.site-footer{background-color:var(--primary);padding:var(--space-12) var(--space-8) var(--space-8);margin-top:var(--space-16);border-top:1px solid var(--border-color-weak);border-radius:var(--radius-xl)}.site-footer__content{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between}.site-footer__section{display:flex;flex-direction:column;gap:var(--space-4);width:fit-content}.site-footer__brand{display:flex;align-items:center;gap:var(--space-3)}.site-footer__section h3{font-size:var(--text-2xl);color:var(--text-color-highlight);margin:0}.site-footer__section p{color:var(--text-color-medium);font-size:var(--text-lg);line-height:1.6;margin:0}.site-footer__section ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.site-footer__section ul li a,.site-footer__contact{color:var(--text-color-medium);text-decoration:none;font-size:var(--text-lg);transition:color var(--duration-normal) ease}.site-footer__section ul li a:hover,.site-footer__contact:hover,.site-footer__link-button:hover{color:var(--text-color-highlight)}.site-footer__link-button{background:none;border:none;padding:0;color:var(--text-color-medium);font-size:var(--text-lg);cursor:pointer;transition:color var(--duration-normal) ease}.site-footer__contact{display:flex;align-items:center;gap:var(--space-2)}.site-footer__bottom{max-width:1080px;margin:var(--space-10) auto 0;padding-top:var(--space-6);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.site-footer__bottom p{color:var(--text-color-medium);font-size:var(--text-lg);margin:0}.site-footer__action{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-pill);color:var(--text-color-medium);background-color:var(--overlay-color);transition:color var(--duration-normal) ease,background-color var(--duration-normal) ease,transform var(--duration-normal) ease}.site-footer__action:hover{color:var(--text-color-highlight);background-color:var(--secondary);transform:translateY(-1px)}@media(max-width:768px){.site-footer{padding:var(--space-10) var(--space-5) var(--space-5);margin-top:var(--space-10)}.site-footer__content{flex-direction:column;gap:var(--space-8)}.site-footer__section ul{gap:var(--space-2)}.site-footer__bottom{flex-direction:column;align-items:flex-start}.site-footer__action{display:none}}.public-layout{background-color:var(--primary)}.public-navbar{position:sticky;top:var(--desktop-nav-height);z-index:100;background-color:var(--primary);border-bottom:1px solid transparent;transition:border-color var(--duration-normal)}.public-navbar--scrolled{border-bottom-color:var(--border-color-weak)}.public-navbar__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:56px;max-width:1080px;margin:0 auto;padding:0 var(--space-6)}.public-navbar__logo{text-decoration:none}.public-navbar__inner--no-links{grid-template-columns:1fr auto}.public-navbar__links{display:flex;align-items:center;gap:var(--space-1)}.public-navbar__links a{font-size:var(--text-lg);font-weight:500;color:var(--text-color-weak);text-decoration:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);transition:color var(--duration-fast),background-color var(--duration-fast)}.public-navbar__links a:hover{color:var(--text-color-highlight);background-color:var(--primary-highlight)}.public-navbar__actions{display:flex;align-items:center;gap:var(--space-2);justify-self:end}.public-navbar__actions a{text-decoration:none}@media(max-width:640px){.public-navbar__links{display:none}.public-navbar__inner:not(.public-navbar__inner--no-links){grid-template-columns:1fr auto}}.input-field{display:flex;flex-direction:column;gap:var(--space-2)}.input-field__wrapper{position:relative;display:flex;align-items:center}.input-field__icon{position:absolute;left:var(--space-3);display:flex;align-items:center;color:var(--text-color-extra-weak);pointer-events:none}.input-field__input{width:100%;padding:var(--space-2) var(--space-3);background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-lg);font-size:var(--text-lg);color:var(--text-color);outline:none;transition:border-color var(--duration-fast) ease}.input-field--with-icon .input-field__input{padding-left:calc(var(--space-3) + 16px + var(--space-2))}.input-field__input::placeholder{color:var(--text-color-extra-weak)}.input-field__input:focus{border-color:var(--border-color)}.rich-textarea-container{position:relative;overflow:visible}.rich-textarea{display:block;width:100%;min-height:1.5em;background-color:transparent;border:none;outline:none;padding:0 0 var(--space-1) 0;color:var(--text-color);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.rich-textarea:empty:before{content:attr(data-placeholder);color:var(--text-color-extra-weak);pointer-events:none}.rich-textarea img{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm);margin:0;cursor:pointer;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.rich-textarea img.selected{outline:none}.image-resize-outline{position:absolute;border:1.5px solid var(--text-color-extra-extra-weak);border-radius:var(--radius-sm);pointer-events:none;z-index:5}.image-resize-handle{position:absolute;width:8px;height:8px;background:var(--text-color-extra-weak);border-radius:2px;z-index:6}.image-resize-handle--nw{cursor:nwse-resize}.image-resize-handle--ne,.image-resize-handle--sw{cursor:nesw-resize}.image-resize-handle--se{cursor:nwse-resize}.rich-textarea--uploading{opacity:.7}.rich-textarea__upload-indicator{position:absolute;top:0;right:0;font-size:var(--text-sm);color:var(--text-color-weak);font-style:italic}.rich-textarea strong,.rich-textarea b{font-weight:600}.rich-textarea em,.rich-textarea i{font-style:italic}.rich-textarea .latex-inline,.rich-textarea .latex-block{cursor:pointer;border-radius:var(--radius-xs);transition:background var(--duration-fast) ease}.rich-textarea .latex-inline{display:inline;padding:0 2px}.rich-textarea .latex-block{display:block;padding:var(--space-2);margin:var(--space-2) 0;text-align:center}.rich-textarea .latex-inline:hover,.rich-textarea .latex-block:hover{background:var(--secondary-extra-weak)}.rich-textarea .latex-inline .katex,.rich-textarea .latex-block .katex{font-size:1em}.rich-textarea .latex-block .katex{font-size:1.1em}.rich-textarea .katex-error{color:var(--color-error);font-family:monospace;font-size:var(--text-sm)}.rich-textarea__toolbar{display:flex;align-items:center;gap:var(--space-1);max-height:0;opacity:0;overflow:hidden;padding-top:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transform:translateY(-2px)}.rich-textarea__toolbar--visible{max-height:none;opacity:1;padding-top:var(--space-2);pointer-events:auto;transform:translateY(0)}.rich-textarea__toolbar-btn{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-color-extra-weak);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);line-height:1;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.rich-textarea__toolbar-btn:hover{background:var(--secondary-extra-weak);color:var(--text-color-weak)}.rich-textarea__toolbar>:first-child .rich-textarea__toolbar-btn{margin-left:calc(-1 * var(--space-2))}.rich-textarea__toolbar-btn:active{background:var(--secondary)}.rich-textarea__toolbar-btn--active{background:var(--secondary);color:var(--text-color)}.rich-textarea__toolbar--mobile{position:fixed;left:50%;transform:translate(-50%);z-index:1001;max-height:none;overflow:visible;opacity:1;pointer-events:auto;padding:0 var(--space-2);height:var(--space-14);gap:var(--space-2);background-color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--box-shadow)}.rich-textarea__toolbar--mobile .rich-textarea__toolbar-btn{width:var(--space-10);height:var(--space-10);justify-content:center;padding:0;margin:0;border-radius:var(--radius-md);color:var(--text-color-extra-weak)}.rich-textarea__toolbar--mobile .rich-textarea__toolbar-btn:active{transform:scale(.95)}.rich-textarea__toolbar--mobile .rich-textarea__toolbar-btn--active{color:var(--text-color-highlight);background-color:var(--secondary-extra-weak)}.rich-textarea__toolbar--mobile>:first-child .rich-textarea__toolbar-btn{margin-left:0}body:has(.rich-textarea__toolbar--mobile) .mobile-dock{display:none}.latex-editor{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--box-shadow-strong);min-width:320px;max-width:600px;width:max-content}.latex-editor__input{width:100%;min-width:280px;padding:var(--space-2) var(--space-3);background:var(--secondary-extra-weak);border:1px solid transparent;border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-base);color:var(--text-color);resize:vertical;min-height:60px;outline:none;transition:border-color var(--duration-fast) ease;line-height:1.5}.latex-editor__input:focus{border-color:var(--border-color)}.latex-editor__input--error{border-color:var(--color-error)}.latex-editor__input::placeholder{color:var(--text-color-extra-weak)}.latex-editor__footer{display:flex;align-items:center;gap:var(--space-3)}.latex-editor__mode-toggle{display:flex;gap:2px;padding:2px;background:var(--secondary-extra-weak);border-radius:var(--radius-sm)}.latex-editor__mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);color:var(--text-color-weak);cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.latex-editor__mode-btn:hover{background:var(--secondary-weak);color:var(--text-color)}.latex-editor__mode-btn--active{background:var(--primary);color:var(--text-color);box-shadow:var(--box-shadow-weak)}.latex-editor__hint{flex:1;font-size:var(--text-xs);color:var(--text-color-extra-weak)}.latex-editor__delete{color:var(--text-color-extra-weak)}.latex-editor__delete:hover{color:var(--color-error)}.tooltip{position:fixed;padding:var(--space-2) var(--space-3);background:var(--text-color-highlight);color:var(--primary);border-radius:var(--radius-sm);font-size:var(--text-base);max-width:min(20rem,calc(100vw - 16px));white-space:normal;pointer-events:none;z-index:1001;box-shadow:var(--box-shadow)}.tooltip--animated{opacity:0;scale:.9;transform-origin:bottom center;transition:opacity .18s cubic-bezier(.16,1,.3,1),scale .18s cubic-bezier(.16,1,.3,1)}.tooltip--animated.tooltip--below{transform-origin:top center}.tooltip--animated.tooltip--visible{opacity:1;scale:1}.tooltip__title{font-weight:500}.tooltip__detail{font-size:var(--text-sm);opacity:.8}.tooltip__detail--weak{opacity:.6}.label-tooltip__anchor{display:inline-flex}.segmented-control{position:relative;display:flex;align-items:center;padding:var(--space-1);background:var(--primary);border-radius:var(--radius-pill);border:1px solid var(--border-color-weak);-webkit-user-select:none;user-select:none}.segmented-thumb{position:absolute;top:var(--space-1);left:var(--space-1);height:calc(100% - var(--space-1) * 2);border-radius:var(--radius-pill);background:var(--button-primary-bg);box-shadow:var(--box-shadow-weak);pointer-events:none;transition:transform .3s cubic-bezier(.35,0,.25,1),width .3s cubic-bezier(.35,0,.25,1);will-change:transform,width}.segmented-option{position:relative;display:flex;flex:1;align-items:center;justify-content:center;padding:var(--space-2) 0;height:32px;border:none;background:transparent;border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-color-weak);cursor:pointer;outline:none;transition:color var(--duration-normal) ease;white-space:nowrap;z-index:1}.segmented-option:hover:not(.is-active){color:var(--text-color)}.segmented-option.is-active{color:var(--button-primary-text);font-weight:500}.segmented-option:before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:var(--border-color);opacity:1;transition:opacity var(--duration-normal) ease;border-radius:1px}.segmented-option:first-of-type:before,.segmented-option.is-active:before,.segmented-option.hide-divider:before{opacity:0}.segmented-option:active:not(.is-active) .segmented-option__label{transform:scale(.95)}.segmented-control--small .segmented-option{height:24px;padding:var(--space-1) var(--space-3);font-size:var(--text-base)}.step-dots{display:flex;align-items:center;gap:var(--space-2)}.step-dot{height:6px;width:8px;border-radius:var(--radius-pill);background-color:var(--text-color-extra-extra-weak);cursor:pointer;transition:all var(--duration-slow) ease;border:none;padding:0}.step-dot.current{width:2rem;background-color:var(--text-color)}.step-dot.completed{background-color:var(--text-color-extra-weak)}.step-dot.upcoming{cursor:default}.step-dot:hover:not(.upcoming){background-color:var(--text-color-weak)}.step-dot.current:hover{background-color:var(--text-color)}.study-session-modal.modal{max-width:400px}.study-session-modal .modal__header{padding-bottom:var(--space-2)}.study-session{display:flex;flex-direction:column;gap:var(--space-4)}.study-session__summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--primary-highlight);border-radius:var(--radius-md);border:1px solid var(--border-color-weak)}.study-session__stat{display:flex;flex-direction:column;align-items:center;flex:1}.study-session__stat+.study-session__stat{border-left:1px solid var(--border-color-weak)}.study-session__stat-number{font-size:var(--text-xl);font-weight:500;color:var(--text-color-highlight);letter-spacing:-.02em;line-height:1;transition:color var(--duration-normal) ease}.study-session__stat-label{font-size:var(--text-sm);color:var(--text-color-extra-weak);margin-top:3px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.study-session__modes{display:flex;flex-direction:column;border:1px solid var(--border-color-weak);border-radius:var(--radius-md);overflow:hidden}.study-session__mode{display:flex;align-items:center;gap:var(--space-3);padding:13px var(--space-4);cursor:pointer;border:none;background:transparent;text-align:left;width:100%;border-bottom:1px solid var(--border-color-weak);transition:background var(--duration-fast) ease}.study-session__mode:last-child{border-bottom:none}.study-session__mode:hover,.study-session__mode.is-selected{background:var(--primary-highlight)}.study-session__radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--secondary-strong-highlight);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease;margin-top:1px}.study-session__mode.is-selected .study-session__radio{border-color:var(--button-primary-bg);background:var(--button-primary-bg)}.study-session__radio:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--button-primary-text);opacity:0;transform:scale(.5);transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.study-session__mode.is-selected .study-session__radio:after{opacity:1;transform:scale(1)}.study-session__mode-badge{font-size:var(--text-sm);font-weight:500;padding:2px 7px;border-radius:var(--radius-pill);background:var(--secondary);color:var(--text-color-extra-weak);letter-spacing:.01em;flex-shrink:0;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.study-session__mode.is-selected .study-session__mode-badge{background:var(--surface-accent);color:var(--text-color-accent)}.study-session__expand{display:grid;grid-template-rows:0fr;margin-top:calc(-1 * var(--space-4));transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1),margin-top .28s cubic-bezier(.4,0,.2,1)}.study-session__expand.is-open{grid-template-rows:1fr;margin-top:0}.study-session__expand-inner{overflow:hidden}.study-session__expand-content{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-1)}.study-session__field{display:flex;flex-direction:column;gap:var(--space-2)}.study-session__start-count{font-weight:400;opacity:.7;transition:opacity var(--duration-normal) ease}.collapsible-list{background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--box-shadow-weak)}.collapsible-list__overflow{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.collapsible-list__overflow--expanded{grid-template-rows:1fr}.collapsible-list__content{overflow-y:hidden;scrollbar-gutter:stable}.collapsible-list__overflow-inner{overflow:hidden}.collapsible-list__toggle{width:100%;padding:10px;border:none;border-top:1px solid var(--border-color-weak);background:none;color:var(--text-color-secondary);font:inherit;font-size:var(--text-base);cursor:pointer}.file-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--secondary-extra-weak);border-radius:var(--radius-md)}.file-card__badge{width:40px;height:50px;border-radius:var(--radius-sm);background:var(--primary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--text-color-extra-weak);flex-shrink:0}.file-card__info{min-width:0}.file-card__name{font-size:var(--text-lg);font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card__meta{font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:2px}.drop-zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);min-width:360px;padding:var(--space-14) var(--space-8);border-radius:var(--radius-lg);background:var(--primary);border:1px solid var(--border-color-weak);color:var(--text-color-weak);box-shadow:var(--box-shadow-weak);cursor:pointer;transition:border-color var(--duration-fast)}.drop-zone:hover,.drop-zone--active{border-color:var(--secondary-highlight)}.drop-zone__title{font-size:var(--text-2xl);font-weight:500;color:var(--text-color)}.drop-zone__subtitle{font-size:var(--text-base);color:var(--text-color-extra-weak)}@media(max-width:768px){.drop-zone{min-width:0;padding:var(--space-10) var(--space-5)}}.anki-import-modal.modal{width:min(480px,calc(100vw - var(--space-8)))}.anki-import{display:flex;flex-direction:column;gap:var(--space-5)}.export-modal.modal{width:min(480px,calc(100vw - var(--space-8)))}.export{display:flex;flex-direction:column;gap:var(--space-3)}.export__format-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.export__format-btn{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--primary);cursor:pointer;transition:all var(--duration-fast);text-align:left}.export__format-btn:hover{border-color:var(--secondary-strong-highlight)}.export__format-btn--active{border-color:var(--secondary-strong-highlight);background:var(--primary-highlight)}.export__format-btn:disabled{opacity:.5;cursor:not-allowed}.export__format-name{font-size:var(--text-lg);color:var(--text-color);font-weight:500}.export__format-desc{font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:2px}.update-banner{position:fixed;left:50%;top:var(--space-4);transform:translate(-50%);z-index:1000000;width:calc(100vw - 2rem);max-width:460px;animation:update-banner-slide-in .3s cubic-bezier(.34,1.56,.64,1) forwards}.update-banner--exiting{animation:update-banner-slide-out .2s cubic-bezier(.36,0,.66,-.56) forwards}.update-banner__inner{background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--box-shadow);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);position:relative}.update-banner__icon{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--surface-accent);border-radius:var(--radius-sm);color:var(--text-color-accent);animation:update-banner-icon-rotate .4s cubic-bezier(.34,1.56,.64,1) .15s}.update-banner__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.update-banner__text{color:var(--text-color);font-size:var(--text-base);font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-banner__subtext{color:var(--text-color-weak);font-size:var(--text-sm);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-banner__refresh{flex-shrink:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background-color:var(--surface-accent);border:1px solid var(--surface-accent);color:var(--text-color-accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) ease;white-space:nowrap}.update-banner__refresh:hover{background-color:var(--surface-accent-highlight)}.update-banner__refresh:active{transform:translateY(1px)}.update-banner__close{appearance:none;background:var(--primary);border:1px solid var(--border-color);color:var(--text-color-weak);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all var(--duration-fast) ease;flex-shrink:0;position:absolute;right:-6px;top:-8px;box-shadow:var(--box-shadow-weak)}.update-banner__close:hover{background-color:var(--primary-highlight);color:var(--text-color)}@keyframes update-banner-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-12px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes update-banner-slide-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-12px) scale(.95)}}@keyframes update-banner-icon-rotate{0%{transform:rotate(-180deg) scale(.5);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@media(max-width:640px){.update-banner__close{display:none}}.cookie-banner{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);z-index:1005;animation:cookie-banner-appear var(--duration-slow) cubic-bezier(.16,1,.3,1) forwards}@keyframes cookie-banner-appear{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:768px){.cookie-banner{left:auto;right:var(--space-4);width:420px}}.cookie-banner__content{background-color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--box-shadow-strong)}.cookie-banner__title{color:var(--text-color);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-2)}.cookie-banner__description{color:var(--text-color-weak);font-size:var(--text-lg);line-height:1.5;margin-bottom:var(--space-5)}.cookie-banner__settings{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.cookie-banner__setting{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background-color:var(--primary-highlight);border-radius:var(--radius-sm)}.cookie-banner__setting-text{flex-grow:1;margin-right:var(--space-4)}.cookie-banner__setting-title{color:var(--text-color);font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-1)}.cookie-banner__setting-subtitle{color:var(--text-color-weak);font-size:var(--text-base)}.cookie-banner__actions{display:flex;flex-direction:column;gap:var(--space-2)}.cookie-banner__button-group{display:flex;gap:var(--space-2)}.cookie-banner__full-width{width:100%}@media(max-width:767px){.cookie-banner{bottom:0;left:0;right:0}.cookie-banner__content{border-radius:var(--radius-md) var(--radius-md) 0 0}}.notification-container{position:fixed;top:var(--space-6);left:calc(50% + var(--sidebar-width, 0px) / 2);transform:translate(-50%);z-index:9999;width:360px;max-width:calc(100vw - var(--space-4) * 2);pointer-events:none}.notification{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--box-shadow-strong);pointer-events:auto;cursor:grab;position:absolute;top:0;left:0;overflow:hidden;transform-origin:top center;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .4s cubic-bezier(.22,1,.36,1)}.notification--default .notification__icon{color:var(--text-color-weak)}.notification--success .notification__icon{color:var(--color-success)}.notification--error .notification__icon{color:var(--color-error)}.notification--warning .notification__icon{color:var(--color-warning)}.notification--info .notification__icon{color:var(--text-color-weak)}.notification--entering{animation:notification-enter .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes notification-enter{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.notification--exiting{opacity:0;transition:opacity .2s ease-out}.notification__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-top:1px}.notification__content{flex:1;min-width:0;transition:all .3s cubic-bezier(.22,1,.36,1)}.notification__title{font-size:var(--text-lg);font-weight:500;color:var(--text-color);line-height:1.4}.notification__count{position:absolute;bottom:var(--space-2);right:var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-color-extra-weak)}.notification__description{font-size:var(--text-base);color:var(--text-color-medium);margin-top:var(--space-1);line-height:1.4}.notification__actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);transition:opacity .2s ease}.notification__action-btn{padding:var(--inset-md) var(--space-3);font-size:var(--text-base);font-weight:500;color:var(--text-color);background:var(--secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.notification__action-btn:hover{background:var(--secondary-highlight)}.notification__close{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;color:var(--text-color-extra-weak);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:color var(--duration-fast),background var(--duration-fast),opacity var(--duration-fast)}.notification:hover .notification__close{opacity:1}.notification__close:hover{color:var(--text-color);background:var(--secondary)}.notification__progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--text-color-extra-extra-weak);transform-origin:left;animation:notification-progress linear forwards}@keyframes notification-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notification__progress--indeterminate{width:40%;animation:notification-progress-indeterminate 1.2s ease-in-out infinite}@keyframes notification-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(max-width:768px){.notification-container{top:calc(var(--safe-area-top, 0px) + var(--space-4));left:50%}.notification__close{display:none}.notification__action-btn{padding:var(--inset-sm) var(--space-3)}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100dvh - var(--desktop-nav-height));gap:var(--space-3);font-family:var(--font-sans);color:var(--text-color);text-align:center}.error-boundary__icon{color:var(--text-color-extra-weak)}.error-boundary__title{font-size:var(--text-2xl);font-weight:600}.error-boundary__description{font-size:var(--text-lg);color:var(--text-color-weak)}.error-boundary__button{margin-top:var(--space-2);padding:var(--space-2) var(--space-6);font-size:var(--text-base);font-weight:500;color:var(--text-color-accent);background:var(--surface-accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.error-boundary__button:hover{background:var(--surface-accent-highlight)}.desktop-nav{position:fixed;top:0;left:0;right:0;z-index:2000;display:flex;align-items:center;gap:2px;padding-left:78px;height:var(--desktop-nav-height);-webkit-app-region:drag;app-region:drag;background:var(--bg-color)}.desktop-nav__btn{-webkit-app-region:no-drag;app-region:no-drag;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-color-weak);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.desktop-nav__btn:hover:not(:disabled){color:var(--text-color);background:var(--secondary)}.desktop-nav__btn:disabled{color:var(--text-color-extra-weak);cursor:default;opacity:.4}.inbox-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast);position:relative;overflow:hidden}.inbox-item:hover{background:var(--primary-highlight)}.inbox-item--bordered{border-bottom:1px solid var(--border-color-weak)}.inbox-item__content{flex:1;min-width:0}.inbox-item__title{font-size:var(--text-lg);color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item__meta{font-size:var(--text-md);color:var(--text-color-extra-extra-weak);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-item__trailing{flex-shrink:0;display:grid;place-items:center;width:22px;height:22px;border-radius:var(--radius-sm)}.inbox-item__chevron,.inbox-item__dismiss{grid-area:1 / 1;transition:opacity var(--duration-fast),transform var(--duration-fast)}.inbox-item__chevron{color:var(--text-color-extra-extra-weak)}.inbox-item__dismiss{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:none;cursor:pointer;color:var(--text-color-extra-extra-weak);opacity:0;transform:scale(.5)}.inbox-item__dismiss:hover{color:var(--text-color-weak)}.inbox-item:hover .inbox-item__chevron{opacity:0;transform:scale(.5)}.inbox-item:hover .inbox-item__dismiss{opacity:1;transform:scale(1)}.inbox-item__title-skeleton{display:inline-block;width:60%;height:1em;vertical-align:middle}.inbox-pill-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);pointer-events:none}.inbox-pill__panel{width:280px;background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--box-shadow-strong);max-height:min(60dvh,400px);overflow-y:auto;transform-origin:bottom right;transition:opacity var(--duration-normal) ease,transform var(--duration-normal) cubic-bezier(.16,1,.3,1);opacity:0;transform:scale(.95) translateY(8px);pointer-events:none}.inbox-pill__panel--open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.inbox-pill__backdrop{position:fixed;inset:0;z-index:-1;pointer-events:auto}.inbox-pill{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-pill);pointer-events:auto;cursor:pointer;box-shadow:var(--box-shadow);transition:box-shadow var(--duration-fast),transform var(--duration-fast);color:var(--text-color-extra-weak)}.inbox-pill:hover{box-shadow:var(--box-shadow-strong);transform:translateY(-1px)}.inbox-pill__label{font-size:var(--text-base);font-weight:500;color:var(--text-color)}.inbox-pill__label strong{font-variant-numeric:tabular-nums}.inbox-pill__progress{background:var(--text-color-extra-weak);opacity:.4}.inbox-pill__panel .inbox-item__title{font-size:var(--text-base)}.gen-flow.modal{width:min(520px,calc(100vw - var(--space-8)))}.gen-flow--with-preview.modal{width:min(860px,calc(100vw - var(--space-8)));max-width:min(860px,calc(100vw - var(--space-8)));height:min(620px,70dvh);transition:max-width var(--duration-normal) ease}.gen-flow__config{display:flex;flex-direction:column;gap:var(--space-5)}.gen-flow__field{display:flex;flex-direction:column;gap:var(--space-2)}.gen-flow__field .deck-picker{--picker-border: 1px solid var(--border-color-weak);--picker-hover-bg: var(--primary);border-radius:var(--radius-md)}.gen-upload-choice{display:flex;flex-direction:column;gap:var(--space-5)}.gen-upload-choice__file{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border-color-weak);border-radius:var(--radius-md)}.gen-upload-choice__file-icon{color:var(--text-color-weak);flex-shrink:0}.gen-upload-choice__file-name{font-size:var(--text-lg);font-weight:500;color:var(--text-color);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-upload-choice__file-meta{font-size:var(--text-base);color:var(--text-color-extra-weak);flex-shrink:0;margin-left:auto}.gen-upload-choice__actions{display:flex;flex-direction:column;gap:var(--space-2)}.gen-upload-choice__action{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-color-weak);border-radius:var(--radius-sm);background:none;cursor:pointer;transition:background var(--duration-fast);text-align:left;font-family:inherit}.gen-upload-choice__action:hover{background:var(--secondary-extra-weak)}.gen-upload-choice__action-icon{color:var(--text-color-extra-weak);flex-shrink:0}.gen-upload-choice__action-label{font-size:var(--text-lg);font-weight:500;color:var(--text-color)}.gen-upload-choice__action-desc{font-size:var(--text-base);color:var(--text-color-extra-weak)}.gen-flow__count{font-size:var(--text-base);color:var(--text-color-extra-weak);flex-shrink:0;margin-right:auto}.gen-flow--with-preview .modal__header .btn{margin-right:var(--space-2)}.gen-flow__body{display:flex;flex:1;min-height:0;overflow:hidden}.gen-flow__list{overflow-y:auto;padding:var(--space-2)}.gen-flow--with-preview .gen-flow__list{width:320px;flex:none;border-right:1px solid var(--border-color-weak)}.gen-flow__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.gen-flow__row:hover,.gen-flow__row--highlighted{background:var(--secondary-weak)}.gen-flow__row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.gen-flow__row-front{flex:1;min-width:0;font-size:var(--text-lg);color:var(--text-color)}.gen-flow__row-front .markdown-renderer,.gen-flow__row-back .markdown-renderer{font-size:inherit}.gen-flow__row-back{font-size:var(--text-base);color:var(--text-color-extra-weak)}.gen-flow__row--loading{cursor:default;color:var(--text-color-extra-weak);gap:var(--space-2)}.gen-flow__row--loading:hover{background:none}.gen-flow__row-loading-text{font-size:var(--text-base);color:var(--text-color-extra-weak)}.gen-flow__preview{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--primary-weak-highlight)}.gen-flow__preview-content{flex:1;overflow-y:auto;padding:var(--space-6)}.gen-flow__preview-actions{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color-weak)}.gen-flow-mobile-preview .card-content--compact .card-content__front,.gen-flow-mobile-preview .card-content--compact .card-content__back-text{font-size:var(--text-lg)}.drawer.gen-flow-mobile-preview{height:auto;max-height:85dvh}.drawer.gen-flow-mobile-preview .drawer__header{padding-bottom:var(--space-3)}.drawer.gen-flow-mobile-preview .drawer__content-inner{padding:var(--space-2) 0 var(--space-3)}.drawer.gen-flow-mobile-preview .drawer__footer{padding-top:var(--space-4)}.drawer.gen-flow .drawer__content{padding:0;padding-bottom:var(--safe-area-bottom);position:relative}.drawer.gen-flow .gen-flow__config{padding:0 var(--space-5)}.gen-flow .modal__content{position:relative;padding-top:0}.gen-flow--with-preview .modal__content{padding:0;flex:1;display:flex;flex-direction:column}.gen-flow__empty{min-height:200px;display:flex;flex-direction:column;justify-content:center}.gen-drag-hint{position:fixed;inset:0;z-index:9999;background:var(--overlay-color);display:flex;align-items:center;justify-content:center;animation:gen-drag-hint-in var(--duration-normal) ease-out forwards}@keyframes gen-drag-hint-in{0%{opacity:0}to{opacity:1}}.gen-drag-hint__zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-14) var(--space-8);border-radius:var(--radius-lg);background:var(--primary);border:1px solid var(--border-color-weak);color:var(--text-color-weak);box-shadow:var(--box-shadow-strong)}.gen-drag-hint__title{font-size:var(--text-2xl);font-weight:500;color:var(--text-color)}.gen-drag-hint__subtitle{font-size:var(--text-base);color:var(--text-color-extra-weak)}.startpage{display:flex;flex-direction:column}.startpage:before{content:"";flex:3 0 0px}.startpage:after{content:"";flex:5 0 0px}.startpage .page__container{display:flex;flex-direction:column;gap:var(--space-5);max-width:680px;width:100%;margin-left:auto;margin-right:auto}.hero{text-align:center;padding:var(--space-10) 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-6)}.hero__logo{margin-bottom:var(--space-3);justify-content:center}.hero__title{font-size:var(--text-5xl);font-weight:500;color:var(--text-color-highlight);line-height:1.2}.hero__description{color:var(--text-color-weak);margin-top:var(--space-3)}.hero__streak{display:inline-flex;align-items:center;gap:3px}.hero__actions{display:flex;justify-content:center;gap:var(--space-3)}.startpage__section-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}@media(max-width:768px){.hero__title{font-size:var(--text-4xl)}}.deck-list__card{background:var(--primary);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--box-shadow-weak);overflow:hidden}.deck-list__items{list-style:none;padding:var(--space-1) 0;margin:0}.deck-list__collapse .deck-list__empty,.deck-list__collapse .deck-list__items{transition:opacity .15s ease-out,transform .4s cubic-bezier(.32,.72,0,1)}.deck-list__collapse--out .deck-list__empty,.deck-list__collapse--out .deck-list__items{opacity:0;transform:scale(.98)}.deck-list__item{position:relative;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast) ease}.deck-list__item:hover{background:var(--secondary-extra-weak)}.deck-list__item-inner{display:grid;grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem 2.5rem;align-items:center;padding:.625rem .75rem;gap:var(--space-1)}.deck-list__item-left{display:flex;align-items:center;gap:var(--space-2);min-width:0}.deck-list__expand-toggle{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:var(--text-color-extra-weak);border-radius:var(--radius-xs);transition:color var(--duration-fast) ease}.deck-list__expand-toggle:hover{color:var(--text-color-weak)}.deck-list__expand-toggle--hidden{visibility:hidden;pointer-events:none}.deck-list__expand-icon{transition:transform var(--duration-fast) ease}.deck-list__expand-icon--expanded{transform:rotate(90deg)}.deck-list__item-name{font-size:var(--text-lg);font-weight:400;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-list__stat{font-size:var(--text-md);font-weight:500;font-variant-numeric:tabular-nums;text-align:center;padding:1px 0;border-radius:var(--radius-pill);line-height:1.4}.deck-list__stat--new{color:#818cf8;background:color-mix(in srgb,#818cf8 10%,transparent)}.deck-list__stat--learning{color:#f59e0b;background:color-mix(in srgb,#f59e0b 10%,transparent)}.deck-list__stat--due{color:#0d9488;background:color-mix(in srgb,#0d9488 10%,transparent)}.deck-list__stat--zero{color:var(--text-color-extra-extra-weak);background:transparent}.deck-list__item--new{cursor:default}.deck-list__item--new:hover{background:transparent}.deck-list__new-input,.deck-list__edit-input{font-size:var(--text-lg);font-weight:400;color:var(--text-color);background:transparent;border:none;outline:none;padding:0;font-family:inherit;flex:1;min-width:0}.deck-list__new-input::placeholder{color:var(--text-color-extra-weak);font-weight:400}.deck-list__new-input:disabled{opacity:.6}.deck-list__item--editing{cursor:default}.deck-list__items--dragging{-webkit-user-select:none;user-select:none}.deck-list__item--dragging{opacity:.3}.deck-list__item--descendant-of-active{opacity:.5}.deck-list__item--drop-target-nest{background:var(--secondary-weak)}.deck-list__item--drop-target-invalid{opacity:.3;cursor:not-allowed}.deck-list__drop-indicator{left:0;right:0;z-index:10}.deck-list__drop-indicator--after{bottom:0}.deck-list__drag-overlay{padding:.625rem 1rem;cursor:grabbing;opacity:.95;display:flex;align-items:center;gap:var(--space-3)}.deck-list__drag-overlay-name{font-size:var(--text-lg);font-weight:500}.deck-list__drag-overlay-count{font-size:var(--text-base);color:var(--text-color-extra-weak)}.deck-list__root-drop-zone{padding:var(--space-3);margin:var(--space-1);border-radius:var(--radius-sm);color:var(--text-color-extra-extra-weak)}.deck-list__collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s cubic-bezier(.32,.72,0,1)}.deck-list__collapse--out{grid-template-rows:0fr}.deck-list__collapse-inner{overflow:hidden}.deck-list__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-14) var(--space-4);text-align:center}.deck-list__empty-icon{color:var(--text-color-extra-extra-weak)}.deck-list__empty-title{font-size:var(--text-xl);font-weight:500;color:var(--text-color-weak)}.deck-list__empty-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.deck-list__empty-actions-row{display:flex;gap:var(--space-2)}.deck-list__item--import{cursor:default;opacity:.7}.deck-list__item--import:hover{background:transparent}.deck-list__item--import .deck-list__item-inner{grid-template-columns:minmax(0,1fr) auto}.deck-list__import-spinner{animation:deck-list-spin 1.5s linear infinite;color:var(--text-color-extra-weak);flex-shrink:0}@keyframes deck-list-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.deck-list__item-name--import{color:var(--text-color-weak)}.deck-list__import-status{font-size:var(--text-base);color:var(--text-color-extra-weak);white-space:nowrap}@media(max-width:768px){.deck-list__item-inner{grid-template-columns:minmax(0,1fr) 2rem 2rem 2rem;padding:.5rem .75rem}}.inbox__badge{font-size:var(--text-sm);font-weight:400;padding:1px 6px;border-radius:var(--radius-pill);background:var(--surface-accent);color:var(--text-color-accent);margin-left:2px}.inbox__list{background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--box-shadow-weak)}.drawer--inbox .drawer__content{padding:0;padding-bottom:var(--safe-area-bottom)}.inbox__show-more{width:100%;padding:10px;border:none;border-top:1px solid var(--border-color-weak);background:none;color:var(--text-color-secondary);font-size:var(--text-base);cursor:pointer}.stat-grid{display:grid;text-align:center;border:1px solid var(--border-color-weak);border-radius:var(--radius-md)}.stat-card{display:flex;flex-direction:column;align-items:center;border-radius:var(--radius-md)}.stat-card--bordered{padding:var(--space-4) var(--space-2);background:var(--primary)}.stat-card__value{font-size:var(--text-3xl);font-weight:500;color:var(--text-color-highlight);line-height:1.2}.stat-card__label{font-size:var(--text-base);color:var(--text-color-weak);margin-top:var(--space-1)}.stats__header{margin-bottom:var(--space-6)}.stats__charts{display:flex;flex-direction:column;gap:var(--space-6)}.stats-panel{background:var(--primary);border-radius:var(--radius-md);border:1px solid var(--border-color-weak);padding:var(--space-5)}.stats-panel__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-3)}.stats-panel__title{font-size:var(--text-lg);font-weight:500;color:var(--text-color-highlight)}.stats-panel__subtitle{font-size:var(--text-base);color:var(--text-color-weak)}.summary-stats{grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.summary-stats .stat-card--bordered{justify-content:center;padding:var(--space-5)}.summary-stats .stat-card__label{font-size:var(--text-sm)}.activity-heatmap__container{width:100%;overflow-x:auto}.activity-heatmap__svg{display:block;max-width:none;overflow:visible;margin-right:var(--space-4)}.activity-heatmap__month-label{font-size:var(--text-base);fill:var(--text-color-weak)}.activity-heatmap__cell{pointer-events:none}.activity-heatmap__legend{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1);margin-top:var(--space-3)}.activity-heatmap__legend-label{font-size:var(--text-xs);color:var(--text-color-weak)}.activity-heatmap__legend-cell{width:12px;height:12px;border-radius:2px}.future-due-chart__range-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);font-size:var(--text-base);color:var(--text-color-weak);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast)}.future-due-chart__range-btn:hover{color:var(--text-color);border-color:var(--text-color-extra-weak)}.future-due-chart__container{width:100%}.future-due-chart__axis-label{font-size:var(--text-md);fill:var(--text-color-weak)}.future-due-chart__footer{display:flex;align-items:center;justify-content:center;gap:var(--space-6);margin-top:var(--space-1)}.future-due-chart__stat{display:flex;align-items:baseline;gap:var(--space-2)}.future-due-chart__stat-value{font-size:var(--text-lg);font-weight:500;color:var(--text-color-highlight)}.future-due-chart__stat-label{font-size:var(--text-sm);color:var(--text-color-weak)}@media(max-width:768px){.summary-stats.stat-grid{grid-template-columns:repeat(2,1fr)}.stats-panel__header{gap:var(--space-1)}.stats__charts{gap:var(--space-4)}}@media(max-width:480px){.summary-stats .stat-card--bordered{padding:var(--space-3)}.summary-stats .stat-card__value{font-size:var(--text-2xl)}.stats-panel{padding:var(--space-3)}}.search-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-4);background:var(--secondary-extra-weak);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);font-size:var(--text-lg);color:var(--text-color-extra-weak);cursor:pointer;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease;width:100%;max-width:480px}.search-trigger:hover{border-color:var(--border-color);background-color:var(--secondary-weak);color:var(--text-color-weak)}.search-trigger span{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spotlight.modal{min-width:unset;width:100%;max-width:560px;max-height:70dvh;border:1px solid var(--border-color);transition:max-width var(--duration-normal) ease}.spotlight.modal.spotlight--expanded{max-width:900px}.spotlight__search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-weak);flex-wrap:wrap}.spotlight__search-icon{flex-shrink:0;color:var(--text-color-extra-weak);margin-right:var(--space-1)}.spotlight__search-input{flex:1;background:none;border:none;outline:none;font-size:16px;color:var(--text-color);min-width:120px}.spotlight__search-input::placeholder{color:var(--text-color-extra-weak)}.spotlight__filter-chip{display:flex;align-items:center;gap:var(--space-1);padding:var(--inset-sm) var(--inset-sm) var(--inset-sm) var(--space-2);background:var(--secondary-weak);border:1px solid var(--border-color-weak);border-radius:var(--radius-sm);min-width:0;max-width:60%;animation:spotlight-chip-in .18s cubic-bezier(.22,1,.36,1)}@keyframes spotlight-chip-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spotlight__filter-chip-prefix{color:var(--text-color-extra-weak);font-size:var(--text-base);font-weight:500}.spotlight__filter-chip-value{background:none;border:none;padding:0;font:inherit;font-size:var(--text-lg);font-weight:500;color:var(--text-color);cursor:pointer;max-width:160px}.spotlight__filter-chip-value:hover{text-decoration:underline;color:var(--text-color-highlight)}.spotlight__filter-chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;border-radius:var(--radius-xs);cursor:pointer;color:var(--text-color-extra-weak);padding:0;transition:background var(--duration-fast),color var(--duration-fast)}.spotlight__filter-chip-remove:hover{background:var(--secondary-highlight);color:var(--text-color)}.spotlight__prefix-badge{display:inline-flex;align-items:center;padding:var(--inset-sm) var(--space-2);border-radius:var(--radius-sm);background:var(--secondary-weak);font-size:var(--text-base);font-weight:500;color:var(--text-color-weak);white-space:nowrap;flex-shrink:0}.spotlight__prefix-hints{display:flex;gap:var(--space-2);flex-shrink:0}.spotlight__prefix-hint{font-family:var(--font-mono, monospace);font-size:var(--text-sm);padding:var(--inset-sm) var(--space-2);border-radius:var(--radius-sm);background:var(--secondary-extra-weak);color:var(--text-color-extra-weak);white-space:nowrap}.spotlight__indexing-indicator{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;font-size:var(--text-base);color:var(--text-color-extra-weak)}.spotlight__indexing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-color-extra-weak);animation:spotlight-indexing-pulse 1.5s ease-in-out infinite}@keyframes spotlight-indexing-pulse{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.spotlight__indexing-dot{animation:none;opacity:.7}}.spotlight__empty{display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);font-size:var(--text-lg);color:var(--text-color-extra-weak)}.spotlight__body-wrapper{overflow:hidden}.spotlight__body-wrapper--scoped{flex:1;min-height:0;display:flex;flex-direction:column}.spotlight__body{display:flex;min-height:0}.spotlight__body-wrapper--scoped .spotlight__body{flex:1}.spotlight__main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.spotlight__main--with-preview{width:340px;flex:none;border-right:1px solid var(--border-color-weak)}.spotlight__preview-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--primary-weak-highlight);overflow-y:auto}.spotlight__preview{flex:1;display:flex;flex-direction:column;padding:var(--space-6);overflow-y:auto}.spotlight__content{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:200px;overflow-y:auto;padding:var(--space-3) 0;transition:opacity .15s ease-out}.spotlight__content--refetching,.spotlight__scoped-list--refetching{opacity:.5}.spotlight__section{display:flex;flex-direction:column;gap:var(--space-1)}.spotlight__section-header{padding:0 var(--space-4);margin-bottom:var(--space-1)}.spotlight__list{display:flex;flex-direction:column;padding:0 var(--space-2)}.spotlight__row,.spotlight__card-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.spotlight__row:hover,.spotlight__row--selected,.spotlight__card-row:hover,.spotlight__card-row--highlighted{background:var(--secondary-weak)}.spotlight__row-title,.spotlight__card-row-title{font-size:var(--text-lg);color:var(--text-color)}.spotlight__row-subtitle,.spotlight__card-row-subtitle{font-size:var(--text-base);color:var(--text-color-extra-weak)}.spotlight__row-icon{flex-shrink:0;color:var(--text-color-extra-weak)}.spotlight__row-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.spotlight__row-meta{flex-shrink:0;font-size:var(--text-base);color:var(--text-color-extra-weak)}.spotlight__row--action .spotlight__row-icon{color:var(--text-color-weak)}.spotlight__row--action .spotlight__row-title{color:var(--text-color-medium)}.spotlight__scoped{display:flex;flex-direction:column;flex:1;min-height:0}.spotlight__scoped-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color-weak);background:var(--primary-weak-highlight);flex-shrink:0}.spotlight__sort-controls{display:flex;align-items:center;gap:var(--space-2);min-width:0}.spotlight__sort-direction-button{flex:0 0 auto}.spotlight__scoped-count{font-size:var(--text-lg);color:var(--text-color-extra-weak);margin-left:auto}.spotlight__scoped-list{flex:1;overflow-y:auto;padding:var(--space-2);transition:opacity .15s ease-out}.spotlight__similarity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.spotlight__card-row-content{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3)}.spotlight__card-row-title{flex:1}.spotlight__card-row-subtitle{flex-shrink:1;min-width:0;max-width:40%}@media(max-width:768px){.spotlight__scoped-controls{flex-wrap:wrap}.spotlight__sort-controls{width:100%}.spotlight__card-row-content{flex-direction:column;align-items:flex-start;gap:2px}}.spotlight__scoped-loading-more{display:flex;justify-content:center;padding:var(--space-3)}.spotlight__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--primary-weak-highlight);border-top:1px solid var(--border-color-weak)}.spotlight__footer-hints{display:flex;gap:var(--space-4)}.spotlight__footer-hint{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-color-extra-weak)}@media(max-width:768px){.spotlight__main--with-preview{width:100%;flex:1;border-right:none}.spotlight__preview-panel,.spotlight__footer-hints{display:none}}.deck-view{display:flex;flex-direction:column;height:100%}.deck-view__page{position:relative}.deck-view__page .circle-decoration__large,.deck-view__page .circle-decoration__small{border-color:var(--border-color-weak)}.deck-view__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);max-width:680px;min-height:100%;margin:0 auto;padding-top:var(--space-10);padding-bottom:var(--space-10)}.deck-view__icon-wrapper{position:relative;display:flex;justify-content:center}.deck-view__icon-btn{background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.deck-view__icon-btn:hover{background:var(--secondary-extra-weak)}.deck-view__icon-default{color:var(--text-color-extra-weak)}.deck-view__header{text-align:center}.deck-view__title{font-size:var(--text-5xl);font-weight:500;color:var(--text-color-highlight);line-height:1.2}.deck-view__description{color:var(--text-color-weak);margin-top:var(--space-3)}.deck-view__stats{grid-template-columns:repeat(4,1fr)}.deck-view__content .activity-heatmap{background:none;border:none;padding:0}.deck-view__content .activity-heatmap .stats-panel__header{display:none}.deck-view__content .activity-heatmap__svg{max-width:none}.deck-view__actions{display:flex;justify-content:center;gap:var(--space-3)}.deck-options{display:flex;flex-direction:column;gap:var(--space-4)}.deck-options__preset-combo{display:flex;align-items:stretch}.deck-options__preset-combo>.dropdown,.deck-options__preset-combo .dropdown__trigger{display:flex}.deck-options__preset-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.deck-options__preset-toggle{display:flex;align-items:center;padding:0 var(--space-2);background:var(--primary);border:1px solid var(--border-color-weak);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);color:var(--text-color-extra-weak);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.deck-options__preset-toggle:hover,.deck-options__preset-toggle--open{border-color:var(--border-color);color:var(--text-color-weak)}.deck-options__fields{display:flex;flex-direction:column;gap:var(--space-3)}.deck-options__row{display:flex;gap:var(--space-3)}.deck-options__row>*{flex:1}@media(max-width:768px){.deck-view__stats .stat-card--bordered{padding:var(--space-3) var(--space-2)}.deck-view__title{font-size:var(--text-4xl)}.deck-view__stats .stat-card__value{font-size:var(--text-2xl)}.progress-bar__legend{display:none}}.orphan-cards{margin-top:calc(-1 * var(--space-5));display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s ease,opacity .4s ease}.orphan-cards>*{overflow:hidden}.orphan-cards--revealed{grid-template-rows:1fr;opacity:1}.orphan-cards__item{position:relative;display:flex;align-items:center;width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--text-color);transition:background var(--duration-fast) ease}.orphan-cards__item:hover{background:var(--secondary-extra-weak)}.orphan-cards__item+.orphan-cards__item{border-top:1px solid var(--border-color-weak)}.orphan-cards__front{font-size:var(--text-lg);font-weight:400;color:var(--text-color);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.orphan-cards__overlay{position:absolute;right:var(--space-4);top:0;bottom:0;display:flex;align-items:center;gap:var(--space-1)}.orphan-cards__buttons{display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-10);background:linear-gradient(to right,transparent,var(--bg-primary) 30%);opacity:0;transition:opacity var(--duration-fast) ease}.orphan-cards__item:hover .orphan-cards__buttons{background:linear-gradient(to right,transparent,var(--secondary-extra-weak) 30%);opacity:1}.orphan-cards__dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-left:var(--space-2)}.flashcard-page{position:relative;height:100%;display:flex;flex-direction:column}.flashcard-page>.deck-picker{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:1}.flashcard-page__layout{flex:1;display:flex}.flashcard-page__main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);min-width:0}.flashcard-page__card{width:100%;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--primary);border:1px solid var(--border-color);box-shadow:var(--box-shadow)}.flashcard-page__card-wrap{position:relative;width:100%;max-width:540px}.flashcard-page__preview-toggle{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1;opacity:.5;transition:opacity var(--duration-fast) ease}.flashcard-page__preview-toggle:hover{opacity:1}.flashcard-page__preview{max-width:680px}.flashcard-page__field{padding:var(--space-5) var(--space-6)}.flashcard-page__field+.flashcard-page__field{border-top:1px dashed var(--border-color)}.flashcard-page__label-row{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.flashcard-page__label{display:block;font-size:var(--text-sm);color:var(--text-color-extra-extra-weak)}.flashcard-page__rephrase-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-color-extra-extra-weak);cursor:pointer;opacity:0;transition:opacity var(--duration-fast) ease,color var(--duration-fast) ease}.flashcard-page__field:hover .flashcard-page__rephrase-toggle,.flashcard-page__rephrase-toggle--active{opacity:1}.flashcard-page__rephrase-toggle--active{color:var(--text-color-highlight)}.flashcard-page__variations-toggle{display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:none;font-size:var(--text-base);color:var(--text-color-extra-weak);cursor:pointer;-webkit-user-select:none;user-select:none}.flashcard-page__variations-toggle:disabled{cursor:default}.flashcard-page__variations-toggle:hover{color:var(--text-color-weak)}.flashcard-page__variations-chevron{transition:transform var(--duration-normal) ease}.flashcard-page__variations--open .flashcard-page__variations-chevron{transform:rotate(180deg)}.flashcard-page__variations-list{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) ease}.flashcard-page__variations--open .flashcard-page__variations-list{grid-template-rows:1fr}.flashcard-page__variations-inner{overflow:hidden;display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);padding-left:var(--space-4);border-left:2px solid var(--border-color)}.flashcard-page__variation{font-size:var(--text-base);color:var(--text-color-weak);line-height:1.6}.flashcard-page__image-gen-toggle{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:var(--text-color-extra-weak);opacity:0;transition:opacity var(--duration-fast) ease,color var(--duration-fast) ease}.flashcard-page__field:hover .flashcard-page__image-gen-toggle{opacity:1}.flashcard-page__image-gen-toggle:hover:not(:disabled){color:var(--text-color)}.flashcard-page__image-gen-toggle:disabled{opacity:1;cursor:default}.flashcard-page__image-skeleton{width:200px;height:200px;border-radius:var(--radius-sm)}.flashcard-page__field img{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:var(--radius-sm)}.flashcard-page__image-dropzone{display:flex;align-items:center;justify-content:center;padding:var(--space-6) var(--space-4);border:1px dashed var(--border-color);border-radius:var(--radius-md);outline:none;transition:background var(--duration-fast) ease}.flashcard-page__image-dropzone--active{border-color:var(--text-color-extra-weak);background:var(--secondary-extra-weak)}.flashcard-page__image-dropzone-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.flashcard-page__image-dropzone-row{display:flex;gap:var(--space-2)}.flashcard-page__spinner{animation:spin 1s linear infinite}.flashcard-page__input{width:100%}.flashcard-page__field-editor{display:grid;min-width:0;overflow:visible}.flashcard-page__field-editor>*{grid-area:1 / 1}.flashcard-page__field-editor:has(.flashcard-page__ghost) .rich-textarea:empty:before{display:none}.flashcard-page__ghost{position:relative;pointer-events:auto;cursor:pointer;font:inherit;white-space:pre-wrap;word-wrap:break-word;padding:0 0 var(--space-1) 0}.flashcard-page__ghost-text{color:var(--text-color-extra-weak)}.flashcard-page__ghost-kbd{margin-left:6px;vertical-align:middle}.flashcard-page__front{font-size:var(--text-2xl);line-height:1.5;min-height:62px}.flashcard-page__back{font-size:var(--text-xl);line-height:1.5;min-height:58px}.flashcard-page__field-preview{padding:0 0 var(--space-1) 0;cursor:text}.flashcard-page__footer{display:flex;align-items:center;padding-right:var(--space-4);border-top:1px solid var(--border-color);background-color:var(--primary-weak-highlight)}.flashcard-page__tags{flex:1;padding:var(--space-3) var(--space-4);min-width:0}.flashcard-page__tags-list{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:24px}.flashcard-page__tag{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-base);letter-spacing:.02em;color:var(--text-color-weak);cursor:default;transition:color var(--duration-fast) ease}.flashcard-page__tag-hash{opacity:.4}.flashcard-page__tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:transparent;border:none;cursor:pointer;color:var(--text-color-weak);opacity:0;transition:opacity var(--duration-fast) ease;padding:0}.flashcard-page__tag:hover .flashcard-page__tag-remove{opacity:1}.flashcard-page__tag:hover{color:var(--text-color-medium)}.flashcard-page__tag-add{display:flex;align-items:center;gap:3px;background:transparent;border:none;cursor:pointer;font-size:var(--text-base);color:var(--text-color-extra-extra-weak);padding:0;transition:color var(--duration-fast) ease}.flashcard-page__tag-add:hover{color:var(--text-color-weak)}.flashcard-page__below-card{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-base);color:var(--text-color-extra-extra-weak)}.flashcard-page__below-card-dot,.flashcard-page__hint{display:none}.flashcard-page__recent-trigger{font-size:var(--text-base);color:var(--text-color-extra-extra-weak);transition:color var(--duration-fast) ease}.flashcard-page__recent-trigger:hover{color:var(--text-color-weak)}.flashcard-page__recent-menu{max-width:240px}.flashcard-page__footer-right{display:flex;align-items:center;gap:var(--space-3)}.flashcard-page__footer-due{font-size:var(--text-base);color:var(--text-color-extra-extra-weak);white-space:nowrap}@media(min-width:768px){.flashcard-page__hint,.flashcard-page__below-card-dot{display:block}}@media(max-width:768px){.flashcard-page__tag-remove,.flashcard-page__rephrase-toggle,.flashcard-page__image-gen-toggle{opacity:1}.flashcard-page__ghost .flashcard-page__ghost-kbd{display:none}.flashcard-page__main{padding:var(--space-4)}.flashcard-page__field{padding:var(--space-4) var(--space-5)}.flashcard-page__tags{padding-left:var(--space-5);padding-right:var(--space-5)}}.review-mode{--dock-height: 104px;position:relative;min-height:100%;display:flex;flex-direction:column}.review-mode__progress-beads{display:flex;align-items:center;gap:var(--space-2);overflow:hidden;min-height:12px}.review-mode__bead-count{font-size:var(--text-base);font-weight:600;color:var(--text-color-extra-weak);margin-right:var(--space-1)}.review-mode__bead{width:12px;height:12px;box-sizing:border-box;border-radius:50%;background-color:var(--border-color);border:2px solid transparent;flex-shrink:0}.review-mode__bead:not(.review-mode__bead--past):not(.review-mode__bead--current){background-color:transparent;border:2px solid var(--border-color)}.review-mode__bead--past{background-color:var(--text-color-medium);border-color:transparent}.review-mode__bead--good{background-color:var(--text-color-highlight);border-color:transparent}.review-mode__bead--again{background-color:transparent;border:2px solid var(--text-color-weak)}.review-mode__bead--current{background-color:transparent;border:2px solid var(--text-color-medium)}.review-mode__content{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12)}.review-mode__main{position:relative;flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.review-mode__card{width:100%;max-width:680px;text-align:center;transition:all var(--duration-fast) ease}.review-mode__card--transitioning{opacity:0;transform:scale(.98)}.review-mode__prerender{position:absolute;inset:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.review-mode__card--clickable{cursor:pointer}.review-mode__hint{font-size:var(--text-base);color:var(--text-color-extra-extra-weak);margin-top:var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:opacity var(--duration-fast) ease}.review-mode__hint--hidden{opacity:0;pointer-events:none}.review-mode__grade-flash{position:absolute;top:var(--space-6);left:50%;transform:translate(-50%);font-size:var(--text-base);font-weight:600;padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);pointer-events:none;z-index:1;animation:grade-flash .5s ease-out forwards}.review-mode__grade-flash--good{color:var(--text-color-weak);background-color:color-mix(in srgb,var(--color-success) 15%,var(--secondary))}.review-mode__grade-flash--again{color:var(--text-color-weak);background-color:color-mix(in srgb,var(--color-error) 15%,var(--secondary))}@keyframes grade-flash{0%{opacity:0;transform:translate(-50%) translateY(4px)}15%{opacity:1;transform:translate(-50%) translateY(0)}60%{opacity:1}to{opacity:0}}.review-mode__variant-bar{position:absolute;top:var(--space-4);left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.review-mode__variant-actions{display:flex;align-items:center;gap:var(--space-3)}.review-mode__rating-hint{padding:var(--space-1) var(--space-2);background-color:var(--secondary);border-radius:var(--radius-pill);font-size:var(--text-md);font-weight:500;color:var(--text-color-extra-extra-weak)}.review-mode__card .card-content__back{animation:review-fade-in var(--duration-slow) ease-out}.review-mode__empty{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.review-mode__empty-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);max-width:680px;padding:var(--space-10);padding-bottom:var(--space-16);animation:review-fade-scale .2s cubic-bezier(.22,1,.36,1) both}@keyframes review-fade-scale{0%{opacity:0;transform:scale(.98)}}.review-mode__empty-header{text-align:center}.review-mode__empty-icon{color:var(--text-color-extra-weak)}.review-mode__empty-description{color:var(--text-color-weak);margin-top:var(--space-3)}.review-mode__complete-ring{position:relative;width:120px;height:120px}.review-mode__complete-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.review-mode__complete-ring-value{font-size:var(--text-3xl);font-weight:500;color:var(--text-color-highlight);line-height:1}.review-mode__complete-ring-label{font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:var(--space-1)}.review-mode__complete-stats{grid-template-columns:repeat(3,1fr);border:none}.review-mode__undo{position:absolute;top:var(--space-4);left:var(--space-4)}.review-mode__dock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);z-index:20}@media(min-width:769px){.review-mode__content{min-height:100%;box-sizing:border-box;padding-bottom:0}.review-mode__main{flex:1 0 auto;min-height:calc(100% - var(--dock-height))}.review-mode__dock{position:sticky;bottom:0;width:100%;margin-top:var(--space-4);padding-bottom:var(--space-4)}}.review-mode__dock-buttons{position:relative;display:flex;align-items:flex-start;justify-content:center;-webkit-user-select:none;user-select:none}.review-mode__dock .btn--primary{border-color:transparent}.review-mode__show-btn-wrapper .btn:disabled{opacity:1;cursor:default}.review-mode__show-btn-wrapper{position:absolute;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);opacity:1;transform:scale(1);transition:opacity 80ms ease-out,transform 80ms ease-out}.review-mode__dock-buttons--revealed .review-mode__show-btn-wrapper{opacity:0;transform:scale(.85);pointer-events:none;transition:opacity .12s ease-out,transform .12s ease-out}.review-mode__rating-buttons{display:flex;align-items:flex-start;gap:var(--space-3);pointer-events:none}.review-mode__dock-buttons--revealed .review-mode__rating-buttons{pointer-events:auto}.review-mode__rating-buttons .review-mode__rating-column{opacity:0;transform:translate(var(--split-offset, 0)) scale(.6);transition:opacity 60ms ease-out,transform 80ms ease-out}.review-mode__rating-buttons .review-mode__rating-column:first-child{--split-offset: 50px}.review-mode__rating-buttons .review-mode__rating-column:last-child{--split-offset: -50px}.review-mode__dock-buttons--revealed .review-mode__rating-buttons .review-mode__rating-column{opacity:1;transform:translate(0) scale(1);transition:opacity .2s cubic-bezier(.175,.885,.32,1.275),transform .2s cubic-bezier(.175,.885,.32,1.275)}.review-mode__dock-buttons--revealed .review-mode__rating-buttons .review-mode__rating-column:last-child{transition-delay:30ms}.review-mode__rating-column{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.review-mode__rating-interval{opacity:.6;margin-left:var(--space-1)}.review-mode__loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-color-extra-weak)}@keyframes review-fade-in{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.review-mode{--dock-height: 90px}.review-mode__content{padding:var(--space-6) var(--space-4);padding-bottom:calc(var(--space-6) + var(--dock-height))}.review-mode__rating-hint{display:none}.review-mode__undo{position:fixed;top:calc(52px + var(--space-4));left:var(--space-4)}.review-mode__dock{position:fixed;bottom:max(var(--space-6),calc(var(--space-4) + var(--safe-area-bottom)));left:var(--space-4);right:var(--space-4);transform:none}.review-mode__dock-buttons,.review-mode__show-btn-wrapper,.review-mode__show-btn-wrapper .btn,.review-mode__rating-buttons{width:100%}.review-mode__rating-column{flex:1}.review-mode__rating-column .btn{width:100%}.review-mode__dock .btn--lg{padding-top:var(--space-3);padding-bottom:var(--space-3)}.review-mode__rating-buttons .review-mode__rating-column:first-child{--split-offset: calc(50% + var(--space-1))}.review-mode__rating-buttons .review-mode__rating-column:last-child{--split-offset: calc(-50% - var(--space-1))}.review-mode__done-btn{width:100%;justify-content:center}}.templates__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.template-card{display:flex;flex-direction:column;background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--duration-fast)}.template-card:hover{border-color:var(--border-color)}.template-card--editor:hover{border-color:var(--border-color-weak)}.template-card__preview{display:flex;flex-direction:column;padding:var(--space-3);min-height:180px;flex:1}.template-card__zone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;justify-content:center}.template-card__zone--droppable{align-items:flex-start;justify-content:flex-start;padding:var(--space-3);border-radius:var(--radius-sm);transition:background var(--duration-fast);min-height:60px;flex:1 0 auto}.template-card__zone--over{background:var(--secondary-extra-weak)}.template-card__zone-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--space-2)}.template-card__zone-empty{font-size:var(--text-base);color:var(--text-color-extra-weak);padding:var(--space-2) 0;pointer-events:none}.template-card__field{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--inset-md) var(--space-3);background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--box-shadow-weak);font-size:var(--text-base);font-weight:500;color:var(--text-color)}.template-card__field svg{color:var(--text-color-weak);flex-shrink:0}.template-card__field--draggable{cursor:grab;-webkit-user-select:none;user-select:none}.template-card__field--overlay{box-shadow:var(--box-shadow-strong);cursor:grabbing}.template-card__field-handle{color:var(--text-color-extra-weak);transition:color var(--duration-fast);cursor:grab;touch-action:none}.template-card__field--draggable:hover .template-card__field-handle{color:var(--text-color-weak)}.template-card__field-input{border:none;background:transparent;font:inherit;font-size:var(--text-base);font-weight:500;color:var(--text-color);outline:none;padding:0;width:80px;min-width:40px}.template-card__field-menu{display:flex;padding:var(--space-1);margin:calc(-1 * var(--space-1));margin-left:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-color-extra-weak);cursor:pointer;transition:color var(--duration-fast)}.template-card__field-menu:hover{color:var(--text-color-weak)}.template-card__divider{border-top:1px dashed var(--border-color);margin:var(--space-3) 0}.template-card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color-weak);background:var(--primary-weak-highlight)}.template-card__footer--editor{display:block;padding:var(--space-3)}.template-card__info{display:flex;align-items:center;gap:var(--space-2)}.template-card__name{font-size:var(--text-base);font-weight:500;color:var(--text-color)}.template-card__badge{font-size:var(--text-sm);padding:var(--inset-xs) var(--space-1);background:var(--secondary);border-radius:var(--radius-xs);color:var(--text-color-weak)}.template-card__actions{display:flex;align-items:center;gap:var(--space-1);margin:calc(-1 * var(--space-2)) 0}.template-editor__auto-reverse{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-color-weak);cursor:pointer;margin-right:var(--space-2)}.template-editor__settings{display:none;margin:var(--space-3) var(--space-3) var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border-color-weak)}.template-editor{display:flex;flex-direction:column}.template-editor .page__container{display:flex;flex-direction:column;flex:1;min-height:0}.template-editor__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:stretch;flex:1;min-height:0}.template-card--editor{display:flex;flex-direction:column}.template-card--editor .template-card__preview{flex:1;min-height:0}.template-editor__panel--preview{display:flex;align-items:center;justify-content:center;background:var(--secondary-extra-weak);border:1px solid var(--border-color-weak);border-radius:var(--radius-lg);padding:var(--space-6)}.template-preview{width:100%;max-width:500px}.template-preview__card{text-align:center}.template-preview__front{font-size:var(--text-3xl);font-weight:400;line-height:1.4;color:var(--text-color-highlight)}.template-preview__divider{width:40px;height:1px;background-color:var(--border-color);margin:var(--space-8) auto}.template-preview__back{font-size:var(--text-2xl);line-height:1.6;color:var(--text-color-weak)}.template-preview__empty{color:var(--text-color-extra-weak);font-style:italic}@media(min-width:1400px){.templates__grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.templates__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.templates__grid{grid-template-columns:1fr}.template-editor__auto-reverse,.template-editor__cancel{display:none}.template-editor__settings{display:block}.template-editor__layout{grid-template-columns:1fr;min-height:0}.template-editor__panel--preview{order:-1}.template-card--editor .template-card__preview,.template-card--editor .template-card__footer{padding:var(--space-2)}.template-preview__front{font-size:var(--text-2xl)}.template-preview__back{font-size:var(--text-xl)}}.settings__container{max-width:560px;margin:0 auto;width:100%}.settings__section{margin-bottom:var(--space-8)}.settings__section-label{margin-bottom:var(--space-2);display:flex;align-items:center;justify-content:space-between}.settings__section-link{font-size:var(--text-sm);font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text-color-soft);text-decoration:none}.settings__section-link:hover{color:var(--text-color-medium)}.settings__card{background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-weak);overflow:hidden}.settings__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:background var(--duration-fast)}.settings__row--clickable{cursor:pointer}.settings__row--clickable:hover{background:var(--primary-highlight)}.settings__row-content{flex:1;min-width:0}.settings__row-label{font-size:var(--text-lg);color:var(--text-color)}.settings__row-label--danger{color:var(--color-danger)}.settings__row-sub{font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:2px}.settings__row-right{flex-shrink:0;display:flex;align-items:center;gap:var(--space-1)}.settings__row-chevron{color:var(--text-color-extra-weak)}.settings__row-divider{margin:0 var(--space-4);border-top:1px solid var(--border-color)}.settings__subscription-status{display:flex;align-items:center;gap:var(--space-3)}.settings__subscription-badge{font-size:var(--text-base);font-weight:500;padding:1px var(--space-2);border-radius:var(--radius-pill)}.settings__subscription-badge--warning{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.optimize__desc{font-size:var(--text-lg);color:var(--text-color-extra-weak);line-height:1.6;margin-bottom:var(--space-5)}.optimize__state-card{padding:var(--space-5)}.optimize__state-card--clickable{cursor:pointer;transition:background var(--duration-fast)}.optimize__state-card--clickable:hover{background:var(--primary-highlight)}.optimize__state-title{font-size:var(--text-lg);font-weight:600;color:var(--text-color);margin-bottom:2px}.optimize__state-sub{font-size:var(--text-base);color:var(--text-color-extra-weak);line-height:1.55}.optimize__collecting{display:flex;align-items:center;gap:var(--space-5)}.optimize__collecting-text{flex:1}.optimize__ring{position:relative;flex-shrink:0}.optimize__ring-fill{transition:stroke-dashoffset .6s ease}.optimize__ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:600;color:var(--text-color)}.optimize__optimized-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.optimize__check-icon{width:18px;height:18px;border-radius:50%;background:var(--surface-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings__delete-desc{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.5;margin-bottom:var(--space-4)}.settings__delete-prompt{font-size:var(--text-base);color:var(--text-color-medium);margin-bottom:var(--space-2)}.settings__delete-input{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-lg);border:1px solid var(--border-color);background:var(--primary-highlight);color:var(--text-color);outline:none;font-family:inherit;box-sizing:border-box}.settings__mono-value{font-size:var(--text-base);color:var(--text-color-weak);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.settings__typography-modal.modal{width:min(480px,calc(100vw - var(--space-8)))}.settings__typography{display:flex;flex-direction:column;gap:var(--space-5)}.settings__typography-group{display:flex;flex-direction:column;gap:var(--space-2)}.settings__typography-desc{font-size:var(--text-lg);color:var(--text-color-extra-weak)}.settings__typography-row{display:flex;gap:var(--space-3)}.settings__font-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4) var(--space-3);border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background:transparent;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.settings__font-card:hover{background:var(--primary-highlight)}.settings__font-card--active{border-color:var(--secondary-strong-highlight);background:var(--secondary-extra-weak)}.settings__font-card--active:hover{background:var(--secondary-extra-weak)}.settings__font-card-preview{font-size:2.25rem;font-weight:500;line-height:1;color:var(--text-color-highlight)}.settings__font-card-label{font-size:var(--text-base);font-weight:500;color:var(--text-color-extra-weak);transition:color var(--duration-fast)}.settings__font-card--active .settings__font-card-label{color:var(--text-color)}.settings__size-row{display:flex;align-items:flex-end;justify-content:center;gap:2px}.settings__size-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:var(--space-3) 0 var(--space-2);border-radius:var(--radius-sm);border:none;cursor:pointer;background:transparent;transition:background var(--duration-fast)}.settings__size-btn:hover{background:var(--primary-highlight)}.settings__size-btn--active,.settings__size-btn--active:hover{background:var(--secondary-extra-weak)}.settings__size-btn-letter{font-weight:600;line-height:1;color:var(--text-color-extra-weak);transition:color var(--duration-fast)}.settings__size-btn--active .settings__size-btn-letter{color:var(--text-color)}.api-keys__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.api-keys__row-info{flex:1;min-width:0}.api-keys__row-name{font-size:var(--text-lg);color:var(--text-color)}.api-keys__row-meta{font-size:var(--text-base);color:var(--text-color-extra-weak);margin-top:2px}.api-keys__row-delete{flex-shrink:0;background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--text-color-extra-weak);transition:color var(--duration-fast)}.api-keys__row-delete:hover{color:var(--color-danger)}.api-keys__new-label{display:flex;align-items:center;gap:var(--space-1);color:var(--text-color-weak)}.api-keys__modal-desc{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.5;margin:0 0 var(--space-3)}.api-keys__reveal-key{display:flex;align-items:center;gap:var(--space-2);background:var(--primary-highlight);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.api-keys__reveal-code{flex:1;font-size:var(--text-base);font-family:ui-monospace,monospace;color:var(--text-color);word-break:break-all}.api-keys__reveal-copy{flex-shrink:0;background:none;border:none;cursor:pointer;padding:var(--space-1);color:var(--text-color-weak);transition:color var(--duration-fast)}.api-keys__reveal-copy:hover{color:var(--text-color)}.login-page--no-transitions *{transition:none!important}.login-page{display:flex;justify-content:center;align-items:center;min-height:calc(100dvh - var(--desktop-nav-height));width:100%;padding:1rem;background-color:var(--bg-color);animation:loginFadeIn .5s ease}.login-card{width:100%;max-width:420px;color:var(--text-color);background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-xl);box-shadow:var(--box-shadow);overflow:hidden}.login-content{padding:clamp(1.25rem,2vw + .75rem,2rem);display:flex;align-items:stretch;justify-content:center}.login__step-anim{width:100%;animation:loginStepEnter .5s cubic-bezier(.25,.46,.45,.94) both}.login-form{width:100%;max-width:420px;margin:0 auto;text-align:left;position:relative}.login-form--verification .login__back-button{position:absolute;top:0;right:0;background:transparent;border:none;color:var(--text-color-weak);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-normal) ease,color var(--duration-normal) ease}.login-form--verification .login__back-button:hover{background-color:var(--primary-weak-highlight);color:var(--text-color)}.login__brand-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.login__brand-welcome{font-size:var(--text-md);color:var(--text-color-weak)}.login__brand-name{font-size:var(--text-xl);font-weight:500;line-height:1.3;color:var(--text-color-highlight)}.login-form h2{font-size:var(--text-2xl);margin:.25rem 0;color:var(--text-color-highlight)}.login__subtitle{color:var(--text-color-weak);margin-bottom:1rem;font-size:var(--text-lg)}.login-card p{color:var(--text-color-medium);margin-bottom:1.25rem}.login__subtitle strong{color:var(--text-color)}.login__error{background:var(--secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1rem;font-size:var(--text-base);color:var(--text-color)}.login__input-group{display:flex;align-items:center;gap:.5rem;background-color:var(--primary-weak-highlight);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:calc(.5rem - 1px) .75rem;transition:border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease,background-color var(--duration-normal) ease}.login__input-group:focus-within{border-color:var(--border-color-weak);box-shadow:0 0 0 4px var(--secondary);background-color:var(--primary)}.login__input-group input{flex-grow:1;border:none;background:transparent;color:var(--text-color);font-size:var(--text-lg);outline:none}.login__input-group input::placeholder{color:var(--text-color-weak);opacity:.8}.login__input-icon{color:var(--text-color-weak);flex-shrink:0}.login__button{width:100%;font-size:var(--text-lg);padding:.5rem .8rem;text-decoration:none;transition:transform var(--duration-normal) ease,background-color var(--duration-normal) ease,border-color var(--duration-normal) ease}.login__button:hover:not(:disabled){transform:translateY(-1px)}.login__button-content{display:flex;align-items:center;gap:.5em}.login__button-wrapper{position:relative;width:100%}#login-form .login__button{margin-top:.75rem}.login-form--verification .login__button{margin-top:1rem}#turnstile-container{position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.login__divider{display:flex;align-items:center;gap:.5rem;color:var(--text-color-weak);margin:.66rem 0}.login__divider:before,.login__divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.login__last-used{position:absolute;top:-.5rem;left:50%;transform:translate(-50%,-100%);font-size:var(--text-xs);font-weight:500;color:var(--text-color);background:var(--secondary);padding:.25rem .5rem;border-radius:6px;border:1px solid var(--border-color);white-space:nowrap}.login__last-used:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--border-color)}.login__last-used--below{top:auto;bottom:-.5rem;transform:translate(-50%,100%)}.login__last-used--below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--border-color)}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}@keyframes loginStepEnter{0%{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translateZ(0)}}:root{--landing-glow-strong: rgba(0, 0, 0, .05);--landing-glow-mid: rgba(0, 0, 0, .028);--landing-glow-faint: rgba(0, 0, 0, .01)}:root.dark{--landing-glow-strong: rgba(255, 255, 255, .055);--landing-glow-mid: rgba(255, 255, 255, .028);--landing-glow-faint: rgba(255, 255, 255, .01)}.landing{width:100%;min-height:calc(100dvh - var(--desktop-nav-height));overflow-x:clip;background-color:var(--primary);color:var(--text-color);view-transition-name:landing}.landing:after{content:"";position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px;opacity:.035;pointer-events:none;z-index:1000}.landing__container{max-width:1080px;margin:0 auto;padding:0 var(--space-6)}.landing__fade-item{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.landing__fade-item--delay-1{transition-delay:.15s}.landing__fade-item--visible{opacity:1;transform:translateY(0)}@keyframes landing-hero-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing__hero{position:relative;padding:100px 0 0;text-align:center}.landing__hero-tag,.landing__hero-heading,.landing__hero-subtitle,.landing__hero-cta,.landing__hero-mockup-wrap{opacity:0;animation:landing-hero-in .7s ease forwards}.landing__hero-tag{animation-delay:0s}.landing__hero-heading{animation-delay:.08s}.landing__hero-subtitle{animation-delay:.16s}.landing__hero-cta{animation-delay:.24s}.landing__hero-mockup-wrap{animation-delay:.36s}.landing__hero-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:500;background-color:var(--primary);box-shadow:var(--box-shadow-weak);color:var(--text-color-weak);border:1px solid var(--border-color-weak);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);margin-bottom:var(--space-6)}.landing__hero-heading{font-size:3.5rem;font-weight:500;letter-spacing:-.5px;line-height:1.1;color:var(--text-color-highlight);margin-bottom:var(--space-7);max-width:720px;margin-left:auto;margin-right:auto}.landing__hero-subtitle{font-size:var(--text-2xl);color:var(--text-color-weak);line-height:1.6;max-width:540px;margin:0 auto var(--space-10)}.landing__hero-cta{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:72px}.landing__hero-cta a{text-decoration:none}.landing__hero-mockup{max-width:960px;margin:0 auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border-color);border-bottom:none;overflow:hidden;position:relative;background:var(--primary-weak-highlight);box-shadow:var(--box-shadow-strong)}.landing__hero-mockup-wrap{position:relative;max-width:960px;margin:0 auto;overflow:hidden}.landing__hero:before{content:"";position:absolute;bottom:-200px;right:-200px;width:1050px;height:1050px;background:radial-gradient(circle at center,var(--landing-glow-strong) 0%,var(--landing-glow-mid) 30%,var(--landing-glow-faint) 50%,transparent 70%);pointer-events:none;z-index:0}.landing__mockup-body{display:flex;min-height:560px}.landing__hero-mockup .sidebar{cursor:default;--sidebar-inline-padding: var(--space-2);padding-inline:var(--space-2)}.landing__hero-mockup .review-mode{min-height:0;flex:1}.landing__hero-mockup .app__main{padding-bottom:0;overflow:visible}.landing__hero-mockup .review-mode__content{padding:0 var(--space-4);padding-bottom:calc(var(--dock-height) * .6)}.landing__hero-mockup .review-mode__card{max-width:480px}.landing__hero-mockup .review-mode__dock{transform:none;padding-bottom:var(--space-8)}.landing__section,.landing__pricing-section{padding:var(--space-16) 0;border-top:1px solid var(--border-color-weak)}.landing__section-header,.landing__pricing-section .pricing__header{margin-bottom:var(--space-8)}.landing__section-header{text-align:left}.landing__section-header h2,.landing__editor-left h2,.landing__cta h2,.landing__pricing-section .pricing__header h2{font-size:var(--text-5xl);margin-bottom:var(--space-4);letter-spacing:-.25px;text-wrap:balance}.landing__section-header p,.landing__pricing-section .pricing__header p{font-size:var(--text-xl);color:var(--text-color-weak);line-height:1.5}.landing__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.landing__pillar{display:flex;flex-direction:column;gap:var(--space-4);opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.landing__pillar:nth-child(2){transition-delay:.1s}.landing__pillar:nth-child(3){transition-delay:.2s}.landing__pillars--visible .landing__pillar{opacity:1;transform:translateY(0)}.landing__pillar-icon{width:40px;height:40px;border-radius:var(--radius-sm);background-color:var(--primary-highlight);border:1px solid var(--border-color-weak);display:flex;align-items:center;justify-content:center;color:var(--text-color-highlight)}.landing__pillar-title{font-size:var(--text-xl);font-weight:500;color:var(--text-color-highlight)}.landing__pillar-description{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.6}.landing__pillar-description code{background-color:var(--secondary);padding:1px var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-base);color:var(--text-color-highlight)}.landing__ai{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.landing__ai-card{position:relative;background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--box-shadow)}.landing__ai-card-text:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),var(--landing-glow-strong) 0%,var(--landing-glow-mid) 25%,transparent 60%);pointer-events:none;z-index:1;opacity:0;transition:opacity var(--duration-slow) ease}.landing__ai-card-text--hover-active:before{opacity:1}.landing__ai-card--wide{grid-column:1 / -1;flex-direction:row}.landing__ai-card--wide>*{flex:1 1 50%;min-width:0;max-width:50%}.landing__ai-card-text{position:relative;padding:var(--space-6);flex:1;display:flex;flex-direction:column;justify-content:flex-start}.landing__ai-card-text h3{font-size:var(--text-2xl);font-weight:500;color:var(--text-color-highlight);margin-bottom:var(--space-2)}.landing__ai-card-text p{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.6}.landing__ai-card-visual{flex:1;min-height:260px;background-color:var(--primary-weak-highlight);border-top:1px solid var(--border-color-weak);padding:var(--space-6);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.landing__ai-card-visual:after{content:"";position:absolute;bottom:0;left:0;right:0;height:48px;background:linear-gradient(to bottom,transparent,var(--primary-weak-highlight));pointer-events:none;z-index:1}.landing__ai-card--wide .landing__ai-card-visual{border-top:none;border-left:1px solid var(--border-color-weak)}.landing__gen-mockup{background-color:var(--primary);border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--border-color-weak);border-bottom:none;overflow:hidden}.landing__gen-mockup-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color-weak)}.landing__gen-mockup-title{font-size:var(--text-lg);font-weight:500;color:var(--text-color-highlight)}.landing__gen-mockup-progress-track{position:static}.landing__gen-mockup-card-area{min-height:auto;padding:var(--space-5)}.landing__gen-mockup-actions{border-top:none;padding:0 var(--space-5) var(--space-5)}.landing__ai-card-visual--full{padding:var(--space-6)}.landing__ai-card-visual--full:after{display:none}.landing__drop-anim{display:block;width:100%;height:100%;font-family:var(--font-sans);overflow:hidden}.lda-zone{animation:lda-pulse-zone 10s infinite}.lda-hint{animation:lda-fade-hint 10s infinite}.lda-gen{opacity:0;animation:lda-fade-gen 10s infinite}.lda-doc{animation:lda-move-doc 10s infinite cubic-bezier(.4,0,.2,1)}.lda-hand{animation:lda-move-hand 10s infinite cubic-bezier(.4,0,.2,1)}.lda-spinner{transform-origin:0 0;animation:lda-spin 1s linear infinite}.lda-progress{animation:lda-slide 1.5s ease-in-out infinite}@keyframes lda-pulse-zone{0%,20%{transform:scale(1)}28%,35%{transform:scale(1.02)}40%,to{transform:scale(1)}}@keyframes lda-fade-hint{0%,35%{opacity:1;transform:translateY(0)}42%{opacity:0;transform:translateY(-10px)}88%{opacity:0;transform:translateY(-10px)}95%,to{opacity:1;transform:translateY(0)}}@keyframes lda-fade-gen{0%,40%{opacity:0;transform:translateY(10px)}47%,85%{opacity:1;transform:translateY(0)}92%,to{opacity:0;transform:translateY(10px)}}@keyframes lda-move-doc{0%,5%{transform:translate(-100px,480px) rotate(-15deg) scale(.8);opacity:0}15%{transform:translate(100px,480px) rotate(-5deg) scale(1);opacity:1}28%,36%{transform:translate(400px,280px) rotate(12deg) scale(1);opacity:1}40%{transform:translate(400px,300px) rotate(0) scale(.8);opacity:1}44%,to{transform:translate(400px,300px) rotate(0) scale(.5);opacity:0}}@keyframes lda-move-hand{0%,5%{transform:translate(-100px,480px) rotate(-15deg) scale(1);opacity:0}15%{transform:translate(100px,480px) rotate(-5deg) scale(1);opacity:1}28%,36%{transform:translate(400px,280px) rotate(12deg) scale(1);opacity:1}40%{transform:translate(400px,300px) rotate(0) scale(1);opacity:1}44%,to{transform:translate(420px,320px) rotate(-10deg) scale(1);opacity:0}}@keyframes lda-spin{to{transform:rotate(360deg)}}@keyframes lda-slide{0%{transform:translate(-144px)}to{transform:translate(360px)}}.landing__ai-card--wide .landing__ai-card-visual{min-height:0;max-height:320px}.landing__formats{margin-top:var(--space-8)}.landing__formats-label{display:block;margin-bottom:var(--space-3)}.landing__formats-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.landing__format{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--primary-weak-highlight);border:1px solid var(--border-color-weak);border-radius:var(--radius-pill);font-size:var(--text-base);color:var(--text-color-weak);white-space:nowrap}.landing__format-badge{font-size:var(--text-sm);font-weight:700;color:#fff;padding:2px 6px;border-radius:4px;line-height:1.4;flex-shrink:0}.landing__format-badge--pdf{background:#ef4444}.landing__format-badge--txt,.landing__format-badge--md,.landing__format-badge--apkg{background:var(--text-color-extra-weak)}.landing__rephrase-card{position:relative;background-color:var(--primary);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--box-shadow);overflow:hidden;display:flex;flex-direction:column;height:100%}.landing__rephrase-card:before,.landing__rephrase-card:after{content:"";position:absolute;left:4px;right:4px;top:0;height:100%;background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);z-index:-1}.landing__rephrase-card:before{top:5px;opacity:.5}.landing__rephrase-card:after{left:8px;right:8px;top:10px;opacity:.25}.landing__rephrase-section{padding:var(--space-4);flex:1}.landing__rephrase-section--original{opacity:.45;border-bottom:1px dashed var(--border-color);flex:0}.landing__rephrase-label{display:block;margin-bottom:var(--space-1)}.landing__rephrase-section p{font-size:var(--text-lg);line-height:1.4;color:var(--text-color);animation:landing-rephrase-in .2s ease-out}@keyframes landing-rephrase-in{0%{opacity:0;transform:translateY(3px)}}.landing__suggest-sparkle{color:var(--text-color-extra-extra-weak);display:inline-flex}.landing__suggest-content{font-size:var(--text-lg);line-height:1.5;color:var(--text-color)}.landing__suggest-caret{display:inline-block;width:2px;height:1.1em;background-color:var(--text-color);vertical-align:text-bottom;animation:landing-caret-blink .8s step-end infinite}@keyframes landing-caret-blink{50%{opacity:0}}.landing__suggest-hidden{visibility:hidden}.landing__suggest-field{position:relative}.landing__suggest-editor{min-height:1.5em;font-size:var(--text-lg);line-height:1.5}.landing__suggest-kbd{position:absolute;top:var(--space-4);right:var(--space-4)}.landing__suggest-ghost{display:flex;align-items:flex-start;transition:opacity .3s ease}.landing__suggest-ghost--hidden{opacity:0}.landing__suggest-ghost--accepted .flashcard-page__ghost-text{color:var(--text-color);transition:color .3s ease}.landing__ai-card-visual .kbd.kbd--small{font-size:var(--text-xxs)}.landing__editor-section{position:relative}.landing__editor-section:before{content:"";position:absolute;top:50%;right:-50px;transform:translateY(-50%);width:750px;height:750px;background:radial-gradient(circle at center,var(--landing-glow-strong) 0%,var(--landing-glow-mid) 30%,var(--landing-glow-faint) 50%,transparent 70%);pointer-events:none;z-index:0}.landing__editor{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}.landing__editor-left,.landing__editor-preview{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.landing__editor-preview{transition-delay:.15s}.landing__editor--visible .landing__editor-left,.landing__editor--visible .landing__editor-preview{opacity:1;transform:translateY(0)}.landing__editor-left>p{font-size:var(--text-xl);color:var(--text-color-weak);margin-bottom:var(--space-8);line-height:1.5}.landing__editor-tabs{display:flex;flex-direction:column;gap:var(--space-2);position:relative}.landing__editor-tab-indicator{position:absolute;left:0;right:0;background-color:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-weak);transition:top .4s cubic-bezier(.34,1.4,.64,1);pointer-events:none}.landing__editor-tab{background:none;border:1px solid transparent;text-align:left;padding:var(--space-4) var(--space-5);padding-left:56px;border-radius:var(--radius-md);cursor:pointer;position:relative;z-index:1;transition:color var(--duration-normal);color:var(--text-color-extra-weak)}.landing__editor-tab:hover{color:var(--text-color-weak)}.landing__editor-tab--active,.landing__editor-tab--active:hover{color:var(--text-color-highlight)}.landing__editor-tab-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-color-extra-weak);transition:color var(--duration-normal)}.landing__editor-tab--active .landing__editor-tab-icon{color:var(--text-color-highlight)}.landing__editor-tab-title{font-size:var(--text-xl);font-weight:500;margin-bottom:2px}.landing__editor-tab-desc{font-size:var(--text-lg);line-height:1.5}.landing__editor-tab--active .landing__editor-tab-desc{color:var(--text-color-weak)}.landing__editor-preview{background-color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);height:360px;padding:var(--space-6);display:flex;align-items:center;justify-content:center;box-shadow:var(--box-shadow);overflow:hidden;animation:landing-preview-fade .35s cubic-bezier(.34,1.4,.64,1)}@keyframes landing-preview-fade{0%{opacity:0;transform:scale(.97)}}.landing__editor-richtext{margin:calc(-1 * var(--space-6));width:calc(100% + 2 * var(--space-6));min-height:358px}.landing__editor-richtext>.flashcard-page__field{flex:1 1 0;min-height:0}.landing__editor-richtext>.flashcard-page__footer{margin-top:auto}.landing__editor-label-action{display:inline-flex;align-items:center;justify-content:center;color:var(--text-color-extra-extra-weak)}.landing__editor-preview .rich-textarea__toolbar>:first-child{margin-left:calc(-1 * var(--space-2))}.landing__editor-math{font-style:italic;text-align:center;margin:.5em 0 0;font-size:1.1em;color:var(--text-color);letter-spacing:.02em}.landing__editor-template{margin:calc(-1 * var(--space-6));width:calc(100% + 2 * var(--space-6));align-self:stretch}.landing__editor-template-card{border:none;border-radius:0;height:100%}.landing__template-zone-label{align-self:flex-start;margin-bottom:var(--space-1)}.landing__editor-search{margin:calc(-1 * var(--space-6));width:calc(100% + 2 * var(--space-6));align-self:stretch;overflow:hidden;display:flex;flex-direction:column}.landing__editor-search .spotlight__content{min-height:0}.landing__api-section{position:relative;overflow:hidden;padding-bottom:var(--space-8)}.landing__api-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:240px;background:linear-gradient(to bottom,transparent,var(--primary));pointer-events:none;z-index:2}.landing__api{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center}.landing__api-text,.landing__api>.api-code-example{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.landing__api>.api-code-example{transition-delay:.15s}.landing__api--visible .landing__api-text,.landing__api--visible>.api-code-example{opacity:1;transform:translateY(0)}.landing__api-text h2{font-size:var(--text-5xl);margin-bottom:var(--space-4);letter-spacing:-.25px}.landing__api-text p{font-size:var(--text-xl);color:var(--text-color-weak);line-height:1.5;margin-bottom:var(--space-6)}.landing__api-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:500;color:var(--text-color-highlight);text-decoration:none;transition:gap var(--duration-normal)}.landing__api-link:hover{gap:var(--space-3)}.landing__pricing-section .pricing__header,.landing__pricing-section .pricing__tiers{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.landing__pricing-section .pricing__tiers{transition-delay:.15s}.landing__pricing--visible .pricing__header,.landing__pricing--visible .pricing__tiers{opacity:1;transform:translateY(0)}.landing__pricing-section .pricing__billing-toggle{margin-top:var(--space-6)}.landing__cta{padding:calc(var(--space-16) * 2) 0 var(--space-16);border-top:1px solid var(--border-color-weak);text-align:center}.landing__cta h2{margin-left:auto;margin-right:auto}.landing__cta p{font-size:var(--text-xl);color:var(--text-color-weak);margin-bottom:var(--space-6)}.landing__cta a{text-decoration:none}.landing__cta-btn{padding:var(--space-2) var(--space-5);font-size:var(--text-xl)}@media(max-width:768px){.landing__container{padding:0 var(--space-5)}.landing__hero{padding-top:48px}.landing__desktop-br{display:none}.landing__hero-heading{font-size:2.5rem}.landing__hero-subtitle{font-size:var(--text-xl)}.landing__hero-mockup .card-content__front{font-size:var(--text-2xl)}.landing__hero-mockup .card-content__back-text{font-size:var(--text-xl)}.landing__hero-cta{flex-direction:column;width:100%;margin-bottom:40px}.landing__hero-cta a,.landing__hero-cta .btn{width:100%}.landing__mockup-body{min-height:360px}.landing__section-header h2,.landing__editor-left h2,.landing__cta h2,.landing__pricing-section .pricing__header h2{font-size:var(--text-4xl)}.landing__section-header p,.landing__pricing-section .pricing__header p{font-size:var(--text-lg)}.landing__pillars{grid-template-columns:1fr;padding:0 var(--space-2)}.landing__ai{grid-template-columns:1fr}.landing__ai-card--wide{flex-direction:column}.landing__ai-card--wide>*{max-width:100%;flex-basis:auto}.landing__ai-card--wide .landing__ai-card-visual{border-left:none;border-top:1px solid var(--border-color-weak)}.landing__rephrase-section p,.landing__suggest-content,.landing__suggest-editor{font-size:var(--text-base)}.landing__api{grid-template-columns:1fr}.landing__api-text h2{font-size:var(--text-4xl)}.landing__api-text p,.landing__api-link{font-size:var(--text-lg)}.landing__editor{grid-template-columns:1fr}.landing__editor-left>p{font-size:var(--text-lg)}.landing__editor-tab{padding:var(--space-2) var(--space-3);padding-left:var(--space-3)}.landing__editor-tab-icon,.landing__editor-tab-desc{display:none}.landing__editor-section:before{top:auto;bottom:-150px;right:50%;transform:translate(50%)}.landing__editor-preview{min-height:280px}.landing__editor-richtext .rich-textarea__toolbar{display:none}.landing__hero-mockup .review-mode__content{padding-bottom:0}.landing__hero-mockup .review-mode__dock{position:sticky;bottom:0;left:auto;right:auto}.landing__hero-mockup .review-mode__dock-buttons,.landing__hero-mockup .review-mode__rating-buttons{width:auto}.landing__hero-mockup .review-mode__rating-column{flex:0 0 auto}.landing__hero-mockup .review-mode__rating-column .btn{width:auto}.landing__hero-mockup .review-mode__dock .btn--lg{padding-top:var(--inset-xl);padding-bottom:var(--inset-xl)}.landing__hero-mockup .review-mode__rating-buttons .review-mode__rating-column:first-child{--split-offset: 40px}.landing__hero-mockup .review-mode__rating-buttons .review-mode__rating-column:last-child{--split-offset: -40px}.landing__section,.landing__pricing-section{padding:var(--space-14) 0}.landing__cta{padding:calc(var(--space-10) * 2) 0 var(--space-10)}.landing__cta p{font-size:var(--text-lg)}}.sidebar{--sidebar-inline-padding: var(--space-4);position:relative;display:flex;flex-direction:column;height:100%;padding:var(--space-5) var(--sidebar-inline-padding);flex-shrink:0;overflow:hidden}.desktop .sidebar{padding-top:var(--space-2)}.sidebar--collapsed{--sidebar-inline-padding: var(--space-3);padding:var(--space-5) var(--sidebar-inline-padding);cursor:e-resize}.sidebar--can-transition{transition:width var(--duration-slower) cubic-bezier(.4,0,.2,1),padding var(--duration-slower) cubic-bezier(.4,0,.2,1)}.sidebar--resizing{transition:none}.sidebar__resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;background:transparent;transition:background var(--duration-normal);z-index:10}.sidebar__resize-handle:hover,.sidebar--resizing .sidebar__resize-handle{background:var(--border-color)}.sidebar__header{display:flex;align-items:center;width:100%;flex-shrink:0;margin-bottom:var(--space-7)}.sidebar__logo{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;background:none;margin-left:var(--space-1);border:none;padding:0;flex:1;min-width:0;transition:gap var(--duration-normal) ease}.sidebar--collapsed .sidebar__logo{gap:0}.sidebar .logo{transition:gap var(--duration-normal) ease}.sidebar .logo__text{transition:opacity var(--duration-normal) ease,width var(--duration-normal) ease}.sidebar--collapsed .logo{gap:0}.sidebar--collapsed .logo__text{opacity:0;width:0;overflow:hidden}.sidebar__new-card-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--secondary-extra-weak);border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-color-weak);flex-shrink:0;transition:background var(--duration-normal),color var(--duration-normal),opacity var(--duration-normal),width var(--duration-normal),transform var(--duration-normal)}.sidebar__new-card-btn:hover{background:var(--secondary);color:var(--text-color)}.sidebar--collapsed .sidebar__new-card-btn{display:none}.sidebar__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;min-width:0;transition:opacity var(--duration-normal) ease,width var(--duration-normal) ease}.sidebar--collapsed .sidebar__text{opacity:0;width:0;min-width:0;flex:0 0 auto}.sidebar__content{flex:1;overflow-y:auto;overflow-x:hidden;margin-right:calc(var(--sidebar-inline-padding) * -1);padding-right:var(--sidebar-inline-padding);display:flex;flex-direction:column;gap:var(--space-6)}.sidebar__section{display:flex;flex-direction:column}.sidebar__section-header{padding:0 var(--space-2);margin-bottom:var(--space-2);white-space:nowrap;overflow:hidden;transition:opacity var(--duration-normal) ease,height var(--duration-normal) ease,margin var(--duration-normal) ease,padding var(--duration-normal) ease}.sidebar--collapsed .sidebar__section-header{opacity:0;height:0;margin:0;padding:0}.sidebar__section-items{display:flex;flex-direction:column;gap:2px}.sidebar__nav-item,.sidebar__user-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-normal),color var(--duration-normal),gap var(--duration-normal),padding var(--duration-normal)}.sidebar--collapsed .sidebar__nav-item,.sidebar--collapsed .sidebar__user-btn{gap:0}.sidebar__nav-item{min-height:36px;color:var(--text-color);text-align:left}.sidebar--collapsed .sidebar__nav-item{padding-left:calc(var(--space-2) + 2px);padding-right:calc(var(--space-2) + 2px)}.sidebar__nav-item:hover{background:var(--secondary-extra-weak)}.sidebar__nav-item--active{background:var(--secondary);color:var(--text-color-highlight)}.sidebar__nav-item--active:hover{background:var(--secondary-highlight)}.sidebar__nav-item--disabled{opacity:.5;cursor:not-allowed}.sidebar__nav-item--disabled:hover{background:none}.sidebar__nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-color-weak)}.sidebar__nav-item--active .sidebar__nav-icon{color:var(--text-color-highlight)}.sidebar__nav-label{flex:1;font-size:var(--text-lg);font-weight:500;overflow:hidden;text-overflow:ellipsis}.sidebar__nav-badge{padding:var(--inset-sm) var(--space-1-5);border-radius:var(--radius-sm);font-size:10px;font-weight:600;background:var(--secondary-strong-highlight);color:var(--text-color-medium);flex-shrink:0;transition:opacity var(--duration-normal) ease,width var(--duration-normal) ease,padding var(--duration-normal) ease}.sidebar__nav-badge--active{background:var(--text-color-highlight);color:var(--primary)}.sidebar__upgrade-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-size:var(--text-lg);font-weight:500;cursor:pointer;margin-top:var(--space-1);margin-bottom:var(--space-4);opacity:0;transition:color var(--duration-normal),background var(--duration-normal),opacity var(--duration-normal)}.sidebar--can-transition .sidebar__upgrade-btn{transition:color var(--duration-normal),background var(--duration-normal),opacity var(--duration-slower)}.sidebar:not(.sidebar--collapsed) .sidebar__upgrade-btn{opacity:1;background:var(--secondary-extra-weak)}.sidebar:not(.sidebar--collapsed) .sidebar__upgrade-btn:hover{background:var(--secondary-weak);color:var(--text-color-highlight)}.sidebar__footer{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--border-color);flex-shrink:0;transition:border-top-color var(--duration-normal)}.sidebar--collapsed .sidebar__footer{border-top-color:transparent}.sidebar__user{width:100%}.sidebar__user-dropdown-wrapper,.sidebar__user-dropdown-wrapper>.dropdown__trigger{display:flex;width:100%}.sidebar__user-btn{width:100%;min-height:40px}.sidebar__user-btn:hover,.sidebar__user-btn--active{background:var(--secondary-extra-weak)}.sidebar__user-avatar{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--secondary-strong-highlight);border-radius:var(--radius-sm);flex-shrink:0;color:var(--text-color-medium)}.sidebar__user-name{flex:1;font-size:var(--text-lg);font-weight:500;color:var(--text-color);text-align:left;overflow:hidden;text-overflow:ellipsis}.sidebar__user-chevron{flex-shrink:0;color:var(--text-color-weak);transition:transform var(--duration-normal) ease,opacity var(--duration-normal) ease,width var(--duration-normal) ease}.sidebar__user-chevron--open{transform:rotate(180deg)}.sidebar__user-dropdown{min-width:200px}.sidebar__decks-list{display:flex;flex-direction:column;gap:1px}.sidebar__decks-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);background:none;border:none;color:var(--text-color-extra-weak);font-size:var(--text-base);cursor:pointer;border-radius:var(--radius-md);transition:color var(--duration-normal),background var(--duration-normal)}.sidebar__decks-toggle:hover{color:var(--text-color-weak);background:var(--secondary-extra-weak)}.sidebar__deck-wrapper{position:relative}.sidebar__deck-expand{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;cursor:pointer;color:var(--text-color-weak);border-radius:var(--radius-xs);transition:background var(--duration-normal)}.sidebar--collapsed .sidebar__deck-expand{display:none}.sidebar--collapsed .sidebar__deck-item{justify-content:center;padding-left:calc(var(--space-2) + 2px)!important;padding-right:calc(var(--space-2) + 2px)}.sidebar__deck-item{gap:var(--space-2)}.sidebar__deck-expand:hover{background:var(--secondary-highlight)}.sidebar__deck-expand--hidden{visibility:hidden}.sidebar__deck-expand-icon{transition:transform var(--duration-normal)}.sidebar__deck-expand-icon--open{transform:rotate(90deg)}@media(max-width:768px){.sidebar{display:none}}.topbar{display:flex;align-items:center;height:52px;padding:0 var(--space-3);margin-top:max(calc(var(--space-3) - var(--desktop-nav-height)),0px);margin-right:var(--space-3);background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md) var(--radius-md) 0 0;flex-shrink:0}.topbar__breadcrumbs{flex:1;display:flex;align-items:center}.topbar__center{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;margin-left:var(--space-4)}.topbar__breadcrumb-item{display:flex;align-items:center;flex-shrink:0}.topbar__breadcrumb-item--shrinkable{flex-shrink:1;min-width:0}.topbar__breadcrumb-item--shrinkable .dropdown,.topbar__breadcrumb-item--shrinkable .dropdown__trigger,.topbar__breadcrumb-item--shrinkable .dropdown__select{min-width:0}.topbar__separator{margin:0 var(--space-1);color:var(--text-color-extra-weak);opacity:.6}.topbar__home-current{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);color:var(--text-color-highlight);font-weight:500}.topbar__home-label{color:var(--text-color-highlight)}.topbar__link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-color-weak);text-decoration:none;font-size:var(--text-lg);font-weight:500;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-fast);min-width:0;background:none;border:none;cursor:pointer}.topbar__link-text{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__link:hover{color:var(--text-color-highlight)}.topbar__link-icon{display:flex;align-items:center;color:var(--text-color-extra-weak);flex-shrink:0}.topbar__link:hover .topbar__link-icon{color:var(--text-color-medium)}.topbar__current{display:flex;align-items:center;gap:var(--space-2);color:var(--text-color-highlight);font-size:var(--text-lg);font-weight:500;padding:var(--space-1)}.topbar__editable-slot{display:flex;align-items:center}.topbar__editable-input{font-size:var(--text-lg);font-weight:500;color:var(--text-color-highlight);background:transparent;border:none;border-bottom:1px solid var(--border-color);border-radius:0;outline:none;padding:var(--space-1);padding-bottom:2px;min-width:150px;max-width:300px}.topbar__editable-input:focus{border-bottom-color:var(--text-color-highlight)}.topbar__editable-input::placeholder{color:var(--text-color-extra-weak)}.topbar__actions{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}@media(max-width:768px){.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;min-height:52px;height:auto;padding:var(--space-2) var(--space-4);margin:0;background:var(--primary);border:none}.topbar__breadcrumbs{flex:1;min-width:0}.topbar__actions{flex:none}.topbar__center{display:none}.topbar__breadcrumb-item:has(.topbar__editable-slot){flex-shrink:1;min-width:0;overflow:hidden}.topbar__editable-slot{min-width:0;overflow:hidden}.topbar__editable-input{min-width:0;width:100%}.topbar__breadcrumb-item:not(:last-child) :where(.topbar__link-text,.topbar__home-label,.dropdown__select-label,.dropdown__select-chevron){display:none}}.api-docs{width:100%;min-height:calc(100dvh - var(--desktop-nav-height));background-color:var(--primary);color:var(--text-color)}.api-docs__fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.api-docs__fade-in--visible{opacity:1;transform:translateY(0)}.api-docs__layout{display:flex;max-width:1080px;margin:0 auto;padding:0 var(--space-6)}.api-docs__sidebar{position:sticky;top:calc(var(--desktop-nav-height) + 80px);width:200px;flex-shrink:0;padding:var(--space-6) 0;max-height:calc(100dvh - var(--desktop-nav-height) - 80px);overflow-y:auto;align-self:flex-start}.api-docs__sidebar-group{margin-bottom:var(--space-4)}.api-docs__sidebar-label{font-size:var(--text-base);font-weight:500;text-transform:uppercase;letter-spacing:.05rem;color:var(--text-color-extra-weak);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-1)}.api-docs__sidebar-link{display:block;font-size:var(--text-lg);color:var(--text-color-weak);text-decoration:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast),background-color var(--duration-fast)}.api-docs__sidebar-link:hover,.api-docs__sidebar-link--active{color:var(--text-color);background-color:var(--primary-highlight)}.api-docs__content{flex:1;min-width:0;padding:var(--space-8) 0 var(--space-16) var(--space-8)}.api-docs__section{margin-bottom:var(--space-12)}.api-docs__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color-weak)}.api-docs__section-title{font-size:var(--text-2xl);font-weight:500;color:var(--text-color-highlight)}.api-docs__intro{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.6;margin-bottom:var(--space-4)}.api-docs__intro a{color:var(--text-color);text-decoration:none}.api-docs__intro a:hover{color:var(--text-color-highlight)}.api-docs__base-url{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--primary-highlight);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.api-docs__base-url-label{font-size:var(--text-lg);color:var(--text-color-extra-weak);flex-shrink:0}.api-docs__base-url-value{font-size:var(--text-lg);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--text-color);word-break:break-all}.api-docs__endpoint{background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-weak);overflow:hidden;margin-bottom:var(--space-4)}.api-docs__endpoint-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-weak)}.api-docs__endpoint-path{font-size:var(--text-lg);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--text-color);word-break:break-all}.api-docs__endpoint-desc{padding:var(--space-3) var(--space-4);font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.6}.api-docs__method{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;text-transform:uppercase;letter-spacing:.02em;flex-shrink:0}.api-docs__method--get{background:#22c55e1f;color:#22c55e}.api-docs__method--post{background:#3b82f61f;color:#3b82f6}.api-docs__method--patch{background:#f59e0b1f;color:#f59e0b}.api-docs__method--delete{background:#ef44441f;color:#ef4444}:root.dark .api-docs__method--get{background:#22c55e26}:root.dark .api-docs__method--post{background:#3b82f626}:root.dark .api-docs__method--patch{background:#f59e0b26}:root.dark .api-docs__method--delete{background:#ef444426}.api-docs__params{padding:0 var(--space-4) var(--space-3)}.api-docs__params-title{font-size:var(--text-lg);font-weight:500;color:var(--text-color);margin-bottom:var(--space-2)}.api-docs__params-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.api-docs__params-table th{text-align:left;font-weight:500;font-size:var(--text-base);text-transform:uppercase;letter-spacing:.04em;color:var(--text-color-extra-weak);padding:var(--space-1) var(--space-2) var(--space-1) 0;border-bottom:1px solid var(--border-color-weak)}.api-docs__params-table td{padding:var(--space-1-5) var(--space-2) var(--space-1-5) 0;vertical-align:top;border-bottom:1px solid var(--border-color-weak)}.api-docs__params-table tr:last-child td{border-bottom:none}.api-docs__param-name{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;color:var(--text-color);white-space:nowrap}.api-docs__param-type{color:var(--text-color-extra-weak);white-space:nowrap}.api-docs__param-desc{color:var(--text-color-weak)}.api-docs__param-required{color:var(--color-error);margin-left:var(--space-1)}.api-docs__param-optional{color:var(--text-color-extra-extra-weak);margin-left:var(--space-1)}.api-docs__code-block{position:relative;margin:0 0 var(--space-3);background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-sm);overflow:hidden}.api-docs__endpoint .api-docs__code-block{margin:0 var(--space-4) var(--space-3)}.api-docs__code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1-5) var(--space-3);background:var(--primary-highlight);border-bottom:1px solid var(--border-color-weak)}.api-docs__code-label{font-size:var(--text-base);font-weight:500;color:var(--text-color-extra-weak);text-transform:uppercase;letter-spacing:.04em}.api-docs__copy-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:none;background:transparent;color:var(--text-color-extra-weak);font-size:var(--text-base);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast),background-color var(--duration-fast)}.api-docs__copy-btn:hover{color:var(--text-color-weak);background-color:var(--primary-highlight)}.api-docs__copy-btn--copied{color:var(--color-success)}.api-docs__code-pre{margin:0;padding:var(--space-3);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--text-lg);line-height:1.5;color:var(--text-color);white-space:pre;tab-size:2}.api-docs__inline-code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.9em;padding:1px 5px;background:var(--primary-highlight);border:1px solid var(--border-color-weak);border-radius:var(--radius-xs);color:var(--text-color)}.api-docs__auth-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--primary-highlight);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--text-lg);color:var(--text-color);margin-bottom:var(--space-4);word-break:break-all}.api-docs__md-copy-btn{position:relative;display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border:1px solid var(--border-color-weak);background:var(--primary);color:var(--text-color-weak);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast)}.api-docs__md-copy-btn:hover{color:var(--text-color);background-color:var(--primary-highlight);border-color:var(--border-color)}.api-docs__md-copy-btn--copied{color:var(--text-color);border-color:var(--border-color)}.api-docs__md-copy-btn-state{display:inline-flex;align-items:center;gap:var(--space-1);transition:opacity .2s ease,transform .2s ease}.api-docs__md-copy-btn-state--copied{position:absolute;inset:0;justify-content:center;opacity:0;transform:scale(.92)}.api-docs__md-copy-btn--copied .api-docs__md-copy-btn-state--default{opacity:0;transform:scale(.92)}.api-docs__md-copy-btn--copied .api-docs__md-copy-btn-state--copied{opacity:1;transform:scale(1)}.api-docs__hero{padding:var(--space-10) 0 var(--space-6)}.api-docs__hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2)}.api-docs__hero-title{font-size:var(--text-4xl);font-weight:500;letter-spacing:-.25px;color:var(--text-color-highlight)}.api-docs__hero-desc{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.6;max-width:560px}@media(max-width:768px){.api-docs__sidebar{display:none}.api-docs__content{padding:var(--space-6) 0 0}.api-docs__hero{padding:var(--space-6) 0 var(--space-4)}.api-docs__hero-title{font-size:var(--text-3xl)}.api-docs__endpoint-header{flex-wrap:wrap;gap:var(--space-2)}.api-docs__endpoint-path{font-size:var(--text-lg)}.api-docs__params-table,.api-docs__code-pre{font-size:var(--text-base)}.api-docs__base-url{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.api-docs__section{margin-bottom:var(--space-16)}.api-docs__section:last-child{margin-bottom:0}.api-docs__endpoint{background:none;border:none;box-shadow:none;border-radius:0;border-bottom:1px solid var(--border-color-weak);margin-bottom:var(--space-8);padding-bottom:var(--space-4)}.api-docs__endpoint:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.api-docs__endpoint-header{padding:0 0 var(--space-3);border-bottom:none}.api-docs__endpoint-desc,.api-docs__params{padding:0 0 var(--space-6)}.api-docs__endpoint .api-docs__code-block{margin:0 0 var(--space-6)}.api-docs__base-url{margin-bottom:var(--space-8)}.api-docs__code-pre{padding:var(--space-6)}.api-docs__intro{margin-bottom:var(--space-7)}.api-docs__auth-header{padding:var(--space-6);margin-bottom:var(--space-7)}.api-docs__layout{padding:0 var(--space-4)}}.api-feature{width:100%;min-height:calc(100dvh - var(--desktop-nav-height));overflow-x:clip;background-color:var(--primary);color:var(--text-color)}.api-feature__container{max-width:1080px;margin:0 auto;padding:0 var(--space-6)}.api-feature__fade-item{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.api-feature__fade-item--visible{opacity:1;transform:translateY(0)}.api-feature__hero{padding:80px 0 64px}.api-feature__hero-example{padding:var(--space-2);padding-bottom:var(--space-8);margin:calc(-1 * var(--space-2));margin-bottom:calc(-1 * var(--space-8));mask-image:linear-gradient(to bottom,black calc(100% - 200px),transparent);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 200px),transparent)}.api-feature__hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center}.api-feature__hero-text,.api-feature__hero-example{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.api-feature__hero-example{transition-delay:.15s}.api-feature__hero-grid--visible>.api-feature__hero-text,.api-feature__hero-grid--visible>.api-feature__hero-example{opacity:1;transform:translateY(0)}.api-feature__hero-text h1{font-size:var(--text-5xl);letter-spacing:-.5px;margin-bottom:var(--space-4);text-wrap:balance}.api-feature__hero-text p{font-size:var(--text-xl);color:var(--text-color-weak);line-height:1.5;margin-bottom:var(--space-8)}.api-feature__hero-actions{display:flex;gap:var(--space-3)}.api-feature__hero-actions a{text-decoration:none}.api-feature__hero-actions .btn{font-size:var(--text-lg);padding:var(--space-2) var(--space-5)}.api-feature__features{padding:64px 0;border-top:1px solid var(--border-color-weak)}.api-feature__feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.api-feature__card{display:flex;flex-direction:column;gap:var(--space-3);opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.api-feature__card:nth-child(2){transition-delay:.08s}.api-feature__card:nth-child(3){transition-delay:.16s}.api-feature__feature-grid--visible .api-feature__card{opacity:1;transform:translateY(0)}.api-feature__card-icon{width:40px;height:40px;border-radius:var(--radius-sm);background-color:var(--primary-highlight);border:1px solid var(--border-color-weak);display:flex;align-items:center;justify-content:center;color:var(--text-color-highlight)}.api-feature__card h3{font-size:var(--text-2xl);font-weight:500;color:var(--text-color-highlight)}.api-feature__card p{font-size:var(--text-lg);color:var(--text-color-weak);line-height:1.5}.api-feature__review-section{padding:64px 0;padding-bottom:var(--space-8);border-top:1px solid var(--border-color-weak);mask-image:linear-gradient(to bottom,black calc(100% - 300px),transparent);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 300px),transparent)}.api-feature__review{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center}.api-feature__review-text,.api-feature__review>.api-code-example{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.api-feature__review>.api-code-example{transition-delay:.15s}.api-feature__review--visible>.api-feature__review-text,.api-feature__review--visible>.api-code-example{opacity:1;transform:translateY(0)}.api-feature__review-text h2{font-size:var(--text-5xl);letter-spacing:-.25px;margin-bottom:var(--space-4);text-wrap:balance}.api-feature__review-text p{font-size:var(--text-xl);color:var(--text-color-weak);line-height:1.5}.api-feature__cta{padding:calc(var(--space-16) * 2) 0 var(--space-16);border-top:1px solid var(--border-color-weak)}.api-feature__cta h2{font-size:var(--text-5xl);letter-spacing:-.25px;margin-bottom:var(--space-4)}.api-feature__cta p{font-size:var(--text-xl);color:var(--text-color-weak);margin-bottom:var(--space-6)}.api-feature__cta p a{color:var(--text-color-highlight);text-decoration:underline;text-underline-offset:2px}.api-feature__cta>a{text-decoration:none}.api-feature__cta .btn{font-size:var(--text-xl);padding:var(--space-2) var(--space-5)}@media(max-width:768px){.api-feature__container{padding:0 var(--space-5)}.api-feature__hero{padding:48px 0}.api-feature__hero-grid{grid-template-columns:1fr;gap:var(--space-8)}.api-feature__hero-text h1{font-size:var(--text-4xl)}.api-feature__feature-grid{grid-template-columns:1fr 1fr}.api-feature__review{grid-template-columns:1fr;gap:var(--space-8)}.api-feature__cta{padding:calc(var(--space-10) * 2) 0 var(--space-10)}.api-feature__review-text h2,.api-feature__cta h2{font-size:var(--text-4xl)}}@media(max-width:480px){.api-feature__feature-grid{grid-template-columns:1fr}}.library__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-5)}.library-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;cursor:pointer}.library-card__preview{aspect-ratio:3 / 4;min-height:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color-weak);background:var(--primary-highlight);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.library-card:hover .library-card__preview{border-color:var(--border-color);box-shadow:var(--box-shadow)}.library-card__thumb{width:100%;height:100%;object-fit:cover;display:block}.library-card__info{display:flex;align-items:start;justify-content:space-between;gap:var(--space-1);padding:0 var(--space-1)}.library-card__text{display:flex;flex-direction:column;min-width:0}.library-card__name{font-size:var(--text-lg);font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}input.library-card__name-input{background:transparent;border:none;outline:none;padding:0;font-family:inherit;min-width:0;width:100%}.library-card__meta{font-size:var(--text-base);color:var(--text-color-extra-weak);line-height:1.3}.library-card__actions{flex-shrink:0;opacity:0;margin:calc(-1 * var(--space-1)) 0;transition:opacity var(--duration-fast)}.library-card:hover .library-card__actions{opacity:1}@media(max-width:768px){.library__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.library-card__name{font-size:var(--text-base)}.library-card__meta{font-size:var(--text-sm)}.library-card__actions{opacity:1}}@media(max-width:400px){.library__grid{grid-template-columns:1fr}}.doc-chat{display:flex;flex-direction:column;height:100%;background:var(--primary);flex-shrink:0}.doc-chat--ready{animation:vt-scale-enter .3s ease backwards}.doc-chat__messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0 var(--space-4) var(--space-4)}.doc-chat__messages>*{margin-right:var(--space-3)}.doc-chat__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);gap:var(--space-2)}.doc-chat__empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-pill);background:var(--secondary-extra-weak);color:var(--text-color-weak);margin-bottom:var(--space-2)}.doc-chat__empty-heading{color:var(--text-color);font-size:var(--text-xl);font-weight:600;margin:0}.doc-chat__empty-hint{color:var(--text-color-extra-weak);font-size:var(--text-lg);margin:0}.doc-chat__empty .doc-chat__chips{margin-top:var(--space-2)}.doc-chat__message,.doc-chat__action{animation:doc-chat-enter .25s ease backwards}.doc-chat__message--no-anim,.doc-chat__action--no-anim{animation:none}.doc-chat__message{display:flex}.doc-chat__message--user{justify-content:flex-end}.doc-chat__message--assistant{justify-content:flex-start}.doc-chat__bubble{max-width:95%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:1.55;word-break:break-word;border:1px solid var(--border-color)}.doc-chat__bubble--user{background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);white-space:pre-wrap}.doc-chat__bubble--assistant{background:var(--primary-highlight);color:var(--text-color);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-xs)}.doc-chat__bubble--assistant p{margin:0}.doc-chat__bubble--assistant p+p{margin-top:var(--space-3)}.doc-chat__bubble--user{position:relative}.doc-chat__edit-trigger{position:absolute;top:50%;right:calc(100% + var(--space-1-5));transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-color-extra-weak);cursor:pointer;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast)}.doc-chat__message--user:hover .doc-chat__edit-trigger{opacity:1}.doc-chat__edit-trigger:hover{color:var(--text-color-weak)}.doc-chat__edit-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) 0 var(--space-5);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-2)}.doc-chat__edit-bar-content{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1;color:var(--text-color-weak);font-size:var(--text-lg)}.doc-chat__edit-bar-label{font-weight:600;flex-shrink:0;color:var(--secondary-strong-highlight)}.doc-chat__edit-bar-quote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.doc-chat__edit-bar-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-color-extra-weak);cursor:pointer;flex-shrink:0;transition:color var(--duration-fast),background var(--duration-fast)}.doc-chat__edit-bar-close:hover{color:var(--text-color-weak);background:var(--secondary-extra-weak)}.doc-chat__input-area{display:flex;flex-direction:column;margin:var(--space-3);margin-top:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-color);overflow:hidden;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.doc-chat__input-area:focus-within{border-color:var(--secondary-strong-highlight)}.doc-chat__input-row{padding:var(--space-4) var(--space-5) var(--space-2)}.doc-chat__input-row--editing{position:relative;padding-right:calc(var(--space-5) + 32px + var(--space-2));padding-bottom:var(--space-4)}.doc-chat__send--inline{position:absolute;right:var(--space-3);bottom:var(--space-3)}.doc-chat__input{width:100%;padding:0;border:none;background:transparent;color:var(--text-color);font-size:var(--text-lg);font-family:inherit;resize:none;outline:none;line-height:1.4;field-sizing:content;max-height:7em}.doc-chat__input::placeholder{color:var(--text-color-extra-weak)}.doc-chat__actions-row{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2) var(--space-3)}.doc-chat__actions-row .doc-chat__chips,.doc-chat__actions-row .icon-btn{margin-right:auto}.doc-chat__chips{display:flex;align-items:center;gap:var(--space-1-5)}.doc-chat__chip{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--primary);color:var(--text-color-weak);font-size:var(--text-base);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color var(--duration-fast),color var(--duration-fast)}.doc-chat__chip:not(:disabled):hover{border-color:var(--secondary-strong-highlight);color:var(--text-color)}.doc-chat__chip:disabled{opacity:.5;cursor:default}.doc-chat__send{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:var(--button-primary-bg);color:var(--button-primary-text);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.doc-chat__send:disabled{background:var(--secondary);color:var(--text-color-extra-weak);cursor:default}.doc-chat__send:not(:disabled):hover{background:var(--button-primary-bg-hover)}.doc-chat__trigger{position:fixed;bottom:0;left:0;right:0;padding-bottom:var(--safe-area-bottom);background:linear-gradient(transparent,var(--bg-color) 30%);z-index:1002;transition:transform .3s cubic-bezier(.4,0,.2,1)}.doc-chat__trigger--hidden{transform:translateY(100%);pointer-events:none}.doc-chat__trigger .doc-chat__input-area{transition:transform .4s cubic-bezier(.34,1.4,.64,1),box-shadow .4s ease,border-color .25s ease}.doc-chat__trigger--lifted .doc-chat__input-area{transform:translateY(-8px);box-shadow:var(--box-shadow-strong);border-color:var(--secondary-strong-highlight)}.doc-chat-drawer .drawer__content{padding:0;display:flex;flex-direction:column;flex:1}.doc-chat-drawer .drawer__content-inner{display:flex;flex-direction:column;flex:1}.slash-menu{border-radius:var(--radius-lg)}.slash-menu .dropdown__item{padding:var(--space-1) var(--space-3)}.slash-menu .dropdown__item--highlighted:not(.slash-menu__item--active){background:transparent}.slash-menu__item--active{background:var(--secondary-extra-weak)}.slash-menu .dropdown__item-icon{color:var(--text-color-weak)}.slash-menu .dropdown__item-label{font-weight:500}.doc-chat__action{--action-color: #8B7EC8;--action-tint: color-mix(in srgb, var(--action-color) 8%, var(--primary));--action-border: color-mix(in srgb, var(--action-color) 20%, var(--border-color));flex-shrink:0;min-width:0;border-radius:var(--radius-md);background:var(--action-tint);border:1px solid var(--action-border);box-shadow:var(--box-shadow-weak)}.doc-chat__action--summarize{--action-color: #8B7EC8}.doc-chat__action--eli5{--action-color: #E8915A}.doc-chat__action-label{display:flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--action-color)}.doc-chat__action-content{padding:0 var(--space-3) var(--space-3);font-size:var(--text-base);line-height:1.55;color:var(--text-color);min-width:0}.doc-chat__action-content p{margin:0}.doc-chat__action-content p+p{margin-top:var(--space-3)}.doc-chat__action-content .doc-chat__blob{margin-bottom:var(--space-1)}.doc-chat__blob{width:16px;height:16px;background:var(--text-color-extra-weak);opacity:.5;animation:doc-chat-morph 3s ease-in-out infinite,doc-chat-breathe 3s ease-in-out infinite}@keyframes doc-chat-morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 30% 50% 70%/30% 50% 70% 40%}75%{border-radius:40% 70% 40% 60%/70% 40% 50% 30%}}@keyframes doc-chat-breathe{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(15deg)}}@keyframes doc-chat-enter{0%{opacity:0;transform:translateY(6px)}}.doc-chat__drawer-messages{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) var(--space-5);flex:1}.pdf-reader{position:relative;display:grid;grid-template-columns:1fr auto auto;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;background-color:var(--primary-weak-highlight)}.pdf-reader__content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.pdf-reader__viewer{position:relative;display:flex;flex-direction:column;min-width:0}.pdf-reader__pages{flex-shrink:0;overflow-x:auto;overflow-y:clip;padding:var(--space-4);padding-bottom:calc(var(--space-16) + var(--space-8));overscroll-behavior-x:contain}.pdf-reader__pages-surface{min-width:100%;min-height:100%}.pdf-reader__pages-inner{display:flex;flex-direction:column;gap:var(--space-3);transform-origin:0 0}.pdf-reader__page{--user-unit: 1;--total-scale-factor: calc(var(--scale-factor) * var(--user-unit));position:relative;flex-shrink:0;width:fit-content;margin:0 auto;box-shadow:var(--box-shadow);border-radius:var(--radius-sm);opacity:0;transform:scale(.98);transition:opacity .3s ease,transform .3s ease}.pdf-reader__page--rendered{opacity:1;transform:scale(1)}.pdf-reader__page canvas{display:block;max-width:none;border-radius:var(--radius-sm)}.pdf-reader__dock{position:sticky;bottom:var(--space-4);display:flex;justify-content:center;pointer-events:none;z-index:10;margin-top:auto}.pdf-reader__dock-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--box-shadow);pointer-events:auto}.pdf-reader__dock-label{font-size:var(--text-lg);font-variant-numeric:tabular-nums;color:var(--text-color-weak);min-width:44px;text-align:center;-webkit-user-select:none;user-select:none}.pdf-reader__dock-sep{width:1px;height:20px;background:var(--border-color);margin:0 var(--space-1)}.pdf-reader__chat-panel{position:sticky;top:var(--space-3);height:calc(var(--reader-h, 100%) - var(--space-3) * 2);min-height:0;width:380px;overflow:hidden;margin:var(--space-3);margin-left:0;border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow);transition:width .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1)}.pdf-reader__chat-panel--collapsed{width:0!important;min-width:0;margin-right:0;border-color:transparent;box-shadow:none}.pdf-reader__chat-panel>.doc-chat{min-width:var(--chat-width, 380px);transform-origin:right center;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.pdf-reader__chat-panel--collapsed>.doc-chat{transform:scale(.96);opacity:0}.pdf-reader__chat-panel--resizing,.pdf-reader__chat-panel--resizing>.doc-chat{transition:none!important}.pdf-reader__bleed{position:fixed;pointer-events:none}.pdf-reader__resize-handle{position:sticky;top:var(--space-4);height:calc(var(--reader-h, 100%) - var(--space-4) * 2);width:4px;cursor:col-resize;z-index:5;margin-right:-4px}.pdf-reader__resize-handle:hover,.pdf-reader__resize-handle:active{background:var(--secondary-strong-highlight);opacity:.4;border-radius:var(--radius-pill)}.hiddenCanvasElement{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}.pdf-reader .textLayer{position:absolute;inset:0;overflow:clip;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:0;pointer-events:none}.pdf-reader .textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%;pointer-events:auto}.pdf-reader .textLayer>:not(.markedContent),.pdf-reader .textLayer .markedContent span:not(.markedContent){z-index:1;font-size:calc(var(--total-scale-factor) * var(--font-height));transform:rotate(var(--rotate, 0deg)) scaleX(var(--scale-x, 1))}.pdf-reader .textLayer ::selection{background:color-mix(in srgb,AccentColor,transparent 75%)}.pdf-reader .textLayer br::selection{background:transparent}.pdf-reader .textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:0;cursor:default;-webkit-user-select:none;user-select:none}.pdf-reader .textLayer.selecting .endOfContent{top:0}@media(max-width:768px){.pdf-reader{display:flex;flex-direction:column;overflow:hidden}.pdf-reader__viewer{flex:1;min-height:0;overflow:hidden}.pdf-reader__pages{overflow:auto;flex:1;min-height:0;padding:var(--space-2);padding-bottom:calc(var(--space-16) + var(--space-8) + var(--safe-area-bottom));touch-action:pan-x pan-y}.pdf-reader__pages-inner{gap:var(--space-2);width:fit-content}.pdf-reader__dock{display:none}.pdf-reader__progress-strip{height:3px;background:var(--secondary);flex-shrink:0}.pdf-reader__progress-fill{height:100%;background:var(--text-color-weak);transition:width .2s ease-out}}.onboarding{height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:var(--space-6)}.onboarding__panel{width:100%;max-width:520px;min-height:480px;background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-lg);box-shadow:var(--box-shadow);display:flex;flex-direction:column;overflow:hidden}.onboarding__nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-weak);flex-shrink:0}.onboarding__nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:none;color:var(--text-color-weak);cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast)}.onboarding__nav-btn:hover{background:var(--secondary-extra-weak);color:var(--text-color)}.onboarding__nav-btn:disabled{opacity:.4;pointer-events:none}.onboarding__nav-link{background:none;border:none;color:var(--text-color-extra-weak);font-size:var(--text-lg);font-weight:500;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast),background-color var(--duration-fast)}.onboarding__nav-link:hover{color:var(--text-color-weak);background:var(--secondary-extra-weak)}.onboarding__nav-link:disabled{opacity:.4;pointer-events:none}.onboarding__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-6);animation:onb-fade-in .3s ease-out}@keyframes onb-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.onboarding__stagger{opacity:0;animation:onb-fade-in .4s ease-out forwards;animation-delay:calc(40ms + var(--stagger) * 90ms)}.onboarding__busy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-10) 0}.onboarding__busy-label{font-size:var(--text-lg);color:var(--text-color-weak)}.onboarding__welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-4) 0}.onboarding__hero-title{font-size:var(--text-4xl);font-weight:500;color:var(--text-color-highlight);line-height:1.15;letter-spacing:-.01em}.onboarding__hero-subtitle{color:var(--text-color-weak);font-size:var(--text-xl);line-height:1.5;max-width:340px}.onboarding__step-title{font-size:var(--text-2xl);font-weight:500;color:var(--text-color-highlight);text-align:center}.onboarding__step-desc{color:var(--text-color-extra-weak);font-size:var(--text-lg);text-align:center;margin-top:var(--space-2);margin-bottom:var(--space-6)}.onboarding__choose{display:flex;flex-direction:column}.onboarding__options{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background-color var(--duration-fast),border-color var(--duration-fast);animation:onb-fade-in .3s ease-out both;animation-delay:calc(30ms + var(--stagger) * 50ms)}.onboarding__option:hover{background:var(--secondary-extra-weak);border-color:var(--border-color-weak)}.onboarding__option-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--secondary-extra-weak);border:1px solid var(--border-color-weak);display:flex;align-items:center;justify-content:center;color:var(--text-color-extra-weak);flex-shrink:0}.onboarding__option-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.onboarding__option-title{font-size:var(--text-lg);font-weight:500;color:var(--text-color)}.onboarding__option-desc{font-size:var(--text-base);color:var(--text-color-extra-weak)}.onboarding__action{display:flex;flex-direction:column}.onboarding__deck-form{display:flex;flex-direction:column;gap:var(--space-3)}.onboarding__suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding__suggestion{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--border-color-weak);background:var(--primary);color:var(--text-color-extra-weak);font-size:var(--text-lg);cursor:pointer;transition:background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.onboarding__suggestion:hover{background:var(--primary-highlight);border-color:var(--border-color);color:var(--text-color-weak)}.onboarding__suggestion--active{background:var(--secondary-weak);border-color:var(--secondary-highlight);color:var(--text-color)}.onboarding__deck-submit{width:100%;margin-top:var(--space-1)}@media(max-width:768px){.onboarding{padding:0}.onboarding__panel{max-width:none;min-height:0;height:100%;border-radius:0;border:none;box-shadow:none}.onboarding__hero-title{font-size:var(--text-3xl)}.onboarding__welcome{padding:0}}.shortcuts__container{max-width:960px;margin:0 auto}.shortcuts-modal.modal{max-width:min(920px,calc(100vw - var(--space-8)))}.shortcuts-modal .modal__content{padding-bottom:var(--space-5)}.shortcuts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.shortcuts__section{min-width:0}.shortcuts__section-title{margin-bottom:var(--space-3);font-size:var(--text-lg)}.shortcuts__card{background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-weak);overflow:hidden}.shortcuts__row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}.shortcuts__row-copy{min-width:0;flex:1}.shortcuts__action{font-size:var(--text-lg);color:var(--text-color)}.shortcuts__note{margin-top:2px;font-size:var(--text-base);color:var(--text-color-extra-weak)}.shortcuts__keys{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.shortcuts__key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--secondary-extra-weak);color:var(--text-color-medium);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--text-base);line-height:1;white-space:nowrap}.shortcuts__divider{position:absolute;left:var(--space-4);right:var(--space-4);bottom:0;border-top:1px solid var(--border-color-weak)}.help-buttons{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:40;display:flex;flex-direction:column;gap:var(--space-2)}body:has(.inbox-pill-container) .help-buttons{bottom:calc(var(--space-5) + 48px)}.help-buttons__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--primary);color:var(--text-color-weak);box-shadow:var(--box-shadow);cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.help-buttons__btn:hover{background:var(--primary-highlight);color:var(--text-color)}@media(max-width:900px){.shortcuts__grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.shortcuts__row{flex-direction:column;align-items:flex-start}.shortcuts__keys{justify-content:flex-start}.help-buttons{display:none}}.feedback-modal.modal{width:min(480px,calc(100vw - var(--space-8)))}.feedback-form{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-form__field{display:flex;flex-direction:column;gap:var(--space-2)}.feedback-form__textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.mobile-dock{display:none;position:fixed;bottom:0;left:0;width:100vw;z-index:1000;padding:var(--space-3);padding-bottom:max(var(--space-3),var(--safe-area-bottom));pointer-events:none;view-transition-name:mobile-dock}@media(max-width:768px){.mobile-dock{display:block}body:has(.review-mode__dock) .mobile-dock{display:none}body:has(.pdf-reader) .mobile-dock{display:none}}.mobile-dock__bar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--space-14);max-width:280px;width:fit-content;margin:0 auto;background-color:var(--primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--box-shadow);pointer-events:auto;padding:0 var(--space-2)}.mobile-dock__item{display:flex;align-items:center;justify-content:center;width:var(--space-10);height:var(--space-10);background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--text-color-extra-weak);cursor:pointer;transition:color var(--duration-normal) ease,background-color var(--duration-normal) ease,transform var(--duration-fast) ease}.mobile-dock__item:active{transform:scale(.95)}.mobile-dock__item--active{color:var(--text-color-highlight);background-color:var(--secondary-extra-weak)}.mobile-dock__user-wrapper{display:flex}.mobile-dock__user-menu{min-width:200px}.app{display:flex;height:calc(100dvh - var(--desktop-nav-height));background:var(--bg-color)}.app__right{flex:1;display:flex;flex-direction:column;min-width:0}.app__panel-wrapper{flex:1;padding:var(--space-3);padding-left:0;padding-top:0;overflow:hidden}.app__main{position:relative;height:100%;display:flex;flex-direction:column;background:var(--primary);border:1px solid var(--border-color-weak);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--box-shadow-weak);overflow:hidden}@media(max-width:768px){.app__main:before{content:"";position:absolute;top:0;left:0;right:0;height:20px;background:linear-gradient(var(--primary),transparent);z-index:1;pointer-events:none}.app__main:has(.pdf-reader):before{display:none}}.app__content{flex:1;overflow-y:auto;overflow-x:hidden;view-transition-name:main-content}::view-transition-group(root),::view-transition-group(main-content),::view-transition-group(mobile-dock),::view-transition-group(landing){animation:none}::view-transition-old(landing){animation:vt-fade-out .12s ease-out forwards}::view-transition-new(landing){animation:vt-fade-in .15s ease-in forwards}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}::view-transition-old(root),::view-transition-new(root){animation:none}::view-transition-old(mobile-dock){display:none}::view-transition-new(mobile-dock){animation:none}@keyframes vt-scale-exit{to{opacity:0;transform:scale(.98)}}@keyframes vt-scale-enter{0%{opacity:0;transform:scale(.98)}}::view-transition-image-pair(main-content){isolation:isolate}::view-transition-old(main-content){animation:vt-scale-exit .15s ease-out forwards;mix-blend-mode:normal}::view-transition-new(main-content){animation:vt-scale-enter .2s cubic-bezier(.22,1,.36,1) forwards;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){::view-transition-old(main-content),::view-transition-new(main-content){animation:none}}.page{min-height:100%;padding:var(--space-5)}.page:has(.page__loading),.page:has(.empty-state){display:flex;flex-direction:column}.page__loading{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text-color-extra-weak)}@media(max-width:768px){.app{flex-direction:column}.app__right{min-height:0}.app__panel-wrapper{padding:0}.app__main{border-radius:0;box-shadow:none;border:none}.app__main:before{height:24px}.app__content{padding-bottom:calc(var(--mobile-dock-height) + max(var(--space-6),var(--safe-area-bottom)))}body:has(.review-mode__dock) .app__content{padding-bottom:0}.page{padding:var(--space-5) var(--space-4)}}*,*:before,*:after{box-sizing:border-box}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}*{margin:0;-webkit-tap-highlight-color:transparent}button{outline:none}svg{flex-shrink:0}:root{--desktop-nav-height: 0px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-top: env(safe-area-inset-top, 0px);--mobile-dock-height: 56px;--deck-indent: 20px;--bg-color: #F9F8F4;--overlay-color: #0000000C;--primary: #FBFAF9;--primary-highlight: #F5F4F2;--primary-weak-highlight: #F8F7F5;--secondary: #E3E0D8;--secondary-highlight: #D6D2C9;--secondary-strong-highlight: #C8C3B9;--secondary-weak: #EBE8E2;--secondary-extra-weak: #F0EDE8;--text-color: #2C2C2C;--text-color-medium: #383838;--text-color-weak: #5C5C5C;--text-color-extra-weak: #808080;--text-color-extra-extra-weak: #A0A0A0;--text-color-highlight: #2D2929;--text-color-accent: #FAF8F5;--text-color-accent-hover: #F3F1EC;--surface-accent: #2D2929;--surface-accent-highlight: #3D3838;--box-shadow-weak: 0 1px 4px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .08);--box-shadow: 0 4px 12px -2px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .08);--box-shadow-strong: 0 10px 25px -5px rgba(0, 0, 0, .08), 0 4px 8px -4px rgba(0, 0, 0, .08);--border-color: #E3E2DE;--border-color-weak: #EAE9E5;--scrollbar-width: 12px;--radius-xs: 2px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 9999px;--inset-xs: 1px;--inset-sm: 2px;--inset-md: 4px;--inset-lg: 5px;--inset-xl: 7px;--space-0: 0px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--text-xxs: .5625rem;--text-xs: .6875rem;--text-sm: .75rem;--text-md: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 1.75rem;--text-5xl: 2.25rem;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Vollkorn", ui-serif, serif;--font-review: var(--font-sans);--font-size-base: 15px;--status-new: var(--secondary-strong-highlight);--status-learning: var(--text-color-extra-weak);--status-review: var(--text-color-highlight);--status-relearning: var(--text-color-extra-extra-weak);--button-primary-bg: #2D2929;--button-primary-bg-hover: #3D3838;--button-primary-text: #FAF8F5;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-danger: #dc3545;--color-danger-bg: rgba(220, 53, 69, .1);color-scheme:light}:root.dark{--bg-color: #1A1918;--overlay-color: #00000060;--primary: #1E1D1B;--primary-highlight: #262523;--primary-weak-highlight: #201F1D;--secondary: #333130;--secondary-highlight: #3E3C3A;--secondary-strong-highlight: #4A4846;--secondary-weak: #2B2928;--secondary-extra-weak: #242220;--text-color: #E8E8E8;--text-color-medium: #D8D8D8;--text-color-weak: #B0B0B0;--text-color-extra-weak: #888888;--text-color-extra-extra-weak: #606060;--text-color-highlight: #F5F5F5;--text-color-accent: #F5F5F5;--text-color-accent-hover: #E8E8E8;--surface-accent: #1A1918;--surface-accent-highlight: #2B2928;--box-shadow-weak: 0 1px 4px 0 rgba(0, 0, 0, .25), 0 1px 2px -1px rgba(0, 0, 0, .25);--box-shadow: 0 4px 12px -2px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .25);--box-shadow-strong: 0 10px 25px -5px rgba(0, 0, 0, .35), 0 4px 8px -4px rgba(0, 0, 0, .3);--border-color: #302E2C;--border-color-weak: #292726;--button-primary-bg: #F0F0F0;--button-primary-bg-hover: #F5F5F5;--button-primary-text: #1A1918;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-danger: #dc3545;--color-danger-bg: rgba(220, 53, 69, .15);color-scheme:dark}.reduce-motion::view-transition-old(*),.reduce-motion::view-transition-new(*){animation:none!important}.reduce-motion .review-mode__card{transition:none!important}.reduce-motion .review-mode__card--transitioning{animation:none!important}.reduce-motion .review-mode__show-btn-wrapper,.reduce-motion .review-mode__rating-buttons .review-mode__rating-column,.reduce-motion .review-mode__dock-buttons--revealed .review-mode__show-btn-wrapper,.reduce-motion .review-mode__dock-buttons--revealed .review-mode__rating-buttons .review-mode__rating-column{transition:none!important}.reduce-motion .modal,.reduce-motion .drawer{animation-duration:0s!important;transition-duration:0s!important}html{font-size:var(--font-size-base, 15px)}@media(max-width:768px){html{font-size:calc(var(--font-size-base, 15px) + 1px)}:root{--text-2xl: 1.2rem;--text-3xl: 1.35rem;--deck-indent: 12px}}body{line-height:1.5;-webkit-font-smoothing:antialiased;font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color)}img,picture,video,canvas,svg{max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1{font-size:var(--text-4xl);font-weight:500;letter-spacing:-.25px;line-height:1.2;color:var(--text-color-highlight);margin:0}h2{font-size:var(--text-2xl);font-weight:500;line-height:1.3;color:var(--text-color-highlight);margin:0}h3{font-size:var(--text-lg);font-weight:500;line-height:1.4;color:var(--text-color-highlight);margin:0}h4{font-size:var(--text-base);font-weight:500;line-height:1.4;color:var(--text-color-highlight);margin:0}#root{isolation:isolate;min-height:calc(100dvh - var(--desktop-nav-height));margin-top:var(--desktop-nav-height)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--secondary-highlight);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--secondary-strong-highlight)}*{scrollbar-width:thin;scrollbar-color:var(--secondary-highlight) transparent}.status-dot{width:var(--space-2);height:var(--space-2);border-radius:50%;flex-shrink:0;background-color:var(--text-color-extra-weak)}.status-dot--new{background-color:var(--status-new)}.status-dot--learning{background-color:var(--status-learning)}.status-dot--review{background-color:var(--status-review)}.status-dot--relearning{background-color:var(--status-relearning)}.label-uppercase{font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.03rem;color:var(--text-color-extra-weak)}.due-limited{text-decoration:underline dotted;text-underline-offset:2px;cursor:help}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 var(--space-1-5);background:var(--secondary);border:1px solid var(--border-color-weak);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-color-weak)}.kbd--small{min-width:20px;height:20px;padding:0 var(--inset-sm);font-size:var(--text-sm)}.kbd[role=button]{cursor:pointer;transition:background-color .1s}.kbd[role=button]:hover{background-color:var(--secondary-highlight)}.kbd[role=button]:active{background-color:var(--secondary-strong-highlight)}@media(max-width:768px){.kbd{display:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.skeleton-shimmer{background:linear-gradient(90deg,var(--secondary) 25%,var(--secondary-highlight) 50%,var(--secondary) 75%);background-size:200% 100%;border-radius:var(--radius-sm);animation:shimmer 2.5s infinite,fadeIn .5s forwards}@keyframes progress-slide{0%{left:-30%;width:30%}50%{width:40%}to{left:100%;width:30%}}.progress-slide{position:absolute;bottom:0;left:0;height:2px;border-radius:1px;background:var(--surface-accent);animation:progress-slide 2s ease-in-out infinite}.drop-indicator{position:absolute;height:2px;background:var(--text-color-extra-weak);border-radius:1px;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) ease}.drop-indicator--visible{opacity:1}.drop-indicator:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--text-color-extra-weak);border-radius:50%}.root-drop-zone{display:flex;align-items:center;justify-content:center;min-height:36px;margin-top:var(--space-2);padding:var(--space-2);border:1px dashed var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-color-extra-weak);transition:border-color var(--duration-normal) ease,background var(--duration-normal) ease,color var(--duration-normal) ease}.root-drop-zone--active{border-color:var(--text-color-extra-weak);background:var(--secondary-extra-weak);color:var(--text-color-weak)}.drag-overlay{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--primary);border:1px solid var(--border-color-weak);border-radius:var(--radius-md);box-shadow:var(--box-shadow-strong);font-size:var(--text-base);font-weight:500;color:var(--text-color);pointer-events:none}
