@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}.landing-hero{background:linear-gradient(135deg,var(--cream-bg) 0%,var(--pure-white) 100%);min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden}.landing-hero:before{content:"";position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at center,rgba(45,122,62,.05) 0%,transparent 70%);pointer-events:none}.hero-container{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,100px);align-items:center;position:relative;z-index:2}.hero-content{max-width:600px}.hero-eyebrow{display:inline-block;font-size:clamp(11px,1vw,13px);font-weight:600;color:var(--primary-green);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:clamp(16px,2vw,24px);padding:8px 16px;background:var(--light-green);border-radius:20px;border:1px solid rgba(45,122,62,.2)}.hero-headline{font-size:clamp(40px,5vw,64px);font-weight:700;color:var(--text-dark);line-height:1.15;margin-bottom:clamp(20px,2.5vw,32px);letter-spacing:-.02em}.hero-subheadline{font-size:clamp(18px,2vw,22px);color:var(--text-gray);margin-bottom:clamp(32px,4vw,48px);line-height:1.6;font-weight:400}.hero-cta{display:inline-flex;align-items:center;background:var(--gradient-green);color:var(--pure-white);padding:clamp(16px,2vw,20px) clamp(28px,4vw,40px);font-size:clamp(16px,1.5vw,20px);font-weight:600;text-decoration:none;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:clamp(24px,3vw,32px);box-shadow:var(--shadow-medium);position:relative;overflow:hidden;border:none;cursor:pointer;font-family:inherit}.hero-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.hero-cta:hover:before{left:100%}.hero-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}.hero-benefits{display:flex;gap:clamp(24px,3vw,40px);margin-top:clamp(24px,3vw,32px);flex-wrap:wrap}.benefit-item{display:flex;align-items:center;gap:8px}.benefit-icon{width:clamp(20px,2vw,24px);height:clamp(20px,2vw,24px);color:var(--primary-green);flex-shrink:0}.benefit-text{font-size:clamp(14px,1.2vw,16px);font-weight:500;color:var(--text-dark)}.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}.product-card{width:100%;max-width:500px;background:var(--pure-white);border-radius:20px;box-shadow:0 20px 60px #2d7a3e26,0 0 40px #2d7a3e1a;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.product-card.floating{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-20px) rotate(-2deg)}}.product-card:hover{transform:translateY(-8px) rotate(0)!important;box-shadow:0 30px 80px #2d7a3e33,0 0 60px #2d7a3e26}.product-card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-light)}.card-dots{display:flex;gap:8px}.card-dots span{width:12px;height:12px;border-radius:50%;transition:all .3s ease}.card-dots span:nth-child(1){background-color:#ff5f57}.card-dots span:nth-child(2){background-color:#ffbd2e}.card-dots span:nth-child(3){background-color:#28ca42}.product-card:hover .card-dots span{transform:scale(1.2)}.card-title{font-size:15px;font-weight:600;color:var(--text-dark)}.product-card-content{padding:clamp(24px,3vw,32px)}.flashcard-demo{text-align:left}.demo-question{font-size:clamp(15px,1.5vw,17px);font-weight:600;color:var(--text-dark);margin-bottom:20px;padding:18px;background:linear-gradient(135deg,var(--light-green) 0%,rgba(45,122,62,.08) 100%);border-radius:12px;border-left:4px solid var(--primary-green);line-height:1.5}.demo-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.demo-tab{padding:6px 12px;font-size:11px;font-weight:500;border-radius:16px;background-color:var(--border-light);color:var(--text-gray);transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.demo-tab.active{background:var(--gradient-green);color:var(--pure-white);transform:translateY(-1px);box-shadow:var(--shadow-subtle)}.demo-answer{font-size:clamp(13px,1.2vw,14px);color:var(--text-dark);line-height:1.7;padding:18px;background-color:var(--pure-white);border-radius:12px;border:1px solid var(--border-light);box-shadow:var(--shadow-subtle)}@media (max-width: 768px){.landing-hero{min-height:auto;padding-top:60px;padding-bottom:40px}.hero-container{grid-template-columns:1fr;gap:40px;padding:0 20px}.hero-content{order:1}.hero-visual{order:0}.product-card{max-width:100%}.demo-tabs{gap:4px}.demo-tab{font-size:10px;padding:5px 10px}}.landing-exam-focus{position:relative;overflow:hidden}.exam-focus-content{text-align:center;max-width:1000px;margin:0 auto}.time-comparison{display:flex;align-items:center;justify-content:center;gap:clamp(30px,5vw,60px);margin-bottom:clamp(30px,4vw,50px);flex-wrap:wrap}.time-block{display:flex;flex-direction:column;align-items:center;gap:12px;padding:clamp(30px,4vw,40px);border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:200px}.time-block.exammate-time{background:linear-gradient(135deg,var(--light-green) 0%,rgba(45,122,62,.1) 100%);border:2px solid var(--primary-green);box-shadow:0 8px 30px #2d7a3e26}.time-block.exammate-time:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 12px 40px #2d7a3e40}.time-block.traditional-time{background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px solid #d0d0d0;opacity:.7}.time-icon{width:clamp(40px,6vw,60px);height:clamp(40px,6vw,60px);stroke-width:2}.time-block.exammate-time .time-icon{color:var(--primary-green)}.time-block.traditional-time .time-icon{color:#999}.time-value{font-size:clamp(48px,8vw,80px);font-weight:800;line-height:1;letter-spacing:-.03em}.time-block.exammate-time .time-value{color:var(--primary-green)}.time-block.traditional-time .time-value{color:#666}.time-value.strikethrough{position:relative}.time-value.strikethrough:after{content:"";position:absolute;left:0;right:0;top:50%;height:4px;background:#ef4444;transform:translateY(-50%) rotate(-5deg)}.time-label{font-size:clamp(14px,1.5vw,18px);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.time-block.exammate-time .time-label{color:var(--primary-green)}.time-block.traditional-time .time-label{color:#666}.equals-sign{font-size:clamp(40px,6vw,60px);font-weight:700;color:var(--primary-green)}.focus-tagline{font-size:clamp(20px,2.5vw,32px);font-weight:600;color:var(--text-dark);line-height:1.4;margin:0}@media (max-width: 768px){.time-comparison{flex-direction:column;gap:20px}.equals-sign{transform:rotate(90deg);margin:-10px 0}.time-block{width:100%;max-width:300px}.focus-tagline{font-size:clamp(18px,5vw,24px);padding:0 20px}}.landing-comparison{position:relative}.comparison-title{text-align:center;font-size:clamp(32px,4.5vw,48px);font-weight:700;color:var(--text-dark);margin-bottom:clamp(40px,5vw,60px);letter-spacing:-.02em}.comparison-table-card{max-width:1000px;margin:0 auto;background:var(--pure-white);border-radius:20px;box-shadow:0 4px 24px #00000014;padding:clamp(32px,4vw,48px);transition:all .3s cubic-bezier(.4,0,.2,1)}.comparison-table-card:hover{box-shadow:0 8px 40px #0000001f;transform:translateY(-4px)}.comparison-table{width:100%}.table-header{display:grid;grid-template-columns:1fr 40px 1fr;gap:clamp(16px,2vw,24px);margin-bottom:clamp(24px,3vw,32px);padding-bottom:20px;border-bottom:2px solid var(--border-light)}.header-col{font-size:clamp(16px,1.8vw,20px);font-weight:600;text-align:center;letter-spacing:-.01em}.header-col.traditional-col{color:#666}.header-col.exammate-col{color:var(--primary-green)}.header-divider{width:2px;background:linear-gradient(to bottom,transparent,var(--border-light),transparent);margin:0 auto}.table-row{display:grid;grid-template-columns:1fr 40px 1fr;gap:clamp(16px,2vw,24px);align-items:center;padding:clamp(16px,2vw,20px) 0;border-bottom:1px solid var(--border-light);transition:all .3s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:linear-gradient(90deg,rgba(0,0,0,.02) 0%,transparent 20%,transparent 80%,rgba(45,122,62,.03) 100%);padding-left:8px;padding-right:8px;margin-left:-8px;margin-right:-8px;border-radius:12px}.row-col{display:flex;align-items:center;gap:12px}.row-col.traditional-col,.row-col.exammate-col{justify-content:flex-start}.row-icon{width:clamp(20px,2.5vw,28px);height:clamp(20px,2.5vw,28px);flex-shrink:0}.row-icon.muted{color:#999;opacity:.6}.row-icon.highlight{color:var(--primary-green)}.row-col .text{font-size:clamp(15px,1.6vw,18px);line-height:1.5}.row-col.traditional-col .text{color:#666;font-weight:400}.row-col.exammate-col .text{color:var(--text-dark);font-weight:500}.row-arrow{text-align:center;font-size:clamp(20px,2.5vw,28px);color:var(--primary-green);font-weight:700;transition:all .3s ease}.table-row:hover .row-arrow{transform:translate(4px)}@media (max-width: 768px){.comparison-table-card{padding:clamp(20px,5vw,32px)}.table-header{grid-template-columns:1fr;gap:12px;text-align:left}.header-divider{display:none}.header-col.traditional-col:before{content:"− ";margin-right:8px;color:#999}.header-col.exammate-col:before{content:"✓ ";margin-right:8px;color:var(--primary-green)}.table-row{grid-template-columns:1fr;gap:16px;padding:20px 0}.row-arrow{display:none}.row-col{gap:10px}.row-col.traditional-col{opacity:.7;padding-bottom:8px}.row-col.exammate-col{padding-top:8px;border-top:1px dashed var(--border-light)}}.landing-how-it-works{background:var(--pure-white);padding:clamp(60px,10vw,100px) clamp(20px,4vw,60px);position:relative}.how-it-works-container{max-width:1200px;margin:0 auto;text-align:center}.how-it-works-headline{font-size:clamp(32px,4.5vw,48px);font-weight:700;color:var(--text-dark);margin-bottom:clamp(50px,6vw,70px);letter-spacing:-.02em}.steps-flow{display:flex;justify-content:center;align-items:stretch;gap:clamp(24px,4vw,40px);margin-bottom:clamp(40px,5vw,60px)}.step-container{display:flex;align-items:center;gap:clamp(24px,4vw,40px)}.step-card{background:linear-gradient(135deg,var(--light-green) 0%,rgba(45,122,62,.05) 100%);border:2px solid var(--primary-green);border-radius:20px;padding:clamp(32px,4vw,48px) clamp(24px,3vw,32px);text-align:center;max-width:280px;width:100%;box-shadow:0 4px 20px #2d7a3e1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.step-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #2d7a3e33;border-color:var(--accent-green)}.step-icon{width:clamp(48px,6vw,64px);height:clamp(48px,6vw,64px);margin-bottom:16px;color:var(--primary-green);stroke-width:2;transition:all .3s ease}.step-card:hover .step-icon{transform:scale(1.1);color:var(--accent-green)}.step-number-badge{position:absolute;top:-15px;right:-15px;width:40px;height:40px;background:var(--gradient-green);color:var(--pure-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;box-shadow:0 4px 12px #2d7a3e4d;border:3px solid var(--pure-white)}.step-title{font-size:clamp(20px,2.2vw,24px);font-weight:700;color:var(--text-dark);margin-bottom:12px;letter-spacing:-.01em}.step-description{font-size:clamp(14px,1.5vw,16px);color:var(--text-gray);line-height:1.6;margin:0}.step-arrow{font-size:clamp(32px,4vw,40px);color:var(--primary-green);font-weight:700;transition:all .3s ease}.step-container:hover .step-arrow{transform:translate(8px);color:var(--accent-green)}.how-it-works-subtitle{font-size:clamp(16px,1.8vw,20px);color:var(--text-gray);font-style:italic;margin-top:clamp(30px,4vw,40px);font-weight:400}@media (max-width: 900px){.steps-flow{flex-direction:column;align-items:center;gap:32px}.step-container{flex-direction:column;width:100%;max-width:350px}.step-card{max-width:100%}.step-arrow{transform:rotate(90deg);margin:-8px 0}.step-container:hover .step-arrow{transform:rotate(90deg) translate(8px)}}.landing-product-showcase{position:relative;background:linear-gradient(135deg,#1a3a2d,#2d7a3e);overflow:hidden}.showcase-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}.showcase-title{text-align:center;font-size:clamp(32px,4.5vw,48px);font-weight:700;color:var(--pure-white);margin-bottom:clamp(50px,6vw,70px);letter-spacing:-.02em;position:relative;z-index:1}.showcase-carousel{position:relative;z-index:1}.carousel-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(24px,3vw,32px);margin-bottom:40px}.feature-card{background:#fffffff2;border-radius:16px;padding:clamp(32px,4vw,40px);text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;box-shadow:0 4px 20px #0000001a}.feature-card:hover,.feature-card.active{transform:translateY(-8px) scale(1.02);border-color:var(--pure-white);box-shadow:0 12px 40px #0003;background:var(--pure-white)}.feature-icon{width:clamp(48px,6vw,64px);height:clamp(48px,6vw,64px);margin-bottom:20px;color:var(--primary-green);stroke-width:2;transition:all .3s ease}.feature-card:hover .feature-icon,.feature-card.active .feature-icon{transform:scale(1.1);color:var(--accent-green)}.feature-title{font-size:clamp(20px,2.2vw,24px);font-weight:700;color:var(--text-dark);margin-bottom:12px;letter-spacing:-.01em}.feature-description{font-size:clamp(14px,1.5vw,16px);color:var(--text-gray);line-height:1.6;margin:0}.carousel-dots{display:flex;justify-content:center;gap:12px;padding:20px 0}.dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;transition:all .3s ease;padding:0}.dot:hover{background:#fff9;transform:scale(1.2)}.dot.active{background:var(--pure-white);width:32px;border-radius:6px}@media (max-width: 768px){.carousel-track{grid-template-columns:1fr;gap:20px}.feature-card{padding:clamp(24px,6vw,32px)}}.landing-value-props{position:relative;overflow:hidden}.landing-value-props:before{content:"";position:absolute;top:-50%;left:-10%;width:120%;height:200%;background:radial-gradient(ellipse at center,rgba(45,122,62,.02) 0%,transparent 50%);pointer-events:none;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.value-props-header{position:relative;z-index:2;text-align:center;width:100%}.value-props-title{font-size:clamp(32px,4.5vw,48px);font-weight:700;color:var(--text-dark);letter-spacing:-.02em;text-align:center}.value-props-subtitle{font-size:clamp(16px,2vw,20px);color:var(--text-gray);max-width:600px;line-height:1.6;text-align:center}.subtitle-container{display:flex;justify-content:center;width:100%}.value-props-grid{position:relative;z-index:2;margin:clamp(50px,6vw,70px) auto}.value-prop-card{text-align:center;padding:clamp(30px,4vw,40px);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--border-light);background:var(--pure-white)}.value-prop-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-green);transform:scaleX(0);transition:transform .4s ease}.value-prop-card:hover:before{transform:scaleX(1)}.value-prop-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-strong)}.value-prop-icon-wrapper{position:relative;display:inline-block;margin-bottom:clamp(24px,3vw,32px)}.value-prop-icon-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:50%;opacity:.1;transition:all .3s ease}.value-prop-card:hover .value-prop-icon-bg{opacity:.2;transform:translate(-50%,-50%) scale(1.1)}.value-prop-icon{font-size:clamp(48px,6vw,64px);position:relative;z-index:2;display:block;transition:transform .3s ease;color:var(--primary-green)}.value-prop-card:hover .value-prop-icon{transform:scale(1.1)}.value-prop-headline{font-size:clamp(20px,2.5vw,24px);font-weight:600;color:var(--text-dark);margin-bottom:clamp(12px,1.5vw,16px);letter-spacing:-.01em}.value-prop-description{font-size:clamp(14px,1.5vw,16px);color:var(--text-gray);line-height:1.6;margin-bottom:0}.value-prop-number{position:absolute;top:20px;right:20px;font-size:12px;font-weight:700;color:var(--text-light);opacity:.5;transition:opacity .3s ease}.value-prop-card:hover .value-prop-number{opacity:.8}.value-props-stats{margin-top:clamp(60px,8vw,80px);position:relative;z-index:2}.stats-grid{background:linear-gradient(135deg,var(--pure-white) 0%,var(--cream-bg) 100%);border-radius:20px;padding:clamp(30px,4vw,50px);box-shadow:var(--shadow-subtle);border:1px solid var(--border-light)}.stat-item{text-align:center}.stat-number{font-size:clamp(32px,4vw,48px);font-weight:800;color:var(--primary-green);line-height:1;margin-bottom:clamp(8px,1vw,12px);letter-spacing:-.02em}.stat-label{font-size:clamp(14px,1.5vw,16px);color:var(--text-gray);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.landing-value-props:after{content:"";position:absolute;top:20%;left:5%;width:60px;height:60px;background:radial-gradient(circle,rgba(76,175,80,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:float 4s ease-in-out infinite}@media (max-width: 768px){.value-props-grid{margin:40px auto}.value-prop-card{padding:30px 20px}.value-prop-icon-bg{width:60px;height:60px}.value-prop-number{top:15px;right:15px}.stats-grid{padding:30px 20px}.value-props-stats{margin-top:50px}}.value-props-header,.value-props-grid,.value-props-stats{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.value-props-grid{animation-delay:.2s}.value-props-stats{animation-delay:.4s}.value-prop-card:nth-child(1){animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s}.value-prop-card:nth-child(2){animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.4s}.value-prop-card:nth-child(3){animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.5s}.landing-social-proof{background-color:var(--cream-bg);padding:80px 24px}.social-proof-container{max-width:800px;margin:0 auto;text-align:center}.testimonial-card{background-color:var(--white);padding:40px;border-radius:12px;box-shadow:0 10px 30px #0000001a}.testimonial-profile{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.testimonial-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:16px;border:3px solid var(--primary-green)}.testimonial-rating{margin-bottom:0}.star{color:gold;font-size:24px;margin:0 2px}.testimonial-quote{font-size:18px;font-style:italic;color:var(--text-dark);margin-bottom:24px;line-height:1.6;text-align:left;max-width:700px;margin-left:auto;margin-right:auto}.testimonial-attribution{font-size:16px;color:var(--text-gray);font-style:normal}@media (max-width: 768px){.landing-social-proof{padding:60px 16px}.testimonial-card{padding:32px 24px}.testimonial-avatar{width:60px;height:60px}.testimonial-quote{font-size:16px}.star{font-size:20px}}.landing-faq{position:relative}.faq-header{text-align:center;margin-bottom:clamp(40px,5vw,60px)}.faq-title{font-size:clamp(32px,4.5vw,48px);font-weight:700;color:var(--text-dark);margin-bottom:16px;letter-spacing:-.02em}.faq-subtitle{font-size:clamp(16px,1.8vw,20px);color:var(--text-gray);margin:0}.faq-list{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:var(--pure-white);border-radius:12px;border:2px solid var(--border-light);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-item:hover{border-color:var(--primary-green);box-shadow:0 4px 20px #2d7a3e1a}.faq-item.open{border-color:var(--primary-green);box-shadow:0 4px 20px #2d7a3e26}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(20px,3vw,28px);background:transparent;border:none;cursor:pointer;text-align:left;transition:all .3s ease}.faq-question:hover{background:#2d7a3e05}.faq-item.open .faq-question{background:#2d7a3e08}.question-text{font-size:clamp(16px,1.8vw,20px);font-weight:600;color:var(--text-dark);line-height:1.4;flex:1}.faq-icon{width:24px;height:24px;color:var(--primary-green);flex-shrink:0;transition:all .3s ease}.faq-item.open .faq-icon{transform:rotate(180deg)}.faq-answer-wrapper{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.faq-item.open .faq-answer-wrapper{max-height:500px}.faq-answer{padding:0 clamp(20px,3vw,28px) clamp(20px,3vw,28px);border-top:1px solid var(--border-light)}.faq-answer p{font-size:clamp(15px,1.6vw,17px);color:var(--text-gray);line-height:1.7;margin:clamp(16px,2vw,20px) 0 0;text-align:left}@media (max-width: 768px){.faq-list{gap:12px}.faq-question{padding:18px;gap:16px}.question-text{font-size:clamp(15px,4vw,18px)}.faq-icon{width:20px;height:20px}.faq-answer{padding:0 18px 18px}.faq-answer p{font-size:clamp(14px,3.5vw,16px)}}.landing-cta{position:relative;overflow:hidden}.landing-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top left,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}.cta-content{position:relative;z-index:2;text-align:center;width:100%}.cta-badge{display:inline-block}.cta-badge span{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff26;color:var(--pure-white);font-size:clamp(12px,1.2vw,14px);font-weight:600;border-radius:20px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-transform:uppercase;letter-spacing:.5px}.cta-headline{font-size:clamp(36px,5vw,56px);font-weight:800;color:var(--pure-white);line-height:1.1;letter-spacing:-.02em}.cta-headline .highlight{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.cta-headline .highlight:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:3px;background:#ffffff4d;border-radius:2px}.cta-subheadline{font-size:clamp(16px,2vw,20px);color:#ffffffe6;max-width:600px;margin:20px auto 60px;line-height:1.6;font-weight:400;text-align:center;width:100%}.cta-button-wrapper{position:relative}.cta-button{display:inline-flex;align-items:center;gap:12px;background:var(--pure-white);color:var(--primary-green);padding:clamp(18px,2.5vw,24px) clamp(32px,4vw,48px);font-size:clamp(18px,2vw,22px);font-weight:700;text-decoration:none;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0003,0 0 0 1px #ffffff1a;position:relative;overflow:hidden;border:none;cursor:pointer;font-family:inherit}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(45,122,62,.1),transparent);transition:left .6s}.cta-button:hover:before{left:100%}.cta-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 48px #0000004d,0 0 0 1px #fff3}.button-text{position:relative;z-index:2}.button-arrow{font-size:1.2em;transition:transform .3s ease}.cta-button:hover .button-arrow{transform:translate(4px)}.cta-guarantee{font-size:clamp(12px,1.2vw,14px);color:#fffc;margin-top:16px;font-weight:500}.cta-content{max-width:800px;margin:0 auto}.cta-decoration{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none}.cta-decoration-1{top:10%;left:10%;width:120px;height:120px;animation:float 8s ease-in-out infinite}.cta-decoration-2{top:60%;right:15%;width:80px;height:80px;animation:float 6s ease-in-out infinite reverse}.cta-decoration-3{bottom:20%;left:20%;width:60px;height:60px;animation:float 10s ease-in-out infinite}@media (max-width: 768px){.cta-decoration{display:none}.cta-button{padding:16px 32px;font-size:18px}}.cta-badge,.cta-headline,.cta-subheadline,.cta-button-wrapper{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.cta-headline{animation-delay:.1s}.cta-subheadline{animation-delay:.2s}.cta-button-wrapper{animation-delay:.3s}.landing-footer{background:linear-gradient(135deg,#1a4d2e,#2d7a3e);color:var(--pure-white);padding:clamp(40px,6vw,60px) clamp(20px,4vw,40px);text-align:center;position:relative;overflow:hidden}.footer-container{max-width:1200px;margin:0 auto;position:relative;z-index:2}.footer-brand h3{font-size:clamp(20px,3vw,28px);font-weight:800;margin-bottom:12px;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;gap:10px}.footer-logo{height:36px;width:auto}.footer-brand p{font-size:clamp(14px,1.5vw,18px);opacity:.9;margin-bottom:clamp(20px,3vw,32px);line-height:1.5;max-width:400px;margin-left:auto;margin-right:auto}.footer-links{display:flex;justify-content:center;gap:clamp(24px,4vw,40px);flex-wrap:wrap}.footer-link{color:var(--pure-white);text-decoration:none;font-size:clamp(14px,1.4vw,16px);font-weight:500;opacity:.9;transition:all .3s cubic-bezier(.4,0,.2,1);padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-link:hover{opacity:1;transform:translateY(-2px);background:#ffffff1a;box-shadow:0 4px 20px #0000001a}.landing-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top left,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none}@media (max-width: 768px){.landing-footer{padding:40px 20px}.footer-links{flex-direction:column;align-items:center;gap:16px}.footer-link{padding:10px 20px;width:fit-content}}.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-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}.auth-modal-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 32px;text-align:center}.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;margin-bottom:24px}.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-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:#666;font-size:14px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.auth-divider span{padding:0 16px}.auth-form-group{margin-bottom:20px}.auth-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.auth-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:10px;transition:all .2s ease;background:#fff;color:#333}.auth-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.auth-input:disabled{background:#f5f5f5;cursor:not-allowed}.auth-input::placeholder{color:#999}.auth-error{background:#fff5f5;border:1px solid #ffcccc;color:#d32f2f;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px;display:flex;align-items:center;gap:8px}.auth-submit-button{width:100%;padding:14px 24px;background:#4285f4;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.auth-submit-button:hover:not(:disabled){background:#3367d6;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-toggle{text-align:center;margin-top:24px;font-size:14px;color:#666}.auth-toggle-link{background:none;border:none;color:#4285f4;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.auth-toggle-link:hover{color:#3367d6;text-decoration:underline}.auth-back-button{background:none;border:none;color:#666;font-size:14px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:16px;display:flex;align-items:center;gap:4px;transition:color .2s ease}.auth-back-button:hover{color:#333}.auth-email-display{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.auth-email-label{color:#666;margin-right:8px}.auth-email-value{color:#333;font-weight:600}.auth-forgot-password{text-align:center;margin-top:16px}.auth-forgot-link{background:none;border:none;color:#4285f4;font-size:14px;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease}.auth-forgot-link:hover{color:#3367d6;text-decoration:underline}@media (max-width: 768px){.auth-modal{max-width:100%;border-radius:16px 16px 0 0;margin-top:auto;max-height:95vh}.auth-modal-content{padding:40px 24px}.auth-modal-title{font-size:24px;margin-bottom:24px}.auth-google-button,.auth-input,.auth-submit-button{font-size:15px}}@media (max-width: 480px){.auth-modal-content{padding:32px 20px}.auth-modal-title{font-size:22px}}:root{--primary-green: #2D7A3E;--accent-green: #4CAF50;--light-green: #E8F5E8;--cream-bg: #FEFCF8;--pure-white: #FFFFFF;--text-dark: #1A1A1A;--text-gray: #666666;--text-light: #8B8B8B;--border-light: #E5E5E5;--shadow-subtle: 0 2px 20px rgba(0, 0, 0, .08);--shadow-medium: 0 8px 40px rgba(0, 0, 0, .12);--shadow-strong: 0 20px 60px rgba(0, 0, 0, .15);--gradient-green: linear-gradient(135deg, var(--primary-green) 0%, var(--accent-green) 100%);--gradient-subtle: linear-gradient(180deg, var(--pure-white) 0%, var(--cream-bg) 100%)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--cream-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.landing-page-view{width:100%;overflow-x:hidden}.landing-page-view h1{font-size:clamp(40px,5vw,64px);font-weight:800;line-height:1.1;margin:0;letter-spacing:-.02em}.landing-page-view h2{font-size:clamp(28px,4vw,42px);font-weight:700;line-height:1.2;margin:0;letter-spacing:-.01em}.landing-page-view h3{font-size:clamp(20px,2.5vw,24px);font-weight:600;line-height:1.3;margin:0}.landing-page-view p{font-size:clamp(16px,1.5vw,20px);font-weight:400;line-height:1.6;margin:0;text-align:center}.landing-page-view .small-text{font-size:clamp(14px,1.2vw,16px);color:var(--text-gray)}.landing-section{width:100%;position:relative}.landing-section-inner{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}.section-padding-sm{padding:clamp(40px,6vw,60px) 0}.section-padding-md{padding:clamp(60px,8vw,80px) 0}.section-padding-lg{padding:clamp(80px,10vw,120px) 0}.bg-cream{background-color:var(--cream-bg)}.bg-white{background-color:var(--pure-white)}.bg-gradient{background:var(--gradient-subtle)}.bg-green{background:var(--gradient-green);color:var(--pure-white)}.glass-effect{background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}.elevated-card{background:var(--pure-white);border-radius:16px;box-shadow:var(--shadow-medium);transition:all .3s cubic-bezier(.4,0,.2,1)}.elevated-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-strong)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,60px)}@media (max-width: 768px){.landing-section-inner{padding:0 20px}.grid-2,.grid-3{grid-template-columns:1fr;gap:30px}.section-padding-sm{padding:40px 0}.section-padding-md{padding:50px 0}.section-padding-lg{padding:60px 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards}.text-center{text-align:center}.text-left{text-align:left}.mb-sm{margin-bottom:clamp(16px,2vw,24px)}.mb-md{margin-bottom:clamp(24px,3vw,40px)}.mb-lg{margin-bottom:clamp(40px,5vw,60px)}.center-container{display:flex;justify-content:center;width:100%}.landing-bg-elements{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:hidden}.bg-element{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(45,122,62,.03) 0%,transparent 70%)}.bg-element-1{top:20%;left:-10%;width:400px;height:400px;animation:floatSlow 20s ease-in-out infinite}.bg-element-2{top:60%;right:-15%;width:300px;height:300px;animation:floatSlow 25s ease-in-out infinite reverse}.bg-element-3{bottom:10%;left:20%;width:200px;height:200px;animation:floatSlow 30s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(-40px) translate(-10px)}75%{transform:translateY(-20px) translate(5px)}}.animate-in{animation:enhancedFadeInUp 1s cubic-bezier(.4,0,.2,1) forwards}@keyframes enhancedFadeInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: no-preference){.landing-page-view{scroll-behavior:smooth}.bg-element{will-change:transform}}.landing-section{contain:layout style}.elevated-card,.landing-flashcard,.mockup-placeholder{will-change:transform}.cta-button:focus,.hero-cta:focus,.answer-type-btn:focus{outline:3px solid rgba(45,122,62,.5);outline-offset:2px}@media print{.landing-bg-elements,.cta-decoration,.hero-visual:before,.landing-demo:after{display:none}.landing-page-view{background:#fff}.bg-green{background:#2d7a3e!important;color:#fff!important}}.enroll-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid #3b82f6;background:#fff;color:#3b82f6;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.enroll-btn:hover:not(:disabled){background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.enroll-btn:disabled{opacity:.6;cursor:not-allowed}.enroll-btn.enrolled{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;color:#fff}.enroll-btn.enrolled:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d}.enroll-btn.compact{padding:6px 12px;font-size:13px}.enroll-btn.large{padding:12px 24px;font-size:16px}.enroll-btn .spinner{animation:spin 1s linear infinite}.enroll-btn.loading{background:#f3f4f6;border-color:#e5e7eb;color:#9ca3af}.exam-countdown{position:fixed;right:20px;bottom:24px;z-index:2000;display:inline-flex;align-items:center}.exam-countdown.docked{position:static;right:auto;bottom:auto;margin-bottom:10px}.exam-countdown .orb{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff;font-weight:700;box-shadow:0 10px 24px #0000002e;cursor:pointer}.exam-countdown.future .orb{background:linear-gradient(135deg,#3b82f6,#2563eb)}.exam-countdown.soon .orb{background:linear-gradient(135deg,#f59e0b,#d97706)}.exam-countdown.urgent .orb{background:linear-gradient(135deg,#ef4444,#b91c1c)}.exam-countdown .orb .mini{font-size:14px}.exam-countdown .panel{width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 16px 40px #0000002e;padding:14px;margin-right:12px;opacity:0;transform:translateY(6px);pointer-events:none;transition:all .18s ease}.exam-countdown .mini-label{margin-right:10px;background:#111827d9;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 20px #0003}.mini-label .course{font-weight:800;opacity:.95}.mini-label .dot{opacity:.6}.mini-label .exam{opacity:.95;font-weight:600}.exam-countdown.open .panel{opacity:1;transform:translateY(0);pointer-events:auto}.panel-header{display:flex;justify-content:space-between;align-items:center}.badge{background:#e0e7ff;color:#3730a3;font-weight:700;border-radius:999px;padding:4px 10px;font-size:12px}.time-left{font-weight:800;color:#111827;letter-spacing:.5px}.panel-title{margin:8px 0;font-size:16px;font-weight:700;color:#111827}.panel-row{display:flex;align-items:center;gap:8px;color:#374151;font-size:14px}.panel-lectures{margin-top:8px}.panel-lectures .label{color:#6b7280;font-size:12px;margin-right:6px}.lectures{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.panel-action{margin-top:10px;width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;background:#f9fafb;color:#374151;font-weight:600;cursor:pointer}.panel-action:hover{background:#f3f4f6}.countdown-dock{position:fixed;right:20px;bottom:24px;z-index:1999;display:flex;flex-direction:column;align-items:flex-end;gap:10px}: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}.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-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}.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-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}}@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:2rem}.page-header{max-width:1200px;margin:0 auto 2rem;padding:0 1rem}.page-header-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.page-title{font-size:2rem;font-weight:700;color:var(--text-charcoal);margin:0;letter-spacing:-.02em}.btn-create-course{padding:.875rem 1.5rem;background:var(--brand-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #2d7a3e33}.btn-create-course:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 4px 8px #2d7a3e4d}.btn-create-course:active{transform:translateY(0)}.courses-container{max-width:1200px;margin:0 auto}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:2rem}.course-card{background:var(--card-bg);border-radius:16px;padding:0;box-shadow:var(--shadow-subtle);cursor:pointer;transition:all .3s 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}.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--brand-green-light);z-index:10}.course-code-tab{position:absolute;top:0;right:0;background:var(--brand-green);color:#fff;padding:.5rem 1.25rem;border-bottom-left-radius:12px;font-weight:700;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:-2px 2px 8px #2d7a3e33;z-index:2}.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}.btn-view-course:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 4px 8px #2d7a3e4d}.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-content{flex-direction:column;align-items:stretch;gap:1rem}.page-title{font-size:1.75rem;text-align:center}.btn-create-course{width:100%;text-align:center;padding:1rem 1.5rem}.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){.courses-grid{grid-template-columns:repeat(2,1fr)}}.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}}.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-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}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.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}}: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);--warning-bg: #fef3c7;--warning-border: #fbbf24;--warning-text: #78350f}.course-detail-view{background:var(--page-bg);min-height:100vh;padding:2rem;max-width:1400px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.875rem}.breadcrumb-link{background:none;border:none;color:var(--brand-green);font-weight:500;cursor:pointer;transition:color .2s ease;padding:0}.breadcrumb-link:hover{color:var(--brand-green-dark);text-decoration:underline}.breadcrumb-separator{color:var(--text-lightgray);font-size:.75rem}.breadcrumb-current{color:var(--text-gray);font-weight:500}.course-header{background:var(--card-bg);border-radius:16px;padding:2rem;margin-bottom:3rem;box-shadow:var(--shadow-subtle);border:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.course-title-block{flex:1}.title-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.course-title{font-size:2rem;font-weight:700;color:var(--text-charcoal);margin:0;letter-spacing:-.02em}.course-code-tab{background:var(--brand-green);color:#fff;padding:.5rem 1.25rem;border-radius:8px;font-weight:700;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 4px #2d7a3e4d}.course-subtitle{font-size:1rem;line-height:1.6;color:var(--text-gray);margin:0}.course-creator-byline{font-size:.875rem;color:var(--text-light);margin-top:.5rem;font-weight:500}.header-actions{flex-shrink:0}.course-content-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}.lectures-main{min-width:0}.course-repository-container{margin-bottom:1.5rem}.btn-course-repository{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#4285f4,#1a73e8);border-radius:12px;text-decoration:none;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #4285f440;border:1px solid rgba(255,255,255,.1)}.btn-course-repository:hover{transform:translateY(-3px);box-shadow:0 8px 20px #4285f459;background:linear-gradient(135deg,#5a9bf6,#4285f4)}.btn-course-repository:active{transform:translateY(-1px)}.btn-course-repository .repository-icon{font-size:1.75rem;flex-shrink:0;opacity:.95}.repository-content{display:flex;flex-direction:column;gap:.25rem}.repository-label{font-size:1rem;font-weight:700;letter-spacing:.01em}.repository-description{font-size:.8125rem;opacity:.85;font-weight:400}.repository-existing{display:flex;flex-direction:column;gap:.75rem}.repository-footer{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem}.repository-attribution{font-size:.8125rem;color:var(--text-gray)}.repository-attribution strong{color:var(--text-charcoal);font-weight:600}.btn-edit-repository{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--border-light);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-gray);cursor:pointer;transition:all .2s ease}.btn-edit-repository:hover{background:var(--page-bg);border-color:var(--brand-green);color:var(--brand-green)}.repository-empty{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--card-bg);border:2px dashed var(--border-light);border-radius:12px;transition:all .2s ease}.repository-empty:hover{border-color:var(--brand-green-light);background:#2d7a3e05}.repository-empty-content{display:flex;align-items:center;gap:1rem}.repository-empty-icon{font-size:1.5rem;color:var(--brand-green);opacity:.7}.repository-empty-text{display:flex;flex-direction:column;gap:.25rem}.repository-empty-title{font-size:1rem;font-weight:600;color:var(--text-charcoal)}.repository-empty-description{font-size:.8125rem;color:var(--text-gray);line-height:1.4}.btn-start-repository{padding:.625rem 1.25rem;background:var(--brand-green);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-start-repository:hover{background:var(--brand-green-dark);transform:translateY(-1px)}.repository-login-hint{font-size:.8125rem;color:var(--text-lightgray);font-style:italic}.repository-form{background:var(--card-bg);border:2px solid var(--brand-green);border-radius:12px;overflow:hidden}.repository-form-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#4285f4,#1a73e8);color:#fff}.repository-form-header .repository-icon{font-size:1.25rem}.repository-form-title{font-size:1rem;font-weight:600}.repository-form-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.repository-input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-light);border-radius:8px;font-size:.9375rem;color:var(--text-charcoal);transition:all .2s ease}.repository-input:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px #2d7a3e1a}.repository-input::placeholder{color:var(--text-lightgray)}.repository-error{font-size:.8125rem;color:#dc2626}.repository-form-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-repository-cancel{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:transparent;border:1px solid var(--border-light);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-gray);cursor:pointer;transition:all .2s ease}.btn-repository-cancel:hover:not(:disabled){background:var(--page-bg);border-color:var(--text-gray)}.btn-repository-save{display:flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;background:var(--brand-green);border:none;border-radius:8px;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.btn-repository-save:hover:not(:disabled){background:var(--brand-green-dark)}.btn-repository-save:disabled,.btn-repository-cancel:disabled{opacity:.6;cursor:not-allowed}.lectures-main .section-title{color:var(--text-charcoal)!important}.section-title{font-size:.875rem;font-weight:700;color:var(--text-charcoal);text-transform:uppercase;letter-spacing:.075em;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;opacity:.9}.section-title svg{color:var(--brand-green)}.lectures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.lecture-card{background:var(--card-bg);border-radius:16px;padding:0;box-shadow:var(--shadow-subtle);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border:1px solid var(--border-light);display:flex;flex-direction:column;min-height:200px;z-index:1}.lecture-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--brand-green-light);z-index:10}.lecture-number-tab{position:absolute;top:0;right:0;background:var(--brand-green);color:#000;padding:.375rem .875rem;border-bottom-left-radius:10px;border-top-right-radius:16px;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:-2px 2px 6px #2d7a3e26;z-index:2;display:flex;align-items:center;gap:.5rem}.version-badge{display:inline-flex;align-items:center;gap:.25rem;background:#6366f1e6;color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:600;letter-spacing:.02em}.version-badge .version-icon{font-size:.5rem}.latest-badge{display:inline-flex;align-items:center;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.125rem .5rem;border-radius:9999px;font-size:.625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 2px 4px #10b9814d}.lecture-content{padding:1.25rem 1.5rem .75rem;flex:1}.lecture-title{font-size:1rem;font-weight:700;color:var(--text-charcoal);margin:0 0 .25rem;line-height:1.3;letter-spacing:-.01em;padding-right:4rem}.lecture-creator{font-size:.75rem;color:var(--text-muted, #888);margin:0 0 .625rem;font-weight:400}.topics-preview{position:relative}.topics-list{display:flex;flex-direction:column;gap:.375rem}.topic-bullet{font-size:.8125rem;line-height:1.6;color:var(--text-gray);display:block}.more-indicator{color:var(--brand-green);font-weight:600;font-style:italic;cursor:help}.topics-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:250px;overflow-y:auto}.topics-tooltip:before{content:"";position:absolute;top:-6px;left:1rem;width:12px;height:12px;background:var(--text-charcoal);transform:rotate(45deg)}.tooltip-header{font-weight:700;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-topics{display:flex;flex-direction:column;gap:.5rem}.tooltip-topic{line-height:1.4}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lecture-footer{padding:.875rem 1.5rem 1.25rem;border-top:1px solid var(--border-light);background:linear-gradient(to bottom,transparent,rgba(45,122,62,.02))}.btn-start-studying{width:100%;padding:.625rem 1rem;background:var(--brand-green);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #2d7a3e33}.btn-start-studying:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 4px 8px #2d7a3e4d}.btn-start-studying:active{transform:translateY(0)}.no-lectures{background:var(--card-bg);border-radius:12px;padding:3rem;text-align:center;color:var(--text-gray);border:1px solid var(--border-light)}.lecture-card.upload-card{border:2px dashed var(--brand-green-light);background:linear-gradient(135deg,#2d7a3e05,#2d7a3e0f);cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center}.lecture-card.upload-card:hover{border-color:var(--brand-green);background:linear-gradient(135deg,#2d7a3e0d,#2d7a3e1a);transform:translateY(-4px)}.upload-card-content{text-align:center;padding:2rem}.upload-card-icon{font-size:3rem;color:var(--brand-green);opacity:.7;margin-bottom:1rem;transition:all .2s ease}.lecture-card.upload-card:hover .upload-card-icon{opacity:1;transform:scale(1.1)}.upload-card-title{font-size:1rem;font-weight:700;color:var(--brand-green-dark);margin:0 0 .5rem}.upload-card-description{font-size:.875rem;color:var(--text-gray);margin:0}.lecture-status-badge{position:absolute;top:12px;left:12px;padding:.375rem .75rem;border-radius:20px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.375rem;z-index:2}.lecture-status-badge.not-processed{background:#f3f4f6;color:#6b7280}.lecture-status-badge.processing{background:#fef3c7;color:#92400e}.lecture-status-badge.incomplete{background:#fee2e2;color:#991b1b}.lecture-status-badge .spinning{animation:spin 1s linear infinite}.lecture-card.not-processed{opacity:.85;border-style:dashed}.lecture-card.not-processed:hover{opacity:1}.lecture-card.not-processed .lecture-number-tab,.lecture-card.processing .lecture-number-tab,.lecture-card.incomplete .lecture-number-tab,.lecture-card.not-processed .lecture-number-tab.muted,.lecture-card.processing .lecture-number-tab.muted,.lecture-card.incomplete .lecture-number-tab.muted{background:#9ca3af}.lecture-not-processed-msg,.lecture-processing-msg{font-size:.8125rem;color:var(--text-gray);margin-top:.75rem;line-height:1.5}.lecture-card.processing{border-color:#fbbf24;background:linear-gradient(to bottom,#fffbeb,var(--card-bg))}.lecture-card.incomplete{border-color:#fca5a5;background:linear-gradient(to bottom,#fef2f2,var(--card-bg))}.btn-run-pipeline,.btn-view-progress,.btn-retry-pipeline,.btn-study-available{padding:.625rem 1rem;border-radius:10px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-run-pipeline{width:100%;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-light) 100%);color:#fff;border:none;box-shadow:0 2px 4px #2d7a3e33}.btn-run-pipeline:hover{transform:translateY(-1px);box-shadow:0 4px 8px #2d7a3e4d}.btn-view-progress{width:100%;background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.btn-view-progress:hover{background:#fde68a}.lecture-footer-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.lecture-footer-actions>button:first-child,.lecture-footer-actions>.btn-run-pipeline,.lecture-footer-actions>.btn-view-progress,.lecture-footer-actions>.btn-start-studying{flex:1;min-width:0}.btn-study-available{flex:1;background:var(--brand-green);color:#fff;border:none}.btn-study-available:hover{background:var(--brand-green-dark)}.btn-retry-pipeline{padding:.625rem 1rem;background:#fff;color:#dc2626;border:1px solid #fca5a5}.btn-retry-pipeline:hover{background:#fef2f2;border-color:#dc2626}.btn-delete-lecture{padding:.625rem;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-lecture:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;transform:translateY(-1px)}.btn-delete-lecture:disabled{opacity:.6;cursor:not-allowed}.btn-delete-lecture .spinning{animation:spin 1s linear infinite}.course-sidebar{position:sticky;top:2rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-subtle);border:1px solid var(--border-light);transition:all .2s ease}.sidebar-card:hover{box-shadow:0 4px 12px #2d7a3e1a}.card-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-lightgray);margin-bottom:.75rem}.instructor-info{display:flex;align-items:center;gap:.75rem}.instructor-icon{color:var(--brand-green);font-size:1.5rem}.instructor-name{font-size:1rem;font-weight:600;color:var(--text-charcoal)}.deadline-card .meta-item{margin:0}.timetable-link{cursor:pointer;text-align:left;width:100%;display:flex;align-items:center;gap:1rem}.timetable-icon{color:var(--brand-green);font-size:1.75rem;flex-shrink:0}.timetable-content h4{font-size:1rem;font-weight:600;color:var(--text-charcoal);margin:0 0 .25rem}.timetable-content p{font-size:.875rem;color:var(--text-gray);margin:0}.weak-concepts-card{background:linear-gradient(135deg,var(--warning-bg) 0%,#fde68a 100%);border-color:var(--warning-border)}.card-header-with-icon{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.card-header-with-icon .warning-icon{color:#f59e0b;font-size:1.5rem}.card-header-with-icon .card-label{margin:0}.weak-concepts-summary{font-size:.9375rem;line-height:1.6;color:var(--warning-text);margin:0 0 1rem}.weak-concepts-summary strong{font-weight:700;color:#92400e}.btn-view-weak-concepts{width:100%;padding:.75rem 1.25rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #f59e0b4d}.btn-view-weak-concepts:hover{transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b66}.btn-view-weak-concepts:active{transform:translateY(0)}.invite-banner{background:linear-gradient(135deg,#2d7a3e,#3d9a4e);border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;box-shadow:0 4px 12px #2d7a3e33;animation:inviteBannerSlideIn .4s ease}@keyframes inviteBannerSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.invite-banner-content{display:flex;align-items:center;gap:1.25rem;flex:1}.invite-icon{font-size:2rem;color:#fff;opacity:.9;flex-shrink:0}.invite-text{color:#fff}.invite-title{font-size:1.125rem;font-weight:700;margin:0 0 .25rem;color:#fff}.invite-description{font-size:.875rem;margin:0;opacity:.9}.invite-actions{display:flex;gap:.75rem;flex-shrink:0}.btn-dismiss-invite,.btn-accept-invite{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-dismiss-invite{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-dismiss-invite:hover{background:#ffffff4d}.btn-accept-invite{background:#fff;color:var(--brand-green);box-shadow:0 2px 8px #00000026}.btn-accept-invite:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.invite-card{background:linear-gradient(to bottom right,#fff,#f0fdf4);border:1px solid var(--brand-green-light)}.invite-card .card-label{display:flex;align-items:center;gap:.5rem;color:var(--brand-green-dark)}.invite-card-icon{font-size:1rem}.invite-card-description{font-size:.875rem;color:var(--text-gray);margin:.75rem 0 1rem;line-height:1.5}.btn-copy-invite{width:100%;padding:.875rem 1.25rem;background:var(--brand-green);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-copy-invite:hover{background:var(--brand-green-dark);transform:translateY(-1px);box-shadow:0 2px 8px #2d7a3e4d}.btn-copy-invite:active{transform:translateY(0)}.invite-url-preview{font-size:.75rem;color:var(--text-lightgray);margin-top:.75rem;word-break:break-all;padding:.5rem;background:#2d7a3e0d;border-radius:4px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:var(--page-bg)}.error-container h2{color:var(--text-charcoal);margin:0}.error-container button{padding:.875rem 1.5rem;background:var(--brand-green);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.error-container button:hover{background:var(--brand-green-dark)}.active-processing-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fbbf24;animation:processingCardPulse 2s ease-in-out infinite}@keyframes processingCardPulse{0%,to{box-shadow:0 2px 8px #fbbf2433}50%{box-shadow:0 4px 16px #fbbf2466}}.active-processing-card .card-label{display:flex;align-items:center;gap:.5rem;color:#92400e;font-weight:700}.active-processing-card .processing-icon{font-size:1rem;color:#d97706}.processing-jobs-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.processing-job-item{background:#fff;border-radius:8px;padding:.875rem;cursor:pointer;transition:all .2s ease;border:1px solid rgba(251,191,36,.3)}.processing-job-item:hover{transform:translate(4px);box-shadow:0 2px 8px #fbbf244d;border-color:#fbbf24}.job-info{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.job-title{font-size:.875rem;font-weight:600;color:var(--text-charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-step{font-size:.75rem;color:#92400e;display:flex;align-items:center;gap:.375rem}.job-step .spinning{font-size:.625rem}.job-progress{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:6px;background:#fbbf244d;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:3px;transition:width .3s ease}.progress-text{font-size:.6875rem;font-weight:700;color:#92400e;min-width:24px}.processing-hint{font-size:.75rem;color:#78350f;margin:0;text-align:center;font-style:italic}.lecture-status-badge.clickable{cursor:pointer;transition:all .2s ease}.lecture-status-badge.clickable:hover{transform:scale(1.05);box-shadow:0 2px 8px #fbbf2466}.lecture-card.processing{cursor:pointer}.lecture-card.processing:hover .lecture-status-badge.processing{background:#fde68a}@media (max-width: 1024px){.course-content-layout{grid-template-columns:1fr}.course-sidebar{position:static;order:-1}.lectures-grid{grid-template-columns:1fr}}@media (max-width: 768px){.course-detail-view{padding:1rem}.course-header{flex-direction:column;padding:1.5rem}.course-title{font-size:1.5rem}.title-row{flex-wrap:wrap}.lecture-content{padding:1.75rem 1.5rem 1rem}.lecture-title{font-size:1.125rem}.topics-tooltip{position:fixed;left:1rem;right:1rem;top:50%;transform:translateY(-50%);width:auto}.invite-banner{flex-direction:column;padding:1.25rem 1.5rem;gap:1.25rem}.invite-banner-content{flex-direction:column;text-align:center;gap:1rem}.invite-actions{width:100%;flex-direction:column;gap:.75rem}.btn-dismiss-invite,.btn-accept-invite{width:100%}}.mix-mode-card{position:relative;background:var(--card-bg);border-radius:16px;padding:2rem;border:1px solid var(--border-subtle);cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a}.mix-mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);opacity:0;transition:opacity .35s ease}.mix-mode-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f;border-color:var(--brand-green)}.mix-mode-card:hover:before{opacity:1}.readiness-circle{position:absolute;top:1rem;right:1rem;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;z-index:10}.readiness-inner{width:calc(100% - 7px);height:calc(100% - 7px);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}.readiness-score{font-size:.75rem;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.mix-mode-content{display:flex;flex-direction:column;align-items:flex-start;text-align:left;flex:1}.mix-mode-icon{width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a;transition:all .35s cubic-bezier(.4,0,.2,1)}.mix-mode-card:hover .mix-mode-icon{transform:scale(1.1) rotate(-5deg);box-shadow:0 4px 12px #2d7a3e33}.mix-mode-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;letter-spacing:-.02em;line-height:1.3}.mix-mode-description{font-size:.9375rem;line-height:1.65;color:var(--text-secondary);margin:0 0 1.25rem;flex:1}.mix-mode-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.mix-feature{display:inline-flex;align-items:center;gap:.375rem;background:#2d7a3e0f;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--brand-green-dark);border:1px solid rgba(45,122,62,.12);transition:all .25s ease;letter-spacing:.02em}.mix-mode-card:hover .mix-feature{background:#2d7a3e1f;border-color:#2d7a3e40;transform:translateY(-1px)}.mix-feature-icon{color:var(--brand-green);flex-shrink:0}.mix-mode-button{width:100%;padding:.875rem 1.25rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff;box-shadow:0 2px 8px #2d7a3e33;margin-top:auto;letter-spacing:-.01em}.mix-mode-button:hover{box-shadow:0 4px 16px #2d7a3e59;transform:translateY(-1px)}.mix-mode-button:active{transform:translateY(0);box-shadow:0 2px 8px #2d7a3e33}@media (max-width: 768px){.mix-mode-card{padding:2rem}.mix-mode-icon{width:64px;height:64px;font-size:1.75rem}.mix-mode-title{font-size:1.5rem}.readiness-circle{width:48px;height:48px}.readiness-score{font-size:.6875rem}}@media (max-width: 480px){.mix-mode-card{padding:1.75rem}.readiness-circle{top:.75rem;right:.75rem;width:42px;height:42px}.readiness-inner{width:calc(100% - 6px);height:calc(100% - 6px)}.readiness-score{font-size:.625rem}.mix-mode-icon{width:56px;height:56px;font-size:1.5rem;margin-bottom:1.25rem}.mix-mode-title{font-size:1.375rem}.mix-mode-description{font-size:.9375rem}}: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:linear-gradient(180deg,var(--brand-green-ultra-light) 0%,var(--page-bg) 100%);padding:120px 2rem 5rem;position:relative}.lecture-detail-view:before{content:"";position:absolute;top:0;left:0;right:0;height:300px;background:radial-gradient(ellipse at top,rgba(45,122,62,.08) 0%,transparent 70%);pointer-events:none}.lecture-detail-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.breadcrumb-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:3rem;font-size:.875rem}.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:center;margin-bottom:4.5rem;max-width:800px;margin-left:auto;margin-right:auto}.page-title{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;color:var(--text-primary);margin:0 0 1rem;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(135deg,var(--text-primary) 0%,var(--brand-green-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{font-size:1.25rem;color:var(--text-secondary);font-weight:400;margin:0;letter-spacing:-.01em}.action-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:0}.action-panel{background:var(--card-bg);border-radius:16px;padding:2rem;border:1px solid var(--border-subtle);cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden}.action-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);opacity:0;transition:opacity .35s ease}.action-panel:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand-green)}.action-panel:hover:before{opacity:1}.primary-panel{background:linear-gradient(135deg,#ffffff 0%,var(--brand-green-ultra-light) 100%)}.secondary-panel{background:var(--card-bg)}.panel-icon{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:1.75rem;transition:all .35s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.primary-icon{background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff}.secondary-icon{background:linear-gradient(135deg,#f7fafc,#edf2f7);color:var(--text-primary);border:1px solid var(--border-subtle)}.action-panel:hover .panel-icon{transform:scale(1.1) rotate(-5deg);box-shadow:var(--shadow-md)}.panel-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;letter-spacing:-.02em;line-height:1.3}.panel-description{font-size:.9375rem;color:var(--text-secondary);line-height:1.65;margin:0 0 1.25rem;flex:1}.panel-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.feature-badge{background:#2d7a3e0f;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--brand-green-dark);border:1px solid rgba(45,122,62,.12);transition:all .25s ease;letter-spacing:.02em}.feature-with-icon{display:inline-flex;align-items:center;gap:.375rem;background:#2d7a3e0f;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:var(--brand-green-dark);border:1px solid rgba(45,122,62,.12);transition:all .25s ease;letter-spacing:.02em}.feature-icon-sm{color:var(--brand-green);flex-shrink:0}.action-panel:hover .feature-badge,.action-panel:hover .feature-with-icon{background:#2d7a3e1f;border-color:#2d7a3e40;transform:translateY(-1px)}.panel-button{width:100%;padding:.875rem 1.25rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;margin-top:auto;letter-spacing:-.01em}.primary-button{background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-dark) 100%);color:#fff;box-shadow:0 2px 8px #2d7a3e33}.primary-button:hover{box-shadow:0 4px 16px #2d7a3e59;transform:translateY(-1px)}.primary-button:active{transform:translateY(0);box-shadow:0 2px 8px #2d7a3e33}.secondary-button{background:var(--text-primary);color:#fff;box-shadow:0 2px 8px #0000001a}.secondary-button:hover{background:var(--brand-green);box-shadow:0 4px 16px #2d7a3e40;transform:translateY(-1px)}.secondary-button:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}@media (max-width: 900px){.action-panels{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.page-header{margin-bottom:3rem}}@media (max-width: 768px){.lecture-detail-view{padding:80px 1.5rem 3rem}.action-panel{padding:2rem}.panel-icon{width:64px;height:64px;font-size:1.75rem}.panel-title{font-size:1.5rem}.page-header{margin-bottom:2.5rem}}@media (max-width: 480px){.lecture-detail-view{padding:70px 1rem 2.5rem}.action-panel{padding:1.75rem}.panel-icon{width:56px;height:56px;font-size:1.5rem;margin-bottom:1.25rem}.panel-title{font-size:1.375rem}.panel-description{font-size:.9375rem}.breadcrumb-nav{font-size:.8125rem}}: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}.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}.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:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.flashcard-chat-modal{background:#fff;width:95%;max-width:960px;height:90vh;max-height:880px;border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px #00000026;animation:slideUpModal .3s cubic-bezier(.25,.8,.25,1)}@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}.header-left{display:flex;align-items:center;gap:.625rem}.chat-modal-logo{height:28px;width:auto}.header-brand{font-size:1rem;font-weight:700;color:#2d7a3e;letter-spacing:-.02em}.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:.875rem 1.5rem;background:#f9f7f3;border-bottom:1px solid #e5e7eb;display:flex;align-items:baseline;gap:.5rem;flex-shrink:0}.context-label{font-size:.6875rem;font-weight:700;color:#2d7a3e;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.context-question{font-size:.875rem;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.chat-messages-area{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.125rem;background:#f9f7f3}.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-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:2rem;color:#666}.empty-icon{font-size:2.5rem;color:#2d7a3e;margin-bottom:1rem;opacity:.7}.chat-empty-state h3{margin:0 0 .5rem;color:#1a1a1a;font-size:1.125rem;font-weight:600}.chat-empty-state p{margin:0;max-width:320px;line-height:1.5;font-size:.9rem;color:#555}.chat-message{display:flex;gap:.625rem;align-items:flex-start}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem}.chat-message.user .message-avatar{background:#2d7a3e;color:#fff}.chat-message.assistant .message-avatar{background:#fff;color:#2d7a3e;border:1px solid #e5e7eb}.message-content{max-width:80%;padding:.75rem 1rem;border-radius:12px;line-height:1.6;font-size:.9375rem}.chat-message.user .message-content{background:#2d7a3e;color:#fff;border-bottom-right-radius:4px}.chat-message.user .message-content,.chat-message.user .message-content p,.chat-message.user .message-content span,.chat-message.user .message-content strong{color:#fff!important}.chat-message.user .message-content p{margin:0}.chat-message.assistant .message-content{background:#fff;color:#1a1a1a;border-bottom-left-radius:4px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a}.chat-message.assistant .message-content p{margin:0 0 .625rem}.chat-message.assistant .message-content p:last-child{margin-bottom:0}.chat-message.assistant .message-content strong{color:#1a1a1a;font-weight:600}.chat-message.assistant .message-content code{background:#f5f5f5;padding:.15rem .35rem;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.85em;color:#2d7a3e}.chat-message.assistant .message-content pre{background:#f5f5f5;padding:.875rem;border-radius:8px;overflow-x:auto;margin:.625rem 0;border:1px solid #e5e7eb}.chat-message.assistant .message-content pre code{background:none;padding:0;color:#1a1a1a}.chat-message.assistant .message-content ul,.chat-message.assistant .message-content ol{margin:.5rem 0;padding-left:1.25rem;color:#1a1a1a}.chat-message.assistant .message-content li{margin:.25rem 0}.chat-message.assistant .message-content blockquote{border-left:3px solid #2d7a3e;margin:.625rem 0;padding-left:.875rem;color:#555}.chat-message.assistant .message-content h1,.chat-message.assistant .message-content h2,.chat-message.assistant .message-content h3,.chat-message.assistant .message-content h4{margin-top:.875rem;margin-bottom:.375rem;color:#1a1a1a;font-weight:600}.chat-message.assistant .message-content table{border-collapse:collapse;width:100%;margin:.625rem 0;font-size:.875rem}.chat-message.assistant .message-content th,.chat-message.assistant .message-content td{border:1px solid #e5e7eb;padding:.5rem;text-align:left}.chat-message.assistant .message-content th{background:#f9f7f3;font-weight:600;color:#1a1a1a}.chat-message.streaming .message-content{min-height:40px}.typing-indicator{display:flex;gap:4px;padding:.25rem 0}.typing-indicator span{width:6px;height:6px;background:#2d7a3e;border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.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:.875rem;padding:1.125rem 1.5rem;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0}.modal-chat-input{flex:1;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:12px;font-size:.9375rem;outline:none;transition:all .2s ease;font-family:inherit;background:#fff;color:#1a1a1a}.modal-chat-input:focus{border-color:#2d7a3e;box-shadow:0 0 0 3px #2d7a3e1a}.modal-chat-input:disabled{background:#f5f5f5;color:#888}.modal-chat-input::placeholder{color:#888}.modal-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#2d7a3e;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease}.modal-send-btn:hover:not(:disabled){background:#245c30;transform:translateY(-1px)}.modal-send-btn:disabled{opacity:.4;cursor:not-allowed}.modal-send-btn .spin{animation:spin 1s linear infinite}@media (max-width: 768px){.flashcard-chat-modal{width:100%;height:100%;max-height:none;border-radius:0}.chat-modal-header{padding:.875rem 1rem}.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{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.625rem 1rem;background:#e8f5e9;border-radius:8px;font-size:.8125rem;color:#2d7a3e;font-weight:500}.notes-hint svg{font-size:.875rem}.notes-toggle-btn{position:fixed;right:0;top:50%;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}.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)}.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}.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}}:root{--brand-green: #2d7a3e;--brand-green-light: #3a9b4f;--brand-green-lighter: #e8f5e9;--brand-green-dark: #1b5e20;--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #1a1a1a;--text-secondary: #4a5568;--text-muted: #718096;--border-light: #e2e8f0;--border-medium: #cbd5e0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08);--accent-blue: #3182ce;--accent-blue-light: #ebf8ff;--accent-amber: #f59e0b;--accent-amber-light: #fef3c7}.enhanced-explanation{margin-top:2rem;padding:0;background-color:transparent;border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}.explanation-summary{background-color:var(--bg-card);padding:1.75rem;margin-bottom:1.5rem;border-radius:12px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.explanation-summary:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--brand-green) 0%,var(--brand-green-light) 100%)}.explanation-summary p{margin:0;font-size:1.05rem;line-height:1.7;color:var(--text-primary);padding-left:1rem}.explanation-steps{margin:2rem 0;position:relative}.steps-heading{font-size:1.25rem;font-weight:700;margin-bottom:2rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.steps-heading:before{content:"📋";font-size:1.5rem}.explanation-steps:before{content:"";position:absolute;left:28px;top:80px;bottom:0;width:2px;background:linear-gradient(180deg,var(--brand-green) 0%,var(--border-light) 100%);z-index:0}.explanation-step{margin-bottom:2rem;background-color:transparent;border:none;position:relative;padding:0 0 0 80px}.step-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;position:relative}.step-number{position:absolute;left:-80px;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,var(--brand-green) 0%,var(--brand-green-light) 100%);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;text-align:center;box-shadow:var(--shadow-md);z-index:1;border:4px solid var(--bg-primary);line-height:1.2}.step-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.4;padding-top:.5rem}.step-content{background-color:var(--bg-card);padding:1.75rem;border-radius:12px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);margin-top:.75rem;transition:all .2s ease}.step-content:hover{box-shadow:var(--shadow-md);border-color:var(--brand-green-light)}.step-text{margin:0 0 1.25rem;line-height:1.7;color:var(--text-secondary);font-size:1rem}.step-text:last-child{margin-bottom:0}.step-latex{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,var(--brand-green-lighter) 0%,#f0f9ff 100%);border-radius:10px;text-align:center;border:2px solid var(--brand-green-light);box-shadow:var(--shadow-sm)}.latex-block{font-size:1.3rem;padding:.5rem;color:var(--text-primary)}.explanation-interpretation{margin-top:2rem;padding:1.75rem;background:linear-gradient(135deg,var(--accent-blue-light) 0%,#f0f9ff 100%);border-left:4px solid var(--accent-blue);border-radius:12px;box-shadow:var(--shadow-sm)}.interpretation-heading{font-size:1.15rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.interpretation-heading:before{content:"💡";font-size:1.5rem}.explanation-interpretation p{margin:0;line-height:1.7;color:var(--text-secondary);font-size:1rem}.explanation-business-context{margin-top:1.5rem;padding:1.75rem;background:linear-gradient(135deg,var(--accent-amber-light) 0%,#fef3c7 100%);border-left:4px solid var(--accent-amber);border-radius:12px;box-shadow:var(--shadow-sm)}.context-heading{font-size:1.15rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.75rem}.context-heading:before{content:"💼";font-size:1.5rem}.explanation-business-context p{margin:0;line-height:1.7;color:var(--text-secondary);font-size:1rem}.explanation-additional-diagrams{margin-top:2rem}@media (max-width: 768px){.enhanced-explanation{margin-top:1.5rem}.explanation-summary{padding:1.25rem}.explanation-summary p{font-size:.95rem;padding-left:.75rem}.steps-heading{font-size:1.1rem}.explanation-steps:before{left:20px}.explanation-step{padding-left:60px}.step-number{left:-60px;width:44px;height:44px;font-size:.7rem;border-width:3px}.step-title{font-size:1rem}.step-content{padding:1.25rem}.step-text{font-size:.95rem}.explanation-interpretation,.explanation-business-context{padding:1.25rem}.interpretation-heading,.context-heading{font-size:1rem}}@media (max-width: 480px){.explanation-step{padding-left:0}.explanation-steps:before{display:none}.step-number{position:static;margin-bottom:.75rem;width:48px;height:48px}.step-header{flex-direction:column;align-items:flex-start}}.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-block;padding:8px 16px;border-radius:20px;font-size:.9em;font-weight:600;margin-bottom:16px;text-align:center}.mcq-badge{background:#e3f2fd;color:#1976d2;border:2px solid #2196f3}.mca-badge{background:#f3e5f5;color:#7b1fa2;border:2px solid #9c27b0}.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:15px;padding:18px 20px;background:#fff;border:2px solid #ddd;border-radius:12px;cursor:pointer;transition:all .2s;text-align:left;font-size:1em}.option-button:hover:not(.disabled){border-color:#2196f3;background:#f0f7ff;transform:translate(4px)}.option-button.selected{border-color:#2196f3;background:#e3f2fd}.option-button.correct{border-color:#4caf50;background:#e8f5e9;cursor:not-allowed}.option-button.incorrect{border-color:#f44336;background:#ffebee;cursor:not-allowed}.option-button.missed{border:2px dashed #ff9800;background:#fff3e0;cursor:not-allowed;position:relative}.option-button.missed:after{content:"⚠️ Missed";position:absolute;top:8px;right:12px;font-size:.75em;font-weight:600;color:#f57c00;background:#fff;padding:2px 8px;border-radius:8px;border:1px solid #ff9800}.option-button.disabled{cursor:not-allowed;opacity:.6}.option-input{position:absolute;opacity:0;pointer-events:none}.option-label{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;background:#f5f5f5;border-radius:8px;font-weight:600;color:#666}.option-button.selected .option-label{background:#2196f3;color:#fff}.option-button.correct .option-label{background:#4caf50;color:#fff}.option-button.incorrect .option-label{background:#f44336;color:#fff}.option-text{flex:1;line-height:1.5}.explanation-box{margin-top:2rem;padding:0;background:transparent;border:none;border-radius:0}.explanation-box h3{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:.75rem}.explanation-box h3:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#2d7a3e,#3a9b4f);color:#fff;border-radius:50%;font-size:1.25rem;font-weight:700}.explanation-box.incorrect h3:before{content:"✗";background:linear-gradient(135deg,#dc2626,#ef4444)}.explanation-box p{margin:10px 0;line-height:1.7;color:#4a5568}.correct-answer-note{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#e8f5e9,#f0f9ff);border-left:4px solid #2d7a3e;border-radius:10px;box-shadow:0 2px 4px #0000000f}.action-container{display:flex;justify-content:center;margin:2rem 0;padding:1.5rem 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.action-button{padding:14px 40px;font-size:1.05em;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s}.action-button.primary{background:#2196f3;color:#fff}.action-button.primary:hover:not(:disabled){background:#1976d2;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.action-button:disabled{background:#ccc;cursor:not-allowed}@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}}.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}.bookmarks-header{max-width:1200px;margin:0 auto 32px}.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}.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}.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}.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}}.score-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.score-ring-svg{transform:rotate(0)}.score-ring-progress{transition:stroke-dashoffset .6s ease,stroke .3s ease}.score-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;font-weight:700;color:#333;line-height:1}.score-ring-percentage{display:block;font-weight:700}.score-ring-sm{width:60px;height:60px}.score-ring-md{width:80px;height:80px}.score-ring-lg{width:100px;height:100px}.score-ring-ready .score-ring-percentage{color:#10b981}.score-ring-needs-work .score-ring-percentage{color:#f59e0b}.score-ring-critical .score-ring-percentage{color:#ef4444}.score-ring{transition:transform .2s ease}.score-ring:hover{transform:scale(1.05)}:root{--page-bg: #f9f7f3;--card-bg: white;--brand-green: #2d7a3e;--text-charcoal: #333333;--text-muted: #6c757d;--border-subtle: #e5e1d8;--amber: #f59e0b;--fire-orange: #ff6b35}.quiz-history-view{min-height:100vh;background:var(--page-bg);padding:32px 24px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.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}.history-header{max-width:1200px;margin:0 auto 40px}.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:24px}.title-icon{color:var(--brand-green)}.stats-dashboard{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.stat-card{background:var(--card-bg);border:2px solid var(--border-subtle);border-radius:12px;padding:16px 24px;display:flex;align-items:center;gap:12px;min-width:140px;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.streak-card{border-color:var(--fire-orange);background:linear-gradient(135deg,#ff6b350d,#ff6b3505)}.stat-icon{font-size:24px}.fire-icon{color:var(--fire-orange);animation:flicker 2s ease-in-out infinite}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:24px;font-weight:700;color:var(--text-charcoal);line-height:1}.stat-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.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;margin-bottom:24px}.back-btn:hover{background:var(--page-bg);box-shadow:0 2px 8px #00000014;transform:translate(-2px)}.history-content{max-width:1000px;margin:0 auto;position:relative}.timeline{position:relative;padding:40px 0}.timeline-spine{position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--brand-green) 0%,var(--brand-green) 50%,var(--border-subtle) 100%);transform:translate(-50%);animation:drawSpine 1s ease-out}@keyframes drawSpine{0%{height:0}to{height:100%}}.timeline-entry{position:relative;margin-bottom:48px;display:flex;align-items:center;animation:fadeInEntry .5s ease-out backwards}.timeline-entry:nth-child(1){animation-delay:.1s}.timeline-entry:nth-child(2){animation-delay:.2s}.timeline-entry:nth-child(3){animation-delay:.3s}.timeline-entry:nth-child(4){animation-delay:.4s}.timeline-entry:nth-child(5){animation-delay:.5s}@keyframes fadeInEntry{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline-entry-left{flex-direction:row;justify-content:flex-end;padding-right:calc(50% + 60px)}.timeline-entry-right{flex-direction:row-reverse;justify-content:flex-end;padding-left:calc(50% + 60px)}.timeline-node{position:absolute;left:50%;transform:translate(-50%);z-index:2;background:var(--page-bg);border-radius:50%;padding:4px}.timeline-connector{position:absolute;width:60px;height:3px;background:var(--brand-green);top:50%;transform:translateY(-50%)}.timeline-entry-left .timeline-connector{right:calc(50% - 40px)}.timeline-entry-right .timeline-connector{left:calc(50% - 40px)}.timeline-card{background:var(--card-bg);border:2px solid var(--border-subtle);border-radius:12px;padding:20px 24px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000a;max-width:400px;width:100%}.timeline-card:hover{border-color:var(--brand-green);box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.timeline-title{font-size:20px;font-weight:700;color:var(--text-charcoal);margin:0 0 8px}.timeline-course-tag{background:var(--brand-green);color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;display:inline-block;margin-bottom:12px}.timeline-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.timeline-datetime{font-size:14px;font-weight:600;color:var(--text-charcoal)}.timeline-attempts{font-size:13px;color:var(--text-muted)}.timeline-cta{width:100%;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;border:none}.timeline-cta-warning{background:var(--amber);color:#fff}.timeline-cta-warning:hover{background:#d97706;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.timeline-cta-secondary{background:transparent;color:var(--brand-green);border:2px solid var(--brand-green)}.timeline-cta-secondary:hover{background:var(--brand-green);color:#fff}.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}.deck-header{max-width:1200px;margin:0 auto 32px}.deck-info h1{font-size:28px;font-weight:700;color:var(--text-charcoal);margin-bottom:8px}.deck-stats{display:flex;gap:24px;margin-top:12px;font-size:14px;color:var(--text-muted)}.deck-stats span{display:flex;align-items:center;gap:6px}.course-badge{background:var(--brand-green);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.attempts-list{max-width:1200px;margin:0 auto}.attempts-list h2{font-size:20px;font-weight:600;color:var(--text-charcoal);margin-bottom:20px}.empty-attempts{text-align:center;padding:40px;color:var(--text-muted)}.attempts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.attempt-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:20px;cursor:pointer;transition:all .2s ease}.attempt-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.attempt-number{font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:12px}.attempt-score{display:flex;align-items:center;gap:12px;margin-bottom:16px}.score-badge{padding:6px 12px;border-radius:20px;font-weight:600;font-size:14px}.score-percentage{font-size:18px;font-weight:700;color:var(--text-charcoal)}.attempt-details-summary{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.attempt-date{font-weight:500}.score-badge.excellent{color:#16a34a;background-color:#16a34a26}.score-badge.good{color:#3b82f6;background-color:#3b82f626}.score-badge.fair{color:#f59e0b;background-color:#f59e0b26}.score-badge.poor{color:#ef4444;background-color:#ef444426}.quiz-detail-header{max-width:1200px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.attempt-summary{display:flex;flex-direction:column;gap:12px;align-items:flex-end}.attempt-meta{display:flex;gap:16px;font-size:14px;color:var(--text-muted)}.attempt-meta span{display:flex;align-items:center;gap:6px}.attempt-details{max-width:1200px;margin:0 auto}.attempt-details h2{font-size:20px;font-weight:600;color:var(--text-charcoal);margin-bottom:24px}.questions-list{display:flex;flex-direction:column;gap:20px}.question-result{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.question-result.correct{border-left:4px solid #16a34a}.question-result.incorrect{border-left:4px solid #ef4444}.question-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--page-bg);border-bottom:1px solid var(--border-subtle)}.question-number{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-charcoal)}.result-icon{font-size:14px}.result-icon.correct{color:#16a34a}.result-icon.incorrect{color:#ef4444}.question-time{font-size:12px;color:var(--text-muted)}.question-content{padding:20px;display:flex;flex-direction:column;gap:20px}.question-type-badge{display:inline-block;background:var(--brand-green);color:#fff;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.result-question{font-size:18px;font-weight:600;line-height:1.6;color:var(--text-charcoal);padding:20px;background:var(--page-bg);border-radius:8px;border:1px solid var(--border-subtle)}.answer-section{display:flex;flex-direction:column;gap:24px}.user-answer,.correct-answer{display:flex;flex-direction:column;gap:12px}.user-answer strong,.correct-answer strong{color:var(--text-charcoal);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.answer-content{background:var(--page-bg);border:2px solid var(--border-subtle);border-radius:8px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;color:var(--text-charcoal);white-space:pre-wrap;word-break:break-word}.correct-answer .answer-content{border-color:#16a34a;border-width:2px}.difficulty-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.difficulty-badge.easy{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.difficulty-badge.medium{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.difficulty-badge.hard{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.difficulty-badge.boss{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 0 10px #8b5cf680;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #8b5cf680}50%{box-shadow:0 0 20px #8b5cf6cc}}.attempt-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}@media (max-width: 768px){.quiz-history-view{padding:16px}.page-title{font-size:28px}.stats-dashboard{flex-direction:column;width:100%}.stat-card{width:100%;justify-content:center}.timeline-entry-left,.timeline-entry-right{flex-direction:column;padding-left:60px;padding-right:0}.timeline-node{left:0;transform:translate(0)}.timeline-spine{left:40px}.timeline-connector{width:40px}.timeline-entry-left .timeline-connector,.timeline-entry-right .timeline-connector{left:0;right:auto}.timeline-card{max-width:100%}.attempts-grid{grid-template-columns:1fr}.quiz-detail-header{flex-direction:column;align-items:stretch}.attempt-summary{align-items:flex-start}.deck-stats{flex-direction:column;gap:8px}.question-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 480px){.quiz-history-view{padding:12px}.page-title{font-size:24px;flex-direction:column;gap:8px}.timeline-title{font-size:18px}.attempt-card,.question-content{padding:16px}}.quiz-history-view *:not(.spinner):not(.loading-spinner){animation:none!important;transform:none!important}.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:15px;background:#f8f9fa;border-radius:8px;line-height:1.6;color:#555}.review-explanation strong{color:#333}.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}}.timetable-view{max-width:1200px;margin:0 auto;padding:24px}.timetable-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.timetable-header{display:flex;align-items:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}.back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;color:#374151;transition:all .2s}.back-btn:hover{background:#f9fafb;border-color:#d1d5db}.header-content{flex:1}.page-title{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;color:#111827;margin:0}.title-icon{color:#3b82f6}.page-subtitle{font-size:14px;color:#6b7280;margin:4px 0 0}.edit-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.edit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.error-banner{padding:12px 16px;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:24px}.last-updated-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;font-size:14px;margin-bottom:24px}.last-updated-info strong{font-weight:600}.timetable-content{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.edit-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.add-exam-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.add-exam-btn:hover{background:#059669;transform:translateY(-2px)}.save-cancel-btns{display:flex;gap:12px}.cancel-btn,.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.cancel-btn{background:#fff;color:#6b7280;border:1px solid #e5e7eb}.cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.save-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.exams-list{display:flex;flex-direction:column;gap:16px}.exam-card{display:flex;gap:16px;padding:20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;transition:all .2s}.exam-card.with-readiness{align-items:center}.exam-card:not(.editing):hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.exam-card.editing{flex-direction:column;background:#f9fafb}.exam-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:12px;font-size:24px;flex-shrink:0}.exam-details{flex:1}.exam-readiness{display:flex;align-items:center;justify-content:center;margin-left:16px;padding-left:16px;border-left:1px solid #e5e7eb}.exam-subject{font-size:18px;font-weight:600;color:#111827;margin:0 0 8px}.exam-date{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;margin-bottom:8px}.exam-lectures{margin:8px 0}.lectures-label{font-size:13px;color:#6b7280;font-weight:600;margin-bottom:6px;display:block}.lectures-tags{display:flex;flex-wrap:wrap;gap:6px}.lecture-tag{display:inline-block;padding:4px 10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:6px;font-size:12px;font-weight:500}.exam-notes{font-size:14px;color:#6b7280;margin:8px 0 0;line-height:1.5}.lecture-selector{position:relative}.lecture-dropdown-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.lecture-dropdown-toggle:hover{border-color:#9ca3af}.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:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:300px;overflow-y:auto;z-index:10}.lecture-dropdown-empty{padding:12px 16px;color:#9ca3af;font-size:14px;text-align:center}.lecture-option{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .15s}.lecture-option:hover{background:#f3f4f6}.lecture-option input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.lecture-option span{font-size:14px;color:#374151;flex:1}.selected-lectures-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.lecture-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:6px;font-size:12px;font-weight:500}.lecture-chip-remove{background:none;border:none;color:#1e40af;font-size:18px;line-height:1;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.lecture-chip-remove:hover{background:#bfdbfe}.exam-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full-width{grid-column:1 / -1}.field label{font-size:13px;font-weight:600;color:#374151}.field input,.field textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.field input:focus,.field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.delete-exam-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;align-self:flex-start}.delete-exam-btn:hover{background:#fecaca;border-color:#fca5a5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.empty-icon{font-size:64px;color:#d1d5db;margin-bottom:16px}.empty-state h2{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.empty-state p{font-size:14px;color:#6b7280;margin:0 0 24px}.add-first-exam-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.add-first-exam-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.timetable-view{padding:16px}.timetable-header{flex-direction:column;align-items:stretch;gap:16px}.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}}: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}.my-schedule-view{min-height:100vh;background:var(--page-bg);padding:120px 2rem 4rem}.my-schedule-view *:not(.loading-spinner):not(.readiness-badge):not(.lecture-modal-overlay):not(.lecture-modal){animation:none!important}.my-schedule-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.schedule-header{max-width:1100px;margin:0 auto 4rem;text-align:center}.page-title{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:2.25rem;font-weight:700;color:var(--text-charcoal);margin:0 0 .75rem;letter-spacing:-.02em}.title-icon{color:var(--brand-green);font-size:2rem}.page-subtitle{font-size:1.125rem;color:var(--text-gray);margin:0;font-weight:500}.error-banner{max-width:1100px;margin:0 auto 2rem;background:#fef2f2;border:2px solid #fecaca;color:#991b1b;padding:1rem 1.5rem;border-radius:12px;text-align:center;font-weight:600}.empty-state{max-width:700px;margin:0 auto;text-align:center;padding:4rem 2rem;background:var(--card-bg);border-radius:16px;box-shadow:var(--shadow-card);border:1px solid var(--border-light)}.empty-icon{font-size:4rem;color:var(--text-lightgray);margin-bottom:1.5rem}.empty-state h2{font-size:1.75rem;color:var(--text-charcoal);margin:0 0 .75rem;font-weight:700}.empty-state p{font-size:1.0625rem;color:var(--text-gray);margin:0 0 2rem;line-height:1.6}.browse-courses-btn{display:inline-flex;align-items:center;gap:.625rem;padding:.875rem 2rem;background:var(--brand-green);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2d7a3e33}.browse-courses-btn:hover{background:var(--brand-green-dark);transform:translateY(-2px);box-shadow:0 6px 16px #2d7a3e4d}.browse-courses-btn:active{transform:translateY(0)}.planner-timeline{max-width:1100px;margin:0 auto;position:relative;padding-left:60px}.planner-timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:3px;background:var(--border-light)}.planner-entry{position:relative;display:grid;grid-template-columns:140px 1fr;gap:2rem;margin-bottom:3rem;align-items:center}.planner-entry.past{opacity:.5}.spine-connection{position:absolute;left:-60px;top:60px;display:flex;align-items:center;z-index:2}.connection-line{width:30px;height:3px;background:var(--border-light)}.connection-dot{width:20px;height:20px;border-radius:50%;background:var(--brand-green);border:4px solid var(--page-bg);box-shadow:0 0 0 3px var(--brand-green)}.planner-entry.past .connection-dot{background:var(--text-lightgray);box-shadow:0 0 0 3px var(--text-lightgray)}.entry-readiness{display:flex;align-items:center;justify-content:center}.entry-readiness .readiness-badge{cursor:pointer;pointer-events:auto;z-index:10}.entry-details{background:var(--card-bg);border-radius:16px;padding:2rem;border:1px solid var(--border-light);box-shadow:var(--shadow-card);transition:all .3s ease}.entry-details:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.course-tag{display:inline-block;padding:.5rem 1rem;background:var(--brand-green);color:#fff;border-radius:8px;font-size:.8125rem;font-weight:700;box-shadow:0 2px 6px #2d7a3e33}.live-countdown{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--page-bg);border-radius:8px;border:1px solid var(--border-light)}.countdown-icon{color:var(--amber-accent);font-size:.875rem}.countdown-text{font-size:.875rem;color:var(--text-gray);font-family:Courier New,Courier,monospace}.countdown-text strong{color:var(--amber-accent);font-weight:700}.past-badge{padding:.5rem 1rem;background:var(--text-lightgray);color:#fff;border-radius:8px;font-size:.8125rem;font-weight:700}.entry-title{font-size:1.5rem;font-weight:700;color:var(--text-charcoal);margin:0 0 1rem;letter-spacing:-.01em}.entry-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text-gray)}.meta-icon{color:var(--brand-green);font-size:1rem}.entry-lectures{margin:1rem 0;padding:1rem;background:var(--page-bg);border-radius:10px}.lectures-label{font-size:.875rem;color:var(--text-gray);font-weight:600;margin-bottom:.625rem;display:block}.lectures-tags{display:flex;flex-wrap:wrap;gap:.5rem}.lecture-tag{display:inline-block;padding:.375rem .75rem;background:var(--card-bg);border:1px solid var(--border-light);color:var(--text-charcoal);border-radius:6px;font-size:.8125rem;font-weight:600}.entry-notes{font-size:.9375rem;color:var(--text-gray);margin:1rem 0;line-height:1.6;font-style:italic}.entry-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.action-btn.primary{background:var(--amber-accent);color:#fff;box-shadow:0 4px 12px #b4530933}.action-btn.primary:hover{background:#a0450a;transform:translateY(-2px);box-shadow:0 6px 16px #b453094d}.action-btn.secondary{background:var(--card-bg);color:var(--text-charcoal);border:2px solid var(--border-light)}.action-btn.secondary:hover{background:var(--page-bg);border-color:var(--brand-green);color:var(--brand-green);transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}@media (max-width: 768px){.my-schedule-view{padding:80px 1rem 3rem}.page-title{font-size:1.75rem;gap:.75rem}.title-icon{font-size:1.5rem}.page-subtitle{font-size:1rem}.planner-timeline{padding-left:40px}.planner-timeline:before{left:20px}.planner-entry{grid-template-columns:1fr;gap:1.5rem}.spine-connection{left:-40px;top:20px}.connection-line{width:20px}.connection-dot{width:16px;height:16px}.entry-readiness{justify-content:flex-start;padding-top:0;margin-bottom:1rem}.entry-details{padding:1.5rem}.entry-title{font-size:1.25rem}.entry-actions{flex-direction:column}.action-btn{width:100%;justify-content:center}}@media (max-width: 480px){.my-schedule-view{padding:70px .75rem 2.5rem}.page-title{font-size:1.5rem}.entry-details{padding:1.25rem}.entry-header{flex-direction:column;align-items:flex-start}.live-countdown{width:100%}}: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}}.question-container{margin-bottom:2rem}.question-text h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;line-height:1.5}.instruction{color:var(--text-secondary);font-size:.95rem;margin-top:.5rem;font-weight:500}.question-type-indicator{display:inline-block;padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:700;margin-top:.75rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.mcq-indicator{background-color:#3b82f6;color:#fff;border:2px solid #2563eb;box-shadow:0 2px 4px #3b82f64d}.mca-indicator{background-color:#a855f7;color:#fff;border:2px solid #9333ea;box-shadow:0 2px 4px #a855f74d}.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:.75rem}.option-item{display:flex;align-items:center;padding:1.25rem;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:var(--bg-tertiary);font-size:15px;color:var(--text-primary);font-weight:500;gap:1rem}.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}.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{display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;min-width:24px;min-height:24px}.option-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:22px;height:22px;border:3px solid #a855f7;border-radius:4px;cursor:pointer;position:relative;transition:all .2s ease;background-color:#fff;flex-shrink:0}.option-checkbox:checked{border-color:#a855f7;background-color:#a855f7}.option-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700;line-height:1}.option-checkbox:hover{border-color:#9333ea;box-shadow:0 0 0 3px #a855f71a}.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.5}.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-wrapper{display:flex;align-items:center;justify-content:center}.option-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-primary)}.option-checkbox:disabled{cursor:not-allowed;opacity:.6}.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}.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}.mix-question-card:hover{box-shadow:0 6px 24px #0000001f}.mix-question-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.question-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.question-type-indicator{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#666;background:#f5f5f5;padding:.5rem 1rem;border-radius:8px}.mca-icon{font-size:1rem;color:#2d7a3e}@media (max-width: 768px){.mix-question-card{padding:2rem}.mix-question-header{flex-direction:column;align-items:flex-start;gap:.75rem}}@media (max-width: 480px){.mix-question-card{padding:1.5rem}.question-meta{width:100%;justify-content:space-between}.question-type-indicator{font-size:.8125rem;padding:.375rem .75rem}}.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}}.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}.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;white-space:pre-wrap}.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}}.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}@keyframes spin{to{transform:rotate(360deg)}}.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}}.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%}}.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{max-width:1200px;margin:0 auto;padding:0 24px;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{display:flex;align-items:center;gap:8px}.nav-auth{margin-left:16px}.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-links{display:flex;align-items:center;gap:8px}.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:var(--cream-bg);z-index:1000;transition:all .3s ease}.landing-navigation.scrolled{background-color:var(--white);box-shadow:0 2px 10px #0000001a}.landing-nav-container{max-width:1200px;margin:0 auto;padding:0 24px 0 10px;height:100%;display:flex;align-items:center;justify-content:space-between}.landing-nav-logo{display:flex;align-items:center;gap:10px;font-size:clamp(20px,2.5vw,24px);font-weight:800;color:var(--text-dark);text-decoration:none;transition:color .3s ease}.landing-nav-logo:hover{color:var(--primary-green)}.landing-logo{height:32px;width:auto;transition:transform .3s ease}.landing-nav-logo:hover .landing-logo{transform:scale(1.05)}.landing-nav-container.scrolled .landing-logo{height:28px}.landing-nav-links{display:flex;align-items:center;gap:32px}.landing-nav-link{background:none;border:none;font-size:16px;color:var(--text-dark);cursor:pointer;text-decoration:none;transition:color .3s ease}.landing-nav-link:hover{color:var(--primary-green)}.landing-nav-login{background:none;border:none;color:var(--text-dark);padding:10px 20px;font-weight:600;font-size:16px;cursor:pointer;transition:all .2s ease;border-radius:8px}.landing-nav-login:hover{background:#0000000d;color:var(--primary-green)}.landing-nav-cta{background-color:var(--primary-green);color:var(--white);padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;border:none;cursor:pointer;display:inline-block}.landing-nav-cta:hover{background-color:var(--accent-green);transform:translateY(-1px)}@media (max-width: 768px){.landing-nav-container{padding:0 16px}.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}}.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}}
