@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-primary: #FAFAF9;--bg-secondary: #FFFFFF;--bg-tertiary: #F8FAFC;--bg-elevated: #F1F5F9;--text-primary: #1F2937;--text-secondary: #4B5563;--text-muted: #9CA3AF;--text-question: #111827;--accent-primary: #3B82F6;--accent-secondary: #2563EB;--accent-light: #60A5FA;--accent-glow: rgba(59, 130, 246, .15);--tab-concise: #3B82F6;--tab-analogy: #8B5CF6;--tab-eli5: #10B981;--tab-usecase: #F59E0B;--tab-mistakes: #EF4444;--tab-example: #06B6D4;--success: #10B981;--success-light: #D1FAE5;--warning: #F59E0B;--warning-light: #FEF3C7;--error: #EF4444;--error-light: #FEE2E2;--border: #E5E7EB;--border-light: #F3F4F6;--border-focus: #3B82F6;--shadow-card: 0 4px 16px rgba(0, 0, 0, .06);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .12);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .15);--shadow-glow: 0 0 0 3px rgba(59, 130, 246, .1)}[data-theme=dark]{--bg-primary: #111827;--bg-secondary: #1F2937;--bg-tertiary: #374151;--bg-elevated: #4B5563;--text-primary: #F9FAFB;--text-secondary: #E5E7EB;--text-muted: #9CA3AF;--text-question: #FFFFFF;--border: #374151;--border-light: #4B5563;--success-light: rgba(16, 185, 129, .15);--error-light: rgba(239, 68, 68, .15);--warning-light: rgba(245, 158, 11, .15);--shadow-card: 0 4px 16px rgba(0, 0, 0, .4);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .5);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 0 3px rgba(59, 130, 246, .2)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;transition:background-color .3s ease,color .3s ease}code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;background-color:var(--bg-elevated);color:var(--accent-primary);padding:2px 6px;border-radius:4px;font-size:.9em}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.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}.app-container{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);display:block;padding:0}.app-container.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--text-primary);padding:20px}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:20px}.app-container.loading p{font-size:16px;font-weight:500;color:var(--text-secondary)}.page-title,.view-header h1,.history-header .page-title,.schedule-header .page-title{animation:none!important;transform:none!important}.view-header .loading-spinner,.history-header .spinner,.schedule-header .loading-spinner{display:none!important}header h1,header .page-title,.section-title,.view-title,.weak-concepts-view h1,.weak-concepts-view .page-title,.schedule-view h1,.schedule-view .page-title,.bookmarks-view h1,.bookmarks-view .page-title,.quiz-view h1,.quiz-view .page-title{animation:none!important;transform:none!important}h1 .loading-spinner,h2 .loading-spinner,.page-title .loading-spinner,.section-title .loading-spinner,header .loading-spinner{display:none!important}h1.spinner,h2.spinner,.page-title.spinner,.section-title.spinner{animation:none!important;transform:none!important}.spinner:not(.loading-spinner),.spinning:not(.loading-spinner),.spin:not(.loading-spinner){animation:none!important;transform:none!important}.loading-spinner{animation:spin .8s linear infinite!important}header,.view-header,.card-header,.empty-state-card,.empty-state-title,.card-title,.title,.dashboard-title{transform:none!important}.view-header,.view-header *,.schedule-header,.schedule-header *,.history-header,.history-header *,.bookmarks-header,.bookmarks-header *,.empty-state,.empty-state *{animation:none!important;transform:none!important}.btn-primary{background-color:var(--accent-primary);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-card)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border);border-radius:8px;padding:10px 22px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.auth-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;position:relative;animation:slideUp .3s ease;max-height:90vh;overflow-y:auto}.auth-modal.auth-modal-compact{max-width:400px}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#666;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:1}.auth-modal-close:hover{background:#f0f0f0;color:#333}.auth-modal-content{padding:48px 40px 36px;text-align:center}.auth-modal-title{font-size:26px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.auth-modal-subtitle{font-size:.9rem;color:#666;margin:0 0 32px;line-height:1.4}.auth-google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .2s ease}.auth-google-button:hover:not(:disabled){background:#f8f9fa;border-color:#4285f4;transform:translateY(-1px);box-shadow:0 4px 12px #4285f426}.auth-google-button:disabled{opacity:.6;cursor:not-allowed}.auth-google-loading{color:#666}.auth-error{background:#fff5f5;border:1px solid #ffcccc;color:#d32f2f;padding:12px 16px;border-radius:8px;font-size:14px;margin-top:16px;text-align:left}.auth-modal-footer-note{font-size:.75rem;color:#999;margin:24px 0 0;line-height:1.5}@media (max-width: 768px){.auth-modal{max-width:100%;border-radius:16px 16px 0 0;margin-top:auto;max-height:95vh}.auth-modal.auth-modal-compact{max-width:100%}.auth-modal-content{padding:40px 24px 32px}.auth-modal-title{font-size:22px}.auth-google-button{font-size:15px}}.lp{--brand-green: #2d7a3e;--brand-green-dark: #1f5a2d;--brand-green-light: #3d9a4e;--brand-green-pale: rgba(45, 122, 62, .08);--bg-cream: #faf8f3;--bg-white: #ffffff;--bg-gray: #f5f5f5;--text-dark: #1a1a1a;--text-body: #4a4a4a;--text-muted: #7a7a7a;--text-light: #9a9a9a;--border-light: #e8e6e1;--border-medium: #d4d2cd;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-green: 0 8px 24px rgba(45, 122, 62, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition: all .2s cubic-bezier(.4, 0, .2, 1);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lp-container{max-width:1600px;margin:0 auto;padding:0 120px}@media (max-width: 1400px){.lp-container{padding:0 80px}}@media (max-width: 1024px){.lp-container{padding:0 40px}}@media (max-width: 768px){.lp-container{padding:0 24px}}.lp-section-title{font-size:40px;font-weight:700;color:var(--text-dark);text-align:left;margin:0 0 24px;letter-spacing:-.02em;line-height:1.2}.lp-section-subtitle{font-size:20px;color:var(--text-body);text-align:left;max-width:700px;margin:0 0 48px;line-height:1.6}@media (max-width: 768px){.lp-section-title{font-size:28px}.lp-section-subtitle{font-size:16px}}.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);text-decoration:none}.lp-btn-primary{background:var(--brand-green);color:#fff}.lp-btn-primary:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:var(--shadow-green)}.lp-btn-ghost{background:transparent;color:var(--text-body);border:1px solid var(--border-light)}.lp-btn-ghost:hover{border-color:var(--brand-green);color:var(--brand-green)}.lp-btn-lg{padding:16px 40px;font-size:16px}.lp-btn-xl{padding:20px 56px;font-size:18px}.lp-btn-icon{font-size:14px;transition:transform .2s}.lp-btn:hover .lp-btn-icon{transform:translate(4px)}.lp-hero{padding:120px 0 100px;background:var(--bg-cream);min-height:calc(100vh - 72px);display:flex;align-items:center}.lp-hero-inner{max-width:1600px;margin:0 auto;padding:0 120px;display:grid;grid-template-columns:1fr 1.2fr;gap:120px;align-items:center;width:100%}.lp-hero-content{max-width:580px}.lp-hero-title{font-size:56px;font-weight:800;line-height:1.08;color:var(--text-dark);margin:0 0 28px;letter-spacing:-.03em}.lp-hero-title-accent{color:var(--brand-green)}.lp-hero-subtitle{font-size:20px;color:var(--text-body);line-height:1.7;margin:0 0 20px;text-align:left}.lp-hero-tagline{font-size:16px;font-weight:600;color:var(--brand-green);margin-bottom:36px}.lp-hero-cta{display:flex;align-items:center;gap:20px;margin-bottom:28px}.lp-hero-trust{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text-muted)}.lp-hero-trust-icon{color:var(--brand-green);font-size:18px}.lp-hero-visual{display:flex;justify-content:center;align-items:center}.lp-transform{display:flex;align-items:center;gap:32px;padding:48px;background:var(--bg-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.lp-transform-before,.lp-transform-after,.lp-transform-result{display:flex;flex-direction:column;align-items:center;gap:16px}.lp-transform-label{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.lp-pdf-icon{width:80px;height:100px;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border-medium)}.lp-pdf-icon svg{width:40px;height:40px;color:var(--text-muted)}.lp-transform-arrow{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lp-transform-arrow svg{width:32px;height:32px;color:var(--brand-green)}.lp-transform-cards{position:relative;width:100px;height:100px}.lp-mini-card{position:absolute;width:72px;height:56px;background:var(--bg-white);border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-light);padding:8px;display:flex;gap:6px}.lp-mini-card-1{top:0;left:0;transform:rotate(-8deg);z-index:1}.lp-mini-card-2{top:20px;left:20px;transform:rotate(4deg);z-index:2}.lp-mini-card-3{top:40px;left:10px;transform:rotate(-2deg);z-index:3;width:80px;height:52px;background:var(--brand-green-pale);border-color:#2d7a3e33}.lp-mini-card-img{width:20px;height:100%;background:linear-gradient(135deg,#a7f3d0,#6ee7b7);border-radius:4px;flex-shrink:0}.lp-mini-card-lines{display:flex;flex-direction:column;gap:4px;flex:1;justify-content:center}.lp-mini-card-lines span{height:6px;background:#e5e5e5;border-radius:3px}.lp-mini-card-lines span:last-child{width:70%}.lp-mini-card-quiz{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:4px}.lp-quiz-q{font-size:16px;font-weight:700;color:var(--brand-green)}.lp-quiz-opts{display:flex;gap:4px}.lp-quiz-opts span{width:12px;height:12px;border-radius:50%;background:#e5e5e5;border:2px solid #d4d4d4}.lp-quiz-correct{background:var(--brand-green)!important;border-color:var(--brand-green-dark)!important}.lp-transform-result{min-width:100px}.lp-readiness-ring{position:relative;width:100px;height:100px}.lp-readiness-ring svg{width:100%;height:100%}.lp-readiness-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:26px;font-weight:800;color:var(--brand-green)}@media (max-width: 1400px){.lp-hero-inner{gap:80px;padding:0 80px}}@media (max-width: 1200px){.lp-hero-inner{gap:60px;padding:0 60px}.lp-hero-title{font-size:48px}.lp-transform{gap:24px;padding:36px}}@media (max-width: 1024px){.lp-hero{min-height:auto;padding:100px 0 80px}.lp-hero-inner{grid-template-columns:1fr;gap:60px;max-width:700px}.lp-hero-content{max-width:none;text-align:left}.lp-hero-subtitle{text-align:left}.lp-hero-cta{justify-content:flex-start;flex-wrap:wrap}.lp-hero-trust{justify-content:flex-start}.lp-hero-title{font-size:44px}}@media (max-width: 768px){.lp-hero{padding:80px 0 60px}.lp-hero-inner{padding:0 24px}.lp-hero-title{font-size:36px}.lp-hero-subtitle{font-size:17px}.lp-hero-cta{flex-direction:column;width:100%}.lp-hero-cta .lp-btn{width:100%}.lp-transform{flex-direction:column;gap:20px;padding:32px 24px}.lp-transform-arrow{transform:rotate(90deg)}}@media (max-width: 480px){.lp-hero-title{font-size:30px}.lp-transform{padding:24px 20px}.lp-pdf-icon{width:64px;height:80px}.lp-readiness-ring{width:80px;height:80px}.lp-readiness-value{font-size:22px}}.lp-time-compare{padding:100px 0;background:var(--bg-white)}.lp-time-compare .lp-container{max-width:1000px}.lp-time-compare-grid{display:flex;justify-content:center;align-items:center;gap:60px}.lp-time-card{display:flex;flex-direction:column;align-items:center;padding:56px 80px;border-radius:var(--radius-xl);min-width:300px}.lp-time-card-good{background:#2d7a3e0f;border:2px solid var(--brand-green)}.lp-time-card-bad{background:var(--bg-gray);border:1px solid var(--border-light)}.lp-time-icon{font-size:48px;margin-bottom:20px}.lp-time-card-good .lp-time-icon{color:var(--brand-green)}.lp-time-card-bad .lp-time-icon{color:var(--text-light)}.lp-time-value{font-size:72px;font-weight:800;line-height:1;margin-bottom:16px;letter-spacing:-.03em}.lp-time-card-good .lp-time-value{color:var(--brand-green)}.lp-time-card-bad .lp-time-value{color:var(--text-light)}.lp-time-strikethrough{position:relative}.lp-time-strikethrough:after{content:"";position:absolute;left:-8%;right:-8%;top:50%;height:5px;background:#dc2626;transform:rotate(-10deg);border-radius:3px}.lp-time-label{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.lp-time-equals{font-size:56px;font-weight:300;color:var(--text-light)}.lp-time-caption{text-align:left;font-size:22px;color:var(--text-body);margin-top:48px;font-weight:500}@media (max-width: 900px){.lp-time-compare-grid{flex-direction:column;gap:32px}.lp-time-equals{transform:rotate(90deg);font-size:40px}.lp-time-card{padding:40px 56px;min-width:260px}.lp-time-value{font-size:56px}.lp-time-caption{font-size:18px}}@media (max-width: 480px){.lp-time-card{padding:32px 40px;min-width:220px}.lp-time-value{font-size:48px}.lp-time-icon{font-size:36px}}.lp-problem{padding:100px 0;background:var(--bg-white)}.lp-problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.lp-problem-card{padding:40px 32px;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:var(--transition)}.lp-problem-card:hover{border-color:var(--brand-green);transform:translateY(-4px);box-shadow:var(--shadow-md)}.lp-problem-icon{width:56px;height:56px;margin-bottom:24px}.lp-problem-icon svg{width:100%;height:100%;color:var(--text-muted)}.lp-problem-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 12px}.lp-problem-desc{font-size:16px;color:var(--text-body);line-height:1.6;margin:0;text-align:left}@media (max-width: 900px){.lp-problem-grid{grid-template-columns:1fr;gap:24px}}.lp-compare-table{padding:100px 0;background:var(--bg-cream)}.lp-table-wrapper{max-width:900px;margin:0 auto}.lp-table{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--border-light)}.lp-table-header{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border-light)}.lp-table-col{padding:32px 40px;display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.lp-table-col-old{color:var(--text-muted);border-right:1px solid var(--border-light)}.lp-table-col-new{color:var(--brand-green)}.lp-table-body{padding:16px 0}.lp-table-row{display:grid;grid-template-columns:1fr 48px 1fr;align-items:center;padding:20px 40px;transition:background .15s}.lp-table-row:hover{background:#2d7a3e08}.lp-table-cell{display:flex;align-items:center;gap:16px;font-size:16px}.lp-table-cell-old{color:var(--text-body)}.lp-table-cell-new{color:var(--text-dark)}.lp-table-minus{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-medium);position:relative;flex-shrink:0}.lp-table-minus:before{content:"";position:absolute;top:50%;left:4px;right:4px;height:2px;background:var(--border-medium);transform:translateY(-50%)}.lp-table-check{color:var(--brand-green);font-size:20px;flex-shrink:0}.lp-table-arrow{text-align:center;font-size:18px;color:var(--brand-green);font-weight:600}@media (max-width: 768px){.lp-table-header{grid-template-columns:1fr}.lp-table-col-old{border-right:none;border-bottom:1px solid var(--border-light)}.lp-table-row{grid-template-columns:1fr;gap:12px;padding:20px 24px}.lp-table-arrow{display:none}.lp-table-cell{font-size:14px}.lp-table-col{padding:20px 24px}}.lp-how{padding:100px 0;background:var(--bg-white)}.lp-how-grid{display:flex;align-items:flex-start;gap:0;max-width:1000px;margin:0 auto}.lp-how-card{flex:1;padding:40px 32px;text-align:left}.lp-how-number{width:56px;height:56px;border-radius:50%;background:var(--brand-green);color:#fff;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.lp-how-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 16px}.lp-how-desc{font-size:16px;color:var(--text-body);line-height:1.6;margin:0}.lp-how-connector{width:80px;height:2px;background:var(--border-light);margin-top:68px;flex-shrink:0}@media (max-width: 900px){.lp-how-grid{flex-direction:column;gap:32px}.lp-how-connector{width:2px;height:40px;margin:0 auto}}.lp-benefits{padding:100px 0;background:var(--bg-cream)}.lp-benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:1000px;margin:0 auto}.lp-benefit-card{padding:40px 36px;background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:var(--transition)}.lp-benefit-card:hover{border-color:var(--brand-green);transform:translateY(-4px);box-shadow:var(--shadow-md)}.lp-benefit-icon{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--brand-green-pale);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:22px;color:var(--brand-green)}.lp-benefit-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0 0 12px}.lp-benefit-desc{font-size:16px;color:var(--text-body);line-height:1.6;margin:0;text-align:left}@media (max-width: 768px){.lp-benefits-grid{grid-template-columns:1fr}}.lp-video{padding:100px 0;background:var(--bg-white)}.lp-video-wrapper{max-width:900px;margin:0 auto}.lp-video-placeholder{aspect-ratio:16 / 9;background:var(--bg-gray);border-radius:var(--radius-lg);border:1px solid var(--border-light);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.lp-video-play{width:80px;height:80px;border-radius:50%;background:var(--brand-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:var(--shadow-green)}.lp-video-coming{font-size:16px;font-weight:500;color:var(--text-muted)}.lp-video-wrapper iframe{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-lg)}.lp-exam-focused{padding:80px 0;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-light) 100%);color:#fff}.lp-exam-focused .lp-container{max-width:800px;text-align:left}.lp-exam-focused-title{font-size:36px;font-weight:700;margin:0 0 24px;color:#fff}.lp-exam-focused-text{font-size:18px;line-height:1.7;margin:0 0 32px;opacity:.95}.lp-exam-focused-question{font-size:24px;font-weight:700;font-style:italic;margin:0 0 16px;color:#fff}.lp-exam-focused-answer{font-size:20px;font-weight:600;margin:0;color:#fff}@media (max-width: 768px){.lp-exam-focused-title{font-size:28px}.lp-exam-focused-text{font-size:16px}.lp-exam-focused-question{font-size:20px}}.lp-cta{padding:100px 0;background:var(--bg-cream);text-align:left}.lp-cta-title{font-size:44px;font-weight:800;color:var(--text-dark);margin:0 0 16px;letter-spacing:-.02em}.lp-cta-subtitle{font-size:20px;color:var(--text-body);margin:0 0 40px}.lp-cta-trust{margin-top:24px;font-size:14px;color:var(--text-muted)}@media (max-width: 768px){.lp-cta-title{font-size:32px}.lp-cta-subtitle{font-size:16px}}.lp-footer{padding:60px 0 40px;background:var(--bg-white);border-top:1px solid var(--border-light)}.lp-footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.lp-footer-brand{display:flex;align-items:center;gap:12px}.lp-footer-logo{height:32px;width:auto}.lp-footer-brand-text{font-size:18px;font-weight:700;color:var(--text-dark)}.lp-footer-tagline{display:none}.lp-footer-links{display:flex;gap:32px}.lp-footer-links a{font-size:14px;color:var(--text-body);text-decoration:none;transition:color .15s}.lp-footer-links a:hover{color:var(--brand-green)}.lp-footer-bottom{text-align:left;padding-top:24px;border-top:1px solid var(--border-light);font-size:14px;color:var(--text-muted)}@media (max-width: 768px){.lp-footer-content{flex-direction:column;gap:24px;text-align:left}.lp-footer-brand{flex-direction:column;gap:8px}.lp-footer-tagline{display:block;font-size:14px;color:var(--text-muted);margin:0}.lp-footer-links{gap:24px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.lp-hero-content,.lp-hero-visual,.lp-time-compare-grid,.lp-problem-card,.lp-table,.lp-how-card,.lp-benefit-card{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards}.lp-problem-card:nth-child(1){animation-delay:.1s}.lp-problem-card:nth-child(2){animation-delay:.2s}.lp-problem-card:nth-child(3){animation-delay:.3s}.lp-how-card:nth-child(1){animation-delay:.1s}.lp-how-card:nth-child(3){animation-delay:.2s}.lp-how-card:nth-child(5){animation-delay:.3s}.lp-benefit-card:nth-child(1){animation-delay:.1s}.lp-benefit-card:nth-child(2){animation-delay:.15s}.lp-benefit-card:nth-child(3){animation-delay:.2s}.lp-benefit-card:nth-child(4){animation-delay:.25s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.toast-container{position:fixed;top:24px;right:24px;z-index:99999;display:flex;flex-direction:column;gap:12px;pointer-events:none;max-width:420px;width:calc(100% - 48px)}.toast{position:relative;display:flex;align-items:center;gap:12px;padding:14px 44px 14px 16px;border-radius:12px;font-size:14px;font-weight:500;line-height:1.5;pointer-events:auto;box-shadow:0 4px 6px -1px #00000012,0 10px 20px -2px #0000000f,0 0 0 1px #00000008;overflow:hidden;will-change:transform,opacity;-webkit-user-select:none;user-select:none}.toast--enter{animation:toastEnter .36s cubic-bezier(.21,1.02,.73,1) forwards}.toast--visible{opacity:1;transform:translate(0)}.toast--exit{animation:toastExit .4s cubic-bezier(.06,.71,.55,1) forwards}@keyframes toastEnter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast--success{background:#fff;border-left:4px solid #22c55e;color:#1a1a1a}.toast--error{background:#fff;border-left:4px solid #ef4444;color:#1a1a1a}.toast--info{background:#fff;border-left:4px solid #3b82f6;color:#1a1a1a}.toast--warning{background:#fff;border-left:4px solid #f59e0b;color:#1a1a1a}.toast-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.toast--success .toast-icon{background:#dcfce7;color:#16a34a}.toast--error .toast-icon{background:#fee2e2;color:#dc2626}.toast--info .toast-icon{background:#dbeafe;color:#2563eb}.toast--warning .toast-icon{background:#fef3c7;color:#d97706}.toast-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.toast-message{color:#374151;font-size:13.5px;letter-spacing:-.01em}.toast-action-btn{align-self:flex-start;padding:4px 12px;font-size:12px;font-weight:600;color:#fff;background:#2d7a3e;border:none;border-radius:6px;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.toast-action-btn:hover{background:#1f5a2d;transform:translateY(-1px)}.toast-action-btn:active{transform:translateY(0)}.toast--has-action{padding-bottom:16px}.toast-dismiss{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;font-size:16px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;color:#9ca3af;line-height:1;padding:0}.toast:hover .toast-dismiss{opacity:1}.toast-dismiss:hover{opacity:1;background:#0000000d;color:#4b5563}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 0 12px;transform-origin:left center;animation:toastProgress var(--toast-duration, 5s) linear forwards}.toast--success .toast-progress{background:#22c55e}.toast--error .toast-progress{background:#ef4444}.toast--info .toast-progress{background:#3b82f6}.toast--warning .toast-progress{background:#f59e0b}.toast:hover .toast-progress{animation-play-state:paused}@keyframes toastProgress{0%{width:100%}to{width:0%}}@media (max-width: 600px){.toast-container{top:12px;right:12px;left:12px;max-width:none;width:auto}.toast{padding:12px 40px 12px 14px;font-size:13px;border-radius:10px}.toast-dismiss{opacity:.5}}:root{--brand-green: #2d7a3e;--brand-green-dark: #1f5a2d;--brand-green-light: #3d9a4e}.enroll-btn{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:10px 20px;border:2px solid var(--brand-green);background:#fff;color:var(--brand-green);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative}.enroll-btn .btn-content{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.enroll-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2d7a3e33}.enroll-btn:disabled{cursor:not-allowed}.enroll-btn.not-enrolled{background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-light) 100%);border-color:var(--brand-green);color:#fff;box-shadow:0 2px 8px #2d7a3e4d}.enroll-btn.not-enrolled:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-green-dark) 0%,var(--brand-green) 100%);box-shadow:0 4px 14px #2d7a3e66}.enroll-btn.enrolled{background:#fff;border-color:var(--brand-green);color:var(--brand-green)}.enroll-btn.enrolled:hover:not(:disabled){background:#2d7a3e0d;box-shadow:0 4px 12px #2d7a3e26}.enroll-btn.pulse-once{animation:enrollBtnPulse 1.8s ease-out}@keyframes enrollBtnPulse{0%{box-shadow:0 2px 8px #2d7a3e4d}25%{box-shadow:0 0 0 6px #2d7a3e26,0 2px 8px #2d7a3e4d}50%{box-shadow:0 2px 8px #2d7a3e4d}75%{box-shadow:0 0 0 4px #2d7a3e1a,0 2px 8px #2d7a3e4d}to{box-shadow:0 2px 8px #2d7a3e4d}}.enroll-btn.processing{pointer-events:none}.enroll-btn.processing .btn-text{opacity:.7}.enroll-btn.compact{min-width:95px;padding:6px 14px;font-size:13px}.enroll-btn.compact .btn-content{gap:5px}.enroll-btn.compact.not-enrolled{min-width:120px;padding:7px 16px}.enroll-btn.large{min-width:130px;padding:12px 24px;font-size:16px}.enroll-btn.large .btn-content{gap:8px}.dots-loader{display:inline-flex;align-items:center;gap:3px}.dots-loader .dot{width:4px;height:4px;background-color:currentColor;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite}.dots-loader .dot:nth-child(1){animation-delay:0s}.dots-loader .dot:nth-child(2){animation-delay:.2s}.dots-loader .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}.enroll-btn.loading{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.enroll-btn.loading:hover{transform:none;box-shadow:none}:root{--urgency-high: #b91c1c;--urgency-medium: #b45309;--urgency-low: #7a7a7a}.deadline-item{display:flex;align-items:center;gap:.75rem;position:relative;cursor:pointer}.deadline-item.urgency-high,.deadline-item.urgency-high .meta-icon,.deadline-item.urgency-high .countdown-timer{color:var(--urgency-high)}.deadline-item.urgency-medium,.deadline-item.urgency-medium .meta-icon,.deadline-item.urgency-medium .countdown-timer{color:var(--urgency-medium)}.deadline-item.urgency-low,.deadline-item.urgency-low .meta-icon,.deadline-item.urgency-low .countdown-timer{color:var(--urgency-low)}.deadline-item .meta-icon{font-size:1.25rem;flex-shrink:0}.deadline-item .meta-text{font-size:.9375rem;line-height:1.5;display:flex;flex-direction:column;gap:.25rem}.deadline-item .meta-text strong{font-weight:700;color:#1a1a1a}.countdown-timer{font-family:Courier New,Courier,monospace;font-size:.875rem;font-weight:700;letter-spacing:.5px;transition:color .3s ease}.deadline-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:#1a1a1af2;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0003;display:flex;align-items:center;gap:.5rem;animation:tooltipFadeIn .2s ease}.deadline-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a1a1af2}.deadline-tooltip .tooltip-icon{font-size:.875rem;opacity:.8}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.deadline-placeholder{cursor:default}.deadline-placeholder,.deadline-placeholder .meta-icon{color:var(--urgency-low);opacity:.7}.deadline-placeholder .meta-text em{font-style:italic;font-weight:400}.deadline-summary{background:var(--card-bg, #ffffff);border:1px solid var(--border-light, #e8e6e1);border-radius:8px;padding:1rem 1.25rem;text-align:center;transition:all .15s;cursor:default}.deadline-summary:hover{box-shadow:0 4px 12px #2d7a3e1f}.deadline-summary.urgency-high{border-color:#fca5a5;background:linear-gradient(to bottom,#fef2f2,#fff)}.deadline-summary.urgency-high .summary-value{color:#dc2626}.deadline-summary.urgency-medium{border-color:#fbbf24;background:linear-gradient(to bottom,#fffbeb,#fff)}.deadline-summary.urgency-medium .summary-value{color:#d97706}.deadline-summary.urgency-low .summary-value{color:var(--text-gray, #4a4a4a)}.deadline-summary .summary-value{font-size:1.5rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.deadline-summary .summary-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #9a9a9a)}.course-card-badge{position:absolute;right:14px;bottom:74px;display:inline-flex;align-items:center;gap:8px;pointer-events:none}.course-card-badge .dot{height:34px;min-width:34px;border-radius:999px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:800;box-shadow:0 10px 20px #0000002e}.course-card-badge .dot.future{background:linear-gradient(135deg,#3b82f6,#2563eb)}.course-card-badge .dot.soon{background:linear-gradient(135deg,#f59e0b,#d97706)}.course-card-badge .dot.urgent{background:linear-gradient(135deg,#ef4444,#b91c1c)}.course-card-badge .dot .time{font-size:12px}.course-card-badge .label{background:#111827db;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;gap:6px;align-items:center;box-shadow:0 8px 20px #0003}.course-card-badge .label .course{font-weight:800}.course-card-badge .label .sep{opacity:.6}.course-card-badge .label .exam{font-weight:600}@media (max-width: 640px){.course-card-badge{bottom:68px;right:10px}}.course-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:courseModalFadeIn .2s ease}@keyframes courseModalFadeIn{0%{opacity:0}to{opacity:1}}.course-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:800px;position:relative;animation:courseModalSlideUp .3s ease;max-height:90vh;overflow-y:auto}@keyframes courseModalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.course-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;color:#666;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:1}.course-modal-close:hover{background:#f0f0f0;color:#333}.course-modal-content{padding:40px 36px}.course-immutable-fields{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;padding:16px;margin-bottom:24px;display:flex;gap:24px}.immutable-field{display:flex;flex-direction:column;gap:4px}.immutable-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.immutable-value{font-size:14px;font-weight:600;color:#1a1a1a}.course-modal-title-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:28px}.course-modal-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0}.course-modal-title{font-size:26px;font-weight:700;color:#1a1a1a;margin:0;letter-spacing:-.02em}.permanent-fields-notice{display:flex;gap:12px;padding:14px 16px;background:#e8f4ff;border:1px solid #b3d9ff;border-radius:10px;margin-bottom:24px;align-items:flex-start}.notice-icon{font-size:18px;flex-shrink:0;line-height:1}.notice-content{font-size:13px;line-height:1.5;color:#1a4d7a}.notice-content strong{font-weight:700;color:#0d3a5c}.course-form-group{margin-bottom:20px}.course-form-row{display:flex;gap:16px}.course-form-row .course-form-group{flex:1}.course-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.course-label .required{color:#d32f2f}.course-input,.course-textarea{width:100%;padding:14px 16px;font-size:15px;border:2px solid #e0e0e0;border-radius:10px;transition:all .2s ease;background:#fff;color:#333;font-family:inherit}.course-input:focus,.course-textarea:focus{outline:none;border-color:#2d7a3e;box-shadow:0 0 0 3px #2d7a3e1a}.course-input:disabled,.course-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.course-input::placeholder,.course-textarea::placeholder{color:#999}.course-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.course-select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232d7a3e' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E")}.course-textbook-confirm{margin-top:10px;padding:12px 14px;border-radius:10px;border:1px solid #ffe2a8;background:#fff8e8}.course-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#1a1a1a;font-weight:600;cursor:pointer;line-height:1.3}.course-checkbox input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:#2d7a3e;flex-shrink:0}.course-textbook-helper{margin-top:6px;font-size:12px;color:#6b5a2b;font-weight:500}.course-textarea{resize:vertical;min-height:60px}.course-error{background:#fff5f5;border:1px solid #ffcccc;color:#d32f2f;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.course-modal-success{text-align:center;padding:32px 0}.success-icon{width:64px;height:64px;background:#2d7a3e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;animation:successPop .3s ease}@keyframes successPop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.course-modal-success p{font-size:18px;font-weight:600;color:#2d7a3e;margin:0}.collab-section{margin-top:8px;margin-bottom:20px}.collab-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8faf8;border:2px solid #e8f0e8;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.collab-toggle:hover:not(:disabled){background:#f0f7f0;border-color:#d0e0d0}.collab-toggle.active{background:#f0f7f0;border-color:#2d7a3e;border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}.collab-toggle:disabled{opacity:.6;cursor:not-allowed}.collab-toggle-icon{font-size:20px;color:#2d7a3e;flex-shrink:0}.collab-toggle-content{flex:1;display:flex;flex-direction:column;gap:2px}.collab-toggle-title{font-size:14px;font-weight:600;color:#1a1a1a}.collab-toggle-subtitle{font-size:12px;color:#666;font-weight:400}.collab-toggle-arrow{font-size:20px;color:#999;transition:transform .2s ease;flex-shrink:0}.collab-toggle-arrow.open{transform:rotate(90deg)}.collab-expanded{padding:16px;background:#f8faf8;border:2px solid #2d7a3e;border-top:none;border-radius:0 0 10px 10px;animation:collabExpand .2s ease}@keyframes collabExpand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.collab-benefit{font-size:13px;color:#444;margin:0 0 16px;line-height:1.5}.collab-benefit strong{color:#1a1a1a}.collab-input-group{margin-bottom:16px}.collab-input-group .course-input{background:#fff}.collab-help{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px}.collab-help-title{font-size:12px;font-weight:600;color:#666;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.collab-steps{margin:0 0 12px;padding-left:20px;font-size:13px;color:#444}.collab-steps li{margin-bottom:6px;line-height:1.4}.collab-steps li:last-child{margin-bottom:0}.collab-steps a{color:#2d7a3e;text-decoration:none;font-weight:500}.collab-steps a:hover{text-decoration:underline}.external-icon{font-size:10px;margin-left:3px;vertical-align:middle}.collab-skip-note{font-size:12px;color:#888;margin:0;padding-top:10px;border-top:1px solid #eee}.course-modal-actions{display:flex;gap:12px;margin-top:24px}.course-btn-cancel,.course-btn-submit{padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s ease}.course-btn-cancel{flex:0 0 auto;background:#fff;border:2px solid #e0e0e0;color:#666}.course-btn-cancel:hover:not(:disabled){background:#f8f9fa;border-color:#ccc;color:#333}.course-btn-submit{flex:1;background:#2d7a3e;border:none;color:#fff;box-shadow:0 2px 4px #2d7a3e33}.course-btn-submit:hover:not(:disabled){background:#1f5a2d;transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e4d}.course-btn-cancel:disabled,.course-btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.course-modal{max-width:100%;border-radius:16px 16px 0 0;margin-top:auto;max-height:95vh}.course-modal-content{padding:32px 24px}.course-modal-title-wrapper{margin-bottom:24px;padding-right:32px}.course-modal-title{font-size:22px}.course-modal-logo{width:28px;height:28px}.course-form-row{flex-direction:column;gap:0}.course-input,.course-textarea{font-size:16px}.course-modal-actions{flex-direction:column-reverse;gap:10px}.course-btn-cancel,.course-btn-submit{width:100%}.collab-toggle{padding:12px 14px}.collab-expanded{padding:14px}}.course-label-hint{display:block;font-size:.75rem;color:#9ca3af;margin-bottom:6px;line-height:1.3}.creator-note-input{resize:vertical;min-height:64px;max-height:160px}.char-count{display:block;text-align:right;font-size:.6875rem;color:#9ca3af;margin-top:2px}@media (max-width: 480px){.course-modal-content{padding:28px 20px}.course-modal-title-wrapper{padding-right:28px}.course-modal-title{font-size:20px}.course-modal-logo{width:24px;height:24px}.collab-toggle-subtitle{display:none}}:root{--brand-green: #2d7a3e;--brand-green-dark: #1f5a2d;--brand-green-light: #3d9a4e;--page-bg: #faf8f3;--card-bg: #ffffff;--text-charcoal: #1a1a1a;--text-gray: #4a4a4a;--text-lightgray: #7a7a7a;--border-light: #e8e6e1;--shadow-subtle: 0 2px 8px rgba(45, 122, 62, .08);--shadow-hover: 0 8px 24px rgba(45, 122, 62, .15)}.course-list-view{background:var(--page-bg);min-height:100vh;padding:40px 60px;max-width:1800px;margin:0 auto}.page-header{padding:48px 0 40px;text-align:center;position:relative}.page-header-content{display:flex;flex-direction:column;align-items:center;gap:20px}.page-title{font-size:2rem;font-weight:400;color:var(--text-charcoal);margin:0;letter-spacing:-.02em}.header-stats-inline{display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;color:var(--text-lightgray)}.admin-archived-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-gray);cursor:pointer;-webkit-user-select:none;user-select:none}.stat-pill{display:flex;align-items:center;gap:5px}.stat-pill-value{font-weight:600;color:var(--brand-green)}.stat-pill-divider{color:var(--border-light);margin:0 4px}.search-container{width:100%;max-width:380px;margin:0 auto}.search-box{display:flex;align-items:center;gap:10px;width:100%;padding:12px 0;background:transparent;border:none;border-bottom:2px solid #d1d5db;border-radius:0;transition:border-color .2s ease}.search-box:hover{border-color:#9ca3af}.search-box:focus-within{border-color:var(--brand-green)}.search-icon{color:#6b7280;font-size:16px;flex-shrink:0;transition:color .2s ease}.search-box:focus-within .search-icon{color:var(--brand-green)}.search-input{flex:1;width:100%;min-width:0;border:none;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:0;font-size:16px;color:#1f2937;outline:none;font-weight:400}.search-input::placeholder{color:#9ca3af;font-weight:400}.search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;font-size:11px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.search-clear:hover{background:#e5e7eb;color:#1f2937}.search-clear:active{transform:scale(.9)}.btn-create-course{position:absolute;top:48px;right:0;padding:10px 18px;background:var(--brand-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #2d7a3e33}.btn-create-course:hover{background:var(--brand-green-dark);box-shadow:0 4px 12px #2d7a3e4d;transform:translateY(-1px)}.btn-create-course{padding:10px 20px;background:var(--brand-green);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:6px}.btn-create-course:hover{background:var(--brand-green-dark)}.no-results{text-align:center;padding:100px 40px;color:var(--text-lightgray);grid-column:1 / -1}.no-results-icon{font-size:56px;color:var(--border-light);margin-bottom:20px}.no-results h3{font-size:20px;font-weight:500;color:var(--text-gray);margin:0 0 8px}.no-results p{margin:0;font-size:15px}.courses-container{width:100%}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:28px}.course-card{background:var(--card-bg);border-radius:18px;padding:0;box-shadow:var(--shadow-subtle);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;border:1px solid var(--border-light);display:flex;flex-direction:column;min-height:320px;z-index:1;overflow:hidden}.course-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #2d7a3e2e;border-color:var(--brand-green);z-index:10}.course-card.archived{opacity:.75}.course-card.archived .course-code-tab{background:#6b7280}.course-card.archived:hover .course-code-tab{background:#4b5563}.course-code-tab{position:absolute;top:0;right:0;background:var(--brand-green);color:#fff;padding:10px 18px;border-bottom-left-radius:14px;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:-2px 2px 12px #2d7a3e40;z-index:2;transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.course-code-main{font-size:.75rem;font-weight:700;letter-spacing:.08em}.course-semester-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.05em;background:#fff3;border:1px solid rgba(255,255,255,.3)}.course-archived-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.65rem;letter-spacing:.06em;background:#ffffff2e;border:1px solid rgba(255,255,255,.25)}.course-card:hover .course-code-tab{background:var(--brand-green-dark)}.course-content{padding:2rem 1.75rem 1rem;flex:1}.course-title{font-size:1.375rem;font-weight:700;color:var(--text-charcoal);margin:0 0 1rem;line-height:1.3;letter-spacing:-.01em;padding-right:4rem}.course-description-wrapper{position:relative}.course-description{font-size:.9375rem;line-height:1.6;color:var(--text-gray);margin:0}.description-tooltip{position:absolute;top:100%;left:0;width:100%;background:var(--text-charcoal);color:#fff;padding:1rem;border-radius:8px;font-size:.875rem;line-height:1.5;margin-top:.5rem;z-index:11;box-shadow:0 4px 12px #0003;animation:tooltipFadeIn .2s ease-out;max-height:200px;overflow-y:auto}.description-tooltip:before{content:"";position:absolute;top:-6px;left:1rem;width:12px;height:12px;background:var(--text-charcoal);transform:rotate(45deg)}.course-footer{margin-top:auto;padding:1.25rem 1.75rem 1.75rem;border-top:1px solid var(--border-light);background:linear-gradient(to bottom,transparent,rgba(45,122,62,.02))}.course-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.25rem;min-height:60px}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-lightgray);min-width:calc(50% - .75rem);flex-grow:1}.meta-icon{color:var(--brand-green);font-size:1rem;flex-shrink:0}.meta-text{font-weight:500}.meta-creator{font-size:.8125rem;color:var(--text-light);font-style:italic}.card-actions{display:flex;gap:.75rem;align-items:center}.btn-view-course{flex:1;padding:.875rem 1.25rem;background:var(--brand-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2d7a3e33;display:flex;align-items:center;justify-content:center;gap:8px}.btn-view-course:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2d7a3e59;gap:12px}.btn-view-course:active{transform:translateY(0)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:var(--page-bg)}.loading-container p{color:var(--text-gray);font-size:1rem;font-weight:500}.btn-delete-course{padding:.75rem;background:transparent;color:#dc2626;border:1px solid #fca5a5;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-delete-course:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;transform:translateY(-1px)}.btn-delete-course:disabled{opacity:.6;cursor:not-allowed}.btn-delete-course .spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.course-list-view{padding:1rem}.page-header{padding:24px 0 32px}.page-header-content{gap:16px}.page-title{font-size:1.5rem}.search-box{padding:14px 16px}.search-input{font-size:16px}.btn-create-course{position:static;width:100%;justify-content:center;padding:14px 20px;margin-top:8px}.courses-grid{grid-template-columns:1fr;gap:1.5rem}.course-card{min-height:auto}.course-content{padding:1.75rem 1.5rem 1rem}.course-title{font-size:1.25rem;padding-right:3.5rem}.course-footer{padding:1rem 1.5rem 1.5rem}.course-meta{flex-direction:column;gap:.75rem}.card-actions{flex-direction:row;flex-wrap:wrap;gap:.5rem}.btn-view-course{flex:1;min-width:0}.btn-delete-course{flex-shrink:0}.description-tooltip{position:fixed;left:1rem;right:1rem;top:50%;transform:translateY(-50%)}}@media (min-width: 769px) and (max-width: 1024px){.course-list-view{padding:30px 40px}.courses-grid{grid-template-columns:repeat(2,1fr)}.search-container{max-width:480px}.btn-create-course{top:32px}}.enroll-prompt-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-out}.enroll-prompt-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out}.enroll-prompt-close{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:20px;color:#666;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.enroll-prompt-close:hover{background:#f5f5f5;color:#333}.enroll-prompt-content{padding:40px 32px 32px;text-align:center}.enroll-prompt-icon{width:72px;height:72px;margin:0 auto 20px;background:linear-gradient(135deg,#2d7a3e,#3a9150);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;color:#fff;box-shadow:0 8px 24px #2d7a3e4d}.enroll-prompt-title{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 12px;line-height:1.3}.enroll-prompt-free-badge{margin-bottom:16px}.free-badge{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;box-shadow:0 4px 12px #10b9814d}.enroll-prompt-subtitle{font-size:15px;color:#666;margin:0 0 28px;line-height:1.5}.enroll-prompt-social-proof{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:20px;font-size:13px;font-weight:600;color:#0369a1;margin-bottom:20px}.social-proof-icon{font-size:12px}.enroll-prompt-benefits{text-align:left;margin-bottom:28px;padding:20px;background:#f8faf9;border-radius:12px;border:1px solid #e5e7eb}.enroll-prompt-benefits h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 16px;text-align:center}.enroll-prompt-benefits ul{list-style:none;padding:0;margin:0}.enroll-prompt-benefits li{display:flex;align-items:flex-start;gap:12px;padding:8px 0;font-size:14px;color:#374151;line-height:1.5}.benefit-icon{color:#2d7a3e;font-size:16px;flex-shrink:0;margin-top:2px}.enroll-prompt-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.enroll-btn-primary{background:linear-gradient(135deg,#2d7a3e,#3a9150);color:#fff;border:none;padding:14px 24px;font-size:16px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #2d7a3e40}.enroll-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2d7a3e59}.enroll-btn-primary:active{transform:translateY(0)}.enroll-btn-secondary{background:transparent;color:#666;border:1px solid #ddd;padding:12px 24px;font-size:15px;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s}.enroll-btn-secondary:hover{background:#f5f5f5;border-color:#ccc;color:#333}.enroll-prompt-footer{font-size:13px;color:#999;margin:0;font-style:italic}@media (max-width: 600px){.enroll-prompt-modal{max-width:100%;margin:0 16px;border-radius:12px}.enroll-prompt-content{padding:32px 24px 24px}.enroll-prompt-title{font-size:20px}.enroll-prompt-icon{width:64px;height:64px;font-size:32px}}.enrollment-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5,#f0f9ff);border:1px solid #bbf7d0;border-radius:12px;margin-bottom:16px;animation:bannerSlideIn .35s ease-out}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.enrollment-banner-content{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:0}.enrollment-banner-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2d7a3e,#3a9150);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.enrollment-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.enrollment-banner-headline{font-size:14px;font-weight:600;color:#1f2937}.enrollment-banner-sub{font-size:13px;color:#4b5563;line-height:1.5}.enrollment-banner-proof{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:12px;color:#2d7a3e;font-weight:600}.enrollment-banner-proof-icon{font-size:11px}.enrollment-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.enrollment-banner-cta{padding:8px 20px;background:linear-gradient(135deg,#2d7a3e,#3a9150);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 8px #2d7a3e40}.enrollment-banner-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e59}.enrollment-banner-cta:active{transform:translateY(0)}.enrollment-banner-cta:disabled{opacity:.7;cursor:not-allowed}.enrollment-banner-dismiss{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .15s;font-size:12px}.enrollment-banner-dismiss:hover{background:#0000000f;color:#4b5563}@media (max-width: 640px){.enrollment-banner{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.enrollment-banner-actions{justify-content:space-between}.enrollment-banner-cta{flex:1}}.lecture-upload-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.lecture-upload-modal{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.lecture-upload-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e8e6e1}.modal-title-block h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:#1a1a1a}.modal-subtitle{margin:0;font-size:.875rem;color:#7a7a7a}.modal-close-btn{background:none;border:none;font-size:1.25rem;color:#7a7a7a;cursor:pointer;padding:.25rem;transition:color .2s ease}.modal-close-btn:hover:not(:disabled){color:#1a1a1a}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.lecture-upload-modal .modal-content{padding:1.5rem}.drop-zone{border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.drop-zone:hover{border-color:#2d7a3e;background:#f0fdf4}.drop-zone.drag-over{border-color:#2d7a3e;background:#dcfce7;transform:scale(1.02)}.drop-zone.has-file{border-style:solid;border-color:#2d7a3e;background:#f0fdf4;cursor:default}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:3rem;color:#9ca3af;transition:color .2s ease}.drop-zone:hover .upload-icon{color:#2d7a3e}.drop-text{margin:0;font-size:1rem;font-weight:600;color:#4a4a4a}.drop-subtext{margin:0;font-size:.875rem;color:#7a7a7a}.file-limit{font-size:.75rem;color:#9ca3af;margin-top:.5rem}.selected-file{display:flex;align-items:center;gap:1rem;text-align:left}.selected-file .file-icon{font-size:2.5rem;color:#ef4444;flex-shrink:0}.file-details{flex:1;min-width:0}.file-name{display:block;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{display:block;font-size:.875rem;color:#7a7a7a}.remove-file-btn{background:none;border:none;color:#7a7a7a;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease}.remove-file-btn:hover{background:#fee2e2;color:#ef4444}.form-fields{display:flex;gap:1rem;margin-top:1.5rem}.form-group{flex:1}.form-group.small{flex:0 0 100px}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#4a4a4a;margin-bottom:.5rem}.form-group .required{color:#ef4444}.form-group .optional{font-weight:400;color:#9ca3af}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:#2d7a3e;box-shadow:0 0 0 3px #2d7a3e1a}.form-group input:disabled{background:#f3f4f6;cursor:not-allowed}.form-group input::placeholder{color:#9ca3af}.upload-progress{margin-top:1.5rem}.progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2d7a3e,#3d9a4e);border-radius:4px;transition:width .3s ease}.progress-text{display:block;text-align:center;font-size:.875rem;color:#4a4a4a;margin-top:.5rem}.upload-error{margin-top:1rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8e6e1}.btn-cancel,.btn-upload{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#4a4a4a}.btn-cancel:hover:not(:disabled){background:#f3f4f6}.btn-upload{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border:none;color:#fff}.btn-upload:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e4d}.btn-upload:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-upload .spinner{animation:spin 1s linear infinite}.upload-success{text-align:center;padding:1rem 0}.success-icon-container{width:80px;height:80px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon{font-size:2.5rem;color:#2d7a3e}.upload-success h3{margin:0 0 .5rem;font-size:1.25rem;color:#1a1a1a}.success-message{margin:0 0 1.5rem;color:#4a4a4a}.next-steps-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:1.25rem;text-align:left;margin-bottom:1.5rem}.next-steps-card h4{margin:0 0 .5rem;font-size:1rem;color:#92400e;display:flex;align-items:center;gap:.5rem}.next-steps-icon{color:#f59e0b}.next-steps-card p{margin:0 0 .75rem;font-size:.875rem;color:#78350f}.time-estimate{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#92400e}.success-actions{display:flex;gap:1rem}.btn-later,.btn-process{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-later{background:#fff;border:1px solid #d1d5db;color:#4a4a4a}.btn-later:hover{background:#f3f4f6}.btn-process{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border:none;color:#fff}.btn-process:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e4d}.duplicate-warning{text-align:center;padding:1rem 0}.duplicate-warning-icon{width:80px;height:80px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2.5rem;color:#d97706}.duplicate-warning h3{margin:0 0 .75rem;font-size:1.25rem;color:#92400e}.duplicate-message{margin:0 0 1.5rem;color:#4a4a4a;font-size:.9375rem;line-height:1.5}.existing-lecture-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;text-align:left;margin-bottom:1.5rem}.existing-lecture-info h4{margin:0 0 1rem;font-size:.9375rem;color:#475569;display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.existing-lecture-info .info-icon{color:#6366f1}.info-row{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;font-size:.875rem}.info-row:not(:last-child){border-bottom:1px solid #f1f5f9}.info-label{color:#64748b;flex-shrink:0;min-width:100px}.info-value{color:#1e293b;font-weight:500}.status-badges{display:flex;flex-wrap:wrap;gap:.5rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.status-completed{background:#dcfce7;color:#166534}.status-badge.status-progress{background:#dbeafe;color:#1e40af}.status-badge.status-failed{background:#fee2e2;color:#dc2626}.status-badge.status-pending{background:#f3f4f6;color:#6b7280}.duplicate-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8e6e1}.btn-create-version{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff}.btn-create-version:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-create-version:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-create-version .spinner{animation:spin 1s linear infinite}@media (max-width: 540px){.lecture-upload-modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.lecture-upload-modal .modal-content{padding:1rem}.form-fields{flex-direction:column}.form-group.small{flex:auto}.modal-actions,.success-actions{flex-direction:column}.btn-cancel,.btn-upload,.btn-later,.btn-process{width:100%}.drop-zone{padding:1.5rem}.upload-icon{font-size:2.5rem}}.pipeline-config-section{margin-top:4px;margin-bottom:16px;border:2px solid #e8f0e8;border-radius:10px;padding:14px 16px;background:#f8faf8}.pipeline-config-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pipeline-config-icon{font-size:14px;color:#2d7a3e;flex-shrink:0}.pipeline-config-title{font-size:13px;font-weight:600;color:#1a1a1a}.pipeline-config-toggles{display:flex;flex-direction:column;gap:0}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e8ece8;cursor:pointer}.toggle-row:last-child{border-bottom:none}.toggle-info{display:flex;flex-direction:column;gap:1px}.toggle-label{font-size:13px;font-weight:600;color:#333}.toggle-hint{font-size:11px;color:#888;font-weight:400}.toggle-switch{position:relative;width:44px;height:26px;background:#ccc;border-radius:13px;cursor:pointer;transition:background .25s ease;flex-shrink:0}.toggle-switch.active{background:#2d7a3e}.toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .25s ease}.toggle-switch.active .toggle-knob{transform:translate(18px)}.pipeline-config-note{font-size:11px;color:#888;margin:10px 0 0;line-height:1.4}.processing-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.processing-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.processing-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e8e6e1}.processing-modal .modal-title-block h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:700;color:#1a1a1a}.processing-modal .modal-subtitle{margin:0;font-size:.875rem;color:#7a7a7a;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.processing-modal .modal-close-btn{background:none;border:none;font-size:1.25rem;color:#7a7a7a;cursor:pointer;padding:.25rem;transition:color .2s ease}.processing-modal .modal-close-btn:hover{color:#1a1a1a}.processing-modal .modal-content{padding:1.5rem}.pipeline-stages{display:flex;flex-direction:column;gap:.75rem}.pipeline-stage{display:flex;gap:1rem;padding:1rem;border-radius:12px;background:#f9fafb;border:1px solid #e5e7eb;transition:all .3s ease}.pipeline-stage.pending{opacity:.6}.pipeline-stage.in-progress{background:#fffbeb;border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf241a}.pipeline-stage.completed{background:#f0fdf4;border-color:#22c55e}.pipeline-stage.failed{background:#fef2f2;border-color:#ef4444}.stage-number{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;flex-shrink:0}.pipeline-stage.in-progress .stage-number{background:#fbbf24;color:#fff}.pipeline-stage.completed .stage-number{background:#22c55e;color:#fff}.pipeline-stage.failed .stage-number{background:#ef4444;color:#fff}.stage-content{flex:1;min-width:0}.stage-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.stage-icon{font-size:.875rem;color:#6b7280}.pipeline-stage.in-progress .stage-icon{color:#d97706}.pipeline-stage.completed .stage-icon{color:#16a34a}.pipeline-stage.failed .stage-icon{color:#dc2626}.stage-label{font-weight:600;font-size:.9375rem;color:#1a1a1a}.stage-description{margin:0 0 .5rem;font-size:.8125rem;color:#6b7280}.stage-description .error-message{color:#dc2626;font-weight:500}.pipeline-stage.in-progress .stage-description{color:#2563eb;font-weight:500}.stage-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.stage-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pipeline-stage.pending .stage-status{color:#9ca3af}.pipeline-stage.in-progress .stage-status{color:#d97706}.pipeline-stage.completed .stage-status{color:#16a34a}.pipeline-stage.failed .stage-status{color:#dc2626}.stage-status .spinning{animation:spin 1s linear infinite}.btn-step-action{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:.75rem;font-weight:600;color:#4b5563;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-step-action:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-step-action:disabled{opacity:.5;cursor:not-allowed}.btn-step-action.retry{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.btn-step-action.retry:hover:not(:disabled){background:#fee2e2;border-color:#ef4444}.btn-step-action.rerun{background:#f0fdf4;border-color:#86efac;color:#16a34a}.btn-step-action.rerun:hover:not(:disabled){background:#dcfce7;border-color:#22c55e}.btn-step-action.locked{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.btn-step-action .spinning{animation:spin 1s linear infinite}.toast-notification{margin:0 1rem 1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;text-align:center;animation:slideDown .3s ease}.toast-notification.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.toast-notification.info{background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc}.toast-notification.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.full-pipeline-section{text-align:center;padding:1rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;margin-bottom:1rem}.btn-full-pipeline{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;background:linear-gradient(135deg,#2d7a3e,#3d9a4e);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2d7a3e4d}.btn-full-pipeline:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2d7a3e66}.btn-full-pipeline:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-full-pipeline .spinning{animation:spin 1s linear infinite}.pipeline-hint{margin:.75rem 0 0;font-size:.8125rem;color:#166534}.section-divider{display:flex;align-items:center;margin:1.25rem 0}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.section-divider span{padding:0 1rem;font-size:.8125rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.progress-summary{margin-top:1.5rem;text-align:center}.processing-indicator,.complete-indicator,.failed-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:8px;font-weight:500}.processing-indicator{background:#fffbeb;color:#92400e}.processing-indicator .spinning{animation:spin 1s linear infinite}.complete-indicator{background:#dcfce7;color:#166534}.failed-indicator{background:#fef2f2;color:#991b1b}.processing-error{margin-top:1rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.retry-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.retry-btn:hover{background:#b91c1c}.processing-modal .modal-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8e6e1}.btn-background{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#2d7a3e,#3d9a4e);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-background:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e4d}@media (max-width: 540px){.processing-modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.processing-modal .modal-content{padding:1rem}.pipeline-stage{padding:.875rem}.stage-description{display:none}}.modal-header-actions{display:flex;align-items:center;gap:.5rem}.btn-control{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:6px;border:1px solid;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-control:disabled{opacity:.6;cursor:not-allowed}.btn-control.btn-pause{background:#fff3cd;border-color:#ffc107;color:#856404}.btn-control.btn-pause:hover:not(:disabled){background:#ffe69c}.btn-control.btn-resume{background:#d1ecf1;border-color:#17a2b8;color:#0c5460}.btn-control.btn-resume:hover:not(:disabled){background:#bee5eb}.btn-control.btn-cancel{background:#f8d7da;border-color:#dc3545;color:#721c24}.btn-control.btn-cancel:hover:not(:disabled){background:#f5c6cb}.timing-info-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;font-size:.875rem}.timing-item{display:flex;align-items:center;gap:.375rem;color:#495057;font-weight:500}.timing-item svg{font-size:.875rem;color:#6c757d}.timing-item.paused-indicator{color:#856404;background:#fff3cd;padding:.25rem .625rem;border-radius:4px;font-weight:600}.timing-item.paused-indicator svg{color:#856404}.timing-item.completed-indicator{color:#155724;background:#d4edda;padding:.25rem .625rem;border-radius:4px;font-weight:600}.timing-item.completed-indicator svg{color:#155724}.step-duration{font-size:.8125rem;color:#6c757d;font-weight:500;margin-left:.25rem}@media (max-width: 640px){.timing-info-bar{gap:.625rem;padding:.75rem 1rem;font-size:.8125rem}.btn-control{padding:.375rem .625rem;font-size:.8125rem}.modal-header-actions{flex-direction:column;align-items:stretch}}.tutorial-modal-overlay{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:tutorialFadeIn .25s ease-out}.tutorial-modal{background:linear-gradient(180deg,#fff,#f8faf8);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #2d7a3e26,0 10px 30px #0003;animation:tutorialSlideUp .35s cubic-bezier(.16,1,.3,1);border:1px solid rgba(45,122,62,.1)}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#2d7a3e,#3d9a4e,#4aad5a);border-radius:20px 20px 0 0;position:relative;overflow:hidden}.tutorial-modal-header:before{content:"";position:absolute;top:-50%;left:-20%;width:140%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.tutorial-modal-title-block{display:flex;align-items:center;gap:1rem;z-index:1}.tutorial-header-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2)}.tutorial-modal-title-block h2{margin:0;font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.tutorial-modal-subtitle{margin:.25rem 0 0;font-size:.875rem;color:#ffffffd9}.tutorial-modal-close-btn{background:#ffffff26;border:none;font-size:1.125rem;color:#fff;cursor:pointer;padding:.625rem;border-radius:10px;transition:all .2s ease;z-index:1}.tutorial-modal-close-btn:hover:not(:disabled){background:#ffffff40;transform:scale(1.05)}.tutorial-modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.tutorial-modal-content{padding:1.75rem}.tutorial-info-banner{display:flex;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border:1px solid #bbf7d0;margin-bottom:1.5rem}.tutorial-info-banner .banner-icon{font-size:1.25rem;color:#2d7a3e;flex-shrink:0;margin-top:.125rem}.tutorial-info-banner strong{display:block;color:#166534;font-size:.9375rem;margin-bottom:.375rem}.tutorial-info-banner p{margin:0;font-size:.8125rem;color:#15803d;line-height:1.5}.tutorial-drop-zone{border:2px dashed #c8dcc8;border-radius:14px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .25s ease;background:linear-gradient(135deg,#fafcfa,#f5f9f5);margin-bottom:1.5rem}.tutorial-drop-zone:hover{border-color:#2d7a3e;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);transform:translateY(-2px);box-shadow:0 8px 24px #2d7a3e1a}.tutorial-drop-zone.drag-over{border-color:#2d7a3e;background:linear-gradient(135deg,#dcfce7,#bbf7d0);transform:scale(1.01);box-shadow:0 12px 32px #2d7a3e26}.tutorial-drop-zone.has-file{border-style:solid;border-color:#2d7a3e;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);cursor:default}.tutorial-drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.tutorial-drop-zone .upload-icon{font-size:3.5rem;color:#9aca9a;transition:all .3s ease}.tutorial-drop-zone:hover .upload-icon{color:#2d7a3e;transform:scale(1.1)}.tutorial-drop-zone .drop-text{margin:0;font-size:1.0625rem;font-weight:600;color:#374151}.tutorial-drop-zone .drop-subtext{margin:0;font-size:.875rem;color:#6b7280}.tutorial-drop-zone .file-limit{font-size:.75rem;color:#9ca3af;margin-top:.75rem;padding:.375rem .875rem;background:#ffffffb3;border-radius:20px}.tutorial-selected-file{display:flex;align-items:center;gap:1rem;text-align:left}.tutorial-selected-file .file-icon{font-size:2.75rem;color:#dc2626;flex-shrink:0}.tutorial-selected-file .file-details{flex:1;min-width:0}.tutorial-selected-file .file-name{display:block;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutorial-selected-file .file-size{display:block;font-size:.875rem;color:#6b7280}.tutorial-selected-file .remove-file-btn{background:#fee2e2;border:none;color:#dc2626;cursor:pointer;padding:.625rem;border-radius:10px;transition:all .2s ease}.tutorial-selected-file .remove-file-btn:hover{background:#fecaca;transform:scale(1.05)}.tutorial-form-group{margin-bottom:1.5rem}.tutorial-form-group label{display:block;font-size:.9375rem;font-weight:600;color:#374151;margin-bottom:.625rem}.tutorial-form-group .required{color:#dc2626}.tutorial-form-group input{width:100%;padding:.875rem 1.125rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;transition:all .2s ease;background:#fff}.tutorial-form-group input:focus{outline:none;border-color:#2d7a3e;box-shadow:0 0 0 4px #2d7a3e1a}.tutorial-form-group input:disabled{background:#f9fafb;cursor:not-allowed}.tutorial-form-group input::placeholder{color:#9ca3af}.lecture-selection-section{margin-bottom:1.5rem}.lecture-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.lecture-selection-header label{font-size:.9375rem;font-weight:600;color:#374151}.select-all-btn{background:none;border:none;font-size:.8125rem;font-weight:600;color:#2d7a3e;cursor:pointer;padding:.375rem .75rem;border-radius:6px;transition:all .2s ease}.select-all-btn:hover:not(:disabled){background:#2d7a3e1a}.select-all-btn:disabled{color:#9ca3af;cursor:not-allowed}.lecture-selection-hint{margin:0 0 1rem;font-size:.8125rem;color:#6b7280}.no-lectures-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f3f4f6;border-radius:10px;color:#6b7280;font-size:.875rem}.lecture-checkbox-grid{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa}.lecture-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;cursor:pointer;transition:all .2s ease;background:#fff;border:1px solid #e5e7eb}.lecture-checkbox-item:hover{background:#f0fdf4;border-color:#bbf7d0}.lecture-checkbox-item.selected{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#2d7a3e}.lecture-checkbox-item input[type=checkbox]{display:none}.checkbox-custom{width:22px;height:22px;border:2px solid #d1d5db;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;background:#fff}.lecture-checkbox-item.selected .checkbox-custom{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border-color:#2d7a3e;color:#fff;font-size:.75rem}.lecture-number{font-size:.8125rem;font-weight:700;color:#2d7a3e;background:#2d7a3e1a;padding:.25rem .5rem;border-radius:4px;flex-shrink:0}.lecture-name{font-size:.875rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-count{margin-top:.75rem;font-size:.8125rem;color:#2d7a3e;font-weight:600;text-align:right}.tutorial-upload-progress{margin-top:1.5rem}.tutorial-upload-progress .progress-bar{height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.tutorial-upload-progress .progress-fill{height:100%;background:linear-gradient(90deg,#2d7a3e,#4aad5a,#2d7a3e);background-size:200% 100%;border-radius:5px;transition:width .3s ease;animation:progressShimmer 1.5s ease-in-out infinite}@keyframes progressShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tutorial-upload-progress .progress-text{display:block;text-align:center;font-size:.875rem;color:#374151;margin-top:.625rem;font-weight:500}.tutorial-upload-error{margin-top:1rem;padding:.875rem 1.125rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.875rem;font-weight:500}.tutorial-duplicate-warning{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:14px;margin-bottom:.5rem}.tutorial-duplicate-warning-icon{width:64px;height:64px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 4px 16px #fbbf244d}.tutorial-duplicate-warning-icon svg{font-size:2rem;color:#d97706}.tutorial-duplicate-warning h3{margin:0 0 .75rem;font-size:1.25rem;font-weight:700;color:#92400e}.tutorial-duplicate-message{margin:0 0 1.5rem;font-size:.9375rem;color:#b45309;line-height:1.5}.existing-tutorial-info{background:#fff;border-radius:12px;padding:1.25rem;text-align:left;margin-bottom:1.5rem;border:1px solid #fcd34d}.existing-tutorial-info h4{margin:0 0 1rem;font-size:.9375rem;font-weight:700;color:#92400e;display:flex;align-items:center;gap:.5rem}.existing-tutorial-info .info-icon{color:#d97706}.existing-tutorial-info .info-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #fef3c7}.existing-tutorial-info .info-row:last-child{border-bottom:none}.existing-tutorial-info .info-label{font-size:.8125rem;color:#92400e;font-weight:600;min-width:100px}.existing-tutorial-info .info-value{font-size:.875rem;color:#374151}.existing-tutorial-info .status-badge{display:inline-block;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600}.existing-tutorial-info .status-completed{background:#dcfce7;color:#166534}.existing-tutorial-info .status-progress{background:#fef3c7;color:#92400e}.existing-tutorial-info .status-failed{background:#fee2e2;color:#dc2626}.existing-tutorial-info .status-pending{background:#e5e7eb;color:#6b7280}.tutorial-duplicate-actions{display:flex;gap:1rem;justify-content:center}.tutorial-duplicate-actions .btn-cancel{padding:.875rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:#fff;border:2px solid #e5e7eb;color:#4b5563}.tutorial-duplicate-actions .btn-cancel:hover{background:#f3f4f6;border-color:#d1d5db}.tutorial-duplicate-actions .btn-create-version{padding:.875rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border:none;color:#fff;box-shadow:0 4px 14px #2d7a3e4d;display:flex;align-items:center;gap:.5rem}.tutorial-duplicate-actions .btn-create-version:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e66}.tutorial-duplicate-actions .btn-create-version:disabled{opacity:.6;cursor:not-allowed;transform:none}.tutorial-duplicate-actions .btn-create-version .spinner{animation:spin 1s linear infinite}.tutorial-modal-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.tutorial-modal-actions .btn-cancel,.tutorial-modal-actions .btn-upload-tutorial{flex:1;padding:1rem 1.5rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tutorial-modal-actions .btn-cancel{background:#fff;border:2px solid #e5e7eb;color:#4b5563}.tutorial-modal-actions .btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.tutorial-modal-actions .btn-upload-tutorial{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border:none;color:#fff;box-shadow:0 4px 14px #2d7a3e4d}.tutorial-modal-actions .btn-upload-tutorial:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e66}.tutorial-modal-actions .btn-upload-tutorial:disabled,.tutorial-modal-actions .btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.tutorial-modal-actions .btn-upload-tutorial .spinner{animation:spin 1s linear infinite}.tutorial-upload-success{text-align:center;padding:1.5rem 0}.tutorial-upload-success .success-icon-container{width:90px;height:90px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;box-shadow:0 8px 32px #2d7a3e33;animation:successPulse 2s ease-in-out infinite}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.tutorial-upload-success .success-icon{font-size:3rem;color:#2d7a3e}.tutorial-upload-success h3{margin:0 0 .75rem;font-size:1.375rem;color:#1f2937;font-weight:700}.tutorial-upload-success .success-message{margin:0 0 1.75rem;color:#4b5563;font-size:.9375rem}.tutorial-next-steps-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:14px;padding:1.5rem;text-align:left;margin-bottom:1.75rem;border:1px solid #bbf7d0}.tutorial-next-steps-card h4{margin:0 0 .75rem;font-size:1rem;color:#166534;display:flex;align-items:center;gap:.5rem;font-weight:700}.tutorial-next-steps-card .next-steps-icon{color:#2d7a3e}.tutorial-next-steps-card p{margin:0 0 1rem;font-size:.875rem;color:#15803d;line-height:1.55}.tutorial-next-steps-card .time-estimate{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#166534;font-weight:600}.tutorial-upload-success .success-actions{display:flex;justify-content:center}.tutorial-upload-success .btn-done{padding:1rem 3rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s ease;background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border:none;color:#fff;box-shadow:0 4px 14px #2d7a3e4d}.tutorial-upload-success .btn-done:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e66}.lecture-checkbox-grid::-webkit-scrollbar{width:6px}.lecture-checkbox-grid::-webkit-scrollbar-track{background:transparent}.lecture-checkbox-grid::-webkit-scrollbar-thumb{background:#c8dcc8;border-radius:3px}.lecture-checkbox-grid::-webkit-scrollbar-thumb:hover{background:#a8cca8}.tutorial-modal::-webkit-scrollbar{width:8px}.tutorial-modal::-webkit-scrollbar-track{background:#f5f5f5;border-radius:0 20px 20px 0}.tutorial-modal::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2d7a3e,#3d9a4e);border-radius:4px}@media (max-width: 640px){.tutorial-modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.tutorial-modal-header{border-radius:0;padding:1.25rem}.tutorial-modal-content{padding:1.25rem}.tutorial-drop-zone{padding:2rem 1.5rem}.tutorial-drop-zone .upload-icon{font-size:2.75rem}.tutorial-modal-actions{flex-direction:column}.tutorial-modal-actions .btn-cancel,.tutorial-modal-actions .btn-upload-tutorial{width:100%}.lecture-checkbox-grid{max-height:160px}}.tutorial-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:tutorialFadeIn .2s ease}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}.tutorial-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:tutorialSlideUp .3s ease}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-modal .modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e8e6e1}.tutorial-modal .modal-title-block h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:700;color:#1a1a1a}.tutorial-modal .modal-subtitle{margin:0;font-size:.875rem;color:#7a7a7a;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tutorial-modal .modal-header-actions{display:flex;align-items:center;gap:.5rem}.tutorial-modal .btn-pause,.tutorial-modal .btn-resume,.tutorial-modal .btn-cancel{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1.5px solid}.tutorial-modal .btn-pause{background:#fef3c7;color:#92400e;border-color:#fcd34d}.tutorial-modal .btn-pause:hover{background:#fde68a;border-color:#f59e0b;transform:translateY(-1px)}.tutorial-modal .btn-resume{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border-color:#16a34a}.tutorial-modal .btn-resume:hover{background:linear-gradient(135deg,#15803d,#16a34a);transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.tutorial-modal .btn-cancel{background:#fff;color:#dc2626;border-color:#fecaca}.tutorial-modal .btn-cancel:hover{background:#fef2f2;border-color:#f87171;transform:translateY(-1px)}.tutorial-modal .modal-close-btn{background:none;border:none;font-size:1.25rem;color:#7a7a7a;cursor:pointer;padding:.25rem;transition:color .2s ease;margin-left:.25rem}.tutorial-modal .modal-close-btn:hover{color:#1a1a1a}.tutorial-modal .modal-content{padding:1.5rem}.tutorial-modal .timing-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;font-size:.875rem}.tutorial-modal .timing-item{display:flex;align-items:center;gap:.375rem;color:#166534;font-weight:500}.tutorial-modal .timing-item svg{font-size:.875rem;color:#22c55e}.tutorial-modal .timing-item.paused-indicator{color:#92400e;background:#fef3c7;padding:.25rem .625rem;border-radius:4px;font-weight:600;border:1px solid #fcd34d}.tutorial-modal .timing-item.paused-indicator svg{color:#f59e0b}.tutorial-modal .timing-item.completed-indicator{color:#166534;background:#dcfce7;padding:.25rem .625rem;border-radius:4px;font-weight:600;border:1px solid #86efac}.tutorial-modal .timing-item.completed-indicator svg{color:#22c55e}.tutorial-modal .step-duration{font-size:.75rem;color:#16a34a;font-weight:600;background:#dcfce7;padding:.125rem .5rem;border-radius:4px}.tutorial-modal .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:#6b7280}.tutorial-modal .loading-state .spinning{font-size:2rem;margin-bottom:1rem;color:#22c55e;animation:spin 1s linear infinite}.tutorial-modal .loading-state p{margin:0;font-size:.9375rem}.tutorial-modal .pipeline-stages{display:flex;flex-direction:column;gap:.75rem}.tutorial-modal .pipeline-stage{display:flex;gap:1rem;padding:1rem;border-radius:12px;background:#f9fafb;border:1px solid #e5e7eb;transition:all .3s ease}.tutorial-modal .pipeline-stage.pending{opacity:.6}.tutorial-modal .pipeline-stage.in-progress{background:#f0fdf4;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.tutorial-modal .pipeline-stage.completed{background:#f0fdf4;border-color:#22c55e}.tutorial-modal .pipeline-stage.failed{background:#fef2f2;border-color:#ef4444}.tutorial-modal .stage-number{width:28px;height:28px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;flex-shrink:0}.tutorial-modal .pipeline-stage.in-progress .stage-number,.tutorial-modal .pipeline-stage.completed .stage-number{background:#22c55e;color:#fff}.tutorial-modal .pipeline-stage.failed .stage-number{background:#ef4444;color:#fff}.tutorial-modal .stage-content{flex:1;min-width:0}.tutorial-modal .stage-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tutorial-modal .stage-icon{font-size:.875rem;color:#6b7280}.tutorial-modal .pipeline-stage.in-progress .stage-icon,.tutorial-modal .pipeline-stage.completed .stage-icon{color:#16a34a}.tutorial-modal .pipeline-stage.failed .stage-icon{color:#dc2626}.tutorial-modal .stage-label{font-weight:600;font-size:.9375rem;color:#1a1a1a}.tutorial-modal .stage-description{margin:0 0 .5rem;font-size:.8125rem;color:#6b7280}.tutorial-modal .stage-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.tutorial-modal .stage-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tutorial-modal .pipeline-stage.pending .stage-status{color:#9ca3af}.tutorial-modal .pipeline-stage.in-progress .stage-status,.tutorial-modal .pipeline-stage.completed .stage-status{color:#16a34a}.tutorial-modal .pipeline-stage.failed .stage-status{color:#dc2626}.tutorial-modal .stage-status .spinning{animation:spin 1s linear infinite}.tutorial-modal .toast-notification{margin:0 1rem 1rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tutorial-modal .toast-notification.success{background:#dcfce7;color:#166534;border:1px solid #86efac}.tutorial-modal .toast-notification.info{background:#e0f2fe;color:#0369a1;border:1px solid #7dd3fc}.tutorial-modal .toast-notification.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.tutorial-modal .progress-summary{margin-top:1.5rem;text-align:center}.tutorial-modal .processing-indicator,.tutorial-modal .complete-indicator,.tutorial-modal .failed-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border-radius:8px;font-weight:500}.tutorial-modal .processing-indicator{background:#f0fdf4;color:#166534}.tutorial-modal .processing-indicator .spinning{animation:spin 1s linear infinite}.tutorial-modal .complete-indicator{background:#dcfce7;color:#166534}.tutorial-modal .failed-indicator{background:#fef2f2;color:#991b1b}.tutorial-modal .processing-error{margin-top:1rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.tutorial-modal .modal-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e8e6e1}.tutorial-modal .btn-background{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tutorial-modal .btn-background:hover{transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}@media (max-width: 540px){.tutorial-modal{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.tutorial-modal .modal-content{padding:1rem}.tutorial-modal .pipeline-stage{padding:.875rem}.tutorial-modal .stage-description{display:none}}.metadata-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem}.metadata-modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.metadata-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb}.metadata-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}.metadata-modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.metadata-modal-close:hover{background-color:#f3f4f6;color:#1f2937}.metadata-modal-body{padding:2rem;overflow-y:auto;flex:1}.metadata-loading,.metadata-error,.metadata-no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#6b7280}.metadata-loading .spinning{font-size:2rem;margin-bottom:1rem;animation:spin 1s linear infinite}.metadata-error{color:#dc2626}.metadata-section{margin-bottom:2rem}.metadata-section:last-child{margin-bottom:0}.metadata-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:#1f2937;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.metadata-info-grid,.metadata-file-grid{display:flex;flex-direction:column;gap:.75rem}.metadata-info-item,.metadata-file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.95rem;color:#374151}.metadata-info-item svg,.metadata-file-item svg{color:#3b82f6;font-size:1rem;flex-shrink:0}.metadata-timing-bar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px}.metadata-timing-item{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#374151}.metadata-timing-item svg{color:#3b82f6;font-size:1rem;flex-shrink:0}.metadata-duration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metadata-duration-item{padding:1rem;background:#f0fdf4;border-left:3px solid #22c55e;border-radius:6px;display:flex;flex-direction:column;gap:.25rem}.metadata-duration-item strong{font-size:.85rem;color:#166534;font-weight:600}.metadata-duration-item span{font-size:1.25rem;color:#15803d;font-weight:700}.metadata-steps-list{display:flex;flex-direction:column;gap:.75rem}.metadata-step-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.metadata-step-header{display:flex;align-items:center;gap:.75rem}.metadata-step-icon-completed{color:#22c55e;font-size:1.25rem;flex-shrink:0}.metadata-step-icon-pending{color:#9ca3af;font-size:1.25rem;flex-shrink:0}.metadata-step-label{font-weight:500;color:#1f2937}.metadata-step-duration{font-weight:600;color:#3b82f6;font-size:.95rem}.metadata-step-duration.not-recorded{color:#9ca3af;font-style:italic;font-weight:400}.metadata-modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:1rem}.metadata-no-data{padding:2rem 1rem;font-size:.95rem;font-style:italic}@media (max-width: 768px){.metadata-modal-content{max-width:100%;max-height:100%;border-radius:0}.metadata-modal-header,.metadata-modal-footer{padding:1rem 1.5rem}.metadata-modal-body{padding:1.5rem}.metadata-duration-grid{grid-template-columns:1fr}.metadata-modal-header h2{font-size:1.25rem}}.repair-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:10000;padding:1rem}.repair-modal-content{background:#fff;border-radius:12px;max-width:520px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;overflow:hidden}.repair-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.repair-modal-title-group{display:flex;align-items:flex-start;gap:.75rem}.repair-modal-icon{color:#3b82f6;font-size:1.25rem;margin-top:.2rem;flex-shrink:0}.repair-modal-title-group h2{margin:0;font-size:1.15rem;font-weight:600;color:#1f2937}.repair-modal-subtitle{margin:.15rem 0 0;font-size:.8rem;color:#6b7280;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repair-modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;font-size:1.1rem;line-height:1;transition:color .15s}.repair-modal-close:hover{color:#374151}.repair-modal-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.repair-modal-loading{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:2rem 0;color:#6b7280;font-size:.9rem}.repair-modal-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.85rem}.repair-steps-list{display:flex;flex-direction:column;gap:.75rem}.repair-step{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:8px;border:1px solid transparent}.repair-step-ok{background:#f0fdf4;border-color:#bbf7d0}.repair-step-ok .repair-step-icon{color:#16a34a;font-size:1rem;margin-top:.1rem}.repair-step-warn{background:#fffbeb;border-color:#fde68a}.repair-step-warn .repair-step-icon{color:#d97706;font-size:1rem;margin-top:.1rem}.repair-step-body{flex:1;min-width:0}.repair-step-title{font-weight:600;font-size:.9rem;color:#1f2937;margin-bottom:.15rem}.repair-step-detail{font-size:.82rem;color:#4b5563;line-height:1.4}.repair-step-ids{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.repair-fc-tag{font-size:.7rem;background:#fef3c7;color:#92400e;padding:.15rem .45rem;border-radius:4px;font-family:SF Mono,Fira Code,monospace}.repair-in-progress-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8}.repair-in-progress-banner svg{font-size:1.25rem;flex-shrink:0;margin-top:.1rem}.repair-in-progress-banner strong{display:block;font-size:.9rem;margin-bottom:.25rem}.repair-in-progress-banner p{margin:0;font-size:.82rem;color:#3b82f6;line-height:1.4}.repair-all-good{display:flex;align-items:center;gap:.5rem;padding:1rem;margin-top:.5rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;font-size:.9rem;font-weight:500}.repair-modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.repair-modal-btn-cancel{padding:.5rem 1.1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.repair-modal-btn-cancel:hover{background:#f3f4f6}.repair-modal-btn-confirm{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.2rem;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.repair-modal-btn-confirm:hover:not(:disabled){background:#2563eb}.repair-modal-btn-confirm:disabled{opacity:.7;cursor:not-allowed}:root{--brand-green: #2d7a3e;--brand-green-dark: #1f5a2d;--brand-green-light: #3d9a4e;--page-bg: #faf8f3;--card-bg: #ffffff;--text-charcoal: #1a1a1a;--text-gray: #4a4a4a;--text-lightgray: #7a7a7a;--text-muted: #9a9a9a;--border-light: #e8e6e1;--border-medium: #d4d2cd;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .06);--shadow-hover: 0 4px 12px rgba(45, 122, 62, .12);--status-mastered: #059669;--status-strong: #10b981;--status-developing: #d97706;--status-weak: #dc2626}.course-detail-view{background:var(--page-bg);min-height:100vh;padding:1.5rem 2.5rem 3rem;max-width:1500px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.8125rem}.breadcrumb-link{background:none;border:none;color:var(--brand-green);font-weight:500;cursor:pointer;padding:0;transition:color .15s}.breadcrumb-link:hover{color:var(--brand-green-dark);text-decoration:underline}.breadcrumb-separator{color:var(--text-muted);font-size:.625rem}.breadcrumb-current{color:var(--text-gray);font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.header-left{flex:1;min-width:0}.course-title{font-size:1.5rem;font-weight:700;color:var(--text-charcoal);margin:0;line-height:1.3}.code-tag{display:inline-block;background:var(--brand-green);color:#fff;padding:2px 7px;border-radius:4px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;position:relative;top:-2px;margin-left:6px}.course-subtitle{display:block;font-size:.8rem;color:var(--text-muted);margin-top:2px}.header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.btn-edit-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid var(--border-light);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s}.btn-edit-icon:hover{border-color:var(--brand-green);color:var(--brand-green)}.btn-edit-icon svg{font-size:.75rem}.creator-note-card{background:#f0fdf4;border:1px solid #bbf7d0;border-left:3px solid var(--brand-green);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.creator-note-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.creator-note-avatar{font-size:.75rem;color:var(--brand-green);opacity:.8}.creator-note-author{font-size:.8125rem;font-weight:600;color:var(--text-charcoal)}.creator-note-label{font-size:.6875rem;font-weight:500;color:var(--brand-green);background:#2d7a3e1a;padding:1px 6px;border-radius:3px;margin-left:auto}.creator-note-body{font-size:.8125rem;color:var(--text-gray);line-height:1.5;margin:0;white-space:pre-line}.course-stats-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.admin-archived-toggle{display:inline-flex;align-items:center;gap:8px;padding:.35rem .6rem;background:#fff;border:1px solid var(--border-light);border-radius:6px;box-shadow:var(--shadow-subtle);font-size:.8125rem;color:var(--text-gray);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-archived-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-green)}.course-stat{display:inline-flex;align-items:baseline;gap:.375rem;padding:.35rem .6rem;background:#fff;border:1px solid var(--border-light);border-radius:6px;font-size:.8125rem;color:var(--text-gray);box-shadow:var(--shadow-subtle)}.course-stat strong{color:var(--text-charcoal);font-weight:700;letter-spacing:-.01em}.course-stat-warn{background:#fef3c7;border-color:#fde68a;color:#92400e}.course-stat-warn strong{color:#78350f}.quick-actions-bar{display:grid;grid-template-columns:1fr minmax(460px,640px) 1fr;align-items:center;gap:1rem;margin-bottom:1rem}.search-container{width:100%;max-width:none;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.75rem;color:var(--text-muted);font-size:.875rem;pointer-events:none}.search-input{width:100%;padding:.7rem 3rem .7rem 2.5rem;border:1px solid var(--border-light);border-radius:6px;font-size:.875rem;color:var(--text-charcoal);background:#fff;transition:all .15s}.search-input:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 2px #2d7a3e14}.search-input::placeholder{color:var(--text-muted)}.search-shortcut{position:absolute;right:.625rem;font-size:.6875rem;font-weight:600;color:var(--text-muted);background:#f3f4f6;padding:.125rem .375rem;border-radius:3px}.action-buttons{display:flex;gap:.5rem;justify-content:flex-end}.btn-action{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;border:none}.btn-weak{background:#fef3c7;color:#92400e}.btn-weak:hover{background:#fde68a}.btn-analytics{background:#e0e7ff;color:#3730a3}.btn-analytics:hover{background:#c7d2fe}.btn-upload{background:var(--brand-green);color:#fff}.btn-upload:hover{background:var(--brand-green-dark)}.btn-cleanup-stuck{background:#fef3c7;color:#92400e;font-size:.75rem}.btn-cleanup-stuck:hover:not(:disabled){background:#fde68a}.btn-cleanup-stuck:disabled{opacity:.6;cursor:not-allowed}.repository-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;margin-bottom:1rem;background:#fff;border:1px solid var(--border-light);border-radius:6px;color:var(--brand-green);text-decoration:none;font-size:.8125rem;font-weight:600;transition:all .15s}.repository-link:hover{border-color:var(--brand-green);background:#2d7a3e0a}.repo-icon{font-size:.875rem;color:var(--brand-green)}.repo-hint{margin-left:.5rem;font-size:.75rem;color:var(--text-muted);font-weight:400}.lectures-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;overflow:hidden;margin-bottom:2rem}.lectures-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:linear-gradient(to bottom,#fff,#fafafa)}.section-title-block{display:flex;flex-direction:column;gap:2px;min-width:0}.lectures-title{font-size:.9375rem;font-weight:700;color:var(--text-charcoal);margin:0}.section-trust{font-size:.75rem;font-weight:500;color:var(--text-muted);line-height:1.2}.lectures-header-actions{display:flex;align-items:center;gap:.5rem;margin-top:2px}.filter-note{font-weight:400;color:var(--text-muted);font-size:.8125rem}.processing-indicator{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#d97706;background:#fef3c7;padding:.25rem .625rem;border-radius:4px}.lectures-table{display:flex;flex-direction:column}.table-header{display:grid;grid-template-columns:50px 1fr 80px 80px 80px auto;gap:.75rem;padding:.75rem 1.25rem;background:#f8f8f6;border-bottom:1px solid var(--border-light);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center}.lecture-row{display:grid;grid-template-columns:50px 1fr 80px 80px 80px auto;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border-light);transition:all .15s;cursor:pointer;align-items:center;min-height:72px}.lecture-row:last-child{border-bottom:none}.lecture-row:hover{background:#2d7a3e08}.lecture-row.processing{background:linear-gradient(90deg,#fffbeb,#fff)}.lecture-row.not-started{opacity:.7}.lecture-row.archived{opacity:.7;background:#fafafa}.lecture-row.archived:hover{opacity:.85;background:#2d7a3e08}.archived-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb}.lecture-row.not-started:hover{opacity:1}.lecture-row.older-version{opacity:.65;background:#fafafa}.lecture-row.older-version:hover{opacity:.85;background:#2d7a3e08}.col-num{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.lecture-num{font-size:1.25rem;font-weight:700;color:var(--brand-green);line-height:1}.version-tag{font-size:.625rem;font-weight:600;color:#6366f1;background:#e0e7ff;padding:.125rem .375rem;border-radius:3px}.col-title{min-width:0}.lecture-title-row{display:flex;align-items:center;gap:.625rem;margin-bottom:.375rem}.lecture-title{font-size:.9375rem;font-weight:600;color:var(--text-charcoal);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--brand-green);background:#2d7a3e1a;border:1px solid rgba(45,122,62,.25);padding:.1875rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.latest-badge svg{font-size:.5rem}.lecture-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.875rem;font-size:.75rem;color:var(--text-muted)}.meta-item{display:flex;align-items:center;gap:.25rem}.meta-icon{font-size:.625rem;opacity:.7}.meta-processing{color:#d97706;font-weight:500}.meta-processing .spinning{font-size:.625rem}.col-status{display:flex;justify-content:center}.status-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;padding:.375rem .625rem;border-radius:4px}.status-badge svg{font-size:.75rem}.status-ready{background:#dcfce7;color:#166534}.status-pending{background:#f3f4f6;color:#6b7280}.status-processing{background:#fef3c7;color:#92400e}.status-failed{background:#fee2e2;color:#991b1b}.col-concepts{text-align:center}.concepts-count{font-size:.9375rem;font-weight:600;color:var(--text-charcoal)}.concepts-count.muted{color:var(--text-muted)}.col-readiness{text-align:center}.cd-readiness-dash{color:var(--text-muted);font-size:.85rem}.col-updated{text-align:center}.updated-text{font-size:.8125rem;color:var(--text-gray)}.updated-text.muted{color:var(--text-muted)}.col-action{display:flex;align-items:center;gap:.35rem;justify-content:flex-end;flex-shrink:0}.btn-lecture-action{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.action-study{background:var(--brand-green);color:#fff}.action-study:hover{background:var(--brand-green-dark);transform:translate(2px)}.action-process{background:#e0e7ff;color:#3730a3}.action-process:hover{background:#c7d2fe}.action-progress{background:#fef3c7;color:#92400e}.action-progress:hover{background:#fde68a}.action-retry{background:#fee2e2;color:#991b1b}.action-retry:hover{background:#fecaca}.btn-metadata{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #93c5fd;border-radius:4px;background:transparent;color:#3b82f6;cursor:pointer;transition:all .15s;flex-shrink:0;margin-right:.5rem}.btn-metadata:hover{background:#dbeafe}.btn-delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #fca5a5;border-radius:4px;background:transparent;color:#dc2626;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-delete:hover:not(:disabled){background:#fee2e2}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.btn-repair{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #93c5fd;border-radius:4px;background:transparent;color:#2563eb;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-repair:hover:not(:disabled){background:#dbeafe}.btn-repair:disabled{opacity:.5;cursor:not-allowed}.btn-repair-active{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.btn-restore{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #86efac;border-radius:4px;background:transparent;color:#16a34a;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-restore:hover:not(:disabled){background:#dcfce7}.btn-restore:disabled{opacity:.5;cursor:not-allowed}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.9375rem}.tutorials-section{background:var(--card-bg);border:1px solid var(--border-light);border-radius:10px;overflow:hidden;margin-top:2.5rem;margin-bottom:2rem}.tutorials-section .lectures-header{margin-bottom:0}.tutorials-section .section-icon{margin-right:.5rem;color:var(--brand-green)}.tutorials-table{margin-top:0}.course-sidebar-mini{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.sidebar-mini-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-subtle)}.btn-invite{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:var(--brand-green);color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-invite:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e4d}.timetable-link{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1px solid var(--border-light);border-radius:8px;font-size:.8125rem;font-weight:600;color:var(--text-gray);cursor:pointer;transition:all .15s}.timetable-link:hover{border-color:var(--brand-green);color:var(--brand-green)}.timetable-link svg{color:var(--brand-green)}.invite-banner{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border-radius:10px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.invite-banner-content{display:flex;align-items:center;gap:1rem;flex:1}.invite-icon{font-size:1.5rem;color:#fff;opacity:.9}.invite-text{color:#fff}.invite-title{font-size:1rem;font-weight:700;margin:0 0 .125rem;color:#fff}.invite-description{font-size:.8125rem;margin:0;opacity:.9}.invite-actions{display:flex;gap:.5rem}.btn-dismiss-invite,.btn-accept-invite{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .15s}.btn-dismiss-invite{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-dismiss-invite:hover{background:#ffffff4d}.btn-accept-invite{background:#fff;color:var(--brand-green)}.btn-accept-invite:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background:var(--page-bg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--brand-green);border-radius:50%;animation:spin .8s linear infinite}.error-container h2{color:var(--text-charcoal);margin:0;font-size:1.25rem}.error-container button{padding:.625rem 1.25rem;background:var(--brand-green);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .15s}.error-container button:hover{background:var(--brand-green-dark)}@media (max-width: 1200px){.course-detail-view{padding:1rem 1.5rem;max-width:100%}.table-header,.lecture-row{grid-template-columns:40px 1fr 75px 65px 70px auto;gap:.5rem;padding:.75rem 1rem}.course-sidebar-mini{bottom:1rem;right:1rem}}@media (max-width: 768px){.course-header-compact{flex-direction:column;gap:1rem}.header-title-row{flex-wrap:wrap}.course-title{font-size:1.375rem}.quick-actions-bar{grid-template-columns:1fr;gap:.75rem}.quick-actions-spacer{display:none}.search-container{max-width:none;width:100%}.action-buttons{width:100%;justify-content:center}.table-header{display:none}.lecture-row{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem}.col-num{flex-direction:row;align-items:center;gap:.5rem;width:100%}.col-title{width:100%}.lecture-title{white-space:normal;overflow:visible}.col-status,.col-concepts{display:none}.col-action{width:100%;justify-content:flex-start}.btn-lecture-action{flex:1}.invite-banner{flex-direction:column;padding:1rem;gap:1rem}.invite-banner-content{flex-direction:column;text-align:center}.invite-actions{width:100%;flex-direction:column}.btn-dismiss-invite,.btn-accept-invite{width:100%}.course-sidebar-mini{position:fixed;bottom:0;left:0;right:0;flex-direction:row;justify-content:center;padding:.75rem;background:#fff;border-top:1px solid var(--border-light);border-radius:0}.sidebar-mini-card{border:none;box-shadow:none}}.cd-lec-score-btn{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .6rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700;color:#166534;transition:all .15s ease;white-space:nowrap}.cd-lec-score-btn:hover{background:#dcfce7;border-color:#86efac;box-shadow:0 2px 6px #1665341f}.cd-tut-score{font-size:.85rem;font-weight:700;color:#92400e;background:#fef3c7;padding:.15rem .5rem;border-radius:6px;display:inline-block}.cd-readiness-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.cd-readiness-modal{background:#fff;border-radius:16px;max-width:440px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.cd-rm-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem .25rem}.cd-rm-header h3{font-size:1rem;font-weight:700;color:#1e293b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:85%}.cd-rm-close{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:1rem;padding:.25rem;border-radius:6px;transition:background .15s;flex-shrink:0}.cd-rm-close:hover{background:#f1f5f9;color:#475569}.cd-rm-overall{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem 1rem}.cd-rm-ring{position:relative;width:72px;height:72px;flex-shrink:0}.cd-rm-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cd-rm-ring-bg{fill:none;stroke:#f1f5f9;stroke-width:6}.cd-rm-ring-fill{fill:none;stroke:#22c55e;stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .4s ease}.cd-rm-ring-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#1e293b}.cd-rm-details{flex:1}.cd-rm-fc{font-size:.8rem;color:#64748b;margin:0}.cd-rm-pillars{padding:0 1.25rem;display:flex;flex-direction:column;gap:.6rem}.cd-rm-pillar-card{padding:.75rem 1rem;border-radius:10px;border:1px solid #f1f5f9}.cd-rm-pc-study{background:#fafbff;border-color:#dbeafe}.cd-rm-pc-practice{background:#f7fdf9;border-color:#d1fae5}.cd-rm-pc-tutorial{background:#fffbeb;border-color:#fde68a}.cd-rm-pc-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.cd-rm-pc-icon{font-size:.85rem}.cd-rm-pc-title{font-size:.78rem;font-weight:600;color:#334155}.cd-rm-pc-score-row{display:flex;align-items:center;gap:.5rem}.cd-rm-pc-bar-track{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.cd-rm-pc-bar{height:100%;border-radius:4px;transition:width .3s ease}.cd-rm-pc-bar-study{background:#3b82f6}.cd-rm-pc-bar-practice{background:#22c55e}.cd-rm-pc-bar-tutorial{background:#f59e0b}.cd-rm-pc-val{font-size:1rem;font-weight:700;color:#1e293b;min-width:38px;text-align:right}.cd-rm-pc-desc{font-size:.65rem;color:#94a3b8;margin:.35rem 0 0;line-height:1.4}.cd-rm-actions{display:flex;gap:.5rem;padding:1rem 1.25rem .5rem}.cd-rm-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .75rem;border:none;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s ease}.cd-rm-ab-study{background:#eff6ff;color:#1d4ed8}.cd-rm-ab-study:hover{background:#dbeafe}.cd-rm-ab-practice{background:#f0fdf4;color:#166534}.cd-rm-ab-practice:hover{background:#dcfce7}.cd-rm-footer-note{text-align:center;font-size:.58rem;color:#94a3b8;padding:.6rem 1.25rem 1rem;margin:0;border-top:1px solid #f1f5f9;font-style:italic;line-height:1.5}@media (max-width: 600px){.cd-readiness-modal{max-width:100%;border-radius:12px}.cd-rm-overall{flex-direction:column;text-align:center}.cd-rm-actions{flex-direction:column}}.rpc-card{--rpc-green: #228B22;--rpc-green-light: #2E9E2E;--rpc-green-pale: #E8F5E8;--rpc-red: #DC2626;--rpc-red-pale: #FEE2E2;--rpc-amber: #D97706;--rpc-amber-pale: #FEF3C7;--rpc-bg: #FFFFFF;--rpc-border: #E5E5E0;--rpc-text: #1A1A1A;--rpc-text-secondary: #666666;--rpc-text-muted: #999999}.rpc-card{background:var(--rpc-bg);border:1px solid var(--rpc-border);border-radius:10px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.rpc-card:hover{border-color:var(--rpc-green);box-shadow:0 4px 12px #228b221f;transform:translateY(-2px)}.rpc-hero{border-color:var(--rpc-green);background:#fff}.rpc-state-a{cursor:pointer;padding:0;border:1px solid var(--rpc-border);background:#fff}.rpc-state-a:hover{border-color:var(--rpc-green);box-shadow:0 4px 16px #228b221a;transform:translateY(-1px)}.rpc-a-row{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;width:100%}.rpc-a-left{flex:1;min-width:0}.rpc-a-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.rpc-a-icon{width:36px;height:36px;border-radius:8px;background:var(--rpc-green-pale);color:var(--rpc-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rpc-a-title{font-size:1rem;font-weight:700;color:var(--rpc-text);margin:0;letter-spacing:-.01em}.rpc-a-description{font-size:.8125rem;color:var(--rpc-text-secondary);line-height:1.55;margin:0 0 12px}.rpc-a-description strong{color:var(--rpc-text);font-weight:600}.rpc-a-steps,.rpc-a-step{display:flex;align-items:center;gap:6px}.rpc-a-step-num{width:20px;height:20px;border-radius:50%;background:var(--rpc-green);color:#fff;font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rpc-a-step-text{font-size:.6875rem;font-weight:600;color:var(--rpc-text-secondary);white-space:nowrap}.rpc-a-step-arrow{color:var(--rpc-text-muted);display:flex;align-items:center;opacity:.5}.rpc-a-btn{flex-shrink:0;padding:.625rem 1.5rem;font-size:.875rem;border-radius:8px}.rpc-icon{flex-shrink:0;width:44px;height:44px;border-radius:8px;background:var(--rpc-green-pale);color:var(--rpc-green);display:flex;align-items:center;justify-content:center;font-size:1.125rem}.rpc-icon-active{background:var(--rpc-green);color:#fff}.rpc-content{flex:1;min-width:0}.rpc-title{font-size:1rem;font-weight:600;color:var(--rpc-text);margin:0 0 .125rem}.rpc-description{font-size:.8125rem;color:var(--rpc-text-secondary);margin:0;line-height:1.4}.rpc-exam-readiness{display:flex;align-items:baseline;gap:6px;margin:6px 0 8px}.rpc-readiness-label{font-size:.75rem;font-weight:500;color:var(--rpc-text-secondary)}.rpc-readiness-value{font-size:1.125rem;font-weight:700;color:var(--rpc-green)}.rpc-last-activity{font-size:.6875rem;color:var(--rpc-text-muted);margin:6px 0 0}.rpc-stats{display:flex;align-items:center;gap:12px;margin-top:8px}.rpc-stats-inline{flex-wrap:wrap;gap:6px;margin-top:6px}.rpc-stat{display:flex;flex-direction:column;align-items:center;gap:1px}.rpc-stat-value{font-size:1rem;font-weight:700;color:var(--rpc-text);font-variant-numeric:tabular-nums}.rpc-stat-label{font-size:.5625rem;font-weight:600;color:var(--rpc-text-muted);text-transform:uppercase;letter-spacing:.03em}.rpc-stat-divider{width:1px;height:24px;background:var(--rpc-border)}.rpc-weak{color:var(--rpc-amber)}.rpc-strong,.rpc-improved{color:var(--rpc-green)}.rpc-badge{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600}.rpc-badge-weak{background:var(--rpc-amber-pale);color:var(--rpc-amber)}.rpc-badge-strong{background:var(--rpc-green-pale);color:var(--rpc-green)}.rpc-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.rpc-btn{padding:.5rem 1rem;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;border:none}.rpc-btn-primary{background:var(--rpc-green);color:#fff}.rpc-btn-primary:hover{background:#1e7b1e}.rpc-btn-secondary{background:transparent;color:var(--rpc-text-secondary);border:1px solid var(--rpc-border)}.rpc-btn-secondary:hover{background:#f5f5f0;color:var(--rpc-text)}.rpc-btn-tertiary{background:transparent;color:var(--rpc-text-muted);padding:6px 12px;font-size:13px}.rpc-btn-tertiary:hover{color:var(--rpc-text);text-decoration:underline}.rpc-loading{justify-content:center;padding:1.25rem;min-height:60px}.rpc-loading-spinner{width:24px;height:24px;border:2px solid var(--rpc-border);border-top-color:var(--rpc-green);border-radius:50%;animation:rpc-spin .7s linear infinite}@keyframes rpc-spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.rpc-card{flex-direction:column;align-items:flex-start;text-align:left;gap:.75rem;padding:1rem}.rpc-a-row{flex-direction:column;align-items:stretch;padding:1rem}.rpc-a-btn{width:100%;text-align:center}.rpc-a-steps{flex-wrap:wrap}.rpc-icon{width:36px;height:36px}.rpc-stats{justify-content:flex-start}.rpc-actions{width:100%;flex-direction:row}.rpc-btn-primary{flex:1}.rpc-btn-secondary,.rpc-btn-tertiary{flex-shrink:0}.rpc-a-steps{gap:4px}}.rpc-enroll-hint{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;background:#fef3c7;border-radius:6px;font-size:11px;font-weight:600;color:#92400e}.rpc-enroll-hint:before{content:"🔓";font-size:10px}:root{--brand-green: #2d7a3e;--brand-green-dark: #1e5a2c;--brand-green-light: #e8f5e9;--brand-green-ultra-light: #f4faf5;--page-bg: #fafafa;--card-bg: #ffffff;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-tertiary: #718096;--border-subtle: #e2e8f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .16)}.lecture-detail-view{min-height:100vh;background:#fafafa;padding:80px 2rem 2rem;position:relative}.lecture-detail-container{max-width:900px;margin:0 auto;position:relative;z-index:1}.breadcrumb-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.8125rem}.breadcrumb-link{background:none;border:none;color:var(--text-tertiary);cursor:pointer;transition:all .2s ease;padding:.375rem .5rem;font-size:.875rem;font-weight:500;border-radius:6px}.breadcrumb-link:hover{color:var(--brand-green);background:var(--brand-green-ultra-light)}.breadcrumb-separator{color:var(--text-tertiary);font-size:.625rem;opacity:.5}.breadcrumb-current{color:var(--text-primary);font-weight:600;padding:.375rem .5rem}.page-header{text-align:left;margin-bottom:1.5rem}.page-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem;letter-spacing:-.02em;line-height:1.2}.page-subtitle{font-size:.875rem;color:var(--text-secondary);font-weight:400;margin:0}.action-panels-stack{display:flex;flex-direction:column;gap:1rem}.action-panel-compact{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#fff;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.action-panel-compact:hover{border-color:var(--brand-green);box-shadow:0 4px 12px #2d7a3e1f;transform:translateY(-2px)}.compact-icon{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;transition:transform .2s ease}.study-icon{background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff}.action-panel-compact:hover .compact-icon{transform:scale(1.05)}.compact-content{flex:1;min-width:0}.compact-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem;letter-spacing:-.01em}.compact-description{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .5rem;line-height:1.4}.compact-features{display:flex;flex-wrap:wrap;gap:.375rem}.feature-pill{display:inline-flex;align-items:center;font-size:.625rem;font-weight:600;color:var(--text-secondary);background:#f3f4f6;border:none;padding:.1875rem .5rem;border-radius:4px;transition:all .2s ease}.action-panel-compact:hover .feature-pill{background:#e5e7eb}.compact-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.study-button{background:var(--brand-green);color:#fff}.study-button:hover{background:var(--brand-green-dark)}@media (max-width: 768px){.lecture-detail-view{padding:70px 1rem 1.5rem}.lecture-detail-container{max-width:100%}.action-panel-compact{flex-direction:column;align-items:flex-start;gap:.75rem}.compact-button{width:100%}.page-header{margin-bottom:1rem}.page-title{font-size:1.25rem}.breadcrumb-nav{margin-bottom:1rem}}.feature-enroll-hint{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:12px;color:#2d7a3e;font-weight:500;opacity:.85}.feature-enroll-hint:before{content:"💡";font-size:11px}.feature-lock-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;background:#fef3c7;border-radius:4px;font-size:11px;color:#92400e;font-weight:600}.feature-lock-badge svg{font-size:10px}:root{--brand-green: #2d7a3e;--brand-green-dark: #245c30;--brand-green-light: #e8f5e9;--page-bg: #f9f7f3;--card-bg: #ffffff;--text-charcoal: #1a1a1a;--text-gray: #666666;--text-lightgray: #999999;--border-light: #e5e7eb;--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--shadow-notecard: 0 8px 32px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .06)}.flashcard-wrapper{perspective:1200px;width:100%;max-width:850px;margin:0 auto;position:relative}.flashcard{width:100%;display:grid;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{grid-row:1;grid-column:1;width:100%;backface-visibility:hidden;border-radius:16px;border:1px solid var(--border-light);box-shadow:var(--shadow-notecard);display:flex;align-items:center;justify-content:center;background:var(--card-bg);transition:box-shadow .3s ease}.flashcard-front{padding:1.75rem 2rem}.flashcard-back{padding:2rem;transform:rotateY(180deg)}.flashcard-front:hover,.flashcard-back:hover{box-shadow:0 12px 40px #0000001f,0 4px 12px #00000014}.bookmark-btn{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:none;color:var(--text-lightgray);font-size:1.5rem;cursor:pointer;transition:all .2s ease;padding:.5rem;z-index:10}.bookmark-btn:hover{color:var(--brand-green);transform:scale(1.1)}.bookmark-btn.bookmarked{color:var(--brand-green)}.btn-spinner{width:16px;height:16px;border:2px solid var(--border-light);border-top-color:var(--brand-green);border-radius:50%;animation:spin .6s linear infinite}.card-content{width:100%;display:flex;flex-direction:column;gap:1.25rem;align-items:center;justify-content:center}.question-text{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.3;color:var(--text-charcoal);text-align:center;max-width:95%;word-wrap:break-word;letter-spacing:-.02em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif}.flip-hint{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;margin-top:1.25rem;padding:.625rem 1rem;background:#2d7a3e0d;border:1px solid rgba(45,122,62,.15);border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.flip-hint:hover{background:#2d7a3e14;border-color:#2d7a3e40;transform:translateY(-1px)}.flip-hint-icon{color:#2d7a3e;flex-shrink:0;opacity:.7;transition:transform .3s ease}.flip-hint:hover .flip-hint-icon{opacity:1;transform:translate(2px)}.flip-hint-text{font-size:.875rem;font-weight:500;color:#2d7a3e;letter-spacing:.01em}.flashcard.flipped .flip-hint{display:none}@media (max-width: 768px){.flip-hint{padding:.625rem 1rem;margin-top:1.5rem;gap:.5rem}.flip-hint-text{font-size:.8125rem}}@media (max-width: 480px){.flip-hint{padding:.625rem .875rem;margin-top:1.25rem;gap:.5rem}.flip-hint-text{font-size:.75rem}}.answer-content{width:100%;display:flex;flex-direction:column;gap:1.25rem}.answer-selector{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%;padding:.25rem}.answer-type-btn{background:var(--page-bg);border:2px solid var(--border-light);border-radius:8px;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;color:var(--text-gray);cursor:pointer;transition:all .2s ease;flex:1;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:.25rem}.shortcut-key{font-size:.625rem;font-weight:700;opacity:.6;background:var(--card-bg);padding:.125rem .375rem;border-radius:4px;border:1px solid var(--border-light)}.tab-label{font-size:.8125rem;font-weight:600}.answer-type-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-subtle);border-color:var(--brand-green)}.answer-type-btn.active{background:var(--brand-green);color:#fff;border-color:var(--brand-green);transform:translateY(-2px);box-shadow:0 4px 12px #2d7a3e33}.answer-type-btn.active .shortcut-key{background:#fff3;border-color:#ffffff4d;opacity:1}.answer-text{width:100%;text-align:left;padding:1.5rem 0;line-height:1.8;font-size:1.0625rem;color:var(--text-charcoal);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-weight:500}.flashcard-markdown-content{font-size:1rem;line-height:1.75}.flashcard-markdown-content h1,.flashcard-markdown-content h2,.flashcard-markdown-content h3,.flashcard-markdown-content h4,.flashcard-markdown-content h5,.flashcard-markdown-content h6{color:var(--text-charcoal);font-weight:600;margin-top:1.25rem;margin-bottom:.75rem;line-height:1.4}.flashcard-markdown-content h1{font-size:1.5rem}.flashcard-markdown-content h2{font-size:1.35rem}.flashcard-markdown-content h3{font-size:1.2rem}.flashcard-markdown-content h4{font-size:1.1rem}.flashcard-markdown-content p{margin-bottom:.875rem;line-height:1.75}.flashcard-markdown-content ul,.flashcard-markdown-content ol{margin:.75rem 0;padding-left:1.5rem}.flashcard-markdown-content li{margin-bottom:.5rem;line-height:1.65}.flashcard-markdown-content li::marker{color:var(--brand-green)}.flashcard-markdown-content blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--brand-green);background:var(--brand-green-light);border-radius:0 8px 8px 0;font-style:italic;color:var(--text-gray)}.flashcard-markdown-content code{background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em;color:var(--brand-green-dark)}.flashcard-markdown-content pre{background:#1e293b;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.flashcard-markdown-content pre code{background:none;padding:0;color:inherit;font-size:.875rem}.flashcard-markdown-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}.flashcard-markdown-content th,.flashcard-markdown-content td{border:1px solid var(--border-light);padding:.625rem .875rem;text-align:left}.flashcard-markdown-content th{background:var(--brand-green-light);font-weight:600;color:var(--brand-green-dark)}.flashcard-markdown-content tbody tr:nth-child(2n){background:#f8fafc}.flashcard-markdown-content strong{font-weight:600;color:var(--text-charcoal)}.flashcard-markdown-content em{font-style:italic;color:var(--text-gray)}.flashcard-markdown-content .katex-display{margin:1.25rem 0;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:8px;border-left:3px solid var(--brand-green);overflow-x:auto}.flashcard-markdown-content .katex{font-size:1.05em;color:var(--text-charcoal)}.flashcard-markdown-content .katex-display>.katex{font-size:1.15em}.mermaid-diagram-wrapper{width:100%;margin-top:1rem}.mermaid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-gray);font-size:.875rem}.mermaid-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--brand-green);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:.75rem}.mermaid-diagram-container{width:100%;background:var(--page-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-light);overflow-x:auto}.mermaid-diagram-container.loading{opacity:.5}.mermaid-diagram-container svg{max-width:100%;height:auto}.mermaid-error{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem;color:#856404;font-size:.875rem}.mermaid-error-inline{color:#dc3545;font-size:.8125rem;margin-top:.5rem}.ai-image-wrapper{width:100%;margin-top:1rem;border-radius:12px;overflow:hidden;background:var(--page-bg);border:1px solid var(--border-light);position:relative}.flashcard-ai-image{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:contain;display:block;background:var(--page-bg);transition:opacity .3s ease}.ai-image-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--page-bg) 0%,#e5e7eb 50%,var(--page-bg) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:0}.ai-image-wrapper:has(.flashcard-ai-image[src]) .flashcard-ai-image{position:relative;z-index:1}.flashcard-ai-image:not([src=""]){position:relative;z-index:1}.ai-image-wrapper:hover .flashcard-ai-image{opacity:.95}@media (max-width: 768px){.ai-image-wrapper{border-radius:8px;margin-top:.75rem}}@media (max-width: 480px){.ai-image-wrapper{border-radius:6px}}.math-viz-section{margin-top:1rem}.math-lookup-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--brand-green-light);color:var(--brand-green);border:2px solid var(--brand-green);border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.math-lookup-btn:hover{background:var(--brand-green);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2d7a3e33}.math-modal-large-backdrop{position:fixed;inset:0;background:#0009;z-index:10000;animation:fadeIn .2s ease}.math-modal-large{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1100px;max-height:90vh;background:var(--card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:10001;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.math-modal-large-content{padding:2rem;overflow-y:auto;max-height:90vh}.math-close-btn{position:absolute;top:1rem;right:1rem;background:var(--page-bg);border:2px solid var(--border-light);border-radius:50%;width:40px;height:40px;font-size:1.5rem;font-weight:300;color:var(--text-charcoal);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.math-close-btn:hover{background:var(--brand-green);color:#fff;border-color:var(--brand-green);transform:rotate(90deg)}.math-modal-header{text-align:center;margin-bottom:2rem}.math-modal-header h3{font-size:1.5rem;font-weight:700;color:var(--text-charcoal);margin:0 0 .5rem}.math-modal-header p{font-size:.9375rem;color:var(--text-gray);margin:0}.math-diagram-container-large{background:var(--page-bg);border-radius:12px;padding:2rem;border:1px solid var(--border-light);min-height:400px;position:relative}.graphviz-loading,.graphviz-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-gray)}.graphviz-spinner{width:48px;height:48px;border:4px solid var(--border-light);border-top-color:var(--brand-green);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.graphviz-diagram-large{width:100%;min-height:300px}.math-modal-controls{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.math-zoom-btn{padding:.625rem 1rem;background:var(--card-bg);border:2px solid var(--border-light);border-radius:8px;color:var(--text-charcoal);font-size:1rem;cursor:pointer;transition:all .2s ease}.math-zoom-btn:hover{background:var(--brand-green);color:#fff;border-color:var(--brand-green);transform:translateY(-2px)}.math-code-details{margin-top:1.5rem;background:var(--page-bg);border-radius:8px;padding:1rem;border:1px solid var(--border-light)}.math-code-details summary{cursor:pointer;font-weight:600;color:var(--text-charcoal);font-size:.875rem}.math-code-details pre{margin-top:1rem;padding:1rem;background:var(--card-bg);border-radius:6px;overflow-x:auto;font-size:.8125rem;line-height:1.5}.feedback-buttons{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.feedback-btn{padding:.625rem 1.25rem;background:var(--page-bg);border:2px solid var(--border-light);border-radius:8px;color:var(--text-gray);font-size:1.125rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:60px}.feedback-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.feedback-btn.like-btn.active{background:var(--brand-green);color:#fff;border-color:var(--brand-green)}.feedback-btn.dislike-btn.active{background:#dc3545;color:#fff;border-color:#dc3545}.feedback-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.flashcard-front{padding:1.25rem 1rem}.flashcard-back{padding:1.5rem 1.25rem}.question-text{font-size:clamp(1.5rem,5vw,2rem)}.answer-text{font-size:1rem;padding:1rem 0}.answer-type-btn{min-width:75px;padding:.5rem .75rem}.bookmark-btn{top:1rem;right:1rem;font-size:1.25rem}.math-modal-large{width:95%;max-height:85vh}.math-modal-large-content{padding:1.5rem}}@media (max-width: 480px){.flashcard-front{padding:1rem .875rem}.flashcard-back{padding:1.25rem 1rem}.answer-selector{gap:.375rem}.answer-type-btn{font-size:.75rem;padding:.5rem .625rem;min-width:70px}.tab-label{font-size:.75rem}.feedback-buttons{gap:.75rem}.feedback-btn{padding:.5rem 1rem;font-size:1rem;min-width:50px}}.flashcard-add-notes{position:absolute;display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#2d7a3e;color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #2d7a3e4d;z-index:100;animation:fadeInNotesBtn .15s ease-out;white-space:nowrap}@keyframes fadeInNotesBtn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.flashcard-add-notes:hover{background:#245c30;box-shadow:0 6px 16px #2d7a3e66}.flashcard-add-notes svg{font-size:.75rem}.fc-comprehension-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:16px;font-size:.72rem;font-weight:600;margin-bottom:.75rem}.fc-badge-review{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.fc-badge-got-it{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.fc-know-this-btn{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.25rem;padding:.5rem 1rem;border:1.5px solid rgba(45,122,62,.2);border-radius:8px;background:transparent;color:#6b7280;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.fc-know-this-btn:hover{border-color:#22c55e;color:#166534;background:#f0fdf4}.fc-know-this-btn:active{transform:scale(.97)}.cc-container{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;animation:ccFadeIn .25s ease-out}@keyframes ccFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cc-card{background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e2e8f0);border-radius:16px;padding:2.5rem 2rem;max-width:520px;width:100%;text-align:center}.cc-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.cc-icon{color:var(--primary-color, #6366f1);opacity:.8}.cc-title{font-size:1.15rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0;line-height:1.4}.cc-question-ref{background:var(--surface-bg, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.75rem;text-align:left}.cc-question-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #94a3b8);display:block;margin-bottom:.35rem}.cc-question-text{font-size:.95rem;color:var(--text-secondary, #475569);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cc-actions{display:flex;gap:.75rem;margin-bottom:1rem}.cc-btn{flex:1;display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;text-align:left;position:relative;background:none}.cc-btn-text{display:flex;flex-direction:column;gap:.15rem}.cc-btn-primary{font-size:.95rem;font-weight:600;line-height:1.2}.cc-btn-secondary{font-size:.75rem;font-weight:400;opacity:.7;line-height:1.3}.cc-shortcut{position:absolute;top:.5rem;right:.6rem;font-size:.65rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;opacity:.4;font-family:monospace}.cc-btn-got-it{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.cc-btn-got-it:hover{background:#dcfce7;border-color:#86efac;transform:translateY(-1px);box-shadow:0 2px 8px #16a34a1f}.cc-btn-got-it .cc-shortcut{background:#dcfce7;color:#166534}.cc-btn-review{background:#fffbeb;border-color:#fde68a;color:#92400e}.cc-btn-review:hover{background:#fef3c7;border-color:#fcd34d;transform:translateY(-1px);box-shadow:0 2px 8px #d977061f}.cc-btn-review .cc-shortcut{background:#fef3c7;color:#92400e}.cc-skip{background:none;border:none;color:var(--text-tertiary, #94a3b8);font-size:.8rem;cursor:pointer;padding:.5rem 1rem;transition:color .15s}.cc-skip:hover{color:var(--text-secondary, #64748b)}.cc-skip-arrow{display:inline-block;transition:transform .15s}.cc-skip:hover .cc-skip-arrow{transform:translate(3px)}@media (max-width: 600px){.cc-container{padding:1rem;min-height:300px}.cc-card{padding:1.5rem 1.25rem}.cc-actions{flex-direction:column}.cc-btn{padding:.85rem 1rem}}[data-theme=dark] .cc-card{background:#1e293b;border-color:#334155}[data-theme=dark] .cc-question-ref{background:#0f172a;border-color:#334155}[data-theme=dark] .cc-btn-got-it{background:#052e16;border-color:#166534;color:#86efac}[data-theme=dark] .cc-btn-got-it:hover{background:#14532d;border-color:#22c55e}[data-theme=dark] .cc-btn-got-it .cc-shortcut{background:#14532d;color:#86efac}[data-theme=dark] .cc-btn-review{background:#451a03;border-color:#92400e;color:#fcd34d}[data-theme=dark] .cc-btn-review:hover{background:#78350f;border-color:#d97706}[data-theme=dark] .cc-btn-review .cc-shortcut{background:#78350f;color:#fcd34d}.flashcard-chat-placeholder{display:flex;align-items:center;gap:.75rem;width:100%;max-width:700px;margin:1rem auto .75rem;padding:.875rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000a;position:relative}.flashcard-chat-placeholder:hover:not(.disabled):not(.loading){border-color:#2d7a3e;box-shadow:0 2px 8px #2d7a3e1a;transform:translateY(-1px)}.flashcard-chat-placeholder:focus{outline:none;border-color:#2d7a3e;box-shadow:0 0 0 3px #2d7a3e1f}.flashcard-chat-placeholder.disabled,.flashcard-chat-placeholder.loading{opacity:.6;cursor:not-allowed}.placeholder-icon{font-size:1.125rem;color:#2d7a3e;flex-shrink:0}.placeholder-text{flex:1;font-size:.9375rem;color:#888;font-weight:500}.chat-indicator-dot{position:absolute;top:.625rem;right:.625rem;width:8px;height:8px;background:#2d7a3e;border-radius:50%;animation:pulse-indicator 2s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media (max-width: 768px){.flashcard-chat-placeholder{margin:.75rem auto .5rem;padding:.75rem 1rem;gap:.625rem}.placeholder-icon{font-size:1rem}.placeholder-text{font-size:.875rem}}.flashcard-chat-modal-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:2000;pointer-events:none}.flashcard-chat-modal{position:relative;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 80px #00000040,0 10px 30px #00000026,0 0 0 1px #0000000d;animation:slideUpModal .3s cubic-bezier(.25,.8,.25,1);pointer-events:auto;-webkit-user-select:none;user-select:none;transition:box-shadow .2s ease}.flashcard-chat-modal.dragging,.flashcard-chat-modal.resizing{box-shadow:0 35px 100px #0000004d,0 15px 40px #0003,0 0 0 1px #00000014;transition:none}.resize-handle{position:absolute;z-index:10}.resize-n{top:0;left:12px;right:12px;height:6px;cursor:n-resize}.resize-s{bottom:0;left:12px;right:12px;height:6px;cursor:s-resize}.resize-e{right:0;top:12px;bottom:12px;width:6px;cursor:e-resize}.resize-w{left:0;top:12px;bottom:12px;width:6px;cursor:w-resize}.resize-ne{top:0;right:0;width:14px;height:14px;cursor:ne-resize}.resize-nw{top:0;left:0;width:14px;height:14px;cursor:nw-resize}.resize-se{bottom:0;right:0;width:14px;height:14px;cursor:se-resize}.resize-sw{bottom:0;left:0;width:14px;height:14px;cursor:sw-resize}.resize-handle:hover{background:#2d7a3e1a}.resize-se:hover,.resize-nw:hover,.resize-ne:hover,.resize-sw:hover{background:#2d7a3e26;border-radius:4px}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none;transition:background .15s ease}.chat-modal-header:hover{background:#fafafa}.chat-modal-header:active,.flashcard-chat-modal.dragging .chat-modal-header{cursor:grabbing;background:#f5f5f5}.header-left{display:flex;align-items:center;gap:.625rem}.chat-modal-logo{height:24px;width:auto}.header-brand{font-size:.9375rem;font-weight:600;color:#1a1a1a;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;gap:.5rem}.clear-chat-btn,.close-modal-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f5f5f5;border-radius:8px;color:#666;cursor:pointer;transition:all .2s ease}.clear-chat-btn:hover,.close-modal-btn:hover{background:#eee;color:#333}.close-modal-btn{font-size:1.125rem}.context-preview{padding:.75rem 1.25rem;background:#fafaf9;border-bottom:1px solid #e5e7eb;display:flex;align-items:flex-start;gap:.5rem;flex-shrink:0;min-height:0}.context-label{font-size:.6875rem;font-weight:600;color:#2d7a3e;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;padding-top:.125rem}.context-question{font-size:.875rem;color:#374151;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-messages-area{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.125rem;background:#f9f7f3;position:relative;-webkit-user-select:text;user-select:text}.flashcard-chat-modal.dragging .chat-messages-area{-webkit-user-select:none;user-select:none}.chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;height:100%;color:#666}.chat-loading .spin{font-size:1.5rem;color:#2d7a3e;animation:spin 1s linear infinite}.chat-start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem 1.5rem}.start-prompts{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:500px}.start-prompt{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:100px;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all .2s ease;white-space:nowrap}.start-prompt:hover{border-color:#2d7a3e;color:#2d7a3e;background:#f0fdf4}.start-prompt:active{transform:scale(.98)}.prompt-icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor}.chat-empty-state,.chat-empty-state-v2{display:none}.messages-list{display:flex;flex-direction:column;gap:1.25rem}.msg{display:flex;flex-direction:column}.msg.user{align-items:flex-end}.msg.user .msg-body{max-width:75%;background:#2d7a3e;color:#fff;padding:.75rem 1rem;border-radius:18px 18px 4px;font-size:.9rem;line-height:1.55}.msg.user .msg-body p{margin:0;color:#fff}.msg.assistant{align-items:flex-start}.msg-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.msg-logo{width:20px;height:20px;object-fit:contain}.msg-name{font-size:.8125rem;font-weight:600;color:#374151}.msg.assistant .msg-body{max-width:90%;color:#1f2937;font-size:.9rem;line-height:1.65;padding-left:.125rem}.msg.assistant .msg-body p{margin:0 0 .75rem}.msg.assistant .msg-body p:last-child{margin-bottom:0}.typing-dots{display:flex;gap:4px;padding:.5rem 0}.typing-dots span{width:6px;height:6px;background:#2d7a3e;border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.msg.assistant .msg-body strong{color:#111827;font-weight:600}.msg.assistant .msg-body em{color:#374151}.msg.assistant .msg-body code{background:#f3f4f6;padding:.125rem .375rem;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85em;color:#2d7a3e}.msg.assistant .msg-body pre{background:#f9fafb;padding:1rem;border-radius:8px;overflow-x:auto;margin:.75rem 0;border:1px solid #e5e7eb}.msg.assistant .msg-body pre code{background:none;padding:0;color:#1f2937}.msg.assistant .msg-body ul,.msg.assistant .msg-body ol{margin:.5rem 0;padding-left:1.25rem}.msg.assistant .msg-body li{margin:.375rem 0}.msg.assistant .msg-body blockquote{border-left:3px solid #2d7a3e;margin:.75rem 0;padding-left:1rem;color:#4b5563;font-style:italic}.msg.assistant .msg-body h1,.msg.assistant .msg-body h2,.msg.assistant .msg-body h3,.msg.assistant .msg-body h4{margin:1rem 0 .5rem;color:#111827;font-weight:600;line-height:1.3}.msg.assistant .msg-body h1:first-child,.msg.assistant .msg-body h2:first-child,.msg.assistant .msg-body h3:first-child{margin-top:0}.msg.assistant .msg-body table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.875rem}.msg.assistant .msg-body th,.msg.assistant .msg-body td{border:1px solid #e5e7eb;padding:.5rem .75rem;text-align:left}.msg.assistant .msg-body th{background:#f9fafb;font-weight:600}.chat-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-error p{margin:0;color:#dc2626;font-size:.875rem}.chat-error button{background:none;border:1px solid #dc2626;color:#dc2626;padding:.25rem .625rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s}.chat-error button:hover{background:#dc2626;color:#fff}.chat-input-area{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0}.modal-chat-input{flex:1;padding:.625rem 1rem;border:1.5px solid #e2e8f0;border-radius:100px;font-size:.9rem;outline:none;transition:all .2s ease;font-family:inherit;background:#fafafa;color:#1a1a1a}.modal-chat-input:focus{border-color:#2d7a3e;background:#fff;box-shadow:0 0 0 3px #2d7a3e14}.modal-chat-input:disabled{background:#f1f5f9;color:#94a3b8}.modal-chat-input::placeholder{color:#94a3b8}.modal-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#2d7a3e;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s ease;font-size:.875rem}.modal-send-btn:hover:not(:disabled){background:#246b34}.modal-send-btn:disabled{background:#d1d5db;cursor:not-allowed}.modal-send-btn .spin{animation:spin 1s linear infinite}@media (max-width: 768px){.flashcard-chat-modal{width:100%!important;height:100%!important;max-height:none;border-radius:0;transform:none!important}.resize-handle{display:none}.chat-modal-header{padding:.875rem 1rem;cursor:default}.chat-modal-logo{height:24px}.header-brand{font-size:.9rem}.chat-messages-area{padding:1rem}.message-content{max-width:85%}.chat-input-area{padding:.75rem 1rem}}.add-to-notes-btn{position:absolute;display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:#2d7a3e;color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #2d7a3e4d;z-index:100;animation:fadeInBtn .15s ease-out;white-space:nowrap}@keyframes fadeInBtn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.add-to-notes-btn:hover{background:#245c30;box-shadow:0 6px 16px #2d7a3e66}.add-to-notes-btn svg{font-size:.75rem}.notes-hint,.empty-icon,.empty-icon-wrapper,.chat-message,.message-avatar,.message-content,.avatar-letter,.avatar-logo,.typing-indicator{display:none}.notes-toggle-btn{position:fixed;right:0;top:68%;transform:translateY(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--brand-green);color:#fff;border:none;border-radius:12px 0 0 12px;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:-2px 2px 12px #2d7a3e33;transition:all .2s ease;z-index:100}.notes-toggle-btn:hover{padding-right:1.25rem;box-shadow:-4px 4px 16px #2d7a3e4d}.notes-toggle-btn svg{font-size:1rem}.study-notes-panel{position:fixed;right:0;top:0;height:100vh;background:#fff;border-left:1px solid var(--border-light);display:flex;flex-direction:column;box-shadow:-4px 0 20px #00000014;z-index:200;animation:slideInPanel .3s ease-out}@keyframes slideInPanel{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.study-notes-panel.resizing{-webkit-user-select:none;user-select:none;transition:none}.notes-resize-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;transition:background .2s ease;z-index:10}.notes-resize-handle:hover,.study-notes-panel.resizing .notes-resize-handle{background:var(--brand-green)}.notes-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:#fafafa;flex-shrink:0}.notes-header-left{display:flex;align-items:center;gap:.625rem}.notes-icon{font-size:1rem;color:var(--brand-green)}.notes-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text-charcoal)}.notes-header-right{display:flex;align-items:center;gap:.75rem}.notes-mode-toggle{display:flex;gap:2px;background:#f1f5f9;padding:3px;border-radius:8px}.mode-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer;transition:all .2s ease}.mode-btn:hover:not(.active){background:#e2e8f0}.mode-btn.active{background:#fff;color:var(--brand-green);box-shadow:0 1px 3px #0000001a}.mode-btn svg{font-size:.8rem}.notes-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f5f5f5;color:#666;border-radius:8px;cursor:pointer;transition:all .2s ease}.notes-close-btn:hover{background:#eee;color:#333}.notes-subheader{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1.25rem;background:#f9f7f3;border-bottom:1px solid var(--border-light);flex-shrink:0}.notes-subheader p{margin:0;font-size:.75rem;color:#666}.notes-save-status{font-size:.75rem}.status-saving{color:#d97706}.status-saved{color:var(--brand-green)}.notes-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.notes-textarea{flex:1;width:100%;border:none;padding:1rem 1.25rem;font-size:.9375rem;line-height:1.7;resize:none;outline:none;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:#fff;color:var(--text-charcoal)}.notes-textarea::placeholder{color:#9ca3af}.notes-textarea:focus{background:#fafafa}.notes-preview{flex:1;overflow-y:auto;padding:1rem 1.25rem;background:#fff}.notes-preview.markdown-content{font-size:.9375rem;line-height:1.7;color:var(--text-charcoal)}.notes-preview.markdown-content h1,.notes-preview.markdown-content h2,.notes-preview.markdown-content h3{margin-top:1rem;margin-bottom:.5rem;color:var(--text-charcoal)}.notes-preview.markdown-content p{margin:0 0 .75rem}.notes-preview.markdown-content ul,.notes-preview.markdown-content ol{margin:.5rem 0;padding-left:1.5rem}.notes-preview.markdown-content li{margin:.25rem 0}.notes-preview.markdown-content code{background:#f1f5f9;padding:.15rem .4rem;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85em;color:var(--brand-green)}.notes-preview.markdown-content pre{background:#f1f5f9;padding:.875rem;border-radius:8px;overflow-x:auto;margin:.75rem 0}.notes-preview.markdown-content pre code{background:none;padding:0;color:var(--text-charcoal)}.notes-preview.markdown-content blockquote{border-left:3px solid var(--brand-green);margin:.75rem 0;padding-left:1rem;color:#555;font-style:italic}.notes-empty{color:#9ca3af;font-style:italic;text-align:center;margin-top:2rem}@media (max-width: 1024px){.study-notes-panel{width:100%!important;max-width:400px}}@media (max-width: 768px){.notes-toggle-btn{top:auto;bottom:6rem;right:0;transform:none;padding:.625rem .875rem;font-size:.8125rem}.study-notes-panel{max-width:none;width:100%!important}.notes-resize-handle{display:none}}.study-deck{width:100%;max-width:1100px;margin:0 auto;min-height:calc(100vh - 120px);display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.75rem;padding-bottom:.875rem;border-bottom:2px solid var(--border-light)}.deck-title{font-size:1.125rem;font-weight:700;color:var(--text-charcoal);letter-spacing:-.01em}.progress-section{display:flex;align-items:center;gap:1rem;flex:1;max-width:400px}.progress-counter{font-size:.875rem;font-weight:700;color:var(--brand-green);min-width:60px;text-align:right;font-family:Courier New,Courier,monospace}.progress-bar{flex:1;height:10px;background-color:var(--border-light);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-bar-comprehension{display:flex}.progress-bar-comprehension .progress-got-it{background:#22c55e;border-radius:6px 0 0 6px;box-shadow:none}.progress-bar-comprehension .progress-review{background:#f59e0b;border-radius:0;box-shadow:none}.study-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1rem;gap:1.25rem}.card-navigation{display:flex;align-items:center;justify-content:center;gap:2rem;margin-top:1.5rem;width:100%;max-width:700px}.nav-arrow{min-width:140px;padding:.875rem 1.75rem;background:var(--card-bg);border:2px solid var(--border-light);border-radius:12px;color:var(--text-charcoal);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-subtle)}.nav-arrow:hover:not(:disabled){background:var(--brand-green);color:#fff;border-color:var(--brand-green);transform:translateY(-2px);box-shadow:var(--shadow-card)}.nav-arrow:active:not(:disabled){transform:translateY(0)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed;background:var(--page-bg)}.nav-hint{flex:1;text-align:center;color:var(--text-lightgray);font-size:.875rem;font-style:italic;font-weight:500}.keyboard-hints{display:flex;justify-content:center;gap:1.5rem;font-size:.8125rem;font-weight:600;color:var(--text-gray);background:var(--card-bg);padding:.75rem 1.5rem;border-radius:10px;border:1px solid var(--border-light);box-shadow:var(--shadow-subtle)}.keyboard-hints span{display:flex;align-items:center;gap:.375rem}.quiz-section{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--card-bg);border:2px solid var(--brand-green);border-radius:16px;padding:1.75rem 2.5rem;text-align:center;box-shadow:0 8px 32px #2d7a3e26;z-index:100;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.quiz-prompt h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--text-charcoal);letter-spacing:-.01em}.quiz-prompt p{margin:0 0 1.25rem;font-size:.9375rem;color:var(--text-gray)}.btn-primary{width:100%;padding:.875rem 2rem;background:var(--brand-green);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2d7a3e33}.btn-primary:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2d7a3e4d}.btn-primary:active{transform:translateY(0)}@media (max-width: 768px){.top-nav{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.deck-title{font-size:1rem}.progress-section{width:100%;max-width:none}.study-main{padding:.75rem;gap:1rem}.card-navigation{flex-direction:column;gap:1rem;margin-top:1.25rem}.nav-arrow{width:100%;min-width:unset}.nav-hint{order:-1;margin-bottom:.5rem}.keyboard-hints{font-size:.75rem;gap:1rem;padding:.625rem 1rem}.quiz-section{left:1rem;right:1rem;transform:none;bottom:1rem;padding:1.5rem 1.75rem}}@media (max-width: 480px){.keyboard-hints{flex-wrap:wrap;justify-content:center}}.study-deck.notes-open{transition:padding-right .3s ease}@media (min-width: 1025px){.study-deck.notes-open{padding-right:360px}.study-deck.notes-open .quiz-section{right:calc(360px + 1rem);left:auto;transform:none}}@media (min-width: 769px) and (max-width: 1024px){.study-deck.notes-open{padding-right:320px}.study-deck.notes-open .quiz-section{right:calc(320px + 1rem);left:1rem;transform:none}}:root{--brand-green: #2d7a3e;--brand-green-dark: #245c30;--brand-green-light: #e8f5e9;--page-bg: #f9f7f3;--card-bg: #ffffff;--text-charcoal: #1a1a1a;--text-gray: #666666;--text-lightgray: #999999;--border-light: #e5e7eb;--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .12)}.deck-view{min-height:100vh;background:var(--page-bg);padding:90px 2rem 3rem}.deck-view .back-button{background:none;border:none;color:var(--text-gray);font-size:.875rem;font-weight:500;cursor:pointer;margin-bottom:1.5rem;padding:.5rem 0;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.deck-view .back-button:hover{color:var(--brand-green)}.ai-priority-badge{position:relative;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:20px;font-size:.8rem;font-weight:600;cursor:default;transition:all .2s ease;z-index:10;-webkit-user-select:none;user-select:none}.ai-priority-badge:hover{transform:scale(1.05)}.ai-priority-badge.compact{padding:.25rem .5rem;font-size:.7rem;gap:.25rem}.ai-priority-badge.compact .ai-priority-icon{font-size:.65rem}.ai-priority-badge.high{background:linear-gradient(135deg,#2d7a3e26,#2d7a3e40);border:1.5px solid rgba(45,122,62,.5);color:#2d7a3e}.ai-priority-badge.high:hover{background:linear-gradient(135deg,#2d7a3e33,#2d7a3e4d);border-color:#2d7a3eb3;box-shadow:0 2px 8px #2d7a3e33}.ai-priority-badge.high .ai-priority-icon{color:#2d7a3e}.ai-priority-badge.medium{background:linear-gradient(135deg,#64748b1a,#64748b2e);border:1.5px solid rgba(100,116,139,.35);color:#64748b}.ai-priority-badge.medium:hover{background:linear-gradient(135deg,#64748b26,#64748b38);border-color:#64748b80;box-shadow:0 2px 8px #64748b26}.ai-priority-badge.medium .ai-priority-icon{color:#64748b}.ai-priority-badge.low{background:linear-gradient(135deg,#94a3b814,#94a3b826);border:1.5px solid rgba(148,163,184,.3);color:#94a3b8}.ai-priority-badge.low:hover{background:linear-gradient(135deg,#94a3b81f,#94a3b833);border-color:#94a3b866}.ai-priority-badge.low .ai-priority-icon{color:#94a3b8}.ai-priority-icon{font-size:.75rem;flex-shrink:0}.ai-priority-score{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-weight:700;letter-spacing:-.02em}.ai-priority-tooltip{position:absolute;top:calc(100% + 8px);right:0;width:200px;padding:.85rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001f,0 0 0 1px #0000000d;z-index:100;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-priority-tooltip:before{content:"";position:absolute;top:-6px;right:16px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-top:1px solid rgba(0,0,0,.05);border-left:1px solid rgba(0,0,0,.05)}.tooltip-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.tooltip-brain{color:#2d7a3e;font-size:.85rem}.tooltip-title{font-weight:600;font-size:.8rem;color:#1e293b;flex:1}.tooltip-level{font-size:.65rem;font-weight:600;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.tooltip-level.high{background:#2d7a3e26;color:#2d7a3e}.tooltip-level.medium{background:#64748b26;color:#64748b}.tooltip-level.low{background:#94a3b826;color:#94a3b8}.tooltip-score-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin-bottom:.5rem}.tooltip-score-fill{height:100%;border-radius:3px;transition:width .3s ease}.tooltip-score-fill.high{background:linear-gradient(90deg,#2d7a3e,#4caf50)}.tooltip-score-fill.medium{background:linear-gradient(90deg,#64748b,#94a3b8)}.tooltip-score-fill.low{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.tooltip-score-text{display:flex;align-items:baseline;gap:.15rem;margin-bottom:.5rem}.score-value{font-size:1.25rem;font-weight:700;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.score-max{font-size:.75rem;color:#94a3b8;font-weight:500}.tooltip-justification{font-size:.75rem;color:#64748b;line-height:1.45;margin:0;padding-top:.5rem;border-top:1px solid #f1f5f9}@media (max-width: 768px){.ai-priority-badge{padding:.3rem .55rem;font-size:.75rem}.ai-priority-tooltip{width:180px;right:-10px}.ai-priority-tooltip:before{right:26px}}@media (prefers-color-scheme: dark){.ai-priority-tooltip{background:#1e293b;box-shadow:0 4px 20px #0000004d,0 0 0 1px #ffffff1a}.ai-priority-tooltip:before{background:#1e293b;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}.tooltip-title{color:#f1f5f9}.tooltip-score-bar{background:#334155}.score-value{color:#f1f5f9}.tooltip-justification{color:#94a3b8;border-top-color:#334155}}.story-card-wrapper{--story-brand-green: #2d7a3e;--story-brand-green-dark: #245c30;--story-brand-green-light: #e8f5e9;--story-card-bg: #ffffff;--story-page-bg: #f5f3ef;--story-text-dark: #1a1a1a;--story-text-gray: #4a4a4a;--story-text-light: #717171;--story-text-muted: #9a9a9a;--story-border: #e2e0dc;--story-border-light: #eceae6;--story-shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--story-shadow-md: 0 4px 20px rgba(0, 0, 0, .08);--story-shadow-lg: 0 8px 40px rgba(0, 0, 0, .12);--story-shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .04);--story-radius-sm: 8px;--story-radius-md: 12px;--story-radius-lg: 16px;--story-radius-xl: 20px;--story-transition: .2s ease}.story-card-wrapper{position:relative;width:100%;height:100%;max-width:1400px;margin:0 auto;perspective:2000px}.story-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer}.story-card .story-card-front{transition:opacity .4s ease,transform .4s ease;opacity:1}.story-card .story-card-back{transition:opacity .4s ease;opacity:0;pointer-events:none}.story-card.flipped .story-card-front{opacity:0;transform:translate(-50%,-50%) scale(.95);pointer-events:none}.story-card.flipped .story-card-back{opacity:1;pointer-events:auto}.story-card-front,.story-card-back{position:absolute;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--story-card-bg);border-radius:var(--story-radius-xl);box-shadow:var(--story-shadow-card);overflow:hidden}.story-card-front{min-height:320px;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;max-width:800px;display:flex;align-items:center;justify-content:center;padding:3rem 4rem;border:1px solid var(--story-border-light)}.story-card-back{height:100%;border:1px solid var(--story-border-light);overflow:hidden}.story-front-content{text-align:center;max-width:700px}.story-question-text{font-size:1.75rem;font-weight:600;color:var(--story-text-dark);line-height:1.4;letter-spacing:-.02em;margin-bottom:2rem}.story-flip-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--story-text-muted);font-size:.9375rem;font-weight:500}.story-flip-hint .flip-hint-icon{opacity:.7;animation:bounceRight 1.5s ease-in-out infinite}@keyframes bounceRight{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.story-card-back{display:flex;flex-direction:column;padding:1.25rem 1.5rem}.story-card-actions{position:absolute;top:1.25rem;right:1.25rem;display:flex;align-items:center;gap:.625rem;z-index:10}.story-bookmark-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--story-card-bg);border:1px solid var(--story-border);border-radius:50%;color:var(--story-text-light);font-size:1rem;cursor:pointer;transition:all var(--story-transition);box-shadow:var(--story-shadow-sm);flex-shrink:0}.story-bookmark-btn:hover{background:var(--story-brand-green-light);border-color:var(--story-brand-green);color:var(--story-brand-green);transform:scale(1.05)}.story-bookmark-btn.bookmarked{background:var(--story-brand-green);border-color:var(--story-brand-green);color:#fff}.story-bookmark-btn.bookmarked:hover{background:var(--story-brand-green-dark)}.story-answer-tabs-wrapper{position:relative;display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-right:10rem}.story-answer-tabs{display:flex;gap:.625rem}.story-text-size-controls{display:flex;gap:2px;justify-content:flex-end;margin-bottom:6px}.story-size-btn{display:flex;align-items:center;gap:1px;padding:.3rem .5rem;background:var(--story-card-bg);border:1.5px solid var(--story-border);border-radius:var(--story-radius-sm);color:var(--story-text-light);font-size:.8125rem;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;transition:all var(--story-transition);line-height:1}.story-size-btn:first-child{border-radius:var(--story-radius-sm) 0 0 var(--story-radius-sm);border-right:none}.story-size-btn:last-child{border-radius:0 var(--story-radius-sm) var(--story-radius-sm) 0}.story-size-btn:hover:not(:disabled){background:var(--story-brand-green-light);border-color:var(--story-brand-green);color:var(--story-brand-green)}.story-size-btn:disabled{opacity:.35;cursor:default}.story-size-btn .size-indicator{font-size:.7rem;margin-left:1px}.story-show-image-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--story-page-bg);border:1.5px solid var(--story-border);border-radius:var(--story-radius-sm);color:var(--story-text-light);cursor:pointer;transition:all var(--story-transition);flex-shrink:0}.story-show-image-btn:hover{background:var(--story-brand-green-light);border-color:var(--story-brand-green);color:var(--story-brand-green)}.story-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f0faf2;border:2px solid #c8e6cd;border-radius:var(--story-radius-md);color:#3a7d4a;font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--story-transition);position:relative}.story-tab-btn:hover{border-color:var(--story-brand-green);color:var(--story-brand-green);background:var(--story-brand-green-light);transform:translateY(-1px);box-shadow:0 2px 8px #2d7a3e1f}.story-tab-btn.active{background:var(--story-brand-green);border-color:var(--story-brand-green);color:#fff;box-shadow:0 2px 8px #2d7a3e40}.story-tab-btn .tab-shortcut{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#2d7a3e1f;border-radius:4px;font-size:.75rem;font-weight:700}.story-tab-btn.active .tab-shortcut{background:#ffffff40}.story-tab-btn .tab-icon{display:inline-flex;align-items:center;opacity:.7}.story-tab-btn .tab-icon svg{color:inherit}.story-tab-btn.active .tab-icon{opacity:1}.story-tab-btn.pulse-hint{animation:tabPulseHint 2s ease-in-out 3}@keyframes tabPulseHint{0%,to{box-shadow:0 0 #2d7a3e00}50%{box-shadow:0 0 0 6px #2d7a3e26}}.story-tab-tooltip{position:absolute;top:calc(100% + 8px);left:0;background:#1a1a1a;color:#fff;padding:8px 14px;border-radius:8px;font-size:.78rem;font-weight:500;white-space:nowrap;z-index:10;animation:tooltipFadeIn .3s ease-out;pointer-events:none;box-shadow:0 4px 16px #00000026}.story-tab-tooltip:before{content:"";position:absolute;top:-5px;left:20px;width:10px;height:10px;background:#1a1a1a;transform:rotate(45deg)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.story-mode-nudge{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 12px;background:linear-gradient(135deg,#f0faf2,#e8f5e9);border:1px solid #c8e6cd;border-radius:8px;font-size:.78rem;color:#2d6a3e;animation:nudgeSlideIn .4s ease-out}.story-mode-nudge-icon{display:inline-flex;align-items:center;color:var(--story-brand-green)}.story-mode-nudge button{margin-left:auto;background:none;border:none;color:#666;cursor:pointer;font-size:.85rem;padding:0 4px;line-height:1}@keyframes nudgeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.story-content-grid{display:grid;grid-template-columns:35fr 65fr;gap:1.5rem;flex:1;min-height:0;transition:grid-template-columns .3s ease}.story-content-grid.layout-text-only{grid-template-columns:1fr}.story-resize-handle{display:flex;align-items:center;justify-content:center;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;touch-action:none;border-radius:6px;transition:background .15s;min-width:12px;margin:0 -2px}.story-resize-handle:hover{background:#2d7a3e14}.resize-grip{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(3,5px);gap:3px;padding:6px 4px;border-radius:6px;transition:transform .2s}.story-resize-handle:hover .resize-grip{transform:scaleY(1.1)}.grip-dot{width:5px;height:5px;border-radius:50%;background:var(--story-border);transition:background .2s}.story-resize-handle:hover .grip-dot{background:var(--story-brand-green)}.story-resize-handle:active .grip-dot{background:var(--story-brand-green-dark)}.story-text-column{display:flex;flex-direction:column;min-height:0}.story-text-content{flex:1;overflow-y:auto;padding:1.25rem;background:var(--story-page-bg);border-radius:var(--story-radius-md);border:1px solid var(--story-border-light);font-size:1rem;line-height:1.7;color:var(--story-text-gray);scrollbar-width:thin;scrollbar-color:var(--story-border) transparent}.story-text-content::-webkit-scrollbar{width:6px}.story-text-content::-webkit-scrollbar-track{background:transparent}.story-text-content::-webkit-scrollbar-thumb{background:var(--story-border);border-radius:3px}.story-text-content::-webkit-scrollbar-thumb:hover{background:var(--story-text-light)}.story-text-content.text-size-small{font-size:.875rem;line-height:1.65}.story-text-content.text-size-large{font-size:1.125rem;line-height:1.75}.story-text-content.text-size-xl{font-size:1.3rem;line-height:1.8}.story-markdown-content{font-family:"Source Serif Pro",Georgia,serif}.story-markdown-content p{margin-bottom:1rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.story-markdown-content p:last-child{margin-bottom:0}.story-markdown-content strong{color:var(--story-text-dark);font-weight:700}.story-markdown-content em{font-style:italic;color:var(--story-brand-green-dark)}.story-markdown-content h1,.story-markdown-content h2,.story-markdown-content h3,.story-markdown-content h4{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--story-text-dark);margin-top:1.5rem;margin-bottom:.75rem;line-height:1.3}.story-markdown-content h1:first-child,.story-markdown-content h2:first-child,.story-markdown-content h3:first-child,.story-markdown-content h4:first-child{margin-top:0}.story-markdown-content h1{font-size:1.4rem}.story-markdown-content h2{font-size:1.25rem}.story-markdown-content h3{font-size:1.1rem}.story-markdown-content h4{font-size:1rem;font-weight:600}.story-markdown-content ul,.story-markdown-content ol{margin:1rem 0;padding-left:1.5rem}.story-markdown-content li{margin-bottom:.5rem;line-height:1.6}.story-markdown-content li::marker{color:var(--story-brand-green)}.story-markdown-content li ul,.story-markdown-content li ol{margin:.5rem 0}.story-markdown-content blockquote{margin:1.25rem 0;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--story-brand-green-light),#f0f9f0);border-left:4px solid var(--story-brand-green);border-radius:0 var(--story-radius-sm) var(--story-radius-sm) 0;font-style:italic;color:var(--story-text-gray)}.story-markdown-content blockquote p{margin:0}.story-markdown-content code:not(pre code){background:#2d7a3e1a;color:var(--story-brand-green-dark);padding:.15rem .4rem;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em}.story-markdown-content pre{margin:1.25rem 0;padding:1rem 1.25rem;background:#1a1a2e;border-radius:var(--story-radius-sm);overflow-x:auto}.story-markdown-content pre code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;color:#e0e0e0;line-height:1.5}.story-markdown-content table{width:100%;margin:1.25rem 0;border-collapse:collapse;font-size:.9375rem}.story-markdown-content th,.story-markdown-content td{padding:.75rem 1rem;border:1px solid var(--story-border);text-align:left}.story-markdown-content th{background:var(--story-brand-green-light);font-weight:600;color:var(--story-brand-green-dark)}.story-markdown-content tr:nth-child(2n){background:#00000005}.story-markdown-content hr{margin:1.5rem 0;border:none;height:2px;background:linear-gradient(90deg,transparent,var(--story-border),transparent)}.story-markdown-content a{color:var(--story-brand-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.story-markdown-content a:hover{color:var(--story-brand-green-dark)}.story-markdown-content .katex-display{margin:1.5rem 0;padding:1rem 1.25rem;background:linear-gradient(135deg,#fefefe,#f8f9fa);border:1px solid var(--story-border-light);border-left:3px solid var(--story-brand-green);border-radius:var(--story-radius-sm);overflow-x:auto;scrollbar-width:thin}.story-markdown-content .katex-display>.katex{text-align:left}.story-markdown-content .katex{font-size:1.05em;color:var(--story-text-dark)}.story-markdown-content .katex-display .katex{font-size:1.15em}.story-markdown-content .katex .mathnormal{font-style:italic}.story-markdown-content .katex .mord.text{font-weight:500}.story-scroll-hint{margin-top:.75rem;text-align:center;font-size:.75rem;font-weight:500;color:var(--story-text-muted);text-transform:uppercase;letter-spacing:.05em}.story-media-column{display:flex;flex-direction:column;gap:.75rem;min-height:0;overflow:hidden}.story-image-container{flex:1;position:relative;background:linear-gradient(135deg,#f8f6f2,#efecea);border-radius:var(--story-radius-md);border:1px solid var(--story-border-light);overflow:hidden;min-height:0;display:flex;align-items:center;justify-content:center}.story-image-collapse-btn{position:absolute;top:8px;right:8px;z-index:5;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--story-border);border-radius:6px;color:var(--story-text-light);cursor:pointer;transition:all var(--story-transition);opacity:0}.story-image-container:hover .story-image-collapse-btn{opacity:1}.story-image-collapse-btn:hover{background:#fff;border-color:var(--story-text-gray);color:var(--story-text-dark);transform:scale(1.05)}.story-ai-image{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s ease}.story-ai-image.loaded{opacity:1}.story-image-loading,.story-image-placeholder,.story-image-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--story-text-muted);font-size:.875rem;text-align:center;padding:2rem}.story-image-loading span,.story-image-placeholder span,.story-image-fallback span{font-size:2.5rem}.image-spinner{width:32px;height:32px;border:3px solid var(--story-border);border-top-color:var(--story-brand-green);border-radius:50%;animation:spin .8s linear infinite}.story-actions-row{display:flex;gap:.75rem;align-items:stretch;flex-shrink:0;margin-top:.75rem}.story-chat-placeholder{flex:1;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.125rem;background:linear-gradient(135deg,#f0faf2,#f5f9f6);border:2px solid #c8e6cd;border-radius:var(--story-radius-md);color:var(--story-brand-green);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--story-transition)}.story-chat-placeholder:hover{border-color:var(--story-brand-green);background:var(--story-brand-green-light);color:var(--story-brand-green);transform:translateY(-1px);box-shadow:0 2px 10px #2d7a3e1f}.story-chat-placeholder:focus{outline:none;border-color:var(--story-brand-green);box-shadow:0 0 0 3px #2d7a3e26}.story-chat-placeholder .chat-sparkle-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#2d7a3e1f;border-radius:50%;color:var(--story-brand-green)}.story-chat-placeholder .chat-sparkle-icon svg{color:inherit}.story-chat-placeholder .chat-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-chat-placeholder .chat-ai-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:#2d7a3e1a;color:var(--story-brand-green);padding:2px 6px;border-radius:4px;flex-shrink:0}.story-feedback-buttons{display:flex;gap:.5rem}.story-feedback-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--story-card-bg);border:2px solid var(--story-border);border-radius:var(--story-radius-md);color:var(--story-text-light);font-size:1rem;cursor:pointer;transition:all var(--story-transition)}.story-feedback-btn:hover{border-color:var(--story-text-gray);color:var(--story-text-gray)}.story-feedback-btn.like:hover,.story-feedback-btn.like.active{border-color:var(--story-brand-green);background:var(--story-brand-green-light);color:var(--story-brand-green)}.story-feedback-btn.like.active{background:var(--story-brand-green);color:#fff}.story-feedback-btn.dislike:hover,.story-feedback-btn.dislike.active{border-color:#dc3545;background:#fff5f5;color:#dc3545}.story-feedback-btn.dislike.active{background:#dc3545;color:#fff}.story-feedback-btn:disabled{opacity:.5;cursor:not-allowed}.add-to-notes-btn.story-add-notes{position:absolute;z-index:100;display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--story-brand-green);color:#fff;border:none;border-radius:var(--story-radius-sm);font-size:.8125rem;font-weight:600;cursor:pointer;box-shadow:var(--story-shadow-md);animation:fadeInUp .15s ease-out}.add-to-notes-btn.story-add-notes:hover{background:var(--story-brand-green-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.story-loading-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--story-text-muted);font-size:1rem}.story-loading-spinner{width:40px;height:40px;border:3px solid var(--story-border);border-top-color:var(--story-brand-green);border-radius:50%;animation:spin .8s linear infinite}.btn-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-spinner.small{width:14px;height:14px;border-width:2px}@media (min-width: 1600px){.story-card-wrapper{max-width:1600px}}@media (max-width: 1024px){.story-content-grid{grid-template-columns:40fr 60fr;gap:1.25rem}.story-question-text{font-size:1.5rem}}@media (max-width: 768px){.story-card{height:auto;min-height:calc(100vh - 180px)}.story-card-front{position:relative;top:auto;left:auto;transform:none;width:100%;max-width:none;padding:2rem 1.5rem;min-height:250px;height:auto}.story-card-back{position:relative;padding:1.25rem;height:auto;min-height:calc(100vh - 180px)}.story-card.flipped .story-card-front{transform:scale(.95)}.story-question-text{font-size:1.25rem;margin-bottom:1.5rem}.story-content-grid{grid-template-columns:1fr!important;gap:1rem}.story-resize-handle{display:none}.story-text-column{order:2}.story-media-column{order:1;overflow:visible}.story-image-container{min-height:200px}.story-answer-tabs-wrapper{padding-right:2.5rem;flex-wrap:wrap}.story-answer-tabs{flex-wrap:wrap}.story-tab-btn{padding:.5rem .75rem;font-size:.8125rem}.story-tab-btn .tab-icon{display:none}.story-mode-nudge{font-size:.72rem}.story-tab-btn .tab-shortcut{display:none}.story-bookmark-btn{top:1rem;right:1rem;width:36px;height:36px}.story-actions-row{flex-direction:column}.story-feedback-buttons{justify-content:flex-end}.story-scroll-hint{display:none}.story-image-collapse-btn{opacity:1}}.story-comprehension-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;margin-bottom:1rem;letter-spacing:.01em}.story-badge-review{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.story-badge-got-it{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.story-know-this-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.6rem 1.25rem;border:1.5px solid var(--story-border, #e2e0dc);border-radius:10px;background:transparent;color:var(--story-text-light, #717171);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.story-know-this-btn:hover{border-color:#22c55e;color:#166534;background:#f0fdf4}.story-know-this-btn:active{transform:scale(.97)}@media (max-width: 480px){.story-card-front{padding:1.5rem 1rem}.story-card-back{padding:1rem}.story-question-text{font-size:1.125rem}.story-text-content{padding:1rem;font-size:.9375rem}.story-know-this-btn{font-size:.8rem;padding:.5rem 1rem}}.story-deck{--story-brand-green: #2d7a3e;--story-brand-green-dark: #245c30;--story-brand-green-light: #e8f5e9;--story-page-bg: #f5f3ef;--story-card-bg: #ffffff;--story-text-dark: #1a1a1a;--story-text-gray: #4a4a4a;--story-text-light: #717171;--story-text-muted: #9a9a9a;--story-border: #e2e0dc;--story-border-light: #eceae6;--story-shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--story-shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--story-radius-sm: 8px;--story-radius-md: 12px;--story-radius-lg: 16px;--story-transition: .2s ease}.story-deck{width:100%;height:calc(100vh - 64px);max-height:calc(100vh - 64px);background:var(--story-page-bg);display:flex;flex-direction:column;transition:padding-right .3s ease;overflow:hidden}.story-subheader{display:flex;align-items:center;justify-content:space-between;padding:.875rem 5rem;background:var(--story-card-bg);border-bottom:1px solid var(--story-border-light);position:sticky;top:0;z-index:50}.story-subheader-left{display:flex;align-items:center;gap:1.5rem}.story-exit-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--story-card-bg);border:2px solid var(--story-border);border-radius:var(--story-radius-md);color:var(--story-text-gray);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--story-transition)}.story-exit-btn:hover{background:var(--story-page-bg);border-color:var(--story-text-light);color:var(--story-text-dark)}.story-exit-btn svg{font-size:.875rem}.story-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.9375rem}.breadcrumb-link{background:none;border:none;padding:.25rem .5rem;color:var(--story-text-gray);font-weight:500;cursor:pointer;transition:color var(--story-transition);border-radius:var(--story-radius-sm)}.breadcrumb-link:hover{color:var(--story-brand-green);background:var(--story-brand-green-light)}.breadcrumb-separator{color:var(--story-text-muted);font-weight:400}.story-subheader-right{display:flex;align-items:center;gap:1rem}.story-progress-counter{font-size:.875rem;font-weight:700;color:var(--story-brand-green);font-family:SF Mono,Monaco,Inconsolata,monospace;min-width:50px;text-align:right}.story-progress-bar{width:180px;height:8px;background:var(--story-border-light);border-radius:4px;overflow:hidden}.story-progress-fill{height:100%;background:var(--story-brand-green);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}.story-progress-comprehension{display:flex;gap:0}.story-progress-comprehension .story-progress-got-it{background:#22c55e;border-radius:4px 0 0 4px}.story-progress-comprehension .story-progress-review{background:#f59e0b;border-radius:0}.story-progress-comprehension .story-progress-got-it:last-child{border-radius:4px}.story-progress-comprehension .story-progress-review:last-child{border-radius:0 4px 4px 0}.story-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:1rem 5rem;gap:1rem;position:relative;overflow:hidden}.story-card-container{flex:1;max-width:1400px;height:100%;display:flex;align-items:flex-start;justify-content:center}.story-nav-arrow{position:fixed;top:50%;transform:translateY(-50%);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--story-card-bg);border:2px solid var(--story-border);border-radius:50%;color:var(--story-text-gray);font-size:1.25rem;cursor:pointer;transition:all var(--story-transition);box-shadow:var(--story-shadow-md);z-index:40}.story-nav-arrow:hover:not(:disabled){background:var(--story-brand-green);border-color:var(--story-brand-green);color:#fff;transform:translateY(-50%) scale(1.05)}.story-nav-arrow:active:not(:disabled){transform:translateY(-50%) scale(.98)}.story-nav-arrow:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.story-nav-left{left:1.5rem}.story-nav-right{right:1.5rem}.story-deck.notes-open{padding-right:0}@media (min-width: 1025px){.story-deck.notes-open{padding-right:360px}.story-deck.notes-open .story-nav-right{right:calc(360px + 1.5rem)}}@media (min-width: 769px) and (max-width: 1024px){.story-deck.notes-open{padding-right:320px}.story-deck.notes-open .story-nav-right{right:calc(320px + 1.5rem)}}@media (min-width: 1400px){.story-subheader{padding:.875rem 4rem}.story-nav-left{left:1.5rem}.story-nav-right{right:1.5rem}.story-main{padding:1rem 4rem}.story-card-container{max-width:1600px}}@media (max-width: 1024px){.story-subheader{padding:.75rem 3.5rem}.story-progress-bar{width:140px}.story-main{padding:1rem 3.5rem}.story-nav-arrow{width:48px;height:48px;font-size:1.125rem}.story-nav-left{left:.5rem}.story-nav-right{right:.5rem}}@media (max-width: 768px){.story-deck{height:auto;max-height:none;min-height:calc(100vh - 56px);overflow:auto}.story-main{overflow:auto}.story-subheader{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem 1.5rem}.story-subheader-left,.story-subheader-right{width:100%;justify-content:space-between}.story-progress-bar{flex:1;max-width:200px}.story-breadcrumb{font-size:.8125rem}.story-exit-btn{padding:.375rem .75rem;font-size:.8125rem}.story-main{padding:1rem .5rem;flex-direction:column}.story-nav-arrow{position:relative;top:auto;transform:none;width:44px;height:44px;font-size:1rem}.story-nav-arrow:hover:not(:disabled){transform:scale(1.05)}.story-nav-arrow:active:not(:disabled){transform:scale(.98)}.story-nav-left,.story-nav-right{left:auto;right:auto}.story-main:after{content:"";order:3}.story-card-container{order:1;width:100%}.story-nav-left{order:2;margin-right:1rem}.story-nav-right{order:2}}@media (max-width: 480px){.story-subheader-left{flex-direction:column;align-items:flex-start;gap:.5rem}.story-exit-btn span{display:none}.story-exit-btn{padding:.5rem}}.story-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem}.story-empty-icon{font-size:4rem;margin-bottom:1.5rem}.story-empty-state h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:var(--story-text-dark)}.story-empty-state p{margin:0 0 1.5rem;font-size:1rem;color:var(--story-text-light)}.story-empty-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--story-brand-green);color:#fff;border:none;border-radius:var(--story-radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--story-transition)}.story-empty-btn:hover{background:var(--story-brand-green-dark);transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.story-progress-fill,.story-nav-arrow{transition:none}}@media print{.story-nav-arrow,.story-exit-btn,.notes-toggle-btn{display:none!important}.story-deck{min-height:auto;padding:0}.story-subheader{position:static;border:none}}.story-card-view{width:100%;height:calc(100vh - 64px);max-height:calc(100vh - 64px);background:#f5f3ef;overflow:hidden}.story-loading-container{display:flex;align-items:center;justify-content:center;height:calc(100vh - 64px);max-height:calc(100vh - 64px);background:#f5f3ef;padding:2rem;overflow:hidden}.story-loading-card{text-align:center;background:#fff;padding:3rem 4rem;border-radius:20px;box-shadow:0 1px 3px #0000000a,0 4px 12px #0000000f,0 8px 24px #0000000a}.story-loading-spinner{width:48px;height:48px;margin:0 auto 1.5rem;border:4px solid #e2e0dc;border-top-color:#2d7a3e;border-radius:50%;animation:storySpinner .8s linear infinite}@keyframes storySpinner{to{transform:rotate(360deg)}}.story-loading-card h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1a1a1a}.story-loading-card p{margin:0;font-size:.9375rem;color:#717171}.story-error-container{display:flex;align-items:center;justify-content:center;height:calc(100vh - 64px);max-height:calc(100vh - 64px);background:#f5f3ef;padding:2rem;overflow:hidden}.story-error-card{text-align:center;background:#fff;padding:3rem 4rem;border-radius:20px;max-width:500px;box-shadow:0 1px 3px #0000000a,0 4px 12px #0000000f,0 8px 24px #0000000a}.story-error-icon{font-size:3.5rem;margin-bottom:1.25rem}.story-error-card h2{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:#1a1a1a}.story-error-card p{margin:0 0 .5rem;font-size:1rem;color:#4a4a4a;line-height:1.5}.story-error-hint{font-size:.875rem!important;color:#717171!important;margin-bottom:1.5rem!important}.story-error-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#2d7a3e;color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.story-error-btn:hover{background:#245c30;transform:translateY(-1px)}@media (max-width: 768px){.story-card-view{height:calc(100vh - 56px);max-height:calc(100vh - 56px)}.story-loading-container,.story-error-container{height:calc(100vh - 56px);max-height:calc(100vh - 56px);padding:1rem}.story-loading-card,.story-error-card{padding:2rem 1.5rem;border-radius:16px}.story-error-card h2{font-size:1.25rem}.story-error-icon{font-size:2.5rem}}.visual-container{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;text-align:center}.graphviz-container{overflow-x:auto}.graphviz-render svg{max-width:100%;height:auto}.plotly-container{min-height:400px}.latex-container{font-size:1.1em;padding:15px}.visual-alt-text{margin-top:12px;font-size:.9em;color:#666;font-style:italic}.visual-error{padding:20px;color:#d32f2f;background:#ffebee;border-radius:4px;font-size:.95em}.explanation-renderer{--exp-text: #1e293b;--exp-text-secondary: #475569;--exp-text-muted: #64748b;--exp-green: #4A7C59;--exp-green-light: rgba(74, 124, 89, .1);--exp-green-dark: #3d6b4a;--exp-border: #e2e8f0;--exp-border-light: #f1f5f9;--exp-bg-subtle: #f8fafc;--exp-code-bg: #f1f5f9;--exp-radius: 8px}.explanation-renderer{font-size:1rem;line-height:1.75;color:var(--exp-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.explanation-renderer.compact{font-size:.9rem;line-height:1.65}.explanation-renderer h1,.explanation-renderer h2,.explanation-renderer h3,.explanation-renderer h4,.explanation-renderer h5,.explanation-renderer h6{color:var(--exp-text);font-weight:600;line-height:1.4;margin-top:1.5em;margin-bottom:.75em}.explanation-renderer h1:first-child,.explanation-renderer h2:first-child,.explanation-renderer h3:first-child{margin-top:0}.explanation-renderer h1{font-size:1.5em;padding-bottom:.5em;border-bottom:2px solid var(--exp-green)}.explanation-renderer h2{font-size:1.3em;color:var(--exp-green-dark)}.explanation-renderer h3{font-size:1.15em;color:var(--exp-green)}.explanation-renderer h4{font-size:1.05em}.explanation-renderer p{margin:0 0 1em}.explanation-renderer p:last-child{margin-bottom:0}.explanation-renderer strong{font-weight:600;color:var(--exp-text)}.explanation-renderer em{font-style:italic;color:var(--exp-text-secondary)}.explanation-renderer ul,.explanation-renderer ol{margin:1em 0;padding-left:1.75em}.explanation-renderer li{margin-bottom:.5em;line-height:1.65}.explanation-renderer li:last-child{margin-bottom:0}.explanation-renderer ul{list-style-type:disc}.explanation-renderer ul ul{list-style-type:circle;margin:.5em 0}.explanation-renderer ol{list-style-type:decimal}.explanation-renderer li>p{margin:0}.explanation-renderer ul>li::marker{color:var(--exp-green)}.explanation-renderer ol>li::marker{color:var(--exp-green);font-weight:600}.explanation-renderer code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.9em;padding:.2em .4em;background:var(--exp-code-bg);border-radius:4px;color:var(--exp-green-dark)}.explanation-renderer pre{margin:1.25em 0;padding:1rem 1.25rem;background:var(--exp-bg-subtle);border:1px solid var(--exp-border);border-left:3px solid var(--exp-green);border-radius:var(--exp-radius);overflow-x:auto;scrollbar-width:thin}.explanation-renderer pre code{padding:0;background:transparent;font-size:.875em;line-height:1.6;color:var(--exp-text)}.explanation-renderer blockquote{margin:1.25em 0;padding:.75rem 1rem;background:var(--exp-green-light);border-left:4px solid var(--exp-green);border-radius:0 var(--exp-radius) var(--exp-radius) 0;color:var(--exp-text-secondary);font-style:italic}.explanation-renderer blockquote p{margin:0}.explanation-renderer table{width:100%;margin:1.25em 0;border-collapse:collapse;font-size:.95em;border-radius:var(--exp-radius);overflow:hidden;border:1px solid var(--exp-border)}.explanation-renderer th,.explanation-renderer td{padding:.75rem 1rem;border:1px solid var(--exp-border);text-align:left}.explanation-renderer th{background:var(--exp-green-light);font-weight:600;color:var(--exp-green-dark)}.explanation-renderer tr:nth-child(2n){background:var(--exp-bg-subtle)}.explanation-renderer tr:hover{background:#4a7c590d}.explanation-renderer hr{margin:1.5rem 0;border:none;height:2px;background:linear-gradient(90deg,transparent,var(--exp-border),transparent)}.explanation-renderer a{color:var(--exp-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:color .2s ease}.explanation-renderer a:hover{color:var(--exp-green-dark)}.explanation-renderer .katex-display{margin:1.25rem 0;padding:1rem 1.25rem;background:linear-gradient(135deg,#fefefe,#f8f9fa);border:1px solid var(--exp-border-light);border-left:3px solid var(--exp-green);border-radius:var(--exp-radius);overflow-x:auto;scrollbar-width:thin}.explanation-renderer .katex-display>.katex{text-align:left}.explanation-renderer .katex{font-size:1.05em;color:var(--exp-text)}.explanation-renderer .katex-display .katex{font-size:1.1em}.explanation-renderer .katex .mathnormal{font-style:italic}.explanation-renderer .katex .mord.text{font-weight:500}.explanation-renderer.compact h1{font-size:1.25em}.explanation-renderer.compact h2{font-size:1.15em}.explanation-renderer.compact h3{font-size:1.05em}.explanation-renderer.compact ul,.explanation-renderer.compact ol{margin:.75em 0;padding-left:1.5em}.explanation-renderer.compact li{margin-bottom:.35em}.explanation-renderer.compact pre{padding:.75rem 1rem}.explanation-renderer.compact .katex-display{margin:1rem 0;padding:.75rem 1rem}.explanation-renderer img{max-width:100%;height:auto;border-radius:var(--exp-radius);margin:1em 0}@media (max-width: 640px){.explanation-renderer{font-size:.95rem;line-height:1.7}.explanation-renderer h1{font-size:1.35em}.explanation-renderer h2{font-size:1.2em}.explanation-renderer h3{font-size:1.1em}.explanation-renderer pre{padding:.75rem}.explanation-renderer table{font-size:.85em}.explanation-renderer th,.explanation-renderer td{padding:.5rem .75rem}.explanation-renderer .katex-display{padding:.75rem}}.quiz-view-wrapper{width:100%;min-height:100vh;background:#f5f7fa;padding:80px 20px 40px;display:flex;flex-direction:column;align-items:center}.quiz-view{width:100%;max-width:900px;display:flex;flex-direction:column}.quiz-loading,.quiz-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.loading-dots{display:flex;gap:12px}.loading-dots span{width:16px;height:16px;background:#2196f3;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.progress-container{margin-bottom:32px;background:linear-gradient(135deg,#667eea,#764ba2);padding:24px 28px;border-radius:16px;box-shadow:0 8px 24px #667eea4d;position:relative;width:100%}.progress-container.in-card{margin-bottom:20px;padding:16px 18px;box-shadow:none}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.progress-text{color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.progress-score{color:#fff;font-size:14px;font-weight:600;background:#fff3;padding:6px 14px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-track{width:100%;height:12px;background:#fff3;border-radius:10px;overflow:visible;position:relative}.progress-indicator{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 20px #4ade8099;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:50px}.progress-percentage{color:#fff;font-size:11px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.3)}.question-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;padding:40px;margin-bottom:30px;position:relative;z-index:1}.question-content{margin-bottom:30px}.question-type-badge{display:inline-flex;align-items:center;gap:.5rem;padding:10px 18px;border-radius:25px;font-size:.85em;font-weight:700;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px}.mcq-badge{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:2px solid #3b82f6;box-shadow:0 2px 8px #3b82f633}.mca-badge{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed;border:2px solid #8b5cf6;box-shadow:0 2px 8px #8b5cf633}.question-text{font-size:1.5em;color:#333;margin-bottom:25px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.options-container{display:flex;flex-direction:column;gap:12px;margin-top:25px}.option-button{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#fff;border:2px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:1em;position:relative}.option-button:hover:not(.disabled):not(.correct):not(.incorrect):not(.missed){border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#f0f9ff);transform:translate(4px);box-shadow:0 4px 12px #3b82f626}.option-button.selected{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#e0f2fe);box-shadow:0 2px 8px #3b82f633}.option-button.correct{border-color:#22c55e;background:linear-gradient(135deg,#dcfce7,#d1fae5);cursor:default;box-shadow:0 2px 8px #22c55e33}.option-button.incorrect{border-color:#ef4444;background:linear-gradient(135deg,#fee2e2,#fecaca);cursor:default;box-shadow:0 2px 8px #ef444433}.option-button.missed{border:2px dashed #f59e0b;background:linear-gradient(135deg,#fef3c7,#fef9c3);cursor:default;position:relative}.option-button.missed:after{content:"⚠️ Missed";position:absolute;top:-10px;right:12px;font-size:.75em;font-weight:700;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);padding:4px 10px;border-radius:12px;box-shadow:0 2px 4px #f59e0b4d}.option-button.disabled{cursor:default;opacity:.7}.option-button input,.option-button input[type=checkbox],.option-button input[type=radio],.option-input,input.option-input,.options-container input,.options-container input[type=checkbox],.options-container input[type=radio]{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(100%)!important;white-space:nowrap!important;border:none!important;border-width:0!important;opacity:0!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background:transparent!important;outline:none!important;box-shadow:none!important}.option-label{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:10px;font-weight:700;font-size:1rem;color:#64748b;transition:all .2s ease;position:relative;flex-shrink:0}.option-button.correct .option-label,.option-button.incorrect .option-label{font-size:0}.option-button.selected .option-label{background:linear-gradient(135deg,#3b82f6,#2563eb);border-color:#2563eb;color:#fff;box-shadow:0 2px 8px #3b82f64d}.option-button.correct .option-label{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;color:#fff;box-shadow:0 2px 8px #22c55e4d}.option-button.correct .option-label:after{content:"✓";position:absolute;font-size:1.1rem}.option-button.incorrect .option-label{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff;box-shadow:0 2px 8px #ef44444d}.option-button.incorrect .option-label:after{content:"✗";position:absolute;font-size:1.1rem}.option-text{flex:1;line-height:1.5}.explanation-box{margin-top:0;padding:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:24px;box-shadow:0 1px 3px #0000000d,0 10px 40px #00000014;position:relative;overflow:hidden}.explanation-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669)}.explanation-box.incorrect:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.explanation-box.partial:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.explanation-header{padding:1.75rem 2rem 1.5rem;background:linear-gradient(180deg,#f9fafb,#fff);border-bottom:1px solid rgba(0,0,0,.05)}.explanation-box h3{margin:0;font-size:1.25rem;font-weight:700;color:#059669;display:flex;align-items:center;gap:.875rem}.explanation-box h3:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;font-size:1.35rem;font-weight:700;box-shadow:0 4px 12px #10b98159;flex-shrink:0}.explanation-box.incorrect h3{color:#dc2626}.explanation-box.incorrect h3:before{content:"✗";background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444459}.explanation-box.partial h3{color:#d97706}.explanation-box.partial h3:before{content:"~";background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b59}.explanation-content{padding:1.5rem 2rem 2rem}.explanation-box p{margin:0 0 .75rem;line-height:1.75;color:#374151;font-size:1rem}.explanation-box p:last-child{margin-bottom:0}.action-container{display:flex;justify-content:center;margin:2rem 0 1.5rem;padding:0}.action-button{padding:18px 56px;font-size:1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.02em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,sans-serif}.action-button.primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 1px 2px #0000000d,0 4px 12px #10b98140}.action-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 1px 3px #00000014,0 8px 20px #10b98159}.action-button.primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d,0 2px 8px #10b98133}.action-button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width: 768px){.quiz-view{padding:15px}.question-card{padding:25px 20px}.question-text{font-size:1.2em}.option-button{padding:15px}.option-text{font-size:.95em}}.option-text .math-text{display:inline}.option-text .math-text p{display:inline;margin:0}.question-text .katex,.option-text .katex,.explanation-text-content .katex,.correct-answer-note .katex{font-size:1.05em}.question-text .katex-display,.option-text .katex-display,.explanation-text-content .katex-display{margin:.75rem 0;padding:1rem;background:#f8fafc;border-radius:8px;overflow-x:auto}.explanation-text-content{line-height:1.75;color:#374151}.explanation-text-content p{margin:.5rem 0}.explanation-text-content p:first-child{margin-top:0}.explanation-text-content p:last-child{margin-bottom:0}.explanation-text-content code{background:#f1f5f9;padding:.15em .4em;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.explanation-text-content pre{background:#1e293b;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.explanation-text-content pre code{background:transparent;padding:0;color:inherit}.explanation-text-content ul,.explanation-text-content ol{margin:.75rem 0;padding-left:1.5rem}.explanation-text-content li{margin:.25rem 0}.explanation-text-content blockquote{border-left:4px solid #10b981;margin:1rem 0;padding:.5rem 1rem;background:#f0fdf4;border-radius:0 8px 8px 0}.correct-answer-note{margin-top:1.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid rgba(251,191,36,.4);border-radius:14px;font-size:.9375rem;color:#92400e;line-height:1.6}.correct-answer-note strong{color:#78350f;font-weight:700}.correct-answer-note .math-text{display:inline}.correct-answer-note .math-text p{display:inline;margin:0}.results-view{max-width:800px;margin:0 auto;padding:2rem 1rem;min-height:100vh;background-color:var(--bg-primary)}.results-header{text-align:center;margin-bottom:2rem}.results-header h1{color:var(--text-primary);font-size:2rem;font-weight:700}.score-card{background-color:var(--bg-secondary);border-radius:12px;border:2px solid var(--border);padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-card);margin-bottom:3rem;transition:box-shadow .2s ease;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.score-card:hover{box-shadow:var(--shadow-hover)}.score-circle{width:180px;height:180px;border-radius:50%;border:8px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:scaleIn .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.score-value{font-size:3rem;font-weight:700}.score-fraction{font-size:1.2rem;color:var(--text-secondary);margin-top:.5rem;font-weight:600}.score-message{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.results-breakdown{margin-bottom:3rem}.results-breakdown h2{margin-bottom:1.5rem;color:var(--text-primary);font-weight:600}.questions-list{display:flex;flex-direction:column;gap:1rem}.result-item{background-color:var(--bg-secondary);border-radius:12px;border:2px solid var(--border);padding:1.5rem;box-shadow:var(--shadow-card);border-left:4px solid;transition:box-shadow .2s ease}.result-item:hover{box-shadow:var(--shadow-hover)}.result-item.correct{border-left-color:var(--success);background-color:#10b98105}.result-item.incorrect{border-left-color:var(--error);background-color:#ef444405}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-number{font-weight:600;color:var(--text-secondary)}.result-status{padding:.35rem .85rem;border-radius:20px;font-size:13px;font-weight:600}.result-status.correct{background-color:var(--success-light);color:var(--success)}.result-status.incorrect{background-color:var(--error-light);color:var(--error)}.result-question{color:var(--text-primary);margin-bottom:1rem;line-height:1.6;font-weight:500}.result-answers{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.your-answer,.correct-answer{display:flex;flex-direction:column;gap:.25rem}.your-answer strong{color:var(--error);font-weight:600}.correct-answer strong{color:var(--success);font-weight:600}.answer-value{padding:.65rem;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:SF Mono,Monaco,monospace;font-size:14px}.results-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-card)}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-card)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border)}.btn-secondary:hover{border-color:var(--accent-primary);background-color:var(--bg-tertiary);transform:translateY(-1px)}.privacy-policy-view{min-height:100vh;background-color:var(--bg-primary);padding:2rem 1rem}.privacy-content{max-width:800px;margin:0 auto;background-color:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-card);overflow:hidden}.privacy-header{background:linear-gradient(135deg,var(--primary-green),var(--accent-green));color:#fff;padding:2rem;text-align:center;position:relative}.back-link{position:absolute;top:1rem;left:1rem;color:#fff;text-decoration:none;font-weight:500;font-size:14px;opacity:.9;transition:opacity .2s ease}.back-link:hover{opacity:1}.privacy-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.last-updated{font-size:14px;opacity:.9;margin:0}.privacy-main{padding:2rem}.privacy-section{margin-bottom:3rem}.privacy-section:last-child{margin-bottom:2rem}.privacy-section h2{color:var(--text-dark);font-size:1.5rem;font-weight:600;margin-bottom:1rem;border-bottom:2px solid var(--primary-green);padding-bottom:.5rem}.privacy-section h3{color:var(--primary-green);font-size:1.2rem;font-weight:600;margin-bottom:.75rem;margin-top:1.5rem}.privacy-section h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.privacy-section p{color:var(--text-secondary);line-height:1.7;margin-bottom:1rem}.privacy-section ul{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;padding-left:1.5rem}.privacy-section li{margin-bottom:.5rem}.privacy-section li strong{color:var(--text-primary);font-weight:600}.info-list{display:grid;gap:1.5rem;margin-top:1rem}.info-item{background-color:var(--light-green);padding:1.5rem;border-radius:8px;border-left:4px solid var(--primary-green)}.info-item h3{margin-top:0;color:var(--primary-green)}.cookie-info{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:8px;margin:1rem 0;border-left:4px solid var(--warning)}.cookie-info h4{margin-top:0;color:var(--warning);font-family:Monaco,Consolas,monospace;background-color:var(--bg-elevated);padding:.25rem .5rem;border-radius:4px;display:inline-block}.rights-list{display:grid;gap:1.5rem;margin-top:1rem}.right-item{background-color:var(--light-green);padding:1.5rem;border-radius:8px;border-left:4px solid var(--primary-green)}.right-item h4{margin-top:0;color:var(--primary-green)}.opt-out-btn{background-color:var(--primary-green);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.opt-out-btn:hover{background-color:var(--accent-green);transform:translateY(-1px)}.contact-info{background-color:var(--light-green);padding:1.5rem;border-radius:8px;margin:1rem 0;border-left:4px solid var(--primary-green)}.contact-info p{margin-bottom:.5rem}.contact-info p:last-child{margin-bottom:0}.contact-info a{color:var(--primary-green);text-decoration:none;font-weight:500}.contact-info a:hover{text-decoration:underline}.privacy-footer{background-color:var(--bg-tertiary);padding:2rem;text-align:center;border-top:1px solid var(--border)}.back-to-app{display:inline-block;background-color:var(--primary-green);color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;transition:all .2s ease;margin-bottom:1rem}.back-to-app:hover{background-color:var(--accent-green);transform:translateY(-1px)}.privacy-footer p{margin:0;color:var(--text-secondary);font-size:14px}@media (max-width: 768px){.privacy-policy-view{padding:1rem}.privacy-header{padding:1.5rem}.privacy-header h1{font-size:2rem}.back-link{position:static;display:block;text-align:left;margin-bottom:1rem}.privacy-main{padding:1.5rem}.info-item,.right-item,.cookie-info,.contact-info{padding:1rem}}:root{--page-bg: #f9f7f3;--card-bg: white;--brand-green: #2d7a3e;--text-charcoal: #333333;--text-muted: #6c757d;--border-subtle: #e5e1d8;--amber: #f59e0b}.bookmarks-view{min-height:100vh;background:var(--page-bg);padding:32px 24px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.bookmarks-view *:not(.spinner):not(.loading-spinner){animation:none!important;transform:none!important}.spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:var(--brand-green);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{color:var(--text-muted);font-size:18px;margin-bottom:16px}.retry-btn{background:var(--brand-green);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.retry-btn:hover{background:#246b32;transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e33}.bookmarks-header{max-width:1200px;margin:0 auto 32px}.header-content{text-align:center}.page-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:32px;font-weight:700;color:var(--text-charcoal);margin-bottom:8px}.title-icon{color:var(--amber)}.page-subtitle{color:var(--text-muted);font-size:16px;margin:0}.bookmark-detail-header{max-width:1200px;margin:0 auto 24px;display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;gap:8px;background:var(--card-bg);border:1px solid var(--border-subtle);padding:12px 16px;border-radius:8px;cursor:pointer;color:var(--text-charcoal);font-weight:500;transition:all .2s ease}.back-btn:hover{background:var(--page-bg);box-shadow:0 2px 8px #00000014;transform:translate(-2px)}.bookmark-detail-info{display:flex;align-items:center;gap:12px}.bookmark-detail-content{max-width:1200px;margin:0 auto}.flashcard-unavailable{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:12px;padding:48px;text-align:center;color:var(--text-muted)}.flashcard-unavailable p{margin:0 0 8px;font-size:16px}.bookmarks-content{max-width:1200px;margin:0 auto}.empty-state{text-align:center;padding:80px 24px;color:var(--text-muted)}.empty-icon{font-size:64px;color:var(--border-subtle);margin-bottom:24px}.empty-state h2{font-size:24px;font-weight:600;margin-bottom:12px;color:var(--text-charcoal)}.empty-state p{font-size:16px;max-width:400px;margin:0 auto;line-height:1.5}.course-section{margin-bottom:40px}.course-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--brand-green)}.course-badge-large{background:var(--brand-green);color:#fff;padding:8px 16px;border-radius:8px;font-size:16px;font-weight:700;letter-spacing:.5px}.bookmark-count{color:var(--text-muted);font-size:14px;font-weight:500}.bookmarks-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}.bookmark-mini-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden;transition:all .2s ease;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column}.bookmark-mini-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:var(--brand-green)}.bookmark-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--page-bg);border-bottom:1px solid var(--border-subtle)}.bookmark-source{font-size:12px;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.remove-bookmark-btn{width:28px;height:28px;border:none;background:#f59e0b1a;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.remove-bookmark-btn:hover{background:#f59e0b33}.remove-bookmark-btn:disabled{cursor:not-allowed;opacity:.5}.remove-bookmark-btn svg{width:12px;height:12px;color:var(--amber)}.btn-spinner{width:12px;height:12px;border:2px solid transparent;border-top-color:var(--amber);border-radius:50%;animation:spin .8s linear infinite}.bookmark-card-body{padding:16px;flex:1}.bookmark-question{font-size:15px;font-weight:500;color:var(--text-charcoal);line-height:1.5;margin-bottom:12px}.bookmark-answer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);animation:expandAnswer .2s ease}@keyframes expandAnswer{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.answer-label{font-size:12px;font-weight:700;color:var(--brand-green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.answer-text{font-size:14px;color:var(--text-charcoal);line-height:1.6}.bookmark-card-footer{padding:12px 16px;background:var(--page-bg);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.bookmark-meta{flex:1;min-width:0}.bookmark-date{font-size:12px;color:var(--text-muted);font-weight:500}.bookmark-actions{display:flex;align-items:center;gap:8px}.expand-btn,.goto-deck-btn{width:32px;height:32px;border:1px solid var(--border-subtle);background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-muted)}.expand-btn:hover,.goto-deck-btn:hover{background:var(--brand-green);color:#fff;border-color:var(--brand-green)}.expand-btn svg,.goto-deck-btn svg{width:12px;height:12px}.course-badge{background:var(--brand-green);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.deck-name{font-size:14px;font-weight:600;color:var(--text-charcoal)}@media (max-width: 768px){.bookmarks-view{padding:16px}.page-title{font-size:28px}.bookmark-detail-header{flex-direction:column;align-items:flex-start;gap:12px}.course-section-header{flex-direction:column;align-items:flex-start;gap:8px}.bookmarks-masonry{grid-template-columns:1fr}}@media (max-width: 480px){.bookmarks-view{padding:12px}.page-title{font-size:24px;flex-direction:column;gap:8px}.bookmark-mini-card{margin-bottom:0}}:root{--qh-green: #4A7C59;--qh-green-light: #E8F5E9;--qh-green-dark: #3D6B4A;--qh-cream: #FAF8F5;--qh-gray-50: #F9FAFB;--qh-gray-100: #F3F4F6;--qh-gray-200: #E5E7EB;--qh-gray-300: #D1D5DB;--qh-gray-400: #9CA3AF;--qh-gray-500: #6B7280;--qh-gray-600: #4B5563;--qh-gray-700: #374151;--qh-gray-800: #1F2937;--qh-gray-900: #111827;--qh-red: #DC2626;--qh-red-light: #FEE2E2;--qh-amber: #D97706;--qh-amber-light: #FEF3C7}.qh-view{min-height:100vh;background:var(--qh-cream);padding:40px 60px;max-width:1800px;margin:0 auto}.qh-loading,.qh-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.qh-spinner{width:40px;height:40px;border:3px solid var(--qh-gray-200);border-top-color:var(--qh-green);border-radius:50%;animation:qh-spin .8s linear infinite}@keyframes qh-spin{to{transform:rotate(360deg)}}.qh-retry-btn{padding:12px 24px;background:var(--qh-green);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}.qh-retry-btn:hover{background:var(--qh-green-dark)}.qh-header{margin-bottom:48px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px}.qh-header-left{flex:1}.qh-header h1{font-size:32px;font-weight:700;color:var(--qh-gray-900);display:flex;align-items:center;gap:14px;margin:0 0 8px}.qh-header-icon{color:var(--qh-green);font-size:28px}.qh-header-subtitle{color:var(--qh-gray-500);font-size:16px;margin:0}.qh-header-stats{display:flex;gap:32px;background:#fff;padding:20px 32px;border-radius:12px;border:1px solid var(--qh-gray-200)}.qh-header-stat{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.qh-header-stat-value{font-size:28px;font-weight:700;color:var(--qh-green)}.qh-header-stat-label{font-size:12px;color:var(--qh-gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.qh-empty-state{text-align:center;padding:120px 60px;background:#fff;border-radius:20px;border:1px solid var(--qh-gray-200);max-width:600px;margin:60px auto}.qh-empty-icon{font-size:64px;color:var(--qh-gray-300);margin-bottom:32px}.qh-empty-state h2{font-size:28px;color:var(--qh-gray-800);margin:0 0 16px;font-weight:600}.qh-empty-state p{color:var(--qh-gray-500);margin:0 0 32px;font-size:16px;line-height:1.6}.qh-cta-btn{padding:16px 36px;background:var(--qh-green);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.qh-cta-btn:hover{background:var(--qh-green-dark);transform:translateY(-2px);box-shadow:0 4px 12px #4a7c594d}.qh-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px;width:100%}.qh-lecture-card{background:#fff;border:1px solid var(--qh-gray-200);border-radius:16px;padding:28px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;height:100%}.qh-lecture-card:hover{border-color:var(--qh-green);box-shadow:0 8px 24px #4a7c591f;transform:translateY(-3px)}.qh-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.qh-course-badge{font-size:11px;font-weight:600;color:var(--qh-green);background:var(--qh-green-light);padding:5px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.qh-time-ago{font-size:13px;color:var(--qh-gray-400);font-weight:500}.qh-lecture-title{font-size:17px;font-weight:600;color:var(--qh-gray-900);margin:0 0 20px;line-height:1.5;flex:1}.qh-card-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:20px 0;border-top:1px solid var(--qh-gray-100);border-bottom:1px solid var(--qh-gray-100);margin-bottom:16px}.qh-card-stat{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.qh-card-stat-value{font-size:20px;font-weight:700;color:var(--qh-gray-800)}.qh-card-stat-label{font-size:10px;color:var(--qh-gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.qh-stat-good{color:var(--qh-green)!important}.qh-stat-warn{color:var(--qh-amber)!important}.qh-stat-poor{color:var(--qh-red)!important}.qh-card-footer{display:flex;justify-content:flex-end;margin-top:auto}.qh-view-details{font-size:14px;font-weight:600;color:var(--qh-green);display:flex;align-items:center;gap:6px;padding:8px 0;transition:gap .2s}.qh-lecture-card:hover .qh-view-details{gap:10px}.qh-review-view{padding:0}.qh-review-layout{display:flex;min-height:100vh}.qh-review-sidebar{width:320px;background:#fff;border-right:1px solid var(--qh-gray-200);display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.qh-sidebar-header{padding:20px;border-bottom:1px solid var(--qh-gray-100)}.qh-back-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px solid var(--qh-gray-200);border-radius:6px;color:var(--qh-gray-600);font-size:13px;cursor:pointer;margin-bottom:16px;transition:all .2s}.qh-back-btn:hover{background:var(--qh-gray-50);border-color:var(--qh-gray-300)}.qh-sidebar-title h2{font-size:16px;font-weight:600;color:var(--qh-gray-900);margin:0 0 6px;line-height:1.4}.qh-course-tag{font-size:12px;color:var(--qh-green);background:var(--qh-green-light);padding:3px 8px;border-radius:4px}.qh-sidebar-summary{display:flex;justify-content:space-around;padding:16px 20px;background:var(--qh-gray-50);border-bottom:1px solid var(--qh-gray-100)}.qh-summary-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.qh-summary-stat .qh-stat-value{font-size:18px;font-weight:600;color:var(--qh-gray-800)}.qh-summary-stat .qh-stat-label{font-size:11px;color:var(--qh-gray-500);text-transform:uppercase}.qh-concepts-section{flex:1;overflow:hidden;display:flex;flex-direction:column}.qh-concepts-section h3{font-size:11px;font-weight:600;color:var(--qh-gray-400);text-transform:uppercase;letter-spacing:.5px;padding:16px 20px 8px;margin:0}.qh-concepts-list{flex:1;overflow-y:auto;padding:0 12px 20px}.qh-concept-item{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px;background:transparent;border:1px solid transparent;border-radius:8px;text-align:left;cursor:pointer;transition:all .15s}.qh-concept-item:hover{background:var(--qh-gray-50)}.qh-concept-item.active{background:var(--qh-green-light);border-color:var(--qh-green)}.qh-concept-info{display:flex;align-items:flex-start;gap:10px}.qh-concept-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.qh-concept-name{font-size:13px;color:var(--qh-gray-800);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qh-concept-stats{display:flex;gap:12px;padding-left:18px}.qh-concept-accuracy{font-size:12px;font-weight:500;color:var(--qh-gray-600)}.qh-concept-mp{font-size:12px;color:var(--qh-green)}.qh-concept-empty{font-size:12px;color:var(--qh-gray-400);font-style:italic}.qh-review-main{flex:1;display:flex;flex-direction:column;background:var(--qh-cream);min-height:100vh}.qh-review-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 40px;background:#fff;border-bottom:1px solid var(--qh-gray-200)}.qh-concept-label{font-size:14px;font-weight:500;color:var(--qh-gray-700);max-width:500px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qh-question-counter{font-size:14px;color:var(--qh-gray-500);font-weight:500}.qh-empty-concept{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px}.qh-empty-concept .qh-empty-icon{font-size:40px;color:var(--qh-gray-300);margin-bottom:20px}.qh-empty-concept h3{font-size:20px;color:var(--qh-gray-700);margin:0 0 12px}.qh-empty-concept p{color:var(--qh-gray-500);line-height:1.6;margin:0}.qh-question-card{max-width:900px;margin:40px auto;padding:40px;background:#fff;border-radius:16px;border:1px solid var(--qh-gray-200);box-shadow:0 2px 8px #0000000a}.qh-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.qh-difficulty-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.qh-difficulty-easy{background:#dcfce7;color:#166534}.qh-difficulty-medium{background:#fef9c3;color:#854d0e}.qh-difficulty-hard{background:#fee2e2;color:#991b1b}.qh-difficulty-boss{background:#1f2937;color:#fff}.qh-result-badge{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px}.qh-result-badge.correct{background:var(--qh-green-light);color:var(--qh-green-dark)}.qh-result-badge.incorrect{background:var(--qh-red-light);color:var(--qh-red)}.qh-question-text{font-size:18px;line-height:1.6;color:var(--qh-gray-900);margin-bottom:28px}.qh-options-list{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.qh-option{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--qh-gray-200);border-radius:10px;background:#fff;position:relative}.qh-option-correct{border-color:var(--qh-green);background:var(--qh-green-light)}.qh-option-wrong{border-color:var(--qh-red);background:var(--qh-red-light)}.qh-option-user-correct{border-color:var(--qh-green);background:var(--qh-green-light)}.qh-option-key{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--qh-gray-100);color:var(--qh-gray-600);font-size:13px;font-weight:600;flex-shrink:0}.qh-option-correct .qh-option-key{background:var(--qh-green);color:#fff}.qh-option-wrong .qh-option-key{background:var(--qh-red);color:#fff}.qh-option-value{flex:1;font-size:15px;color:var(--qh-gray-700);line-height:1.5;padding-top:3px}.qh-option-labels{display:flex;gap:8px;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.qh-label-user,.qh-label-correct{font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px}.qh-label-user{background:var(--qh-gray-200);color:var(--qh-gray-600)}.qh-option-wrong .qh-label-user{background:var(--qh-red);color:#fff}.qh-label-correct{background:var(--qh-green);color:#fff}.qh-stats-panel{display:flex;gap:24px;padding:20px;background:var(--qh-gray-50);border-radius:10px;margin-bottom:24px}.qh-stat-box{display:flex;flex-direction:column;gap:4px}.qh-stat-box .qh-stat-title{font-size:11px;font-weight:500;color:var(--qh-gray-500);text-transform:uppercase;letter-spacing:.5px}.qh-stat-box .qh-stat-value{font-size:14px;font-weight:500;color:var(--qh-gray-800)}.qh-stat-box .qh-stat-value.positive{color:var(--qh-green)}.qh-stat-box .qh-stat-value.negative{color:var(--qh-red)}.qh-question-nav{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--qh-gray-100)}.qh-nav-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid var(--qh-gray-200);border-radius:8px;color:var(--qh-gray-700);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.qh-nav-btn:hover:not(:disabled){border-color:var(--qh-green);color:var(--qh-green)}.qh-nav-btn:disabled{opacity:.4;cursor:not-allowed}.qh-nav-hint{font-size:12px;color:var(--qh-gray-400)}.qh-concepts-list::-webkit-scrollbar{width:6px}.qh-concepts-list::-webkit-scrollbar-track{background:transparent}.qh-concepts-list::-webkit-scrollbar-thumb{background:var(--qh-gray-300);border-radius:3px}.qh-concepts-list::-webkit-scrollbar-thumb:hover{background:var(--qh-gray-400)}.admin-dashboard{min-height:100vh;background:var(--bg-primary);padding:24px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{color:var(--text-secondary);font-size:18px;margin-bottom:16px}.retry-btn{background:var(--accent-primary);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:background-color .2s ease}.retry-btn:hover{background:var(--accent-hover)}.admin-header{text-align:center;margin-bottom:32px}.dashboard-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.title-icon{color:var(--accent-primary)}.dashboard-subtitle{color:var(--text-secondary);font-size:16px;margin:0}.dashboard-tabs{display:flex;justify-content:center;gap:4px;margin-bottom:32px;background:var(--bg-secondary);padding:4px;border-radius:12px;border:1px solid var(--border);max-width:fit-content;margin-left:auto;margin-right:auto}.tab-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;color:var(--text-secondary);font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab-btn.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-subtle)}.dashboard-content{max-width:1400px;margin:0 auto}.overview-section{margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}.stat-icon.users{background:#3b82f6}.stat-icon.sessions{background:#16a34a}.stat-icon.quizzes{background:#f59e0b}.stat-icon.feedback{background:#8b5cf6}.stat-icon.bookmarks{background:#ef4444}.stat-info{flex:1}.stat-number{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:14px;color:var(--text-secondary);font-weight:500;margin-top:4px}.stat-detail{font-size:12px;color:var(--text-muted);margin-top:2px}.sessions-list,.quiz-performance-list,.feedback-summary-list,.users-list{display:flex;flex-direction:column;gap:16px}.session-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.session-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background-color .2s ease}.session-header:hover{background:var(--bg-tertiary)}.session-info{display:flex;align-items:center;gap:16px;font-size:14px}.session-user{font-weight:600;color:var(--text-primary)}.session-deck{color:var(--text-secondary)}.session-date{color:var(--text-muted);font-size:12px}.session-stats{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.completion-badge{padding:4px 8px;border-radius:4px;font-weight:600;font-size:11px}.completion-badge.completed{background:#dcfce7;color:#16a34a}.completion-badge.incomplete{background:#fef3c7;color:#d97706}.session-details{padding:20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.session-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.detail-item{font-size:14px;color:var(--text-secondary)}.detail-item strong{color:var(--text-primary)}.quiz-results h4{margin:16px 0 8px;color:var(--text-primary);font-size:16px}.question-results{display:flex;flex-wrap:wrap;gap:8px}.question-result{padding:6px 10px;border-radius:4px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.question-result.correct{background:#dcfce7;color:#16a34a}.question-result.incorrect{background:#fecaca;color:#dc2626}.question-type{font-size:10px;opacity:.8}.quiz-deck-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px}.deck-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.deck-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.course-badge{background:var(--accent-primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.performance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.stat-row span{color:var(--text-secondary)}.stat-row strong{color:var(--text-primary)}.feedback-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;overflow:hidden}.feedback-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background-color .2s ease}.feedback-header:hover{background:var(--bg-tertiary)}.feedback-info{display:flex;align-items:center;gap:16px}.flashcard-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;color:var(--text-primary);font-weight:600}.feedback-counts{display:flex;align-items:center;gap:12px;font-size:14px}.like-icon{color:#16a34a}.dislike-icon{color:#dc2626}.feedback-stats{display:flex;align-items:center;gap:12px}.net-score{font-weight:600;padding:4px 8px;border-radius:4px}.net-score.positive{background:#dcfce7;color:#16a34a}.net-score.negative{background:#fecaca;color:#dc2626}.feedback-details{padding:20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.feedback-details h4{margin:0 0 12px;color:var(--text-primary);font-size:16px}.feedback-entries{display:flex;flex-direction:column;gap:8px}.feedback-entry{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;font-size:12px}.feedback-entry.like{background:#f0fdf4;border:1px solid #bbf7d0}.feedback-entry.dislike{background:#fef2f2;border:1px solid #fecaca}.feedback-user{color:var(--text-primary);font-weight:600}.feedback-rating{display:flex;align-items:center;gap:4px;font-weight:500}.feedback-rating .like{color:#16a34a}.feedback-rating .dislike{color:#dc2626}.feedback-date{color:var(--text-muted);margin-left:auto}.user-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;display:flex;justify-content:space-between;align-items:center}.user-info{flex:1}.user-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.user-dates{display:flex;gap:16px;font-size:12px;color:var(--text-secondary)}.user-stats{display:flex;gap:20px}.user-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.user-stat span{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.user-stat strong{font-size:18px;font-weight:700;color:var(--text-primary)}.sessions-section h2,.quiz-section h2,.feedback-section h2,.users-section h2{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:24px;text-align:center}@media (max-width: 768px){.admin-dashboard{padding:16px}.dashboard-title{font-size:28px;flex-direction:column;gap:8px}.dashboard-tabs{flex-wrap:wrap;justify-content:center}.tab-btn{padding:10px 16px;font-size:14px}.stats-grid{grid-template-columns:1fr}.session-header{flex-direction:column;align-items:flex-start;gap:12px}.session-info{flex-direction:column;align-items:flex-start;gap:8px}.session-stats{flex-wrap:wrap}.feedback-header{flex-direction:column;align-items:flex-start;gap:12px}.user-card{flex-direction:column;align-items:flex-start;gap:16px}}@media (max-width: 480px){.admin-dashboard{padding:12px}.dashboard-title{font-size:24px}.tab-btn{padding:8px 12px;font-size:13px}.stat-card{padding:16px}.stat-icon{width:40px;height:40px;font-size:18px}.stat-number{font-size:24px}}.ingestion-form-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:32px;margin-bottom:32px}.form-header{margin-bottom:28px}.form-header h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.form-description{color:var(--text-secondary);font-size:15px;margin:0}.ingestion-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.label-icon{color:var(--text-secondary);font-size:14px}.required{color:#ef4444}.form-group input[type=text],.form-group textarea{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(var(--accent-primary-rgb),.15)}.form-group input[type=text]::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:100px}.file-input-container{position:relative}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.file-input-display{background:var(--bg-primary);border:2px dashed var(--border);border-radius:12px;padding:32px 24px;text-align:center;transition:all .2s ease;min-height:120px;display:flex;align-items:center;justify-content:center}.file-input-container:hover .file-input-display{border-color:var(--accent-primary);background:var(--bg-tertiary)}.file-input-display .placeholder{color:var(--text-muted);font-size:15px}.selected-files{width:100%;text-align:left}.file-count{display:block;font-weight:600;color:var(--accent-primary);margin-bottom:12px;font-size:15px}.file-list{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto}.file-list li{padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;margin-bottom:6px;font-size:13px;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.form-message{padding:14px 18px;border-radius:10px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px}.form-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.form-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.message-icon{font-size:18px}.submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:24px;width:100%;max-width:300px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--accent-primary-rgb),.35)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn .spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.ingestion-form-container{padding:24px}.form-row{grid-template-columns:1fr}.form-header h2{font-size:20px}.submit-btn{width:100%}}@media (max-width: 480px){.ingestion-form-container{padding:20px;border-radius:12px}.form-group input[type=text],.form-group textarea{padding:12px 14px;font-size:14px}.file-input-display{padding:24px 16px}}.pipeline-list-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:32px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.list-header h2{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.header-icon{color:var(--accent-primary)}.header-controls{display:flex;align-items:center;gap:12px}.course-filter{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:14px;color:var(--text-primary);min-width:200px;cursor:pointer}.course-filter:focus{outline:none;border-color:var(--accent-primary)}.refresh-btn{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent-primary)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-state p,.empty-state p{color:var(--text-secondary);font-size:16px;margin-top:16px}.empty-icon{font-size:48px;color:var(--text-muted)}.large{font-size:32px}.list-error{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:14px;margin-bottom:20px}.lectures-list{display:flex;flex-direction:column;gap:12px}.lecture-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all .2s ease}.lecture-card:hover{box-shadow:var(--shadow-subtle)}.lecture-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;cursor:pointer;transition:background-color .2s ease}.lecture-header:hover{background:var(--bg-tertiary)}.lecture-info{display:flex;flex-direction:column;gap:4px}.lecture-title{font-weight:600;font-size:16px;color:var(--text-primary)}.lecture-course{font-size:13px;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.lecture-status-summary{display:flex;align-items:center;gap:10px}.status-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.status-dot.pending{background:#f3f4f6;color:#9ca3af}.status-dot.in-progress{background:#dbeafe;color:#3b82f6}.status-dot.completed{background:#dcfce7;color:#16a34a}.status-dot.failed{background:#fecaca;color:#dc2626}.lecture-details{padding:20px;border-top:1px solid var(--border);background:var(--bg-tertiary)}.pipeline-stages{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.pipeline-stage{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.stage-info{display:flex;align-items:center;gap:12px}.stage-icon{font-size:18px;color:var(--accent-primary)}.stage-label{font-weight:600;font-size:15px;color:var(--text-primary)}.stage-status{display:flex;align-items:center;gap:12px}.status-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.pending{background:#f3f4f6;color:#6b7280}.status-badge.in-progress{background:#dbeafe;color:#2563eb}.status-badge.completed{background:#dcfce7;color:#16a34a}.status-badge.failed{background:#fecaca;color:#dc2626}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.action-btn.run{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary, #2563EB));color:#fff}.action-btn.run:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.action-btn.retry{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-secondary)}.action-btn.retry:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.action-btn.retry-failed{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}.action-btn.retry-failed:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.action-loading{display:flex;align-items:center;justify-content:center;padding:8px 14px;color:var(--accent-primary)}.error-log{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px;margin-bottom:16px}.error-log strong{color:#dc2626;font-size:13px;display:block;margin-bottom:8px}.error-log pre{margin:0;font-size:12px;color:#7f1d1d;white-space:pre-wrap;word-break:break-word;font-family:Monaco,Menlo,Ubuntu Mono,monospace;max-height:150px;overflow-y:auto}.lecture-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--border);margin-top:8px}.lecture-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--text-muted)}.lecture-actions{display:flex;align-items:center;gap:10px}.run-pipeline-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.run-pipeline-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.run-pipeline-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.delete-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid #fecaca;background:#fef2f2;color:#dc2626}.delete-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171;transform:translateY(-1px)}.delete-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.spinning{animation:spin 1s linear infinite}@media (max-width: 768px){.pipeline-list-container{padding:24px}.list-header{flex-direction:column;align-items:stretch}.header-controls{flex-direction:column}.course-filter{width:100%}.lecture-header{flex-direction:column;align-items:flex-start;gap:12px}.lecture-status-summary{width:100%;justify-content:flex-start}.pipeline-stage{flex-direction:column;align-items:flex-start;gap:12px}.stage-status{width:100%;justify-content:space-between}.lecture-meta{flex-direction:column;gap:8px}}@media (max-width: 480px){.pipeline-list-container{padding:16px;border-radius:12px}.list-header h2{font-size:20px}.status-dot{width:24px;height:24px;font-size:10px}.action-btn{padding:6px 10px;font-size:12px}}.admin-upload-view{min-height:100vh;background:var(--bg-primary);padding:32px 24px}.admin-upload-header{text-align:center;margin-bottom:40px;max-width:800px;margin-left:auto;margin-right:auto}.admin-upload-header h1{display:flex;align-items:center;justify-content:center;gap:16px;font-size:36px;font-weight:800;color:var(--text-primary);margin:0 0 12px;letter-spacing:-.02em}.title-icon{color:var(--accent-primary);font-size:40px}.header-subtitle{color:var(--text-secondary);font-size:17px;margin:0;line-height:1.6}.admin-upload-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.admin-upload-footer{max-width:1200px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--border)}.pipeline-info{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px}.info-icon{font-size:20px;color:var(--accent-primary);animation:rotate 8s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.info-text{display:flex;align-items:center;gap:10px;font-size:14px}.info-text strong{color:var(--text-primary)}.info-text span{color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px}@media (max-width: 768px){.admin-upload-view{padding:24px 16px}.admin-upload-header h1{font-size:28px;flex-direction:column;gap:12px}.title-icon{font-size:36px}.header-subtitle{font-size:15px}.pipeline-info{flex-direction:column;text-align:center;gap:8px}.info-text{flex-direction:column;gap:4px}}@media (max-width: 480px){.admin-upload-view{padding:16px 12px}.admin-upload-header h1{font-size:24px}.admin-upload-content{gap:24px}}.quiz-level-selection{max-width:900px;margin:0 auto;padding:40px 20px}.quiz-level-header{text-align:center;margin-bottom:50px}.back-button{position:absolute;left:20px;top:20px;padding:10px 20px;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.back-button:hover{background:#f5f5f5;transform:translate(-2px)}.course-lecture-info{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0 10px;font-size:.95em}.course-badge{background:#e3f2fd;color:#1976d2;padding:6px 14px;border-radius:20px;font-weight:700;font-size:.9em}.separator{color:#999}.lecture-name{color:#555;font-weight:500}.quiz-level-header h1{font-size:2.5em;color:#333;margin-bottom:10px}.quiz-level-header .subtitle{font-size:1.1em;color:#666}.level-cards{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.level-card{display:flex;align-items:center;gap:25px;padding:25px 30px;background:#fff;border:3px solid;border-radius:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.level-card:hover{transform:translate(8px);box-shadow:0 4px 16px #0000001a}.level-icon{font-size:3em;min-width:70px;text-align:center}.level-info{flex:1}.level-info h2{font-size:1.8em;margin:0 0 5px;color:#333}.level-info h3{font-size:1.1em;font-weight:500;color:#666;margin:0 0 10px}.level-description{font-size:.95em;color:#666;line-height:1.5;margin-bottom:12px}.level-meta{display:flex;gap:20px;font-size:.9em;color:#999}.level-arrow{font-size:2em;font-weight:700;opacity:0;transition:opacity .3s}.level-card:hover .level-arrow{opacity:1}.quiz-info-box{background:#f8f9fa;border-radius:12px;padding:25px 30px;border-left:4px solid #2196f3}.quiz-info-box h3{font-size:1.3em;margin:0 0 15px;color:#333}.quiz-info-box ul{margin:0;padding-left:20px}.quiz-info-box li{margin-bottom:10px;line-height:1.6;color:#555}.quiz-info-box strong{color:#2196f3}@media (max-width: 768px){.quiz-level-selection{padding:20px 15px}.back-button{position:static;margin-bottom:20px}.quiz-level-header h1{font-size:2em}.level-card{flex-direction:column;text-align:center;padding:20px}.level-icon{font-size:2.5em}.level-arrow{display:none}}.post-quiz-modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease-out}.post-quiz-modal{background:#f9f7f3;border-radius:24px;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 0 0 1px #2d7a3e1a,0 30px 80px #00000040;animation:slideUpScale .5s cubic-bezier(.34,1.56,.64,1)}.post-quiz-logo{display:flex;justify-content:center;padding:32px 32px 16px;background:#fff;border-radius:24px 24px 0 0}.post-quiz-logo img{height:44px;width:auto}.post-quiz-header{text-align:center;padding:24px 32px 32px;background:#fff;border-bottom:2px solid #e5e7eb}.success-icon{display:inline-flex;margin-bottom:16px;animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1) .3s both}.post-quiz-title{font-size:26px;font-weight:700;color:#1a1a1a;margin:0 0 12px;letter-spacing:-.5px}.post-quiz-subtitle{font-size:14px;color:#666;line-height:1.6;max-width:450px;margin:0 auto}.exam-readiness-cards{padding:24px;display:flex;flex-direction:column;gap:20px}.exam-card-premium{background:#fff;border-radius:20px;padding:28px;border:2px solid #e5e7eb;transition:all .3s ease;animation:slideInUp .5s ease-out both}.exam-card-premium:hover{border-color:#2d7a3e;box-shadow:0 8px 24px #2d7a3e1f;transform:translateY(-2px)}.exam-card-top{margin-bottom:16px;text-align:center}.exam-label{font-size:16px;font-weight:600;color:#1a1a1a;letter-spacing:-.2px}.exam-score-center{display:flex;justify-content:center;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}.exam-score-large{font-size:56px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-2px}.percent-sign{font-size:32px;font-weight:700;opacity:.7;margin-left:-4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.stat-box{background:#f9f7f3;border-radius:12px;padding:16px;text-align:center;border:1px solid #e5e7eb}.stat-box.weak-box{background:#fef2f2;border-color:#fecaca}.stat-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px;font-weight:600;display:block}.stat-value-large{font-size:32px;font-weight:700;color:#1a1a1a;font-variant-numeric:tabular-nums;line-height:1}.stat-total{font-size:20px;color:#999;font-weight:600}.weak-value{color:#dc2626}.trinity-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{flex:1;min-width:100px;background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border:1px solid #2d7a3e;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease}.pill:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2d7a3e26}.pill-label{font-size:10px;color:#2d7a3e;text-transform:uppercase;letter-spacing:.6px;font-weight:700}.pill-value{font-size:18px;font-weight:700;color:#2d7a3e;font-variant-numeric:tabular-nums}.post-quiz-actions{padding:24px;display:flex;gap:12px;background:#f9f7f3;border-radius:0 0 24px 24px}.btn-view-details,.btn-continue{flex:1;padding:16px 24px;border-radius:12px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;letter-spacing:.2px}.btn-view-details{background:#fff;color:#2d7a3e;border:2px solid #2d7a3e}.btn-view-details:hover{background:#2d7a3e;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e4d}.btn-continue{background:#2d7a3e;color:#fff;box-shadow:0 4px 12px #2d7a3e4d}.btn-continue:hover{background:#245c30;transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e66}.btn-continue:active,.btn-view-details:active{transform:translateY(0)}@keyframes slideUpScale{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.post-quiz-modal::-webkit-scrollbar{width:8px}.post-quiz-modal::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.post-quiz-modal::-webkit-scrollbar-thumb{background:#2d7a3e;border-radius:10px}.post-quiz-modal::-webkit-scrollbar-thumb:hover{background:#245c30}@media (max-width: 640px){.post-quiz-modal{max-height:95vh;border-radius:20px}.post-quiz-logo{padding:24px 24px 12px}.post-quiz-logo img{height:36px}.post-quiz-header{padding:20px 24px 24px}.post-quiz-title{font-size:22px}.post-quiz-subtitle{font-size:13px}.exam-readiness-cards,.exam-card-premium{padding:20px}.exam-score-large{font-size:44px}.percent-sign{font-size:26px}.stats-grid{grid-template-columns:1fr}.trinity-pills{flex-direction:column}.pill{min-width:100%}.post-quiz-actions{padding:20px;flex-direction:column}.stat-value-large{font-size:28px}}@media (max-width: 768px) and (min-width: 641px){.exam-score-large{font-size:48px}.percent-sign{font-size:28px}}.quiz-results-view{max-width:900px;margin:0 auto;padding:40px 20px}.quiz-results-error{text-align:center;padding:60px 20px}.quiz-results-error h2{color:#f44336;margin-bottom:20px}.quiz-results-error button{padding:12px 30px;background:#2196f3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:1em}.results-hero{text-align:center;padding:40px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:40px}.score-circle{display:flex;justify-content:center;margin-bottom:30px}.results-hero h1{font-size:2.5em;margin:20px 0 10px}.results-subtitle{font-size:1.1em;color:#666;margin-bottom:30px}.results-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:10px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-secondary:hover{background:#e8e8e8;transform:translateY(-2px)}.results-review{margin-bottom:40px}.results-review h2{font-size:2em;margin-bottom:30px;color:#333}.review-item{background:#fff;border-radius:12px;padding:25px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f;border-left:5px solid}.review-item.correct{border-left-color:#4caf50}.review-item.incorrect{border-left-color:#f44336}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid #eee}.review-number{font-weight:600;color:#666;font-size:.95em}.review-badge{padding:6px 12px;border-radius:6px;font-size:.9em;font-weight:600}.review-badge.correct{background:#e8f5e9;color:#2e7d32}.review-badge.incorrect{background:#ffebee;color:#c62828}.review-content{display:flex;flex-direction:column;gap:15px}.review-question{font-size:1.1em;font-weight:500;color:#333;line-height:1.6;margin:0}.review-answers{display:flex;flex-direction:column;gap:10px}.answer-row{display:flex;gap:12px;align-items:start}.answer-label{font-weight:600;color:#666;min-width:120px}.answer-text{flex:1;padding:8px 12px;border-radius:6px;line-height:1.5}.answer-text.correct{background:#e8f5e9;color:#2e7d32}.answer-text.incorrect{background:#ffebee;color:#c62828}.review-explanation{padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e2e8f0}.review-explanation .explanation-label{display:block;margin-bottom:.75rem;font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.flashcard-link-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#2196f3;color:#fff;border:none;border-radius:8px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s;margin-top:5px}.flashcard-link-button:hover{background:#1976d2;transform:translate(4px)}.encouragement-box{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:16px;text-align:center;box-shadow:0 4px 16px #667eea4d}.encouragement-box h3{font-size:1.8em;margin:0 0 15px}.encouragement-box p{font-size:1.05em;line-height:1.7;margin:0;opacity:.95}@media (max-width: 768px){.quiz-results-view{padding:20px 15px}.results-hero h1{font-size:2em}.results-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.review-item{padding:20px 15px}.answer-row{flex-direction:column;gap:5px}.answer-label{min-width:auto}}:root{--modal-brand-green: #2d7a3e;--modal-brand-green-light: #e8f5eb;--modal-brand-green-dark: #1e5a2c}.lecture-modal-overlay{position:fixed;inset:0;background:#1e293b99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.lecture-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;border:1px solid rgba(45,122,62,.1);animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lecture-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.25rem 1rem;background:linear-gradient(135deg,var(--modal-brand-green) 0%,var(--modal-brand-green-dark) 100%);color:#fff}.lecture-modal-title{font-size:1.25rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.lecture-modal-subtitle{font-size:.875rem;color:#ffffffd9;margin:.25rem 0 0;font-weight:500}.lecture-modal-close{background:#ffffff26;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0}.lecture-modal-close:hover{background:#ffffff40}.lecture-modal-overall{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.25rem;background:var(--modal-brand-green-light);border-bottom:1px solid rgba(45,122,62,.15)}.overall-score-circle{width:88px;height:88px;border-radius:50%;border:3px solid var(--modal-brand-green);display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 4px 12px #2d7a3e26}.overall-score-value{font-size:2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--modal-brand-green)}.overall-score-percent{font-size:.875rem;font-weight:700;color:var(--modal-brand-green)}.overall-score-label{margin:.625rem 0 0;font-size:.6875rem;font-weight:700;color:var(--modal-brand-green-dark);text-transform:uppercase;letter-spacing:1px}.lecture-modal-content{padding:1.25rem;overflow-y:auto;flex:1;background:#fafafa}.section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--modal-brand-green);margin:0 0 .875rem}.lecture-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 0;gap:.75rem}.lecture-loading-spinner{width:28px;height:28px;border:3px solid var(--modal-brand-green-light);border-top-color:var(--modal-brand-green);border-radius:50%;animation:spin .7s linear infinite}.lecture-loading p{color:#64748b;font-size:.8125rem;margin:0}.lecture-error{text-align:center;padding:2rem}.lecture-error p{color:#dc2626;margin:0 0 1rem;font-size:.875rem}.lecture-error button{background:var(--modal-brand-green);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.875rem}.lecture-empty{text-align:center;padding:2rem;color:#64748b;font-size:.875rem}.lecture-list{display:flex;flex-direction:column;gap:.5rem}.lecture-item{display:flex;align-items:center;padding:.875rem 1rem;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.lecture-info{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.lecture-number{width:24px;height:24px;background:var(--modal-brand-green-light);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;color:var(--modal-brand-green);flex-shrink:0}.lecture-name{font-size:.8125rem;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lecture-score-section{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.lecture-progress-container{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.lecture-progress-bar{height:100%;border-radius:3px;background:var(--modal-brand-green)}.lecture-score-value{font-size:.8125rem;font-weight:700;min-width:36px;text-align:right;font-variant-numeric:tabular-nums;color:#334155}.lecture-modal-footer{padding:.875rem 1.25rem;border-top:1px solid #e2e8f0;background:#fff}.lecture-modal-footer p{margin:0;font-size:.6875rem;color:#94a3b8;text-align:center}@media (max-width: 480px){.lecture-modal{max-height:90vh;border-radius:12px;margin:.5rem}.lecture-modal-header{padding:1rem}.lecture-modal-title{font-size:1.125rem}.lecture-modal-overall{padding:1.25rem 1rem}.overall-score-circle{width:72px;height:72px}.overall-score-value{font-size:1.625rem}.lecture-modal-content{padding:1rem}.lecture-item{padding:.75rem}.lecture-name{font-size:.75rem}.lecture-progress-container{width:48px}}button.readiness-badge{font-family:inherit;padding:0;margin:0;outline:none}.readiness-badge{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.readiness-badge.size-sm{width:80px;height:80px}.readiness-badge.size-md{width:110px;height:110px}.readiness-badge.size-lg{width:140px;height:140px}.readiness-badge.clickable{cursor:pointer}.readiness-badge.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;border-color:var(--score-color)}.readiness-badge.clickable:active{transform:translateY(0)}.badge-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:1;padding:16px}.badge-score{font-size:28px;font-weight:800;color:#111827;line-height:1;font-variant-numeric:tabular-nums}.readiness-badge.size-sm .badge-score{font-size:20px}.readiness-badge.size-lg .badge-score{font-size:36px}.badge-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#6b7280}.readiness-badge.size-sm .badge-label{font-size:8px}.readiness-badge.size-lg .badge-label{font-size:12px}.badge-progress{position:absolute;bottom:0;left:0;height:6px;background:var(--score-color);transition:width .8s cubic-bezier(.4,0,.2,1);border-radius:0 0 10px 10px}.readiness-badge.size-sm .badge-progress{height:4px}.readiness-badge.size-lg .badge-progress{height:8px}.readiness-badge.status-ready{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.readiness-badge.status-needs-work{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.readiness-badge.status-critical{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.readiness-badge.status-critical.clickable{animation:none}@keyframes pulse-critical{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.readiness-badge.status-error{border-color:#d1d5db;background:#f9fafb;cursor:not-allowed}.readiness-badge.status-error .badge-icon{font-size:24px}.readiness-badge.status-error .badge-score{color:#9ca3af}.readiness-shimmer{width:100%;height:100%;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.readiness-badge.clickable:after{content:"Click for details";position:absolute;top:-36px;left:50%;transform:translate(-50%);background:#111827f2;color:#fff;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100;box-shadow:0 4px 6px #00000026}.readiness-badge.clickable:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#111827f2;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100}.readiness-badge.clickable:hover:after,.readiness-badge.clickable:hover:before{opacity:1}@media (max-width: 768px){.readiness-badge.size-md{width:90px;height:90px}.readiness-badge.size-md .badge-score{font-size:22px}}:root{--tt-green: #4A7C59;--tt-green-light: #E8F5E9;--tt-green-dark: #3D6B4A;--tt-cream: #FAF8F5;--tt-white: #FFFFFF;--tt-gray-50: #F9FAFB;--tt-gray-100: #F3F4F6;--tt-gray-200: #E5E7EB;--tt-gray-300: #D1D5DB;--tt-gray-400: #9CA3AF;--tt-gray-500: #6B7280;--tt-gray-600: #4B5563;--tt-gray-700: #374151;--tt-gray-800: #1F2937;--tt-gray-900: #111827;--tt-red: #DC2626;--tt-red-light: #FEE2E2;--tt-amber: #D97706;--tt-amber-light: #FEF3C7;--tt-shadow-sm: 0 1px 3px rgba(27, 31, 36, .06);--tt-shadow-md: 0 4px 12px rgba(27, 31, 36, .08);--tt-shadow-lg: 0 10px 25px rgba(27, 31, 36, .1)}.timetable-view{min-height:100vh;background:var(--tt-cream);padding:60px;max-width:1600px;margin:0 auto}.timetable-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--tt-gray-500)}.loading-spinner{width:48px;height:48px;border:4px solid var(--tt-gray-200);border-top:4px solid var(--tt-green);border-radius:50%;animation:spin 1s linear infinite}.tt-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:.8125rem;color:var(--tt-gray-600)}.breadcrumb-link{background:none;border:none;color:var(--tt-green);font-weight:500;cursor:pointer;padding:0;display:flex;align-items:center;gap:5px;transition:color .15s}.breadcrumb-link svg{font-size:11px}.breadcrumb-link:hover{color:var(--tt-green-dark);text-decoration:underline}.breadcrumb-separator{color:var(--tt-gray-400);font-size:12px}.breadcrumb-current{color:var(--tt-gray-700);font-weight:500}.timetable-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.page-title{font-size:22px;font-weight:600;color:var(--tt-gray-900);margin:0}.quick-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stat-item{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--tt-gray-600);font-weight:500;padding:5px 10px;background:var(--tt-white);border:1px solid var(--tt-gray-200);border-radius:4px}.stat-item.urgent{background:var(--tt-red-light);border-color:var(--tt-red);color:var(--tt-red);font-weight:600}.stat-item.soon{background:var(--tt-amber-light);border-color:var(--tt-amber);color:var(--tt-amber);font-weight:600}.edit-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--tt-green);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s}.edit-btn svg{font-size:12px}.edit-btn:hover{background:var(--tt-green-dark)}.error-banner{padding:12px 20px;background:var(--tt-red-light);border:1px solid var(--tt-red);border-radius:8px;color:var(--tt-red);margin-bottom:24px;font-size:14px;font-weight:500}.last-updated-info{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--tt-green-light);border:1px solid var(--tt-green);border-radius:6px;color:var(--tt-green-dark);font-size:12px;margin-bottom:20px}.last-updated-info svg{font-size:12px}.last-updated-info strong{font-weight:600}.timetable-content{background:transparent}.timeline-container{display:flex;flex-direction:column;gap:20px}.date-group{background:var(--tt-white);border:1px solid var(--tt-gray-200);border-radius:8px;overflow:hidden;box-shadow:var(--tt-shadow-sm);transition:box-shadow .15s}.date-group:hover{box-shadow:var(--tt-shadow-md)}.date-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--tt-gray-50);border-bottom:1px solid var(--tt-gray-200)}.date-header.urgent,.date-header.today{border-bottom-color:var(--tt-red);border-bottom-width:2px}.date-header.soon{border-bottom-color:var(--tt-amber);border-bottom-width:2px}.date-header.future{border-bottom-color:var(--tt-green)}.date-header-left{display:flex;align-items:center;gap:10px}.date-icon{font-size:16px;color:var(--tt-green)}.date-title{font-size:15px;font-weight:600;color:var(--tt-gray-900);margin:0}.urgency-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.urgency-badge.today,.urgency-badge.urgent{background:var(--tt-red);color:#fff}.urgency-badge.soon{background:var(--tt-amber);color:#fff}.urgency-badge.future{background:var(--tt-green);color:#fff}.urgency-badge.past{background:var(--tt-gray-400);color:#fff}.date-exams{display:flex;flex-direction:column}.exam-card.timeline{display:grid;grid-template-columns:auto 1fr auto;gap:16px;padding:14px 20px;border-bottom:1px solid var(--tt-gray-200);border-left:3px solid transparent;transition:all .15s;align-items:center}.exam-card.timeline:last-child{border-bottom:none}.exam-card.timeline.urgent,.exam-card.timeline.today{border-left-color:var(--tt-red)}.exam-card.timeline.soon{border-left-color:var(--tt-amber)}.exam-card.timeline.future{border-left-color:var(--tt-green)}.exam-card.timeline:hover{background:var(--tt-gray-50)}.exam-time-badge{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;background:var(--tt-gray-100);border:1px solid var(--tt-gray-300);border-radius:4px;min-width:80px}.exam-time-badge svg{color:var(--tt-gray-600);font-size:12px}.exam-time-badge span{font-size:13px;font-weight:500;color:var(--tt-gray-700)}.exam-main{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.exam-header-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.exam-subject{font-size:15px;font-weight:600;color:var(--tt-gray-900);margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-readiness-compact{flex-shrink:0;display:none}.exam-readiness-side{display:flex;align-items:center;justify-content:center;padding-left:16px;border-left:1px solid var(--tt-gray-200)}.exam-lectures-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lectures-label{font-size:12px;color:var(--tt-gray-600);font-weight:500;flex-shrink:0}.lectures-chips{display:flex;flex-wrap:wrap;gap:6px}.lecture-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--tt-green-light);border:1px solid var(--tt-green);color:var(--tt-green-dark);border-radius:4px;font-size:12px;font-weight:500;transition:all .15s}.lecture-chip.clickable{cursor:pointer}.lecture-chip.clickable:hover{background:var(--tt-green);color:#fff;box-shadow:var(--tt-shadow-sm)}.chip-icon{font-size:9px}.exam-notes-text{font-size:12px;color:var(--tt-gray-600);margin:0;line-height:1.5;font-style:italic}.exam-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn svg{font-size:11px}.action-btn.primary{background:var(--tt-green);color:#fff}.action-btn.primary:hover:not(:disabled){background:var(--tt-green-dark)}.action-btn.secondary{background:var(--tt-white);color:var(--tt-green);border:1px solid var(--tt-green)}.action-btn.secondary:hover:not(:disabled){background:var(--tt-green-light)}.action-btn.tertiary{background:var(--tt-gray-100);color:var(--tt-gray-700);border:1px solid var(--tt-gray-300)}.action-btn.tertiary:hover:not(:disabled){background:var(--tt-gray-200)}.edit-mode{background:var(--tt-white);border-radius:12px;padding:28px;box-shadow:var(--tt-shadow-sm)}.edit-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:16px;padding-bottom:20px;border-bottom:2px solid var(--tt-gray-200)}.add-exam-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--tt-green);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:var(--tt-shadow-sm)}.add-exam-btn:hover{background:var(--tt-green-dark);transform:translateY(-2px);box-shadow:var(--tt-shadow-md)}.save-cancel-btns{display:flex;gap:12px}.cancel-btn,.save-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.cancel-btn{background:var(--tt-white);color:var(--tt-gray-700);border:1px solid var(--tt-gray-300)}.cancel-btn:hover:not(:disabled){background:var(--tt-gray-100);border-color:var(--tt-gray-400)}.save-btn{background:linear-gradient(135deg,var(--tt-green) 0%,var(--tt-green-dark) 100%);color:#fff;box-shadow:var(--tt-shadow-sm)}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--tt-shadow-md)}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.exams-list.edit{display:flex;flex-direction:column;gap:20px}.exam-card.editing{padding:24px;background:var(--tt-gray-50);border:1px solid var(--tt-gray-300);border-radius:12px;display:flex;flex-direction:column;gap:20px}.exam-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px}.field.full-width{grid-column:1 / -1}.field label{font-size:13px;font-weight:600;color:var(--tt-gray-700)}.field input,.field textarea{padding:12px 14px;border:1px solid var(--tt-gray-300);border-radius:8px;font-size:14px;font-family:inherit;background:var(--tt-white);transition:all .2s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--tt-green);box-shadow:0 0 0 3px var(--tt-green-light)}.lecture-selector{position:relative}.lecture-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--tt-white);border:1px solid var(--tt-gray-300);border-radius:8px;font-size:14px;color:var(--tt-gray-700);cursor:pointer;transition:all .2s}.lecture-dropdown-toggle:hover{border-color:var(--tt-gray-400)}.lecture-dropdown-toggle svg{transition:transform .2s}.lecture-dropdown-toggle svg.rotate{transform:rotate(180deg)}.lecture-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--tt-white);border:1px solid var(--tt-gray-300);border-radius:8px;box-shadow:var(--tt-shadow-md);max-height:300px;overflow-y:auto;z-index:10}.lecture-dropdown-empty{padding:12px 16px;color:var(--tt-gray-500);font-size:14px;text-align:center}.lecture-option{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--tt-gray-100)}.lecture-option:last-child{border-bottom:none}.lecture-option:hover{background:var(--tt-green-light)}.lecture-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--tt-green)}.lecture-option span{font-size:14px;color:var(--tt-gray-700);flex:1}.selected-lectures-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lecture-chip-remove{background:none;border:none;color:var(--tt-green-dark);font-size:18px;line-height:1;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.lecture-chip-remove:hover{background:var(--tt-green);color:#fff}.tutorial-selector{position:relative}.tutorial-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--tt-white);border:1px solid var(--tt-gray-300);border-radius:8px;font-size:14px;color:var(--tt-gray-700);cursor:pointer;transition:all .2s}.tutorial-dropdown-toggle:hover{border-color:var(--tt-gray-400)}.tutorial-dropdown-toggle svg{transition:transform .2s}.tutorial-dropdown-toggle svg.rotate{transform:rotate(180deg)}.tutorial-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--tt-white);border:1px solid var(--tt-gray-300);border-radius:8px;box-shadow:var(--tt-shadow-md);max-height:300px;overflow-y:auto;z-index:10}.tutorial-dropdown-empty{padding:12px 16px;color:var(--tt-gray-500);font-size:14px;text-align:center}.tutorial-option{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--tt-gray-100)}.tutorial-option:last-child{border-bottom:none}.tutorial-option:hover{background:#f0f4ff}.tutorial-option input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5b6abf}.tutorial-option span{font-size:14px;color:var(--tt-gray-700);flex:1}.selected-tutorials-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tutorial-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#eef0ff;color:#4a559a;border-radius:16px;font-size:12px;font-weight:500;border:1px solid #c7cdf0;transition:all .15s}.tutorial-chip.view{cursor:default}.tutorial-chip-remove{background:none;border:none;color:#4a559a;font-size:18px;line-height:1;cursor:pointer;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.tutorial-chip-remove:hover{background:#5b6abf;color:#fff}.exam-tutorials-row{display:flex;align-items:flex-start;gap:10px;margin-top:4px}.tutorials-label{font-size:12px;color:var(--tt-gray-500);font-weight:500;white-space:nowrap;padding-top:4px}.tutorials-chips{display:flex;flex-wrap:wrap;gap:6px}.delete-exam-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--tt-red-light);color:var(--tt-red);border:1px solid var(--tt-red);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;align-self:flex-start}.delete-exam-btn:hover{background:var(--tt-red);color:#fff;transform:translateY(-2px);box-shadow:var(--tt-shadow-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;background:var(--tt-white);border-radius:12px;box-shadow:var(--tt-shadow-sm)}.empty-icon{font-size:72px;color:var(--tt-gray-300);margin-bottom:20px}.empty-state h2{font-size:20px;font-weight:600;color:var(--tt-gray-900);margin:0 0 10px}.empty-state p{font-size:14px;color:var(--tt-gray-600);margin:0 0 28px}.add-first-exam-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--tt-green) 0%,var(--tt-green-dark) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;box-shadow:var(--tt-shadow-md)}.add-first-exam-btn:hover{transform:translateY(-2px);box-shadow:var(--tt-shadow-lg)}@media (max-width: 1200px){.timetable-view{padding:60px 40px 40px}.exam-card.timeline{grid-template-columns:auto 1fr;gap:12px}.exam-readiness-side{display:none}.exam-time-badge{min-width:70px}}@media (max-width: 768px){.timetable-view{padding:40px 20px 20px}.timetable-header{flex-direction:column;align-items:stretch}.header-title-row{flex-direction:column;align-items:flex-start;gap:12px}.edit-btn{width:100%;justify-content:center}.exam-edit-fields{grid-template-columns:1fr}.edit-actions{flex-direction:column;align-items:stretch}.add-exam-btn{width:100%;justify-content:center}.save-cancel-btns{width:100%}.cancel-btn,.save-btn{flex:1}.exam-card.timeline{grid-template-columns:1fr;gap:10px;padding:12px 16px}.exam-readiness-side{display:none}.exam-time-badge{width:fit-content}.exam-header-row{gap:8px}.exam-actions{flex-direction:column}.action-btn{width:100%;justify-content:center}.date-header{flex-direction:column;gap:8px;align-items:flex-start;padding:10px 16px}}.weights-label{display:flex;flex-direction:column;gap:2px}.weights-hint{font-size:11px;font-weight:400;color:var(--tt-gray-500, #9ca3af)}.weights-config{display:flex;gap:.75rem;flex-wrap:wrap}.weight-item{display:flex;align-items:center;gap:.35rem;background:var(--tt-gray-100, #f9fafb);border:1px solid var(--tt-gray-300, #e5e7eb);border-radius:8px;padding:.4rem .6rem}.weight-name{font-size:.78rem;font-weight:600;color:var(--tt-gray-600, #6b7280);min-width:52px}.weight-item input[type=number]{width:48px;padding:.3rem .4rem;border:1px solid var(--tt-gray-300, #e5e7eb);border-radius:5px;font-size:.82rem;text-align:center;background:#fff}.weight-item input[type=number]:focus{outline:none;border-color:var(--tt-green, #4A7C59)}.weight-unit{font-size:.75rem;color:var(--tt-gray-500, #9ca3af)}.weights-warning{display:block;margin-top:.35rem;font-size:.72rem;color:#dc2626;font-weight:500}.exam-coach{--coach-green: #4A7C59;--coach-green-dark: #3D6B4A;--coach-green-light: #E8F5E9;--coach-white: #ffffff;--coach-bg: #fafafa;--coach-border: #e5e7eb;--coach-border-dark: #d1d5db;--coach-text: #1f2937;--coach-text-secondary: #6b7280;--coach-text-muted: #9ca3af;background:var(--coach-white);border-radius:0;overflow:hidden;color:var(--coach-text)}.coach-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--coach-white);border-bottom:1px solid var(--coach-border);cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.coach-header:hover{background:var(--coach-bg)}.coach-header-left{display:flex;align-items:center;gap:12px}.coach-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.coach-logo-img{width:100%;height:100%;object-fit:contain}.coach-title{display:flex;flex-direction:column;gap:2px}.coach-brand{font-size:16px;font-weight:600;color:var(--coach-text);letter-spacing:-.01em}.coach-label{font-size:12px;color:var(--coach-text-muted);font-weight:500}.coach-cta-pill{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:6px 10px;border-radius:999px;background:linear-gradient(180deg,#e8f5e9e6,#e8f5e98c);border:1px solid rgba(74,124,89,.18);box-shadow:0 1px #00000005;max-width:360px}.coach-cta-kicker{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#3d6b4ad9;white-space:nowrap}.coach-cta-text{font-size:12px;font-weight:600;color:var(--coach-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-header-center{flex:1;display:flex;justify-content:center}.coach-status-loading{display:flex;align-items:center;gap:8px;color:var(--coach-text-muted);font-size:13px}.coach-status{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--coach-bg);border-radius:20px;border:1px solid var(--coach-border)}.coach-status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:var(--coach-border-dark);box-shadow:0 0 0 2px #00000008}.coach-status-dot.critical{background:#dc2626}.coach-status-dot.attention{background:#d97706}.coach-status-dot.good{background:var(--coach-green)}.coach-status-dot.building{background:#2563eb}.coach-status-dot.excellent{background:#7c3aed}.coach-status-dot.clear{background:var(--coach-border-dark)}.status-text{font-size:13px;font-weight:500;color:var(--coach-text)}.coach-header-right{display:flex;align-items:center;padding:8px}.toggle-icon{color:var(--coach-text-muted);font-size:14px;transition:transform .2s ease}.exam-coach.expanded .toggle-icon{color:var(--coach-green)}.coach-body{display:flex;flex-direction:column;background:var(--coach-white);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:800px}}.coach-context-bar{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--coach-bg);border-bottom:1px solid var(--coach-border);font-size:13px}.context-label{color:var(--coach-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.context-value{color:var(--coach-text);font-weight:500}.coach-chat-tabs{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid var(--coach-border);background:var(--coach-white)}.chat-tabs-scroll{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-tabs-scroll::-webkit-scrollbar{display:none}.chat-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--coach-white);border:1px solid var(--coach-border);border-radius:6px;color:var(--coach-text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.chat-tab:hover{border-color:var(--coach-border-dark);color:var(--coach-text)}.chat-tab.active{background:var(--coach-green-light);border-color:var(--coach-green);color:var(--coach-green-dark);font-weight:500}.chat-tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.chat-tab-count{padding:2px 6px;background:#0000000f;border-radius:4px;font-size:11px;font-weight:600}.chat-tab.active .chat-tab-count{background:#4a7c5933}.chat-tab-close{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--coach-text-muted);font-size:8px;cursor:pointer;opacity:0;transition:all .15s ease}.chat-tab:hover .chat-tab-close{opacity:1}.chat-tab-close:hover{background:#fee2e2;color:#dc2626}.new-chat-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--coach-green);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0}.new-chat-btn:hover{background:var(--coach-green-dark)}.new-chat-btn svg{font-size:11px}.coach-messages{flex:1;max-height:360px;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px;background:var(--coach-white)}.coach-messages::-webkit-scrollbar{width:6px}.coach-messages::-webkit-scrollbar-track{background:transparent}.coach-messages::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.coach-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.coach-empty-icon{width:56px;height:56px;border-radius:16px;margin-bottom:16px;background:var(--coach-green-light);border:1px solid rgba(74,124,89,.2);display:flex;align-items:center;justify-content:center}.coach-empty-logo{width:32px;height:32px;object-fit:contain}.coach-empty-title{font-size:18px;font-weight:600;color:var(--coach-text);margin-bottom:8px}.coach-empty-subtitle{font-size:14px;color:var(--coach-text-secondary);max-width:300px;line-height:1.5}.coach-message{display:flex;flex-direction:column;max-width:85%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.coach-message--user{align-self:flex-end;align-items:flex-end}.coach-message--assistant{align-self:flex-start;align-items:flex-start}.coach-message-sender{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-left:4px}.coach-sender-logo{width:18px;height:18px;object-fit:contain}.coach-sender-name{font-size:13px;font-weight:600;color:var(--coach-text)}.coach-message-bubble{padding:14px 18px;border-radius:16px;font-size:15px;line-height:1.6;min-height:20px}.coach-message--user .coach-message-bubble{background:var(--coach-green);color:#fff;border-bottom-right-radius:4px}.coach-message--user .coach-message-content{color:#fff;white-space:pre-wrap}.coach-message--assistant .coach-message-bubble{background:#f5f5f5;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:4px}.coach-message-content{word-break:break-word;color:inherit;font-size:15px;line-height:1.6}.exam-coach .coach-message-content,.exam-coach .coach-message-content *{color:inherit}.coach-message--assistant .coach-message-content{color:var(--coach-text)}.coach-message--assistant .coach-message-content p{margin:0 0 12px}.coach-message--assistant .coach-message-content p:last-child{margin-bottom:0}.coach-message--assistant .coach-message-content strong{font-weight:600;color:var(--coach-green-dark)}.coach-message--assistant .coach-message-content em{font-style:italic}.coach-message--assistant .coach-message-content ul,.coach-message--assistant .coach-message-content ol{margin:8px 0;padding-left:20px}.coach-message--assistant .coach-message-content li{margin:6px 0}.coach-message--assistant .coach-message-content li::marker{color:var(--coach-green)}.coach-message--assistant .coach-message-content code{background:#0000000f;padding:2px 6px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.coach-message--assistant .coach-message-content pre{background:var(--coach-white);padding:12px 16px;border-radius:8px;overflow-x:auto;margin:12px 0;border:1px solid var(--coach-border)}.coach-message--assistant .coach-message-content pre code{background:transparent;padding:0}.coach-message--assistant .coach-message-content h1,.coach-message--assistant .coach-message-content h2,.coach-message--assistant .coach-message-content h3,.coach-message--assistant .coach-message-content h4{margin:16px 0 8px;color:var(--coach-text);font-weight:600}.coach-message--assistant .coach-message-content h1:first-child,.coach-message--assistant .coach-message-content h2:first-child,.coach-message--assistant .coach-message-content h3:first-child{margin-top:0}.coach-message--assistant .coach-message-content blockquote{border-left:3px solid var(--coach-green);margin:12px 0;padding-left:16px;color:var(--coach-text-secondary);font-style:italic}.coach-message--assistant .coach-message-content table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px;display:block;overflow-x:auto}.coach-message--assistant .coach-message-content th,.coach-message--assistant .coach-message-content td{border:1px solid var(--coach-border);padding:8px 12px;text-align:left}.coach-message--assistant .coach-message-content th{background:var(--coach-green-light);font-weight:600;color:var(--coach-green-dark)}.coach-message--assistant .coach-message-content td{background:var(--coach-white)}.coach-message--assistant .coach-message-content hr{border:none;border-top:1px solid var(--coach-border);margin:16px 0}.coach-typing-dots{display:flex;gap:6px;padding:8px 4px;align-items:center}.coach-typing-dots span{width:8px;height:8px;background:#9ca3af;border-radius:50%;animation:typing 1.4s infinite ease-in-out;display:block}.coach-typing-dots span:nth-child(1){animation-delay:0s}.coach-typing-dots span:nth-child(2){animation-delay:.2s}.coach-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.coach-action-link{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin:0 2px;background:var(--coach-green-light);border:1px solid rgba(74,124,89,.3);border-radius:6px;color:var(--coach-green-dark);font-size:inherit;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;text-decoration:none}.coach-action-link:hover{background:#4a7c5933;border-color:var(--coach-green);transform:translateY(-1px)}.action-link-icon{font-size:9px;opacity:.6}.coach-action-link:hover .action-link-icon{opacity:1}.coach-message--assistant .coach-message-content a:not(.coach-action-link),.coach-external-link{color:var(--coach-green);text-decoration:underline;text-underline-offset:2px}.coach-broken-link{color:var(--coach-green);font-weight:600}.coach-prompts{padding:0 24px 16px;background:var(--coach-white)}.prompts-label{display:block;font-size:11px;color:var(--coach-text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.prompts-list{display:flex;flex-wrap:wrap;gap:8px}.prompt-btn{padding:10px 16px;background:var(--coach-white);border:1px solid var(--coach-border);border-radius:8px;color:var(--coach-text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.prompt-btn:hover{background:var(--coach-bg);border-color:var(--coach-green);color:var(--coach-text);transform:translateY(-1px)}.coach-input-wrapper{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--coach-white);border-top:1px solid var(--coach-border)}.coach-input{flex:1;padding:14px 18px;background:var(--coach-white);border:2px solid var(--coach-border);border-radius:12px;color:var(--coach-text);font-size:15px;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.coach-input::placeholder{color:var(--coach-text-muted)}.coach-input:focus{border-color:var(--coach-green);box-shadow:0 0 0 3px #4a7c591a}.coach-input:disabled{opacity:.6;cursor:not-allowed}.coach-send-btn{width:48px;height:48px;background:var(--coach-green);border:none;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0;font-size:16px}.coach-send-btn:hover:not(:disabled){background:var(--coach-green-dark);transform:scale(1.05)}.coach-send-btn:disabled{background:var(--coach-border);color:var(--coach-text-muted);cursor:not-allowed;transform:none}.spin{animation:spin 1s linear infinite}@media (max-width: 768px){.coach-header{padding:12px 16px}.coach-header-center{display:none}.coach-context-bar,.coach-chat-tabs{padding:10px 16px}.coach-messages{padding:16px;max-height:300px}.coach-prompts{padding:0 16px 12px}.prompts-list{flex-direction:column}.coach-input-wrapper{padding:12px 16px}.coach-input{padding:12px 14px;font-size:14px}.coach-send-btn{width:44px;height:44px}.chat-tab-name{max-width:80px}.new-chat-btn span{display:none}.new-chat-btn{padding:8px 10px}}@media (max-width: 480px){.coach-logo{width:28px;height:28px}.coach-brand{font-size:14px}.coach-label,.coach-cta-pill{display:none}.message-bubble{padding:12px 14px;font-size:14px}.coach-message{max-width:90%}}:root{--es-green: #4A7C59;--es-green-light: #E8F5E9;--es-green-dark: #3D6B4A;--es-cream: #FAF8F5;--es-white: #FFFFFF;--es-gray-50: #F9FAFB;--es-gray-100: #F3F4F6;--es-gray-200: #E5E7EB;--es-gray-300: #D1D5DB;--es-gray-400: #9CA3AF;--es-gray-500: #6B7280;--es-gray-600: #4B5563;--es-gray-700: #374151;--es-gray-800: #1F2937;--es-gray-900: #111827;--es-red: #DC2626;--es-red-light: #FEE2E2;--es-amber: #D97706;--es-amber-light: #FEF3C7}.es-view{min-height:100vh;background:var(--es-cream);padding:80px 60px 60px;max-width:1800px;margin:0 auto}.es-view.es-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--es-gray-500)}.es-spinner{width:40px;height:40px;border:3px solid var(--es-gray-200);border-top-color:var(--es-green);border-radius:50%;animation:es-spin .8s linear infinite}@keyframes es-spin{to{transform:rotate(360deg)}}.es-coach-hero{margin-bottom:24px;background:var(--es-white);border:1px solid var(--es-gray-200);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #1b1f2414}.es-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.es-header-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.es-header-bar h1{font-size:20px;font-weight:600;color:var(--es-gray-900);display:flex;align-items:center;gap:10px;margin:0}.es-header-icon{color:var(--es-green);font-size:20px}.es-header-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--es-gray-500)}.es-meta-item{color:var(--es-gray-600)}.es-meta-divider{color:var(--es-gray-300)}.es-filter-tabs{display:inline-flex;background:var(--es-white);border:1px solid var(--es-gray-200);border-radius:10px;padding:4px}.es-filter-tab{padding:10px 20px;background:transparent;border:none;border-radius:8px;color:var(--es-gray-600);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.es-filter-tab:hover{color:var(--es-gray-900)}.es-filter-tab.active{background:var(--es-green);color:#fff}.es-error{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--es-red-light);border:1px solid var(--es-red);border-radius:12px;margin-bottom:32px;color:var(--es-red);font-size:14px}.es-error button{margin-left:auto;padding:8px 16px;background:var(--es-red);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.es-main{width:100%}.es-timeline-section{margin-bottom:48px}.es-timeline-title{font-size:12px;font-weight:600;color:var(--es-gray-500);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 20px}.es-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px;width:100%}.es-card{background:var(--es-white);border:1px solid var(--es-gray-200);border-radius:16px;padding:28px;cursor:pointer;transition:all .2s;position:relative;display:flex;flex-direction:column}.es-card:hover{border-color:var(--es-green);box-shadow:0 8px 24px #4a7c591f;transform:translateY(-3px)}.es-urgency-strip{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px}.es-urgency-strip.critical{background:var(--es-red)}.es-urgency-strip.urgent{background:var(--es-amber)}.es-urgency-strip.moderate{background:var(--es-gray-400)}.es-urgency-strip.comfortable{background:var(--es-green)}.es-urgency-strip.past{background:var(--es-gray-300)}.es-course-info{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.es-course-name{font-size:14px;font-weight:600;color:var(--es-gray-800);line-height:1.3}.es-course-code{font-size:12px;font-weight:500;color:var(--es-gray-500);text-transform:uppercase;letter-spacing:.5px}.es-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.es-course-badge{font-size:11px;font-weight:600;color:var(--es-green);background:var(--es-green-light);padding:5px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.es-countdown-text{font-size:13px;font-weight:500}.es-card.critical .es-countdown-text{color:var(--es-red)}.es-card.urgent .es-countdown-text{color:var(--es-amber)}.es-card.moderate .es-countdown-text,.es-card.comfortable .es-countdown-text{color:var(--es-gray-500)}.es-card.past .es-countdown-text{color:var(--es-gray-400)}.es-card-title{font-size:18px;font-weight:600;color:var(--es-gray-900);margin:0 0 12px;line-height:1.4}.es-card-date{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--es-gray-500);margin-bottom:20px}.es-date-icon{color:var(--es-green)}.es-progress-section{display:flex;align-items:center;gap:16px;margin-bottom:20px}.es-progress-bar{flex:1;height:8px;background:var(--es-gray-100);border-radius:4px;overflow:hidden}.es-progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.es-progress-fill.excellent{background:var(--es-green)}.es-progress-fill.good{background:#84cc16}.es-progress-fill.needs-work{background:var(--es-amber)}.es-progress-fill.not-started{background:var(--es-gray-300)}.es-mp-value{font-size:14px;font-weight:700;min-width:55px;text-align:right}.es-mp-value.excellent{color:var(--es-green)}.es-mp-value.good{color:#65a30d}.es-mp-value.needs-work{color:var(--es-amber)}.es-mp-value.not-started{color:var(--es-gray-400)}.es-card-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:20px 0;border-top:1px solid var(--es-gray-100);border-bottom:1px solid var(--es-gray-100);margin-bottom:16px}.es-stat{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.es-stat-value{font-size:20px;font-weight:700;color:var(--es-gray-800)}.es-stat-value.warn{color:var(--es-amber)}.es-stat-value.good,.es-stat-value.excellent{color:var(--es-green)}.es-stat-value.needs-work{color:var(--es-amber)}.es-stat-value.not-started{color:var(--es-gray-400)}.es-stat-label{font-size:10px;color:var(--es-gray-500);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.es-card-footer{display:flex;justify-content:flex-end;margin-top:auto}.es-view-details{font-size:14px;font-weight:600;color:var(--es-green);display:flex;align-items:center;gap:6px;transition:gap .2s}.es-card:hover .es-view-details{gap:10px}.es-empty-state{text-align:center;padding:120px 60px;background:var(--es-white);border-radius:20px;border:1px solid var(--es-gray-200);max-width:600px;margin:60px auto}.es-empty-icon{font-size:64px;color:var(--es-gray-300);margin-bottom:32px}.es-empty-state h2{font-size:28px;color:var(--es-gray-800);margin:0 0 16px;font-weight:600}.es-empty-state p{color:var(--es-gray-500);margin:0 0 32px;font-size:16px;line-height:1.6}.es-cta-btn{padding:16px 36px;background:var(--es-green);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.es-cta-btn:hover{background:var(--es-green-dark);transform:translateY(-2px);box-shadow:0 4px 12px #4a7c594d}.es-cta-btn.secondary{background:var(--es-white);color:var(--es-gray-700);border:1px solid var(--es-gray-200)}.es-cta-btn.secondary:hover{border-color:var(--es-green);color:var(--es-green);background:var(--es-green-light);box-shadow:none}.es-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:40px;animation:es-fade-in .2s ease}@keyframes es-fade-in{0%{opacity:0}to{opacity:1}}.es-modal{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;background:var(--es-white);border-radius:20px;animation:es-slide-up .3s ease}@keyframes es-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.es-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--es-gray-100)}.es-back-btn,.es-close-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:transparent;border:1px solid var(--es-gray-200);border-radius:8px;color:var(--es-gray-600);font-size:13px;cursor:pointer;transition:all .2s}.es-back-btn:hover,.es-close-btn:hover{background:var(--es-gray-50);border-color:var(--es-gray-300)}.es-close-btn{padding:8px}.es-modal-hero{text-align:center;padding:40px 28px;background:var(--es-gray-50)}.es-modal-course-info{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:8px}.es-modal-course-name{font-size:14px;font-weight:600;color:var(--es-gray-800)}.es-modal-course-code{font-size:12px;font-weight:500;color:var(--es-green);background:var(--es-green-light);padding:4px 12px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.es-modal-title{font-size:24px;font-weight:700;color:var(--es-gray-900);margin:16px 0 24px}.es-progress-ring{width:120px;height:120px;position:relative;margin:0 auto 24px}.es-progress-ring svg{transform:rotate(-90deg);width:100%;height:100%}.es-ring-bg{fill:none;stroke:var(--es-gray-200);stroke-width:8}.es-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .6s ease}.es-progress-ring.excellent .es-ring-fill{stroke:var(--es-green)}.es-progress-ring.good .es-ring-fill{stroke:#84cc16}.es-progress-ring.needs-work .es-ring-fill{stroke:var(--es-amber)}.es-progress-ring.not-started .es-ring-fill{stroke:var(--es-gray-300)}.es-ring-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.es-ring-value{font-size:32px;font-weight:700;color:var(--es-gray-900);line-height:1}.es-ring-label{font-size:12px;color:var(--es-gray-500);text-transform:uppercase;font-weight:600}.es-exam-status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:8px 16px;border-radius:8px}.es-exam-status.critical{background:var(--es-red-light);color:var(--es-red)}.es-exam-status.urgent{background:var(--es-amber-light);color:var(--es-amber)}.es-exam-status.moderate,.es-exam-status.comfortable{background:var(--es-gray-100);color:var(--es-gray-600)}.es-exam-status.past{background:var(--es-gray-100);color:var(--es-gray-400)}.es-modal-section{padding:28px}.es-section-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--es-gray-700);margin:0 0 20px;text-transform:uppercase;letter-spacing:.5px}.es-syllabus-list{display:flex;flex-direction:column;gap:12px}.es-syllabus-item{display:flex;align-items:center;gap:14px;padding:16px;background:var(--es-gray-50);border:1px solid var(--es-gray-100);border-radius:12px;transition:all .2s}.es-syllabus-item:hover{background:var(--es-white);border-color:var(--es-gray-200)}.es-syllabus-indicator{font-size:20px;flex-shrink:0}.icon-done{color:var(--es-green)}.icon-progress{color:var(--es-amber)}.icon-new{color:var(--es-gray-400)}.es-syllabus-info{flex:1;min-width:0}.es-syllabus-name{display:block;font-size:14px;font-weight:500;color:var(--es-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:8px}.es-syllabus-progress{display:flex;align-items:center;gap:12px}.es-mini-bar{flex:1;height:6px;background:var(--es-gray-200);border-radius:3px;overflow:hidden}.es-mini-fill{height:100%;border-radius:3px}.es-mini-fill.excellent{background:var(--es-green)}.es-mini-fill.good{background:#84cc16}.es-mini-fill.needs-work{background:var(--es-amber)}.es-mini-fill.not-started{background:var(--es-gray-300)}.es-mp-text{font-size:12px;font-weight:600;color:var(--es-gray-600);min-width:50px}.es-syllabus-actions{display:flex;gap:8px;flex-shrink:0}.es-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--es-gray-200);background:var(--es-white);color:var(--es-gray-500);cursor:pointer;transition:all .2s}.es-action-btn:hover{border-color:var(--es-green);color:var(--es-green);background:var(--es-green-light)}.es-action-btn.study:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.es-empty-text{font-size:14px;color:var(--es-gray-400);font-style:italic}.es-tutorials-list{display:flex;flex-direction:column;gap:12px}.es-tutorial-item{width:100%;display:flex;align-items:center;gap:14px;padding:16px;background:var(--es-gray-50);border:1px solid var(--es-gray-100);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.es-tutorial-item:hover{background:var(--es-white);border-color:var(--es-gray-200)}.es-tutorial-indicator{font-size:20px;flex-shrink:0;color:#5b6abf}.es-tutorial-icon{display:block}.es-tutorial-info{flex:1;min-width:0}.es-tutorial-title{display:block;font-size:14px;font-weight:600;color:var(--es-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.es-tutorial-subtitle{display:block;font-size:12px;color:var(--es-gray-500);font-weight:500}.es-tutorial-actions{flex-shrink:0;display:flex;align-items:center;gap:10px}.es-tutorial-score{min-width:44px;text-align:right;font-size:12px;font-weight:800;color:var(--es-gray-700)}.es-tutorial-score.na{color:var(--es-gray-400);font-weight:700}.es-tutorial-open{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--es-gray-200);background:var(--es-white);color:#5b6abf;font-size:12px;font-weight:700;transition:all .2s}.es-tutorial-item:hover .es-tutorial-open{border-color:#c7cdf0;background:#eef0ff}@media (max-width: 1024px){.es-view{padding:80px 40px 40px}.es-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}@media (max-width: 768px){.es-view{padding:70px 20px 40px}.es-header-bar{flex-direction:column;align-items:flex-start;gap:12px}.es-header-bar h1{font-size:18px}.es-header-meta{font-size:13px}.es-filter-tabs{width:100%}.es-filter-tab{flex:1}.es-grid{grid-template-columns:1fr}.es-card-stats{grid-template-columns:repeat(3,1fr)}.es-card-stats .es-stat:nth-child(4),.es-card-stats .es-stat:nth-child(5){display:none}.es-modal-backdrop{padding:20px}.es-modal{max-height:95vh}.es-empty-state{padding:60px 30px;margin:30px auto}}@media (max-width: 480px){.es-view{padding:65px 16px 32px}.es-header-bar h1{font-size:16px}.es-header-left{flex-direction:column;align-items:flex-start;gap:8px}.es-filter-tab{padding:10px 12px;font-size:13px}.es-coach-hero{margin-bottom:16px}.es-card{padding:20px}.es-card-title{font-size:16px}.es-modal-hero{padding:30px 20px}.es-modal-title{font-size:20px}.es-progress-ring{width:100px;height:100px}.es-ring-value{font-size:28px}}.es-pillar-row{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.es-pillar-item{font-size:.68rem;font-weight:600;padding:.15rem .45rem;border-radius:4px;letter-spacing:.02em}.es-pillar-study{background:#eff6ff;color:#1d4ed8}.es-pillar-tutorial{background:#fef3c7;color:#92400e}.es-pillar-practice{background:#f0fdf4;color:#166534}.es-pillar-breakdown{display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:280px;margin:1rem auto 0}.es-pillar-detail{display:flex;align-items:center;gap:.75rem}.es-pillar-bar-wrap{flex:1;height:6px;background:#0000000f;border-radius:3px;overflow:hidden}.es-pillar-bar{height:100%;border-radius:3px;transition:width .4s ease}.es-pillar-bar-study{background:#3b82f6}.es-pillar-bar-tutorial{background:#f59e0b}.es-pillar-bar-practice{background:#22c55e}.es-pillar-label{font-size:.72rem;font-weight:500;color:#64748b;min-width:90px;text-align:right}.es-lecture-pillars{display:flex;gap:.4rem;margin-top:.3rem;flex-wrap:wrap}.es-lp-item{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:3px;letter-spacing:.01em}.es-lp-study{background:#eff6ff;color:#1d4ed8}.es-lp-tutorial{background:#fef3c7;color:#92400e}.es-lp-practice{background:#f0fdf4;color:#166534}.es-pillar-weight{font-size:.6rem;color:#94a3b8;margin-left:.25rem;font-weight:400}.es-pillar-na{font-size:.65rem;color:#94a3b8;font-style:italic}.es-pillar-bar-na{background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 4px,#f1f5f9 4px 8px)!important}.es-weight-note{font-size:.65rem;color:#94a3b8;text-align:center;margin:.4rem 0 0;font-style:italic;line-height:1.3}.es-weights-footer{border-top:1px solid #f1f5f9;padding:.75rem 1.5rem;text-align:center}.es-weights-title{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0 0 .3rem}.es-weights-formula{font-size:.7rem;color:#64748b;margin:0 0 .2rem;font-weight:500}.es-wf-study{color:#1d4ed8}.es-wf-tutorial{color:#92400e}.es-wf-practice{color:#166534}.es-weights-explain{font-size:.6rem;color:#94a3b8;margin:.15rem 0 0;font-style:italic;line-height:1.4}:root{--brand-green: #2d7a3e;--brand-green-dark: #245c30;--brand-green-light: #e8f5e9;--page-bg: #f9f7f3;--card-bg: #ffffff;--text-charcoal: #1a1a1a;--text-gray: #666666;--text-lightgray: #999999;--border-light: #e5e7eb;--shadow-subtle: 0 2px 8px rgba(0, 0, 0, .06);--shadow-card: 0 4px 16px rgba(0, 0, 0, .08);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--amber-accent: #b45309;--amber-light: #fef3c7}.weak-concepts-view{min-height:100vh;background:var(--page-bg);padding:100px 2rem 4rem;animation:fadeIn .4s ease-out}.view-header,.view-header *,.title-section,.title-section *,.filter-section,.filter-section *,.deck-navigation,.deck-navigation *:not(.nav-btn),.performance-stats,.performance-stats *{animation:none!important;transform:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-light);border-top-color:var(--brand-green);border-radius:50%;animation:spin .8s linear infinite}.view-header{max-width:1100px;margin:0 auto 3rem;background:var(--card-bg);border-radius:16px;padding:2rem 2.5rem;border:2px solid var(--amber-accent);box-shadow:0 4px 16px #b453091a}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.title-section{display:flex;align-items:center;gap:1.5rem;flex:1}.header-icon{font-size:2.5rem;color:var(--amber-accent);flex-shrink:0}.view-header h1{font-size:1.75rem;font-weight:700;color:var(--text-charcoal);margin:0 0 .5rem;letter-spacing:-.01em}.subtitle{font-size:1rem;color:var(--text-gray);margin:0;font-weight:500}.stats-badge{background:var(--amber-light);padding:1rem 1.75rem;border-radius:12px;text-align:center;border:1px solid var(--amber-accent)}.stats-badge .total-count{display:block;font-size:2.25rem;font-weight:700;color:var(--amber-accent);line-height:1;margin-bottom:.375rem}.stats-badge .label{display:block;font-size:.8125rem;color:var(--text-gray);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.filter-section{max-width:1100px;margin:0 auto 3rem;background:var(--card-bg);padding:1.5rem 2rem;border-radius:16px;box-shadow:var(--shadow-subtle);border:1px solid var(--border-light)}.filter-label{display:flex;align-items:center;gap:.625rem;font-weight:600;color:var(--text-charcoal);margin-bottom:1rem;font-size:.9375rem}.filter-label svg{color:var(--brand-green);font-size:1rem}.course-filter-buttons{display:flex;flex-wrap:wrap;gap:.625rem}.filter-btn{padding:.625rem 1.125rem;border:2px solid var(--brand-green);background:var(--card-bg);border-radius:8px;font-weight:600;color:var(--brand-green);cursor:pointer;transition:all .2s ease;font-size:.875rem}.filter-btn:hover{background:var(--brand-green-light);transform:translateY(-1px)!important;box-shadow:var(--shadow-subtle)}.filter-btn.active{background:var(--brand-green);color:#fff;box-shadow:0 4px 12px #2d7a3e33}.deck-container{max-width:1100px;margin:0 auto}.deck-progress{display:flex;align-items:center;gap:1rem;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-light)}.progress-counter{font-size:.875rem;font-weight:700;color:var(--brand-green);min-width:70px;text-align:right;font-family:Courier New,Courier,monospace}.progress-bar{flex:1;height:10px;background:var(--border-light);border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:var(--brand-green);transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:6px;box-shadow:0 0 12px #2d7a3e4d}.flashcard-wrapper{max-width:850px;margin:0 auto}.course-lecture-badge{display:flex;align-items:center;justify-content:center;gap:.625rem;margin-bottom:1.5rem}.course-badge,.lecture-badge{background:var(--brand-green);color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.8125rem;box-shadow:0 2px 6px #2d7a3e33}.separator{color:var(--text-lightgray);font-weight:600;font-size:.875rem}.performance-stats{display:flex;justify-content:space-around;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-light)}.stat-box{text-align:center;flex:1}.stat-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-gray);margin-bottom:.5rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-charcoal)}.stat-value.critical,.stat-value.weak{color:var(--amber-accent)}.correct-count{color:var(--brand-green);font-weight:700}.incorrect-count{color:#dc2626;font-weight:700}.deck-navigation{display:flex;justify-content:center;align-items:center;margin-top:2.5rem;gap:2rem;max-width:700px;margin-left:auto;margin-right:auto}.nav-btn{display:flex;align-items:center;gap:.5rem;min-width:140px;padding:.875rem 1.75rem;background:var(--card-bg);color:var(--text-charcoal);border:2px solid var(--border-light);border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-subtle)}.nav-btn:hover:not(:disabled){background:var(--brand-green);color:#fff;border-color:var(--brand-green);transform:translateY(-2px)!important;box-shadow:var(--shadow-card)}.nav-btn:active:not(:disabled){transform:translateY(0)!important}.nav-btn:disabled{opacity:.3;cursor:not-allowed;background:var(--page-bg)}.nav-hint{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--text-lightgray);font-weight:500;font-style:italic;flex:1;justify-content:center}.nav-hint .separator{color:var(--border-light)}.missing-flashcard-notice{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid var(--amber-accent);border-radius:16px;padding:3rem 2.5rem;text-align:center;box-shadow:0 4px 16px #b4530926;animation:fadeIn .4s ease-out}.missing-flashcard-notice .notice-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.missing-flashcard-notice h3{font-size:1.5rem;font-weight:700;color:var(--amber-accent);margin:0 0 1rem}.missing-flashcard-notice .notice-message{font-size:1.125rem;color:var(--text-gray);margin:0 0 2rem;line-height:1.6}.missing-flashcard-notice .notice-details{background:#ffffffb3;border-radius:12px;padding:1.5rem;margin:1.5rem 0;text-align:left}.missing-flashcard-notice .notice-details p{margin:.5rem 0;font-size:.9375rem;color:var(--text-charcoal);line-height:1.6}.missing-flashcard-notice .notice-details strong{color:var(--amber-accent);font-weight:600}.missing-flashcard-notice .notice-hint{font-size:1rem;color:var(--text-gray);font-style:italic;margin:1.5rem 0 0;padding:1rem;background:#ffffff80;border-radius:8px;line-height:1.6}.no-weak-concepts-message{max-width:700px;margin:4rem auto;background:var(--card-bg);border:2px solid var(--brand-green);border-radius:16px;padding:4rem 2rem;text-align:center;box-shadow:var(--shadow-card)}.message-content h2{font-size:2rem;color:var(--brand-green);margin:0 0 1rem;font-weight:700}.message-content p{font-size:1.125rem;color:var(--text-gray);margin:.5rem 0;line-height:1.6}.hint{font-size:1rem!important;color:var(--brand-green)!important;font-style:italic;margin-top:1rem!important;font-weight:500}@media (max-width: 768px){.weak-concepts-view{padding:80px 1rem 3rem}.view-header{padding:1.5rem;margin-bottom:2rem}.header-content{flex-direction:column;align-items:flex-start;gap:1.5rem}.title-section{gap:1rem}.header-icon{font-size:2rem}.view-header h1{font-size:1.5rem}.stats-badge{width:100%}.filter-section{padding:1.25rem 1.5rem;margin-bottom:2rem}.course-filter-buttons{flex-direction:column}.filter-btn{width:100%;text-align:left;justify-content:flex-start}.deck-progress{margin-bottom:2rem}.performance-stats{flex-direction:column;gap:1rem}.stat-box{width:100%}.deck-navigation{flex-direction:column;gap:1rem;margin-top:2rem}.nav-btn{width:100%;justify-content:center}.nav-hint{order:-1;margin-bottom:.5rem}}@media (max-width: 480px){.weak-concepts-view{padding:70px .75rem 2.5rem}.view-header{padding:1.25rem}.view-header h1{font-size:1.25rem}.stats-badge .total-count{font-size:2rem}.filter-section{padding:1rem}.performance-stats{gap:.75rem}.stat-value{font-size:1.25rem}}.readiness-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border:1px solid #e5e7eb;margin-bottom:20px}.readiness-card__main{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.readiness-card__info{display:flex;flex-direction:column;gap:4px}.readiness-card__title{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:1.2px}.readiness-card__status{font-size:14px;font-weight:600}.readiness-card__score{display:flex;align-items:baseline;gap:2px}.score-value{font-size:48px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.score-percent{font-size:24px;font-weight:600;opacity:.8}.readiness-card__progress{height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden;margin-bottom:16px}.readiness-card__progress-fill{height:100%;border-radius:4px;transition:width .8s cubic-bezier(.4,0,.2,1)}.readiness-card__toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#4b5563;cursor:pointer;transition:all .2s ease}.readiness-card__toggle:hover{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}.toggle-chevron{transition:transform .3s ease}.toggle-chevron--up{transform:rotate(180deg)}.trinity-breakdown{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:20px}.trinity-pillar{display:flex;flex-direction:column;gap:10px}.trinity-pillar__header{display:flex;align-items:center;gap:12px}.trinity-pillar__icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.trinity-pillar__info{flex:1;display:flex;flex-direction:column;gap:2px}.trinity-pillar__name{font-size:15px;font-weight:600;color:#1f2937}.trinity-pillar__desc{font-size:12px;color:#6b7280}.trinity-pillar__value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;min-width:60px;text-align:right}.trinity-pillar__bar{height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.trinity-pillar__bar-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.readiness-card__loading{display:flex;flex-direction:column;gap:12px;padding:20px 0}.loading-pulse{height:24px;background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;border-radius:6px;animation:pulse 1.5s infinite}.loading-pulse--short{width:60%;height:12px}@keyframes pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 480px){.readiness-card{padding:20px}.score-value{font-size:36px}.score-percent{font-size:18px}.trinity-pillar__icon{font-size:20px}.trinity-pillar__name{font-size:14px}.trinity-pillar__value{font-size:16px;min-width:50px}}.diagram-container{margin:1.5rem 0;padding:1.5rem;background-color:#fff;border-radius:10px;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000f;transition:all .2s ease}.diagram-container:hover{box-shadow:0 4px 8px #00000014;border-color:#cbd5e0}.diagram-container.image-container{text-align:center;background:linear-gradient(135deg,#f8fafc,#fff);padding:2rem}.diagram-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.mermaid-container,.graphviz-container{overflow-x:auto;text-align:center;background:linear-gradient(135deg,#f0f9ff,#fff);padding:1.5rem}.mermaid-render,.graphviz-render{display:inline-block;max-width:100%}.mermaid-render svg,.graphviz-render svg{max-width:100%;height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.plotly-container{background-color:#fff;border-radius:10px;padding:1rem}.latex-container{text-align:center;padding:2rem;font-size:1.2rem;background:linear-gradient(135deg,#e8f5e9,#f0f9ff);border:2px solid #3a9b4f;border-radius:10px}.diagram-alt-text{margin-top:1rem;font-size:.875rem;color:#718096;font-style:italic;text-align:center;line-height:1.5}.diagram-error{padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fff3cd);border:2px solid #f59e0b;border-radius:10px;color:#92400e;text-align:center;font-weight:500}.placeholder-container{text-align:center}.diagram-placeholder{padding:3rem 2rem;background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border:2px dashed #cbd5e0;border-radius:12px;color:#4a5568}.diagram-placeholder p{margin:.5rem 0;line-height:1.6}.diagram-placeholder p:first-child{font-size:2.5rem;margin-bottom:.75rem}.placeholder-note{font-size:.95rem;color:#718096;font-style:italic;font-weight:500}@media (max-width: 768px){.diagram-container{padding:1.25rem;margin:1.25rem 0}.diagram-container.image-container{padding:1.5rem}.mermaid-container,.graphviz-container{padding:1.25rem}.latex-container{padding:1.5rem;font-size:1.1rem}.diagram-placeholder{padding:2rem 1.5rem}.diagram-placeholder p:first-child{font-size:2rem}}@media (max-width: 480px){.diagram-container{padding:1rem;margin:1rem 0}.diagram-placeholder{padding:1.5rem 1rem}.diagram-placeholder p:first-child{font-size:1.75rem}}.question-container{margin-bottom:2rem;text-align:left}.question-text{text-align:left}.question-text h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem;font-weight:600;line-height:1.6;text-align:left}.instruction{color:var(--text-secondary);font-size:.9rem;margin-top:.5rem;font-weight:500}.question-type-indicator{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:600;margin-top:.25rem;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.04em}.mcq-indicator{background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.mca-indicator{background-color:#faf5ff;color:#7c3aed;border:1px solid #ddd6fe}.scenario-box{background-color:var(--bg-tertiary);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid var(--accent-primary)}.scenario-box strong{color:var(--accent-primary);display:block;margin-bottom:.5rem;font-weight:600}.scenario-box p{color:var(--text-primary);line-height:1.6;margin:0}.options-list{display:flex;flex-direction:column;gap:.625rem}.option-item{display:flex;align-items:flex-start;padding:1rem 1.25rem;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:all .2s ease;background-color:var(--bg-tertiary);font-size:.9375rem;color:var(--text-primary);font-weight:500;gap:.875rem;text-align:left}.option-letter{font-weight:700;color:var(--accent-primary);margin-right:.5rem}.radio-wrapper{display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;min-width:24px;min-height:24px;margin-top:2px}.option-radio{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:22px;height:22px;border:3px solid #3b82f6;border-radius:50%;cursor:pointer;position:relative;transition:all .2s ease;background-color:#fff;flex-shrink:0}.option-radio:checked{border-color:#3b82f6;background-color:#3b82f6}.option-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background-color:#fff}.option-radio:hover{border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.checkbox-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;margin-top:2px}.option-checkbox{position:absolute;inset:0;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}.checkbox-custom{width:22px;height:22px;border:3px solid #a855f7;border-radius:4px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.checkbox-wrapper:hover .checkbox-custom{border-color:#9333ea;box-shadow:0 0 0 3px #a855f71f}.option-checkbox:focus-visible+.checkbox-custom{outline:none;box-shadow:0 0 0 3px #a855f72e}.option-checkbox:checked+.checkbox-custom{border-color:#a855f7;background:#a855f7}.option-checkbox:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:16px;font-weight:800;line-height:1}.option-checkbox:disabled+.checkbox-custom{cursor:not-allowed;opacity:.6;box-shadow:none}.option-item:hover{border-color:var(--accent-primary);background-color:var(--bg-elevated);transform:translateY(-1px);box-shadow:var(--shadow-card)}.option-item.selected{border-color:var(--accent-primary);background-color:#3b82f61a}.option-item.selected:hover{border-color:#2563eb;background-color:#2563eb26}.option-item.correct,.option-item.correct:hover{border-color:#10b981;background-color:#d1fae5;font-weight:600;cursor:default;animation:correctPulse .5s ease}.option-item.incorrect,.option-item.incorrect:hover{border-color:#ef4444;background-color:#fee2e2;cursor:default;animation:incorrectShake .5s ease}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes incorrectShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.option-content{color:var(--text-primary);line-height:1.55;flex:1;min-width:0;text-align:left}.sequencing-list{display:flex;flex-direction:column;gap:.75rem}.sequence-item{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--bg-tertiary);border:2px solid var(--border);border-radius:8px;cursor:grab;transition:all .2s ease;font-size:15px;color:var(--text-primary)}.sequence-item:hover{border-color:var(--accent-primary);background-color:var(--bg-elevated);transform:translateY(-1px);box-shadow:var(--shadow-card)}.sequence-item:active{cursor:grabbing}.sequence-item.dragging{opacity:.7;box-shadow:var(--shadow-hover);transform:rotate(3deg);z-index:1000}.sequence-handle{font-size:1.2rem;color:var(--text-muted);cursor:grab;margin-right:.5rem;-webkit-user-select:none;user-select:none}.sequence-item:active .sequence-handle{cursor:grabbing}.sequence-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--accent-primary);color:#fff;border-radius:50%;font-weight:600;flex-shrink:0}.sequence-content{flex:1;color:var(--text-primary)}.sequence-controls{display:flex;flex-direction:column;gap:.25rem}.move-btn{padding:.25rem .5rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .2s ease}.move-btn:hover:not(:disabled){background-color:var(--accent-secondary);transform:translateY(-1px)}.move-btn:disabled{opacity:.3;cursor:not-allowed}.categorization-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.items-list h4,.categories-display h4{margin-bottom:1rem;color:var(--accent-primary);font-weight:600}.cat-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;gap:1rem}.category-select{padding:.65rem;border:2px solid var(--border);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-width:150px;font-size:14px;font-weight:500;transition:all .2s ease}.category-select:hover{border-color:var(--accent-primary)}.category-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.categories-display{display:flex;flex-direction:column;gap:1rem}.category-box{background-color:var(--bg-tertiary);padding:1rem;border-radius:8px;border:2px dashed var(--border)}.category-box h4{margin:0 0 .75rem;font-size:1rem;color:var(--accent-primary);font-weight:600}.category-items{display:flex;flex-direction:column;gap:.5rem}.categorized-item{padding:.65rem .75rem;background-color:var(--bg-secondary);border-radius:6px;color:var(--text-primary);font-size:14px;border-left:3px solid var(--accent-primary)}.empty-category{padding:.5rem;color:var(--text-muted);font-style:italic;text-align:center;font-size:14px}.matching-grid{margin-top:1.5rem}.premises-column h4{margin-bottom:1rem;color:var(--accent-primary);font-weight:600}.premise-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;gap:1rem}.premise-text{flex:1;color:var(--text-primary);font-size:15px}.match-select{padding:.65rem;border:2px solid var(--border);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;min-width:200px;font-size:14px;transition:all .2s ease}.match-select:hover{border-color:var(--accent-primary)}.match-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.matches-summary{margin-top:2rem;padding:1rem;background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary)}.matches-summary h4{margin:0 0 .75rem;color:var(--accent-primary);font-weight:600}.matches-list{display:flex;flex-wrap:wrap;gap:.5rem}.match-pair{display:inline-block;padding:.5rem 1rem;background-color:var(--bg-secondary);border:2px solid var(--accent-primary);border-radius:20px;color:var(--accent-primary);font-weight:600;transition:all .2s ease}.match-pair:hover{background-color:var(--accent-primary);color:#fff}.fill-in-the-blank-question .question-text h3{line-height:2.5}.blank-input{padding:8px 16px;border:2px solid var(--border);border-radius:6px;font-size:1em;font-family:inherit;min-width:150px;margin:0 8px;background-color:var(--bg-secondary);color:var(--text-primary);transition:all .3s ease}.blank-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.blank-input:disabled{background-color:var(--bg-elevated);cursor:not-allowed;opacity:.6}.blank-input.correct{border-color:var(--success);background-color:var(--success-light);font-weight:600}.blank-input.incorrect{border-color:var(--error);background-color:var(--error-light)}.correct-answer-hint{margin-top:16px;padding:12px;background-color:var(--warning-light);border-left:4px solid var(--warning);border-radius:4px;font-size:.95em;color:var(--text-primary)}.true-false-options{display:flex;gap:1rem;margin-top:1.5rem}.true-false-btn{flex:1;padding:1.25rem 2rem;font-size:1.1rem;font-weight:600;border:2px solid var(--border);border-radius:8px;background-color:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.true-false-btn:hover:not(:disabled){border-color:var(--accent-primary);background-color:var(--bg-elevated);transform:translateY(-1px);box-shadow:var(--shadow-card)}.true-false-btn.selected{border-color:var(--accent-primary);background-color:#3b82f61a;color:var(--accent-primary)}.true-false-btn.correct{border-color:var(--success);background-color:var(--success-light);color:var(--success);font-weight:600;animation:correctPulse .5s ease}.true-false-btn.incorrect{border-color:var(--error);background-color:var(--error-light);color:var(--error);animation:incorrectShake .5s ease}.true-false-btn:disabled{cursor:not-allowed;opacity:.6}.mca-question .instruction{color:var(--accent-primary);font-weight:600;font-size:.9rem;margin-top:.25rem}.checkbox-option{display:flex;align-items:center;gap:1rem}.checkbox-option .option-content{flex:1}.option-item.missed{border:2px dashed #f59e0b;background-color:#f59e0b1a;position:relative}.option-item.missed:before{content:"⚠️ Missed";position:absolute;top:-10px;right:10px;background-color:#f59e0b;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.mca-feedback{margin-top:1rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:8px;border-left:4px solid var(--accent-primary)}.mca-feedback .selected-count{margin:0;color:var(--text-primary);font-size:.95rem;font-weight:500}@media (max-width: 768px){.categorization-grid{grid-template-columns:1fr}.blank-input{min-width:100px;display:block;margin:8px 0}.checkbox-option{gap:.75rem}}.question-visual-container{margin-bottom:1.5rem;padding:1rem;background-color:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.question-visual-container+.scenario-box,.question-visual-container+.question-text{margin-top:1rem}.math-text{display:inline}.math-text p{display:inline;margin:0}.question-text .math-text{display:inline}.question-text .math-text p{display:inline;margin:0}.question-text h3 .math-text,.option-content .math-text{display:inline}.option-content .math-text p{display:inline;margin:0}.scenario-text{margin-top:.5rem}.scenario-text .math-text p{margin:.5rem 0}.scenario-text .math-text p:first-child{margin-top:0}.question-container .katex{font-size:1.05em}.question-container .katex-display{margin:.75rem 0;padding:1rem;background:#f8fafc;border-radius:8px;overflow-x:auto}.math-text code{background:#f1f5f9;padding:.15em .4em;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.math-text ul,.math-text ol{margin:.5rem 0;padding-left:1.25rem}.math-text li{margin:.25rem 0}.math-text strong{font-weight:600}.math-text em{font-style:italic}.difficulty-tag{display:inline-block;padding:.375rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:2px solid;transition:all .2s ease}.informative-message{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;animation:fadeInSlide .4s ease-out}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.review-message{background:#f39c121a;color:#e67e22;border:2px solid rgba(243,156,18,.3)}.followup-message{background:#3498db1a;color:#2980b9;border:2px solid rgba(52,152,219,.3)}.message-icon{font-size:1rem}.message-text{line-height:1}.mix-question-card{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 4px 16px #00000014;transition:box-shadow .3s ease;text-align:left}.mix-question-card:hover{box-shadow:0 6px 24px #0000001f}.mix-question-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.625rem;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1px solid #eef0f2}.question-meta{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.question-type-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#6b7280;background:#f3f4f6;padding:.375rem .75rem;border-radius:6px;letter-spacing:.01em;white-space:nowrap}.mca-icon{font-size:.875rem;color:#2d7a3e}.direct-tutorial-badge{font-size:.75rem;font-weight:600;color:#166534;background:#dcfce7;border:1px solid rgba(22,101,52,.2);padding:.3rem .625rem;border-radius:999px;line-height:1;white-space:nowrap}.mix-question-content{text-align:left}@media (max-width: 768px){.mix-question-card{padding:1.75rem;border-radius:16px}.mix-question-header{flex-direction:column;align-items:flex-start;gap:.625rem}}@media (max-width: 480px){.mix-question-card{padding:1.25rem;border-radius:14px}.question-meta{width:100%;gap:.5rem}.question-type-badge{font-size:.75rem;padding:.3rem .625rem}}.mix-flashcard-view-container{max-width:900px;margin:0 auto;padding:2rem}.mix-flashcard-header{text-align:center;margin-bottom:2rem}.review-badge{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f39c121a,#e67e221a);border:2px solid rgba(243,156,18,.3);border-radius:16px;padding:.875rem 1.75rem;margin-bottom:1rem}.review-icon{color:#e67e22;flex-shrink:0;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.review-text{font-size:1.125rem;font-weight:700;color:#e67e22;letter-spacing:.02em}.review-subtitle{font-size:1rem;color:#666;margin:0;font-weight:500}.mix-flashcard-wrapper{margin-bottom:2rem}.mix-flashcard-actions{text-align:center;margin-top:2rem}.mix-continue-button{display:inline-flex;align-items:center;gap:.75rem;padding:1.125rem 2.5rem;border-radius:16px;font-size:1.125rem;font-weight:700;border:none;background:linear-gradient(135deg,#2d7a3e,#1e5a2c);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #2d7a3e4d}.mix-continue-button:hover{transform:translateY(-3px);box-shadow:0 10px 32px #2d7a3e66;background:linear-gradient(135deg,#245c30,#1a4623)}.mix-continue-button:active{transform:translateY(-1px)}@media (max-width: 768px){.mix-flashcard-view-container{padding:1.5rem}.mix-flashcard-header{margin-bottom:1.5rem}.review-badge{padding:.75rem 1.5rem}.review-text{font-size:1rem}}@media (max-width: 480px){.mix-flashcard-view-container{padding:1rem}.review-badge{padding:.625rem 1.25rem;gap:.5rem}.review-text,.review-subtitle{font-size:.9375rem}.mix-continue-button{width:100%;padding:1rem 1.5rem;font-size:1rem}}.mix-tutorial-studycard-view{max-width:1240px;padding:1.5rem 1.25rem}@media (max-width: 768px){.mix-tutorial-studycard-view{padding:1.25rem 1rem}}.pdf-panel-toggle-btn{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;background:#2d6a4f;color:#fff;border:none;border-radius:8px 0 0 8px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.02em;box-shadow:-2px 2px 12px #00000026;transition:background .2s,padding .2s}.pdf-panel-toggle-btn:hover{background:#1b4332;padding:12px 14px}.pdf-panel-toggle-btn svg{font-size:18px}.pdf-panel{position:fixed;top:0;right:0;height:100vh;background:#fff;z-index:200;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001f;transition:transform .3s cubic-bezier(.4,0,.2,1)}.pdf-panel--open{transform:translate(0)}.pdf-panel--closed{transform:translate(100%);pointer-events:none}.pdf-panel-resize-handle{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:col-resize;z-index:10;background:transparent;transition:background .15s}.pdf-panel-resize-handle:hover,.pdf-panel-resize-handle:active{background:#3b82f680}.pdf-panel-resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;border-radius:2px;background:#0000001f;transition:background .15s}.pdf-panel-resize-handle:hover:after{background:#3b82f6b3}.pdf-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.pdf-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1a1a1a}.pdf-panel-title-icon{color:#dc2626;font-size:15px}.pdf-panel-header-actions{display:flex;align-items:center;gap:4px}.pdf-panel-external-link{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;color:#6b7280;transition:background .15s,color .15s}.pdf-panel-external-link:hover{background:#f3f4f6;color:#1a1a1a}.pdf-panel-external-link svg{font-size:12px}.pdf-panel-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.pdf-panel-close-btn:hover{background:#f3f4f6;color:#1a1a1a}.pdf-panel-content{flex:1;overflow:hidden;position:relative;background:#f5f5f0}.pdf-panel-iframe{width:100%;height:100%;border:none;display:block}.pdf-panel-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#6b7280;font-size:14px;background:#f5f5f0;z-index:1}.pdf-panel-spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#2d6a4f;border-radius:50%;animation:pdfSpinner .8s linear infinite}@keyframes pdfSpinner{to{transform:rotate(360deg)}}.pdf-panel-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#6b7280;font-size:14px;background:#f5f5f0;z-index:1}.pdf-panel-error-icon{font-size:36px;color:#d1d5db}.pdf-panel-download-link{color:#2d6a4f;font-weight:500;text-decoration:none}.pdf-panel-download-link:hover{text-decoration:underline}.diagram-notice{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;margin-bottom:.75rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:.75rem;line-height:1.5;color:#92400e}.diagram-notice-icon{flex-shrink:0;font-size:13px;margin-top:1px}.diagram-notice p{margin:0}.diagram-notice .pdf-link-inline{color:#2d6a4f;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;background:none;border:none;padding:0;font-size:inherit}.diagram-notice .pdf-link-inline:hover{color:#1b4332}@media (max-width: 768px){.pdf-panel{width:100vw!important;max-width:100vw!important}.pdf-panel-resize-handle{display:none}.pdf-panel-toggle-btn{top:auto;bottom:20px;right:16px;transform:none;flex-direction:row;border-radius:8px;padding:10px 14px;gap:6px}.diagram-notice{font-size:12px}}.ref-story-card-wrapper{--ref-brand-green: #2d7a3e;--ref-brand-green-dark: #245c30;--ref-brand-green-light: #e8f5e9;--ref-card-bg: #ffffff;--ref-page-bg: #f5f3ef;--ref-text-dark: #1a1a1a;--ref-text-gray: #4a4a4a;--ref-text-light: #717171;--ref-text-muted: #9a9a9a;--ref-border: #e2e0dc;--ref-border-light: #eceae6;--ref-shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06);--ref-radius-sm: 8px;--ref-radius-md: 12px;--ref-radius-lg: 16px;--ref-transition: .2s ease;width:100%;display:flex;flex-direction:column;gap:1rem}.ref-question-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7,#f0fdf4);border:1px solid #a7f3d0;border-left:5px solid var(--ref-brand-green);border-radius:var(--ref-radius-md);padding:1rem 1.5rem}.ref-question-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ref-brand-green-dark);margin-bottom:.375rem}.ref-question-text{font-size:1.125rem;font-weight:600;color:var(--ref-text-dark);line-height:1.5;letter-spacing:-.01em}.ref-question-text p{margin:0}.ref-question-text .katex-display{margin:.5rem 0}.ref-answer-tabs{display:flex;gap:.625rem}.ref-tab-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;background:var(--ref-card-bg);border:2px solid var(--ref-border);border-radius:var(--ref-radius-md);color:var(--ref-text-gray);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--ref-transition)}.ref-tab-btn:hover{border-color:var(--ref-brand-green);color:var(--ref-brand-green);background:var(--ref-brand-green-light)}.ref-tab-btn.active{background:var(--ref-brand-green);border-color:var(--ref-brand-green);color:#fff;box-shadow:0 2px 8px #2d7a3e4d}.ref-tab-shortcut{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#0000001a;border-radius:4px;font-size:.75rem;font-weight:700}.ref-tab-btn.active .ref-tab-shortcut{background:#ffffff40}.ref-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;min-height:0}.ref-text-column{display:flex;flex-direction:column;min-height:0}.ref-text-content{flex:1;overflow-y:auto;padding:1.5rem;background:var(--ref-page-bg);border-radius:var(--ref-radius-md);border:1px solid var(--ref-border-light);font-size:.9375rem;line-height:1.7;color:var(--ref-text-gray);max-height:50vh;scrollbar-width:thin;scrollbar-color:var(--ref-border) transparent}.ref-text-content::-webkit-scrollbar{width:6px}.ref-text-content::-webkit-scrollbar-track{background:transparent}.ref-text-content::-webkit-scrollbar-thumb{background:var(--ref-border);border-radius:3px}.ref-markdown-content{font-family:"Source Serif Pro",Georgia,serif}.ref-markdown-content p{margin-bottom:.75rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.ref-markdown-content p:last-child{margin-bottom:0}.ref-markdown-content strong{color:var(--ref-text-dark);font-weight:700}.ref-markdown-content em{font-style:italic;color:var(--ref-brand-green-dark)}.ref-markdown-content h1,.ref-markdown-content h2,.ref-markdown-content h3,.ref-markdown-content h4{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ref-text-dark);margin-top:1rem;margin-bottom:.5rem;line-height:1.3}.ref-markdown-content h1:first-child,.ref-markdown-content h2:first-child,.ref-markdown-content h3:first-child,.ref-markdown-content h4:first-child{margin-top:0}.ref-markdown-content h1{font-size:1.25rem}.ref-markdown-content h2{font-size:1.125rem}.ref-markdown-content h3{font-size:1rem}.ref-markdown-content h4{font-size:.9375rem;font-weight:600}.ref-markdown-content ul,.ref-markdown-content ol{margin:.75rem 0;padding-left:1.5rem}.ref-markdown-content li{margin-bottom:.375rem;line-height:1.6}.ref-markdown-content li::marker{color:var(--ref-brand-green)}.ref-markdown-content blockquote{margin:1rem 0;padding:.75rem 1rem;background:linear-gradient(135deg,var(--ref-brand-green-light),#f0f9f0);border-left:4px solid var(--ref-brand-green);border-radius:0 var(--ref-radius-sm) var(--ref-radius-sm) 0;font-style:italic;color:var(--ref-text-gray)}.ref-markdown-content blockquote p{margin:0}.ref-markdown-content code:not(pre code){background:#2d7a3e1a;color:var(--ref-brand-green-dark);padding:.15rem .4rem;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em}.ref-markdown-content pre{margin:1rem 0;padding:.875rem 1rem;background:#1a1a2e;border-radius:var(--ref-radius-sm);overflow-x:auto}.ref-markdown-content pre code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;color:#e0e0e0;line-height:1.5}.ref-markdown-content table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.875rem}.ref-markdown-content th,.ref-markdown-content td{padding:.5rem .75rem;border:1px solid var(--ref-border);text-align:left}.ref-markdown-content th{background:var(--ref-brand-green-light);font-weight:600;color:var(--ref-brand-green-dark)}.ref-markdown-content .katex-display{margin:1rem 0;padding:.75rem 1rem;background:linear-gradient(135deg,#fefefe,#f8f9fa);border:1px solid var(--ref-border-light);border-left:3px solid var(--ref-brand-green);border-radius:var(--ref-radius-sm);overflow-x:auto}.ref-markdown-content .katex{font-size:1.05em;color:var(--ref-text-dark)}.ref-media-column{display:flex;flex-direction:column;min-height:0}.ref-image-container{flex:1;position:relative;background:linear-gradient(135deg,#f8f6f2,#efecea);border-radius:var(--ref-radius-md);border:1px solid var(--ref-border-light);overflow:hidden;min-height:280px;max-height:50vh;display:flex;align-items:center;justify-content:center}.ref-ai-image{width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s ease}.ref-ai-image.loaded{opacity:1}.ref-image-loading,.ref-image-placeholder,.ref-image-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--ref-text-muted);font-size:.875rem;text-align:center;padding:2rem}.ref-image-loading span,.ref-image-placeholder span,.ref-image-fallback span{font-size:2rem}.ref-image-spinner{width:28px;height:28px;border:3px solid var(--ref-border);border-top-color:var(--ref-brand-green);border-radius:50%;animation:refSpin .8s linear infinite}@keyframes refSpin{to{transform:rotate(360deg)}}.ref-story-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--ref-text-muted)}.ref-story-spinner{width:36px;height:36px;border:3px solid var(--ref-border);border-top-color:var(--ref-brand-green);border-radius:50%;animation:refSpin .8s linear infinite}@media (max-width: 768px){.ref-content-grid{grid-template-columns:1fr;gap:1rem}.ref-text-column{order:2}.ref-media-column{order:1}.ref-question-banner{padding:.875rem 1.125rem}.ref-question-text{font-size:1rem}.ref-answer-tabs{flex-wrap:wrap}.ref-tab-btn{padding:.5rem .75rem;font-size:.8125rem}.ref-tab-shortcut{display:none}.ref-image-container{min-height:180px;max-height:250px}.ref-text-content{max-height:40vh;padding:1rem}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014,0 16px 48px #0000001f;z-index:10000;animation:toastSlideUp .3s cubic-bezier(.4,0,.2,1),toastFadeOut .3s cubic-bezier(.4,0,.2,1) 2.7s forwards;min-width:320px;max-width:500px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.05)}@keyframes toastSlideUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes toastFadeOut{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,20px);opacity:0}}.toast-icon{font-size:1.25rem;flex-shrink:0}.toast-message{font-size:.9375rem;font-weight:500;line-height:1.4;color:#1a1a1a}.toast-success{border-left:4px solid #2d7a3e}.toast-success .toast-icon{color:#2d7a3e}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-error{border-left:4px solid #dc2626}.toast-error .toast-icon{color:#dc2626}@media (max-width: 640px){.toast{bottom:1rem;left:1rem;right:1rem;transform:none;min-width:auto;max-width:none}@keyframes toastSlideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastFadeOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}}.mix-session-view{min-height:100vh;background:#f9f7f3;padding:100px 2rem 4rem;transition:padding-right .15s ease}.mix-session-container{max-width:1000px;margin:0 auto}.mix-session-header{margin-bottom:2rem}.exit-button-small{padding:.625rem 1.25rem;border-radius:10px;font-size:.9375rem;font-weight:600;border:2px solid #e5e7eb;background:#fff;color:#666;cursor:pointer;transition:all .2s ease}.exit-button-small:hover{border-color:#2d7a3e;color:#2d7a3e;transform:translate(-4px)}.mix-loading-container{text-align:center;padding:4rem 2rem}.spinner-icon{font-size:3rem;color:#2d7a3e;animation:spin 1s linear infinite}.loading-text{font-size:1.125rem;color:#666;margin-top:1.5rem;font-weight:500}.mix-error-container{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014}.mix-error-container h2{font-size:2rem;font-weight:700;color:#e74c3c;margin-bottom:1rem}.mix-error-container p{font-size:1.125rem;color:#666;margin-bottom:2rem}.retry-button,.exit-button{padding:.875rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin:0 .5rem}.retry-button{background:#2d7a3e;color:#fff;border:none}.retry-button:hover{background:#245c30;transform:translateY(-2px)}.exit-button{background:#fff;color:#666;border:2px solid #e5e7eb}.exit-button:hover{border-color:#2d7a3e;color:#2d7a3e}.mix-complete-container{text-align:center;padding:4rem 2rem;background:#fff;border-radius:24px;box-shadow:0 8px 32px #0000001a}.complete-icon{font-size:4rem;color:#27ae60;margin-bottom:1.5rem;animation:scale-in .5s ease-out}@keyframes scale-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.complete-title{font-size:2.5rem;font-weight:800;color:#1a1a1a;margin-bottom:1rem}.complete-message{font-size:1.25rem;color:#666;margin-bottom:3rem;max-width:500px;margin-left:auto;margin-right:auto}.complete-stats{display:flex;justify-content:center;gap:4rem;margin-bottom:3rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:3rem;font-weight:800;color:#2d7a3e;line-height:1;margin-bottom:.5rem}.stat-label{font-size:.9375rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em}.complete-button{padding:1.125rem 2.5rem;border-radius:16px;font-size:1.125rem;font-weight:700;border:none;background:linear-gradient(135deg,#2d7a3e,#1e5a2c);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #2d7a3e4d}.complete-button:hover{transform:translateY(-3px);box-shadow:0 10px 32px #2d7a3e66}.question-activity-container{margin-bottom:2rem}.answer-feedback{background:#fff;border-radius:16px;padding:2rem;margin-top:2rem;box-shadow:0 4px 16px #00000014;animation:slide-up .3s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.answer-feedback.correct{border-left:6px solid #27AE60}.answer-feedback.incorrect{border-left:6px solid #E74C3C}.feedback-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.feedback-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700}.answer-feedback.correct .feedback-icon{background:#27ae601a;color:#27ae60}.answer-feedback.incorrect .feedback-icon{background:#e74c3c1a;color:#e74c3c}.feedback-title{font-size:1.5rem;font-weight:700;flex:1}.answer-feedback.correct .feedback-title{color:#27ae60}.answer-feedback.incorrect .feedback-title{color:#e74c3c}.feedback-points{font-size:1.25rem;font-weight:700;color:#666;padding:.5rem 1rem;background:#f5f5f5;border-radius:8px}.feedback-explanation{margin-bottom:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#f8fdf9,#f3f9f4);border-radius:12px;border:1px solid #d1e7d7}.explanation-title{font-size:.875rem;font-weight:700;color:#2d7a3e;text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.explanation-icon{color:#2d7a3e;flex-shrink:0}.explanation-text{font-size:1rem;line-height:1.7;color:#1a1a1a;margin:0}.explanation-text p{margin:.5rem 0}.explanation-text p:first-child{margin-top:0}.explanation-text p:last-child{margin-bottom:0}.explanation-text .katex{font-size:1.05em}.explanation-text .katex-display{margin:.75rem 0;padding:1rem;background:#f8fafc;border-radius:8px;overflow-x:auto}.explanation-text code{background:#f1f5f9;padding:.15em .4em;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.explanation-text ul,.explanation-text ol{margin:.75rem 0;padding-left:1.5rem}.explanation-text li{margin:.25rem 0}.feedback-content{margin-bottom:1.5rem}.feedback-label{font-size:.9375rem;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.feedback-answer{font-size:1.125rem;font-weight:600;color:#1a1a1a;padding:1rem;background:#f9f9f9;border-radius:10px;border:2px solid #e5e7eb}.next-activity-button{width:100%;padding:1rem 2rem;border-radius:12px;font-size:1.0625rem;font-weight:700;border:none;background:#2d7a3e;color:#fff;cursor:pointer;transition:all .3s ease}.next-activity-button:hover{background:#245c30;transform:translateY(-2px);box-shadow:0 4px 12px #2d7a3e4d}.submit-container{margin-top:2rem;text-align:center}.submit-answer-button{display:inline-flex;align-items:center;gap:.75rem;padding:1.125rem 3rem;border-radius:16px;font-size:1.125rem;font-weight:700;border:none;background:linear-gradient(135deg,#2d7a3e,#1e5a2c);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 20px #2d7a3e4d}.submit-answer-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 32px #2d7a3e66}.submit-answer-button:disabled{opacity:.5;cursor:not-allowed}.spinner-icon-small{font-size:1rem;animation:spin 1s linear infinite}.question-action-buttons{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:0 .5rem}.refer-flashcard-button{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;border:2px solid #7c3aed;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;border-radius:12px;box-shadow:0 4px 12px #7c3aed40}.refer-flashcard-button:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed59;border-color:#6d28d9}.refer-flashcard-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #7c3aed40}.refer-flashcard-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.refer-icon{font-size:1.125rem}.reveal-answer-link{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;border:2px solid #2d7a3e;background:linear-gradient(135deg,#2d7a3e,#1e5a2c);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;border-radius:12px;box-shadow:0 4px 12px #2d7a3e40}.reveal-answer-link:hover:not(:disabled){background:linear-gradient(135deg,#1e5a2c,#2d7a3e);transform:translateY(-2px);box-shadow:0 6px 20px #2d7a3e59;border-color:#1e5a2c}.reveal-answer-link:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2d7a3e40}.reveal-answer-link:disabled{opacity:.5;cursor:not-allowed;transform:none}.reveal-icon{font-size:1.125rem}.answer-revealed-container{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:20px;border:2px solid #0ea5e9;box-shadow:0 8px 24px #0ea5e926}.revealed-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.revealed-icon{font-size:1.5rem}.revealed-title{font-size:1.5rem;font-weight:700;color:#0c4a6e}.revealed-content{margin-bottom:1.5rem}.revealed-label{font-size:.9375rem;font-weight:600;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.revealed-answer{font-size:1.25rem;font-weight:600;color:#0c4a6e;padding:1rem;background:#fff;border-radius:12px;border:2px solid #0ea5e9}.revealed-explanation{margin-top:1.5rem;padding:1.25rem;background:#fff;border-radius:12px;border-left:4px solid #0ea5e9}.revealed-explanation .explanation-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#0c4a6e;margin-bottom:.75rem}.revealed-explanation .explanation-text{font-size:.9375rem;line-height:1.6;color:#475569}.remediation-message{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem;background:#2d7a3e1a;border-radius:12px;border:1px solid rgba(45,122,62,.2)}.remediation-icon{font-size:1.25rem}.remediation-text{font-size:.9375rem;font-weight:600;color:#2d7a3e}@media (max-width: 768px){.mix-session-view{padding:80px 1.5rem 3rem}.complete-title{font-size:2rem}.complete-message{font-size:1.125rem}.complete-stats{gap:2rem}.stat-value{font-size:2.5rem}.answer-feedback{padding:1.5rem}.feedback-header{flex-wrap:wrap}.feedback-title{font-size:1.25rem}}@media (max-width: 480px){.mix-session-view{padding:70px 1rem 2.5rem}.complete-stats{flex-direction:column;gap:1.5rem}.reveal-button-container{padding:0;margin-bottom:1rem}.reveal-answer-link{font-size:.9375rem;padding:.625rem 1.25rem;width:100%;justify-content:center}.submit-answer-button,.complete-button{width:100%;padding:1rem 2rem;font-size:1rem}.feedback-icon{width:40px;height:40px;font-size:1.5rem}.feedback-points{width:100%;text-align:center;margin-top:.5rem}}.flashcard-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;padding:2rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.flashcard-modal-content{background:#fff;border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.flashcard-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:20px 20px 0 0}.flashcard-modal-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.flashcard-modal-close{background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff;font-size:1.25rem}.flashcard-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.flashcard-modal-body{padding:2rem}.flashcard-reference-note{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-left:4px solid #f97316;padding:.875rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;font-size:.9375rem;color:#7c2d12;display:flex;align-items:center;gap:.5rem}.flashcard-reference-note strong{color:#9a3412}@media (max-width: 768px){.flashcard-modal-overlay{padding:1rem}.flashcard-modal-content{max-height:85vh}.flashcard-modal-header{padding:1rem 1.5rem}.flashcard-modal-title{font-size:1.25rem}.flashcard-modal-body{padding:1.5rem}.flashcard-reference-note{font-size:.875rem;padding:.75rem 1rem}.question-action-buttons{flex-direction:column;gap:.75rem}.refer-flashcard-button,.reveal-answer-link{width:100%;justify-content:center}}@keyframes scModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scModalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.storycard-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999;padding:1.5rem;animation:scModalFadeIn .25s ease-out}.storycard-modal-content{background:#fff;border-radius:20px;max-width:1200px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 0 0 1px #0000000d,0 20px 60px #00000059,0 8px 24px #00000026;animation:scModalSlideUp .3s ease-out}.storycard-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.75rem;background:linear-gradient(135deg,#2d7a3e,#1a5c2b);border-radius:20px 20px 0 0;flex-shrink:0}.storycard-modal-title{font-size:1.25rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em}.storycard-modal-close{background:#ffffff26;border:2px solid rgba(255,255,255,.25);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff;font-size:1rem}.storycard-modal-close:hover{background:#ffffff4d;border-color:#ffffff80;transform:rotate(90deg) scale(1.05)}.storycard-modal-body{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.storycard-modal-body::-webkit-scrollbar{width:6px}.storycard-modal-body::-webkit-scrollbar-track{background:transparent}.storycard-modal-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.storycard-no-flashcard{text-align:center;padding:3rem 2rem}.storycard-no-flashcard .no-flashcard-icon{font-size:3rem;margin-bottom:1rem}.storycard-no-flashcard h4{font-size:1.25rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem}.storycard-no-flashcard p{font-size:.9375rem;color:#4a4a4a;max-width:500px;margin:0 auto 1.5rem;line-height:1.6}.storycard-no-flashcard .no-flashcard-tip{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-left:4px solid #f97316;padding:.75rem 1.125rem;border-radius:10px;font-size:.875rem;color:#7c2d12;display:inline-flex;align-items:center;gap:.5rem;text-align:left}.storycard-no-flashcard .no-flashcard-tip strong{color:#9a3412}@media (max-width: 768px){.storycard-modal-overlay{padding:.5rem}.storycard-modal-content{max-height:95vh;border-radius:16px}.storycard-modal-header{padding:.875rem 1.25rem;border-radius:16px 16px 0 0}.storycard-modal-title{font-size:1.0625rem}.storycard-modal-body{padding:1rem 1.25rem 1.25rem}}.conversation-sidebar{width:280px;height:100%;background:#f6f8fa;border-right:1px solid #d0d7de;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:16px;border-bottom:1px solid #d0d7de}.new-chat-button{width:100%;padding:10px 16px;background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#24292f;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #1b1f240a}.new-chat-button:hover{background:#f3f4f6;border-color:#babbbd;transform:translateY(-1px)}.conversations-list{flex:1;overflow-y:auto;padding:12px}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover{background:#0003}.conversation-item{padding:10px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;color:#57606a}.conversation-item:hover{background:#0000000a;color:#24292f}.conversation-item.active{background:#e6f2e8;color:#1a7f37;font-weight:500}.conversation-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conversation-title{font-size:13px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.conversation-date{color:#8c959f;font-size:11px;margin:0}.delete-conversation-button{opacity:0;background:transparent;border:none;color:#8c959f;padding:6px;cursor:pointer;transition:all .2s ease;border-radius:4px;flex-shrink:0}.conversation-item:hover .delete-conversation-button{opacity:1}.delete-conversation-button:hover{background:#cf222e1a;color:#cf222e}.sidebar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6e7781}.loading-spinner{width:20px;height:20px;border:2px solid #d0d7de;border-top-color:#1a7f37;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.sidebar-loading p{margin:0;font-size:13px}.empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#6e7781;height:100%}.empty-icon{font-size:24px;margin-bottom:12px;opacity:.4}.empty-conversations p{margin:0 0 4px;font-size:13px;font-weight:500;color:#24292f}.empty-conversations span{font-size:12px;color:#8c959f}.sidebar-footer{padding:16px;border-top:1px solid #d0d7de;background:#f6f8fa}@media (max-width: 768px){.conversation-sidebar{width:100%;position:fixed;left:0;top:0;z-index:100;transform:translate(-100%);transition:transform .3s ease;background:#fff}.conversation-sidebar.open{transform:translate(0)}}.notes-panel{height:100%;display:flex;flex-direction:column;background:#fff;border-left:1px solid #e2e8f0;padding-top:0;box-sizing:border-box}.notes-panel-header{padding:18px;border-bottom:1px solid #edf2f7;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notes-panel-header h3{margin:0 0 4px;font-size:16px;color:#1f2933}.notes-panel-header p{margin:0;font-size:13px;color:#62748b}.notes-panel-header-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.notes-panel-controls{display:flex;gap:4px;background:#f1f5f9;padding:2px;border-radius:6px;margin-bottom:4px}.notes-mode-button{border:none;background:transparent;padding:4px 12px;font-size:12px;font-weight:500;color:#64748b;border-radius:4px;cursor:pointer;transition:all .2s ease}.notes-mode-button.active{background:#fff;color:#0f172a;box-shadow:0 1px 2px #0000000d;font-weight:600}.notes-preview{flex:1;overflow-y:auto;padding:18px;background:#fff}.notes-placeholder-text{color:#94a3b8;font-style:italic}.notes-panel-action-button{border:none;background:#1d4ed8;color:#fff;font-size:12px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .2s ease}.notes-panel-action-button:hover{background:#1e40af}.notes-panel-action-button:disabled{opacity:.6;cursor:not-allowed}.notes-status{font-size:12px;color:#7b8794;align-self:flex-start}.notes-status-saving{color:#d97706}.notes-status-saved{color:#0e9f6e}.notes-textarea{flex:1;border:none;padding:18px;font-size:15px;line-height:1.6;resize:none;outline:none;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:#f9fafb;color:#1f2933}.notes-textarea:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.notes-textarea::placeholder{color:#9aa5b1}.notes-textarea:focus{background:#fff}:root{--tutor-primary: #1a7f37;--tutor-primary-dark: #115c27;--tutor-primary-light: #2da44e;--tutor-primary-pale: #f0fff4;--tutor-bg: #ffffff;--tutor-card-bg: #ffffff;--tutor-sidebar-bg: #f6f8fa;--tutor-border: #d0d7de;--tutor-border-hover: #babbbd;--tutor-text-primary: #24292f;--tutor-text-secondary: #57606a;--tutor-text-tertiary: #6e7781;--tutor-shadow-sm: 0 1px 3px rgba(27, 31, 36, .12);--tutor-shadow-md: 0 4px 12px rgba(27, 31, 36, .08);--tutor-shadow-lg: 0 8px 24px rgba(27, 31, 36, .12);--tutor-radius-sm: 6px;--tutor-radius-md: 12px;--tutor-radius-lg: 24px}.tutor-chat-view-container{display:flex;height:calc(100vh - 80px);width:100vw;overflow:hidden;position:fixed;top:80px;left:0;background:var(--tutor-bg);z-index:1}.tutor-main-content{display:flex;flex:1;background:var(--tutor-bg);min-width:0}.tutor-main-content.is-mobile{flex-direction:column;position:relative}.tutor-chat-view{flex:1;height:100%;padding-top:0;overflow:hidden;display:flex;flex-direction:column}.resizable-panels{display:flex;flex:1;min-width:0}.panel-resize-handle{width:1px;cursor:col-resize;position:relative;background:var(--tutor-border);transition:width .2s ease,background .2s ease;z-index:10}.panel-resize-handle:hover,.panel-resize-handle:active{width:4px;background:var(--tutor-primary-light)}.notes-panel-wrapper{height:100%;background:#fff;border-left:1px solid var(--tutor-border)}.tutor-chat-container{max-width:900px;margin:0 auto;height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.tutor-header{padding:1rem 1.5rem;border-bottom:1px solid var(--tutor-border);background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;position:sticky;top:0}.breadcrumb-nav{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;margin-bottom:.75rem}.breadcrumb-link{background:none;border:none;color:var(--tutor-text-tertiary);cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;font-size:inherit;font-weight:500;border-radius:var(--tutor-radius-sm)}.breadcrumb-link:hover{color:var(--tutor-primary);background:var(--tutor-primary-pale)}.breadcrumb-separator{color:var(--tutor-border);font-size:.625rem}.breadcrumb-current{color:var(--tutor-text-primary);font-weight:600;padding:.25rem .5rem}.tutor-header-content{display:flex;justify-content:space-between;align-items:center}.tutor-header-left{display:flex;align-items:center;gap:1rem}.tutor-icon-header{width:40px;height:40px;border-radius:50%;background:var(--tutor-primary-pale);border:1px solid rgba(27,31,36,.05);color:var(--tutor-primary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;overflow:hidden}.tutor-icon-header img{width:100%;height:100%;object-fit:cover}.tutor-header-title{font-size:1.125rem;font-weight:600;color:var(--tutor-text-primary);margin:0;letter-spacing:-.01em}.tutor-header-subtitle{font-size:.8125rem;color:var(--tutor-text-tertiary);margin:0}.tutor-header-actions{display:flex;align-items:center;gap:.5rem}.notes-toggle-button{border:1px solid var(--tutor-border);background:#fff;color:var(--tutor-text-secondary);padding:.375rem .875rem;border-radius:var(--tutor-radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--tutor-shadow-sm)}.notes-toggle-button:hover{background:#f6f8fa;border-color:var(--tutor-border-hover);color:var(--tutor-text-primary)}.chat-messages-area{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;background:#fff}.chat-messages-area::-webkit-scrollbar{width:6px}.chat-messages-area::-webkit-scrollbar-track{background:transparent}.chat-messages-area::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.chat-messages-area::-webkit-scrollbar-thumb:hover{background:#0003}.add-to-notes-button{position:absolute;z-index:20;background:var(--tutor-text-primary);color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;box-shadow:var(--tutor-shadow-md);cursor:pointer;display:flex;align-items:center;gap:6px;transform:translateY(-100%);animation:popIn .2s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:translateY(-90%) scale(.9);opacity:0}to{transform:translateY(-100%) scale(1);opacity:1}}.add-to-notes-button:hover{background:#000}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;max-width:600px;margin:auto}.empty-state-icon{width:64px;height:64px;border-radius:16px;background:var(--tutor-primary-pale);color:var(--tutor-primary);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:1.5rem;border:1px solid rgba(27,31,36,.05)}.empty-state-title{font-size:1.5rem;font-weight:600;color:var(--tutor-text-primary);margin:0 0 .75rem;letter-spacing:-.02em}.empty-state-description{font-size:1rem;color:var(--tutor-text-secondary);line-height:1.6;margin:0 0 2.5rem}.example-questions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.example-questions-title{grid-column:1 / -1;font-size:.75rem;font-weight:600;color:var(--tutor-text-tertiary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.example-question{padding:1rem;border-radius:8px;border:1px solid var(--tutor-border);background:#fff;color:var(--tutor-text-secondary);font-size:.875rem;text-align:left;cursor:pointer;transition:all .2s ease;height:100%;display:flex;align-items:center}.example-question:hover{background:#f6f8fa;border-color:var(--tutor-border-hover);color:var(--tutor-text-primary);transform:translateY(-1px);box-shadow:var(--tutor-shadow-sm)}.chat-message{display:flex;gap:1rem;animation:fadeIn .3s ease;max-width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.message-avatar{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;overflow:hidden}.user-message .message-avatar{background:#e1e4e8;color:var(--tutor-text-secondary)}.assistant-message .message-avatar{background:var(--tutor-primary);color:#fff;padding:4px}.assistant-message .message-avatar img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.message-content{flex:1;min-width:0}.message-text{font-size:.9375rem;line-height:1.6;color:var(--tutor-text-primary)}.user-message .message-text{background:#f6f8fa;padding:.75rem 1rem;border-radius:8px;display:inline-block}.assistant-message .message-text{background:transparent;padding:0}.chat-input-area{padding:1.5rem;background:transparent;position:relative;z-index:10;flex-shrink:0}.chat-input-area:before{content:"";position:absolute;top:-40px;left:0;right:0;height:40px;background:linear-gradient(to bottom,#fff0,#fff);pointer-events:none}.chat-input-container{display:flex;gap:.75rem;align-items:flex-end;background:#fff;border:1px solid var(--tutor-border);border-radius:12px;padding:.75rem;box-shadow:var(--tutor-shadow-lg);transition:border-color .2s ease,box-shadow .2s ease;max-width:800px;margin:0 auto}.chat-input-container:focus-within{border-color:var(--tutor-primary);box-shadow:0 8px 24px #1a7f3726}.chat-input{flex:1;padding:.25rem .5rem;border:none;font-size:.9375rem;font-family:inherit;resize:none;max-height:200px;background:transparent;min-height:24px;line-height:1.5}.chat-input:focus{outline:none}.send-button{width:32px;height:32px;border-radius:6px;border:none;background:var(--tutor-primary);color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-button:hover:not(:disabled){background:var(--tutor-primary-dark)}.send-button:disabled{background:#e1e4e8;color:#959da5;cursor:not-allowed}.chat-input-hint{font-size:.75rem;color:var(--tutor-text-tertiary);margin:.5rem 0 0;text-align:center}.markdown-content p{margin-bottom:1rem}.markdown-content strong{font-weight:600;color:var(--tutor-text-primary)}.markdown-content h3{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.75rem;font-weight:600}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.25rem}.markdown-content code{background:#afb8c133;padding:.2em .4em;border-radius:6px;font-size:85%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.markdown-content pre{background:#f6f8fa;border-radius:6px;padding:1rem;overflow-x:auto;margin-bottom:1rem}.markdown-content pre code{background:transparent;padding:0;font-size:100%;color:inherit}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--tutor-text-tertiary);animation:typing 1.4s infinite;opacity:.4}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mobile-notes-toggle-btn{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;border:none;background:var(--tutor-primary);color:#fff;box-shadow:0 4px 12px #0003;z-index:100;display:flex;align-items:center;justify-content:center;cursor:pointer}@media (max-width: 768px){.tutor-chat-container{padding:0}.chat-messages-area{padding:1rem}.example-questions{grid-template-columns:1fr}.chat-input-area{padding:1rem;background:#fff;border-top:1px solid var(--tutor-border)}.chat-input-area:before{display:none}.chat-input-container{box-shadow:none}}:root{--rc-green: #228B22;--rc-green-light: #2E9E2E;--rc-green-pale: #E8F5E8;--rc-green-tint: rgba(34, 139, 34, .08);--rc-bg: #FAFAF5;--rc-surface: #FFFFFF;--rc-surface-elevated: #FFFFFF;--rc-text-primary: #1A1A1A;--rc-text-secondary: #666666;--rc-text-muted: #999999;--rc-border: #E5E5E0;--rc-border-light: #F0F0EB;--rc-timer-normal: #228B22;--rc-timer-warning: #D97706;--rc-timer-critical: #DC2626;--rc-radius-sm: 6px;--rc-radius-md: 10px;--rc-radius-lg: 14px;--rc-radius-xl: 20px;--rc-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--rc-shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-lg: 0 4px 16px rgba(0, 0, 0, .08)}.readiness-check-view{min-height:100vh;background:var(--rc-bg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;-webkit-font-smoothing:antialiased}.readiness-header{background:var(--rc-surface);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rc-border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:16px}.exit-btn{background:transparent;border:1px solid var(--rc-border);padding:6px 12px;border-radius:var(--rc-radius-sm);cursor:pointer;font-size:13px;font-weight:500;color:var(--rc-text-secondary);transition:all .15s ease;display:flex;align-items:center;gap:4px}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{width:24px;height:24px}.header-title-group{display:flex;flex-direction:column;line-height:1.2}.readiness-title{font-size:15px;font-weight:600;color:var(--rc-text-primary);letter-spacing:-.01em}.readiness-subtitle{font-size:11px;font-weight:500;color:var(--rc-text-muted);letter-spacing:0}.diagnostic-banner{background:var(--rc-green-tint);border-bottom:1px solid var(--rc-border-light);padding:10px 24px}.diagnostic-banner-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--rc-text-secondary);line-height:1.5}.diagnostic-banner-icon{flex-shrink:0;color:var(--rc-green);opacity:.85}.header-center{flex:1;max-width:320px;margin:0 32px;display:flex;align-items:center;gap:12px}.progress-bar-thin{flex:1;height:3px;background:var(--rc-border);border-radius:2px;overflow:hidden}.progress-fill-thin{height:100%;background:var(--rc-green);border-radius:2px;transition:width .3s ease}.progress-text{font-size:13px;font-weight:600;color:var(--rc-text-secondary);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.timer{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;transition:all .2s ease}.timer-normal{background:var(--rc-green-pale);color:var(--rc-timer-normal);border:1px solid transparent}.timer-warning{background:#fef3c7;color:var(--rc-timer-warning);border:1px solid #FDE68A}.timer-critical{background:#fee2e2;color:var(--rc-timer-critical);border:1px solid #FECACA;animation:timer-pulse 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.timer-icon{font-size:14px;opacity:.9}.readiness-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px}.question-card{background:var(--rc-surface);border-radius:var(--rc-radius-xl);border:1px solid var(--rc-border);box-shadow:var(--rc-shadow-md);padding:32px 40px;max-width:720px;width:100%}.concept-hint{font-size:11px;font-weight:600;color:var(--rc-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;line-height:1.4}.question-text{font-size:20px;line-height:1.5;color:var(--rc-text-primary);margin-bottom:28px;font-weight:400}.question-text .math-text-content{line-height:inherit}.question-text .katex-display{margin:16px 0}.options-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.option-btn{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--rc-surface);border:1.5px solid var(--rc-border);border-radius:var(--rc-radius-lg);cursor:pointer;text-align:left;transition:all .15s ease;min-height:52px}.option-btn:hover:not(:disabled){background:var(--rc-green-tint);border-color:var(--rc-green)}.option-btn.selected{background:var(--rc-green-pale);border-color:var(--rc-green)}.option-btn:disabled{opacity:.6;cursor:not-allowed}.option-key{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--rc-border-light);border-radius:var(--rc-radius-sm);font-weight:600;font-size:13px;color:var(--rc-text-secondary);flex-shrink:0;transition:all .15s ease}.option-btn:hover:not(:disabled) .option-key{background:var(--rc-green);color:#fff}.option-btn.selected .option-key{background:var(--rc-green);color:#fff}.option-text{flex:1;font-size:15px;line-height:1.5;color:var(--rc-text-primary);padding-top:2px}.option-text .math-text-content p{margin:0}.multi-select-hint{text-align:center;color:var(--rc-text-secondary);font-size:13px;margin-top:12px;padding:8px 12px;background:var(--rc-green-pale);border-radius:var(--rc-radius-md);font-weight:500}.option-btn.multi-select .option-key{border-radius:4px}.next-btn{background:var(--rc-green);color:#fff;border:none;padding:14px 28px;border-radius:var(--rc-radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease;min-width:180px}.next-btn:hover:not(:disabled){background:var(--rc-green-light);transform:translateY(-1px);box-shadow:0 4px 12px #228b2240}.next-btn:active:not(:disabled){transform:translateY(0)}.next-btn:disabled{background:var(--rc-border);color:var(--rc-text-muted);cursor:not-allowed;transform:none;box-shadow:none}.submitting{display:flex;align-items:center;justify-content:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.readiness-footer{background:var(--rc-surface);padding:14px 24px;display:flex;align-items:center;justify-content:center;gap:40px;border-top:1px solid var(--rc-border)}.footer-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label{font-size:11px;font-weight:600;color:var(--rc-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:18px;font-weight:700;color:var(--rc-text-primary);font-variant-numeric:tabular-nums}.footer-hint{font-size:13px;color:var(--rc-text-secondary);font-style:italic}.readiness-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px}.loading-spinner{width:48px;height:48px;border:3px solid var(--rc-border);border-top-color:var(--rc-green);border-radius:50%;animation:spin .8s linear infinite}.readiness-loading h2{font-size:20px;font-weight:600;color:var(--rc-text-primary);margin:0}.readiness-loading p{font-size:14px;color:var(--rc-text-secondary);margin:0}.readiness-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.error-icon{width:56px;height:56px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.readiness-error h2{font-size:20px;font-weight:600;color:var(--rc-text-primary);margin:0}.readiness-error p{font-size:14px;color:var(--rc-text-secondary);margin:0;max-width:360px;line-height:1.5}.retry-btn{background:var(--rc-green);color:#fff;border:none;padding:12px 24px;border-radius:var(--rc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:8px}.retry-btn:hover{background:var(--rc-green-light)}@media (max-width: 768px){.readiness-header{padding:0 16px;height:52px}.header-brand{display:none}.diagnostic-banner{padding:8px 16px}.diagnostic-banner-inner{font-size:12px}.header-center{margin:0 16px;max-width:none;flex:1}.readiness-main{padding:20px 16px}.question-card{padding:24px 20px;border-radius:var(--rc-radius-lg)}.question-text{font-size:17px}.option-btn{padding:14px 16px}.option-text{font-size:14px}.next-btn{width:100%;padding:16px}.readiness-footer{padding:12px 16px;gap:24px;flex-wrap:wrap}.footer-hint{flex-basis:100%;text-align:center;order:3}}@media (max-width: 480px){.exit-btn span:last-child{display:none}.timer{padding:6px 10px;font-size:14px}.timer-icon{display:none}}:root{--dr-green: #4A7C59;--dr-green-dark: #3D6B4A;--dr-green-light: #E8F5E9;--dr-cream: #FAF8F5;--dr-white: #FFFFFF;--dr-gray-50: #F9FAFB;--dr-gray-100: #F3F4F6;--dr-gray-200: #E5E7EB;--dr-gray-300: #D1D5DB;--dr-gray-400: #9CA3AF;--dr-gray-500: #6B7280;--dr-gray-600: #4B5563;--dr-gray-700: #374151;--dr-gray-800: #1F2937;--dr-gray-900: #111827;--dr-red: #DC2626;--dr-red-light: #FEE2E2;--dr-amber: #D97706;--dr-amber-light: #FEF3C7;--dr-blue: #3B82F6;--dr-blue-light: #DBEAFE;--dr-shadow: 0 1px 3px rgba(27, 31, 36, .08)}.dr-view{min-height:100vh;background:var(--dr-cream);padding:40px 60px;max-width:1800px;margin:0 auto}.dr-loading{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.dr-spinner{width:40px;height:40px;border:3px solid var(--dr-gray-200);border-top-color:var(--dr-green);border-radius:50%;animation:dr-spin .8s linear infinite}@keyframes dr-spin{to{transform:rotate(360deg)}}.dr-loading-title{font-weight:700;color:var(--dr-gray-900)}.dr-loading-subtitle{color:var(--dr-gray-500);font-size:14px}.dr-header{display:grid;grid-template-columns:220px 1fr 260px;align-items:center;gap:16px;margin-bottom:22px}.dr-back{justify-self:start;background:transparent;border:1px solid var(--dr-gray-200);color:var(--dr-gray-700);padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600}.dr-back:hover{border-color:var(--dr-gray-300);background:#ffffff8c}.dr-header-center{min-width:0;text-align:center}.dr-title{font-size:22px;font-weight:800;color:var(--dr-gray-900);letter-spacing:-.02em}.dr-subtitle{margin-top:4px;color:var(--dr-gray-500);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr-header-right{justify-self:end;display:flex;justify-content:flex-end}.dr-btn{border-radius:10px;border:1px solid transparent;padding:10px 14px;font-weight:700;cursor:pointer;transition:all .15s ease;font-size:14px}.dr-btn-primary{background:var(--dr-green);border-color:var(--dr-green);color:#fff}.dr-btn-primary:hover{background:var(--dr-green-dark);border-color:var(--dr-green-dark)}.dr-btn-secondary{background:var(--dr-white);border-color:var(--dr-gray-200);color:var(--dr-gray-900)}.dr-btn-secondary:hover{border-color:var(--dr-gray-300);box-shadow:var(--dr-shadow)}.dr-btn-ghost{background:transparent;border-color:var(--dr-gray-200);color:var(--dr-green-dark)}.dr-btn-ghost:hover{background:#e8f5e9b3;border-color:var(--dr-green-light)}.dr-main{display:flex;flex-direction:column;gap:18px}.dr-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dr-card{background:var(--dr-white);border:1px solid var(--dr-gray-200);border-radius:12px;box-shadow:var(--dr-shadow);padding:20px 22px}.dr-card-title{font-size:14px;font-weight:800;color:var(--dr-gray-900);letter-spacing:.02em;text-transform:uppercase}.dr-card-subtitle{margin-top:6px;color:var(--dr-gray-500);font-size:13px}.dr-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}.dr-hero--good{--dr-gauge: #10B981}.dr-hero--ok{--dr-gauge: #3B82F6}.dr-hero--warn{--dr-gauge: #D97706}.dr-hero--bad{--dr-gauge: #DC2626}.dr-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.dr-status--good{background:var(--dr-green-light);color:var(--dr-green-dark)}.dr-status--ok{background:var(--dr-blue-light);color:var(--dr-blue)}.dr-status--warn{background:var(--dr-amber-light);color:var(--dr-amber)}.dr-status--bad{background:var(--dr-red-light);color:var(--dr-red)}.dr-gauge{position:relative;width:240px;height:140px;margin:14px 0 8px}.dr-gauge-svg{width:100%;height:100%}.dr-gauge-value{position:absolute;bottom:6px;left:50%;transform:translate(-50%);text-align:center}.dr-gauge-number{font-size:38px;font-weight:900;color:var(--dr-gray-900);line-height:1}.dr-gauge-label{font-size:12px;font-weight:700;color:var(--dr-gray-500);text-transform:uppercase;letter-spacing:.06em}.dr-hero-msg{color:var(--dr-gray-700);font-size:15px;margin-top:8px}.dr-insight{margin-top:12px;border:1px solid var(--dr-gray-200);background:var(--dr-gray-50);border-radius:10px;padding:12px}.dr-insight-label{font-size:11px;font-weight:800;color:var(--dr-gray-500);text-transform:uppercase;letter-spacing:.08em}.dr-insight-text{margin-top:6px;color:var(--dr-gray-700);font-size:13px;line-height:1.4}.dr-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dr-stat{border:1px solid var(--dr-gray-200);border-radius:12px;padding:14px 12px;text-align:center;background:var(--dr-white)}.dr-stat-value{font-size:22px;font-weight:900;color:var(--dr-green);letter-spacing:-.01em}.dr-stat-label{margin-top:6px;font-size:11px;font-weight:800;color:var(--dr-gray-500);text-transform:uppercase;letter-spacing:.08em}.dr-type-list{margin-top:14px;display:flex;flex-direction:column;gap:12px}.dr-type-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px}.dr-type-left{display:flex;align-items:center;gap:10px;min-width:0}.dr-type-meta{color:var(--dr-gray-500);font-size:12px;white-space:nowrap}.dr-type-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.dr-type-pct{font-weight:900;color:var(--dr-gray-900);width:44px;text-align:right}.dr-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--dr-gray-200);background:var(--dr-white);color:var(--dr-gray-800);text-transform:capitalize}.dr-pill--good{background:var(--dr-green-light);border-color:var(--dr-green-light);color:var(--dr-green-dark)}.dr-pill--warn{background:var(--dr-amber-light);border-color:var(--dr-amber-light);color:var(--dr-amber)}.dr-pill--bad{background:var(--dr-red-light);border-color:var(--dr-red-light);color:var(--dr-red)}.dr-bar{width:200px;height:8px;background:var(--dr-gray-200);border-radius:999px;overflow:hidden}.dr-bar-fill{height:100%;border-radius:999px}.dr-bar-fill--good{background:#10b981}.dr-bar-fill--warn{background:#d97706}.dr-bar-fill--bad{background:#dc2626}.dr-peer{margin-top:14px;display:flex;flex-direction:column;gap:12px}.dr-peer-msg{color:var(--dr-gray-700);font-size:13px;line-height:1.4}.dr-peer-row{display:grid;grid-template-columns:90px 1fr 90px;gap:10px;align-items:center}.dr-peer-label{font-weight:800;color:var(--dr-gray-700);font-size:12px}.dr-peer-meta{text-align:right;color:var(--dr-gray-500);font-size:12px;font-weight:700}.dr-peer-bar{height:10px;background:var(--dr-gray-200);border-radius:999px;overflow:hidden}.dr-peer-fill{height:100%;border-radius:999px}.dr-peer-fill--good{background:#10b981}.dr-peer-fill--info{background:#3b82f6}.dr-footnote{margin-top:4px;color:var(--dr-gray-500);font-size:12px}.dr-concepts{margin-top:14px;display:flex;flex-direction:column;gap:10px}.dr-concept-row{border:1px solid var(--dr-gray-200);border-radius:10px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.dr-concept-left{display:flex;align-items:center;gap:10px;min-width:0}.dr-concept-name{font-weight:700;color:var(--dr-gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:520px}.dr-concept-type{color:var(--dr-gray-500);font-size:12px;font-weight:600;text-transform:capitalize}.dr-concept-acc{font-weight:900;color:var(--dr-gray-900)}.dr-chip{padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.dr-chip--weak{background:var(--dr-amber-light);color:var(--dr-amber)}.dr-chip--strong{background:var(--dr-green-light);color:var(--dr-green-dark)}.dr-actions{border-left:4px solid var(--dr-green)}.dr-reco{margin-top:14px;border:1px solid var(--dr-gray-200);background:var(--dr-gray-50);border-radius:10px;padding:12px}.dr-reco-label{font-size:11px;font-weight:900;color:var(--dr-gray-500);text-transform:uppercase;letter-spacing:.08em}.dr-reco-text{margin-top:6px;color:var(--dr-gray-800);font-weight:700;line-height:1.35}.dr-reco-list{margin:12px 0 0;padding-left:18px;color:var(--dr-gray-700);font-size:13px;line-height:1.55}.dr-reco-list li{margin:6px 0}.dr-actions-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dr-action{border:1px solid var(--dr-gray-200);border-radius:12px;padding:14px;background:var(--dr-white);display:flex;flex-direction:column;gap:10px}.dr-action-highlight{border-color:var(--dr-green);background:linear-gradient(135deg,#fff,#f6faf6)}.dr-action-title{font-weight:900;color:var(--dr-gray-900)}.dr-action-sub{color:var(--dr-gray-600);font-size:13px;line-height:1.4}.dr-laser{margin-top:12px;display:flex;align-items:center;gap:12px}.dr-muted{color:var(--dr-gray-500);font-size:13px}@media (max-width: 1100px){.dr-view{padding:28px 20px}.dr-header{grid-template-columns:1fr;text-align:left}.dr-header-center{text-align:left}.dr-header-right{justify-self:start}.dr-hero,.dr-grid-2,.dr-actions-grid{grid-template-columns:1fr}.dr-bar{width:160px}}.readiness-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:color-mix(in srgb,var(--badge-color) 15%,transparent);border-radius:20px;margin-bottom:1.5rem}.badge-emoji{font-size:1.25rem}.badge-label{font-size:1rem;font-weight:600;color:var(--badge-color)}.score-gauge{position:relative;width:200px;height:120px;margin:0 auto 1rem}.gauge-svg{width:100%;height:100%}.gauge-value{position:absolute;bottom:10px;left:50%;transform:translate(-50%);text-align:center}.gauge-value .value{display:block;font-size:2.5rem;font-weight:700;color:var(--dr-text);line-height:1}.gauge-value .label{font-size:.875rem;color:var(--dr-text-light)}.readiness-description{font-size:1rem;color:var(--dr-text-light);margin:0 0 1rem}.pattern-analysis{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9375rem;color:var(--dr-blue);background:color-mix(in srgb,var(--dr-blue) 10%,transparent);padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem}.pattern-icon{font-size:1rem}.quick-stats{display:flex;justify-content:center;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--dr-border)}.stat{text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--dr-text)}.stat-label{font-size:.75rem;color:var(--dr-text-light);text-transform:uppercase;letter-spacing:.5px}.type-breakdown-section{margin-bottom:2rem}.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.type-card{background:var(--dr-card-bg);border-radius:12px;padding:1rem;box-shadow:0 2px 4px #0000000d;border:2px solid transparent;transition:border-color .2s}.type-card.weak{border-color:var(--dr-yellow)}.type-card.strong{border-color:var(--dr-primary)}.type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.type-name{font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.type-name.type-numerical{background:#dbeafe;color:#1d4ed8}.type-name.type-conceptual{background:#fae8ff;color:#9333ea}.type-name.type-definitional{background:#dcfce7;color:#15803d}.type-name.type-procedural{background:#fef3c7;color:#d97706}.type-accuracy{font-size:1.25rem;font-weight:700;color:var(--dr-text)}.type-bar{height:8px;background:var(--dr-border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.type-fill{height:100%;background:linear-gradient(90deg,var(--dr-primary),var(--dr-primary-dark));border-radius:4px;transition:width .5s ease}.type-card.weak .type-fill{background:linear-gradient(90deg,var(--dr-yellow),#d97706)}.type-details{font-size:.75rem;color:var(--dr-text-light)}.peer-section{margin-bottom:2rem}.peer-card{background:var(--dr-card-bg);border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.peer-message{font-size:1.125rem;font-weight:500;color:var(--dr-text);text-align:center;margin-bottom:1.5rem}.peer-stats{display:flex;flex-direction:column;gap:1rem}.peer-stat{display:flex;flex-direction:column;gap:.5rem}.percentile-bar{height:12px;background:var(--dr-border);border-radius:6px;overflow:hidden}.percentile-fill{height:100%;border-radius:6px;transition:width 1s ease}.percentile-fill.accuracy{background:linear-gradient(90deg,var(--dr-primary),var(--dr-primary-dark))}.percentile-fill.speed{background:linear-gradient(90deg,var(--dr-blue),#2563eb)}.percentile-label{font-size:.875rem;color:var(--dr-text-light)}.peer-footnote{font-size:.75rem;color:var(--dr-text-light);text-align:center;margin-top:1rem;margin-bottom:0}.weakness-detail-section{margin-bottom:2rem}.weakness-cards{display:flex;flex-direction:column;gap:1rem}.weakness-detail-card{background:var(--dr-card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d;border-left:4px solid var(--dr-yellow)}.weakness-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.weakness-name{font-size:1rem;font-weight:600;color:var(--dr-text)}.severity-badge{font-size:.625rem;text-transform:uppercase;font-weight:600;padding:.25rem .5rem;border-radius:4px}.severity-badge.critical{background:#fef2f2;color:#dc2626}.severity-badge.weak{background:#fffbeb;color:#d97706}.severity-badge.developing{background:#eff6ff;color:#2563eb}.weakness-type{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.type-badge{font-size:.625rem;text-transform:uppercase;font-weight:600;padding:.2rem .5rem;border-radius:4px}.type-badge.type-numerical{background:#dbeafe;color:#1d4ed8}.type-badge.type-conceptual{background:#fae8ff;color:#9333ea}.type-badge.type-definitional{background:#dcfce7;color:#15803d}.type-badge.type-procedural{background:#fef3c7;color:#d97706}.skill-badge{font-size:.625rem;text-transform:capitalize;font-weight:500;padding:.2rem .5rem;border-radius:4px;background:#f1f5f9;color:#475569}.weakness-evidence{font-size:.875rem;color:var(--dr-text-light);margin:0 0 .5rem;font-style:italic}.weakness-recommendation{font-size:.875rem;color:var(--dr-text);margin:0;padding:.75rem;background:#f8fafc;border-radius:8px}.concepts-section{margin-bottom:2rem}.concepts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.concept-list{background:var(--dr-card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.concept-list.strong{border-left:4px solid var(--dr-primary)}.concept-list.weak{border-left:4px solid var(--dr-yellow)}.list-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--dr-text);margin:0 0 1rem}.title-icon{font-size:1rem}.concept-list ul{list-style:none;margin:0;padding:0}.concept-item{padding:.5rem 0;border-bottom:1px solid var(--dr-border);font-size:.875rem;color:var(--dr-text)}.concept-item:last-child{border-bottom:none}.empty-message{font-size:.875rem;color:var(--dr-text-light);font-style:italic;margin:0}.action-section{margin-bottom:2rem}.action-card{background:var(--dr-card-bg);border-radius:12px;padding:1.25rem;box-shadow:0 2px 4px #0000000d}.primary-action{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:8px;margin-bottom:1rem}.primary-action .action-icon{font-size:1.25rem}.primary-action .action-text{font-size:1rem;font-weight:600;color:var(--dr-primary-dark)}.action-list{list-style:none;margin:0;padding:0}.action-item{padding:.75rem 0;border-bottom:1px solid var(--dr-border);font-size:1rem;color:var(--dr-text);line-height:1.5}.action-item:last-child{border-bottom:none}.cta-section{display:flex;flex-direction:column;gap:1rem}.cta-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cta-btn.primary{background:linear-gradient(135deg,var(--dr-primary),var(--dr-primary-dark));color:#fff}.cta-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.cta-btn.secondary{background:var(--dr-card-bg);color:var(--dr-text);border:2px solid var(--dr-border)}.cta-btn.secondary:hover{background:var(--dr-bg);border-color:#cbd5e1}.cta-subtitle{font-size:.75rem;font-weight:400;opacity:.8}.diagnosis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid var(--dr-border);border-top-color:var(--dr-primary);border-radius:50%;animation:spin 1s linear infinite}.enhanced-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:var(--dr-card-bg);border-radius:8px;margin-top:1rem;font-size:.875rem;color:var(--dr-text-light)}.loading-dot{width:8px;height:8px;background:var(--dr-primary);border-radius:50%;animation:pulse-dot 1s ease infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (max-width: 768px){.diagnosis-main{padding:1rem}.score-card{padding:1.5rem}.quick-stats{gap:1rem}.concepts-grid,.type-grid{grid-template-columns:1fr}.diagnosis-header h1{font-size:1rem}.placeholder{display:none}.weakness-header{flex-direction:column;align-items:flex-start;gap:.5rem}.pattern-analysis{flex-direction:column;text-align:center}}:root{--lp-primary: #8b5cf6;--lp-primary-dark: #7c3aed;--lp-bg: #f8fafc;--lp-card-bg: #ffffff;--lp-text: #1e293b;--lp-text-light: #64748b;--lp-border: #e2e8f0;--lp-correct: #10b981;--lp-correct-bg: #dcfce7;--lp-incorrect: #ef4444;--lp-incorrect-bg: #fee2e2;--lp-option-hover: #f1f5f9;--lp-option-selected: #ede9fe;--lp-option-selected-border: #8b5cf6}.laser-practice-view{min-height:100vh;background:var(--lp-bg);display:flex;flex-direction:column}.laser-header{background:var(--lp-card-bg);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lp-border);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.exit-btn{background:none;border:1px solid var(--lp-border);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;color:var(--lp-text-light);transition:all .2s ease}.exit-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.laser-title{font-size:1rem;font-weight:600;color:var(--lp-text)}.header-center{flex:1;max-width:400px;margin:0 2rem}.progress-container{display:flex;align-items:center;gap:1rem}.progress-bar{flex:1;height:8px;background:var(--lp-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--lp-primary),var(--lp-primary-dark));border-radius:4px;transition:width .3s ease}.progress-text{font-size:.875rem;font-weight:600;color:var(--lp-text);min-width:60px;text-align:center}.header-right{display:flex;align-items:center}.score-badge{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;background:var(--lp-correct-bg);border-radius:8px}.score-value{font-size:1.25rem;font-weight:700;color:var(--lp-correct);line-height:1}.score-label{font-size:.625rem;color:var(--lp-correct);text-transform:uppercase;letter-spacing:.5px}.laser-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.question-card{background:var(--lp-card-bg);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;padding:2rem 3rem;max-width:800px;width:100%}.concept-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--lp-primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;padding:.25rem .75rem;background:var(--lp-option-selected);border-radius:4px}.tag-icon{font-size:.875rem}.question-text{font-size:1.25rem;line-height:1.6;color:var(--lp-text);margin-bottom:2rem}.question-text .math-text-content p{margin:0}.options-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.option-btn{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--lp-card-bg);border:2px solid var(--lp-border);border-radius:12px;cursor:pointer;text-align:left;transition:all .2s ease;position:relative}.option-btn:hover:not(:disabled){background:var(--lp-option-hover);border-color:#cbd5e1}.option-btn.selected{background:var(--lp-option-selected);border-color:var(--lp-option-selected-border)}.option-btn.correct{background:var(--lp-correct-bg);border-color:var(--lp-correct)}.option-btn.incorrect{background:var(--lp-incorrect-bg);border-color:var(--lp-incorrect)}.option-btn:disabled{cursor:default}.option-key{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--lp-bg);border-radius:6px;font-weight:600;font-size:.875rem;color:var(--lp-text-light);flex-shrink:0}.option-btn.selected .option-key{background:var(--lp-primary);color:#fff}.option-btn.correct .option-key{background:var(--lp-correct);color:#fff}.option-btn.incorrect .option-key{background:var(--lp-incorrect);color:#fff}.option-text{flex:1;font-size:1rem;line-height:1.5;color:var(--lp-text)}.option-indicator{font-size:1.25rem;margin-left:auto}.feedback-box{padding:1.25rem;border-radius:12px;margin-bottom:1.5rem}.feedback-box.correct{background:var(--lp-correct-bg);border:1px solid var(--lp-correct)}.feedback-box.incorrect{background:var(--lp-incorrect-bg);border:1px solid var(--lp-incorrect)}.feedback-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.feedback-icon{font-size:1.25rem}.feedback-title{font-size:1rem;font-weight:600;color:var(--lp-text)}.feedback-explanation{margin-top:.75rem;padding:1rem;background:#ffffffe6;border-radius:8px;border:1px solid var(--lp-border)}.feedback-box.correct .feedback-explanation{border-color:var(--lp-correct)}.feedback-box.incorrect .feedback-explanation{border-color:var(--lp-incorrect)}.action-area{display:flex;justify-content:flex-end}.check-btn,.next-btn{background:linear-gradient(135deg,var(--lp-primary),var(--lp-primary-dark));color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:180px}.check-btn:hover:not(:disabled),.next-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.check-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.next-btn{background:linear-gradient(135deg,#10b981,#059669)}.next-btn:hover{box-shadow:0 4px 12px #10b9814d}.laser-footer{background:var(--lp-card-bg);padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:3rem;border-top:1px solid var(--lp-border)}.footer-stat{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.75rem;color:var(--lp-text-light);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1rem;font-weight:600;color:var(--lp-text)}.footer-message{font-size:.875rem;color:var(--lp-text-light);font-style:italic}.laser-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem}.loading-target{width:60px;height:60px;border:4px solid var(--lp-border);border-top-color:var(--lp-primary);border-radius:50%;animation:spin 1s linear infinite;position:relative}.loading-target:after{content:"🎯";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem}.laser-loading h2{font-size:1.5rem;color:var(--lp-text);margin:0}.laser-loading p{font-size:1rem;color:var(--lp-text-light);margin:0}.laser-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.error-icon{font-size:3rem}.laser-error h2{font-size:1.5rem;color:var(--lp-text);margin:0}.laser-error p{font-size:1rem;color:var(--lp-text-light);margin:0;max-width:400px}.retry-btn{background:var(--lp-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:var(--lp-primary-dark)}@media (max-width: 768px){.laser-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.75rem}.header-left{order:1}.header-right{order:2}.header-center{order:3;flex-basis:100%;max-width:none;margin:0}.laser-title{display:none}.laser-main{padding:1rem}.question-card{padding:1.5rem}.question-text{font-size:1.1rem}.check-btn,.next-btn{width:100%}.laser-footer{flex-wrap:wrap;gap:1rem}.footer-message{flex-basis:100%;text-align:center}}.laser-results{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.results-emoji{font-size:4rem;margin-bottom:1.5rem;animation:bounce .6s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.laser-results h1{font-size:2rem;font-weight:700;color:var(--lp-text);margin-bottom:2rem}.results-score{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:.5rem}.score-value{font-size:4rem;font-weight:800;color:var(--lp-primary)}.score-divider{font-size:2.5rem;color:var(--lp-text-light)}.score-total{font-size:2.5rem;font-weight:600;color:var(--lp-text-light)}.results-percentage{font-size:1.5rem;font-weight:600;color:var(--lp-primary-dark);margin-bottom:.5rem}.results-message{font-size:1.1rem;color:var(--lp-text-light);max-width:400px;margin-bottom:2.5rem}.results-stats{display:flex;gap:3rem;margin-bottom:3rem}.results-stats .stat{display:flex;flex-direction:column;gap:.25rem}.results-stats .stat-value{font-size:2rem;font-weight:700;color:var(--lp-text)}.results-stats .stat-label{font-size:.875rem;color:var(--lp-text-light)}.results-actions{display:flex;gap:1rem}.results-actions .action-btn{padding:.875rem 1.75rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.results-actions .action-btn.primary{background:var(--lp-primary);color:#fff;border:none}.results-actions .action-btn.primary:hover{background:var(--lp-primary-dark);transform:translateY(-2px)}.results-actions .action-btn.secondary{background:transparent;color:var(--lp-primary);border:2px solid var(--lp-primary)}.results-actions .action-btn.secondary:hover{background:var(--lp-primary);color:#fff}@media (max-width: 640px){.results-stats{flex-direction:column;gap:1.5rem}.results-actions{flex-direction:column;width:100%}.results-actions .action-btn{width:100%}}.tp-screen{--brand-green: #228B22;--brand-green-dark: #1a6b1a;--brand-green-light: #e8f5e9;--cream-bg: #FDFBF7;--card-white: #FFFFFF;--text-primary: #1a1a1a;--text-secondary: #5a5a5a;--text-muted: #8a8a8a;--border: #e8e6e1;--border-light: #f0eeea;--critical: #DC2626;--critical-light: #FEE2E2;--developing: #D97706;--developing-light: #FEF3C7;--strong: #10B981;--strong-light: #D1FAE5;--mastered: #7C3AED;--mastered-light: #EDE9FE;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.06);--shadow-lg: 0 10px 25px rgba(0,0,0,.06), 0 5px 10px rgba(0,0,0,.04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}.tp-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--cream-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}.tp-layout{display:flex;flex:1;min-height:0}.tp-sidebar{width:280px;flex-shrink:0;background:#fafaf9;border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:hidden;z-index:120}.sidebar-header{padding:16px 16px 14px;border-bottom:1px solid var(--border-light)}.sidebar-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 10px}.sidebar-avg-display{display:flex;align-items:baseline;gap:2px;margin-bottom:8px}.avg-mp-value{font-size:28px;font-weight:700;color:var(--brand-green);line-height:1}.avg-mp-total{font-size:14px;font-weight:600;color:var(--text-muted)}.sidebar-counts{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.sidebar-counts .count-sep{color:var(--border)}.sidebar-content{flex:1;overflow-y:auto;padding:12px 12px 16px}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-section{margin-bottom:20px}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:8px}.sidebar-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.sidebar-section-title.unseen{color:#6b7280}.sidebar-section-title.weak{color:#dc2626}.sidebar-section-title.strong{color:#10b981}.sidebar-section-count{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--border-light);padding:2px 6px;border-radius:8px}.sidebar-section-list{display:flex;flex-direction:column;gap:4px}.sidebar-concept{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-left:3px solid transparent;border-radius:0 6px 6px 0;cursor:pointer;text-align:left;transition:all .15s ease;position:relative}.sidebar-concept:hover{background:#00000008}.sidebar-concept.active{background:var(--brand-green-light);border-left-color:var(--brand-green)}.sidebar-concept-dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--text-muted)}.sidebar-concept.active .sidebar-concept-dot{background:var(--brand-green)}.sidebar-concept-info{flex:1;min-width:0}.sidebar-concept-name{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-concept-snippet,.drawer-concept-snippet{letter-spacing:0}.tp-concept-tooltip{position:fixed;width:min(520px,60vw);z-index:10000;pointer-events:none}.tp-concept-tooltip-inner{background:#faf8f3;border:1px solid var(--border);border-left:4px solid #2d7a3e;border-radius:10px;box-shadow:var(--shadow-lg);padding:14px;color:var(--text-primary)}.tp-concept-tooltip-inner :is(p,ul,ol){margin:0}.tp-concept-tooltip-inner :is(ul,ol){padding-left:18px}.tp-concept-tooltip-inner :is(strong){font-weight:700}.tp-concept-tooltip-inner :is(code){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.92em;background:#0000000a;padding:1px 6px;border-radius:6px}@media (max-width: 980px){.tp-concept-tooltip{display:none}}.sidebar-concept-progress{display:flex;align-items:center;gap:8px;margin-bottom:4px}.sidebar-progress-bar{flex:1;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.sidebar-progress-fill{height:100%;border-radius:2px;transition:width .3s ease;background:var(--brand-green)}.sidebar-concept-mp{font-size:12px;font-weight:700;color:var(--text-secondary);white-space:nowrap}.sidebar-concept-stats{display:flex;gap:6px;align-items:center}.sidebar-concept-stat{font-size:11px;color:var(--text-muted)}.sidebar-concept-stat.hint{color:var(--text-muted)}.tp-content{flex:1;display:flex;flex-direction:column;min-width:0}.tp-compact-bar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--card-white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}.compact-bar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.compact-bar-btn:hover{background:var(--border-light);color:var(--text-primary)}.compact-bar-spacer{width:36px}.compact-bar-stats{display:flex;align-items:center;gap:8px;font-size:14px}.stat-item{font-weight:600;color:var(--text-secondary)}.stat-item.question-num{font-weight:700;color:var(--text-primary)}.stat-item.mp-value{color:var(--brand-green);font-weight:700}.stat-sep{color:var(--border);font-weight:400}.tp-compact-bar .mobile-drawer-toggle{display:none}.tp-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px 24px 60px;overflow-y:auto}.question-card{width:100%;max-width:920px;background:var(--card-white);border-radius:var(--radius-lg);padding:40px 56px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.question-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.question-concept-label{font-size:13px;line-height:1.5;color:var(--text-secondary);flex:1}.question-type-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-green);background:var(--brand-green-light);padding:4px 10px;border-radius:4px;white-space:nowrap}.question-badges{display:flex;gap:8px;align-items:center}.question-mp-badge{font-size:11px;font-weight:700;padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap;background:var(--brand-green-light);color:var(--brand-green)}.question-q-badge{font-size:11px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);background:var(--border-light);color:var(--text-secondary);white-space:nowrap}.question-text{font-size:20px;font-weight:500;line-height:1.5;color:var(--text-primary);margin-bottom:32px}.question-text p{margin:0 0 16px}.question-text p:last-child{margin-bottom:0}.multi-hint{font-size:14px;color:var(--brand-green);background:var(--brand-green-light);padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:24px;font-weight:500}.options-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.option-btn{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;background:var(--card-white);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.option-btn:hover:not(:disabled):not(.correct):not(.wrong){border-color:var(--brand-green);background:var(--brand-green-light)}.option-btn.selected{border-color:var(--brand-green);background:var(--brand-green-light)}.option-btn.correct{border-color:var(--brand-green);background:var(--brand-green);color:#fff}.option-btn.wrong{border-color:var(--critical);background:var(--critical);color:#fff}.option-key{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--text-secondary);background:var(--cream-bg);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.option-btn.selected .option-key{background:var(--brand-green);color:#fff}.option-btn.correct .option-key,.option-btn.wrong .option-key{background:#ffffff40;color:#fff}.option-text{flex:1;font-size:16px;color:var(--text-primary);line-height:1.5}.option-text p{margin:0}.option-btn.correct .option-text,.option-btn.wrong .option-text{color:#fff}.option-icon{flex-shrink:0;margin-left:auto}.option-btn.correct .option-icon,.option-btn.wrong .option-icon{color:#fff}.feedback-panel{padding:20px 24px;border-radius:var(--radius-md);margin-bottom:24px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-panel.correct{background:var(--brand-green-light);border:1px solid var(--brand-green)}.feedback-panel.wrong{background:var(--critical-light);border:1px solid var(--critical)}.feedback-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.feedback-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px;font-weight:700}.feedback-panel.correct .feedback-icon{background:var(--brand-green);color:#fff}.feedback-panel.wrong .feedback-icon{background:var(--critical);color:#fff}.feedback-title{font-size:18px;font-weight:700;flex:1}.feedback-panel.correct .feedback-title{color:var(--brand-green-dark)}.feedback-panel.wrong .feedback-title{color:var(--critical)}.feedback-points{font-size:16px;font-weight:700;padding:4px 12px;border-radius:var(--radius-sm)}.feedback-points.positive{background:var(--brand-green);color:#fff}.feedback-points.negative{background:var(--critical);color:#fff}.feedback-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.feedback-breakdown span{background:#0000000d;padding:4px 8px;border-radius:4px}.feedback-explanation{margin-top:1.25rem;padding:1.5rem;background:linear-gradient(135deg,#f8fdf9,#f3f9f4);border-radius:var(--radius-md);border:1px solid #d1e7d7}.feedback-explanation .explanation-title{font-size:.8125rem;font-weight:700;color:var(--brand-green);text-transform:uppercase;letter-spacing:1px;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(34,139,34,.15);display:flex;align-items:center;gap:.5rem}.feedback-explanation .explanation-icon{color:var(--brand-green);flex-shrink:0}.feedback-explanation .explanation-text{font-size:1rem;line-height:1.75;color:var(--text-primary);margin:0}.feedback-explanation .explanation-text p{margin:.6rem 0}.feedback-explanation .explanation-text p:first-child{margin-top:0}.feedback-explanation .explanation-text p:last-child{margin-bottom:0}.feedback-explanation .explanation-text .katex-display{margin:1rem 0;padding:1rem 1.25rem;background:#ffffffd9;border-radius:8px;border:1px solid rgba(34,139,34,.1);overflow-x:auto}.feedback-explanation .explanation-text .katex{font-size:1.05em}.feedback-explanation .explanation-text strong{color:var(--brand-green-dark);font-weight:600}.feedback-explanation .explanation-text code{background:#ffffffb3;padding:.2em .45em;border-radius:4px;font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace;border:1px solid rgba(0,0,0,.08)}.feedback-explanation .explanation-text ul,.feedback-explanation .explanation-text ol{margin:.75rem 0;padding-left:1.5rem}.feedback-explanation .explanation-text li{margin:.35rem 0;line-height:1.6}.feedback-explanation .explanation-text li::marker{color:var(--brand-green)}.feedback-explanation .explanation-text table{width:100%;margin:1rem 0;border-collapse:collapse;font-size:.9rem;background:#ffffffb3;border-radius:8px;overflow:hidden}.feedback-explanation .explanation-text th,.feedback-explanation .explanation-text td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid rgba(34,139,34,.1)}.feedback-explanation .explanation-text th{background:#228b2214;font-weight:600;color:var(--brand-green-dark)}.feedback-explanation .enhanced-explanation{margin-top:0}.feedback-panel.correct .feedback-explanation{background:linear-gradient(135deg,#f8fdf9,#f3f9f4);border-color:var(--brand-green)}.feedback-panel.correct .feedback-explanation .explanation-title{color:var(--brand-green)}.feedback-panel.wrong .feedback-explanation{background:linear-gradient(135deg,#fefafa,#fdf5f5);border-color:var(--critical)}.feedback-panel.wrong .feedback-explanation .explanation-title,.feedback-panel.wrong .feedback-explanation .explanation-icon{color:var(--critical)}.feedback-panel.wrong .feedback-explanation .explanation-text strong{color:#991b1b}.feedback-panel.wrong .feedback-explanation .explanation-text .katex-display{border-color:#dc26261a}.question-action{display:flex;justify-content:center}.tp-action-btn{min-width:200px;padding:16px 32px;font-size:16px;font-weight:600;border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:var(--card-white);color:var(--text-secondary);transition:all var(--transition-fast)}.tp-action-btn:hover{border-color:var(--brand-green);color:var(--brand-green)}.tp-action-btn.primary{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.tp-action-btn.primary:hover:not(:disabled){background:var(--brand-green-dark);border-color:var(--brand-green-dark)}.tp-action-btn.primary:disabled{background:var(--border);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.tp-action-btn.success{background:var(--brand-green);border-color:var(--brand-green);color:#fff}.tp-action-btn.success:hover{background:var(--brand-green-dark);border-color:var(--brand-green-dark)}.points-change{padding:6px 12px;font-size:13px;font-weight:700;border-radius:var(--radius-sm);animation:pointsPop .4s ease-out}@keyframes pointsPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.points-change.positive{background:var(--brand-green);color:#fff}.points-change.negative{background:var(--text-muted);color:#fff}.journey-progress{flex:1;max-width:520px;min-width:300px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.journey-track-wrapper{position:relative;padding-bottom:24px}.journey-track{position:relative;width:100%;height:14px;background:#e5e7eb;border-radius:7px;overflow:visible;border:1px solid #D1D5DB}.journey-fill{position:absolute;top:-1px;left:-1px;height:calc(100% + 2px);background:var(--brand-green);border-radius:7px;transition:width .4s ease;min-width:14px}.journey-divider{position:absolute;top:-4px;width:2px;height:calc(100% + 8px);background:#9ca3af;border-radius:1px}.journey-divider.d30{left:30%}.journey-divider.d70{left:70%}.journey-divider.d90{left:90%}.journey-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10;transition:left var(--transition-slow)}.journey-indicator-dot{width:22px;height:22px;background:var(--card-white);border:4px solid var(--brand-green);border-radius:50%;box-shadow:0 2px 8px #0003}.journey-indicator-label{position:absolute;top:-32px;left:50%;transform:translate(-50%);font-size:13px;font-weight:700;color:var(--card-white);background:var(--brand-green);padding:4px 10px;border-radius:6px;box-shadow:0 2px 8px #228b224d;white-space:nowrap}.journey-thresholds{position:absolute;top:100%;left:0;right:0;display:flex;margin-top:6px}.journey-threshold{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.journey-threshold span{font-size:11px;color:#6b7280;font-weight:600}.journey-labels{display:none}.journey-meta{display:flex;justify-content:center;gap:12px;align-items:center;margin-top:4px}.journey-text{font-size:14px;font-weight:600;color:var(--text-primary)}.journey-questions{font-size:13px;font-weight:600;color:var(--text-secondary);background:#f3f4f6;padding:4px 10px;border-radius:6px;border:1px solid #E5E7EB}.drawer-overlay{position:fixed;inset:0;background:#0000004d;opacity:0;visibility:hidden;transition:all var(--transition-normal);z-index:200}.drawer-overlay.open{opacity:1;visibility:visible}.concepts-drawer{position:fixed;top:0;left:0;bottom:0;width:360px;max-width:90vw;background:var(--card-white);box-shadow:var(--shadow-lg);transform:translate(-100%);transition:transform var(--transition-normal);z-index:300;display:flex;flex-direction:column}.concepts-drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}.drawer-header h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.drawer-summary{display:flex;gap:8px;align-items:center}.drawer-avg-mp,.drawer-mastered{font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--border-light);padding:4px 8px;border-radius:var(--radius-sm)}.drawer-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.drawer-close:hover{background:var(--border-light);color:var(--text-primary)}.drawer-content{flex:1;overflow-y:auto;padding:16px}.drawer-section{margin-bottom:24px}.drawer-section:last-child{margin-bottom:0}.drawer-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-sm)}.drawer-section-header.weak,.drawer-section-header.strong{background:var(--border-light);color:var(--text-secondary)}.drawer-section-count{font-size:11px;padding:2px 8px;background:#00000014;border-radius:10px}.drawer-section-list{display:flex;flex-direction:column;gap:8px;max-height:35vh;overflow-y:auto;padding-right:4px}.drawer-section-list::-webkit-scrollbar{width:4px}.drawer-section-list::-webkit-scrollbar-track{background:var(--border-light);border-radius:2px}.drawer-section-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.drawer-concept{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px;background:var(--card-white);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.drawer-concept:hover{border-color:var(--brand-green);background:var(--brand-green-light)}.drawer-concept.active{border-color:var(--brand-green);background:var(--brand-green-light);box-shadow:0 0 0 2px var(--brand-green-light)}.drawer-concept-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0;background:var(--text-muted)}.drawer-concept.active .drawer-concept-dot{background:var(--brand-green)}.drawer-concept-info{flex:1;min-width:0}.drawer-concept-name{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.4;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.drawer-concept-progress{display:flex;align-items:center;gap:8px}.mini-progress-bar{flex:1;height:6px;background:var(--border-light);border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;border-radius:3px;transition:width var(--transition-normal);background:var(--brand-green)}.drawer-concept-mp{font-size:12px;font-weight:700;color:var(--text-secondary);white-space:nowrap}.drawer-concept-stats{display:flex;gap:8px;align-items:center;margin-top:4px}.questions-stat{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--border-light);padding:2px 6px;border-radius:4px}.points-hint{font-size:11px;color:var(--text-muted)}.tp-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--brand-green);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:24px}.tp-loading h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.tp-loading p{font-size:15px;color:var(--text-muted);margin:0}.tp-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.error-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:var(--critical);background:var(--critical-light);border-radius:50%;margin-bottom:24px}.tp-error h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.tp-error p{font-size:15px;color:var(--text-muted);margin:0 0 24px}.tp-complete{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.complete-check{color:var(--brand-green);margin-bottom:24px;animation:popIn .4s ease-out}@keyframes popIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tp-complete h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.tp-complete>p{font-size:16px;color:var(--text-muted);margin:0 0 32px}.complete-stats{display:flex;gap:24px;margin-bottom:32px}.complete-stat{display:flex;flex-direction:column;align-items:center;padding:24px 32px;background:var(--cream-bg);border-radius:var(--radius-lg);min-width:100px}.complete-stat.highlight{background:var(--brand-green-light)}.stat-number{font-size:36px;font-weight:700;color:var(--text-primary);line-height:1}.complete-stat.highlight .stat-number{color:var(--brand-green)}.stat-label{font-size:13px;color:var(--text-muted);margin-top:8px}@media (min-width: 1200px){.tp-sidebar{width:300px}.question-card{max-width:800px}}@media (max-width: 1023px){.tp-sidebar{display:none}.tp-content{width:100%}.question-card{max-width:700px}.tp-compact-bar .mobile-drawer-toggle{display:flex}}@media (max-width: 768px){.tp-header{padding:12px 20px}.tp-progress-ribbon{padding:10px 16px;gap:12px}.question-card{max-width:100%;padding:28px 24px}.question-text{font-size:18px}.option-btn{padding:14px 16px}.tp-main{padding:24px 16px 40px}.journey-progress{min-width:220px;max-width:360px}.journey-track{height:12px}.journey-indicator-dot{width:18px;height:18px;border-width:3px}.journey-indicator-label{font-size:12px;padding:3px 8px;top:-28px}.journey-labels{display:none}.complete-stats{flex-direction:column;gap:12px}.complete-stat{padding:20px}}@media (max-width: 480px){.tp-compact-bar{height:44px;padding:0 12px}.compact-bar-btn{width:32px;height:32px}.compact-bar-stats{font-size:13px;gap:6px}.tp-main{padding:16px 12px 32px}.question-card{padding:20px 16px}.question-meta{flex-direction:column;gap:8px}}@media (min-width: 1024px){.tp-compact-bar .mobile-drawer-toggle{display:none!important}}.analytics-container{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);color:#e2e8f0;padding:2rem;font-family:JetBrains Mono,Fira Code,monospace}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #334155;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state h2{color:#ef4444}.error-state button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-weight:600}.analytics-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #334155}.back-btn{background:#1e293b;color:#94a3b8;border:1px solid #334155;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:#334155;color:#e2e8f0}.header-info h1{font-size:1.75rem;margin:0;color:#f1f5f9}.header-info h2{font-size:1.25rem;margin:.25rem 0;color:#94a3b8;font-weight:400}.course-badge{background:#3b82f6;color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#1e293b,#334155);border:1px solid #475569;border-radius:1rem;padding:1.25rem;display:flex;align-items:center;gap:1rem}.summary-card.user-card{border-color:#3b82f6;background:linear-gradient(135deg,#1e3a5f,#1e293b)}.summary-card.weak-card{border-color:#f59e0b;background:linear-gradient(135deg,#451a03,#1e293b)}.card-icon{font-size:2rem}.card-content{display:flex;flex-direction:column}.card-value{font-size:1.75rem;font-weight:700;color:#f1f5f9}.card-label{font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #334155;padding-bottom:.5rem;flex-wrap:wrap}.tab{background:transparent;color:#94a3b8;border:none;padding:.75rem 1.25rem;border-radius:.5rem .5rem 0 0;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.tab:hover{background:#1e293b;color:#e2e8f0}.tab.active{background:#3b82f6;color:#fff}.tab-content{background:#1e293b;border-radius:1rem;padding:1.5rem;border:1px solid #334155}.tab-description{color:#94a3b8;margin-bottom:1.5rem;line-height:1.6}.tab-description strong{color:#3b82f6}.tab-description ul{margin:.5rem 0;padding-left:1.5rem}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:1.5rem}.chart-card{background:#0f172a;border:1px solid #334155;border-radius:.75rem;padding:1.25rem}.chart-card h3{margin:0 0 1rem;font-size:1rem;color:#e2e8f0}.bar-chart{display:flex;flex-direction:column;gap:.75rem}.bar-item{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;gap:.75rem}.bar-label{font-size:.85rem;color:#94a3b8;text-transform:capitalize}.bar-track{height:24px;background:#334155;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.bar-fill.level-easy{background:linear-gradient(90deg,#22c55e,#16a34a)}.bar-fill.level-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.bar-fill.level-hard{background:linear-gradient(90deg,#ef4444,#dc2626)}.bar-fill.level-boss{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.bar-fill.type-conceptual{background:linear-gradient(90deg,#3b82f6,#2563eb)}.bar-fill.type-numerical{background:linear-gradient(90deg,#f59e0b,#d97706)}.bar-fill.type-procedural{background:linear-gradient(90deg,#22c55e,#16a34a)}.bar-fill.type-definitional{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.bar-fill.type-unknown{background:linear-gradient(90deg,#64748b,#475569)}.bar-fill.cognitive-remember{background:#6366f1}.bar-fill.cognitive-understand{background:#3b82f6}.bar-fill.cognitive-apply{background:#22c55e}.bar-fill.cognitive-analyze{background:#f59e0b}.bar-fill.cognitive-evaluate{background:#ef4444}.bar-fill.cognitive-create{background:#ec4899}.bar-fill.cognitive-unknown{background:#64748b}.bar-value{font-size:.9rem;font-weight:600;color:#e2e8f0;text-align:right}.metadata-card{background:#0f172a}.metadata-list{display:flex;flex-direction:column;gap:.75rem}.metadata-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed #334155;font-size:.85rem}.metadata-item span:first-child{color:#94a3b8}.metadata-item span:last-child{color:#e2e8f0;font-family:monospace}.concept-list{display:flex;flex-direction:column;gap:.75rem}.concept-card{background:#0f172a;border:1px solid #334155;border-radius:.75rem;overflow:hidden;transition:all .2s}.concept-card:hover,.concept-card.expanded{border-color:#3b82f6}.concept-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.concept-info{display:flex;align-items:center;gap:.75rem}.concept-num{background:#334155;color:#94a3b8;padding:.25rem .5rem;border-radius:.25rem;font-size:.8rem}.concept-name{font-weight:600;color:#e2e8f0}.concept-id{font-size:.75rem;color:#64748b;font-family:monospace}.concept-stats{display:flex;gap:1rem;align-items:center}.total-q{background:#1e293b;padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;color:#94a3b8}.relevance{padding:.25rem .75rem;border-radius:1rem;font-size:.8rem}.relevance.high{background:#166534;color:#86efac}.relevance.medium{background:#854d0e;color:#fcd34d}.relevance.low{background:#7f1d1d;color:#fca5a5}.concept-details{padding:1rem;border-top:1px solid #334155;background:#1e293b}.flashcard-preview{color:#94a3b8;font-size:.9rem;font-style:italic;margin-bottom:1rem;padding:.75rem;background:#0f172a;border-radius:.5rem}.level-breakdown{display:flex;flex-direction:column;gap:.5rem}.level-row{display:grid;grid-template-columns:80px 100px 1fr;gap:.75rem;align-items:center;font-size:.85rem}.level-badge{padding:.25rem .5rem;border-radius:.25rem;text-transform:uppercase;font-size:.7rem;font-weight:600;text-align:center}.level-badge.level-easy{background:#166534;color:#86efac}.level-badge.level-medium{background:#854d0e;color:#fcd34d}.level-badge.level-hard{background:#7f1d1d;color:#fca5a5}.level-badge.level-boss{background:#5b21b6;color:#c4b5fd}.level-count{color:#94a3b8}.level-hashes{font-family:monospace;font-size:.75rem;color:#64748b;overflow:hidden;text-overflow:ellipsis}.user-perf{margin-top:1rem;padding-top:1rem;border-top:1px dashed #334155}.perf-badge{padding:.5rem 1rem;border-radius:.5rem;font-size:.85rem}.perf-badge.weak{background:#7f1d1d;color:#fca5a5}.perf-badge.strong{background:#166534;color:#86efac}.perf-badge.not-practiced{background:#334155;color:#94a3b8}.level-section{margin-bottom:2rem}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #334155}.level-title{font-size:1.1rem;font-weight:700;padding:.25rem 1rem;border-radius:.25rem}.level-title.level-easy{background:#166534;color:#86efac}.level-title.level-medium{background:#854d0e;color:#fcd34d}.level-title.level-hard{background:#7f1d1d;color:#fca5a5}.level-title.level-boss{background:#5b21b6;color:#c4b5fd}.level-total{color:#94a3b8;font-size:.9rem}.question-preview{display:flex;flex-direction:column;gap:.75rem}.question-item{background:#0f172a;padding:1rem;border-radius:.5rem;border:1px solid #334155}.q-hash{font-family:monospace;font-size:.75rem;color:#64748b;display:block;margin-bottom:.5rem}.q-text{color:#e2e8f0;font-size:.9rem;line-height:1.5}.q-meta{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.type-badge,.cog-badge,.fc-ref{padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;text-transform:uppercase}.type-badge.type-conceptual{background:#1e3a5f;color:#93c5fd}.type-badge.type-numerical{background:#451a03;color:#fcd34d}.type-badge.type-procedural{background:#14532d;color:#86efac}.type-badge.type-definitional{background:#4c1d95;color:#c4b5fd}.type-badge.type-unknown,.cog-badge{background:#334155;color:#94a3b8}.fc-ref{background:#1e293b;color:#64748b;font-family:monospace;font-size:.65rem}.more-questions{text-align:center;color:#64748b;font-size:.85rem;padding:.75rem;background:#0f172a;border-radius:.5rem;border:1px dashed #334155}.weakness-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.ws-card{background:#0f172a;padding:1.25rem;border-radius:.75rem;text-align:center;border:1px solid #334155}.ws-card.weak{border-color:#f59e0b;background:linear-gradient(135deg,#451a03,#0f172a)}.ws-value{display:block;font-size:2rem;font-weight:700;color:#f1f5f9}.ws-label{font-size:.8rem;color:#94a3b8;text-transform:uppercase}.weak-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.weak-item{background:#0f172a;padding:1rem;border-radius:.5rem;border-left:4px solid #ef4444;display:flex;align-items:center;gap:1rem}.weak-rank{background:#7f1d1d;color:#fca5a5;padding:.25rem .5rem;border-radius:.25rem;font-weight:600}.weak-info{flex:1}.weak-id{font-family:monospace;color:#e2e8f0;font-size:.9rem}.weak-stats{display:flex;gap:1rem;margin-top:.25rem}.weak-stats span{font-size:.8rem;color:#94a3b8}.weak-stats .accuracy{color:#fca5a5}.no-weakness{text-align:center;padding:2rem;background:#14532d;color:#86efac;border-radius:.75rem;font-size:1.1rem}.activity-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.activity-item{display:grid;grid-template-columns:30px 1fr auto auto;gap:1rem;align-items:center;padding:.75rem;background:#0f172a;border-radius:.5rem;font-size:.85rem}.activity-item.correct{border-left:3px solid #22c55e}.activity-item.incorrect{border-left:3px solid #ef4444}.act-hash{font-family:monospace;color:#94a3b8}.act-time{color:#64748b}.act-date{color:#475569;font-size:.75rem}.how-it-works{background:#0f172a;padding:1.5rem;border-radius:.75rem;border:1px solid #3b82f6}.how-it-works h4{margin:0 0 1rem;color:#3b82f6}.how-it-works ol{margin:0;padding-left:1.25rem;color:#94a3b8;line-height:1.8}.how-it-works strong{color:#e2e8f0}@media (max-width: 768px){.analytics-container{padding:1rem}.analytics-header{flex-direction:column}.chart-row{grid-template-columns:1fr}.bar-item{grid-template-columns:80px 1fr 40px}.concept-header{flex-direction:column;align-items:flex-start;gap:.75rem}.level-row{grid-template-columns:1fr;gap:.25rem}}.celebration-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px;animation:celebrationFadeIn .3s ease-out}.celebration-overlay.celebration-exiting{animation:celebrationFadeOut .3s ease-out forwards}@keyframes celebrationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes celebrationFadeOut{0%{opacity:1}to{opacity:0}}.confetti-container{position:fixed;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-10px;left:var(--confetti-left);width:8px;height:12px;background:var(--confetti-color);border-radius:2px;opacity:0;animation:confettiFall var(--confetti-duration) var(--confetti-delay) ease-out forwards;transform:rotate(var(--confetti-rotation))}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0) scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(calc(100vh + 20px)) rotate(720deg) scale(.5)}}.celebration-modal{background:#fff;border-radius:20px;max-width:420px;width:100%;box-shadow:0 24px 64px #0003;position:relative;animation:celebrationModalIn .4s cubic-bezier(.21,1.02,.73,1);overflow:hidden}.celebration-exiting .celebration-modal{animation:celebrationModalOut .3s ease-out forwards}@keyframes celebrationModalIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes celebrationModalOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(15px) scale(.97)}}.celebration-close{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s;z-index:2}.celebration-close:hover{background:#f3f4f6;color:#4b5563}.celebration-content{padding:40px 32px 32px;text-align:center}.celebration-check-icon{font-size:56px;color:#2d7a3e;margin-bottom:16px;animation:celebrationBounce .6s .2s ease-out both}@keyframes celebrationBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.celebration-title{font-size:24px;font-weight:700;color:#1f2937;margin:0 0 8px}.celebration-subtitle{font-size:15px;color:#6b7280;margin:0 0 24px}.celebration-unlocked{text-align:left;background:#f8faf9;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px}.celebration-unlock-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151}.celebration-check{width:20px;height:20px;border-radius:50%;background:#dcfce7;color:#2d7a3e;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.celebration-actions{display:flex;flex-direction:column;gap:10px}.celebration-cta-primary{padding:13px 24px;background:linear-gradient(135deg,#2d7a3e,#3a9150);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #2d7a3e40}.celebration-cta-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2d7a3e59}.celebration-cta-secondary{padding:11px 24px;background:transparent;color:#6b7280;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.celebration-cta-secondary:hover{background:#f9fafb;color:#374151;border-color:#d1d5db}@media (max-width: 600px){.celebration-modal{max-width:100%;margin:0 12px;border-radius:16px}.celebration-content{padding:32px 24px 24px}.celebration-title{font-size:20px}.celebration-check-icon{font-size:48px}}.theme-toggle{position:fixed;top:20px;right:20px;z-index:1000;width:44px;height:44px;background-color:var(--bg-secondary);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-card);color:var(--text-primary)}.theme-toggle:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--accent-primary);background-color:var(--accent-primary);color:#fff}.theme-toggle:active{transform:translateY(0)}.theme-toggle svg{width:20px;height:20px}@media (max-width: 768px){.theme-toggle{top:12px;right:12px;width:40px;height:40px}.theme-toggle svg{width:18px;height:18px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background-color:var(--bg-secondary);border-top:2px solid var(--border);box-shadow:var(--shadow-elevated);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-content{max-width:1200px;margin:0 auto;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.cookie-banner-text{flex:1;min-width:300px}.cookie-banner-text p{margin:0;color:var(--text-primary);font-size:15px;line-height:1.5;font-weight:500}.cookie-banner-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cookie-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.cookie-btn-accept{background-color:var(--accent-primary);color:#fff;box-shadow:var(--shadow-card)}.cookie-btn-accept:hover{background-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.cookie-btn-decline{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.cookie-btn-decline:hover{background-color:var(--bg-elevated);border-color:var(--text-muted);color:var(--text-primary)}.cookie-btn-learn-more{background-color:transparent;color:var(--accent-primary);border:1px solid var(--accent-primary);text-decoration:none}.cookie-btn-learn-more:hover{background-color:var(--accent-primary);color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.cookie-banner-content{flex-direction:column;align-items:stretch;gap:1rem;text-align:center}.cookie-banner-text{min-width:auto}.cookie-banner-actions{justify-content:center;gap:.5rem}.cookie-btn{flex:1;min-width:80px;padding:.65rem 1rem;font-size:13px}}@media (max-width: 480px){.cookie-banner-actions{flex-direction:column;gap:.5rem}.cookie-btn{width:100%}}.desktop-hint-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#1a2e1f,#1e3a24);color:#e8f5e9;padding:16px 16px 14px;animation:hintSlideUp .4s ease-out;box-shadow:0 -4px 20px #00000040}@media (max-width: 768px){.desktop-hint-banner{display:block}}@keyframes hintSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.desktop-hint-content{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.desktop-hint-icon{flex-shrink:0;color:#4caf50;margin-top:1px}.desktop-hint-text{font-size:.84rem;line-height:1.5;color:#c8e6ca}.desktop-hint-text strong{color:#fff;display:block;margin-bottom:2px;font-size:.88rem}.desktop-hint-actions{display:flex;gap:10px}.desktop-hint-dismiss{flex:1;padding:10px 16px;background:#2d7a3e;color:#fff;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.desktop-hint-dismiss:active{background:#245c30}.desktop-hint-permanent{padding:10px 16px;background:transparent;color:#81c784;border:1px solid rgba(129,199,132,.3);border-radius:8px;font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s}.desktop-hint-permanent:active{background:#ffffff0d}.desktop-hint-pill{display:none;position:fixed;bottom:16px;right:16px;z-index:9999;background:linear-gradient(135deg,#1a2e1f,#1e3a24);color:#c8e6ca;padding:8px 14px;border-radius:20px;font-size:.75rem;font-weight:600;align-items:center;gap:6px;cursor:pointer;box-shadow:0 2px 12px #00000040;animation:pillFadeIn .3s ease-out}@media (max-width: 768px){.desktop-hint-pill{display:flex}}.desktop-hint-pill svg{color:#4caf50}@keyframes pillFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.main-navigation{background:#f9f7f3;border-bottom:1px solid #e5e1d8;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.nav-container{width:100%;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:18px;transition:color .2s ease}.nav-brand:hover{color:var(--accent-primary)}.brand-icon{width:32px;height:32px;font-size:24px;border-radius:50%}.brand-text{font-weight:700}.desktop-nav,.nav-links{display:flex;align-items:center;gap:4px}.nav-auth{margin-left:auto}.auth-loading{padding:8px 16px;color:var(--text-secondary);font-size:14px}.mobile-auth-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.nav-link{display:flex;align-items:center;gap:6px;padding:10px 16px;border-radius:8px;text-decoration:none;color:#6c757d;font-weight:500;font-size:14px;transition:all .2s ease;position:relative}.nav-link:hover{color:#333;background:#2d7a3e0d}.nav-link.active{color:#2d7a3e;background:transparent}.nav-link svg{width:16px;height:16px}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:20px;padding:8px;cursor:pointer;border-radius:6px;transition:all .2s ease}.mobile-menu-btn:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.mobile-nav{display:none}.mobile-nav.open{display:block;position:fixed;inset:64px 0 0;z-index:99}.mobile-nav-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-nav-content{position:absolute;top:0;right:0;height:100vh;width:280px;background:var(--bg-secondary);border-left:1px solid var(--border);padding:20px;box-shadow:var(--shadow-card);transform:translate(100%);transition:transform .3s ease}.mobile-nav.open .mobile-nav-content{transform:translate(0)}.mobile-nav .nav-link{display:flex;align-items:center;gap:12px;padding:16px;margin-bottom:4px;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:16px;transition:all .2s ease}.mobile-nav .nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.mobile-nav .nav-link.active{color:var(--accent-primary);background:var(--accent-bg)}.mobile-nav .nav-link svg{width:18px;height:18px}@media (max-width: 768px){.nav-container{padding:0 16px}.desktop-nav{display:none}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.brand-text{display:none}}@media (max-width: 480px){.nav-container{padding:0 12px;height:56px}.nav-brand{font-size:16px}.brand-icon{width:32px;height:32px;font-size:20px}.mobile-nav.open{top:56px}.mobile-nav-content{width:100%;border-left:none}}:root{--nav-brand-green: #2d7a3e;--nav-page-bg: #f9f7f3;--nav-text-charcoal: #333333;--nav-text-muted: #6c757d}.nav-link,.mobile-menu-btn,.mobile-nav-content{transition:all .2s ease}.nav-link:focus,.mobile-menu-btn:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.nav-link:focus:not(:focus-visible),.mobile-menu-btn:focus:not(:focus-visible){outline:none}.nav-link:hover svg,.mobile-menu-btn:hover{transform:scale(1.05)}.nav-link.active{position:relative}.nav-link.active:after{content:"";position:absolute;bottom:-11px;left:50%;transform:translate(-50%);width:70%;height:2px;background:#2d7a3e;border-radius:1px}@media (max-width: 768px){.nav-link.active:after{display:none}}.landing-navigation{position:fixed;top:0;left:0;right:0;height:72px;background-color:#faf8f3;z-index:1000;transition:all .2s ease}.landing-navigation.scrolled{background-color:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px #0000000f}.landing-nav-container{max-width:1600px;margin:0 auto;padding:0 120px;height:100%;display:flex;align-items:center;justify-content:space-between}.landing-nav-logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:#1a1a1a;text-decoration:none;transition:color .15s}.landing-nav-logo:hover{color:#2d7a3e}.landing-logo{height:32px;width:auto;transition:transform .2s}.landing-nav-logo:hover .landing-logo{transform:scale(1.03)}.landing-nav-links{display:flex;align-items:center;gap:32px}.landing-nav-link{background:none;border:none;font-size:15px;font-weight:500;color:#4a4a4a;cursor:pointer;text-decoration:none;transition:color .15s;font-family:inherit}.landing-nav-link:hover{color:#2d7a3e}.landing-nav-login{background:none;border:none;color:#4a4a4a;padding:10px 20px;font-weight:600;font-size:15px;cursor:pointer;transition:all .15s;border-radius:8px;font-family:inherit}.landing-nav-login:hover{background:#2d7a3e0f;color:#2d7a3e}.landing-nav-cta{background-color:#2d7a3e;color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;font-size:15px;transition:all .2s;border:none;cursor:pointer;display:inline-block;font-family:inherit}.landing-nav-cta:hover{background-color:#1f5a2d;transform:translateY(-1px);box-shadow:0 4px 12px #2d7a3e40}@media (max-width: 1400px){.landing-nav-container{padding:0 80px}}@media (max-width: 1024px){.landing-nav-container{padding:0 40px}}@media (max-width: 768px){.landing-nav-container{padding:0 24px}.landing-nav-links{gap:16px}.landing-nav-link{font-size:14px}.landing-nav-login{padding:8px 12px;font-size:14px}.landing-nav-cta{padding:10px 16px;font-size:14px}}@media (max-width: 480px){.landing-nav-links{gap:8px}.landing-nav-link{display:none}.landing-nav-login{padding:8px 12px;font-size:13px}.landing-nav-cta{padding:8px 14px;font-size:13px}.landing-logo{height:28px}.landing-nav-logo{font-size:16px}}.login-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease;min-width:200px}.login-button:hover{background:#f8f9fa;border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.login-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.google-icon{flex-shrink:0}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button:disabled:hover{background:#fff;border-color:#e0e0e0;transform:none;box-shadow:none}.user-profile{position:relative}.profile-trigger{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:#fff;border:2px solid #e0e0e0;border-radius:50px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000014}.profile-trigger:hover{background:#fafafa;border-color:var(--primary-green, #2d7a3e);box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.profile-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-green, #2d7a3e);box-shadow:0 0 0 1px #2d7a3e1a}.profile-avatar-fallback{width:36px;height:36px;border-radius:50%;background:#2d7a3e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #2d7a3e1a}.profile-name{font-size:15px;font-weight:600;color:#1a1a1a;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform .2s ease;color:#666}.dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:12px;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:260px;z-index:1000;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.dropdown-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-green, #2d7a3e);box-shadow:0 0 0 1px #2d7a3e1a}.dropdown-avatar-fallback{width:48px;height:48px;border-radius:50%;background:#2d7a3e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #2d7a3e1a;flex-shrink:0}.dropdown-info{flex:1;min-width:0}.dropdown-name{font-size:16px;font-weight:700;color:#1a1a1a;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email{font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-divider{height:1px;background:#e0e0e0;margin:0 16px}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;transition:background-color .2s ease;font-size:14px;color:#333}.dropdown-item:hover{background:#f8f9fa}.logout-button{color:#dc3545;border-radius:0 0 12px 12px;font-weight:600}.logout-button:hover{background:#fff5f5}.logout-button svg{stroke-width:2.5}.dropdown-overlay{position:fixed;inset:0;z-index:999}@media (max-width: 768px){.profile-name{display:none}.profile-dropdown{right:-8px;min-width:200px}}.protected-route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.protected-route-container{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:20px}.protected-route-content{max-width:500px;text-align:center;background:var(--bg-secondary);padding:40px;border-radius:16px;box-shadow:var(--shadow-card);border:1px solid var(--border)}.lock-icon{color:var(--text-secondary);margin-bottom:24px;opacity:.7}.protected-route-content h2{color:var(--text-primary);font-size:28px;font-weight:700;margin-bottom:12px}.protected-route-content>p{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:32px}.login-section{margin-bottom:40px}.benefits-list{text-align:left}.benefits-list h3{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.benefits-list ul{list-style:none;padding:0;margin:0}.benefits-list li{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:8px;padding-left:8px}@media (max-width: 768px){.protected-route-content{padding:32px 24px;margin:0 16px}.protected-route-content h2{font-size:24px}.lock-icon svg{width:48px;height:48px}}@media (max-width: 480px){.protected-route-container{min-height:70vh;padding:16px}.protected-route-content{padding:24px 20px;margin:0}.protected-route-content h2{font-size:22px}.protected-route-content>p{font-size:15px}}
