@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")}.global-notification-container{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 20px 0;pointer-events:none}.global-notification{position:relative;max-width:400px;min-width:300px;transform:translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.global-notification.visible{transform:translateY(0)}.global-notification.hidden{transform:translateY(-100%)}.global-notification .notification-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;padding:16px;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.global-notification .notification-icon{font-size:20px;flex-shrink:0}.global-notification .notification-message{flex:1;font-size:14px;font-weight:500;color:#374151;line-height:1.4}.global-notification .notification-close{background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;flex-shrink:0}.global-notification .notification-close:hover{color:#6b7280;background:#f3f4f6}.global-notification.success .notification-content{border-left:4px solid #10b981}.global-notification.error .notification-content{border-left:4px solid #ef4444}.global-notification.info .notification-content{border-left:4px solid #3b82f6}@media (max-width: 640px){.global-notification-container{padding:10px 10px 0}.global-notification{max-width:none;min-width:auto;width:100%}.global-notification .notification-content{padding:12px}.global-notification .notification-message{font-size:13px}}.age-verification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.age-verification-modal{background-color:#fff;border-radius:1rem;padding:2rem;max-width:28rem;width:100%;margin:0 1rem;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;position:relative;z-index:10;border:1px solid #f3f4f6}.age-verification-header{text-align:center;margin-bottom:1.5rem}.age-verification-icon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.age-verification-icon.blue{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.age-verification-icon.orange{background:linear-gradient(135deg,#f97316,#ef4444)}.age-verification-icon.green{background:linear-gradient(135deg,#10b981,#14b8a6)}.age-verification-icon.purple{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.age-verification-icon svg{width:2rem;height:2rem;color:#fff}.age-verification-title{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.5rem}.age-verification-subtitle{color:#6b7280;font-size:.875rem;line-height:1.5}.age-verification-error{margin-bottom:1.5rem;padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:.75rem;display:flex;align-items:center}.age-verification-error svg{width:1.25rem;height:1.25rem;margin-right:.5rem}.age-verification-field{margin-bottom:1.5rem}.age-verification-label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.75rem}.age-verification-input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;color:#111827;transition:all .2s ease}.age-verification-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.age-verification-buttons{display:flex;gap:1rem}.age-verification-button{flex:1;padding:1rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.875rem;transition:all .2s ease;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.age-verification-button.primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 10px 15px -3px #0000001a}.age-verification-button.primary:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-2px)}.age-verification-button.primary:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none;opacity:.5}.age-verification-button.primary:disabled:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);transform:none;box-shadow:none}.age-verification-button.orange{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;box-shadow:0 10px 15px -3px #0000001a}.age-verification-button.orange:hover{background:linear-gradient(135deg,#ea580c,#dc2626);box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-2px)}.age-verification-button.orange:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none;opacity:.5}.age-verification-button.orange:disabled:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);transform:none;box-shadow:none}.age-verification-button.green{background:linear-gradient(135deg,#10b981,#14b8a6);color:#fff;box-shadow:0 10px 15px -3px #0000001a}.age-verification-button.green:hover{background:linear-gradient(135deg,#059669,#0d9488);box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-2px)}.age-verification-button.green:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#6b7280;cursor:not-allowed;transform:none;box-shadow:none;opacity:.5}.age-verification-button.green:disabled:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);transform:none;box-shadow:none}.age-verification-button.secondary{background-color:#f3f4f6;color:#374151}.age-verification-button.secondary:hover{background-color:#e5e7eb}.age-verification-terms{max-height:15rem;overflow-y:auto;margin-bottom:1.5rem;padding:1.5rem;border:2px solid #f3f4f6;border-radius:.75rem;font-size:.875rem;background-color:#f9fafb}.age-verification-terms h3{font-weight:700;color:#111827;margin-bottom:.75rem;font-size:1.25rem;text-align:center}.age-verification-terms h4{font-weight:700;color:#111827;margin-top:1.5rem;margin-bottom:.75rem;font-size:1rem}.age-verification-terms .date{color:#7f8c8d;font-style:italic;text-align:center;margin-bottom:1.5rem}.age-verification-tabs{display:flex;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.age-verification-tab{flex:1;padding:.75rem 1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.age-verification-tab:hover{color:#374151;background-color:#f9fafb}.age-verification-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;background-color:#eff6ff}.age-verification-checkboxes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.age-verification-terms p{margin-bottom:1rem;color:#374151;line-height:1.5}.age-verification-terms .italic{font-style:italic;color:#6b7280}.terms-preview h4{font-weight:600;color:#111827;margin-bottom:.75rem;font-size:.875rem}.terms-preview ul{margin-bottom:1rem;padding-left:1rem}.terms-preview li{margin-bottom:.5rem;color:#374151;font-size:.875rem}.terms-links{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.terms-link{color:#3b82f6;text-decoration:none;font-size:.875rem;font-weight:500;padding:.5rem;border:1px solid #dbeafe;border-radius:.5rem;background-color:#eff6ff;text-align:center;transition:all .2s ease}.terms-link:hover{background-color:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.age-verification-checkbox-container{display:flex;align-items:center;margin-bottom:.5rem;padding:1rem;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem}.age-verification-checkbox{display:flex;align-items:center;margin-bottom:.75rem;padding:.75rem;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.age-verification-checkbox:hover{background-color:#eff6ff;border-color:#bfdbfe}.age-verification-checkbox input[type=checkbox]{margin-right:.75rem;width:1.25rem;height:1.25rem;color:#3b82f6;border-color:#d1d5db;border-radius:.25rem;cursor:pointer}.age-verification-checkbox input[type=checkbox]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.age-verification-checkbox span,.age-verification-checkbox-label{font-size:.875rem;color:#374151;font-weight:500}.age-verification-loading{display:flex;align-items:center;justify-content:center}.age-verification-loading svg{animation:spin 1s linear infinite;margin-right:.75rem;width:1.25rem;height:1.25rem}@media (max-width: 640px){.age-verification-modal{margin:0 .5rem;padding:1.5rem}.age-verification-buttons{flex-direction:column}.age-verification-button{width:100%}}.signin-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#eba7a7)}.signin-card{background:#fff;border-radius:18px;box-shadow:0 4px 32px #0000001a;padding:48px 36px 36px;display:flex;flex-direction:column;align-items:center;min-width:340px;max-width:90vw}.signin-logo{width:64px;height:64px;margin-bottom:18px}.signin-title{font-size:2rem;font-weight:700;margin-bottom:8px;color:#222}.signin-subtitle{font-size:1.1rem;color:#666;margin-bottom:28px;text-align:center}.fullwidth-toolbar,.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:.5rem}.toolbar-separator{width:1px;height:16px;background:#e0e7ef;margin:0 .25rem}.toolbar-btn{background:none;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.9rem;cursor:pointer;color:#222;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.toolbar-btn:hover{background:#e0e7ef;color:#222}.toolbar-btn.active{background:#ecbebb;color:#fff}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-icon{font-size:.9rem;display:flex;align-items:center;justify-content:center}.color-dot{width:16px;height:16px;min-width:16px;min-height:16px;border-radius:50%;border:2px solid #e0e7ef;margin-right:.25rem;cursor:pointer;box-sizing:border-box;transition:transform .2s ease;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}.color-dot:hover{transform:scale(1.1)}.size-dot{background:#222;border-radius:50%;display:inline-block;margin-right:.25rem;cursor:pointer;transition:transform .2s ease}.size-dot:hover{transform:scale(1.1)}.toolbar-color-picker{cursor:pointer;border-radius:4px;transition:transform .2s ease}.toolbar-color-picker:hover{transform:scale(1.05)}.toolbar-settings input[type=color]{width:32px;height:32px;border:none;background:none;margin-right:.5rem}.font-dropdown,.font-size-dropdown{font-size:10px!important;padding:2px 6px!important;width:auto!important;min-width:50px;border:1px solid #e0e7ef!important;border-radius:4px!important;margin-right:6px;cursor:pointer;background-color:#fff!important;color:#333!important;line-height:normal!important}.font-dropdown{min-width:80px}.font-size-dropdown{min-width:50px}.toolbar-shapes-dropdown{position:relative}.shapes-dropdown-menu{position:absolute;top:110%;left:0;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001f;padding:.5rem 0;display:flex;flex-direction:column;min-width:60px;z-index:200}.shapes-dropdown-menu .toolbar-btn{margin:.2rem 0;width:48px;height:48px;justify-content:center}.header{display:flex;align-items:center;justify-content:space-between;padding:0 10px;height:40px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;flex-shrink:0;z-index:2147483647;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;overflow:hidden;overscroll-behavior:contain;visibility:visible!important;opacity:1!important;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.header-left{display:flex;align-items:center;gap:12px;flex:0 0 150px}.header-right{display:flex;align-items:center;gap:8px;flex:0 0 150px;justify-content:flex-end}.header-right>*:last-child{margin-left:8px}.header-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;height:100%;gap:12px;padding:0 8px;max-width:calc(100% - 320px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.header-center::-webkit-scrollbar{display:none}.header-center>*{flex-shrink:0}.header-section{display:flex;align-items:center;gap:4px}.header-section:not(:last-child):after{content:"";width:1px;height:20px;background-color:#e5e7eb;margin-left:8px}.header-undo-redo{min-width:70px}.header-tools{flex:1}.header-title{font-size:25px;font-weight:700;color:#fff;margin:0;letter-spacing:.5px}.header .header-button{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;border:none!important;border-radius:4px!important;background-color:transparent!important;color:#666!important;font-size:10px!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;padding:0!important}.header .header-button img{opacity:1!important;visibility:visible!important;filter:none!important}.header .header-mobile-button{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;border:none!important;border-radius:4px!important;background-color:transparent!important;color:#666!important;cursor:pointer!important;transition:all .2s ease!important;padding:0!important}.header .header-mobile-button img{opacity:1!important;visibility:visible!important;filter:none!important}.header .header-mobile-button:hover{background-color:#f8f9fa!important}.header .header-button:hover{background-color:#f8f9fa!important;color:#333!important}.header .header-button.bug-report-button{color:#dc2626!important}.header .header-button.bug-report-button:hover{background-color:#fee2e2!important;color:#b91c1c!important}.header-button:active{background-color:#f1f3f4;transform:scale(.98)}.header-button.action-button{font-size:10px;width:auto;height:24px;padding:0 8px;display:flex;align-items:center;gap:4px;border-radius:4px;font-weight:500;background-color:transparent;border:1px solid #e1e5e9;color:#000;transition:all .2s ease}.header-button.action-button .action-icon{font-size:12px;opacity:.8}.header-button.action-button .action-text{font-size:10px;font-weight:500;white-space:nowrap;color:#000}.header-button.action-button:hover{background-color:#f8f9fa;border-color:#d1d5db;color:#000;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.header-button.action-button:active{transform:translateY(0)}.header-button.action-button.loading{opacity:.6;cursor:not-allowed;pointer-events:none}.header-button.action-button:disabled{opacity:.6;cursor:not-allowed}.mobile-images-button{position:relative}.mobile-images-button:hover{background-color:#f3f4f6;transform:translateY(-1px)}.mobile-images-button img{opacity:.7;transition:opacity .2s}.mobile-images-button:hover img{opacity:1}.menu-button{font-size:18px}.new-canvas-button,.external-link-button{font-size:14px}.header-logo{display:flex;align-items:center;height:100%}.header-logo-text{font-size:16px;font-weight:800;color:#333;margin-left:4px}.header-mobile-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ef44440d;border-radius:6px;cursor:pointer;transition:all .2s ease}.header-mobile-button:hover{background:#ef444426;transform:translateY(-1px)}.header-mobile-button:active{transform:translateY(0)}.header-mobile-button img{filter:brightness(0) saturate(100%) invert(41%) sepia(84%) saturate(1839%) hue-rotate(342deg) brightness(101%) contrast(101%)}.logo-image{height:100px;width:auto;object-fit:contain;margin-top:8px}@media (max-width: 600px){.logo-image{max-height:60px}}.header-toolbar{background:none;border-radius:0;box-shadow:none;padding:0;margin:0;display:flex;align-items:center;gap:.75rem}.panel-button{position:relative;transition:all .2s ease}.panel-button.active{background-color:#e3f2fd;border-color:#2196f3;color:#1976d2}.panel-button.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:#2196f3;border-radius:50%}.home-button{transition:all .2s ease}.home-button:hover{background-color:#f8f9fa;border-color:#d0d7de}@media (max-width: 768px){.header-left{flex:0 0 100px}.header-right{flex:0 0 120px;gap:6px}.header-button{width:28px;height:28px}.header-button img{width:14px!important;height:14px!important}.header-center{gap:8px;padding:0 4px;max-width:calc(100% - 240px)}.header-section{gap:2px}.header-section:not(:last-child):after{margin-left:4px}}@media (max-width: 480px){.header-left{flex:0 0 80px}.header-right{flex:0 0 100px}.header-center{gap:4px;max-width:calc(100% - 200px)}.header-section:not(:last-child):after{display:none}}.history-navigation{padding:12px;border-bottom:1px solid #e5e5e7}.search-button{width:100%;padding:8px 12px;background:#f5f5f5;border:1px solid #e5e5e7;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s;margin-bottom:12px;font-size:14px;color:#666}.search-button:hover{background:#ebebeb;border-color:#d1d1d3}.search-shortcut{margin-left:auto;font-size:12px;opacity:.6}.nav-tabs{display:flex;gap:4px}.nav-tab{flex:1;padding:8px;background:transparent;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:13px;color:#666;transition:all .2s}.nav-tab:hover{background:#f5f5f5}.nav-tab.active{background:#007aff;color:#fff}.nav-tab svg{width:16px;height:16px}.search-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.search-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.search-modal-header{display:flex;align-items:center;padding:16px;border-bottom:1px solid #e5e5e7}.search-input{flex:1;border:none;outline:none;font-size:16px;padding:8px;background:#f5f5f5;border-radius:8px}.search-close-btn{margin-left:12px;background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px 8px}.new-chat-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #e5e5e7}.new-chat-btn:hover{background:#f5f5f5}.chat-history{flex:1;overflow-y:auto;padding:8px 0}.history-section{padding:0 16px;margin-bottom:16px}.history-date{color:#666;font-size:12px;font-weight:500;margin:8px 0;text-transform:uppercase}.chat-item{display:flex;align-items:center;gap:12px;padding:10px 8px;cursor:pointer;border-radius:8px;transition:background .2s}.chat-item:hover{background:#f5f5f5}.chat-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#666}.chat-title{flex:1;color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-card{display:flex;flex-direction:column;margin:0;background:transparent;border:none;border-radius:0;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:none;width:100%}.document-card:before{display:none}.document-card:hover{transform:none;box-shadow:none;border-color:transparent;background:#f9fafb}.document-card:hover:before{opacity:0}.document-card:active{transform:none;box-shadow:none}.document-card-main{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;min-height:0;position:relative}.document-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.document-icon{flex-shrink:0;background:transparent;padding:0;border-radius:0;box-shadow:none;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;width:16px;height:16px}.document-icon:before{display:none}.document-icon img{width:16px;height:16px;filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.8) contrast(1);transition:all .2s ease;position:relative;z-index:1}.document-card:hover .document-icon{transform:none;box-shadow:none}.document-card:hover .document-icon:before{left:0}.document-card:hover .document-icon img{filter:brightness(0) saturate(100%) invert(40%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(.8) contrast(1);transform:none}.document-details{flex:1;min-width:0}.document-title{font-size:13px;font-weight:500;color:#374151;margin-bottom:2px;display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;overflow:visible;line-height:1.3;letter-spacing:-.025em}.tutorial-pill{background:#10b981;color:#fff;font-size:9px;font-weight:600;padding:1px 4px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;box-shadow:none;margin-top:1px;border:none}.document-meta{font-size:11px;color:#9ca3af;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:400}.document-subject{color:#6b7280;font-weight:500;background:transparent;padding:0;border-radius:0;font-size:11px;border:none}.document-date{color:#9ca3af;font-weight:400}.document-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:0;transition:all .2s ease;position:relative;transform:translate(10px)}.document-card:hover .document-actions{opacity:1;transform:translate(0)}.action-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#6b7280;position:relative;overflow:hidden}.action-button:before{display:none}.action-button:hover{transform:none;box-shadow:none;border-color:transparent;color:#374151;background:#f3f4f6}.action-button:hover:before{left:0}.action-button:active{transform:none}.menu-button{color:#6b7280;transition:all .2s ease}.menu-button:hover{color:#374151;background:#f3f4f6}.document-card-dropdown{position:relative;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;border:1px solid #d1d5db;padding:4px;width:100%;margin-top:4px;margin-left:0;margin-right:0;opacity:0;transform:translateY(-4px) scale(.98);transition:all .15s ease;pointer-events:none;z-index:1000}.document-card-dropdown.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;animation:dropdownSlideIn .2s ease-out}.document-card-dropdown.closing{opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:all .15s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-actions-list{padding:2px 0}.dropdown-action-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:#374151;font-size:12px;font-weight:400;cursor:pointer;transition:all .15s ease;border-radius:4px;text-align:left}.dropdown-action-item:hover{background:#f8fafc;color:#111827;transform:translate(2px)}.dropdown-action-item:active{background:#e5e7eb;transform:translate(1px)}.dropdown-action-icon{font-size:13px;width:16px;text-align:center;flex-shrink:0;opacity:.8;transition:opacity .15s ease}.dropdown-action-item:hover .dropdown-action-icon{opacity:1}.dropdown-action-svg-icon{width:16px;height:16px;opacity:.7;flex-shrink:0;transition:opacity .15s ease}.dropdown-action-item:hover .dropdown-action-svg-icon{opacity:1}.dropdown-action-label{flex:1;text-align:left;line-height:1.3}@media (max-width: 768px){.document-card{margin:0 4px 8px}.document-card-main{padding:12px 16px}.document-icon{padding:6px}.document-icon img{width:18px;height:18px}.document-title{font-size:14px}.document-meta{font-size:12px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.loading-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-text{font-size:14px;color:#666;font-weight:500;text-align:center;margin-top:8px}.loading-sm{--size: 16px;--border-width: 2px}.loading-md{--size: 24px;--border-width: 3px}.loading-lg{--size: 32px;--border-width: 4px}.loading-xl{--size: 48px;--border-width: 5px}.spinner-container{position:relative;width:var(--size);height:var(--size)}.spinner-ring{position:absolute;width:100%;height:100%;border:var(--border-width) solid transparent;border-top:var(--border-width) solid var(--loading-color, #667eea);border-radius:50%;animation:spinner-rotate 1.2s linear infinite}.spinner-ring:nth-child(2){animation-delay:-.4s;border-top-color:#667eea99}.spinner-ring:nth-child(3){animation-delay:-.8s;border-top-color:#667eea4d}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dots-container{display:flex;gap:4px;align-items:center}.dot{width:calc(var(--size) / 4);height:calc(var(--size) / 4);background:var(--loading-color, #667eea);border-radius:50%;animation:dots-bounce 1.4s ease-in-out infinite both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes dots-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.pulse-container{display:flex;align-items:center;justify-content:center}.pulse-circle{width:var(--size);height:var(--size);background:var(--loading-color, #667eea);border-radius:50%;animation:pulse-scale 1.5s ease-in-out infinite}@keyframes pulse-scale{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1.2);opacity:.4}to{transform:scale(.8);opacity:.8}}.skeleton-container{display:flex;flex-direction:column;gap:8px;width:200px}.skeleton-line{height:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;border-radius:6px;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-line:nth-child(1){width:100%}.skeleton-line:nth-child(2){width:80%}.skeleton-line:nth-child(3){width:60%}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.wave-container{display:flex;gap:3px;align-items:flex-end;height:var(--size)}.wave-bar{width:calc(var(--size) / 8);background:var(--loading-color, #667eea);border-radius:2px;animation:wave-animate 1.2s ease-in-out infinite}.wave-bar:nth-child(1){animation-delay:-1.2s}.wave-bar:nth-child(2){animation-delay:-1.1s}.wave-bar:nth-child(3){animation-delay:-1s}.wave-bar:nth-child(4){animation-delay:-.9s}.wave-bar:nth-child(5){animation-delay:-.8s}@keyframes wave-animate{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}.bounce-container{display:flex;align-items:center;justify-content:center;height:var(--size)}.bounce-ball{width:calc(var(--size) / 2);height:calc(var(--size) / 2);background:var(--loading-color, #667eea);border-radius:50%;animation:bounce-animate 1.4s ease-in-out infinite}@keyframes bounce-animate{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ripple-container{position:relative;width:var(--size);height:var(--size)}.ripple-circle{position:absolute;width:100%;height:100%;border:2px solid var(--loading-color, #667eea);border-radius:50%;animation:ripple-expand 1.5s ease-out infinite}.ripple-circle:nth-child(2){animation-delay:.5s}.ripple-circle:nth-child(3){animation-delay:1s}@keyframes ripple-expand{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}.shimmer-container{display:flex;flex-direction:column;gap:8px;width:200px}.shimmer-line{height:12px;background:linear-gradient(90deg,#667eea1a,#667eea4d,#667eea1a);background-size:200% 100%;border-radius:6px;animation:shimmer-slide 2s ease-in-out infinite}.shimmer-line:nth-child(1){width:100%}.shimmer-line:nth-child(2){width:80%;animation-delay:.2s}.shimmer-line:nth-child(3){width:60%;animation-delay:.4s}@keyframes shimmer-slide{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width: 768px){.loading-container{gap:8px}.loading-text{font-size:12px}.skeleton-container,.shimmer-container{width:150px}}@media (prefers-color-scheme: dark){.loading-fullscreen{background:#000c}.loading-text{color:#ccc}.skeleton-line{background:linear-gradient(90deg,#333 25%,#444,#333 75%)}.shimmer-line{background:linear-gradient(90deg,#667eea33,#667eea66,#667eea33)}}.loading-demo{max-width:1200px;margin:0 auto;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.demo-header{text-align:center;margin-bottom:40px}.demo-header h1{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-header p{font-size:1.1rem;color:#6b7280;margin:0}.demo-controls{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid #e5e7eb}.control-group{margin-bottom:20px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:.9rem}.type-buttons,.size-buttons{display:flex;flex-wrap:wrap;gap:8px}.type-btn,.size-btn{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:#374151;transition:all .2s ease}.type-btn:hover,.size-btn:hover{border-color:#667eea;color:#667eea}.type-btn.active,.size-btn.active{background:#667eea;border-color:#667eea;color:#fff}.color-buttons{display:flex;gap:8px}.color-btn{width:32px;height:32px;border:2px solid #e5e7eb;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#1f2937;transform:scale(1.1)}.color-btn.active:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:700;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.control-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.control-group input[type=checkbox]{width:16px;height:16px;accent-color:#667eea}.demo-preview{background:#fff;border-radius:12px;padding:40px;margin-bottom:32px;border:1px solid #e5e7eb;box-shadow:0 4px 6px -1px #0000001a}.preview-container{display:flex;align-items:center;justify-content:center;min-height:200px}.demo-code{background:#1f2937;border-radius:12px;padding:24px;margin-bottom:32px;overflow-x:auto}.demo-code h3{color:#f9fafb;margin-bottom:16px;font-size:1.1rem}.demo-code pre{color:#d1d5db;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap}.demo-gallery{background:#fff;border-radius:12px;padding:32px;border:1px solid #e5e7eb}.demo-gallery h3{color:#1f2937;margin-bottom:24px;font-size:1.3rem;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}.gallery-item{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s ease}.gallery-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.gallery-item span{font-size:.9rem;font-weight:500;color:#374151;text-align:center}@media (max-width: 768px){.loading-demo{padding:20px 16px}.demo-header h1{font-size:2rem}.demo-header p{font-size:1rem}.demo-controls{padding:16px}.type-buttons,.size-buttons{gap:6px}.type-btn,.size-btn{padding:6px 12px;font-size:.8rem}.demo-preview{padding:24px}.preview-container{min-height:150px}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.gallery-item{padding:16px}}@media (prefers-color-scheme: dark){.loading-demo{background:#111827;color:#f9fafb}.demo-header h1{color:#f9fafb}.demo-header p{color:#d1d5db}.demo-controls{background:#1f2937;border-color:#374151}.control-group label{color:#f9fafb}.type-btn,.size-btn{background:#374151;border-color:#4b5563;color:#f9fafb}.type-btn:hover,.size-btn:hover{border-color:#667eea;color:#667eea}.demo-preview,.demo-gallery{background:#1f2937;border-color:#374151}.demo-gallery h3{color:#f9fafb}.gallery-item{background:#374151;border-color:#4b5563}.gallery-item span{color:#f9fafb}}.document-list{flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent;margin-top:0;height:100%}.document-list-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 8px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;position:relative;margin-bottom:0;border-radius:0;box-shadow:none}.document-list-header:after{display:none}.document-list-header:before{display:none}.list-title{font-size:14px;font-weight:600;color:#6b7280;position:relative;text-transform:none;letter-spacing:-.025em}.list-title:before{display:none}.document-count{font-weight:500;color:#9ca3af;background:transparent;padding:0;border-radius:0;border:none;box-shadow:none;transition:all .2s ease;text-transform:none;letter-spacing:-.025em;font-size:11px;position:relative;overflow:visible}.document-count:before{display:none}.document-count:hover{transform:none;box-shadow:none;border-color:transparent}.document-count:hover:before{left:0}.document-list-content{flex:1;overflow-y:auto;padding:8px 0;transition:all .3s cubic-bezier(.4,0,.2,1);background:transparent;border-radius:0;background:#fff;margin-bottom:0;box-shadow:none;height:100%;overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:pan-y}.document-list-content::-webkit-scrollbar{width:4px}.document-list-content::-webkit-scrollbar-track{background:transparent}.document-list-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:2px;transition:background .2s ease}.document-list-content::-webkit-scrollbar-thumb:hover{background:#0003}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#64748b;font-size:14px;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;margin:16px;box-shadow:0 4px 12px #0000000d}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #ef4444;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px;box-shadow:0 4px 12px #ef444433}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#ef4444;font-size:14px;text-align:center;background:linear-gradient(135deg,#fef2f2,#fff);border-radius:12px;margin:16px;border:1px solid rgba(239,68,68,.2);box-shadow:0 4px 12px #ef44441a}.retry-button{margin-top:16px;padding:10px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ef444440}.retry-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ef444459;background:linear-gradient(135deg,#dc2626,#b91c1c)}.retry-button:active{transform:translateY(0)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#64748b;font-size:14px;text-align:center;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;margin:16px;border:2px dashed rgba(100,116,139,.2);box-shadow:0 4px 12px #0000000d;transition:all .3s ease}.empty-state:hover{border-color:#ef44444d;box-shadow:0 8px 25px #ef44441a}.empty-subtitle{font-size:13px;color:#94a3b8;margin-top:8px;font-weight:400;line-height:1.5}.document-action-buttons{display:flex;gap:10px;padding:12px 20px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);justify-content:center;align-items:center}.document-action-btn{flex:1;max-width:150px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap}.document-action-btn:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.document-action-btn:active{transform:translateY(0);box-shadow:0 1px 4px #00000014}.btn-icon{width:16px;height:16px;flex-shrink:0}.btn-text{font-size:13px;font-weight:500;letter-spacing:-.025em}.blank-document-btn:hover{background:linear-gradient(135deg,#dbeafe,#e0f2fe);border-color:#93c5fd;color:#1e40af}.import-pdf-btn:hover{background:linear-gradient(135deg,#fce7f3,#fdf2f8);border-color:#f9a8d4;color:#a21caf}.grade-selector{padding:16px}.grade-selector-header{margin-bottom:16px}.grade-selector-header h4{margin:0;font-size:14px;font-weight:600;color:#4a5568}.grade-selector-grid{display:grid;grid-template-columns:1fr;gap:8px}.grade-button{display:flex;align-items:center;justify-content:center;padding:12px 16px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#2d3748;cursor:pointer;transition:all .2s ease;text-align:center}.grade-button:hover{background-color:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px)}.grade-button:active{transform:translateY(0)}.grade-button:disabled{opacity:.6;cursor:not-allowed;transform:none;position:relative}.grade-button.loading{position:relative}.grade-button.loading:after{content:"";position:absolute;top:50%;right:12px;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite}.concept-selector{padding:16px}.concept-selector-header{display:flex;align-items:center;margin-bottom:16px;gap:12px}.back-button{background:none;border:none;color:#718096;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.back-button:hover{background-color:#f7fafc;color:#4a5568}.concept-selector-header h4{margin:0;font-size:14px;font-weight:600;color:#4a5568}.concept-selector-list{display:flex;flex-direction:column;gap:8px}.concept-button{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.concept-button:hover{background-color:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px)}.concept-button:active{transform:translateY(0)}.concept-name{font-size:14px;font-weight:500;color:#2d3748;margin-bottom:4px}.concept-lesson-count{font-size:12px;color:#718096}.concept-button:disabled{opacity:.6;cursor:not-allowed;transform:none;position:relative}.concept-button.loading{position:relative}.concept-button.loading:after{content:"";position:absolute;top:50%;right:12px;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite}.lesson-selector{padding:16px}.lesson-selector-header{display:flex;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.lesson-selector-header .back-button{background:none;border:none;color:#718096;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.lesson-selector-header .back-button:hover{background-color:#f7fafc;color:#4a5568}.lesson-selector-header h4{margin:0 0 0 12px;font-size:16px;font-weight:600;color:#2d3748}.copy-button-container{background:#f0f9f0;border:1px solid #9ae6b4;border-radius:0 0 8px 8px;border-top:none;padding:12px;display:flex;justify-content:center;animation:slideDown .3s ease-out;margin-top:-1px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0;padding:0 12px}to{opacity:1;transform:translateY(0);max-height:60px;padding:12px}}.copy-lesson-button{background-color:#48bb78;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.copy-lesson-button:hover{background-color:#38a169;transform:translateY(-1px);box-shadow:0 2px 8px #48bb784d}.copy-lesson-button:disabled{background-color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none;position:relative}.copy-lesson-button:disabled:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.lesson-selector-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.lesson-item{display:flex;flex-direction:column}.lesson-button{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;text-align:left;cursor:pointer;transition:all .2s ease;position:relative;width:100%}.lesson-button:hover{border-color:#cbd5e0;background-color:#f7fafc}.lesson-button.selected{border-color:#3182ce;background-color:#ebf8ff;border-radius:8px 8px 0 0}.lesson-button:disabled{opacity:.6;cursor:not-allowed;position:relative}.lesson-button:disabled:after{content:"";position:absolute;top:50%;right:12px;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite}.lesson-name{font-size:14px;font-weight:500;color:#2d3748;margin-bottom:4px}.lesson-description{font-size:12px;color:#718096;line-height:1.4}.lesson-status{position:absolute;top:3px;right:1px;background:#3182ce;color:#fff;font-size:8px;padding:1px 4px;border-radius:3px;font-weight:500;z-index:1}.lesson-selector-list::-webkit-scrollbar{width:6px}.lesson-selector-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.lesson-selector-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.lesson-selector-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}.illustrative-mathematics{margin-bottom:0;background:transparent;border-radius:0;border:none;box-shadow:none;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.illustrative-mathematics:before{display:none}.illustrative-mathematics:hover{box-shadow:none;transform:none;border-color:transparent}.illustrative-mathematics.collapsed{margin-bottom:0;box-shadow:none;transform:none}.illustrative-mathematics.collapsed:hover{box-shadow:none;transform:none}.im-content{background:transparent;border:none;border-radius:0;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;margin:0}.im-content:before{display:none}.im-content.expanded{max-height:none;opacity:1;transform:translateY(0);margin-top:0;padding:16px 24px 24px;box-shadow:none;border:none;background:linear-gradient(135deg,#f8fafc,#fff)}.im-content.expanded:before{opacity:0}.im-content.collapsed{max-height:0;opacity:0;transform:translateY(-8px);margin:0;padding:0;border:none;pointer-events:none;box-shadow:none;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.im-error-message,.im-success-message{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:slideInDown .3s ease-out;box-shadow:0 4px 12px #00000026;max-width:400px;text-align:center}.im-error-message{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.im-success-message{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.error-icon,.success-icon{margin-right:8px;font-size:16px}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.im-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.im-loading-state p{margin:16px 0 0;color:#64748b;font-size:14px}.loading-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3182ce;border-radius:50%;animation:spin 1s linear infinite}.simple-modal-backdrop{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.simple-modal{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 20px 60px #00000026,0 8px 32px #0000001a;min-width:360px;max-width:90vw;padding:32px 28px 24px;display:flex;flex-direction:column;gap:20px;border:1px solid rgba(0,0,0,.08);animation:slideIn .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.simple-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ef4444,#dc2626,#b91c1c)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.simple-modal-title{font-size:20px;font-weight:700;color:#1e293b;margin-bottom:4px;letter-spacing:-.025em;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.simple-modal-content{font-size:15px;color:#64748b;line-height:1.6;font-weight:400}.simple-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.modal-btn{padding:10px 20px;border-radius:10px;border:none;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#374151;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.modal-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.1) 50%,transparent 100%);transition:left .3s ease}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#1e293b}.modal-btn:hover:before{left:100%}.modal-btn.primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef444440}.modal-btn.primary:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 25px #ef444459;color:#fff}.modal-btn:active{transform:translateY(0)}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#94a3b8;box-shadow:0 2px 8px #0000000a}.modal-input{width:100%;padding:12px 16px;font-size:15px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#fff,#f8fafc);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:400;color:#1e293b;box-shadow:0 2px 8px #0000000a}.modal-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a,0 4px 16px #ef44441a;background:#fff}.modal-input::placeholder{color:#94a3b8;font-weight:400}.modal-input:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.drawer{display:flex;flex-direction:column;height:100%;background:#fff;border-right:1px solid rgba(0,0,0,.08);box-shadow:2px 0 20px #0000000f;position:relative;padding:0}.history-drawer{display:flex;flex-direction:column;height:100%;background:#fff;border-right:1px solid rgba(0,0,0,.08);box-shadow:2px 0 20px #0000000f;position:relative;padding:0;overflow:hidden;overscroll-behavior:contain}.history-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0;background:#fff;overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:pan-y}.history-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;background-color:transparent;cursor:ew-resize;z-index:1001;transition:background-color .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.history-resize-handle:hover{background-color:#0000001a}.history-resize-handle:active{background-color:#0003}.drawer-header{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);background:#fff;flex-shrink:0;position:relative}.drawer-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 50%,transparent 100%)}.drawer-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b;letter-spacing:-.025em}.drawer-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0;background:#fff;border-radius:0;box-shadow:none;border:none;position:relative;margin:0;height:100%;overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:pan-y}.drawer-content:before{display:none}.drawer-footer{padding:16px 20px;border-top:1px solid rgba(0,0,0,.06);background:#fff;flex-shrink:0;position:relative;margin-top:0;border-radius:0;box-shadow:none}.drawer-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 50%,transparent 100%)}.view-all-button{width:100%;padding:12px 16px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:none;position:relative;overflow:hidden}.view-all-button:before{display:none}.view-all-button:hover{transform:none;box-shadow:none;border-color:#0000001f;background:#f9fafb}.view-all-button:hover:before{left:0}.view-all-button:active{transform:none;box-shadow:none}.logo-section{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.logo{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1e293b}.logo img{width:24px;height:24px}.logo-text{font-size:16px;font-weight:600;color:#1e293b}.close-panel-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px;outline:none}.close-panel-btn:hover{background:#f3f4f6;color:#374151}.nav-section{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);overflow-y:auto;max-height:calc(100vh - 200px);overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:pan-y}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;outline:none}.nav-item:hover{background:#f9fafb;color:#1e293b}.nav-item.active{background:transparent;color:#1e293b}.nav-item.active:hover{background:#f9fafb;color:#1e293b}.nav-item:focus{outline:none}.nav-item-icon{width:16px;height:16px;opacity:.7}.user-profile{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid rgba(0,0,0,.06);background:#fff}.user-avatar{width:35px!important;height:35px!important;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:#6b7280;flex-shrink:0;min-width:35px;min-height:35px;max-width:35px;max-height:35px}.user-avatar img{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover}.user-info{flex:1;min-width:0}.user-name{font-size:11px;font-weight:500;color:#1e293b;margin-bottom:1px;line-height:1.2}.user-status{font-size:9px;color:#6b7280;line-height:1.2}.drawer-content p{margin:8px 0;color:#64748b;font-size:14px;line-height:1.5}.drawer-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 50%,transparent 100%);cursor:ew-resize;z-index:1001;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.drawer-resize-handle:hover{background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.2) 50%,transparent 100%);width:12px;right:-6px}.drawer-resize-handle:active{background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.3) 50%,transparent 100%)}.search-section,.illustrative-math-section{display:flex;align-items:center;justify-content:center;height:100%;padding:40px 20px}.search-placeholder,.im-placeholder{text-align:center;color:#6b7280}.search-placeholder h3,.im-placeholder h3{margin:16px 0 8px;font-size:16px;font-weight:600;color:#374151}.search-placeholder p,.im-placeholder p{margin:0;font-size:14px;color:#9ca3af}.search-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.search-modal-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);gap:12px}.search-input{flex:1;border:none;outline:none;font-size:16px;color:#1e293b;background:transparent;padding:0}.search-input::placeholder{color:#9ca3af}.search-close-btn{background:none;border:none;color:#6b7280;font-size:18px;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.search-close-btn:hover{background:#f3f4f6;color:#374151}.new-chat-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#f9fafb;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin:16px 20px 0;text-align:left}.new-chat-btn:hover{background:#f3f4f6;border-color:#0000001f}.chat-history{flex:1;overflow-y:auto;padding:16px 20px 20px;overscroll-behavior:contain;overscroll-behavior-y:contain;touch-action:pan-y}.history-section{margin-bottom:24px}.history-section:last-child{margin-bottom:0}.history-date{font-size:12px;font-weight:600;color:#6b7280;margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.chat-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;margin-bottom:4px}.chat-item:hover{background:#f9fafb}.chat-item:last-child{margin-bottom:0}.chat-icon{font-size:16px;color:#9ca3af;width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-item span{font-size:14px;color:#374151;font-weight:400;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{text-align:center;padding:40px 20px;color:#9ca3af}.empty-state p{margin:0;font-size:14px}.nav-item.loading{opacity:.7;cursor:not-allowed;position:relative}.nav-item.loading .nav-item-icon{opacity:.5}.nav-item:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{display:inline-block;animation:spin 1s linear infinite}.loading-spinner svg{width:100%;height:100%}.document-actions-dropdown{position:relative;background-color:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:2147483648;margin:0 8px 8px;animation:slideDown .2s ease;overflow:hidden;max-height:200px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.actions-list{padding:4px 0}.action-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:#333;font-size:13px;cursor:pointer;transition:background-color .2s ease}.action-item:hover{background-color:#f3f4f6}.action-item:active{background-color:#e5e7eb}.action-icon{font-size:14px;width:16px;text-align:center}.action-label{flex:1;text-align:left}.action-button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(0,0,0,.08);border-radius:12px;color:#374151;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:44px;box-shadow:0 2px 8px #0000000a;transform:translateZ(0);position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(239,68,68,.1) 50%,transparent 100%);transition:left .5s ease}.action-button:hover:not(:disabled){background:linear-gradient(135deg,#fef2f2,#fee2e2);transform:translateY(-2px);box-shadow:0 8px 24px #0000001f;border-color:#ef444433;color:#ef4444}.action-button:hover:not(:disabled):before{left:100%}.action-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px #00000014}.action-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#94a3b8;box-shadow:none}.action-button.loading{opacity:.7;cursor:not-allowed;transform:none!important;pointer-events:none;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b}.action-button.loading:hover{transform:none!important;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);box-shadow:0 2px 8px #0000000a}.action-button:not(.loading):not(:disabled){transform:translateZ(0)}.action-button-icon{width:18px;height:18px;opacity:.8;transition:all .3s ease}.action-button:hover:not(:disabled) .action-button-icon{opacity:1;transform:scale(1.1)}.action-text{font-weight:600;letter-spacing:-.025em;transition:all .3s ease}.action-button:hover:not(:disabled) .action-text{transform:translate(2px)}.action-button.loading:after{content:"";position:absolute;top:50%;right:12px;transform:translateY(-50%);width:16px;height:16px;border:2px solid transparent;border-top:2px solid #ef4444;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.action-button-container{display:flex;gap:12px;margin-bottom:24px;padding:0 4px;background-color:#fff;border-bottom:1px solid #e1e5e9;flex-shrink:0}.action-button-container.compact{gap:8px;margin-bottom:16px;padding:0 2px}.action-button-container.spacious{gap:16px;margin-bottom:32px;padding:0 8px}@media (max-width: 768px){.action-button-container{gap:8px;margin-bottom:16px;padding:0 2px}}@media (max-width: 480px){.action-button-container{flex-direction:column;gap:8px}}.im-banner{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 20px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;box-shadow:none;margin:0;border-radius:0}.im-banner:before{display:none}.im-banner:after{content:"📚";position:absolute;top:20px;left:20px;font-size:20px;opacity:.8;z-index:1;transition:all .3s ease}.im-banner:hover{background:linear-gradient(135deg,#fef2f2,#fff);border-color:#ef44441a;transform:none;box-shadow:none}.im-banner:hover:before{opacity:1;transform:scale(1.05)}.im-banner:active{transform:none;box-shadow:none}.im-banner-content{display:flex;align-items:center;justify-content:space-between;width:100%;margin-left:32px}.im-banner-title{margin:0;font-size:16px;font-weight:700;color:#1e293b;letter-spacing:-.025em;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative}.im-banner-title:after{display:none}.im-banner:hover .im-banner-title{color:#ef4444}.im-banner:hover .im-banner-title:after{width:0}.im-banner-chevron{font-size:16px;color:#64748b;transition:all .3s cubic-bezier(.4,0,.2,1);background:transparent;padding:8px;border-radius:8px;border:none;box-shadow:none;position:relative}.im-banner-chevron:before{display:none}.im-banner:hover .im-banner-chevron{color:#ef4444;border-color:transparent;transform:scale(1.05);box-shadow:none}.im-banner:hover .im-banner-chevron:before{opacity:0}.im-banner-chevron.expanded{transform:rotate(180deg)}.im-banner:hover .im-banner-chevron.expanded{transform:rotate(180deg) scale(1.05)}.copy-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;background-color:#3182ce;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.copy-button:hover:not(:disabled){background-color:#2c5aa0;transform:translateY(-1px)}.copy-button:active:not(:disabled){transform:translateY(0)}.copy-button:disabled{background-color:#a0aec0;cursor:not-allowed;transform:none}.chat-window{display:flex;flex-direction:column;flex:1;min-height:0;background:#f5f6fa;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;position:relative}.header-title{font-size:16px;font-weight:600;color:#1f2937;margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-description{font-size:14px;color:#6b7280;margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages-container{flex:1;min-height:0;overflow-y:auto;padding:20px;scroll-behavior:auto;background:#f9fafb}.input-area{padding:16px 24px;background:#fff;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.input-container{display:flex;gap:12px;align-items:flex-end}.input-field{flex:1;min-height:44px;max-height:120px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;line-height:1.5;resize:none;background:#fff;transition:all .2s ease}.input-field:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.send-button{padding:10px 16px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;flex-shrink:0}.send-button:hover{background:#4f46e5;transform:translateY(-1px)}.send-button:disabled{background:#e5e7eb;cursor:not-allowed;transform:none}.message{margin:8px 0;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;max-width:85%;animation:fadeIn .3s ease}.user-message{background:var(--theme-color, #ef4444);color:#fff;margin-left:auto;border-radius:12px 12px 4px}.assistant-message{background:#fff;color:#1f2937;margin-right:auto;border-radius:12px 12px 12px 4px;box-shadow:0 1px 2px #0000000d}.warning-banner{margin:12px 24px;padding:12px 16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:13px;display:flex;align-items:center;gap:8px;animation:slideFadeIn .3s ease;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.pdf-import-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:12px}.pdf-import-loading-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (max-width: 640px){.chat-window{border-radius:0}.chat-header{padding:12px 16px}.messages-container{padding:16px}.input-area{padding:12px 16px}.message{max-width:90%}}.chat-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.06);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;height:64px;flex-shrink:0}.header-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.header-title{font-size:16px;font-weight:600;color:#1f2937;margin:0;line-height:1.4;background:none;border:none;cursor:pointer;padding:0;transition:text-decoration .2s,color .2s}.header-title:hover{text-decoration:underline;color:#2563eb}.header-description{font-size:14px;color:#6b7280;margin:0;line-height:1.4}.header-actions{display:flex;align-items:center;gap:12px}.new-chat-button,.refresh-button{background:none;border:none;font-size:18px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.new-chat-button:hover,.refresh-button:hover{background-color:#0000000d;transform:scale(1.05)}.new-chat-button:active,.refresh-button:active{transform:scale(.95)}.new-chat-button{color:#10b981}.new-chat-button:hover{background-color:#10b9811a}.chat-close-button{position:absolute;top:10px;right:10px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.chat-close-button:hover{background-color:#fff3}.credit-display{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;margin-left:auto}.credit-count{font-weight:500;color:#374151}.buy-more-button{background:none;border:none;color:#2563eb;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;text-decoration:underline}.buy-more-button:hover{background-color:#2563eb1a;color:#1d4ed8}.buy-more-button:active{transform:translateY(1px)}.credit-display.loading{opacity:.6}.credit-loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}.plan-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.plan-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}.plan-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:10}.plan-modal-close:hover{background:#f3f4f6;color:#374151}.plan-modal-header{padding:24px 40px 16px;text-align:center;border-bottom:1px solid #f3f4f6}.plan-modal-header h2{margin:0 0 8px;font-size:28px;font-weight:800;color:#111827;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-modal-header p{margin:0 0 12px;color:#6b7280;font-size:16px;line-height:1.4}.plan-value-prop{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:12px 16px;margin:0;color:#92400e;font-size:14px;font-weight:600;line-height:1.3}.plan-modal-content{padding:20px 40px}.plan-selection{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.plan-card{border:2px solid #e5e7eb;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;position:relative;background:#fff;margin-top:20px}.plan-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 25px #667eea26}.plan-card.selected{border-color:#667eea;background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:0 8px 25px #667eea33}.plan-card.popular{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.plan-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:8px 20px;border-radius:20px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 16px #0000001a;z-index:2;border:2px solid white}.plan-name{font-size:18px;font-weight:700;color:#111827;margin-bottom:6px;text-align:center}.plan-price{font-size:28px;font-weight:900;color:#667eea;text-align:center;margin-bottom:4px}.plan-total{font-size:14px;color:#6b7280;text-align:center;margin-bottom:8px}.plan-savings{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-align:center;margin-bottom:16px;display:block}.plan-features{list-style:none;padding:0;margin:0}.feature-item{display:flex;align-items:center;margin-bottom:6px;font-size:13px;color:#374151;line-height:1.3}.feature-item:before{content:"✓";background:#10b981;color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-right:10px;font-size:12px;font-weight:700;flex-shrink:0}.plan-details{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:16px 20px;margin-bottom:20px;border:1px solid #e2e8f0}.plan-info h4{margin:0 0 12px;font-size:16px;font-weight:700;color:#111827;display:flex;align-items:center;gap:8px}.plan-info h4:before{content:"💎";font-size:20px}.plan-info ul{list-style:none;padding:0;margin:0}.plan-info li{font-size:13px;color:#4b5563;margin-bottom:6px;display:flex;align-items:center;gap:8px}.plan-info li:before{content:"•";color:#667eea;font-weight:700}.plan-modal-footer{padding:0 40px 24px;display:flex;flex-direction:column;gap:8px}.plan-modal-footer .button-group{display:flex;gap:12px}.plan-modal-btn{flex:1;padding:14px 20px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;min-height:48px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;outline:none;position:relative;overflow:hidden}.plan-modal-btn:focus{outline:2px solid #667eea;outline-offset:2px}.plan-modal-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.plan-modal-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.plan-modal-btn.primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.plan-modal-btn.secondary{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000001a}.plan-modal-btn.secondary:hover:not(:disabled){background:#e5e7eb;color:#374151;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.plan-modal-btn.secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.plan-modal-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.checkout-note{font-size:12px;color:#6b7280;text-align:center;margin:8px 0 0;padding:0}.plan-modal-footer-note{padding:12px 40px 16px;text-align:center;margin:0}.plan-modal-footer-note p{margin:0;font-size:13px;color:#6b7280;line-height:1.4;background:#f9fafb;padding:12px 16px;border-radius:8px;border-left:4px solid #667eea}.loading-spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.trust-indicators{display:flex;justify-content:center;gap:20px;padding:12px 32px 16px;border-top:1px solid #f3f4f6;margin-top:4px}.trust-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.trust-icon{font-size:14px}@media (max-width: 768px){.plan-modal{margin:0;border-radius:20px 20px 0 0;max-height:90vh}.plan-modal-header,.plan-modal-content,.plan-modal-footer{padding-left:20px;padding-right:20px}.plan-selection{grid-template-columns:1fr;gap:12px}.plan-modal-footer{flex-direction:column}.plan-modal-header h2{font-size:24px}.plan-modal-header p{font-size:14px}.plan-card{padding:16px;margin-top:16px}.plan-details{padding:12px 16px}}@media (max-width: 480px){.plan-modal-header,.plan-modal-content,.plan-modal-footer{padding-left:20px;padding-right:20px}.plan-modal-header{padding-top:32px}.plan-modal-footer{padding-bottom:32px}}.input-area{display:flex;flex-direction:column;align-items:center;width:100%;padding:0 24px!important;margin:20px 0 8px;background:transparent;border-top:none;position:relative}.modern-chat-component .input-area{padding:0 24px!important;margin:20px 0 8px!important;background:transparent;border-top:none}.modern-input-area-floating{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;padding:0 24px!important;margin:20px 0 8px!important;background:transparent!important;border-top:none!important;border:none!important;position:relative!important}.modern-chat-component .modern-input-area-floating{padding:0 24px!important;margin:20px 0 15px!important;background:transparent!important;border:none!important;border-top:none!important}.input-area:before{display:none}.chat-input-pill{display:flex;align-items:center;width:100%;max-width:800px;height:48px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:9999px;padding:4px 6px;box-shadow:0 2px 6px #0000000f;margin:0 auto;transition:all .3s ease;position:relative}.chat-input-pill.recording-mode{background:#f8fafc!important;border-color:#64748b33!important;box-shadow:0 4px 12px #64748b1a!important}.recording-mode,.recording-mode *{--theme-color: #64748b !important;--theme-color-dark: #475569 !important}.chat-input-pill:focus-within{border-color:#0003;box-shadow:0 2px 4px #0000000f}.input-field-container{flex:1;position:relative;display:flex;align-items:center}.chat-input-field{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:#000;padding:8px 12px;resize:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;overflow-y:hidden;min-height:36px;max-height:200px}.chat-input-field::placeholder{color:#0006}.chat-input-field:disabled{background-color:transparent;cursor:not-allowed;opacity:.6}.left-action-section{display:flex;align-items:center;padding-left:4px}.input-actions{display:flex;align-items:center;gap:4px;padding-right:4px}.chat-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:#0009;transition:all .15s ease;padding:0;position:relative}.plus-btn:hover{background:#0000000a}.plus-btn:active{background:#00000014}.mic-btn{background:#0000000d;color:#000000b3;transition:all .2s ease}.mic-btn:hover:not(:disabled){background:#0000001a;color:#000c}.mic-btn:active:not(:disabled){background:#00000026}.mic-btn img{filter:opacity(.7);transition:filter .2s ease}.mic-btn:hover img{filter:opacity(.8)}.hint-btn-tutoring{background:#3b82f614;color:#3b82f6;position:relative;transition:all .2s ease}.hint-btn-tutoring:hover:not(:disabled){background:#3b82f626;color:#2563eb}.hint-btn-tutoring:active:not(:disabled){background:#3b82f633}.hint-btn-tutoring .hint-count{position:absolute;top:-2px;right:-2px;background:#ef4444;color:#fff;border-radius:50%;width:16px;height:16px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid white}.recording-mode{background:#ef4444;color:#fff;animation:recordingPulse 1.5s ease-in-out infinite}.recording-mode:hover:not(:disabled){background:#dc2626}@keyframes recordingPulse{0%,to{background:#ef4444;box-shadow:0 0 #ef444466}50%{background:#dc2626;box-shadow:0 0 0 4px #ef444433}}.send-btn{background:#acacac;color:#fff}.send-btn:hover:not(:disabled){background:#000}.send-btn:active:not(:disabled){background:#000}.send-btn:disabled{background:#e0e0e0;color:#0000004d;cursor:not-allowed}.send-btn.active{background:#000;color:#fff}.stop-mode{background:#af7171;color:#fff}.stop-mode:hover:not(:disabled){background:#dc2626}.stop-recording-btn{background:#64748b;color:#fff}.stop-recording-btn:hover:not(:disabled){background:#475569}.send-btn-recording{background:#000;color:#fff}.send-btn-recording:hover:not(:disabled){background:#374151}.transcribing-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;pointer-events:none;font-size:15px;color:#64748b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.transcribing-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid #64748b;border-radius:50%;animation:transcribingSpinner 1s linear infinite}.transcribing-text{font-weight:400;letter-spacing:.02em}@keyframes transcribingSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.voice-error-message{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px;max-width:300px;font-size:14px;color:#dc2626;box-shadow:0 2px 8px #0000001a;z-index:1001;animation:errorSlideIn .3s ease}.error-icon{font-size:16px;flex-shrink:0}.error-text{flex:1;line-height:1.4}.error-dismiss{background:none;border:none;color:#dc2626;font-size:18px;font-weight:700;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;flex-shrink:0}.error-dismiss:hover{background:#dc26261a}@keyframes errorSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.chat-input-field::-webkit-scrollbar{width:6px;height:6px}.chat-input-field::-webkit-scrollbar-track{background:transparent}.chat-input-field::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.chat-input-field::-webkit-scrollbar-thumb:hover{background-color:#0000004d}@media (max-width: 768px){.input-area{padding:12px 16px}.chat-input-pill{max-width:calc(100% - 32px);height:44px}.chat-input-field{font-size:14px;padding:6px 10px}.chat-action-btn{width:30px;height:30px}}@media (max-width: 480px){.chat-input-pill{max-width:100%;height:42px;padding:3px 4px}.chat-input-field{font-size:14px;padding:6px 8px}.input-actions{gap:2px;padding-right:2px}}.chat-input-field{transition:height .1s ease}.chat-input-pill:has(.chat-input-field:focus){height:auto;min-height:48px;padding:6px}.plus-menu-popup{position:absolute;bottom:calc(100% + 8px);right:40px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 4px 16px #0000001f;padding:8px;z-index:1000;min-width:180px;animation:popupFadeIn .2s ease}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.plus-menu-content{display:flex;flex-direction:column;gap:4px}.plus-menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;width:100%;text-align:left;font-size:14px;color:#374151;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.plus-menu-item:hover{background:#0000000a}.plus-menu-item:active{background:#00000014}.menu-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.menu-label{flex:1;font-weight:500}.chat-input-card,.toolbar-row,.input-row,.input-divider,.message-input,.send-button{display:none}.correct-state{animation:correctStateAppear .4s ease-out}@keyframes correctStateAppear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.success-panel-compact{background:linear-gradient(135deg,#10b981,#059669);border:1px solid #10b981;border-radius:16px;color:#fff;padding:16px;box-shadow:0 4px 20px #10b9814d;width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.success-header-compact{display:flex;align-items:center;gap:12px}.success-icon-svg{color:#fff;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.success-text-compact{flex:1;display:flex;flex-direction:column;gap:2px}.success-text-compact h4{margin:0;font-size:16px;font-weight:600;color:#fff}.success-xp-compact{font-size:12px;color:#fffc}.success-actions-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.success-action-btn-compact{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1.5px solid rgba(255,255,255,.25);border-radius:10px;background:#ffffff1a;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.success-action-btn-compact:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.success-action-btn-compact.primary{background:#ffffff26;border-color:#ffffff59;font-weight:600}.success-action-btn-compact.primary:hover{background:#ffffff40}.success-action-btn-compact.refresh{background:#ffffff14}.success-action-btn-compact.refresh:hover{background:#ffffff2e}.success-action-btn-compact svg{flex-shrink:0;opacity:.9}.success-action-btn-compact.completed{background:#ffffff0d;border-color:#ffffff26;opacity:.6;cursor:not-allowed}.success-action-btn-compact.completed:hover{background:#ffffff0d;border-color:#ffffff26;transform:none;box-shadow:none}.success-action-btn-compact.completed svg{color:#fffc}@media (max-width: 640px){.success-actions-compact{grid-template-columns:1fr;gap:6px}.success-panel-compact{padding:14px;border-radius:14px}.success-action-btn-compact{padding:12px;justify-content:center}}@media (max-width: 480px){.success-header-compact{gap:10px}.success-text-compact h4{font-size:15px}.success-action-btn-compact{font-size:12px;gap:5px}.success-action-btn-compact svg{width:14px;height:14px}}.reflection-state{animation:reflectionStateAppear .4s ease-out}@keyframes reflectionStateAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reflection-panel-compact{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:1px solid rgba(99,102,241,.2);border-radius:24px;padding:20px 24px;box-shadow:0 8px 32px #6366f126;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:800px;position:relative;color:#fff;margin:0 auto}.reflection-header-compact{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.reflection-icon-svg{background:#ffffff26;border-radius:12px;padding:8px;color:#fff;flex-shrink:0}.reflection-text-compact h4{margin:0 0 6px;font-size:18px;font-weight:600;color:#fff}.reflection-prompt-compact{font-size:14px;color:#fffc;line-height:1.5}.reflection-input-container{position:relative;margin-bottom:20px}.reflection-textarea{width:100%;padding:16px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff;font-size:14px;line-height:1.6;resize:vertical;min-height:120px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease}.reflection-textarea:focus{outline:none;border-color:#fff6;background:#ffffff26;box-shadow:0 0 0 3px #ffffff1a}.reflection-textarea::placeholder{color:#fff9}.reflection-recording-indicator{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:12px 16px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.recording-text{font-size:14px;color:#ffffffe6;font-weight:500}.reflection-processing-indicator{display:flex;align-items:center;gap:8px;margin-top:8px;color:#fffc;font-size:14px}.processing-text{color:#fffc}.reflection-error-message{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fecaca;font-size:13px}.reflection-error-message .error-dismiss{background:none;border:none;color:#fecaca;cursor:pointer;font-size:18px;margin-left:auto;padding:0;line-height:1}.reflection-actions-compact{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.reflection-action-btn-compact{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;white-space:nowrap}.reflection-action-btn-compact:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.reflection-action-btn-compact:disabled{opacity:.5;cursor:not-allowed;transform:none}.reflection-action-btn-compact.mic-btn{background:#22c55e33;border-color:#22c55e4d;color:#bbf7d0}.reflection-action-btn-compact.mic-btn:hover{background:#22c55e4d;border-color:#22c55e66}.reflection-action-btn-compact.cancel{background:#ef444433;border-color:#ef44444d;color:#fecaca}.reflection-action-btn-compact.cancel:hover{background:#ef44444d;border-color:#ef444466}.reflection-action-btn-compact.primary{background:#fff3;border-color:#fff6;color:#fff;font-weight:600}.reflection-action-btn-compact.primary:hover{background:#ffffff4d;border-color:#ffffff80}.reflection-action-btn-compact svg{width:16px;height:16px;flex-shrink:0}@media (max-width: 640px){.reflection-panel-compact{padding:16px 20px;margin:0 8px;border-radius:20px}.reflection-header-compact{gap:12px;margin-bottom:16px}.reflection-text-compact h4{font-size:16px}.reflection-actions-compact{gap:8px}.reflection-action-btn-compact{padding:8px 12px;font-size:13px}.reflection-action-btn-compact svg{width:14px;height:14px}}.calculator-popup{width:360px;max-height:350px}.calculator-options{display:flex;flex-direction:column;gap:10px;padding:15px;min-width:250px;background-color:#fff;border-radius:8px;box-shadow:0 5px 20px #00000026}.calculator-option-button{display:flex;flex-direction:column;align-items:flex-start;padding:10px 15px;margin-bottom:10px;border:1px solid #e0e0e0;background-color:#fff;border-radius:4px;cursor:pointer;font-size:14px;text-align:left;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.calculator-option-button:hover{background-color:#f5f5f5;border-color:var(--theme-color, #4a69bd);color:var(--theme-color, #4a69bd)}.calculator-description{font-size:12px;color:#666;margin-top:4px;font-weight:400}.camera-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.camera-modal{background:#fff;border-radius:24px;min-width:320px;max-width:400px;width:90%;max-height:80vh;box-shadow:0 25px 50px #00000040;animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;flex-direction:column}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 20px;background:linear-gradient(135deg,#f8f9ff,#f1f5ff);border-bottom:1px solid rgba(239,68,68,.08);flex-shrink:0}.modal-close{background:#fffc;border:none;font-size:20px;cursor:pointer;color:#64748b;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-modal-options{padding:20px;display:flex;gap:16px}.camera-option-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#f8f9fa;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.camera-option-button:hover{background:#e9ecef;border-color:#007bff;transform:translateY(-2px)}.option-icon{font-size:32px}.option-text{color:#333;font-weight:600}.camera-modal-actions{padding:24px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff,#fafbff);flex:1;justify-content:center}.camera-modal .action-button{display:flex;align-items:center;gap:12px;padding:16px 20px;border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;position:relative;overflow:hidden;min-height:48px;flex:none;width:100%}.camera-modal .action-button: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 .5s}.camera-modal .action-button:hover:before{left:100%}.action-icon{font-size:20px;flex-shrink:0}.action-text{flex:1}@media (max-width: 480px){.camera-modal{min-width:280px;width:92%;max-height:75vh;margin:8px}.camera-modal-header{padding:20px 20px 16px}.camera-modal-header h3{font-size:16px}.camera-modal-actions{padding:20px;gap:10px}.camera-modal .action-button{padding:14px 18px;font-size:14px;border-radius:10px;min-height:44px;width:100%}.action-icon{font-size:16px}}.chat-toolbar .toolbar-popup-positioner{position:absolute;bottom:100%;left:50%;transform:translate(-50%);z-index:1000;margin-bottom:8px;box-shadow:0 6px 24px #00000026;min-width:360px;max-height:80vh;overflow-y:auto;background:#fff;border-radius:8px}.toolbar-container,.chat-toolbar{display:flex;justify-content:space-around;align-items:center;width:100%;max-width:600px;max-height:80vh;margin:0 auto;border-radius:0;background:transparent;box-shadow:none;padding:0;position:relative}.toolbar-main{display:flex;flex-direction:row;justify-content:space-around;align-items:center;width:100%;gap:8px}.toolbar-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff;border:none;font-size:1.6rem;box-shadow:none;outline:none;transition:background .18s,box-shadow .18s,border .18s;padding:0}.toolbar-button:hover,.toolbar-button:focus{background:#f5f5f5;box-shadow:0 2px 8px #00000008}.toolbar-button.active{opacity:1}.send-toolbar-button{opacity:.5;transition:opacity .2s}.send-toolbar-button.active{opacity:1}.send-toolbar-button.stop-active{opacity:1!important}@media (max-width: 600px){.toolbar-container,.chat-toolbar{max-width:100%;padding:0}.toolbar-button{width:36px;height:36px;border-radius:8px;font-size:1.2rem}}.toolbar-left-section{display:flex;align-items:center;padding-left:4px}.camera-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border:none!important;background:transparent!important;border-radius:50%!important;cursor:pointer!important;color:#0009!important;transition:background .15s ease!important;padding:0!important}.camera-btn svg,.camera-btn path{fill:#0009!important;stroke:#0009!important;opacity:1!important;visibility:visible!important}.camera-btn:hover{background:#0000000a!important}.camera-btn:hover svg,.camera-btn:hover path{fill:#000c!important;stroke:#000c!important}.camera-btn:active{background:#00000014!important}.toolbar-left-section .toolbar-main,.toolbar-left-section .toolbar-send-button{display:none}:root{--standard-glow-duration: 2s;--standard-border-pulse-duration: 2s;--standard-spin-duration: 1s;--standard-fade-duration: .2s;--standard-glow-animation: standardGlow 2s ease-in-out infinite;--standard-border-pulse-animation: standardBorderPulse 2s ease-in-out infinite;--standard-spin-animation: standardSpin 1s linear infinite;--standard-fade-animation: fadeInScale .2s ease-out}@keyframes standardGlow{0%,to{box-shadow:0 0 5px var(--theme-color-glow, rgba(74, 105, 189, .3))}50%{box-shadow:0 0 15px var(--theme-color-glow, rgba(74, 105, 189, .7))}}@keyframes standardBorderPulse{0%,to{border-color:var(--theme-color, #4a69bd);box-shadow:0 0 5px var(--theme-color-glow, rgba(74, 105, 189, .3))}50%{border-color:var(--theme-color-light, #6c7ae0);box-shadow:0 0 15px var(--theme-color-glow, rgba(74, 105, 189, .7))}}@keyframes standardSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.highlighted{border-color:var(--theme-color, #4a69bd);animation:var(--standard-border-pulse-animation)}.highlighted.glow{animation:var(--standard-glow-animation)}.highlighted.pulse{animation:var(--standard-border-pulse-animation)}.loading-spinner{animation:var(--standard-spin-animation)}.toolbar-popup{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;overflow:hidden;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;box-sizing:border-box!important;word-wrap:break-word;overflow-wrap:break-word}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #eee;background:linear-gradient(135deg,var(--theme-color, #4a69bd) 0%,var(--theme-color-dark, #3b529a) 100%);color:#fff}.popup-title{font-weight:500;font-size:14px;color:#fff}.popup-close{background:none;border:none;cursor:pointer;color:#fffc;font-size:16px;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;transition:all .2s ease}.popup-close:hover{background-color:#ffffff1a;color:#fff}.popup-instructions{padding:10px 12px;background-color:#fff;border-bottom:1px solid var(--theme-color-border, rgba(74, 105, 189, .15));font-size:12px;color:var(--theme-color, #4a69bd);line-height:1.4}.popup-tabs{display:flex;overflow-x:auto;background-color:#f0f0f0;border-bottom:1px solid #ddd;flex-shrink:0;min-height:40px}.popup-tab{padding:4px 12px;font-size:12px;white-space:nowrap;cursor:pointer;border:none;background:none;color:#555;transition:all .2s ease;line-height:1;height:auto}.popup-tab:hover{background-color:#e5e5e5}.popup-tab.active{background-color:#fff;color:var(--theme-color, #4a69bd);font-weight:500;border-bottom:2px solid var(--theme-color, #4a69bd)}.popup-content{flex:1;overflow-y:auto;padding:12px;box-sizing:border-box;width:100%}.popup-content::-webkit-scrollbar{width:6px;height:6px}.popup-content::-webkit-scrollbar-track{background:transparent;border-radius:3px}.popup-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px;transition:background-color .3s}.popup-content::-webkit-scrollbar-thumb:hover{background-color:#0006}.popup-button{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:13px;cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-align:left}.popup-button:hover{background-color:#f5f5f5;border-color:#bbb}.popup-button:active{background-color:#eee;transform:translateY(1px)}.popup-loading,.popup-error,.popup-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;text-align:center}.popup-loading p,.popup-error p,.popup-empty-state p{color:#666;font-size:14px;margin:10px 0}.popup-error p{color:#e74c3c}.popup-spinner-container{display:flex;justify-content:center;align-items:center;margin-bottom:10px}.popup-spinner{width:40px;height:40px;border:3px solid rgba(74,105,189,.1);border-radius:50%;border-top-color:var(--theme-color, #4a69bd);animation:var(--standard-spin-animation)}.math-symbols-popup{width:360px!important;max-width:360px!important;min-width:360px!important;max-height:350px;box-sizing:border-box!important}.math-symbols-section{display:flex;flex-wrap:wrap;gap:6px}.math-symbol-button{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.math-symbol-button:hover{background-color:#f5f5f5;border-color:#bbb}.math-symbol-button:active{background-color:#eee;transform:translateY(1px)}.voice-input-button{transition:all .18s ease}.voice-input-button:hover:not(:disabled){background:#f5f5f5;box-shadow:0 2px 8px #00000008}.voice-input-button.active{background:#ffebee;box-shadow:0 2px 8px #f4433626}.voice-input-button.active:hover{background:#ffcdd2}.voice-input-button:disabled{opacity:.5;cursor:not-allowed}.voice-input-button:focus{outline:2px solid #2979FF;outline-offset:2px}.voice-input-button.active img{animation:pulse 2s infinite}@media (prefers-contrast: high){.voice-input-button.active{background:#d32f2f;border:2px solid #ffffff}.voice-input-button.active img{filter:brightness(0) invert(1)}}.mobile-camera-button{position:relative}.mobile-camera-button:disabled{opacity:.6;cursor:not-allowed}.upload-indicator{position:absolute;top:2px;right:2px;width:12px;height:12px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center}.upload-spinner{width:8px;height:8px;border:1px solid #ef4444;border-top:1px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.mobile-camera-error-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#ef4444;color:#fff;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 6px -1px #0000001a;z-index:10000;max-width:90%;animation:slideUpFadeIn .3s ease-out}.mobile-camera-error-toast button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease}.mobile-camera-error-toast button:hover{background:#fff3}@keyframes slideUpFadeIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.camera-options-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.camera-options-modal{background:#fff;border-radius:16px;padding:0;max-width:320px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 25px -5px #0000004d;animation:modalSlideIn .3s ease-out}.camera-options-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e5e7eb}.camera-options-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.camera-options-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.camera-options-close:hover{background:#0000000d;color:#374151}.camera-options-content{padding:20px}.camera-options-content p{margin:0 0 20px;color:#6b7280;font-size:14px}.camera-options-buttons{display:flex;flex-direction:column;gap:12px}.camera-option-button{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left;width:100%}.camera-option-button:hover{background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px)}.camera-option-button:active{transform:translateY(0)}.camera-option-take-photo{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.camera-option-take-photo:hover{border-color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fecaca)}.camera-option-upload{border-color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.camera-option-upload:hover{border-color:#2563eb;background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.camera-option-icon{font-size:32px;flex-shrink:0}.camera-option-text{flex:1}.camera-option-text strong{display:block;font-size:16px;font-weight:600;color:#111827;margin-bottom:4px}.camera-option-text small{display:block;font-size:13px;color:#6b7280}.camera-options-footer{padding:20px;border-top:1px solid #e5e7eb}.camera-cancel-button{width:100%;padding:12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.camera-cancel-button:hover{background:#e5e7eb;border-color:#9ca3af}.mobile-camera-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:10001;display:flex;flex-direction:column}.mobile-camera-container{display:flex;flex-direction:column;height:100%;position:relative}.mobile-camera-view{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.mobile-camera-video{width:100%;height:100%;object-fit:cover}.mobile-camera-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.mobile-camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;text-align:center;padding:20px}.retry-button{padding:12px 24px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:hover{background:#dc2626}.mobile-camera-guides{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px;aspect-ratio:1;pointer-events:none}.camera-guide-corners{position:relative;width:100%;height:100%}.guide-corner{position:absolute;width:20px;height:20px;border:2px solid rgba(255,255,255,.8)}.guide-corner.top-left{top:0;left:0;border-right:none;border-bottom:none;border-top-left-radius:4px}.guide-corner.top-right{top:0;right:0;border-left:none;border-bottom:none;border-top-right-radius:4px}.guide-corner.bottom-left{bottom:0;left:0;border-right:none;border-top:none;border-bottom-left-radius:4px}.guide-corner.bottom-right{bottom:0;right:0;border-left:none;border-top:none;border-bottom-right-radius:4px}.mobile-camera-controls{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-control-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:50%}.camera-close-button,.camera-switch-button{width:48px;height:48px;background:#fff3;font-size:20px;color:#fff}.camera-close-button:hover,.camera-switch-button:hover{background:#ffffff4d;transform:scale(1.05)}.camera-control-button:disabled{opacity:.5;cursor:not-allowed}.camera-capture-button{width:80px;height:80px;background:none;padding:0}.capture-button-ring{width:80px;height:80px;border:4px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#ffffff1a}.capture-button-center{width:60px;height:60px;background:#fff;border-radius:50%;transition:all .2s ease}.camera-capture-button:hover .capture-button-ring{border-color:#ef4444;background:#ef444433}.camera-capture-button:hover .capture-button-center{background:#ef4444;transform:scale(.9)}.camera-capture-button:active .capture-button-center{transform:scale(.8)}.mobile-camera-info{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#0009;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.camera-type-indicator{display:flex;align-items:center;gap:8px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 480px){.camera-options-modal{width:95%;max-width:none}.camera-options-header,.camera-options-content,.camera-options-footer{padding:16px}.camera-option-button{padding:14px;gap:12px}.camera-option-icon{font-size:28px}.mobile-camera-controls{padding:16px}.camera-capture-button,.capture-button-ring{width:70px;height:70px}.capture-button-center{width:50px;height:50px}.camera-close-button,.camera-switch-button{width:44px;height:44px;font-size:18px}}@media (orientation: landscape) and (max-height: 500px){.mobile-camera-controls{padding:12px 20px}.mobile-camera-info{top:12px}.camera-guide-corners{max-width:200px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.custom-notification{position:fixed;top:20px;left:50%;z-index:10002;max-width:400px;min-width:300px;transform:translate(-50%) translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.custom-notification.visible{transform:translate(-50%) translateY(0)}.custom-notification.hidden{transform:translate(-50%) translateY(-100%)}.notification-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;padding:16px;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-icon{font-size:20px;flex-shrink:0}.notification-message{flex:1;font-size:14px;font-weight:500;color:#374151;line-height:1.4}.notification-close{background:none;border:none;font-size:18px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;flex-shrink:0}.notification-close:hover{color:#6b7280;background:#f3f4f6}.custom-notification.success .notification-content{border-left:4px solid #10b981}.custom-notification.error .notification-content{border-left:4px solid #ef4444}.custom-notification.info .notification-content{border-left:4px solid #3b82f6}@media (max-width: 640px){.custom-notification{top:10px;left:10px;right:10px;max-width:none;min-width:auto;transform:translateY(-100%)}.custom-notification.visible{transform:translateY(0)}.custom-notification.hidden{transform:translateY(-100%)}.notification-content{padding:12px}.notification-message{font-size:13px}}.image-crop-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10001}.image-crop-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:image-crop-fade-in .2s ease-out}@keyframes image-crop-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.image-crop-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #eaeaea}.image-crop-header h3{margin:0;font-size:18px;font-weight:500;color:#333}.image-crop-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;margin:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.image-crop-close:hover{color:#333;background-color:#f5f5f5}.image-crop-content{padding:15px 20px;overflow-y:auto}.image-crop-content p{margin-top:0;margin-bottom:15px;color:#555}.image-crop-container{border:1px solid #eaeaea;border-radius:4px;overflow:hidden;margin-bottom:10px;max-height:400px;display:flex;align-items:center;justify-content:center;background-color:#f9f9f9}.image-crop-container .ReactCrop{max-width:100%;max-height:400px}.image-crop-container .ReactCrop__crop-selection{border:2px solid #000000!important;background:#007aff1a!important}.image-crop-container .ReactCrop__drag-handle{background:#000!important;border:2px solid rgb(255,255,255)!important;width:8px!important;height:8px!important;border-radius:2!important}@media (max-width: 768px){.image-crop-container .ReactCrop__drag-handle{width:12px!important;height:12px!important}}.image-crop-actions{display:flex;justify-content:flex-end;padding:15px 20px;border-top:1px solid #eaeaea}.image-crop-button{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.image-crop-cancel{background-color:#fff;border:1px solid #ddd;color:#555;margin-right:10px}.image-crop-cancel:hover{background-color:#f5f5f5}.image-crop-confirm{background-color:#2196f3;border:1px solid #2196F3;color:#fff}.image-crop-confirm:hover:not(:disabled){background-color:#1976d2}.image-crop-confirm:disabled{background-color:#ccc;border:1px solid #ccc;cursor:not-allowed}@media (max-width: 768px){.image-crop-modal{width:95%;max-width:none;max-height:95vh}.image-crop-container{height:300px}.image-crop-actions{padding:15px}.image-crop-button{padding:14px 20px;font-size:16px}}@media (hover: none) and (pointer: coarse){.image-crop-button:active{transform:scale(.98)}.image-crop-close:active{background-color:#e8e8e8}}@media (prefers-contrast: high){.image-crop-container .ReactCrop__crop-selection,.image-crop-container .ReactCrop__drag-handle{border-width:3px!important}}@media (prefers-reduced-motion: reduce){.image-crop-modal{animation:none}.image-crop-button,.image-crop-close{transition:none}}.audio-waveform{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:8px;padding:8px 12px}.waveform-container{display:flex;align-items:center;justify-content:center;gap:2px;height:20px;width:100%;max-width:200px}.waveform-bar{background:linear-gradient(to top,#64748b,#94a3b8,#cbd5e1)!important;width:2px;min-height:3px;border-radius:1px;transition:height .05s ease-out;animation:waveformPulse 1.5s ease-in-out infinite}.waveform-bar:nth-child(odd){animation-delay:.1s}.waveform-bar:nth-child(2n){animation-delay:.2s}@keyframes waveformPulse{0%,to{opacity:.8;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1.1)}}.recording-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;font-weight:500}.recording-dot{width:8px;height:8px;background:#64748b!important;border-radius:50%;animation:recordingBlink 1s ease-in-out infinite}@keyframes recordingBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}.recording-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.5px}@media (max-width: 768px){.waveform-container{max-width:250px;height:28px}.waveform-bar{width:2px}.recording-indicator{font-size:11px}.recording-dot{width:6px;height:6px}}@media (max-width: 480px){.waveform-container{max-width:200px;height:24px;gap:1px}.waveform-bar{width:2px}}.scientific-calculator-advanced{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:0;width:100%;font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}:root{--primary-text: #202124;--secondary-text: #5F6368;--border-light: #DADCE0;--border-medium: #E6E8F0;--button-white: #FFFFFF;--button-gray: #E6E6E6;--button-gray-border: #CFCFCF;--accent-blue: #1A73E8;--disabled-opacity: .38;--base-spacing: 8px;--button-radius: 12px;--pill-radius: 16px}.popup-header.calculator-drag-handle{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border-light);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0}.drag-title{font-size:14px;font-weight:600;color:var(--primary-text)}.drag-grip{color:var(--secondary-text);display:flex;align-items:center;justify-content:center;opacity:.6}.drag-grip:hover{opacity:1}.calculator-top-bar{height:48px;background:#fff;border-bottom:1px solid var(--border-light);display:flex;align-items:center;padding:0 12px;flex-shrink:0}.expression-section{display:flex;align-items:center;width:100%;gap:12px}.expression-input{flex:1;border:none;outline:none;background:transparent;font-size:16px;color:var(--primary-text);font-family:JetBrains Mono,SF Mono,Consolas,monospace;padding:8px 0}.expression-input::placeholder{color:var(--secondary-text);opacity:.7}.result-section{color:var(--primary-text);font-weight:600;font-size:16px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;white-space:nowrap}.copy-btn{width:32px;height:32px;border-radius:50%;background:#f8f9fa;border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.copy-btn:hover{background:#f1f3f4;transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.calculator-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-medium);background:#fafbfc;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:24px}.toolbar-right{display:flex;align-items:center;gap:8px}.tab{background:none;border:none;font-size:14px;font-weight:500;color:var(--secondary-text);cursor:pointer;padding:8px 0;position:relative;transition:color .15s ease;text-transform:lowercase}.tab:hover{color:var(--primary-text)}.tab.active{color:var(--primary-text);font-weight:600}.tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--accent-blue);border-radius:1px}.angle-toggle{display:flex;gap:6px}.angle-btn{padding:6px 16px;border:1px solid var(--border-light);background:#fff;color:var(--secondary-text);font-size:12px;font-weight:500;border-radius:var(--pill-radius);cursor:pointer;transition:all .15s ease;min-width:64px;text-align:center}.angle-btn:hover{background:#f8f9fa}.angle-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.toolbar-btn{width:32px;height:32px;border:none;background:transparent;color:var(--secondary-text);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.toolbar-btn:hover:not(:disabled){background:#00000014;color:var(--primary-text)}.toolbar-btn:disabled{opacity:var(--disabled-opacity);cursor:not-allowed}.toolbar-btn-text{background:none;border:none;color:var(--secondary-text);font-size:12px;cursor:pointer;padding:6px 8px;border-radius:4px;transition:all .15s ease}.toolbar-btn-text:hover{background:#00000014;color:var(--primary-text)}.abc-modifiers{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#f8f9fa;border-bottom:1px solid var(--border-medium);flex-shrink:0}.modifier-btn{padding:4px 8px;border:1px solid var(--border-light);background:#fff;color:var(--secondary-text);font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease}.modifier-btn:hover{background:#f1f3f4}.modifier-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.page-controls{display:flex;align-items:center;gap:8px}.page-btn{width:24px;height:24px;border:none;background:#fff;color:var(--secondary-text);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border:1px solid var(--border-light)}.page-btn:hover{background:#f1f3f4}.page-indicator{font-size:11px;color:var(--secondary-text);min-width:50px;text-align:center}.calculator-mode-toggle{padding:6px 12px;background:#f8f9fa;border-bottom:1px solid var(--border-medium);flex-shrink:0}.mode-tabs{display:flex;gap:4px}.mode-tab{padding:6px 12px;border:none;border-radius:6px;background:transparent;color:#6b7280;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.mode-tab:hover{background:#e5e7eb;color:#374151}.mode-tab.active{background:var(--accent-blue);color:#fff}.keypad-grid{display:grid;grid-template-columns:2fr 2fr 1fr 2fr;gap:6px;padding:8px;background:#fff;flex:1;align-content:stretch;min-height:0;width:100%}.keypad-block{display:flex;flex-direction:column;gap:6px;height:100%;width:100%;min-height:0}.keypad-row{display:flex;gap:6px;flex:1;min-height:0;width:100%}.keypad-btn{flex:1;min-height:28px;width:100%;border-radius:8px;border:1px solid var(--border-light);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative;outline:none}.keypad-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.keypad-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001f}.keypad-btn:focus{box-shadow:0 0 0 2px #1a73e866}.f-block-container .keypad-btn{background:var(--button-white);color:var(--primary-text);border-color:var(--border-light)}.f-block-container .keypad-btn:hover{background:#f8f9fa}.n-btn{background:var(--button-gray)!important;color:var(--primary-text)!important;border-color:var(--button-gray-border)!important;font-weight:600}.n-btn:hover{background:#d9d9d9!important}.o-block{display:flex;flex-direction:column;gap:6px;height:100%;width:100%}.o-btn{background:var(--button-white)!important;color:var(--primary-text)!important;border-color:var(--border-light)!important;font-size:20px;font-weight:400}.o-btn:hover{background:#f8f9fa!important}.u-block .keypad-row:nth-child(1) .keypad-btn,.u-block .keypad-row:nth-child(2) .keypad-btn{background:var(--button-white);color:var(--primary-text);border-color:var(--border-light)}.u-block .keypad-row:nth-child(1) .keypad-btn:hover,.u-block .keypad-row:nth-child(2) .keypad-btn:hover{background:#f8f9fa}.delete-btn{background:var(--button-gray)!important;border-color:var(--button-gray-border)!important}.delete-btn:hover{background:#d9d9d9!important}.spacer-btn{background:var(--button-gray)!important;border-color:var(--button-gray-border)!important;cursor:default;opacity:.5}.spacer-btn:hover{transform:none;box-shadow:none;background:var(--button-gray)!important}.delete-icon{display:flex;align-items:center;justify-content:center}.delete-square{width:18px;height:18px;background:#333;color:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.enter-btn{grid-column:span 2;background:var(--accent-blue)!important;color:#fff!important;border-color:var(--accent-blue)!important;font-weight:600;width:100%}.enter-btn:hover{background:#1557b0!important}.fraction-display{display:flex;flex-direction:column;align-items:center;font-size:12px;line-height:1}.fraction-num,.fraction-den{font-weight:500}.fraction-line{width:12px;height:1px;background:currentColor;margin:1px 0}.calculator-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;border:none;background:#f8f9fa;color:var(--secondary-text);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:all .15s ease;z-index:10}.calculator-close-btn:hover{background:#e8eaed;color:var(--primary-text)}.toast{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:12px;z-index:100;animation:toastFadeIn .3s ease}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.scientific-calculator-advanced{container-type:inline-size}.scientific-calculator-advanced[data-embedded=true]{border-radius:0;box-shadow:none;max-width:none!important;min-width:auto!important;width:100%!important}.scientific-calculator-advanced[data-embedded=false]{width:100%!important;height:100%!important;max-width:none!important;min-width:400px!important;min-height:300px!important}.scientific-calculator-advanced[data-embedded=true] .calculator-top-bar,.scientific-calculator-advanced[data-embedded=true] .calculator-toolbar,.scientific-calculator-advanced[data-embedded=true] .abc-modifiers,.scientific-calculator-advanced[data-embedded=true] .calculator-mode-toggle,.scientific-calculator-advanced[data-embedded=true] .keypad-grid{width:100%!important}.scientific-calculator-advanced[data-embedded=true] .keypad-btn{flex:1 1 auto!important;min-width:0!important;width:auto!important;min-height:24px!important;font-size:12px!important}.scientific-calculator-advanced[data-embedded=true] .keypad-row,.scientific-calculator-advanced[data-embedded=true] .keypad-block{width:100%!important;flex:1!important}.scientific-calculator-advanced[data-embedded=false] .keypad-btn{flex:1 1 auto!important;min-width:0!important;width:auto!important;min-height:32px!important}.scientific-calculator-advanced[data-embedded=false] .keypad-row,.scientific-calculator-advanced[data-embedded=false] .keypad-block,.scientific-calculator-advanced[data-embedded=false] .keypad-grid{width:100%!important;flex:1!important}@container (max-width: 500px){.scientific-calculator-advanced[data-embedded=true]{min-width:100%;border-radius:8px;box-shadow:none}.keypad-btn{min-height:26px;min-width:45px;font-size:12px}.calculator-top-bar{height:44px}.expression-input,.result-section{font-size:13px}.keypad-grid{gap:4px;padding:8px}.toolbar-left,.tabs{gap:8px}.angle-btn{min-width:45px;padding:4px 8px;font-size:11px}}@media (max-width: 768px){.scientific-calculator-advanced{max-width:95vw}.keypad-btn{min-height:30px;min-width:50px;font-size:13px}.calculator-top-bar{height:48px}.expression-input,.result-section{font-size:13px}}@media (max-width: 480px){.keypad-btn{min-height:28px;min-width:45px;font-size:12px}.keypad-grid{gap:3px;padding:6px}.toolbar-left,.tabs{gap:12px}}.graph-canvas{display:block;width:100%;height:100%;background:#fff;-webkit-user-select:none;user-select:none;transition:cursor .15s ease}.graph-canvas.dragging{cursor:grabbing!important}.graph-canvas:focus{outline:2px solid #1A73E8;outline-offset:2px}:root{--gc-primary-color: #1A73E8;--gc-primary-hover: #1765CC;--gc-text-primary: #202124;--gc-text-secondary: #5F6368;--gc-border-color: #DADCE0;--gc-divider-color: #E6E8F0;--gc-canvas-bg: #FFFFFF;--gc-panel-bg: #FAFBFC;--gc-radius-button: 8px;--gc-radius-small: 6px;--gc-base-unit: 8px;--gc-hover-tint: rgba(0, 0, 0, .04);--gc-pressed-tint: rgba(0, 0, 0, .08);--gc-focus-ring: rgba(26, 115, 232, .4)}.graphing-calculator{width:1200px;height:800px;background:var(--gc-canvas-bg);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;overflow:hidden;position:relative;z-index:10000;border:1px solid var(--gc-border-color)}.top-bar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--gc-canvas-bg);border-bottom:1px solid var(--gc-divider-color);flex-shrink:0}.graphing-calculator-drag-handle{cursor:grab}.graphing-calculator-drag-handle:active{cursor:grabbing}.left-cluster,.right-cluster{display:flex;align-items:center;gap:12px}.menu-btn{width:32px;height:32px;border:none;background:none;border-radius:var(--gc-radius-small);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);transition:background-color .15s ease}.menu-btn:hover{background-color:var(--gc-hover-tint)}.graph-title{border:none;font-size:16px;font-weight:600;color:var(--gc-text-primary);background:none;outline:none;padding:4px 8px;border-radius:4px;min-width:200px;transition:background-color .15s ease}.graph-title:focus{background-color:var(--gc-panel-bg);box-shadow:0 0 0 2px var(--gc-focus-ring)}.toolbar-btn{width:32px;height:32px;border:none;background:none;border-radius:var(--gc-radius-small);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);transition:background-color .15s ease}.toolbar-btn:hover{background-color:var(--gc-hover-tint)}.close-btn{width:32px;height:32px;border:none;background:none;border-radius:var(--gc-radius-small);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);transition:all .15s ease}.close-btn:hover{background-color:#ea43351a;color:#ea4335}.main-content{flex:1;display:flex;min-height:0}.expressions-pane{width:360px;background:var(--gc-panel-bg);border-right:1px solid var(--gc-divider-color);display:flex;flex-direction:column;flex-shrink:0}.pane-header{height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--gc-divider-color);flex-shrink:0}.tabs{display:flex;gap:20px}.tab{border:none;background:none;font-size:14px;color:var(--gc-text-secondary);cursor:pointer;padding:8px 0;position:relative;transition:color .15s ease}.tab:hover{color:var(--gc-text-primary)}.tab.active{color:var(--gc-primary-color)}.tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gc-primary-color)}.mode-toggle{display:flex;gap:4px;margin-left:auto;background:var(--gc-panel-bg);border-radius:var(--gc-radius-small);padding:2px}.mode-tab{padding:6px 12px;border:none;border-radius:4px;background:transparent;color:var(--gc-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.mode-tab:hover{background:var(--gc-hover-tint);color:var(--gc-text-primary)}.mode-tab.active{background:var(--gc-primary-color);color:#fff}.add-item-bar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--gc-divider-color);position:relative;flex-shrink:0}.add-item-btn{height:32px;padding:0 12px;border:1px solid var(--gc-border-color);background:var(--gc-canvas-bg);border-radius:16px;font-size:13px;color:var(--gc-text-primary);cursor:pointer;transition:all .15s ease}.add-item-btn:hover{background-color:var(--gc-hover-tint);border-color:var(--gc-text-secondary)}.more-options-btn{width:32px;height:32px;border:none;background:none;border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);transition:background-color .15s ease}.more-options-btn:hover{background-color:var(--gc-hover-tint)}.add-item-popover{position:absolute;top:100%;left:16px;width:280px;background:var(--gc-canvas-bg);border:1px solid var(--gc-border-color);border-radius:var(--gc-radius-button);box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.popover-item{width:100%;height:40px;border:none;background:none;display:flex;align-items:center;gap:12px;padding:0 16px;cursor:pointer;font-size:14px;color:var(--gc-text-primary);transition:background-color .15s ease}.popover-item:hover{background-color:var(--gc-hover-tint)}.popover-item.active{background-color:var(--gc-primary-color);color:#fff}.item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.expressions-list{flex:1;overflow-y:auto;padding:calc(var(--gc-base-unit) * 2) 0}.empty-state{padding:40px 20px;text-align:center;color:var(--gc-text-secondary)}.expression-row{min-height:44px;display:flex;align-items:center;gap:var(--gc-base-unit);padding:0 12px;margin:2px 8px;border-radius:var(--gc-radius-small);cursor:pointer;transition:background-color .15s ease}.expression-row:hover{background-color:var(--gc-hover-tint)}.expression-row.selected{background-color:#1a73e81a;border-left:2px solid var(--gc-primary-color)}.expression-row.hidden{opacity:.6}.drag-handle{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--gc-text-secondary);flex-shrink:0}.drag-handle:active{cursor:grabbing}.color-swatch{width:18px;height:18px;border:none;border-radius:50%;cursor:pointer;position:relative;flex-shrink:0;transition:transform .15s ease}.color-swatch:hover{transform:scale(1.1)}.hidden-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--gc-text-secondary);font-size:14px;line-height:1}.math-field{flex:1;border:none;background:none;outline:none;font-size:14px;color:var(--gc-text-primary);padding:4px;border-radius:4px;font-family:Courier New,monospace}.math-field:focus{background-color:#fffc;box-shadow:0 0 0 1px var(--gc-primary-color)}.row-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s ease;flex-shrink:0}.expression-row:hover .row-actions,.expression-row.selected .row-actions{opacity:1}.action-btn{width:28px;height:28px;border:none;background:none;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);transition:all .15s ease}.action-btn:hover{background-color:var(--gc-hover-tint);color:var(--gc-text-primary)}.graph-pane{flex:1;position:relative;background:var(--gc-canvas-bg);min-height:0}.graph-canvas{width:100%;height:100%;display:block}.floating-controls{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:12px;z-index:100}.control-btn{width:40px;height:40px;border:none;background:var(--gc-canvas-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gc-text-secondary);box-shadow:0 2px 8px #0000001a;transition:all .15s ease}.control-btn:hover{background-color:var(--gc-hover-tint);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.math-keyboard-toggle{position:absolute;bottom:16px;left:16px;width:40px;height:40px;border:none;background:var(--gc-primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:0 2px 8px #1a73e84d;transition:all .15s ease;z-index:100}.math-keyboard-toggle:hover{background-color:var(--gc-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1a73e866}.math-keyboard{position:absolute;bottom:0;left:0;right:0;height:280px;background:var(--gc-canvas-bg);border-top:1px solid var(--gc-divider-color);padding:16px;display:flex;flex-direction:column;gap:var(--gc-base-unit);box-shadow:0 -4px 12px #0000001a}.keyboard-row{display:flex;gap:var(--gc-base-unit);flex:1}.keyboard-key{flex:1;border:1px solid var(--gc-border-color);background:var(--gc-canvas-bg);border-radius:var(--gc-radius-small);font-size:16px;color:var(--gc-text-primary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;font-weight:500}.keyboard-key:hover{background-color:var(--gc-hover-tint);border-color:var(--gc-text-secondary)}.keyboard-key:active{background-color:var(--gc-pressed-tint)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.graph-settings-modal{width:100%;max-width:420px;background:var(--gc-canvas-bg);border-radius:var(--gc-radius-button);box-shadow:0 8px 24px #0003;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--gc-divider-color)}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--gc-text-primary)}.modal-content{padding:24px}.settings-section{margin-bottom:24px}.settings-section:last-child{margin-bottom:0}.settings-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--gc-text-primary)}.input-group{display:flex;align-items:center;gap:12px;margin-bottom:12px}.input-group:last-child{margin-bottom:0}.input-group label{min-width:60px;font-size:14px;color:var(--gc-text-secondary);font-weight:500}.input-group input{flex:1;height:36px;padding:0 12px;border:1px solid var(--gc-border-color);border-radius:var(--gc-radius-small);font-size:14px;color:var(--gc-text-primary);background:var(--gc-canvas-bg);transition:border-color .15s ease}.input-group input:focus{outline:none;border-color:var(--gc-primary-color);box-shadow:0 0 0 2px #1a73e833}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid var(--gc-divider-color);background:var(--gc-panel-bg)}.btn{height:36px;padding:0 16px;border-radius:var(--gc-radius-button);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;display:flex;align-items:center;justify-content:center}.btn.secondary{background:transparent;color:var(--gc-text-secondary);border:1px solid var(--gc-border-color)}.btn.secondary:hover{background-color:var(--gc-hover-tint);border-color:var(--gc-text-secondary)}.btn.primary{background:var(--gc-primary-color);color:#fff}.btn.primary:hover{background-color:var(--gc-primary-hover)}@media (max-width: 768px){.graphing-calculator{border-radius:0;height:100vh;max-height:none}.expressions-pane{width:100%;max-width:300px}.math-keyboard{height:240px;padding:12px}.keyboard-key{font-size:14px}}button:focus-visible,input:focus-visible{outline:2px solid var(--gc-primary-color);outline-offset:2px}.expression-row{animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.expressions-list,.graph-pane{transition:all .3s ease}.expressions-list::-webkit-scrollbar{width:8px}.expressions-list::-webkit-scrollbar-track{background:var(--gc-panel-bg)}.expressions-list::-webkit-scrollbar-thumb{background:var(--gc-border-color);border-radius:4px}.expressions-list::-webkit-scrollbar-thumb:hover{background:var(--gc-text-secondary)}.mobile-input-area{padding:12px 16px;background:#fff;border-top:1px solid #e5e7eb;position:sticky;bottom:0;z-index:1000}.mobile-input-container{display:flex;align-items:center;gap:12px;max-width:100%}.mobile-camera-button{width:40px;height:40px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0;transition:all .2s ease;cursor:pointer;outline:none;box-shadow:none;padding:0;position:relative;overflow:hidden}.mobile-camera-button svg{stroke:#6b7280;fill:none;width:20px;height:20px;display:block;shape-rendering:geometricPrecision;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mobile-camera-button:hover{background:#f3f4f6;color:#374151}.mobile-camera-button:hover svg{stroke:#374151}.mobile-camera-button:disabled{opacity:.5;cursor:not-allowed}.mobile-camera-button:disabled svg{stroke:#9ca3af}.mobile-input-field{flex:1;display:flex;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:24px;padding:8px 12px;gap:8px;min-height:44px;max-height:44px;box-sizing:border-box}.mobile-textarea{flex:1;border:none;background:transparent;outline:none;resize:none;font-size:16px;line-height:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#111827;padding:0;margin:0;height:20px;min-height:20px;max-height:20px;overflow:hidden;vertical-align:middle}.mobile-textarea::placeholder{color:#9ca3af;font-size:16px}.mobile-textarea:disabled{color:#9ca3af;cursor:not-allowed}.mobile-send-button{width:32px;height:32px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;color:#d1d5db;flex-shrink:0;transition:all .2s ease;cursor:pointer;padding:0;margin:0}.mobile-send-button.active{color:#ef4444}.mobile-send-button.active:hover{background:#fef2f2;color:#dc2626}.mobile-send-button:disabled{color:#d1d5db;cursor:not-allowed}.mobile-send-button:disabled:hover{background:transparent}.mobile-textarea:focus{outline:none}.mobile-input-field:focus-within{border-color:#ef4444;box-shadow:none}@media (max-width: 320px){.mobile-input-area{padding:8px 12px}.mobile-input-container{gap:8px}.mobile-camera-button{width:36px;height:36px}}.camera-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.camera-modal{background:#fff;border-radius:24px;min-width:320px;max-width:400px;width:90%;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px #00000040;animation:slideUp .3s ease-out;position:relative;z-index:10000}.camera-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 20px;background:linear-gradient(135deg,#f8f9ff,#f1f5ff);border-radius:24px 24px 0 0}.camera-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1a202c;letter-spacing:-.025em}.modal-close{background:#fffc;border:none;font-size:20px;cursor:pointer;color:#64748b;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.3)}.modal-close:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.camera-modal-actions{padding:24px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff,#fafbff);border-radius:0 0 24px 24px}.camera-modal .action-button{display:flex;align-items:center;gap:12px;padding:16px 20px;border:none;border-radius:16px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:60px;text-align:left}.camera-modal .action-button.primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.camera-modal .action-button.primary:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #ef444466}.camera-modal .action-button.secondary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.camera-modal .action-button.secondary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #6366f166}.camera-modal .action-button.tertiary{background:#f8fafccc;color:#64748b;border:2px solid rgba(226,232,240,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.camera-modal .action-button.tertiary:hover{background:#ef44440d;border-color:#ef444433;color:#ef4444;transform:translateY(-1px)}.action-icon{font-size:20px;min-width:24px;text-align:center}.action-text{font-weight:600;font-size:15px}@media (max-width: 480px){.camera-modal{min-width:280px;width:92%;max-height:75vh;margin:8px}.camera-modal-header{padding:20px 20px 16px}.camera-modal-header h3{font-size:16px}.camera-modal-actions{padding:20px;gap:10px}.camera-modal .action-button{padding:14px 18px;font-size:14px;border-radius:10px;min-height:44px;width:100%}}@media (prefers-color-scheme: dark){.mobile-input-area{background:#1f2937;border-color:#374151}.mobile-input-field{background:#374151;border-color:#4b5563}.mobile-textarea{color:#f9fafb}.mobile-textarea::placeholder{color:#9ca3af}.mobile-camera-button{color:#d1d5db}.mobile-camera-button:hover{background:#4b5563;color:#f3f4f6}}.messages-container{flex:1;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;position:relative;background-color:#f8fafce6;border-radius:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;scroll-behavior:auto;will-change:scroll-position;cursor:default}.messages-container:hover{scrollbar-color:rgba(0,0,0,.4) transparent}.messages-container::-webkit-scrollbar{width:6px;height:6px}.messages-container::-webkit-scrollbar-track{background:transparent;border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px;transition:background-color .3s,opacity 1s ease-out;opacity:0}.messages-container::-webkit-scrollbar-thumb:hover{background-color:#0006;opacity:1}.messages-container:hover::-webkit-scrollbar-thumb,.messages-container:active::-webkit-scrollbar-thumb,.messages-container:focus::-webkit-scrollbar-thumb{opacity:1;transition:background-color .3s,opacity .1s ease-in}.messages-container::-webkit-scrollbar-thumb{opacity:0;transition:opacity 1s ease-out}.messages-container.scrollbar-visible::-webkit-scrollbar-thumb{opacity:1;transition:opacity .1s ease-in}.messages-container:hover::-webkit-scrollbar-thumb{opacity:1;transition:opacity .1s ease-in}.user-message-container{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:8px;max-width:80%;align-self:flex-end}.bot-message-container{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:8px;max-width:80%;align-self:flex-start}.user-message{background-color:var(--theme-color, #4965b5);color:#fff!important;border-radius:18px 18px 4px;padding:10px 16px;max-width:100%;margin-bottom:4px;box-shadow:0 1px 2px #0000001a;word-break:break-word;font-size:14px!important;white-space:pre-wrap}.bot-message{background-color:#f0f0f0;color:#000!important;border-radius:18px 18px 18px 4px;border-left:3px solid var(--theme-color, #4965b5);padding:10px 16px;align-self:flex-start;max-width:80%;margin-bottom:8px;box-shadow:0 1px 2px #0000001a;word-break:break-word;font-size:14px!important}.formatted-message-content{width:100%;overflow-x:auto;color:#000!important}.formatted-message-content a{color:#4a69bd!important;text-decoration:none!important;font-weight:500!important;cursor:pointer!important;pointer-events:auto!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;-webkit-touch-callout:default!important;-webkit-tap-highlight-color:rgba(0,0,0,.1)!important;padding:4px 8px!important;border-radius:4px!important;background-color:#f8f9fa!important;border:1px solid #dee2e6!important;transition:all .2s ease!important;display:inline-block!important;margin:2px 0!important;position:relative!important;z-index:1000!important}.formatted-message-content a:hover{color:#fff!important;background-color:#4a69bd!important;text-decoration:none!important;border-color:#4a69bd!important}.formatted-message-content a:visited{color:#4a69bd!important}.formatted-message-content a:visited:hover{color:#fff!important}.video-recommendations{margin:8px 0;pointer-events:auto}.video-tag-section{margin-bottom:16px;pointer-events:auto}.video-intro{margin-bottom:8px;color:inherit;font-size:14px;font-weight:500}.video-section{margin-bottom:8px;pointer-events:auto}.video-recommendation{margin-bottom:12px;padding:8px 0;border-bottom:1px solid #e5e5e5;pointer-events:auto}.video-recommendation:last-child{border-bottom:none;margin-bottom:0}.video-header{margin-bottom:6px;pointer-events:auto}.video-title-link{color:#4a69bd!important;text-decoration:none;font-weight:500;font-size:14px;line-height:1.4;display:inline-block;cursor:pointer!important;position:relative;z-index:1000;pointer-events:auto!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;-webkit-touch-callout:default!important;-webkit-tap-highlight-color:rgba(0,0,0,.1)!important;padding:4px 8px;border-radius:4px;background-color:#f8f9fa;border:1px solid #dee2e6;transition:all .2s ease}.video-title-link:hover{color:#fff!important;background-color:#4a69bd!important;text-decoration:none;cursor:pointer!important;border-color:#4a69bd}.video-explanation{margin:6px 0;font-size:13px;color:#000;font-style:italic;line-height:1.4}.video-metadata{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.video-meta-item{font-size:11px;color:#000;background-color:#f8f9fa;padding:2px 6px;border-radius:10px;white-space:nowrap}.video-source{font-size:11px;font-weight:500;padding:2px 6px;border-radius:10px;white-space:nowrap}.video-source.database{background-color:#e8f4f8;color:#2c5aa0}.video-source.youtube{background-color:#ffebee;color:#c62828}.video-tag-separator{height:1px;background-color:#e0e0e0;margin:16px 0}.video-footer{margin-top:12px;font-size:12px;color:#000;font-style:italic}.message-text{white-space:pre-wrap}.formatted-message-content .latex-block{padding:8px;margin:8px 0;background-color:#f8f9fa;border-left:3px solid var(--theme-color, #ddd);overflow-x:auto;font-family:"Latin Modern Math","STIX Two Math",serif}.formatted-message-content .latex-inline{font-family:"Latin Modern Math","STIX Two Math",serif;font-style:italic;white-space:nowrap}.formatted-content h1,.formatted-content h2,.formatted-content h3,.formatted-content h4,.formatted-content h5,.formatted-content h6{margin-top:12px;margin-bottom:6px;color:#000!important}.formatted-message-content p,.formatted-message-content span,.formatted-message-content div,.formatted-message-content li,.formatted-message-content td,.formatted-message-content th{color:#000!important}.kami-reminder{font-size:11px!important;color:#000!important;margin-top:8px;padding-top:6px;border-top:1px solid #e0e0e0;font-style:italic;opacity:.8}.message-actions{display:flex!important;align-items:center!important;gap:6px!important;margin-top:2px!important;position:relative!important;width:fit-content!important;min-width:34px!important;max-width:120px!important;flex-shrink:0!important;flex-grow:0!important;overflow:visible!important}.copy-button{display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;border:none!important;border-radius:0;background:transparent!important;color:#666;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:none!important;opacity:.8;flex-shrink:0!important;flex-grow:0!important;padding:0}.user-message-container .message-actions button.copy-button{width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important}.copy-button:hover{background:transparent!important;opacity:1;transform:none;box-shadow:none!important}.copy-button svg{color:#000!important;flex-shrink:0;display:block;transition:all .2s ease}.copy-feedback{background:#6b7280;color:#fff;font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;animation:copyFeedback 1.5s ease-out;position:absolute;right:0;top:-24px;white-space:nowrap;z-index:10}@keyframes copyFeedback{0%{opacity:0;transform:translateY(5px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.non-selectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.bot-message-container.completed{opacity:.8}.bot-message-container.completed .bot-message{background-color:#f8f9fa;border-left:3px solid #28a745}.completion-indicator{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding:6px 12px;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:12px;color:#155724;font-size:12px;font-weight:500;width:fit-content}.completion-indicator svg{color:#28a745;flex-shrink:0}.audio-button-container{display:flex!important;align-items:center!important;position:relative!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;flex-shrink:0!important;flex-grow:0!important;overflow:hidden!important}.audio-button{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;border:none!important;border-radius:6px;background:#ffffffe6;color:#666;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:0 1px 3px #0000001a;opacity:.8;flex-shrink:0!important;flex-grow:0!important;overflow:hidden!important}.audio-button:hover:not(:disabled){background:#fff;color:#333;transform:translateY(-1px);box-shadow:0 2px 6px #00000026;opacity:1}.audio-button.playing{background:var(--theme-color, #4965b5);color:#fff;animation:pulse 2s infinite;opacity:1}.audio-button.playing:hover{background:var(--theme-color-dark, #3d5a9e);transform:translateY(-1px)}.audio-button.disabled{opacity:.5;cursor:not-allowed;transform:none}.audio-icon{transition:all .2s ease;stroke:#000!important;width:16px;height:16px;flex-shrink:0;display:block}.audio-button.playing .audio-icon{animation:none}.audio-button.loading{opacity:.7;cursor:wait}.audio-loading-spinner{animation:audioLoadingSpin 1s linear infinite;width:16px!important;height:16px!important;flex-shrink:0;display:block}@keyframes audioLoadingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audio-wave{position:absolute;right:-24px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;height:16px}.wave-bar{width:2px;height:100%;background:var(--theme-color, #4965b5);border-radius:1px;animation:wave 1.2s ease-in-out infinite}.wave-bar:nth-child(1){animation-delay:0s}.wave-bar:nth-child(2){animation-delay:.2s}.wave-bar:nth-child(3){animation-delay:.4s}@keyframes wave{0%,40%,to{height:4px}20%{height:16px}}@keyframes pulse{0%{box-shadow:0 0 #4965b566}70%{box-shadow:0 0 0 6px #4965b500}to{box-shadow:0 0 #4965b500}}.audio-player-popup{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:1000;background:#2d2d2d;border-radius:8px;border:1px solid rgba(255,255,255,.1);min-width:380px;max-width:90vw;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.audio-player-content{display:flex;align-items:center;padding:12px 16px;gap:12px}.skip-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease}.skip-button:hover{background:#fff3;transform:scale(1.05)}.play-pause-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#fff;color:#2d2d2d;cursor:pointer;transition:all .2s ease}.play-pause-button:hover{background:#f0f0f0;transform:scale(1.05)}.play-pause-button.playing{background:#fff;color:#2d2d2d}.play-pause-button.playing:hover{background:#f0f0f0}.time-display{display:flex;align-items:center;gap:4px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:500;min-width:70px}.current-time{color:#fff}.time-separator,.total-time{color:#999}.speed-control{display:flex;align-items:center;gap:6px}.speed-label{color:#fff;font-size:11px;font-weight:500;min-width:24px;text-align:center}.speed-button{display:flex;align-items:center;justify-content:center;width:24px;height:20px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:600;line-height:1}.speed-button:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.speed-button:disabled{opacity:.3;cursor:not-allowed;transform:none}.speed-button.active{background:#fff;color:#2d2d2d}.close-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s ease;margin-left:auto}.close-button:hover{background:#fff3;transform:scale(1.05)}.audio-error{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#f443361a;border-top:1px solid rgba(244,67,54,.2);border-radius:0 0 12px 12px}.error-text{color:#ff6b6b;font-size:13px;font-weight:500}.error-close{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:18px;font-weight:700;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.error-close:hover{background:#f4433633}@media (max-width: 480px){.audio-player-popup{min-width:280px;margin:0 10px}.audio-player-content{padding:12px 16px;gap:12px}.play-pause-button{width:40px;height:40px}.time-display{font-size:12px;min-width:70px}}@media (prefers-contrast: high){.audio-player-popup,.play-pause-button{border:2px solid #ffffff}.close-button{border:1px solid #ffffff}}@media (prefers-reduced-motion: reduce){.audio-button,.play-pause-button,.close-button{transition:none}.wave-bar,.audio-player-popup{animation:none}}.audio-button:focus,.play-pause-button:focus,.close-button:focus{outline:2px solid #4CAF50;outline-offset:2px}@media (prefers-color-scheme: dark){.audio-button{background:#ffffff1a;color:#fff}.audio-button:hover:not(:disabled){background:#fff3}}.answer-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0006,#0009);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.answer-modal{background:linear-gradient(135deg,#10b98114,#0596690f),linear-gradient(145deg,#f8fffe,#f0fdf9);border-radius:24px;border:1px solid rgba(16,185,129,.1);box-shadow:0 25px 50px -12px #00000026,0 0 0 1px #fffc,inset 0 1px #ffffff80,0 0 60px #10b9810d;width:90%;max-width:520px;max-height:90vh;overflow:hidden;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);position:relative}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.answer-modal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 24px;border-bottom:1px solid rgba(229,231,235,.6);background:linear-gradient(135deg,#10b98108,#05966903),linear-gradient(135deg,#fafafa,#fff);position:relative}.answer-modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669,#047857,#059669,#10b981);background-size:200% 100%;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:200% 0}50%{background-position:-200% 0}}.answer-modal-title{font-size:22px;font-weight:700;background:linear-gradient(135deg,#1f2937,#4b5563);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:-.5px}.answer-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:10px;background:#f3f4f680;color:#6b7280;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.answer-modal-close:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #ef44444d}.answer-modal-close:disabled{opacity:.5;cursor:not-allowed}.answer-modal-body{padding:32px;background:radial-gradient(circle at 20% 80%,rgba(16,185,129,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(5,150,105,.02) 0%,transparent 50%),linear-gradient(180deg,#fff,#fafafa);position:relative}.answer-modal-body:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 25% 25%,rgba(16,185,129,.05) 1px,transparent 1px),radial-gradient(circle at 75% 75%,rgba(5,150,105,.03) 1px,transparent 1px);background-size:50px 50px,30px 30px;pointer-events:none;opacity:.3}.answer-input-group{margin-bottom:28px;position:relative}.answer-input-group:last-child{margin-bottom:0}.answer-label{display:block;font-size:15px;font-weight:600;color:#1f2937;margin-bottom:12px;letter-spacing:-.2px}.answer-input{width:100%;padding:14px 18px;font-size:16px;border:2px solid #e5e7eb;border-radius:12px;background:linear-gradient(145deg,#fff,#fafafa);color:#111827;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 3px #0000000d}.answer-input:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 4px #10b9811a,0 4px 12px #10b98126;transform:translateY(-1px)}.answer-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.answer-explanation{width:100%;padding:14px 18px;font-size:15px;font-family:inherit;line-height:1.6;border:2px solid #e5e7eb;border-radius:12px;background:linear-gradient(145deg,#fff,#fafafa);color:#111827;resize:vertical;min-height:120px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 3px #0000000d}.answer-explanation:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 4px #10b9811a,0 4px 12px #10b98126;transform:translateY(-1px)}.answer-explanation:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.answer-feedback{display:flex;align-items:center;gap:12px;padding:16px 20px;margin-top:20px;border-radius:14px;font-size:16px;font-weight:600;animation:slideDown .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px #0000001a}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.answer-feedback.correct{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:2px solid #6ee7b7;box-shadow:0 4px 20px #10b98133}.answer-feedback.correct svg{color:#10b981}.answer-feedback.incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:2px solid #fca5a5;box-shadow:0 4px 20px #ef444433}.answer-feedback.incorrect svg{color:#ef4444}.answer-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:24px 32px 28px;border-top:1px solid rgba(229,231,235,.6);background:linear-gradient(135deg,#fafafa,#fff)}.answer-modal-cancel{padding:12px 24px;font-size:15px;font-weight:600;border:2px solid #d1d5db;border-radius:12px;background:linear-gradient(145deg,#fff,#f9fafb);color:#374151;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.answer-modal-cancel:hover:not(:disabled){background:linear-gradient(145deg,#f3f4f6,#e5e7eb);border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.answer-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.answer-modal-submit{padding:12px 28px;font-size:15px;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669),linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 100%);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #10b9814d,inset 0 1px #fff3;letter-spacing:-.2px;position:relative;overflow:hidden}.answer-modal-submit: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 .5s}.answer-modal-submit:hover:before{left:100%}.answer-modal-submit:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 24px #10b98166}.answer-modal-submit:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);cursor:not-allowed;transform:none;box-shadow:none}.checkmark-button-container{display:inline-flex;align-items:center;justify-content:center}.checkmark-button{display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;padding:0;border:none!important;border-radius:0;background:transparent!important;color:#6b7280;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:none!important;opacity:.8;flex-shrink:0!important;flex-grow:0!important;outline:none}.checkmark-button:hover:not(.disabled){background:#22c55e1a!important;color:#22c55e;transform:translateY(-1px);box-shadow:none!important;opacity:1;border-radius:4px}.checkmark-button:focus-visible{box-shadow:0 0 0 2px #22c55e33}.checkmark-button:active:not(.disabled){transform:scale(.95)}.checkmark-button.disabled{opacity:.5;cursor:not-allowed}.checkmark-icon{width:16px;height:16px;flex-shrink:0;stroke:#000!important}.typing-indicator{display:flex;align-items:center;padding:8px 12px;background-color:#f0f0f0;border-radius:18px;width:fit-content;max-width:48px;height:24px;margin-bottom:8px;justify-content:center;gap:4px;align-self:flex-start}.typing-dot{height:6px;width:6px;background-color:#777;border-radius:50%;margin:0 2px;display:inline-block}.typing-dot:nth-child(1){animation:bounce 1.2s infinite}.typing-dot:nth-child(2){animation:bounce 1.2s infinite;animation-delay:.2s}.typing-dot:nth-child(3){animation:bounce 1.2s infinite;animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-3px)}}.processing-indicator{display:flex;align-items:center;padding:12px 16px;background-color:#fff;border:1px solid var(--theme-color-medium, rgba(73, 101, 181, .3));border-radius:18px;width:fit-content;max-width:90%;margin:10px 0;align-self:flex-start;gap:12px;box-shadow:0 2px 5px #0000000d}.processing-spinner{min-width:24px;min-height:24px;border:3px solid var(--theme-color-subtle, rgba(73, 101, 181, .2));border-top-color:var(--theme-color, #4965b5);border-radius:50%;animation:var(--standard-spin-animation)}.processing-text{font-size:14px;font-weight:500;color:#444}.error-indicator{padding:8px 12px;margin:10px auto;background-color:#fff3f3;border:1px solid #ffcdd2;color:#d32f2f;border-radius:5px;font-size:12px;text-align:center}.warning-banner{position:sticky;top:0;z-index:1000;width:100%;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.2);font-size:13px;line-height:1.4;box-shadow:0 2px 8px #00000026;pointer-events:auto;-webkit-user-select:text;user-select:text}.warning-banner-content{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:auto}.warning-banner-message{flex:1;font-weight:500;word-wrap:break-word;pointer-events:auto;-webkit-user-select:text;user-select:text}.warning-banner-dismiss{background:none;border:none;cursor:pointer;font-size:18px;font-weight:700;line-height:1;padding:0;margin:0;opacity:.8;transition:opacity .2s ease;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;pointer-events:auto;-webkit-user-select:none;user-select:none}.warning-banner-dismiss:hover{opacity:1}.warning-banner-dismiss:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}code{background-color:#f1f3f4;padding:.1em .3em;border-radius:3px;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em}pre{background-color:#f8f9fa;padding:1em;border-radius:6px;overflow-x:auto;border:1px solid #e9ecef}pre code{background:none;padding:0;font-size:.85em;line-height:1.4}ul,ol{margin:.5em 0;padding-left:1.5em}li{margin:.25em 0}p{margin:.8em 0;line-height:1.6}h1,h2,h3,h4,h5,h6{margin:1em 0 .5em;font-weight:600;line-height:1.25}h1{font-size:1.8em}h2{font-size:1.5em}h3{font-size:1.3em}h4{font-size:1.1em}h5{font-size:1em}h6{font-size:.9em}.math-display-container{margin:1em 0;text-align:center;overflow-x:auto}.modern-chat-component .katex,.modern-chat-component .katex *{font-family:KaTeX_Main,KaTeX_Math,KaTeX_Size1,Times New Roman,serif!important;line-height:1.2}.modern-chat-component .katex svg{width:auto!important;height:auto!important;overflow:visible!important;display:inline!important;vertical-align:middle!important;fill:currentColor!important}.modern-chat-component .katex .sqrt,.modern-chat-component .katex .mord{font-family:KaTeX_Main,KaTeX_Math,Times New Roman,serif!important}.math-error{background-color:#fff3cd;color:#856404;padding:.2em .4em;border-radius:3px;border:1px solid #ffeaa7;font-family:monospace;font-size:.9em}.table-container{margin:1em 0;overflow-x:auto;border-radius:6px;box-shadow:0 1px 3px #0000001a}.table-container table{width:100%;border-collapse:collapse;font-size:.9em;background-color:#fff;min-width:400px}.table-container table thead th{background-color:#f8f9fa;color:#333;font-weight:600;padding:12px 16px;text-align:left;border-bottom:2px solid #dee2e6;border-right:1px solid #dee2e6;position:relative}.table-container table thead th:last-child{border-right:none}.table-container table tbody td{padding:10px 16px;border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6;vertical-align:top;line-height:1.5}.table-container table tbody td:last-child{border-right:none}.table-container table tbody tr:hover{background-color:#f8f9fa}.table-container table tbody tr:nth-child(2n){background-color:#fdfdfd}.table-container table tbody tr:nth-child(2n):hover{background-color:#f1f3f4}.table-container table th[align=center],.table-container table td[align=center]{text-align:center}.table-container table th[align=right],.table-container table td[align=right]{text-align:right}.table-container table th[align=left],.table-container table td[align=left]{text-align:left}@media (max-width: 768px){.table-container{margin:.5em -1em}.table-container table{font-size:.8em}.table-container table thead th,.table-container table tbody td{padding:8px 12px}}@media (prefers-color-scheme: dark){.table-container table{background-color:#1a1a1a;color:#e0e0e0}.table-container table thead th{background-color:#2d2d2d;color:#f0f0f0;border-color:#404040}.table-container table tbody td{border-color:#404040}.table-container table tbody tr:hover{background-color:#2d2d2d}.table-container table tbody tr:nth-child(2n){background-color:#222}.table-container table tbody tr:nth-child(2n):hover{background-color:#333}}.video-recommendations{margin:12px 0 0}.video-intro{margin-bottom:8px;color:inherit;font-size:inherit;font-weight:500}.video-section{margin-bottom:0}.video-explanation{margin:4px 0;font-size:12px;color:#666;font-style:italic;line-height:1.4}.video-tags{margin:4px 0;font-size:11px;color:#888;font-weight:500}.video-recommendation{margin-bottom:6px;padding:4px 0}.video-recommendation:last-child{margin-bottom:0}.video-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.video-title-link{color:#4a69bd;text-decoration:none;font-weight:500;font-size:14px;flex:1;min-width:0}.video-title-link:hover{color:#3d5aa3;text-decoration:underline}@media (prefers-color-scheme: dark){.video-title-link{color:#5dade2}.video-title-link:hover{color:#85c1e9}.video-explanation{color:#aaa}.video-tags{color:#999}}.out-of-credits-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.out-of-credits-modal-overlay.paywall{background-color:#000c;cursor:not-allowed;pointer-events:auto}.out-of-credits-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;width:508px;max-width:508px;max-height:85vh;overflow-y:auto;animation:modalSlideIn .3s ease-out;border:1px solid rgba(0,0,0,.08)}.out-of-credits-modal-overlay.paywall .out-of-credits-modal{border:2px solid #3b82f6;box-shadow:0 25px 50px -12px #0000004d,0 0 0 1px #3b82f633,0 0 20px #3b82f61a;animation:paywallPulse 2s ease-in-out infinite}@keyframes paywallPulse{0%,to{box-shadow:0 25px 50px -12px #0000004d,0 0 0 1px #3b82f633,0 0 20px #3b82f61a}50%{box-shadow:0 25px 50px -12px #0000004d,0 0 0 1px #3b82f64d,0 0 30px #3b82f633}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;gap:14px;padding:20px 32px 16px;border-bottom:1px solid #f1f5f9}.modal-icon{font-size:28px;line-height:1;filter:drop-shadow(0 2px 4px rgba(59,130,246,.3))}.modal-title{margin:0;font-size:22px;font-weight:700;color:#0f172a;line-height:1.3;letter-spacing:-.025em}.modal-content{padding:24px 32px 28px;width:500px}.modal-message{margin:0 0 24px;font-size:16px;color:#475569;line-height:1.6;font-weight:500;text-align:center}.modal-bullet-points{margin-bottom:32px}.bullet-point{display:flex;gap:12px;margin-bottom:16px;align-items:flex-start}.bullet{color:#3b82f6;font-size:14px;line-height:1.4;flex-shrink:0;margin-top:1px;font-weight:600}.bullet-text{font-size:15px;color:#475569;line-height:1.5;font-weight:400}.bullet-text strong{color:#0f172a;font-weight:600}.learn-more-button{width:100%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;padding:16px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin:0 0 24px;box-shadow:0 4px 12px #3b82f64d;position:relative;overflow:hidden}.learn-more-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.learn-more-button:active{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.learn-more-button:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d,0 4px 12px #3b82f64d}.modal-footer{padding:16px 32px 20px;border-top:1px solid #f1f5f9}.support-info{margin:0;font-size:12px;color:#64748b;text-align:center;line-height:1.5;font-weight:400}@media (max-width: 480px){.out-of-credits-modal{margin:10px;max-width:none}.modal-header,.modal-content,.modal-footer{padding-left:20px;padding-right:20px}.modal-title{font-size:18px}}.screenshot-confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2147483647}.screenshot-confirmation-dialog{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:screenshot-confirmation-fade-in .2s ease-out}@keyframes screenshot-confirmation-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.screenshot-confirmation-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid #eaeaea}.screenshot-confirmation-header h3{margin:0;font-size:18px;font-weight:500;color:#333}.screenshot-confirmation-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;margin:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.screenshot-confirmation-close:hover{color:#333;background-color:#f5f5f5}.screenshot-confirmation-content{padding:15px 20px;overflow-y:auto}.screenshot-confirmation-content p{margin-top:0;margin-bottom:15px;color:#555}.screenshot-confirmation-image-container{border:1px solid #eaeaea;border-radius:4px;overflow:hidden;margin-bottom:10px}.screenshot-confirmation-image{width:100%;display:block}.screenshot-confirmation-text-input{margin-top:15px}.screenshot-confirmation-text-input label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.screenshot-confirmation-text-input textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background:#fff;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.screenshot-confirmation-text-input textarea:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.screenshot-confirmation-text-input textarea::placeholder{color:#9ca3af}.screenshot-confirmation-actions{display:flex;justify-content:flex-end;padding:15px 20px;border-top:1px solid #eaeaea}.screenshot-confirmation-button{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.screenshot-confirmation-cancel{background-color:#fff;border:1px solid #ddd;color:#555;margin-right:10px}.screenshot-confirmation-cancel:hover{background-color:#f5f5f5}.screenshot-confirmation-confirm{background-color:#2196f3;border:1px solid #2196F3;color:#fff}.screenshot-confirmation-confirm:hover{background-color:#1976d2}.explain-voice-input{margin-top:16px}.voice-recording-section{display:flex;flex-direction:column;gap:16px}.recording-instructions{text-align:center}.instruction-tip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #e0f2fe;border-radius:8px;font-size:14px;color:#0369a1}.voice-controls{display:flex;justify-content:center;margin:16px 0}.voice-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.voice-btn.start-recording{background:#dc2626;color:#fff}.voice-btn.start-recording:hover:not(:disabled){background:#b91c1c}.voice-btn.stop-recording{background:#f59e0b;color:#fff;animation:pulse 1.5s infinite}.voice-btn.re-record{background:#6b7280;color:#fff}.voice-btn.re-record:hover{background:#4b5563}.voice-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.explanation-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.explanation-preview label{display:block;font-size:12px;font-weight:600;color:#374151;margin-bottom:8px}.explanation-text{font-size:14px;color:#1f2937;line-height:1.5}.error-message{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.error-message button{background:none;border:none;color:#dc2626;cursor:pointer;padding:2px 6px;border-radius:4px}.error-message button:hover{background:#dc26261a}.screenshot-confirmation-confirm:disabled{opacity:.5;cursor:not-allowed}.screenshot-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2147483646;pointer-events:auto!important}.screenshot-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:none!important;cursor:crosshair;z-index:1}.screenshot-instructions{position:absolute;top:20px;left:50%;transform:translate(-50%);background-color:#fff;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;color:#333;box-shadow:0 2px 8px #0003;pointer-events:none}.screenshot-selection{position:absolute;border:2px solid white;box-sizing:border-box;pointer-events:none;z-index:2;background:none!important}.screenshot-cancel-button{position:absolute;bottom:20px;right:20px;background-color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;color:#333;cursor:pointer;box-shadow:0 2px 8px #0003;transition:background-color .2s}.screenshot-cancel-button:hover{background-color:#f5f5f5}.screenshot-preview{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:16px;border-radius:8px;box-shadow:0 4px 16px #0003;z-index:2147483647}.screenshot-preview-image{max-width:90vw;max-height:80vh;border:1px solid #e0e0e0}.screenshot-preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.screenshot-preview-button{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.screenshot-preview-button.primary{background-color:#2196f3;color:#fff}.screenshot-preview-button.secondary{background-color:#f5f5f5;color:#333}.screenshot-preview-button:hover{opacity:.9}.screenshot-overlay.with-hole{background:none;pointer-events:auto}.screenshot-overlay.with-hole:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;background:#00000080;mask-image:var(--screenshot-hole-mask);-webkit-mask-image:var(--screenshot-hole-mask);z-index:1}.camera-capture-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.camera-capture-container{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;width:800px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}.camera-capture-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.camera-capture-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.camera-close-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.camera-close-btn:hover{background:#f3f4f6;color:#374151}.camera-capture-content{flex:1;display:flex;flex-direction:column;padding:24px;min-height:400px}.camera-viewport{position:relative;background:#000;border-radius:8px;overflow:hidden;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px}.camera-video{width:100%;height:100%;object-fit:contain;display:block}.camera-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.camera-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.camera-loading p{margin:0;font-size:14px;color:#ffffffe6}.camera-canvas{display:none}.camera-controls{display:flex;gap:12px;justify-content:center;margin-top:20px}.cam-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.cam-btn:disabled{opacity:.5;cursor:not-allowed}.cam-btn.primary{background:#3b82f6;color:#fff}.cam-btn.primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.cam-btn.secondary{background:#f3f4f6;color:#374151}.cam-btn.secondary:hover:not(:disabled){background:#e5e7eb}.capture-btn{padding:16px 32px;font-size:16px;font-weight:600;border-radius:8px;background:#3b82f6;color:#fff;box-shadow:0 4px 16px #3b82f64d;position:relative;overflow:hidden;min-width:140px}.capture-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.capture-btn:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.camera-tips{text-align:center;margin-top:16px}.camera-tips p{margin:0;font-size:13px;color:#6b7280}.camera-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.camera-error svg{color:#ef4444;margin-bottom:16px}.camera-error p{margin:0 0 24px;font-size:14px;color:#374151;max-width:400px;line-height:1.5}.camera-preview{flex:1;display:flex;flex-direction:column}.camera-preview img{flex:1;width:100%;height:auto;object-fit:contain;border-radius:8px;background:#f9fafb;min-height:300px;max-height:500px}.camera-preview-actions{display:flex;gap:32px;justify-content:center;margin-top:24px}.camera-preview-actions .cam-btn{border:none;border-radius:8px;padding:14px 28px;font-weight:500;min-width:130px;box-shadow:0 2px 8px #0000001a}.camera-preview-actions .cam-btn.secondary{background:#f8fafc;color:#475569}.camera-preview-actions .cam-btn.secondary:hover:not(:disabled){background:#f1f5f9;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.camera-preview-actions .cam-btn.primary{background:#3b82f6;color:#fff}.camera-preview-actions .cam-btn.primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media (max-width: 768px){.camera-capture-container{width:100%;height:100%;max-width:100vw;max-height:100vh;border-radius:0}.camera-capture-header{padding:16px 20px}.camera-capture-content{padding:16px}.camera-viewport{min-height:200px}.camera-controls{flex-direction:column}.cam-btn{width:100%;justify-content:center}.capture-btn{order:-1}}@media (prefers-color-scheme: dark){.camera-capture-container{background:#1f2937}.camera-capture-header{border-bottom-color:#374151}.camera-capture-header h3{color:#f9fafb}.camera-close-btn{color:#9ca3af}.camera-close-btn:hover,.cam-btn.secondary{background:#374151;color:#e5e7eb}.cam-btn.secondary:hover:not(:disabled){background:#4b5563}.camera-tips p{color:#9ca3af}.camera-error p{color:#e5e7eb}.camera-preview img{background:#111827}}.explain-workflow-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.explain-step-container{background:#fff;border-radius:16px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.explain-header{text-align:center;padding:24px 24px 16px;border-bottom:1px solid #f0f0f0}.explain-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#f8faff,#e8f0ff);color:#3b82f6}.explain-icon.processing{animation:bounce 2s infinite}.explain-header h3{margin:0 0 8px;font-size:24px;font-weight:600;color:#333}.explain-header p{margin:0;color:#666;font-size:16px;line-height:1.4}.explain-content{padding:24px}.capture-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.capture-option-btn{display:flex;align-items:center;gap:16px;padding:16px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.capture-option-btn:hover{border-color:#007aff;background:#f8f9ff}.capture-option-btn.primary{border-color:#e0e0e0;background:#fff;color:#374151}.capture-option-btn.primary:hover{border-color:#d1d5db;background:#f9fafb}.option-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#6b72801a;color:#6b7280;flex-shrink:0}.capture-option-btn.primary .option-icon{background:#6b72801a;color:#6b7280}.option-text{display:flex;flex-direction:column;gap:4px}.option-title{font-size:18px;font-weight:600}.option-subtitle{font-size:14px;opacity:.8}.image-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.preview-image{max-width:100%;max-height:200px;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:8px}.preview-label{font-size:14px;color:#666;font-weight:500}.recording-interface{text-align:center}.recording-prompt{margin-bottom:24px;text-align:left}.recording-prompt p{font-weight:600;margin-bottom:12px;color:#333}.recording-prompt ul{margin:0;padding-left:20px;color:#666}.recording-prompt li{margin-bottom:4px}.recording-controls{margin-bottom:24px}.record-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:180px;justify-content:center}.record-btn.start{background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.record-btn.start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.record-btn.recording{background:linear-gradient(135deg,#ffa726,#ff9800);color:#fff;box-shadow:0 4px 12px #ffa7264d}.record-icon{font-size:20px}.record-icon.recording-pulse{animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.explain-processing-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;color:#666}.explain-spinner{width:20px;height:20px;border:2px solid #f0f0f0;border-top:2px solid #007AFF;border-radius:50%;animation:explainSpin 1s linear infinite}@keyframes explainSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transcription-section{text-align:left;margin-bottom:24px}.transcription-section h4{margin:0 0 12px;color:#333;font-size:16px}.transcription-display{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;min-height:80px;max-height:200px;overflow-y:auto;font-size:14px;line-height:1.5;color:#333;white-space:pre-wrap}.cursor-blink{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5f5;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.error-icon{flex-shrink:0}.error-dismiss{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;margin-left:auto}.processing-animation{position:relative;display:flex;align-items:center;justify-content:center;margin:40px 0}.explain-processing-spinner{width:60px;height:60px;border:3px solid #f0f0f0;border-top:3px solid #007AFF;border-radius:50%;animation:explainSpin 1s linear infinite}.processing-waves{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wave{position:absolute;width:80px;height:80px;border:2px solid #007AFF;border-radius:50%;animation:pulse-wave 2s ease-in-out infinite}.wave:nth-child(2){animation-delay:.3s}.wave:nth-child(3){animation-delay:.6s}@keyframes pulse-wave{0%{transform:translate(-50%,-50%) scale(.8);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.3}to{transform:translate(-50%,-50%) scale(.8);opacity:.7}}.progress-bar{width:100%;height:4px;background:#f0f0f0;border-radius:2px;margin:24px 0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#007aff,#00d4ff);border-radius:2px;transition:width .5s ease}.processing-steps{display:flex;flex-direction:column;gap:12px;margin:24px 0}.step{display:flex;align-items:center;gap:12px;padding:8px 0}.step.completed .step-icon{color:#10b981}.step.current .step-icon{color:#007aff}.step.pending .step-icon{color:#9ca3af}.step-text{color:#374151;font-size:14px}.step.current .step-text{font-weight:600}.step.pending .step-text{color:#9ca3af}.explain-tips,.recording-tips{background:#f8f9ff;border:1px solid #e0e6ff;border-radius:8px;padding:16px;margin:24px 0}.explain-tips h4{margin:0 0 12px;color:#333;font-size:14px;display:flex;align-items:center;gap:8px}.explain-tips ul{margin:0;padding-left:20px;color:#666;font-size:14px}.explain-tips li{margin-bottom:4px}.recording-tips p{margin:4px 0;font-size:14px;color:#666}.explain-processing-message{text-align:center;color:#666;font-size:14px}.explain-processing-message p{margin:8px 0}.explain-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px;border-top:1px solid #f0f0f0}.explain-btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.explain-btn.primary{background:linear-gradient(135deg,#007aff,#0056d6);color:#fff}.explain-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#0056d6,#003d9a);transform:translateY(-1px)}.explain-btn.secondary{background:#f8f9fa;color:#666;border:1px solid #e0e0e0}.explain-btn.secondary:hover:not(:disabled){background:#e9ecef}.explain-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.explain-step-container{width:95%;margin:20px auto;max-height:85vh}.explain-header{padding:20px 16px 12px}.explain-content{padding:16px}.explain-actions{padding:12px 16px 20px;flex-direction:column}.capture-option-btn{padding:12px;gap:12px}.option-icon{font-size:24px}.option-title{font-size:16px}}.email-share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.email-share-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.email-share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.email-share-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.email-share-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s}.email-share-modal-close:hover{background-color:#f3f4f6;color:#374151}.email-share-modal-close:disabled{opacity:.5;cursor:not-allowed}.email-share-modal-content{padding:24px}.referral-code-display{margin-bottom:24px}.referral-code-display label{display:block;font-weight:500;color:#374151;margin-bottom:8px}.code-box{background:#f8f9fa;border:2px dashed #667eea;border-radius:8px;padding:16px;text-align:center;font-family:Courier New,monospace;font-size:20px;font-weight:700;color:#667eea;letter-spacing:2px}.email-share-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#374151;margin-bottom:8px}.form-group input,.form-group textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group small{font-size:12px;color:#6b7280;margin-top:4px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:12px 16px;border-radius:8px;font-size:14px}.email-share-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-primary,.btn-secondary{padding:12px 24px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.email-share-modal{margin:10px;max-width:none}.email-share-modal-header{padding:16px 16px 0}.email-share-modal-content{padding:16px}.email-share-modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.referral-tab{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.referral-tab-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.referral-tab-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:color .2s}.close-button:hover{color:#374151}.referral-tab-content{padding:24px}.loading-spinner{text-align:center;padding:40px;color:#6b7280}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.referral-code-section{margin-bottom:24px}.referral-code-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.referral-code-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.code-container{display:flex;align-items:center;gap:12px;margin-bottom:12px}.referral-code{font-family:Courier New,monospace;font-size:18px;font-weight:600;color:#1e40af;background:#fff;padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;letter-spacing:1px}.referral-tab .copy-button{background:#3b82f6;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:16px;transition:background-color .2s}.referral-tab .copy-button:hover{background:#2563eb}.code-description{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.no-code-section{text-align:center;padding:24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.no-code-section p{margin:0 0 16px;color:#6b7280}.generate-button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.generate-button:hover:not(:disabled){background:#2563eb}.generate-button:disabled{background:#9ca3af;cursor:not-allowed}.referral-stats-section{margin-bottom:24px}.referral-stats-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.stat-number{display:block;font-size:24px;font-weight:700;color:#1e40af;margin-bottom:4px}.stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.referral-actions{display:flex;gap:12px;margin-bottom:24px}.action-button{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.email-button{color:#059669;border-color:#10b981}.email-button:hover{background:#f0fdf4;border-color:#059669}.share-button{color:#3b82f6;border-color:#60a5fa}.share-button:hover{background:#eff6ff;border-color:#3b82f6}.how-it-works{border-top:1px solid #e5e7eb;padding-top:20px}.how-it-works h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.steps{display:flex;flex-direction:column;gap:12px}.step{display:flex;align-items:center;gap:12px}.step-number{background:#3b82f6;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.step-text{font-size:14px;color:#374151;line-height:1.4}@media (max-width: 480px){.referral-tab{width:95%;max-height:90vh}.referral-tab-content{padding:16px}.stats-grid{grid-template-columns:1fr}.referral-actions{flex-direction:column}}.subscription-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.subscription-modal{background:#fff;border-radius:20px;box-shadow:0 25px 50px #00000026;max-width:700px;width:100%;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}.subscription-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:10}.subscription-modal-close:hover{background:#f3f4f6;color:#374151}.subscription-modal-header{padding:24px 40px 16px;text-align:center;border-bottom:1px solid #f3f4f6}.subscription-modal-header h2{margin:0 0 8px;font-size:28px;font-weight:800;color:#111827;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subscription-modal-header p{margin:0;color:#6b7280;font-size:16px;line-height:1.4}.subscription-modal-content{padding:20px 40px 24px}.subscription-section{margin-bottom:24px}.subscription-section h3{margin:0 0 12px;font-size:18px;font-weight:700;color:#111827}.subscription-plan-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:20px}.plan-info{display:flex;flex-direction:column;gap:8px}.plan-name-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.plan-name{font-size:20px;font-weight:700;color:#111827}.plan-status{font-size:14px;font-weight:600;padding:4px 12px;border-radius:20px;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.plan-price{font-size:24px;font-weight:900;color:#667eea}.billing-note{font-size:14px;font-weight:400;color:#6b7280}.next-billing{font-size:14px;color:#6b7280}.usage-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.usage-info{display:flex;flex-direction:column;gap:16px}.credits-info{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:1px solid #f59e0b}.credits-label{font-size:14px;font-weight:600;color:#92400e}.credits-value{font-size:18px;font-weight:800;color:#92400e}.features-list h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827}.features-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px}.features-list li{font-size:14px;color:#374151;display:flex;align-items:center;gap:8px}.features-list li:before{content:"✓";color:#10b981;font-weight:700}.plan-change-card{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #f59e0b;border-radius:12px;padding:20px}.plan-change-info h4{margin:0 0 8px;font-size:16px;font-weight:700;color:#92400e}.plan-change-info p{margin:0 0 16px;font-size:14px;color:#92400e;line-height:1.4}.plan-change-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.plan-change-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.billing-actions{display:flex;flex-direction:column;gap:16px}.action-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:16px}.action-item.danger{border-color:#fecaca;background:linear-gradient(135deg,#fef2f2,#fee2e2)}.action-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#111827}.action-item.danger .action-info h4{color:#dc2626}.action-info p{margin:0;font-size:14px;color:#6b7280;line-height:1.4}.action-item.danger .action-info p{color:#991b1b}.action-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap;min-width:120px}.action-btn.secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.action-btn.secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.action-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.cancel-confirm-modal{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:100%;text-align:center;animation:slideUp .3s ease-out}.cancel-confirm-modal h3{margin:0 0 12px;font-size:20px;font-weight:700;color:#dc2626}.cancel-confirm-modal p{margin:0 0 20px;font-size:14px;color:#6b7280;line-height:1.5}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions .action-btn{flex:1}@media (max-width: 768px){.subscription-modal{margin:0;border-radius:20px 20px 0 0;max-height:90vh}.subscription-modal-header,.subscription-modal-content{padding-left:20px;padding-right:20px}.action-item{flex-direction:column;align-items:flex-start;gap:12px}.action-btn{align-self:stretch;min-width:unset}.plan-name-row{flex-direction:column;align-items:flex-start}.credits-info{flex-direction:column;align-items:flex-start;gap:8px}.features-list ul{grid-template-columns:1fr}.confirm-actions{flex-direction:column}}@media (max-width: 480px){.subscription-modal-header h2{font-size:24px}.plan-name{font-size:18px}.plan-price{font-size:20px}}.user-profile-dropdown{position:relative;display:inline-block}.user-profile-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background-color:transparent;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;pointer-events:auto}.user-profile-button:hover{background-color:#f8f9fa;transform:scale(1.05)}.user-profile-button:active{transform:scale(.98)}.user-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid #e5e7eb;transition:all .2s ease}.user-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:12px;font-weight:600;border:2px solid #e5e7eb;text-transform:uppercase}.user-dropdown-portal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e5e7eb;min-width:200px;overflow:hidden;animation:dropdownSlideIn .2s ease-out}.user-dropdown-header{padding:16px;background:#f8f9fa;border-bottom:1px solid #e5e7eb}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:600;color:#1f2937;line-height:1.2}.user-email{font-size:12px;color:#6b7280;line-height:1.2}.user-dropdown-divider{height:1px;background:#e5e7eb;margin:0}.user-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;border:none;background:none;cursor:pointer;transition:all .2s ease;text-align:left;color:#374151;font-size:14px;font-weight:500}.user-dropdown-item:hover{background:#f8f9fa;color:#1f2937}.user-dropdown-item:active{background:#f1f3f4}.dropdown-item-icon{flex-shrink:0;color:#6b7280;transition:color .2s ease}.user-dropdown-item:hover .dropdown-item-icon{color:#374151}.user-profile-loading{opacity:.7}.loading-spinner{width:12px;height:12px;border:2px solid #e5e7eb;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.user-profile-button{width:28px;height:28px}.user-dropdown-portal{min-width:180px}.user-name{font-size:13px}.user-email{font-size:11px}.user-dropdown-item{padding:10px 14px;font-size:13px}}.chat-history-backdrop{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;bottom:0;background-color:#00000080;z-index:1001;animation:fadeIn .3s ease-out}.chat-history-panel{position:fixed;top:env(safe-area-inset-top,0px);left:0;bottom:0;height:calc(100vh - env(safe-area-inset-top,0px));height:calc(100dvh - env(safe-area-inset-top,0px));width:75vw;max-width:min(75vw,400px);background-color:#fff;z-index:1002;transform:translate(-100%);transition:transform .3s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a}.chat-history-panel.open{transform:translate(0)}.chat-history-header{padding:16px 16px 12px;border-bottom:1px solid #e5e7eb;flex-shrink:0;display:flex;align-items:center;gap:8px}.new-chat-button{flex:1;display:flex;align-items:center;gap:12px;padding:12px;background-color:transparent;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.panel-hide-button{display:flex;align-items:center;justify-content:center;width:32px;height:40px;padding:0;background-color:transparent;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0}.panel-hide-button:hover{background-color:#f9fafb;border-color:#9ca3af;color:#374151}.panel-hide-button:active{transform:scale(.95)}.new-chat-button:hover{background-color:#f9fafb;border-color:#9ca3af}.new-chat-button:active{transform:scale(.98)}.new-chat-button svg{color:#6b7280;flex-shrink:0}.chat-history-section{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:0 16px;min-height:0}.chat-history-title{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px;padding:0}.chat-history-loading{display:flex;align-items:center;gap:12px;padding:20px 0;color:#6b7280;font-size:14px}.loading-spinner{width:16px;height:16px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.chat-list{flex:1;overflow-y:auto;padding-bottom:8px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;min-height:0}.chat-list::-webkit-scrollbar{width:4px}.chat-list::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px;transition:background-color .2s ease}.chat-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.chat-list:active::-webkit-scrollbar-thumb{background:#9ca3af}.chat-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 8px;margin-bottom:4px;background-color:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.chat-item:hover{background-color:#f3f4f6}.chat-item.active{background-color:#eff6ff;border:1px solid #dbeafe}.chat-item.active .chat-item-title{color:#1d4ed8;font-weight:600}.chat-item-content{flex:1;min-width:0}.chat-item-title{font-size:14px;font-weight:500;color:#111827;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-time{font-size:12px;color:#6b7280}.chat-item-arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s ease}.chat-item:hover .chat-item-arrow{transform:translate(2px);color:#6b7280}.chat-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;flex:1}.chat-history-empty svg{color:#d1d5db;margin-bottom:16px}.chat-history-empty p{font-size:16px;font-weight:500;color:#374151;margin:0 0 4px}.chat-history-empty span{font-size:14px;color:#6b7280}.chat-history-footer{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid #e5e7eb;position:sticky;bottom:0;bottom:env(safe-area-inset-bottom,0px);background:#fff;z-index:10;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.chat-profile-section{display:flex;align-items:center;width:100%}.chat-history-footer .user-profile-dropdown{width:100%}.chat-history-footer .user-profile-button{width:100%;display:flex;align-items:center;justify-content:flex-start;padding:8px 12px;background-color:transparent;border:1px solid transparent;border-radius:8px;transition:all .2s ease;height:auto;gap:12px}.chat-history-footer .user-profile-button:hover{background-color:#f3f4f6;border-color:#d1d5db}.chat-history-footer .user-avatar,.chat-history-footer .user-avatar-fallback{width:32px;height:32px;border-radius:50%;flex-shrink:0}.chat-history-footer .user-profile-info{display:flex;flex-direction:column;flex:1;min-width:0}.chat-history-footer .user-profile-name{font-size:16px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;letter-spacing:-.01em}.chat-history-footer .user-dropdown-menu{position:fixed;top:auto;bottom:20px;right:20px;left:20px;z-index:1010;min-width:auto;max-width:240px;margin-left:auto;border-radius:12px;box-shadow:0 8px 32px #0003}.chat-history-footer .user-dropdown-header{padding:20px;background:#f8f9fa;border-bottom:1px solid #e5e7eb}.chat-history-footer .user-name{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.chat-history-footer .user-email{font-size:13px;color:#6b7280}.chat-history-footer .user-dropdown-item{padding:16px 20px;font-size:15px;display:flex;align-items:center;gap:16px}.chat-history-footer .dropdown-item-icon{width:20px;height:20px;color:#6b7280}@media (max-width: 480px){.chat-history-footer .user-dropdown-menu{bottom:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:16px;left:16px;max-width:none}.chat-history-panel{top:env(safe-area-inset-top,0px);bottom:0;height:calc(100vh - env(safe-area-inset-top,0px));height:calc(100dvh - env(safe-area-inset-top,0px))}.chat-history-backdrop{top:env(safe-area-inset-top,0px);bottom:0}.chat-history-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (max-width: 320px){.chat-history-panel{width:75vw;max-width:75vw}}@media (prefers-contrast: high){.chat-history-panel{border-right:2px solid #000}.new-chat-button{border-color:#000}.chat-item.active{border-color:#000;background-color:#f0f0f0}}@media (prefers-reduced-motion: reduce){.chat-history-panel{transition:none}.chat-history-backdrop{animation:none}.new-chat-button:active{transform:none}}@media (prefers-color-scheme: dark){.chat-history-panel{background-color:#1f2937;color:#f9fafb}.chat-history-header{border-color:#374151}.new-chat-button{background-color:transparent;border-color:#4b5563;color:#f9fafb}.new-chat-button:hover{background-color:#374151;border-color:#6b7280}.panel-hide-button{background-color:transparent;border-color:#4b5563;color:#9ca3af}.panel-hide-button:hover{background-color:#374151;border-color:#6b7280;color:#f9fafb}.chat-item-title{color:#f9fafb}.chat-item:hover{background-color:#374151}.chat-item.active{background-color:#1e40af;border-color:#3b82f6}.chat-item.active .chat-item-title{color:#dbeafe}.chat-history-footer{border-color:#374151}}.chat-item.long-pressed{background-color:#fee2e2;border:2px solid #ef4444;animation:longPressShake .3s ease-in-out}@keyframes longPressShake{0%,20%,50%,80%,to{transform:translate(0)}10%{transform:translate(-2px)}30%{transform:translate(2px)}60%{transform:translate(-1px)}90%{transform:translate(1px)}}.chat-item-wrapper{position:relative}.chat-item-actions{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ef44441a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;gap:12px;border-radius:8px;animation:fadeInActions .2s ease-out;z-index:1}@keyframes fadeInActions{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.delete-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-button:hover{background-color:#dc2626;transform:scale(1.05)}.delete-button:active{transform:scale(.95)}.cancel-button{padding:8px 16px;background-color:#6b7280;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background-color:#4b5563;transform:scale(1.05)}.cancel-button:active{transform:scale(.95)}.delete-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:2000;animation:fadeIn .2s ease-out}.delete-confirmation-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:12px;padding:24px;max-width:320px;width:90%;z-index:2001;animation:modalSlideIn .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.delete-modal-content h3{margin:0 0 12px;font-size:18px;font-weight:600;color:#1f2937}.delete-modal-content p{margin:0 0 20px;color:#6b7280;line-height:1.5}.delete-modal-actions{display:flex;gap:12px;justify-content:flex-end}.cancel-modal-button{padding:10px 20px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-modal-button:hover{background-color:#e5e7eb}.confirm-delete-button{padding:10px 20px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-delete-button:hover{background-color:#dc2626}.confirm-delete-button:active{transform:scale(.98)}@media (prefers-color-scheme: dark){.chat-item.long-pressed{background-color:#7f1d1d;border-color:#dc2626}.delete-confirmation-modal{background-color:#1f2937}.delete-modal-content h3{color:#f9fafb}.delete-modal-content p{color:#d1d5db}.cancel-modal-button{background-color:#374151;color:#f9fafb}.cancel-modal-button:hover{background-color:#4b5563}}.chat-mode-dropdown{position:relative;display:inline-block}.dropdown-trigger{background:transparent;border:none;padding:0;color:#fff;cursor:pointer;transition:all .2s ease;font-size:16px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.dropdown-trigger:hover{opacity:.8}.trigger-content{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:600}.mode-icon{font-size:14px}.mode-label{flex:1;text-align:left}.dropdown-arrow{transition:transform .2s ease;opacity:.9;width:10px;height:10px}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1);z-index:1000;margin-top:4px;min-width:180px;overflow:hidden}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;border:none;background:none;cursor:pointer;transition:all .2s ease;text-align:left;color:#fff}.dropdown-item:hover{background:#ffffff1a}.dropdown-item.active{background:#ffffff26;color:var(--mode-color, #ef4444)}.item-icon{font-size:18px;flex-shrink:0}.item-content{flex:1;display:flex;flex-direction:column;gap:2px}.item-label{font-weight:600;font-size:13px}.item-description{font-size:11px;color:#ffffffb3;line-height:1.3}.check-icon{color:var(--mode-color, #ef4444);flex-shrink:0}.dropdown-menu{animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dropdown-trigger{padding:6px 10px;min-width:100px}.trigger-content{font-size:13px;gap:6px}.mode-icon{font-size:14px}.dropdown-menu{min-width:180px}.dropdown-item{padding:10px 14px}.item-label{font-size:13px}.item-description{font-size:11px}}.modern-chat-interface{display:flex;flex-direction:column;height:100%;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:0;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1)}.unlimited-access-indicator{display:flex;align-items:center}.unlimited-badge{background:#ffffff40;color:#fff;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0000001a}.modern-chat-interface.minimized{height:60px;overflow:hidden}.modern-chat-header{display:flex;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#db4040,#dc2626);color:#fff;position:relative;z-index:10;box-shadow:0 4px 6px -1px #0000001a;min-height:48px;gap:8px}.back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#fff3;color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-right:8px}.back-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.tutor-avatar{position:relative;width:36px;height:36px;background:#fff3;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-right:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.status-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:2px;border:2px solid white}.status-indicator.online{background:#10b981;animation:pulse 2s infinite}.tutor-info{flex:1;min-width:0;margin-right:8px}.tutor-header-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.tutor-info h3{margin:0;font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.tutor-info p{margin:2px 0 0;font-size:12px;color:#fffc;font-weight:400}.compact-credit-display{display:flex;align-items:center;gap:4px;padding:2px 6px;background:#ffffff14;border-radius:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);box-shadow:0 1px 4px #0000001a;min-width:0;flex-shrink:0;max-width:120px}.compact-credit-display .credit-display{color:#fff;font-size:11px;margin:0;display:flex;align-items:center;gap:3px;min-width:0;flex:1}.compact-credit-display .credit-count{position:relative;display:flex;align-items:center;gap:2px;min-width:0;flex-shrink:0}.compact-credit-display .credit-icon{font-size:11px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));animation:sparkle 2s ease-in-out infinite;flex-shrink:0}.compact-credit-display .credit-text{font-weight:600;text-shadow:0 1px 1px rgba(0,0,0,.2);font-size:11px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.compact-credit-display .buy-more-button{color:#fff;font-size:10px;font-weight:600;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);padding:2px 5px;border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .2s ease;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0;min-width:0}.compact-credit-display .buy-more-button:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.compact-credit-display .buy-more-button:active{transform:translateY(0);box-shadow:0 1px 3px #00000026}.modern-credit-display{margin-left:auto;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0000001a;min-width:0;flex-shrink:0;max-width:200px}.modern-credit-display .credit-display{color:#fff;font-size:13px;margin:0;display:flex;align-items:center;gap:6px;min-width:0;flex:1}.modern-credit-display .credit-count{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);font-size:15px;letter-spacing:.5px}.modern-credit-display .buy-more-button{color:#fff;font-size:12px;font-weight:600;background:#ffffff26;border:1px solid rgba(255,255,255,.25);padding:4px 8px;border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0;min-width:0}.modern-credit-display .buy-more-button: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 .5s}.modern-credit-display .buy-more-button:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.modern-credit-display .buy-more-button:hover:before{left:100%}.modern-credit-display .buy-more-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.modern-credit-display .credit-count{position:relative;display:flex;align-items:center;gap:4px;min-width:0;flex-shrink:0}.modern-credit-display .credit-icon{font-size:14px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));animation:sparkle 2s ease-in-out infinite;flex-shrink:0}.modern-credit-display .credit-text{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2);font-size:13px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-credit-display .credit-count:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%;z-index:-1}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}50%{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 2px 4px rgba(0,0,0,.4)) brightness(1.1)}}.modern-chat-content{flex:1;display:flex;flex-direction:column;min-height:0;background:#fff;position:relative}.chat-wrapper,.modern-chat-component{flex:1;display:flex;flex-direction:column;min-height:0}.modern-chat-component .chat-window{background:transparent;box-shadow:none;border-radius:0}.modern-chat-component .chat-header{display:none}.modern-chat-component .messages-container{background:linear-gradient(180deg,#fafafa,#fff);padding:24px}.modern-chat-component .message{margin:12px 0;padding:16px 20px;border-radius:8px;box-shadow:0 2px 4px #0000000d;animation:messageSlideIn .4s ease;max-width:80%}.modern-chat-component .user-message{background:var(--theme-color, #ef4444);color:#fff;margin-left:auto;border-radius:8px 8px 2px;box-shadow:0 4px 6px -1px #ef444440}.modern-chat-component .assistant-message{background:#fff;color:#374151;margin-right:auto;border-radius:8px 8px 8px 2px;border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 4px #0000000d}.modern-input-wrapper{padding:0;background:linear-gradient(180deg,#fff,#f8fafc);border-top:1px solid rgba(0,0,0,.08)}.input-enhancement-bar{display:flex;align-items:center;justify-content:flex-start;margin-bottom:6px;padding:0}.enhancement-tools{display:flex;gap:6px;align-items:center}.tool-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:#0000000d;color:#6b7280;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:10px}.tool-btn:hover{background:#0000001a;color:#374151;transform:translateY(-1px)}.tool-btn:active{transform:translateY(0)}.modern-chat-component .input-area{background:transparent;border-top:none}.modern-chat-component .input-container{display:flex;align-items:center;gap:8px;padding:0!important}.modern-chat-component .input-field{flex:1;min-height:28px;max-height:60px;padding:6px 10px;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-size:14px;line-height:1.3;resize:none;outline:none;transition:all .2s ease;background:#fff;color:#374151}.modern-chat-component .input-field:focus{border-color:var(--theme-color, #ef4444);box-shadow:0 0 0 2px #ef44441a}.modern-chat-component .input-field::placeholder{color:#9ca3af}.modern-chat-component .send-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--theme-color, #ef4444);color:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:12px}.modern-chat-component .send-button:hover{background:var(--theme-color-dark, #dc2626);transform:translateY(-1px)}.modern-chat-component .send-button:active{transform:translateY(0)}.modern-chat-component .send-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.modern-chat-component .chat-input-card{margin:6px 10px 10px!important;border-radius:12px!important;box-shadow:0 2px 8px #0000001a!important;padding-bottom:8px!important}.modern-chat-component .toolbar-row{padding:8px 12px 4px!important}.modern-chat-component .input-row{padding:8px 12px!important;border-top:none!important;border-bottom:none!important}.modern-chat-component .toolbar-row{padding:8px 12px 4px!important;border-bottom:none!important}.modern-chat-component .input-divider{display:none!important;height:0!important;background:transparent!important;border:none!important}.modern-chat-component .chat-input-card .input-divider{display:none!important;height:0!important;background:transparent!important;border:none!important;margin:0!important;padding:0!important}.modern-input-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 50%,transparent 100%)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-chat-component .messages-container::-webkit-scrollbar{width:6px}.modern-chat-component .messages-container::-webkit-scrollbar-track{background:transparent}.modern-chat-component .messages-container::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.modern-chat-component .messages-container::-webkit-scrollbar-thumb:hover{background:#0003}@media (max-width: 768px){.modern-chat-interface{height:100vh!important;height:100dvh!important;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:0!important;box-shadow:none!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:1000!important;width:100%!important;max-height:100vh!important;max-height:100dvh!important}.modern-chat-interface.mobile-optimized{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:1000!important;width:100%!important;height:100vh!important;height:100dvh!important;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:100vh!important;max-height:100dvh!important}}@media (max-width: 640px){.modern-chat-header{padding:8px 12px;gap:8px;min-height:52px;box-shadow:0 2px 8px #00000026}.tutor-avatar{width:32px;height:32px;margin-right:8px}.tutor-header-row{gap:6px}.compact-credit-display{padding:1px 4px;gap:3px;max-width:100px}.compact-credit-display .credit-display{font-size:10px;gap:2px}.compact-credit-display .credit-icon{font-size:10px}.compact-credit-display .credit-text{font-size:10px;color:#fff}.compact-credit-display .buy-more-button{font-size:9px;padding:1px 4px}.modern-credit-display{padding:4px 6px;gap:6px;max-width:160px}.modern-credit-display .credit-display{font-size:11px;gap:4px}.modern-credit-display .credit-icon{font-size:12px}.modern-credit-display .credit-text{font-size:11px;color:#fff}.modern-credit-display .buy-more-button{font-size:11px;padding:3px 6px}.modern-chat-component .messages-container{padding:16px}.modern-input-wrapper{padding:0}.enhancement-tools{gap:4px}.tool-btn{width:20px;height:20px;font-size:8px}.modern-chat-component .input-field{font-size:13px;min-height:24px;padding:4px 8px}.modern-chat-component .send-button{width:24px;height:24px;font-size:10px}}.mobile-new-chat-button{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.mobile-new-chat-button:hover{background-color:#ffffff26;transform:scale(1.05)}.mobile-new-chat-button:active{transform:scale(.95)}.tutor-header-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 768px) and (pointer: coarse){.modern-chat-interface button{min-height:44px;min-width:44px}.modern-chat-component .messages-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modern-chat-interface{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}}@media (max-width: 768px){.modern-chat-interface{transform:none!important;will-change:auto!important}}@media (max-width: 480px){.modern-chat-header{padding:6px 8px;gap:6px;min-height:48px}.tutor-avatar{width:28px;height:28px;margin-right:6px}.tutor-header-row{gap:4px}.compact-credit-display{padding:1px 3px;gap:2px;max-width:80px}.compact-credit-display .credit-display{font-size:9px;gap:1px}.compact-credit-display .credit-icon{font-size:9px}.compact-credit-display .credit-text{font-size:9px;color:#fff}.compact-credit-display .buy-more-button{font-size:8px;padding:1px 3px}.modern-credit-display{padding:3px 5px;gap:4px;max-width:140px}.modern-credit-display .credit-display{font-size:10px;gap:3px}.modern-credit-display .credit-icon{font-size:11px}.modern-credit-display .credit-text{font-size:10px;color:#fff}.modern-credit-display .buy-more-button{font-size:10px;padding:2px 5px}}.bottom-panel{position:fixed;bottom:0;background-color:#fff;border:1px solid #e1e5e9;box-shadow:0 -4px 12px #00000026;z-index:1000;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1)}.bottom-panel-open{transform:translateY(0)}.bottom-panel-closed{transform:translateY(100%)}.bottom-panel-resize-handle{position:absolute;top:0;left:0;right:0;height:8px;background-color:#f0f0f0;cursor:ns-resize;z-index:1001;transition:background-color .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.bottom-panel-resize-handle:hover{background-color:#d0d0d0}.calculator-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;color:#666;z-index:1002}.qr-modal-backdrop{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.qr-modal{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:24px;box-shadow:0 24px 64px #0003,0 12px 32px #00000026;max-width:420px;width:90%;padding:40px;position:relative;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.qr-modal-close{position:absolute;top:20px;right:20px;width:32px;height:32px;border:none;background:#0000000d;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#64748b;transition:all .2s ease}.qr-modal-close:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.qr-modal-content{display:flex;flex-direction:column;align-items:center;gap:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.qr-modal-title{font-size:24px;font-weight:700;color:#1e293b;margin:0;text-align:center;letter-spacing:-.025em;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.qr-code-container{background:#fff;padding:20px;border-radius:16px;box-shadow:0 4px 16px #00000014,inset 0 2px 4px #0000000a;display:flex;align-items:center;justify-content:center}.qr-code-image{width:240px;height:240px;display:block;image-rendering:crisp-edges;image-rendering:pixelated}.qr-modal-description{font-size:15px;color:#64748b;text-align:center;margin:0;line-height:1.6;max-width:320px}@media (max-width: 480px){.qr-modal{padding:32px 24px;max-width:90%}.qr-code-image{width:200px;height:200px}.qr-modal-title{font-size:20px}.qr-modal-description{font-size:14px}}.qr-modal-toggle{margin-top:20px;padding:16px;background:linear-gradient(135deg,#ef44441a,#ef444426);border-radius:12px;border:1px solid rgba(239,68,68,.3);transition:all .3s ease}.qr-modal.analysis-enabled .qr-modal-toggle{background:linear-gradient(135deg,#22c55e1a,#22c55e26);border-color:#22c55e4d}.qr-modal-toggle .toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.qr-modal-toggle .toggle-input{position:absolute;opacity:0;width:0;height:0}.qr-modal-toggle .toggle-slider{position:relative;display:inline-block;width:48px;height:24px;background-color:#e5e7eb;border-radius:12px;transition:background-color .3s ease}.qr-modal-toggle .toggle-slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #00000026}.qr-modal-toggle .toggle-input:checked+.toggle-slider{background-color:#22c55e}.qr-modal-toggle .toggle-input:checked+.toggle-slider:after{transform:translate(24px)}.qr-modal-toggle .toggle-text{font-size:14px;font-weight:600;color:#1e293b}.qr-modal-toggle .toggle-description{margin:8px 0 0 60px;font-size:12px;color:#64748b;line-height:1.4}.tools-guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.tools-guide-modal{background:#fff;border-radius:12px;max-width:720px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease}.tools-guide-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb}.tools-guide-title{font-size:24px;font-weight:700;color:#111827;margin:0}.tools-guide-close{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.tools-guide-close:hover{background-color:#f3f4f6;color:#374151}.tools-guide-content{padding:28px}.tools-guide-intro{color:#4b5563;line-height:1.6;margin-bottom:32px;font-size:15px}.tools-guide-section{margin-bottom:32px}.tools-guide-section:last-child{margin-bottom:0}.tools-guide-section-title{font-size:18px;font-weight:600;color:#111827;margin-bottom:16px;display:flex;align-items:center}.tools-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:12px}.tool-item{display:flex;gap:12px;padding:12px;border-radius:8px;background-color:#f9fafb;transition:background-color .2s ease}.tool-item:hover{background-color:#f3f4f6}.tool-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:8px;color:#4b5563;box-shadow:0 1px 2px #0000000d}.tool-info{flex:1}.tool-name{font-size:14px;font-weight:600;color:#111827;margin:0 0 4px}.tool-description{font-size:13px;color:#6b7280;line-height:1.5;margin:0}.tools-guide-note{font-size:13px;color:#6b7280;font-style:italic;margin-top:8px}.tools-guide-footer{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.tools-guide-tip{background-color:#fef3c7;padding:12px 16px;border-radius:8px;font-size:14px;color:#92400e;line-height:1.5;margin:0}.tools-guide-modal::-webkit-scrollbar{width:8px}.tools-guide-modal::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.tools-guide-modal::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.tools-guide-modal::-webkit-scrollbar-thumb:hover{background:#6b7280}.header-info-icon{margin-left:10px;top:20px;padding:0;font-size:11px;border:none;background-color:transparent;cursor:pointer;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;color:#4b5563;vertical-align:middle}.header-info-icon:hover{opacity:.8;color:#374151;transform:scale(1.1)}.header-info-icon:active{transform:scale(.95)}:root{--app-background-color: rgb(228, 227, 227)}.layout-container{display:flex;flex-direction:column;min-height:100vh;position:relative;width:100%;background:var(--app-background-color)}html,body{min-height:100vh;margin:0;padding:0;background:var(--app-background-color)}.header{flex-shrink:0;overflow:hidden}.layout-main{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column}.layout-main.panels-open{overflow:hidden}.content-area,.page-scroll-wrapper{background:var(--app-background-color)!important}.page-scroll-wrapper>div{background:transparent!important}.content-area *:not(.page-scroll-wrapper>div>div){background-color:transparent!important}.content-area::-webkit-scrollbar{width:8px;height:8px}.content-area::-webkit-scrollbar-track{background:transparent;border-radius:4px}.content-area::-webkit-scrollbar-thumb{background-color:#0000001a!important;border-radius:4px;opacity:0!important;visibility:hidden!important;transition:opacity 1s ease-out,visibility 1s ease-out!important}.content-area.scrollbar-visible::-webkit-scrollbar-thumb{opacity:1!important;visibility:visible!important;transition:opacity .1s ease-in,visibility .1s ease-in!important}.content-area::-webkit-scrollbar-thumb:hover{background-color:#0000004d!important}.app-background{background:#6b6b6b;min-height:100vh;width:100%}.tutorial-button{position:fixed;bottom:40px;left:10px;background:#000c;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;z-index:1000;transition:background-color .2s ease}.tutorial-button:hover{background:#000000e6}.tutorial-button:active{transform:scale(.95)}.layout-content{height:100vh;position:relative;padding-top:60px;background:var(--app-background-color);width:100%}.main-content{height:calc(100vh - 60px);position:relative;background:inherit}.canvas-container{height:100%;width:100%;background:inherit}@media (max-width: 768px){.tutorial-button{bottom:15px;left:15px;width:45px;height:45px;font-size:18px}}.interactive-demo{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.demo-skip-button{position:fixed;bottom:40px;left:10px;background:#000c;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;pointer-events:auto;z-index:10000;transition:background-color .2s ease}.demo-skip-button:hover{background:#000000e6}.demo-popup{position:fixed;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;max-width:250px;z-index:10001;pointer-events:auto;animation:popupFadeIn .3s ease-out}.popup-content{position:relative;text-align:center}.popup-arrow{position:absolute;width:0;height:0;border:8px solid transparent}.popup-arrow[style*="rotate(0deg)"]{top:-8px;left:50%;transform:translate(-50%);border-bottom-color:#fff;border-top:none}.popup-arrow[style*="rotate(180deg)"]{bottom:-8px;left:50%;transform:translate(-50%);border-top-color:#fff;border-bottom:none}.popup-arrow[style*="rotate(90deg)"]{left:-8px;top:50%;transform:translateY(-50%);border-right-color:#fff;border-left:none}.popup-arrow[style*="rotate(270deg)"]{right:-8px;top:50%;transform:translateY(-50%);border-left-color:#fff;border-right:none}.popup-icon{margin-bottom:8px}.popup-content p{margin:0 0 12px;font-size:14px;color:#374151;line-height:1.4;text-align:center}.popup-button{background:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:8px;font-size:14px}.popup-button:hover{background:#0056b3}@media (max-width: 768px){.demo-popup{max-width:200px;font-size:14px}.popup-button{padding:6px 12px;font-size:12px}}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.drag-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:0;display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .2s ease-out forwards;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;box-sizing:border-box;overflow:hidden}.drag-overlay--global{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;border-radius:0}.drag-overlay--active{background:#000000bf;border:none;box-shadow:0 8px 32px #0000004d}.drag-overlay-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:48px;text-align:center}.drag-overlay-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border-radius:50%;transition:all .2s ease-out}.drag-overlay--active .drag-overlay-icon{background:#3b82f633;transform:scale(1.1)}.drag-overlay-icon svg{width:64px;height:64px}.drag-overlay-title{margin:0;font-size:28px;font-weight:600;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:-.02em;transition:all .2s ease-out}.drag-overlay--active .drag-overlay-title{color:#fff;transform:translateY(-2px)}.drag-overlay-description{margin:0;font-size:16px;color:#ffffffb3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;max-width:400px;font-weight:400;transition:all .2s ease-out}.drag-overlay--active .drag-overlay-description{color:#ffffffe6}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (max-width: 768px){.drag-overlay-content{gap:20px;padding:32px}.drag-overlay-icon{width:64px;height:64px}.drag-overlay-icon svg{width:48px;height:48px}.drag-overlay-title{font-size:24px}.drag-overlay-description{font-size:14px;max-width:320px}}@media (prefers-contrast: high){.drag-overlay{border:none;background:#000000e6}.drag-overlay-title{color:#fff}.drag-overlay-description{color:#ffffffe6}}@media (prefers-reduced-motion: reduce){.drag-overlay{animation:none}.drag-overlay-icon,.drag-overlay-title,.drag-overlay-description{transition:none}.drag-overlay--active .drag-overlay-icon{transform:scale(1.05)}.drag-overlay--active .drag-overlay-title{transform:none}}.context-menu{background:#fff;background-color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 4px 24px #0000001f,0 2px 8px #00000014;min-width:220px;padding:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:contextMenuFadeIn .15s ease-out;isolation:isolate}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;padding:8px 12px;margin:2px 0;background:transparent;border:none;border-radius:6px;cursor:pointer;width:100%;font-size:13px;color:#1a1a1a;transition:all .15s ease;text-align:left;gap:10px;opacity:1!important;position:relative}.context-menu-item:hover:not(.disabled){background-color:#f0f0f0}.context-menu-item:active:not(.disabled){background-color:#e0e0e0;transform:scale(.98)}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-icon{width:16px;height:16px;flex-shrink:0;opacity:1}.context-menu-item:hover:not(.disabled) .context-menu-icon{opacity:1}.context-menu-label{flex:1;text-align:left;font-weight:400;letter-spacing:.01em}.context-menu-shortcut{margin-left:auto;opacity:1!important;font-size:11px;font-weight:400;padding-left:20px}.context-menu-separator{height:1px;background:#00000014;margin:6px 8px}@media (prefers-color-scheme: dark){.context-menu{background:#2a2a2a;border-color:#ffffff1a;box-shadow:0 4px 24px #00000080,0 2px 8px #0000004d}.context-menu-item{color:#f0f0f0}.context-menu-item:hover:not(.disabled){background-color:#3a3a3a}.context-menu-item:active:not(.disabled){background-color:#404040}.context-menu-separator{background:#ffffff1a}.context-menu-icon{filter:invert(1)}}.delete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999999;animation:fadeIn .2s ease-out}.delete-modal-content{background:#fff;border-radius:12px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease-out}.delete-modal-icon{width:56px;height:56px;margin:0 auto 20px;background:#fee;border-radius:50%;display:flex;align-items:center;justify-content:center}.delete-modal-icon img{width:28px;height:28px;opacity:.8}.delete-modal-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 12px;text-align:center}.delete-modal-message{font-size:15px;color:#666;line-height:1.5;margin:0 0 28px;text-align:center}.delete-modal-actions{display:flex;gap:12px;justify-content:center}.delete-modal-cancel,.delete-modal-confirm{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s ease;min-width:120px}.delete-modal-cancel{background:#f5f5f5;color:#333}.delete-modal-cancel:hover{background:#e8e8e8}.delete-modal-confirm{background:#dc3545;color:#fff}.delete-modal-confirm:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}@media (prefers-color-scheme: dark){.delete-modal-content{background:#2a2a2a;color:#f0f0f0}.delete-modal-icon{background:#dc354533}.delete-modal-title{color:#f0f0f0}.delete-modal-message{color:#aaa}.delete-modal-cancel{background:#3a3a3a;color:#f0f0f0}.delete-modal-cancel:hover{background:#454545}}.image-action-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-in-out}.image-action-modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;max-height:80vh;overflow:hidden;animation:slideUp .3s ease-out}.image-action-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.image-action-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.image-action-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.image-action-modal-close:hover{background:#f3f4f6;color:#111827}.image-action-modal-content{padding:20px;overflow-y:auto;max-height:calc(80vh - 120px)}.image-action-preview{background:#f9fafb;border-radius:12px;padding:16px;margin-bottom:24px;display:flex;justify-content:center;align-items:center;min-height:200px;max-height:300px;overflow:hidden}.image-action-preview img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.image-action-text-input{margin-bottom:24px}.image-action-text-input label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.image-action-text-input textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#111827;background:#fff;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.image-action-text-input textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.image-action-text-input textarea::placeholder{color:#9ca3af}.image-action-buttons{display:flex;gap:12px;justify-content:flex-end}.image-action-button{padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.image-action-cancel{background:#f3f4f6;color:#374151}.image-action-cancel:hover{background:#e5e7eb}.image-action-upload{background:#3b82f6;color:#fff}.image-action-upload:hover{background:#2563eb}.image-action-analyze{background:#10b981;color:#fff}.image-action-analyze:hover{background:#059669}@media (max-width: 640px){.image-action-modal{width:95%;max-height:90vh}.image-action-buttons{flex-direction:column}.image-action-button{width:100%}.image-action-preview{max-height:200px}}.marketing-landing-page{--brand-navy: 215 60% 16%;--brand-orange: 25 95% 53%;--soft-gray: 215 15% 55%;--gradient-hero: linear-gradient(135deg, hsl(215 60% 16%), hsl(215 50% 25%));--gradient-orange: linear-gradient(135deg, hsl(25 95% 53%), hsl(30 90% 60%));--shadow-card: 0 8px 30px -8px hsl(215 60% 16% / .15);--shadow-glow: 0 0 30px hsl(25 95% 53% / .3)}.marketing-landing-page{min-height:100vh;font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.6;color:hsl(var(--brand-navy));width:100%;overflow-x:hidden}.marketing-landing-page{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.marketing-landing-page::-webkit-scrollbar{width:8px}.marketing-landing-page::-webkit-scrollbar-track{background:transparent}.marketing-landing-page::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:4px}.marketing-landing-page::-webkit-scrollbar-thumb:hover{background-color:#00000080}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (min-width: 768px){.marketing-header{padding:1rem 2rem!important}}.chat-history-viewer{max-width:100%;margin:0 auto;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.chat-history-header{margin-bottom:30px;text-align:center}.chat-history-header h2{margin:0 0 10px;color:#333;font-size:24px;font-weight:600}.chat-history-header p{margin:0 0 20px;color:#666;font-size:14px}.refresh-button{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.refresh-button:hover{background:#2563eb}.loading,.error,.empty-state{text-align:center;padding:40px 20px;color:#666}.error{color:#ef4444}.error button{background:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:10px}.empty-state p{margin:5px 0;font-size:14px}.sessions-list{display:flex;flex-direction:column;gap:15px}.session-card{border:1px solid #e5e7eb;border-radius:8px;padding:20px;background:#f9fafb;transition:all .2s}.session-card:hover{border-color:#d1d5db;background:#f3f4f6;box-shadow:0 2px 8px #0000001a}.session-info h3{margin:0 0 10px;color:#1f2937;font-size:18px;font-weight:600}.session-meta,.session-dates{margin:8px 0;font-size:13px;color:#6b7280;display:flex;flex-wrap:wrap;gap:15px}.session-meta span,.session-dates span{background:#e5e7eb;padding:4px 8px;border-radius:4px;font-weight:500}.session-actions{margin-top:15px;display:flex;gap:10px;justify-content:flex-end}.view-button,.delete-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.view-button{background:#3b82f6;color:#fff}.view-button:hover{background:#2563eb}.delete-button{background:#ef4444;color:#fff}.delete-button:hover{background:#dc2626}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#1f2937;font-size:18px;font-weight:600}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-button:hover{background:#f3f4f6;color:#374151}.modal-body{padding:20px}.modal-body p{margin:10px 0;font-size:14px;color:#374151}.modal-body strong{color:#1f2937;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e5e7eb}.cancel-button{background:#6b7280;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.cancel-button:hover{background:#4b5563}@media (max-width: 768px){.chat-history-viewer{padding:15px}.session-meta,.session-dates{flex-direction:column;gap:8px}.session-actions{flex-direction:column}.modal-content{width:95%;margin:20px}.modal-footer{flex-direction:column}}.demo-manager{max-width:800px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.demo-manager-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.demo-manager-header h2{color:#1f2937;margin-bottom:8px;font-size:28px;font-weight:600}.demo-manager-header p{color:#6b7280;font-size:16px;margin:0}.demo-manager-content{display:flex;flex-direction:column;gap:24px}.current-config{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.current-config h3{color:#1f2937;margin-bottom:16px;font-size:18px;font-weight:600}.config-details{display:grid;gap:8px}.config-details p{margin:0;color:#374151;font-size:14px}.config-details strong{color:#1f2937;font-weight:600}.config-details a{color:#3b82f6;text-decoration:none;margin-left:8px}.config-details a:hover{text-decoration:underline}.upload-section{background:#fff;border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;transition:border-color .2s ease}.upload-section:hover{border-color:#3b82f6}.upload-section h3{color:#1f2937;margin-bottom:16px;font-size:18px;font-weight:600}.upload-section p{color:#6b7280;margin-bottom:16px;font-size:14px}.file-input{display:none}.upload-button{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.upload-button:hover:not(:disabled){background:#2563eb}.upload-button:disabled{background:#9ca3af;cursor:not-allowed}.status-message{padding:12px 16px;border-radius:6px;font-size:14px;font-weight:500}.status-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.status-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.instructions{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:20px}.instructions h3{color:#92400e;margin-bottom:16px;font-size:18px;font-weight:600}.instructions ol{color:#92400e;margin:0;padding-left:20px}.instructions li{margin-bottom:8px;font-size:14px;line-height:1.5}.instructions strong{color:#78350f;font-weight:600}@media (max-width: 768px){.demo-manager{padding:16px}.demo-manager-header h2{font-size:24px}.current-config,.upload-section,.instructions{padding:16px}}.referral-code-input{margin:16px 0;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.referral-code-label{display:block;font-weight:500;color:#495057;margin-bottom:8px;font-size:14px}.referral-code-container{display:flex;gap:8px;margin-bottom:8px}.referral-code-field{flex:1;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;font-family:Courier New,monospace;letter-spacing:1px;text-transform:uppercase;transition:border-color .2s}.referral-code-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.referral-code-field:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.referral-code-apply-btn{padding:10px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.referral-code-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.referral-code-apply-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.referral-code-message{padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:8px}.referral-code-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.referral-code-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.referral-code-info{margin-top:8px}.referral-code-info small{color:#6c757d;font-size:12px}.referral-code-input.compact{margin:12px 0;padding:12px}.referral-code-input.compact .referral-code-label{font-size:13px;margin-bottom:6px}.referral-code-input.compact .referral-code-field{padding:8px 10px;font-size:13px}.referral-code-input.compact .referral-code-apply-btn{padding:8px 12px;font-size:13px}.referral-code-input.compact .referral-code-info small{font-size:11px}@media (max-width: 480px){.referral-code-container{flex-direction:column;gap:8px}.referral-code-apply-btn{width:100%}}.settings-container{max-width:1200px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.settings-header{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.settings-title{font-size:28px;font-weight:600;color:#1f2937;margin-bottom:16px}.settings-tabs{display:flex;gap:8px;border-bottom:1px solid #e5e7eb}.tab-button{background:none;border:none;padding:12px 24px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:#374151;background:#f9fafb}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#eff6ff}.settings-content{padding:24px 0}.demo-content{padding:0}.settings-user-info{margin-bottom:16px;color:#374151;font-size:16px}.settings-signout-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.settings-signout-btn:hover{background:#dc2626}.settings-section{margin:24px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.settings-section h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#1f2937}.settings-section-description{margin:0 0 16px;color:#6b7280;font-size:14px;line-height:1.5}@media (max-width: 768px){.settings-container{padding:16px}.settings-title{font-size:24px}.settings-tabs{flex-direction:column;gap:0}.tab-button{border-bottom:1px solid #e5e7eb;border-radius:0;text-align:left}.tab-button.active{border-bottom-color:#3b82f6}}.subscription-success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.success-container{background:#fff;border-radius:20px;padding:3rem;text-align:center;box-shadow:0 20px 40px #0000001a;max-width:500px;width:100%;animation:slideUp .6s ease-out}.success-container.error{border:2px solid #ef4444}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out}.error-icon{font-size:4rem;margin-bottom:1rem;color:#ef4444}.success-container h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.success-message{color:#6b7280;font-size:1.25rem;margin-bottom:2rem;line-height:1.5}.subscription-details{background:#f9fafb;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:left}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.detail-item:last-child{border-bottom:none}.detail-item .label{font-weight:600;color:#374151}.detail-item .value{color:#6b7280;font-weight:500}.detail-item .value.active{color:#10b981;font-weight:600}.action-section{margin-bottom:2rem}.redirect-message{color:#6b7280;margin-bottom:1.5rem;font-size:1rem}.redirect-message strong{color:#1f2937;font-weight:700}.continue-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.continue-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.continue-button:active{transform:translateY(0)}.help-section{border-top:1px solid #e5e7eb;padding-top:1.5rem}.help-text{color:#9ca3af;font-size:.9rem}.help-text a{color:#667eea;text-decoration:none;font-weight:600}.help-text a:hover{text-decoration:underline}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@media (max-width: 640px){.subscription-success-page{padding:1rem}.success-container{padding:2rem}.success-container h1{font-size:2rem}.success-message{font-size:1.1rem}}.ai-demonstration-mode{position:relative;pointer-events:none}.ai-demonstration-mode:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);border-radius:12px;animation:ai-mode-pulse 2s infinite ease-in-out;pointer-events:none;z-index:10}@keyframes ai-mode-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.02)}}.ai-cursor{position:absolute;width:24px;height:24px;background:radial-gradient(circle,#667eea 30%,#667eea66 70%);border:2px solid #fff;border-radius:50%;pointer-events:none;z-index:100;box-shadow:0 0 20px #667eeacc,0 0 40px #667eea66;animation:ai-cursor-pulse 1s infinite ease-in-out;transform:translate(-50%,-50%)}@keyframes ai-cursor-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.ai-click-effect{position:absolute;width:60px;height:60px;border:3px solid #667eea;border-radius:50%;pointer-events:none;z-index:200;animation:ai-click-ripple .6s ease-out forwards;transform:translate(-50%,-50%)}@keyframes ai-click-ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:1;border-width:3px}to{transform:translate(-50%,-50%) scale(2);opacity:0;border-width:1px}}.grid-square.ai-controlled{position:relative;transition:all .3s ease!important;z-index:20}.grid-square.ai-controlled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea33,#764ba233);border:1px solid rgba(102,126,234,.4);border-radius:4px;animation:ai-square-highlight .8s ease-in-out;pointer-events:none}@keyframes ai-square-highlight{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}to{opacity:.6;transform:scale(1)}}.grid-square.ai-clicking{animation:ai-square-click .5s ease-out;z-index:30}@keyframes ai-square-click{0%{transform:scale(1);box-shadow:0 0 #667eeab3}30%{transform:scale(.95);box-shadow:0 0 20px #667eeab3}70%{transform:scale(1.05);box-shadow:0 0 30px #667eea80}to{transform:scale(1);box-shadow:0 0 #667eea00}}.ai-path-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#667eeacc;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;pointer-events:none;z-index:50;animation:ai-path-fade-in .4s ease-out}@keyframes ai-path-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.panel-control.ai-highlighted{position:relative;animation:ai-control-highlight 1.5s ease-in-out infinite}@keyframes ai-control-highlight{0%,to{box-shadow:0 0 #667eea00}50%{box-shadow:0 0 25px #667eeacc}}.ai-message-bubble{position:absolute;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:0 8px 25px #0000004d;max-width:250px;z-index:300;animation:ai-message-appear .5s ease-out;pointer-events:none}.ai-message-bubble:before{content:"";position:absolute;bottom:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #667eea}@keyframes ai-message-appear{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ai-message-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes ai-message-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.ai-message-bubble{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.4;font-weight:500}.ai-message-content{display:flex;align-items:center;gap:10px}.ai-message-icon{font-size:18px;flex-shrink:0}.ai-message-text{flex:1}.ai-demonstration-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;background:#000000e6;color:#fff;padding:20px;border-radius:12px;max-width:400px;text-align:center;box-shadow:0 20px 40px #0000004d;animation:ai-overlay-fade-in .4s ease-out}@keyframes ai-overlay-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ai-overlay-fade-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.ai-overlay-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;font-weight:700;font-size:16px}.ai-overlay-icon{font-size:20px}.ai-overlay-message{font-size:14px;line-height:1.5;opacity:.9}.ai-controlled.grid-square{transform:scale(1.05)!important;box-shadow:0 0 20px #667eeacc!important;z-index:100!important;position:relative!important}.ai-click-effect{position:absolute;top:50%;left:50%;width:40px;height:40px;transform:translate(-50%,-50%);border:2px solid rgba(102,126,234,.8);border-radius:50%;animation:ai-click-ripple .6s ease-out;pointer-events:none;z-index:200}.ai-highlight-glow{box-shadow:0 0 30px #667eeacc,0 0 60px #667eea66!important;animation:ai-glow-pulse 1.5s ease-in-out infinite alternate}@keyframes ai-glow-pulse{0%{box-shadow:0 0 30px #667eeacc,0 0 60px #667eea66}to{box-shadow:0 0 40px #667eea,0 0 80px #667eea99}}[class*=Grid]{position:relative}[class*=Grid]>*{position:relative}[class*=GridSquare],[class*=grid-square]{transition:all .2s ease!important}[class*=GridSquare].ai-controlled,[class*=grid-square].ai-controlled{z-index:100!important;position:relative!important}.ai-progress-trail{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#22c55e33,#22c55e1a);border:1px solid rgba(34,197,94,.3);border-radius:4px;pointer-events:none;animation:ai-progress-fade .6s ease-out}@keyframes ai-progress-fade{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.ai-speed-slow .ai-cursor,.ai-speed-slow .ai-click-effect{animation-duration:2s}.ai-speed-fast .ai-cursor,.ai-speed-fast .ai-click-effect{animation-duration:.3s}@media (prefers-reduced-motion: reduce){.ai-demonstration-mode:before,.ai-cursor,.ai-click-effect,.grid-square.ai-controlled:before,.grid-square.ai-clicking,.ai-path-indicator,.panel-control.ai-highlighted,.ai-message-bubble,.ai-progress-trail{animation:none}.ai-demonstration-mode:before{opacity:.4}.ai-cursor{opacity:.6}}@media (prefers-color-scheme: dark){.ai-demonstration-mode:before{background:linear-gradient(45deg,#667eea26,#764ba226);border-color:#667eea66}.ai-message-bubble{box-shadow:0 8px 25px #00000080}}.ai-state-analyzing{opacity:.8;transition:opacity .3s ease}.ai-state-paused{filter:grayscale(20%);transition:filter .3s ease}@media (prefers-contrast: high){.ai-cursor{border-width:3px;border-color:#000}.ai-click-effect{border-width:4px;border-color:#000}.ai-demonstration-mode:before{border-width:3px;border-color:#667eea}}.manipulative-viewer{display:flex;flex-direction:column;gap:20px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:800px;margin:0 auto}.manipulative-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.manipulative-title{font-size:1.8rem;font-weight:700;color:#2c3e50;margin:0}.manipulative-target{display:flex;align-items:center;gap:12px;font-size:1.1rem;color:#7f8c8d}.completion-badge{background:#27ae60;color:#fff;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:700;animation:celebration .5s ease-in-out}@keyframes celebration{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.manipulative-content{flex:1;display:flex;justify-content:center;align-items:center;min-height:400px}.ai-suggestion-panel{background:#f8f9fa;border-radius:8px;padding:16px;border-left:4px solid #3498db}.ai-loading{display:flex;align-items:center;gap:12px;color:#7f8c8d;font-style:italic}.loading-spinner{animation:thinking 1.5s infinite}@keyframes thinking{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.ai-error{display:flex;align-items:center;gap:12px;color:#e74c3c;background:#fdf2f2;padding:12px;border-radius:6px;border:1px solid #f8c6c6}.ai-suggestion{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;border-radius:6px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-suggestion-hint{background:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.ai-suggestion-encouragement{background:#e8f5e8;border:1px solid #c8e6c9;color:#388e3c}.ai-suggestion-correction{background:#fff3e0;border:1px solid #ffcc02;color:#f57c00}.ai-suggestion-completion{background:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.suggestion-content{display:flex;align-items:flex-start;gap:12px;flex:1}.suggestion-icon{font-size:1.2rem;margin-top:2px}.suggestion-text{line-height:1.5;font-size:1rem}.suggestion-close{background:none;border:none;font-size:1.5rem;color:#95a5a6;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.suggestion-close:hover{background:#0000001a;color:#34495e}.progress-indicator{display:flex;align-items:center;gap:16px;padding:12px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.progress-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.9rem;font-weight:700;color:#2c3e50;min-width:80px;text-align:right}@media (max-width: 768px){.manipulative-viewer{padding:16px;margin:0 16px}.manipulative-header{flex-direction:column;align-items:flex-start;gap:12px}.manipulative-title{font-size:1.5rem}.manipulative-content{min-height:300px}.progress-indicator{flex-direction:column;align-items:stretch;gap:8px}.progress-text{text-align:center;min-width:auto}}.manipulatives-chat-demo-redesigned{height:100vh;width:100vw;position:relative;overflow:hidden;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.panel-toggle-left,.panel-toggle-right,.panel-toggle-home{position:fixed;bottom:16px;z-index:1000;width:48px;height:48px;border:none;background:#fff;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.panel-toggle-left{left:16px}.panel-toggle-right{left:72px}.panel-toggle-home{left:128px}.panel-toggle-left:hover,.panel-toggle-right:hover,.panel-toggle-home:hover{background:#f1f5f9;box-shadow:0 6px 16px #0003;transform:scale(1.05)}.panel-toggle-left:active,.panel-toggle-right:active,.panel-toggle-home:active{transform:scale(.95)}.panel-toggle-left img,.panel-toggle-right img,.panel-toggle-home img{width:24px;height:24px;transition:transform .2s ease}.panel-toggle-left{border:2px solid #e2e8f0}.panel-toggle-right{border:2px solid #fecaca}.panel-toggle-home{border:2px solid #d1fae5}.panel-toggle-left:hover{border-color:#3b82f6}.panel-toggle-right:hover{border-color:#ef4444}.panel-toggle-home:hover{border-color:#10b981}.left-panel-overlay{position:fixed;top:0;left:0;height:100vh;width:380px;background:#fff;box-shadow:2px 0 20px #0000001a;z-index:500;transition:transform .3s ease-in-out;border-right:1px solid #e2e8f0}.left-panel-overlay.closed{transform:translate(-100%)}.left-panel-overlay.open{transform:translate(0)}.left-panel-content{padding:24px;height:100%;overflow-y:auto}.left-panel-content h3{margin:0 0 24px;font-size:1.5rem;font-weight:600;color:#1e293b;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.demo-selector-vertical{display:flex;flex-direction:column;gap:16px}.demo-button-vertical{display:flex;align-items:flex-start;gap:16px;padding:20px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.demo-button-vertical:hover{border-color:#3b82f6;background:#f8fafc;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.demo-button-vertical.active{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#e0f2fe);box-shadow:0 4px 12px #3b82f633}.demo-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.demo-text{flex:1}.demo-title{font-weight:600;font-size:1.1rem;color:#1e293b;margin-bottom:4px}.demo-desc{font-size:.875rem;color:#64748b;line-height:1.4}.right-panel-overlay{position:fixed;top:0;right:0;height:100vh;width:400px;background:#fff;box-shadow:-2px 0 20px #0000001a;z-index:500;transition:transform .3s ease-in-out;border-left:1px solid #e2e8f0}.right-panel-overlay.closed{transform:translate(100%)}.right-panel-overlay.open{transform:translate(0)}.right-panel-content{height:100%;width:100%}.main-content-area{height:100vh;width:100vw;padding:24px;box-sizing:border-box;transition:all .25s ease-in-out;overflow:auto}.main-content-area.left-panel-open{margin-left:380px;width:calc(100vw - 380px)}.main-content-area.right-panel-open{margin-right:400px;width:calc(100vw - 400px)}.main-content-area.left-panel-open.right-panel-open{margin-left:380px;margin-right:400px;width:calc(100vw - 780px)}.manipulative-content-container{max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px}.fade-in{animation:fadeIn .4s ease-in}@media (max-width: 1024px){.left-panel-overlay{width:320px}.right-panel-overlay{width:350px}.main-content-area.left-panel-open{margin-left:320px;width:calc(100vw - 320px)}.main-content-area.right-panel-open{margin-right:350px;width:calc(100vw - 350px)}.main-content-area.left-panel-open.right-panel-open{margin-left:320px;margin-right:350px;width:calc(100vw - 670px)}}@media (max-width: 768px){.left-panel-overlay{width:90vw;max-width:320px}.right-panel-overlay{width:90vw;max-width:350px}.main-content-area.left-panel-open,.main-content-area.right-panel-open,.main-content-area.left-panel-open.right-panel-open{margin-left:0;margin-right:0;width:100vw}.main-content-area{padding:16px}.panel-toggle-left{left:12px;bottom:12px}.panel-toggle-right{left:68px;bottom:12px}.panel-toggle-home{left:124px;bottom:12px}.left-panel-overlay.open~.main-content-area,.right-panel-overlay.open~.main-content-area{filter:blur(2px);pointer-events:none}}@media (max-width: 480px){.left-panel-overlay,.right-panel-overlay{width:100vw}.left-panel-content,.right-panel-content{padding:16px}.demo-button-vertical{padding:16px;gap:12px}.demo-title{font-size:1rem}.demo-desc{font-size:.8rem}.panel-toggle-left{left:8px;bottom:8px}.panel-toggle-right{left:60px;bottom:8px}.panel-toggle-home{left:112px;bottom:8px}}.panel-toggle-left:focus,.panel-toggle-right:focus,.panel-toggle-home:focus{outline:2px solid #3b82f6;outline-offset:2px}.demo-button-vertical:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){.left-panel-overlay,.right-panel-overlay,.main-content-area,.panel-toggle-left,.panel-toggle-right,.panel-toggle-home,.demo-button-vertical{transition:none}.fade-in{animation:none}}.ai-curation-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.ai-curation-header{text-align:center;padding:40px 20px 30px;color:#fff}.curation-title h1{margin:0 0 12px;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.curation-title p{margin:0;font-size:1.2rem;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.scenario-info{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:12px}.scenario-badge{display:flex;align-items:center;gap:8px;background:#fff3;padding:12px 20px;border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.badge-icon{font-size:1.2rem}.badge-text{font-weight:600;font-size:1.1rem}.scenario-details{display:flex;align-items:center;gap:16px;font-size:.95rem;opacity:.9}.ai-curation-check{background:linear-gradient(135deg,#f093fb,#f5576c)!important;box-shadow:0 4px 12px #f093fb4d!important}.ai-curation-check:hover{box-shadow:0 6px 16px #f093fb66!important;transform:translateY(-2px)}.back-to-grid-button{position:fixed;top:20px;left:20px;z-index:1000;padding:12px 20px;background-color:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:8px;transition:all .2s ease}.back-to-grid-button:hover{background-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.generate-scenario-button{padding:12px 24px;background-color:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.generate-scenario-button:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b98133}@media (max-width: 768px){.curation-title h1{font-size:2rem}.scenario-details{flex-direction:column;gap:8px}.back-to-grid-button{position:relative;top:auto;left:auto;margin-bottom:20px}}.page-context-demo{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.demo-header{text-align:center;color:#fff;margin-bottom:40px}.demo-header h1{margin:0 0 12px;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.demo-header p{margin:0 0 24px;font-size:1.2rem;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.command-status{display:flex;flex-direction:column;gap:12px;max-width:600px;margin:0 auto}.status-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.status-item.executing{background:#ffc107e6;color:#856404;animation:pulse 2s infinite}.status-item.success{background:#28a745e6;color:#fff}.status-item.error{background:#dc3545e6;color:#fff}.status-icon{font-size:1.2rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.demo-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.section{background:#fffffff2;border-radius:16px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.section h2{margin:0 0 20px;color:#2c3e50;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:8px}.context-info{display:flex;flex-direction:column;gap:12px}.info-item{padding:12px 16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #6366f1;font-size:14px}.info-item strong{color:#2c3e50;margin-right:8px}.detection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.detection-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;border:2px solid #e9ecef;background:#f8f9fa;transition:all .2s ease;font-weight:500}.detection-item.active{border-color:#28a745;background:#d4edda;color:#155724}.check-icon{font-weight:700;font-size:1.1rem}.detection-item.active .check-icon{color:#28a745}.quick-tests{display:flex;flex-direction:column;gap:12px}.test-button{padding:14px 20px;border:none;border-radius:8px;background:#6366f1;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;font-size:14px}.test-button:hover:not(:disabled){background:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.test-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.test-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);font-weight:600}.test-button.primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190)}.custom-message{display:flex;gap:12px;align-items:center}.message-input{flex:1;padding:12px 16px;border:2px solid #e9ecef;border-radius:8px;font-size:14px;transition:border-color .2s ease}.message-input:focus{outline:none;border-color:#6366f1}.message-input:disabled{background:#f8f9fa;opacity:.6}.send-button{padding:12px 20px;border:none;border-radius:8px;background:#28a745;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.send-button:hover:not(:disabled){background:#218838;transform:translateY(-1px)}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.notifications{display:flex;flex-direction:column;gap:8px}.notification{padding:12px 16px;background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;color:#0c5460;font-size:14px;font-weight:500}.clear-button{padding:8px 16px;border:1px solid #6c757d;border-radius:6px;background:transparent;color:#6c757d;cursor:pointer;font-size:12px;margin-top:8px;align-self:flex-start;transition:all .2s ease}.clear-button:hover{background:#6c757d;color:#fff}.response-display{background:#f8f9fa;border-radius:8px;padding:16px;border-left:4px solid #6366f1}.response-content .message{color:#2c3e50;font-size:15px;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.intent-info{padding:8px 12px;background:#e3f2fd;border-radius:6px;font-size:13px;color:#1565c0;border:1px solid #bbdefb}.response-display .error{color:#dc3545;font-weight:500;padding:12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px}.debug-info{background:#2c3e50;color:#ecf0f1;border-radius:8px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;overflow-x:auto}.debug-info pre{margin:0;white-space:pre-wrap;word-break:break-word}.chat-panel-container{position:fixed;top:20px;right:20px;width:400px;height:calc(100vh - 40px);z-index:1000;opacity:.1;transition:opacity .3s ease;pointer-events:none}.chat-panel-container:hover{opacity:1;pointer-events:auto}@media (max-width: 768px){.demo-content{grid-template-columns:1fr;gap:16px}.page-context-demo{padding:16px}.demo-header h1{font-size:2rem}.custom-message{flex-direction:column;align-items:stretch}.detection-grid{grid-template-columns:1fr}.chat-panel-container{display:none}}.section{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.inline-synthesis-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out;overflow:hidden}.inline-synthesis-modal{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.inline-synthesis-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.inline-synthesis-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.synthesis-close-button{background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.synthesis-close-button:hover{background:#fff3}.synthesis-content{padding:24px;overflow-y:auto;flex:1}.synthesis-loading,.synthesis-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.synthesis-loading .loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.synthesis-loading .loading-spinner.small{width:20px;height:20px;border-width:2px;margin-bottom:8px}.synthesis-error{color:#dc2626}.synthesis-meta{margin-bottom:20px}.synthesis-topic{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 4px}.synthesis-timestamp{font-size:.875rem;color:#6b7280}.synthesis-image{margin-bottom:24px;text-align:center}.problem-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a}.problem-image[src^="data:image/"]{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px -2px #00000026;background:#fff;padding:8px;border:1px solid #e5e7eb}.synthesis-sections{margin-bottom:24px;border:none;outline:none}.synthesis-section{margin-bottom:24px;padding:16px;border-radius:8px;border-left:4px solid}.synthesis-section.description{background:#f8fafc;border-left-color:#667eea}.synthesis-section.positive{background:#f0fdf4;border-left-color:#10b981}.synthesis-section.improvement{background:#fef2f2;border-left-color:#ef4444}.synthesis-section h5{margin:0 0 8px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#374151}.synthesis-text{color:#1f2937;line-height:1.6;margin:0}.conversation-toggle{margin-bottom:16px;padding-top:16px;border-top:1px solid #e5e7eb}.toggle-conversation-button{display:flex;align-items:center;justify-content:space-between;width:100%;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#374151}.toggle-conversation-button:hover{background:#f3f4f6;border-color:#d1d5db}.toggle-icon{transition:transform .2s ease}.toggle-icon.rotated{transform:rotate(180deg)}.conversation-section{border-top:1px solid #e5e7eb;padding-top:16px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:400px}}.conversation-messages{max-height:400px;overflow-y:auto;padding:8px 0}.parent-message.assistant{align-self:flex-start;align-items:flex-start}.parent-message.user .message-bubble{background:#667eea;color:#fff!important;border-bottom-right-radius:4px}.parent-message.assistant .message-bubble{background:#f5f5f5;color:#2d3748;border-left:4px solid #667eea;border-bottom-left-radius:4px}.parent-message img[src^="data:image/"]{background:#fff;padding:4px;border:1px solid #e5e7eb}.conversation-loading{display:flex;flex-direction:column;align-items:center;padding:20px}.no-conversation{text-align:center;padding:20px;color:#6b7280;font-style:italic}.no-conversation p{margin:0}@media (max-width: 768px){.inline-synthesis-overlay{padding:10px}.inline-synthesis-modal{max-width:none;width:100%;max-height:95vh;border-radius:12px}.inline-synthesis-header,.synthesis-content{padding:16px}.synthesis-topic{font-size:1.125rem}.conversation-messages{max-height:250px}}@media (max-width: 480px){.inline-synthesis-header,.synthesis-content,.synthesis-section{padding:12px}.toggle-conversation-button{padding:10px 12px}}.mastery-dashboard{--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 0%, #f093fb 100%);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}.mastery-dashboard{min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef 0%,#f8d7da);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--neutral-800);position:relative;overflow-x:hidden}.mastery-dashboard:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}.mastery-header{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:var(--shadow-2xl);margin-bottom:2rem;position:relative;overflow:hidden;animation:slideInDown .6s ease-out}.mastery-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);background-size:200% 100%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.mastery-title{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;font-size:clamp(2rem,5vw,3rem);margin-bottom:1.5rem;text-align:center;letter-spacing:-.025em;position:relative}.filter-button{position:relative;overflow:hidden;transition:var(--transition-normal);border-radius:16px;font-weight:600;font-size:.875rem;letter-spacing:.025em;border:2px solid transparent;background:#fffc;color:var(--neutral-600);padding:.75rem 1.5rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:#fffffff2;color:var(--neutral-700)}.filter-button.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-xl);border-color:#fff3}.filter-button.active:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.mastery-grid{gap:2rem;margin-top:2rem;animation:fadeInUp .8s ease-out .2s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.mastery-grid.grid-1{grid-template-columns:1fr;max-width:800px;margin-left:auto;margin-right:auto}.mastery-grid.grid-2,.mastery-grid.grid-3,.mastery-grid.grid-4{grid-template-columns:repeat(1,1fr)}@media (min-width: 768px){.mastery-grid.grid-2,.mastery-grid.grid-3,.mastery-grid.grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.mastery-grid.grid-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.mastery-grid.grid-4{grid-template-columns:repeat(4,1fr)}}.unit-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:var(--shadow-xl);transition:var(--transition-normal);position:relative;overflow:hidden;animation:slideInUp .6s ease-out}.unit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);background-size:200% 100%;animation:gradientShift 3s ease infinite}.unit-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl)}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.unit-title{color:var(--neutral-800);font-weight:800;font-size:1.5rem;margin-bottom:1.5rem;position:relative;letter-spacing:-.025em}.topic-item{background:#f8fafccc;border:1px solid rgba(226,232,240,.6);border-radius:16px;padding:1.25rem;margin-bottom:1rem;transition:var(--transition-normal);position:relative;overflow:hidden}.topic-item:hover{background:#fffffff2;border-color:var(--primary-blue);transform:translate(4px);box-shadow:var(--shadow-lg)}.topic-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);opacity:0;transition:var(--transition-normal)}.topic-item:hover:before{opacity:1}.topic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.topic-title{font-weight:700;color:var(--neutral-800);font-size:1rem;line-height:1.4;flex:1}.topic-status{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.875rem;padding:.5rem .75rem;border-radius:12px;white-space:nowrap;transition:var(--transition-fast)}.topic-status.mastered{background:#10b9811a;color:var(--success-green);border:1px solid rgba(16,185,129,.2)}.topic-status.near{background:#f59e0b1a;color:var(--warning-orange);border:1px solid rgba(245,158,11,.2)}.topic-status.not-yet{background:#ef44441a;color:var(--error-red);border:1px solid rgba(239,68,68,.2)}.progress-bar-container{width:100%;height:12px;background:#e2e8f0cc;border-radius:6px;overflow:hidden;margin:1rem 0;position:relative}.progress-bar{height:100%;border-radius:6px;transition:var(--transition-slow);position:relative;overflow:hidden;animation:progressFill 1s ease-out}@keyframes progressFill{0%{width:0%}}.progress-bar.mastered{background:var(--gradient-success)}.progress-bar.near{background:var(--gradient-warning)}.progress-bar.not-yet{background:var(--gradient-error)}.progress-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{left:-100%}to{left:100%}}.topic-description{color:var(--neutral-600);font-size:.875rem;line-height:1.5;margin-top:.75rem}.empty-state{text-align:center;padding:4rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;margin:2rem 0;border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-xl);animation:fadeIn .6s ease-out}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.6;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.empty-state-title{font-size:1.5rem;font-weight:700;color:var(--neutral-700);margin-bottom:.75rem}.empty-state-subtitle{color:var(--neutral-500);margin-bottom:2rem;font-size:1rem}.loading-spinner{display:inline-block;width:3rem;height:3rem;border:4px solid rgba(102,126,234,.2);border-radius:50%;border-top-color:var(--primary-blue);animation:spin 1s linear infinite}.back-button{display:inline-flex;align-items:center;gap:.5rem;color:var(--neutral-600);background:#ffffffe6;border:1px solid rgba(226,232,240,.6);border-radius:12px;padding:.75rem 1.25rem;font-weight:600;transition:var(--transition-normal);text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:1rem}.back-button:hover{color:var(--neutral-700);background:#fffffff2;border-color:var(--primary-blue);transform:translate(-4px);box-shadow:var(--shadow-lg)}.back-button svg{transition:transform var(--transition-normal)}.back-button:hover svg{transform:translate(-4px)}@media (max-width: 640px){.mastery-header{margin:1rem;padding:1.5rem}.filter-button{padding:.5rem 1rem;font-size:.8rem}.unit-card{margin:0 1rem}.topic-item{padding:1rem}.topic-header{flex-direction:column;align-items:flex-start;gap:.5rem}.topic-status{align-self:flex-end}}.max-w-7xl{max-width:80rem;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}.text-lg{font-size:1.125rem}.text-gray-600{color:var(--neutral-500)}.gap-3{gap:.75rem}.flex-wrap{flex-wrap:wrap}.space-y-3>*+*{margin-top:.75rem}.p-6{padding:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.justify-center{justify-content:center}.absolute{position:absolute}.left-1\/2{left:50%}.transform{transform:translateZ(0)}.-translate-x-1\/2{transform:translate(-50%)}.w-8{width:2rem}.h-8{height:2rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.text-gray-600{color:#6b7280}.text-gray-800,.hover\:text-gray-800:hover{color:#374151}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.transition-colors{transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.text-gray-500{color:#6b7280}.border-b{border-bottom-width:1px}.border-gray-200{border-color:#e5e7eb}.bg-white{background-color:#fff}.grade-selector-container{position:relative;display:inline-block}.grade-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 32px 8px 12px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;min-width:120px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 3px #0000001a}.grade-selector:hover{background:#fffffff2;border-color:#00000026;box-shadow:0 2px 4px #0000001a}.grade-selector:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.grade-selector-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#6b7280;transition:color .2s ease}.grade-selector:hover+.grade-selector-icon{color:#374151}.grade-selector:focus+.grade-selector-icon{color:#667eea}.grade-selector-icon svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}@media (max-width: 640px){.mastery-dashboard-header .welcome-text{position:static;transform:none;margin-top:.5rem}.mastery-dashboard-header .flex{flex-direction:column;align-items:flex-start;gap:.5rem}.grade-selector-container{align-self:stretch}.grade-selector{width:100%;min-width:unset}}.topic-item{transition:all var(--transition-normal);border-radius:12px;overflow:hidden}.topic-item.expanded{background:#ffffff05;box-shadow:var(--shadow-md);border:1px solid rgba(102,126,234,.1)}.topic-header.clickable{cursor:pointer;transition:background-color var(--transition-fast);padding:12px;margin:-12px;border-radius:8px}.topic-header.clickable:hover{background:#667eea0d}.topic-title{display:flex;align-items:center;justify-content:space-between;flex:1}.topic-name{font-weight:600}.topic-id-container{display:flex;justify-content:flex-end;margin-top:12px}.topic-id{font-size:.7rem;font-weight:500;color:var(--neutral-400);font-family:SF Mono,Monaco,monospace;background:#667eea0f;padding:3px 8px;border-radius:6px;display:inline-block;letter-spacing:.025em;border:1px solid rgba(102,126,234,.1);transition:all var(--transition-fast)}.topic-id:hover{background:#667eea1a;color:var(--neutral-500);border-color:#667eea33}.expand-indicator{margin-left:8px}.expand-icon{transition:transform var(--transition-normal);color:var(--neutral-400)}.expand-icon.rotated{transform:rotate(180deg);color:var(--neutral-600)}.related-attempts{margin-top:16px;overflow:hidden;transition:all var(--transition-normal);opacity:0;max-height:0;border-top:1px solid transparent}.related-attempts.expanded{opacity:1;max-height:500px;border-top-color:#0000001a;padding-top:16px}.attempts-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.attempts-icon{font-size:16px}.attempts-title{font-size:.75rem;font-weight:600;color:var(--neutral-600);text-transform:uppercase;letter-spacing:.05em;margin:0}.attempts-list{background:#ffffff80;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.attempts-table-header{display:grid;grid-template-columns:80px 1fr 80px;gap:12px;padding:8px 12px;background:#667eea1a;font-size:.75rem;font-weight:600;color:var(--neutral-700);text-transform:uppercase;letter-spacing:.05em}.attempt-row{display:grid;grid-template-columns:80px 1fr 80px;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.05);font-size:.875rem;transition:background-color var(--transition-fast)}.attempt-row:last-child{border-bottom:none}.attempt-row:hover{background:#667eea08}.col-date{font-family:SF Mono,Monaco,monospace;font-size:.8rem;color:var(--neutral-600);display:flex;align-items:center}.col-evidence{display:flex;align-items:center;justify-content:space-between;gap:8px}.col-evidence.clickable{cursor:pointer;transition:color var(--transition-fast)}.col-evidence.clickable:hover{color:var(--neutral-700)}.evidence-thumbnail{font-size:.8rem;color:var(--neutral-600);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-icon{color:var(--neutral-400);flex-shrink:0;transition:color var(--transition-fast)}.col-evidence.clickable:hover .play-icon{color:#667eea}.col-mastery{display:flex;align-items:center;justify-content:center;gap:2px;font-weight:600;font-size:.875rem}.col-mastery.positive{color:#059669}.col-mastery.negative{color:#dc2626}.delta-icon{font-size:.75rem}.no-attempts{padding:20px;text-align:center;color:var(--neutral-500);font-style:italic;background:#00000005;border-radius:8px}.no-attempts p{margin:0;font-size:.875rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:500px}}.related-attempts.expanded{animation:slideDown var(--transition-normal) ease-out}@media (max-width: 640px){.attempts-table-header,.attempt-row{grid-template-columns:70px 1fr 70px;gap:8px;padding:8px;font-size:.8rem}.evidence-thumbnail{font-size:.75rem}.play-icon{width:10px;height:10px}.col-mastery{font-size:.8rem}}.pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;transition:all .2s ease}.pill-neutral{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.pill-green{background-color:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.pill-amber{background-color:#fef3c7;color:#d97706;border:1px solid #fde68a}.pill-red{background-color:#fee2e2;color:#dc2626;border:1px solid #fecaca}.student-sidebar{width:320px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;height:100%}.student-sidebar__search-container{padding:16px;border-bottom:1px solid #e5e7eb}.student-sidebar__search-box{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s ease}.student-sidebar__search-box:focus-within{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.student-sidebar__search-icon{color:#64748b;flex-shrink:0}.student-sidebar__search-input{flex:1;background:transparent;border:none;outline:none;font-size:14px;color:#1f2937}.student-sidebar__search-input::placeholder{color:#9ca3af}.student-sidebar__list{flex:1;overflow-y:auto;padding:8px}.student-sidebar__empty{padding:20px;text-align:center}.student-sidebar__empty-text{color:#64748b;margin-bottom:8px}.student-sidebar__empty-hint{font-size:12px;color:#64748b}.student-sidebar__item{width:100%;padding:12px;margin-bottom:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.student-sidebar__item:hover{background:#f9fafb;border-color:#d1d5db}.student-sidebar__item--selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 1px 3px #3b82f61a}.student-sidebar__item--loading{opacity:.7;pointer-events:none}.student-sidebar__item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.student-sidebar__item-name{font-weight:600;color:#1f2937;font-size:14px}.student-sidebar__item-last-active{font-size:12px;color:#64748b}.student-sidebar__item-meta{display:flex;align-items:center;gap:4px;margin-bottom:8px;font-size:12px;color:#64748b}.student-sidebar__item-separator{color:#d1d5db}.student-sidebar__item-email{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-sidebar__item-pills{display:flex;gap:6px;flex-wrap:wrap}.info-tooltip{position:relative;display:inline-block}.info-tooltip__trigger{margin-left:4px;padding:2px 4px;font-size:10px;border:none;background-color:transparent;cursor:help;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.info-tooltip__trigger:hover{opacity:.8}.info-tooltip__content{padding:10px 14px;background-color:#1f2937;color:#fff;border-radius:8px;font-size:12px;line-height:1.3;max-width:400px;min-width:300px;box-shadow:0 4px 12px #00000026;white-space:normal;animation:fadeIn .2s ease;margin-bottom:8px}.info-tooltip__portal-content{pointer-events:auto}.info-tooltip__arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1f2937}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.health-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.health-chip__icon{color:inherit;flex-shrink:0}.health-chip__icon--disabled{color:#9ca3af;flex-shrink:0}.health-chip__label{color:#64748b;display:flex;align-items:center;font-size:14px}.health-chip__value{font-weight:600;color:inherit;font-style:normal;margin-left:auto}.health-chip__value--placeholder{color:#9ca3af;font-style:italic}.overview-tab{display:flex;flex-direction:column;gap:24px}.overview-tab__card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.overview-tab__card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.overview-tab__card-title{font-weight:600;font-size:16px;color:#1f2937}.overview-tab__card-body{padding:20px}.overview-tab__refresh-btn{background:transparent;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.overview-tab__refresh-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.overview-tab__refresh-btn:disabled{opacity:.5;cursor:not-allowed}.overview-tab__refresh-icon--spinning{animation:spin 1s linear infinite}.overview-tab__timeframe-buttons{display:flex;gap:8px}.overview-tab__timeframe-btn{padding:8px 16px;border-radius:6px;border:1px solid #d1d5db;background:transparent;color:#374151;cursor:pointer;transition:all .2s ease;font-size:14px}.overview-tab__timeframe-btn:hover{background:#f9fafb}.overview-tab__timeframe-btn--active{background:#3b82f6;color:#fff;border-color:#3b82f6}.overview-tab__loading{text-align:center;padding:40px}.overview-tab__spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.overview-tab__loading-title{color:#1f2937;font-weight:600;margin-bottom:8px;font-size:16px}.overview-tab__loading-subtitle{color:#64748b;font-size:14px;margin-bottom:4px}.overview-tab__loading-hint{color:#9ca3af;font-size:12px}.overview-tab__error{text-align:center;padding:40px}.overview-tab__error-icon{color:#ef4444;margin:0 auto 16px}.overview-tab__error-title{color:#ef4444;margin-bottom:8px;font-weight:600}.overview-tab__error-message{font-size:14px;color:#64748b;margin-bottom:16px}.overview-tab__retry-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s ease}.overview-tab__retry-btn:hover{background:#2563eb}.overview-tab__no-data{text-align:center;color:#64748b;padding:20px}.overview-tab__summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.overview-tab__metrics-section,.overview-tab__topics-section{display:flex;flex-direction:column}.overview-tab__section-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#1f2937}.overview-tab__metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overview-tab__topics-list{display:flex;flex-wrap:wrap;gap:6px}.overview-tab__topic-pill{padding:4px 10px;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:12px;font-size:12px;font-weight:500}.overview-tab__no-topics{color:#64748b;font-size:14px}.overview-tab__analysis-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.overview-tab__analysis-section{display:flex;flex-direction:column}.overview-tab__analysis-title{font-size:14px;font-weight:600;margin-bottom:12px}.overview-tab__analysis-title--strengths{color:#10b981}.overview-tab__analysis-title--needs{color:#f59e0b}.overview-tab__analysis-title--next{color:#3b82f6}.overview-tab__analysis-list{margin:0;padding-left:16px;list-style-type:disc}.overview-tab__analysis-item{font-size:14px;color:#374151;margin-bottom:4px;line-height:1.5}.overview-tab__analysis-item--empty{color:#9ca3af;font-size:14px;list-style-type:none;margin-left:-16px}.overview-tab__trends-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.overview-tab__trend-section{display:flex;flex-direction:column}.overview-tab__trend-title{font-size:14px;font-weight:600;margin-bottom:12px}.overview-tab__trend-title--improving{color:#10b981}.overview-tab__trend-title--declining{color:#ef4444}.overview-tab__trend-title--consistent{color:#64748b}.overview-tab__trend-item{font-size:13px;color:#374151;margin-bottom:2px}.overview-tab__trend-item--empty{color:#9ca3af;font-size:13px}.synthesis-tab{display:grid;grid-template-columns:2fr 1fr;gap:24px;height:fit-content}.synthesis-tab__card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.synthesis-tab__card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.synthesis-tab__card-body{padding:20px}.synthesis-tab__main{display:flex;flex-direction:column;gap:24px}.synthesis-tab__header-content{flex:1}.synthesis-tab__header-subtitle{font-size:14px;color:#64748b;margin-bottom:4px}.synthesis-tab__header-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:4px}.synthesis-tab__header-date{font-size:14px;color:#64748b}.synthesis-tab__view-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#374151}.synthesis-tab__view-button:hover{background:#f9fafb;border-color:#d1d5db}.synthesis-tab__image-section{margin-bottom:24px}.synthesis-tab__image-label{font-size:14px;font-weight:600;margin-bottom:12px;color:#1f2937}.synthesis-tab__image-container{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb;text-align:center}.synthesis-tab__image{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px #00000014}.synthesis-tab__image-fallback{text-align:center;color:#64748b;padding:20px}.synthesis-tab__content-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.synthesis-tab__content-section{padding:16px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.synthesis-tab__content-section--green{background:#f0fdf4;border-color:#bbf7d0}.synthesis-tab__content-section--amber{background:#fffbeb;border-color:#fde68a}.synthesis-tab__content-label{font-size:14px;font-weight:600;margin-bottom:8px;color:#1f2937}.synthesis-tab__content-text{font-size:14px;color:#374151;line-height:1.5}.synthesis-tab__dynamic-section{margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.synthesis-tab__dynamic-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.synthesis-tab__dynamic-column{display:flex;flex-direction:column}.synthesis-tab__dynamic-title{font-size:14px;font-weight:600;margin-bottom:12px}.synthesis-tab__dynamic-title--strengths{color:#10b981}.synthesis-tab__dynamic-title--needs{color:#f59e0b}.synthesis-tab__dynamic-title--next{color:#3b82f6}.synthesis-tab__dynamic-list{margin:0;padding-left:16px;list-style-type:disc}.synthesis-tab__dynamic-item{font-size:13px;color:#374151;margin-bottom:4px;line-height:1.4}.synthesis-tab__explanations-header{display:flex;align-items:center;gap:8px}.synthesis-tab__explanations-icon{color:#64748b}.synthesis-tab__explanations-title{font-weight:600;font-size:16px;color:#1f2937}.synthesis-tab__explanations-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.synthesis-tab__explanation-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.synthesis-tab__explanation-item:hover{border-color:#3b82f6;background-color:#f8faff}.synthesis-tab__explanation-content{flex:1}.synthesis-tab__explanation-title{font-size:14px;font-weight:500;margin-bottom:4px;color:#1f2937}.synthesis-tab__explanation-date{font-size:12px;color:#6b7280}.synthesis-tab__explanation-badges{display:flex;align-items:center;gap:8px}.synthesis-tab__explanation-badge{display:flex;align-items:center;gap:4px}.synthesis-tab__badge-icon{flex-shrink:0}.synthesis-tab__badge-icon--blue{color:#3b82f6}.synthesis-tab__badge-icon--green{color:#10b981}.synthesis-tab__badge-icon--purple{color:#8b5cf6}.synthesis-tab__badge-dot{width:6px;height:6px;border-radius:50%;background-color:#f59e0b}.synthesis-tab__chevron{color:#9ca3af}.synthesis-tab__explanations-empty{text-align:center;color:#6b7280;font-size:14px;padding:20px}.synthesis-tab__sidebar{position:sticky;top:24px;height:fit-content}.synthesis-tab__cards-selector{height:fit-content}.synthesis-tab__selector-header{display:flex;align-items:center;justify-content:space-between;width:100%}.synthesis-tab__selector-title-group{display:flex;align-items:center;gap:8px}.synthesis-tab__selector-icon{color:#64748b}.synthesis-tab__selector-title{font-weight:600;font-size:16px;color:#1f2937}.synthesis-tab__selector-count{font-size:12px;color:#64748b}.synthesis-tab__timeframe-select{padding:4px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.synthesis-tab__cards-list{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 200px);overflow-y:auto;padding-right:8px}.synthesis-tab__card-item{padding:12px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.synthesis-tab__card-item:hover{border-color:#d1d5db;background-color:#f9fafb}.synthesis-tab__card-item--selected,.synthesis-tab__card-item--selected:hover{background:#eff6ff;border-color:#3b82f6}.synthesis-tab__card-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.synthesis-tab__card-item-content{flex:1}.synthesis-tab__card-item-title{font-size:14px;font-weight:600;margin-bottom:2px;line-height:1.3;color:#1f2937}.synthesis-tab__card-item-date{font-size:11px;color:#6b7280}.synthesis-tab__card-item-check{color:#3b82f6;margin-top:2px;flex-shrink:0;margin-left:8px}.synthesis-tab__card-item-description{font-size:12px;color:#64748b;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.synthesis-tab__loading{text-align:center;padding:40px}.synthesis-tab__spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.synthesis-tab__loading-text{color:#64748b;font-size:14px}.synthesis-tab__error{text-align:center;padding:40px}.synthesis-tab__error-icon{color:#ef4444;margin:0 auto 16px}.synthesis-tab__error-title{color:#ef4444;margin-bottom:8px;font-weight:600}.synthesis-tab__error-message{font-size:14px;color:#64748b}.synthesis-tab__empty{text-align:center;padding:40px}.synthesis-tab__empty-icon{color:#d1d5db;margin:0 auto 16px}.synthesis-tab__empty-title{color:#64748b;margin-bottom:8px;font-weight:600}.synthesis-tab__empty-message{font-size:14px;color:#9ca3af}.analysis-tab{display:grid;grid-template-columns:2fr 1fr;gap:24px;height:fit-content}.analysis-tab__card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.analysis-tab__card-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.analysis-tab__card-body{padding:20px}.analysis-tab__card-body--compact{padding:16px}.analysis-tab__card-title{font-weight:600;font-size:16px;color:#1f2937}.analysis-tab__card-title--small{font-weight:600;font-size:14px;color:#1f2937}.analysis-tab__main{display:flex;flex-direction:column;gap:24px}.analysis-tab__section-header{margin-bottom:16px}.analysis-tab__section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1f2937}.analysis-tab__mastery-alert{margin-left:auto;padding:4px 8px;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:12px;font-weight:500}.analysis-tab__analysis-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.analysis-tab__analysis-section{display:flex;flex-direction:column}.analysis-tab__analysis-title{font-size:15px;font-weight:600;margin-bottom:12px}.analysis-tab__analysis-title--strengths{color:#10b981}.analysis-tab__analysis-title--needs{color:#f59e0b}.analysis-tab__analysis-title--next{color:#3b82f6}.analysis-tab__analysis-list{margin:0;padding-left:16px;list-style-type:disc}.analysis-tab__analysis-item{font-size:14px;color:#374151;margin-bottom:6px;line-height:1.4}.analysis-tab__analysis-item--empty{color:#9ca3af;font-size:14px;list-style-type:none;margin-left:-16px}.analysis-tab__metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.analysis-tab__action-section{padding-top:20px;border-top:1px solid #e5e7eb}.analysis-tab__generate-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease;font-size:14px;font-weight:500}.analysis-tab__generate-button:hover{background:#2563eb}.analysis-tab__rcm-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:12px}.analysis-tab__enhanced-rcm{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:12px;border-top:1px solid #e5e7eb}.analysis-tab__rcm-metric{background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #e2e8f0}.analysis-tab__rcm-label{display:flex;align-items:center;font-size:12px;color:#64748b;margin-bottom:8px;font-weight:500}.analysis-tab__rcm-value{font-size:16px;font-weight:600;color:#1f2937}.analysis-tab__rcm-value--green{color:#10b981}.analysis-tab__rcm-value--amber{color:#f59e0b}.analysis-tab__rcm-value--red{color:#ef4444}.analysis-tab__rcm-value--placeholder{color:#9ca3af;font-style:italic}.analysis-tab__sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px;height:fit-content}.analysis-tab__problem-title{font-size:14px;font-weight:600;margin-bottom:12px;line-height:1.3;color:#1f2937}.analysis-tab__problem-image{margin-bottom:12px}.analysis-tab__problem-image-container{border:1px solid #e5e7eb;border-radius:6px;padding:8px;background-color:#f9fafb;text-align:center}.analysis-tab__problem-image-img{max-width:100%;max-height:150px;height:auto;border-radius:4px;box-shadow:0 1px 4px #0000000f}.analysis-tab__problem-image-fallback{text-align:center;color:#64748b;padding:12px;font-size:12px}.analysis-tab__problem-description{font-size:12px;color:#64748b;line-height:1.4;background-color:#f8fafc;padding:8px;border-radius:4px;border:1px solid #e2e8f0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.analysis-tab__selector-header{display:flex;align-items:center;justify-content:space-between;width:100%}.analysis-tab__selector-title-group{display:flex;align-items:center;gap:8px}.analysis-tab__selector-icon{color:#64748b}.analysis-tab__selector-count{font-size:12px;color:#64748b}.analysis-tab__timeframe-select{padding:4px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;background:#fff;cursor:pointer}.analysis-tab__cards-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding-right:8px}.analysis-tab__card-item{padding:10px;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;background:#fff}.analysis-tab__card-item:hover{border-color:#d1d5db;background-color:#f9fafb}.analysis-tab__card-item--selected,.analysis-tab__card-item--selected:hover{background:#eff6ff;border-color:#3b82f6}.analysis-tab__card-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.analysis-tab__card-item-content{flex:1}.analysis-tab__card-item-title{font-size:14px;font-weight:600;margin-bottom:2px;line-height:1.3;color:#1f2937}.analysis-tab__card-item-date{font-size:11px;color:#6b7280}.analysis-tab__card-item-check{color:#3b82f6;margin-top:2px;flex-shrink:0;margin-left:8px}.analysis-tab__card-item-description{font-size:12px;color:#64748b;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:8px}.analysis-tab__card-item-preview{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.analysis-tab__preview-badges{display:flex;gap:12px;flex-wrap:wrap}.analysis-tab__preview-badge{font-size:11px;font-weight:500}.analysis-tab__preview-badge--green{color:#10b981}.analysis-tab__preview-badge--amber{color:#f59e0b}.analysis-tab__preview-badge--blue{color:#3b82f6}.synthesis-review-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px}.synthesis-review-panel{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #00000040;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.review-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:16px 16px 0 0}.review-title{display:flex;align-items:center;gap:12px;color:#1f2937}.review-title h3{margin:0;font-size:20px;font-weight:600}.review-title p{margin:0;font-size:14px;color:#6b7280}.close-btn{background:none;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#374151}.problem-context{display:flex;gap:20px;padding:24px;border-bottom:1px solid #e5e7eb;background:#fafafa}.problem-image img{border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000001a}.problem-details{flex:1}.problem-details h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#1f2937}.problem-details p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.review-tabs{display:flex;border-bottom:1px solid #e5e7eb;background:#fff}.tab-btn{display:flex;align-items:center;gap:8px;padding:16px 24px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s ease;border-bottom:2px solid transparent}.tab-btn:hover{color:#374151;background:#f9fafb}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#fff}.review-content{padding:0;max-height:60vh;overflow-y:auto}.explanation-review,.reflection-review{display:flex;flex-direction:column;gap:24px;padding:24px}.student-work,.ai-analysis,.tutor-grading,.tutor-feedback{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.student-work{background:#fefef9;border-color:#fef3c7}.ai-analysis{background:#f0f9ff;border-color:#bae6fd}.tutor-grading,.tutor-feedback{background:#fefef9;border-color:#d1fae5}.student-work h4,.ai-analysis h4,.tutor-grading h4,.tutor-feedback h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#1f2937}.student-work h5,.ai-analysis h5{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151}.audio-section{margin-bottom:16px}.audio-controls{display:flex;align-items:center;gap:12px}.play-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s ease}.play-btn:hover{background:#f3f4f6;border-color:#9ca3af}.transcription-text{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;font-size:14px;line-height:1.6;color:#374151;white-space:pre-wrap}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.analysis-item{display:flex;align-items:center;gap:8px}.analysis-item .label{font-size:14px;font-weight:500;color:#6b7280}.grade{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.grade-a,.grade-a\+{background:#dcfce7;color:#166534}.grade-b,.grade-b\+,.grade-b-{background:#fef3c7;color:#92400e}.grade-c,.grade-c\+,.grade-c-,.grade-d,.grade-d\+,.grade-d-,.grade-f{background:#fef2f2;color:#dc2626}.feedback-text{margin-bottom:16px}.feedback-text p{margin:0;font-size:14px;line-height:1.6;color:#374151}.strengths,.improvements{margin-bottom:12px}.strengths ul,.improvements ul{margin:0;padding-left:20px;color:#374151}.strengths li,.improvements li{margin-bottom:4px;font-size:14px;line-height:1.5}.grade-input,.rating-input,.comments-input{margin-bottom:16px}.grade-input label,.rating-input label,.comments-input label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151}.grade-select{width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#374151}.comment-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#374151;resize:vertical;min-height:100px}.comment-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.star-rating{display:flex;gap:4px;margin-top:8px}.star{background:none;border:none;cursor:pointer;color:#d1d5db;transition:all .2s ease}.star:hover,.star.active{color:#fbbf24}.save-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.save-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.empty-state{text-align:center;padding:60px 40px;color:#6b7280}.empty-state h4{margin:16px 0 8px;font-size:18px;font-weight:600;color:#374151}.empty-state p{margin:0;font-size:14px;line-height:1.5}@media (max-width: 768px){.synthesis-review-panel{margin:10px;max-height:95vh;border-radius:12px}.review-header{padding:16px}.problem-context{flex-direction:column;padding:16px}.review-content{max-height:70vh}.explanation-review,.reflection-review{padding:16px;gap:16px}.analysis-grid{grid-template-columns:1fr}}.review-content::-webkit-scrollbar{width:6px}.review-content::-webkit-scrollbar-track{background:#f3f4f6}.review-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.review-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.welcome-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:40px}.welcome-placeholder__content{max-width:800px;width:100%;text-align:center}.welcome-placeholder__header{margin-bottom:32px}.welcome-placeholder__icon{font-size:48px;margin-bottom:16px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.welcome-placeholder__title{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 12px}.welcome-placeholder__description{font-size:16px;color:#6b7280;line-height:1.6;margin:0}.welcome-placeholder__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.welcome-placeholder__stat-card{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.welcome-placeholder__stat-value{font-size:24px;font-weight:700;color:#3b82f6;margin-bottom:8px}.welcome-placeholder__stat-label{font-size:14px;color:#6b7280}.welcome-placeholder__features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.welcome-placeholder__feature{padding:20px;background-color:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.welcome-placeholder__feature-icon{font-size:20px;margin-bottom:12px}.welcome-placeholder__feature-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px}.welcome-placeholder__feature-description{font-size:14px;color:#6b7280;line-height:1.5;margin:0}.welcome-placeholder__tip{padding:16px 24px;background-color:#eff6ff;border:1px solid #dbeafe;border-radius:8px;color:#1e40af;font-size:14px;display:inline-block;max-width:500px;margin:0 auto}.tutor-dashboard__container{display:flex;height:calc(100vh - 60px);background:#f9fafb}.tutor-dashboard__loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f9fafb}.tutor-dashboard__loading-content{text-align:center}.tutor-dashboard__spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.tutor-dashboard__loading-text{margin-top:16px;font-size:14px;color:#64748b}.tutor-dashboard__error-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f9fafb}.tutor-dashboard__error-content{text-align:center;max-width:400px}.tutor-dashboard__error-title{font-size:14px;color:#ef4444;margin-bottom:8px;font-weight:600}.tutor-dashboard__error-message{font-size:12px;color:#64748b;margin-bottom:16px}.tutor-dashboard__retry-button{padding:8px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.tutor-dashboard__retry-button:hover{background-color:#2563eb}.tutor-dashboard__header{height:60px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.tutor-dashboard__header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 20px}.tutor-dashboard__header-left{display:flex;align-items:center;gap:12px}.tutor-dashboard__back-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background-color:#0000000d;border:none;cursor:pointer;transition:background-color .2s ease}.tutor-dashboard__back-button:hover{background-color:#0000001a}.tutor-dashboard__header-title{font-size:18px;font-weight:600;color:#1f2937}.tutor-dashboard__header-badges{display:flex;align-items:center;gap:4px;margin-top:4px}.tutor-dashboard__badge{font-size:9px;color:#6b7280;padding:1px 4px;background-color:#f8fafc;border-radius:2px;border:1px solid #e5e7eb;line-height:1}.tutor-dashboard__header-center{flex:1;display:flex;justify-content:center}.tutor-dashboard__tabs{display:flex;gap:4px;background:#f9fafb;padding:4px;border-radius:8px}.tutor-dashboard__tab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:#64748b}.tutor-dashboard__tab:hover{background:#fff;color:#1f2937}.tutor-dashboard__tab--active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.tutor-dashboard__header-right{display:flex;align-items:center}.tutor-dashboard__user-email{font-size:14px;color:#64748b}.tutor-dashboard__main{flex:1;overflow-y:auto;padding:24px}.tutor-dashboard__content{max-width:1400px;margin:0 auto}.tutor-dashboard__tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-dashboard{min-height:100vh;background-color:#f8fafc}.loading-container{height:100vh;width:100%;display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.loading-icon{width:2rem;height:2rem;animation:spin 1s linear infinite;color:#2563eb;margin:0 auto 1rem}.loading-text{font-size:.875rem;color:#475569}.error-container{height:100vh;width:100%;display:flex;align-items:center;justify-content:center}.error-content{text-align:center;max-width:28rem}.error-box{background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1.5rem;margin-bottom:1rem}.error-text{color:#dc2626;margin-bottom:1rem}.error-button{padding:.5rem 1rem;background-color:#2563eb;color:#fff;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s}.error-button:hover{background-color:#1d4ed8}.no-students-container{height:100vh;width:100%;display:flex;align-items:center;justify-content:center}.no-students-content{text-align:center}.no-students-text{color:#4b5563;margin-bottom:1rem}.header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.header-container{max-width:80rem;margin:0 auto;padding:0 1.5rem}.header-content{height:4rem;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center}.header-title{font-size:1.125rem;font-weight:600;color:#111827;margin-right:3rem}.header-info{display:flex;align-items:center;gap:1.5rem}.access-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#dbeafe;border-radius:.5rem;min-width:fit-content}.access-shield{width:1rem;height:1rem;color:#2563eb;flex-shrink:0}.access-text{font-size:.875rem;font-weight:500;color:#1e40af;white-space:nowrap}.student-count{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4b5563}.students-icon{width:1rem;height:1rem}.header-right{display:flex;align-items:center;gap:1rem}.user-email{font-size:.875rem;color:#4b5563}@media (max-width: 768px){.user-email{display:none}}.header-actions{display:flex;align-items:center;gap:.75rem}.action-button{padding:.5rem;color:#6b7280;background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s}.action-button:hover{color:#374151;background-color:#f3f4f6}.action-button.logout:hover{color:#dc2626;background-color:#fef2f2}.action-icon{width:1rem;height:1rem}.action-icon.spinning{animation:spin 1s linear infinite}.tutor-login-checking{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.tutor-login-checking-content{display:flex;align-items:center;gap:.5rem}.tutor-login-spinner{width:1.25rem;height:1.25rem;animation:spin 1s linear infinite;color:#2563eb}.tutor-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom right,#f8fafc,#dbeafe,#e0e7ff);position:relative;overflow:hidden}.tutor-login-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.tutor-login-bg-element{position:absolute;border-radius:50%;filter:blur(48px)}.tutor-login-bg-element-1{top:-10rem;right:-10rem;width:20rem;height:20rem;background-color:#3b82f61a}.tutor-login-bg-element-2{bottom:-10rem;left:-10rem;width:20rem;height:20rem;background-color:#6366f11a}.tutor-login-bg-element-3{top:50%;left:50%;transform:translate(-50%,-50%);width:24rem;height:24rem;background-color:#9333ea0d}.tutor-login-wrapper{position:relative;z-index:10;max-width:28rem;width:100%;margin:0 1rem}.tutor-login-card{background-color:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid rgba(255,255,255,.2);padding:2rem;position:relative}.tutor-login-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom right,rgba(255,255,255,.4),transparent);border-radius:1.5rem;pointer-events:none}.tutor-login-card-content{position:relative;z-index:10}.tutor-login-header{text-align:center;margin-bottom:2rem}.tutor-login-icon{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;background:linear-gradient(to bottom right,#3b82f6,#6366f1);border-radius:1rem;margin-bottom:1.5rem;box-shadow:0 10px 15px -3px #0000001a;transform:rotate(3deg);transition:transform .3s ease}.tutor-login-icon:hover{transform:rotate(0)}.tutor-login-shield-icon{width:2.5rem;height:2.5rem;color:#fff}.tutor-login-title{font-size:1.875rem;font-weight:700;background:linear-gradient(to right,#111827,#374151);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.tutor-login-welcome{color:#4b5563;font-size:1.125rem;font-weight:500}.tutor-login-subtitle{color:#6b7280;margin-top:.25rem}.tutor-login-error{margin-bottom:1.5rem;padding:1rem;background-color:#fef2f2cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(252,165,165,.5);border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.tutor-login-error-text{font-size:.875rem;color:#dc2626;font-weight:500}.tutor-login-button{width:100%;position:relative;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.75rem;box-shadow:0 10px 15px -3px #0000001a;font-weight:500;color:#374151;transition:all .2s ease;cursor:pointer}.tutor-login-button:hover{background-color:#f9fafb;box-shadow:0 20px 25px -5px #0000001a;color:#111827}.tutor-login-button:focus{outline:none;box-shadow:0 0 0 4px #3b82f633}.tutor-login-button:disabled{opacity:.5;cursor:not-allowed}.tutor-login-button-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#eff6ff80,#e0e7ff80);border-radius:.75rem;opacity:0;transition:opacity .2s ease}.tutor-login-button:hover .tutor-login-button-bg{opacity:1}.tutor-login-button-content{position:relative;display:flex;align-items:center;gap:.75rem}.tutor-login-button-spinner{width:1.25rem;height:1.25rem;animation:spin 1s linear infinite;color:#2563eb}.tutor-login-google-icon{width:1.25rem;height:1.25rem}.tutor-login-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}.tutor-login-footer-content{text-align:center}.tutor-login-footer-text{font-size:.875rem;color:#6b7280;line-height:1.6}.tutor-login-footer-subtext{font-size:.75rem;color:#9ca3af;margin-top:.5rem}.tutor-login-branding{text-align:center;margin-top:1.5rem}.tutor-login-branding-text{font-size:.75rem;color:#9ca3af;font-weight:500}.paywall-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.paywall-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.paywall-content{position:relative;background:#fff;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.paywall-header{text-align:center;padding:40px 40px 24px;border-bottom:1px solid #f3f4f6}.paywall-icon{font-size:48px;margin-bottom:16px}.paywall-header h2{margin:0 0 12px;font-size:28px;font-weight:800;color:#1f2937}.paywall-subtitle{margin:0 0 16px;color:#6b7280;font-size:18px;line-height:1.5}.paywall-value-prop{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:12px;padding:16px;margin:0;color:#92400e;font-size:16px;font-weight:600;line-height:1.4}.paywall-body{padding:32px 40px}.trial-summary{margin-bottom:32px}.trial-summary h3{margin:0 0 20px;font-size:20px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px}.trial-summary h3:before{content:"✨";font-size:24px}.feature-list{list-style:none;padding:0;margin:0 0 24px}.feature-item{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:16px;color:#374151;line-height:1.4}.feature-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;font-size:14px;font-weight:700}.tutoring-comparison{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-top:24px}.tutoring-comparison h4{margin:0 0 16px;font-size:18px;font-weight:700;color:#1f2937;text-align:center}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-item{text-align:center;padding:16px;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.comparison-label{display:block;font-size:14px;font-weight:600;color:#6b7280;margin-bottom:8px}.comparison-value{display:block;font-size:18px;font-weight:700;color:#1f2937}.comparison-item:first-child .comparison-value{color:#dc2626}.comparison-item:last-child .comparison-value{color:#10b981}.pricing-info{margin-bottom:32px}.price-card{border:2px solid #e5e7eb;border-radius:16px;padding:32px;text-align:center;position:relative;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.price-header{margin-bottom:24px}.price-header h3{margin:0 0 8px;font-size:24px;font-weight:700;color:#1f2937}.price-subtitle{margin:0 0 24px;font-size:16px;color:#6b7280;line-height:1.5}.upgrade-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-bottom:20px;display:inline-block;text-decoration:none}.upgrade-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.upgrade-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.payment-info{font-size:14px;color:#6b7280;line-height:1.6;margin:0}.payment-info strong{color:#1f2937}.paywall-footer{padding:24px 40px 40px;text-align:center;border-top:1px solid #f3f4f6}.paywall-footer-text{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.paywall-footer-text a{color:#667eea;text-decoration:none;font-weight:600}.paywall-footer-text a:hover{text-decoration:underline}@media (max-width: 768px){.paywall-content{margin:0;border-radius:20px 20px 0 0;max-height:95vh}.paywall-header,.paywall-body,.paywall-footer{padding-left:24px;padding-right:24px}.comparison-grid{grid-template-columns:1fr;gap:16px}.paywall-header h2{font-size:24px}.paywall-subtitle{font-size:16px}}@media (max-width: 480px){.paywall-header,.paywall-body,.paywall-footer{padding-left:20px;padding-right:20px}.paywall-header{padding-top:32px}.paywall-footer{padding-bottom:32px}.upgrade-button{width:100%;padding:16px 24px}}.mobile-chat-page{width:100vw;height:100vh;height:100dvh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));position:fixed;top:0;left:0;background:#fff;z-index:1000;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column}.mobile-chat-header{display:flex!important;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0;height:56px;box-sizing:border-box;position:relative;z-index:1001;width:100%;transition:background .3s ease}.mobile-chat-header.socrato-theme{background:linear-gradient(135deg,#fff5f5,#d79090)!important}.mobile-chat-header.sofeea-theme{background:linear-gradient(135deg,#fff7ed,#fdba74)!important}.hamburger-menu-button{display:flex!important;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s ease;color:#374151;margin-right:12px;position:relative;z-index:1002}.hamburger-menu-button:hover{background-color:#f3f4f6}.hamburger-menu-button:active{transform:scale(.95)}.mobile-header-center{flex:1;display:flex;align-items:center;justify-content:center}.mobile-header-right{display:flex;align-items:center;min-width:52px;justify-content:flex-end}.mobile-mode-dropdown .dropdown-trigger{background:transparent;border:none;padding:8px 12px;border-radius:8px;transition:background-color .2s ease}.mobile-mode-dropdown .dropdown-trigger:hover{background-color:#f3f4f6}.mobile-mode-dropdown .trigger-content{display:flex;align-items:center;gap:8px}.mobile-mode-dropdown .mode-label{font-size:16px;font-weight:600;color:#111827}.mobile-mode-dropdown .mode-icon{font-size:18px}.mobile-mode-dropdown .dropdown-arrow{color:#6b7280}.mobile-chat-fullscreen{width:100%!important;flex:1!important;height:auto!important;border-radius:0!important;border:none!important;box-shadow:none!important;overflow:hidden;margin-top:0;padding-top:0}.mobile-chat-fullscreen .modern-chat-content{padding-top:24px}.mobile-chat-fullscreen .messages-container{padding-top:16px;margin-top:0}.mobile-chat-fullscreen .chat-window{padding-top:8px}.mobile-chat-fullscreen .message:first-child,.mobile-chat-fullscreen .bot-message:first-child,.mobile-chat-fullscreen .user-message:first-child{margin-top:20px!important}.mobile-chat-fullscreen .chat-messages,.mobile-chat-fullscreen .messages-list{padding-top:20px!important}.mobile-chat-fullscreen .toolbar{display:none!important}.mobile-auth-container{width:100vw;height:100vh;height:100dvh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box;max-height:100vh;max-height:100dvh}.mobile-chat-loading{width:100vw;height:100vh;height:100dvh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;background:#fff;max-height:100vh;max-height:100dvh}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-text{font-size:16px;color:#666;font-weight:500}.mobile-chat-page{overflow:hidden!important;height:100%!important;position:fixed!important}.mobile-auto-analysis-toggle{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:12px 16px;background:linear-gradient(135deg,#ef44441a,#ef444426);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(239,68,68,.3);box-shadow:0 4px 12px #0000001a;z-index:1002;max-width:90%;width:auto;transition:all .3s ease}.mobile-chat-page.analysis-enabled .mobile-auto-analysis-toggle{background:linear-gradient(135deg,#22c55e1a,#22c55e26);border-color:#22c55e4d}.mobile-auto-analysis-toggle .toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.mobile-auto-analysis-toggle .toggle-input{position:absolute;opacity:0;width:0;height:0}.mobile-auto-analysis-toggle .toggle-slider{position:relative;display:inline-block;width:44px;height:24px;background-color:#e5e7eb;border-radius:12px;transition:background-color .3s ease}.mobile-auto-analysis-toggle .toggle-slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #00000026}.mobile-auto-analysis-toggle .toggle-input:checked+.toggle-slider{background-color:#22c55e}.mobile-auto-analysis-toggle .toggle-input:checked+.toggle-slider:after{transform:translate(20px)}.mobile-auto-analysis-toggle .toggle-text{font-size:13px;font-weight:600;color:#1e293b}.mobile-auto-analysis-toggle .toggle-description{margin:8px 0 0 56px;font-size:11px;color:#64748b;line-height:1.4}.pdf-scanner-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:99999;animation:fadeIn .2s ease-out;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pdf-scanner-container{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pdf-scanner-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.pdf-scanner-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#1f2937}.pdf-scanner-instructions{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.pdf-scanner-instructions p{margin:0;font-size:14px;color:#4b5563;line-height:1.5}.pages-grid{flex:1;overflow-y:auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;min-height:200px}.page-preview{position:relative;aspect-ratio:210 / 297;background:#fff;border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.page-preview:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.page-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.page-number{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;z-index:1}.remove-page-btn{position:absolute;top:8px;right:8px;background:#ef4444e6;color:#fff;border:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;z-index:1}.page-preview:hover .remove-page-btn{opacity:1}.remove-page-btn:hover{background:#dc2626;transform:scale(1.1)}.add-page-card{aspect-ratio:210 / 297;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.add-page-card:hover{border-color:#667eea;background:#f3f4ff}.add-page-icon{font-size:32px;color:#9ca3af;margin-bottom:8px}.add-page-text{font-size:14px;color:#6b7280;font-weight:500}.pdf-scanner-actions{padding:20px;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end}.cancel-btn,.create-pdf-btn{padding:10px 20px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:8px}.cancel-btn{background:#f3f4f6;color:#374151}.cancel-btn:hover:not(:disabled){background:#e5e7eb}.create-pdf-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-pdf-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.cancel-btn:disabled,.create-pdf-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.pdf-scanner-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6}.pdf-scanner-container{width:100%;height:100%;max-width:100vw;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.pages-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;padding:16px;flex:1;overflow-y:auto}.pdf-scanner-actions{padding:16px}.cancel-btn,.create-pdf-btn{flex:1;justify-content:center}}@media (prefers-color-scheme: dark){.pdf-scanner-container{background:#1f2937}.pdf-scanner-header{border-bottom-color:#374151}.pdf-scanner-header h2{color:#fff}.close-button{color:#9ca3af}.close-button:hover{background:#374151;color:#fff}.pdf-scanner-instructions{background:#111827;border-bottom-color:#374151}.pdf-scanner-instructions p{color:#d1d5db}.page-preview{border-color:#374151;background:#111827}.add-page-card{background:#111827;border-color:#4b5563}.add-page-card:hover{background:#1e1b3d}.pdf-scanner-actions{border-top-color:#374151}.cancel-btn{background:#374151;color:#e5e7eb}.cancel-btn:hover:not(:disabled){background:#4b5563}}.mobile-landing{min-height:100vh;background:linear-gradient(180deg,#fafaf9,#f4f4f0);padding:20px;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;position:relative}.mobile-landing:before{content:"";position:absolute;top:0;left:0;right:0;height:280px;background:linear-gradient(135deg,#8b0000,#dc143c);z-index:0}.mobile-landing>*{position:relative;z-index:1}.mobile-landing-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fafaf9}.mobile-landing-header{text-align:center;margin-bottom:40px;color:#fff}.logo-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.app-title{font-size:36px;font-weight:700;margin:0;letter-spacing:-.5px;color:#fff}.mobile-badge{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:5px 14px;border-radius:24px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;border:1px solid rgba(255,255,255,.2)}.welcome-message h2{font-size:26px;margin:0 0 12px;font-weight:600;color:#fff;opacity:.95}.instruction-text{font-size:15px;line-height:1.6;opacity:.85;max-width:420px;margin:0 auto;color:#ffffffe6}.upload-actions{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.upload-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 1px 3px #0000000a,0 4px 8px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden}.upload-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s}.upload-card.image-card:before{background:linear-gradient(90deg,#b91c1c,#dc2626,#ef4444)}.upload-card.pdf-card:before{background:linear-gradient(90deg,#ea580c,#f97316,#fb923c)}.upload-card:hover:before{height:5px;filter:brightness(1.2) saturate(1.2);box-shadow:0 2px 8px #0000001a}.upload-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000014,0 8px 24px #0000001f}.upload-card:not(.disabled):active{transform:translateY(-2px)}.card-icon{font-size:42px;margin-bottom:16px;text-align:center;filter:grayscale(20%)}.card-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 10px;text-align:center;line-height:1.3}.card-description{font-size:14px;color:#6b6b6b;margin:0 0 24px;text-align:center;line-height:1.5}.button-group{display:flex;gap:12px;justify-content:center}.upload-btn{padding:14px 32px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:180px;justify-content:center;letter-spacing:.2px}.upload-btn.primary{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 2px 8px #dc262640}.upload-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #dc262659;background:linear-gradient(135deg,#b91c1c,#dc2626)}.upload-btn.pdf-btn{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff;box-shadow:0 2px 8px #f9731640;padding:14px 32px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:180px;justify-content:center;letter-spacing:.2px}.upload-btn.pdf-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #f9731659;background:linear-gradient(135deg,#dc2626,#ea580c)}.upload-btn.secondary{background:#fff5f5;color:#7f1d1d;border:1.5px solid #fecaca;box-shadow:0 1px 4px #dc143c0d}.upload-btn.secondary:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 2px 8px #dc143c14}.upload-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auto-analysis-toggle{margin:20px 0;padding:16px;background:linear-gradient(135deg,#ef44441a,#ef444426);border-radius:12px;border:1px solid rgba(239,68,68,.3);transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.auto-analysis-toggle.analysis-enabled{background:linear-gradient(135deg,#22c55e1a,#22c55e26);border-color:#22c55e4d}.toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;display:inline-block;width:48px;height:24px;background-color:#e5e7eb;border-radius:12px;transition:background-color .3s ease}.toggle-slider:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #00000026}.toggle-input:checked+.toggle-slider{background-color:#22c55e}.toggle-input:checked+.toggle-slider:after{transform:translate(24px)}.toggle-text{font-size:14px;font-weight:600;color:#1e293b}.toggle-description{margin:8px 0 0 60px;font-size:12px;color:#64748b;line-height:1.4}.status-message{margin:24px auto;padding:16px 20px;max-width:480px;background:#fff;border-radius:12px;display:flex;align-items:center;box-shadow:0 2px 8px #0000000f;border:1px solid rgba(0,0,0,.06);animation:slideUp .3s ease-out;position:relative;overflow:hidden}.status-message:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.status-message.uploading:before{background:linear-gradient(180deg,#3b82f6,#60a5fa)}.status-message.success:before{background:linear-gradient(180deg,#10b981,#34d399)}.status-message.error:before{background:linear-gradient(180deg,#ef4444,#f87171)}.status-spinner{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-right:12px}.status-content{display:flex;align-items:center;gap:12px;font-size:15px}.status-content p{margin:0;font-weight:500;color:#1a1a1a}.status-message.uploading .status-content p{color:#3b82f6}.status-message.success .status-content p{color:#10b981}.status-message.error .status-content p{color:#ef4444}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tips-section{background:#fff;border-radius:16px;padding:24px;margin-top:auto;margin-bottom:24px;box-shadow:0 1px 3px #0000000a,0 4px 8px #0000000f;border:1px solid rgba(0,0,0,.06)}.tips-section h4{margin:0 0 16px;color:#1a1a1a;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.tips-list{margin:0;padding-left:24px;color:#4a4a4a;font-size:14px;line-height:1.8}.tips-list li{margin-bottom:10px;position:relative}.tips-list li::marker{color:#dc143c}.mobile-landing-footer{display:flex;justify-content:center;gap:32px;padding:24px 0}.text-button{background:none;border:none;color:#6b6b6b;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;transition:all .2s;position:relative;text-decoration:none}.text-button:after{content:"";position:absolute;bottom:6px;left:16px;right:16px;height:1px;background:#dc143c;transform:scaleX(0);transition:transform .2s}.text-button:hover{color:#1a1a1a}.text-button:hover:after{transform:scaleX(1)}@media (max-width: 380px){.app-title{font-size:32px}.upload-btn{font-size:14px;padding:12px 24px;min-width:160px}.card-icon{font-size:36px}}@media (min-width: 768px){.mobile-landing{max-width:540px;margin:0 auto}}@media (prefers-color-scheme: dark){.mobile-landing{background:linear-gradient(180deg,#0a0a0a,#1a1a1a)}.mobile-landing:before{background:linear-gradient(135deg,#450a0a,#7f1d1d)}.mobile-landing-loading{background:#0a0a0a}.upload-card{background:#1f1f1f;border-color:#ffffff14}.upload-card.image-card:before{background:linear-gradient(90deg,#ef4444,#f87171,#fca5a5)}.upload-card.pdf-card:before{background:linear-gradient(90deg,#f97316,#fb923c,#fdba74)}.card-title{color:#f0f0f0}.card-description{color:#a0a0a0}.upload-btn.pdf-btn{background:linear-gradient(135deg,#f97316,#fb923c)}.upload-btn.pdf-btn:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#f97316)}.upload-btn.secondary{background:#2a2a2a;color:#e0e0e0;border-color:#3a3a3a}.upload-btn.secondary:hover:not(:disabled){background:#333;border-color:#4a4a4a}.tips-section{background:#1f1f1f;border-color:#ffffff14}.tips-section h4{color:#f0f0f0}.tips-list{color:silver}.status-message{background:#1f1f1f;border-color:#ffffff14}.status-content p{color:#f0f0f0}.status-message.uploading .status-content p{color:#60a5fa}.status-message.success .status-content p{color:#34d399}.status-message.error .status-content p{color:#f87171}.status-spinner{border-color:#333;border-top-color:#60a5fa}.text-button{color:#a0a0a0}.text-button:hover{color:#f0f0f0}}.pdf-scanner-modal{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;z-index:99999!important}.mastery-dashboard-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #0000001a}.mastery-dashboard-header .back-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6b7280;transition:color .2s ease;border-radius:6px;background:transparent;border:none;cursor:pointer;padding:8px}.mastery-dashboard-header .back-button:hover{color:#374151;background-color:#0000000a}.mastery-dashboard-header .back-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.mastery-dashboard-header .welcome-text{position:absolute;left:50%;transform:translate(-50%);font-weight:500;color:#6b7280;font-size:.875rem}.mastery-dashboard-header .welcome-text .user-name{font-weight:700;color:#374151}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.relative{position:relative}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.min-h-screen{min-height:100vh}.bg-gray-50{background-color:#f9fafb}.parent-synthesis-page{max-width:1200px;margin:0 auto;padding:20px;min-height:calc(100vh - 65px);background-color:transparent}.synthesis-header{text-align:center;margin-bottom:40px;padding:20px 0}.synthesis-header h1{font-size:2.5rem;font-weight:700;color:#1a202c;margin-bottom:10px}.synthesis-header p{font-size:1.1rem;color:#4a5568;max-width:600px;margin:0 auto}.loading-container,.error-container,.auth-required{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-spinner.small{width:24px;height:24px;border-width:3px;margin-bottom:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.retry-button{background-color:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#5a67d8}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state-icon{font-size:4rem;margin-bottom:20px}.empty-state h2{color:#2d3748;font-size:1.5rem;margin-bottom:10px}.empty-state p{color:#718096;font-size:1rem;max-width:400px;margin:0 auto}.synthesis-cards-container{display:flex;flex-direction:column;gap:20px}.synthesis-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .3s ease}.synthesis-card:hover{box-shadow:0 4px 12px #00000026}.synthesis-card.expanded{box-shadow:0 8px 25px #00000026}.card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f7fafc;border-bottom:1px solid #e2e8f0;cursor:pointer;transition:background-color .2s}.card-header:hover{background:#edf2f7}.card-date{font-weight:600;color:#2d3748;font-size:1rem}.expand-icon{font-size:1.5rem;color:#667eea;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.card-content{padding:0}.card-main{display:flex;gap:20px;padding:20px}.card-left{flex:1;min-width:300px}.topic-section{display:flex;flex-direction:column;gap:15px}.topic-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0}.problem-image{display:flex;justify-content:center;align-items:center;background:#fcf7f7;border-radius:8px;padding:15px;min-height:200px}.math-problem-image{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.image-placeholder,.image-placeholder-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a0aec0;text-align:center}.image-placeholder span,.image-placeholder-fallback span{font-size:3rem;margin-bottom:10px}.image-placeholder p,.image-placeholder-fallback p{margin:0;font-weight:500}.image-placeholder-fallback{color:#f59e0b}.image-placeholder-fallback small{font-size:.75rem;color:#6b7280;margin-top:5px;font-weight:400}.card-right{flex:1;min-width:300px}.synthesis-section{display:flex;flex-direction:column;gap:20px;border:none;outline:none}.synthesis-item{padding:16px;border-radius:8px;border-left:4px solid #e2e8f0}.synthesis-item.description{background:#eff6ff;border-left-color:#3b82f6}.synthesis-item.positive{background:#f0fff4;border-left-color:#48bb78}.synthesis-item.improvement{background:#fffaf0;border-left-color:#ed8936}.synthesis-item h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:#2d3748}.synthesis-item p{margin:0;color:#4a5568;line-height:1.5}.synthesis-content{margin:0;color:#4a5568;line-height:1.6;font-size:.95rem}.synthesis-content .katex{font-size:1.1em}.synthesis-content .katex-display{margin:.5em 0}.synthesis-content .math-inline-container{display:inline;vertical-align:middle}.synthesis-content .math-display-container{display:block;margin:.5em 0;text-align:center}.expanded-content{border-top:1px solid #e2e8f0;background:#f7fafc}.conversation-header{padding:20px 20px 10px}.conversation-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#2d3748}.conversation-loading{display:flex;flex-direction:column;align-items:center;padding:40px 20px}.parent-chat-container{padding:10px 20px 20px;max-height:500px;overflow:hidden;background:#fff;border-radius:8px;margin:0 1rem 1rem;border:1px solid #e2e8f0}.parent-messages-container{max-height:450px;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column;gap:1rem}.no-conversation{text-align:center;padding:2rem;color:#64748b}.no-conversation p{margin:0;font-style:italic}.parent-message{display:flex;flex-direction:column;margin-bottom:1rem;max-width:70%}.parent-message.user{align-self:flex-end;align-items:flex-end}.parent-message.bot{align-self:flex-start;align-items:flex-start}.message-bubble{padding:12px 16px;border-radius:12px;margin-bottom:4px;word-wrap:break-word;line-height:1.4}.parent-message.user .message-bubble{background:#e74c3c;color:#fff!important;border-bottom-right-radius:4px}.parent-message.user .message-bubble *{color:#fff!important}.parent-message.bot .message-bubble{background:#f5f5f5;color:#2d3748;border-left:4px solid #e74c3c;border-bottom-left-radius:4px}.message-html-content,.message-text-content{margin:0}.message-html-content p{margin:0 0 .5em}.message-html-content p:last-child{margin-bottom:0}.message-time{font-size:.75rem;color:#a0aec0;padding:0 4px}.parent-chat-container .audio-button,.parent-chat-container .audio-player,.parent-chat-container [class*=audio]{display:none!important}.uploaded-image-container{max-width:100%}.uploaded-image-container p{margin:0 0 8px;font-weight:600;color:#4a5568;font-size:.9rem}.uploaded-image-container img{display:block;max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:8px}.parent-message img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2px 0;display:block}.parent-message img[src*="firebasestorage.googleapis.com"]{background-color:#f9fafb;border:1px solid #e5e7eb}.parent-message img[src=""],.parent-message img[src=undefined],.parent-message img[src=null]{display:none}.conversation-history{padding:10px 20px 20px;max-height:400px;overflow-y:auto;display:none}.conversation-message{display:flex;flex-direction:column;margin-bottom:16px;max-width:70%}.conversation-message.user{align-self:flex-end;align-items:flex-end}.conversation-message.bot{align-self:flex-start;align-items:flex-start}.message-content{padding:12px 16px;border-radius:12px;margin-bottom:4px}.conversation-message.user .message-content{background:#667eea;color:#fff;border-bottom-right-radius:4px}.conversation-message.bot .message-content{background:#fff;color:#2d3748;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.message-content p{margin:0;line-height:1.4}.message-timestamp{font-size:.75rem;color:#a0aec0;padding:0 4px}@media (max-width: 768px){.parent-synthesis-page{padding:15px}.synthesis-header h1{font-size:2rem}.card-main{flex-direction:column;gap:15px}.card-left,.card-right{min-width:unset}.conversation-message{max-width:85%}.synthesis-header p{font-size:1rem}}@media (max-width: 480px){.parent-synthesis-page{padding:10px}.synthesis-header{margin-bottom:25px}.synthesis-header h1{font-size:1.75rem}.card-main{padding:15px}.conversation-message{max-width:90%}}.tutor-container{height:100vh;background:linear-gradient(135deg,#fff,#f8fafc);color:#111827;display:flex;flex-direction:column;overflow:hidden}.tutor-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e5e7eb;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:30;gap:1rem}.header{z-index:2147483647!important}.tutor-back-button{display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;border-radius:.5rem;color:#6b7280;cursor:pointer;transition:all .15s ease}.tutor-back-button:hover{background:#f3f4f6;color:#374151}.tutor-back-button:active{background:#e5e7eb}.tutor-logo{display:flex;align-items:center;gap:.75rem}.tutor-logo-icon{height:2rem;width:2rem;border-radius:.75rem;background:linear-gradient(135deg,#fb923c,#ec4899)}.tutor-title{display:flex;flex-direction:column;line-height:1.2}.tutor-title-main{font-weight:700;color:#111827}.tutor-title-sub{font-size:.75rem;color:#6b7280}.tutor-chat-window{height:90%;border:none;border-radius:0;background:transparent}.tutor-chat-window .message-bubble.bot{background:linear-gradient(135deg,#f3f4f6,#f9fafb);border:1px solid #e5e7eb;color:#374151}.tutor-chat-window .message-bubble.user{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.tutor-chat-window .katex{font-size:1.1em}.tutor-chat-window .katex-display{margin:1em 0}.tutor-stats{display:flex;align-items:center;gap:1.5rem}.streak-indicator{display:flex;align-items:center;gap:.5rem}.streak-badge{font-size:.875rem;background:#fef3e2;color:#c2410c;padding:.25rem .5rem;border-radius:.375rem}.progress-section{display:flex;align-items:center;gap:.75rem}.progress-text{font-size:.75rem;color:#4b5563}.xp-display{display:none;align-items:center;gap:.5rem;border-radius:.75rem;background:#f9fafb;padding:.375rem .75rem}@media (min-width: 768px){.xp-display{display:flex}}.xp-text{font-size:.875rem;font-weight:600;color:#374151}.tutor-layout{max-width:72rem;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem;flex:1;min-height:0}@media (min-width: 768px){.tutor-layout{grid-template-columns:1.2fr .8fr}}.tutor-chat-container{display:flex;flex-direction:column;border-radius:1rem;border:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 3px #0000001a;min-height:calc(100vh - 180px);max-height:calc(100vh - 180px)}.tutor-chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #f3f4f6;padding:1rem}.tutor-chat-title-section{display:flex;flex-direction:column}.tutor-chat-title-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.tutor-chat-title{font-weight:600}.tutor-chat-tags{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280}.tutor-chat-tag{border-radius:9999px;background:#f3f4f6;padding:.25rem .75rem}.tutor-messages-container{flex:1;min-height:0;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.tutor-messages-container::-webkit-scrollbar{width:6px}.tutor-messages-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.tutor-messages-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.tutor-messages-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tutor-messages-container .message-wrapper{margin-bottom:0}.tutor-messages-container .user-message{align-self:flex-end!important;max-width:120%!important}.tutor-messages-container .bot-message{align-self:flex-start;max-width:85%}.tutor-messages-container .message-content{padding:.875rem 1rem;border-radius:1rem;font-size:.9rem;line-height:1.5}.tutor-messages-container .user-message .message-content{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border-bottom-right-radius:.375rem}.tutor-messages-container .bot-message .message-content{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;color:#374151;border-bottom-left-radius:.375rem}.tutor-messages-container .katex{font-size:1.1em!important}.tutor-messages-container .katex-display{margin:1em 0!important}.message-row{display:flex;gap:.75rem}.message-row.user{justify-content:flex-end}.message-avatar{height:2.25rem;width:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.message-avatar.bot{background:#0ea5e91a;color:#0ea5e9}.message-avatar.user{background:#e5e7eb;color:#4b5563;font-weight:600}.message-bubble{position:relative;max-width:90%!important;border-radius:1rem;padding:.75rem;font-size:.875rem;box-shadow:0 1px 3px #0000001a}.message-bubble.bot{background:#fff;border:1px solid #f3f4f6}.message-bubble.user{background:#f3f4f6;color:#111827}.message-bubble.user.correct{background:#ecfdf5;color:#064e3b}.formatted-message-content{width:100%;overflow-x:auto;color:inherit}.formatted-message-content .formatted-content{min-width:fit-content;padding:4px 0}.message-text{width:100%;white-space:pre-wrap;word-break:break-word}.formatted-message-content .katex,.formatted-message-content .MathJax,.formatted-message-content .math-inline,.formatted-message-content .math-display{font-size:1em;line-height:1.2}.formatted-message-content .math-display{text-align:center;margin:1rem 0;padding:.5rem;background:#00000005;border-radius:.375rem}.formatted-message-content .math-inline{display:inline;margin:0 .125rem}.formatted-message-content .MathJax_Display{text-align:center!important;margin:1rem 0!important}.formatted-message-content mjx-container{overflow-x:auto;overflow-y:hidden}.formatted-message-content pre{background:#0000000d;border-radius:.375rem;padding:.5rem;margin:.5rem 0;overflow-x:auto;font-family:Courier New,monospace;font-size:.8em}.formatted-message-content code{background:#0000001a;border-radius:.25rem;padding:.125rem .25rem;font-family:Courier New,monospace;font-size:.85em}.correct-indicator{position:absolute;right:-.75rem;top:-.75rem;height:1.5rem;width:1.5rem;color:#10b981;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.tutor-input-area{position:relative;padding:1rem;border-top:1px solid #f3f4f6}.input-waiting-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;padding:1rem 2rem;box-shadow:0 4px 6px -1px #0000001a}.input-waiting-text{text-align:center;color:#6b7280;font-weight:500;animation:pulse 2s infinite}.success-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.tutor-typing-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem}.tutor-typing-dots{display:flex;gap:.25rem}.tutor-typing-dot{width:.5rem;height:.5rem;background:#6b7280;border-radius:50%;animation:typing-bounce 1.5s ease-in-out infinite}.tutor-typing-dot:nth-child(1){animation-delay:0s}.tutor-typing-dot:nth-child(2){animation-delay:.3s}.tutor-typing-dot:nth-child(3){animation-delay:.6s}.tutor-typing-text{font-size:.875rem;color:#6b7280;font-style:italic}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-.5rem);opacity:1}}.success-container{position:relative;overflow:hidden;border-radius:1rem;border:1px solid #d1fae5;background:linear-gradient(to right,#ecfdf5,#fff);padding:1rem;min-width:300px}.success-header{display:flex;align-items:center;gap:.75rem}.success-title{color:#064e3b;font-weight:600}.success-xp{margin-left:auto;font-size:.75rem;color:#047857}.success-message{margin-top:.5rem;font-size:.875rem;color:#064e3bcc}.sidebar{display:flex;flex-direction:column;gap:1rem}.sidebar-card{border-radius:1rem;border:1px solid #e5e7eb;background:#fff;padding:1rem;box-shadow:0 1px 3px #0000001a}.sidebar-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.sidebar-card-title{font-weight:600}.sidebar-card-subtitle{font-size:.75rem;color:#6b7280}.progress-display{display:flex;align-items:center;gap:1rem}.progress-bar-container{flex:1}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;background:#f3f4f6;margin-bottom:.25rem}.progress-bar-fill{height:100%;border-radius:9999px;background:#10b981;transition:all .3s ease}.progress-text-small{font-size:.75rem;color:#4b5563}.badges-header{display:flex;align-items:center;gap:.5rem;font-weight:600;margin-bottom:.5rem}.badges-empty{font-size:.875rem;color:#6b7280}.badges-container{display:flex;flex-wrap:wrap;gap:.5rem}.badge-item{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;background:#fef3e2;padding:.25rem .75rem;font-size:.875rem;color:#c2410c;border:1px solid #fed7aa}.xp-float{position:fixed;right:1.5rem;top:4rem;z-index:60;border-radius:9999px;background:#10b981;color:#fff;padding:.25rem .75rem;font-size:.875rem;box-shadow:0 10px 15px -3px #0000001a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0000004d}.badge-modal{margin:1rem;width:100%;max-width:24rem;border-radius:1rem;border:1px solid #fed7aa;background:#fff;padding:1.25rem;text-align:center;box-shadow:0 25px 50px -12px #00000040}.badge-modal-icon{margin:0 auto .5rem;height:3rem;width:3rem;border-radius:50%;background:#fef3e2;display:flex;align-items:center;justify-content:center}.badge-modal-title{font-weight:600}.badge-modal-description{margin-top:.25rem;font-size:.875rem;color:#4b5563}.badge-modal-button{margin-top:.75rem;border-radius:.75rem;background:#d97706;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff}.badge-modal-button:hover{background:#b45309}.error-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:40;border-radius:.75rem;border:1px solid #fecaca;background:#fff;padding:.5rem 1rem;font-size:.875rem;color:#b91c1c;box-shadow:0 10px 15px -3px #0000001a}.error-toast-content{display:flex;align-items:center;gap:.5rem}.tutor-input-area .input-area{background:transparent;border:none;padding:0!important;margin:0!important}.tutor-input-area .chat-input-pill{border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.tutor-input-area .chat-input-pill:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.tutor-input-area .hint-btn-tutoring{background:#3b82f61a;border:1px solid rgba(59,130,246,.2)}.tutor-input-area .hint-btn-tutoring:hover{background:#3b82f626;border-color:#3b82f64d}@media (max-width: 767px){.tutor-stats{gap:1rem}.streak-indicator{flex-direction:column;gap:.25rem;align-items:flex-start}.progress-section{flex-direction:column;align-items:flex-start;gap:.25rem}}:root{--notion-font: ui-sans-serif, system-ui, apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--fg-color: rgb(55, 53, 47);--fg-color-0: rgba(55, 53, 47, .09);--fg-color-1: rgba(55, 53, 47, .16);--fg-color-2: rgba(55, 53, 47, .4);--fg-color-3: rgba(55, 53, 47, .6);--fg-color-4: #000;--fg-color-5: rgba(55, 53, 47, .024);--fg-color-6: rgba(55, 53, 47, .8);--fg-color-7: rgba(55, 53, 47, .5);--fg-color-icon: var(--fg-color);--bg-color: #fff;--bg-color-0: rgba(135, 131, 120, .15);--bg-color-1: rgb(247, 246, 243);--bg-color-2: rgba(135, 131, 120, .15);--select-color-0: rgb(46, 170, 220);--select-color-1: rgba(45, 170, 219, .3);--select-color-2: #d9eff8;--notion-red: rgb(224, 62, 62);--notion-pink: rgb(173, 26, 114);--notion-blue: rgb(11, 110, 153);--notion-purple: rgb(105, 64, 165);--notion-teal: rgb(77, 100, 97);--notion-yellow: rgb(223, 171, 1);--notion-orange: rgb(217, 115, 13);--notion-brown: rgb(100, 71, 58);--notion-gray: rgb(155, 154, 151);--notion-red_background: rgb(251, 228, 228);--notion-pink_background: rgb(244, 223, 235);--notion-blue_background: rgb(221, 235, 241);--notion-purple_background: rgb(234, 228, 242);--notion-teal_background: rgb(221, 237, 234);--notion-yellow_background: rgb(251, 243, 219);--notion-orange_background: rgb(250, 235, 221);--notion-brown_background: rgb(233, 229, 227);--notion-gray_background: rgb(235, 236, 237);--notion-red_background_co: rgba(251, 228, 228, .3);--notion-pink_background_co: rgba(244, 223, 235, .3);--notion-blue_background_co: rgba(221, 235, 241, .3);--notion-purple_background_co: rgba(234, 228, 242, .3);--notion-teal_background_co: rgba(221, 237, 234, .3);--notion-yellow_background_co: rgba(251, 243, 219, .3);--notion-orange_background_co: rgba(250, 235, 221, .3);--notion-brown_background_co: rgba(233, 229, 227, .3);--notion-gray_background_co: rgba(235, 236, 237, .3);--notion-item-blue: rgb(211, 229, 239);--notion-item-orange: rgb(250, 222, 201);--notion-item-green: rgb(219, 237, 219);--notion-item-pink: rgb(245, 224, 233);--notion-item-brown: rgb(238, 224, 218);--notion-item-red: rgb(255, 226, 221);--notion-item-yellow: rgb(253, 236, 200);--notion-item-default: rgba(227, 226, 224, .5);--notion-item-purple: rgb(232, 222, 238);--notion-item-gray: rgb(227, 226, 224);--notion-item-text-blue: rgb(24, 51, 71);--notion-item-text-orange: rgb(73, 41, 14);--notion-item-text-green: rgb(28, 56, 41);--notion-item-text-pink: rgb(76, 35, 55);--notion-item-text-brown: rgb(68, 42, 30);--notion-item-text-red: rgb(93, 23, 21);--notion-item-text-yellow: rgb(64, 44, 27);--notion-item-text-default: rgb(50, 48, 44);--notion-item-text-purple: rgb(65, 36, 84);--notion-item-text-gray: rgb(50, 48, 44);--notion-item-bullet-blue: rgb(91, 151, 189);--notion-item-bullet-orange: rgb(215, 129, 58);--notion-item-bullet-green: rgb(108, 155, 125);--notion-item-bullet-pink: rgb(205, 116, 159);--notion-item-bullet-brown: rgb(187, 132, 108);--notion-item-bullet-red: rgb(225, 111, 100);--notion-item-bullet-yellow: rgb(203, 148, 51);--notion-item-bullet-default: rgb(91, 151, 189);--notion-item-bullet-purple: rgb(167, 130, 195);--notion-item-bullet-gray: rgb(145, 145, 142);--notion-max-width: 720px;--notion-header-height: 45px}.dark-mode{--fg-color: rgba(255, 255, 255, .9);--fg-color-0: var(--fg-color);--fg-color-1: var(--fg-color);--fg-color-2: var(--fg-color);--fg-color-3: var(--fg-color);--fg-color-4: var(--fg-color);--fg-color-5: rgba(255, 255, 255, .7);--fg-color-6: #fff;--fg-color-icon: #fff;--bg-color: #2f3437;--bg-color-0: rgb(71, 76, 80);--bg-color-1: rgb(63, 68, 71);--bg-color-2: rgba(135, 131, 120, .15);--notion-red: rgb(255, 115, 105);--notion-pink: rgb(226, 85, 161);--notion-blue: rgb(82, 156, 202);--notion-purple: rgb(154, 109, 215);--notion-teal: rgb(77, 171, 154);--notion-yellow: rgb(255, 220, 73);--notion-orange: rgb(255, 163, 68);--notion-brown: rgb(147, 114, 100);--notion-gray: rgba(151, 154, 155, .95);--notion-red_background: rgb(89, 65, 65);--notion-pink_background: rgb(83, 59, 76);--notion-blue_background: rgb(54, 73, 84);--notion-purple_background: rgb(68, 63, 87);--notion-teal_background: rgb(53, 76, 75);--notion-yellow_background: rgb(89, 86, 59);--notion-orange_background: rgb(89, 74, 58);--notion-brown_background: rgb(67, 64, 64);--notion-gray_background: rgb(69, 75, 78);--notion-red_background_co: rgba(89, 65, 65, .3);--notion-pink_background_co: rgba(83, 59, 76, .3);--notion-blue_background_co: rgba(120, 162, 187, .3);--notion-purple_background_co: rgba(68, 63, 87, .3);--notion-teal_background_co: rgba(53, 76, 75, .3);--notion-yellow_background_co: rgba(89, 86, 59, .3);--notion-orange_background_co: rgba(89, 74, 58, .3);--notion-brown_background_co: rgba(67, 64, 64, .3);--notion-gray_background_co: rgba(69, 75, 78, .3)}.notion *{box-sizing:border-box}.notion{font-size:16px;line-height:1.5;color:var(--fg-color);caret-color:var(--fg-color);font-family:var(--notion-font)}.notion>*{padding:3px 0}.notion *{margin-block-start:0;margin-block-end:0}.notion *::selection{background:var(--select-color-1)}.notion *,.notion *:focus{outline:0}.notion-page-content{width:100%;display:flex;flex-direction:column}@media (min-width: 1300px) and (min-height: 300px){.notion-page-content-has-aside{display:flex;flex-direction:row;width:calc((100vw + var(--notion-max-width)) / 2)}.notion-page-content-has-aside .notion-aside{display:flex}.notion-page-content-has-aside .notion-page-content-inner{width:var(--notion-max-width);max-width:var(--notion-max-width)}}.notion-page-content-inner{position:relative;display:flex;flex-direction:column;align-items:flex-start}.notion-aside{position:sticky;top:148px;z-index:101;align-self:flex-start;flex:1;display:none;flex-direction:column;align-items:center}.notion-aside-table-of-contents{display:flex;flex-direction:column;align-items:center;max-height:calc(100vh - 164px);min-width:222px;overflow:auto;background:var(--bg-color);border-radius:4px}.notion-aside-table-of-contents-header{text-transform:uppercase;font-weight:400;font-size:1.1em;word-break:break-word}.notion-aside-table-of-contents .notion-table-of-contents-item{line-height:1}.notion-aside-table-of-contents .notion-table-of-contents-item-indent-level-0:first-of-type{margin-top:0}.notion-aside-table-of-contents .notion-table-of-contents-item-indent-level-0{margin-top:.25em}.notion-aside-table-of-contents .notion-table-of-contents-item-indent-level-1{font-size:13px}.notion-aside-table-of-contents .notion-table-of-contents-item-indent-level-2{font-size:12px}.notion-aside-table-of-contents .notion-table-of-contents-item-body{border:0 none}.notion-table-of-contents-active-item{color:var(--select-color-0)!important}.notion-app{position:relative;background:var(--bg-color);min-height:100vh}.notion-viewport{position:relative;padding:0;top:0;left:0;right:0;bottom:0}.medium-zoom-overlay{z-index:300}.medium-zoom-image{border-radius:0}.medium-zoom-image--opened{margin:unset!important;min-width:unset!important;min-height:unset!important;z-index:301}.notion-frame{display:flex;flex-direction:column;width:100%;height:100%;padding:0}.notion-page-scroller{position:relative;display:flex;flex-direction:column;flex-grow:1;align-items:center;min-height:calc(100vh - var(--notion-header-height))}.notion-red,.notion-red_co{color:var(--notion-red)}.notion-pink,.notion-pink_co{color:var(--notion-pink)}.notion-blue,.notion-blue_co{color:var(--notion-blue)}.notion-purple,.notion-purple_co{color:var(--notion-purple)}.notion-teal,.notion-teal_co{color:var(--notion-teal)}.notion-yellow,.notion-yellow_co{color:var(--notion-yellow)}.notion-orange,.notion-orange_co{color:var(--notion-orange)}.notion-brown,.notion-brown_co{color:var(--notion-brown)}.notion-gray,.notion-gray_co{color:var(--notion-gray)}.notion-red_background{background-color:var(--notion-red_background)}.notion-pink_background{background-color:var(--notion-pink_background)}.notion-blue_background{background-color:var(--notion-blue_background)}.notion-purple_background{background-color:var(--notion-purple_background)}.notion-teal_background{background-color:var(--notion-teal_background)}.notion-yellow_background{background-color:var(--notion-yellow_background)}.notion-orange_background{background-color:var(--notion-orange_background)}.notion-brown_background{background-color:var(--notion-brown_background)}.notion-gray_background{background-color:var(--notion-gray_background)}.notion-red_background_co{background-color:var(--notion-red_background_co)}.notion-pink_background_co{background-color:var(--notion-pink_background_co)}.notion-blue_background_co{background-color:var(--notion-blue_background_co)}.notion-purple_background_co{background-color:var(--notion-purple_background_co)}.notion-teal_background_co{background-color:var(--notion-teal_background_co)}.notion-yellow_background_co{background-color:var(--notion-yellow_background_co)}.notion-orange_background_co{background-color:var(--notion-orange_background_co)}.notion-brown_background_co{background-color:var(--notion-brown_background_co)}.notion-gray_background_co{background-color:var(--notion-gray_background_co)}.notion-item-blue{background-color:var(--notion-item-blue);color:var(--notion-item-text-blue)}.notion-item-orange{background-color:var(--notion-item-orange);color:var(--notion-item-text-orange)}.notion-item-green{background-color:var(--notion-item-green);color:var(--notion-item-text-green)}.notion-item-pink{background-color:var(--notion-item-pink);color:var(--notion-item-text-pink)}.notion-item-brown{background-color:var(--notion-item-brown);color:var(--notion-item-text-brown)}.notion-item-red{background-color:var(--notion-item-red);color:var(--notion-item-text-red)}.notion-item-yellow{background-color:var(--notion-item-yellow);color:var(--notion-item-text-yellow)}.notion-item-default,.notion-item-default-inferred{background-color:var(--notion-item-default);color:var(--notion-item-text-default)}.notion-item-purple{background-color:var(--notion-item-purple);color:var(--notion-item-text-purple)}.notion-item-gray{background-color:var(--notion-item-gray);color:var(--notion-item-text-gray)}.notion-item-bullet-blue{background-color:var(--notion-item-bullet-blue)}.notion-item-bullet-orange{background-color:var(--notion-item-bullet-orange)}.notion-item-bullet-green{background-color:var(--notion-item-bullet-green)}.notion-item-bullet-pink{background-color:var(--notion-item-bullet-pink)}.notion-item-bullet-brown{background-color:var(--notion-item-bullet-brown)}.notion-item-bullet-red{background-color:var(--notion-item-bullet-red)}.notion-item-bullet-yellow{background-color:var(--notion-item-bullet-yellow)}.notion-item-bullet-default{background-color:var(--notion-item-bullet-default)}.notion-item-bullet-default-inferred{background-color:var(--notion-item-bullet-gray)}.notion-item-bullet-purple{background-color:var(--notion-item-bullet-purple)}.notion-item-bullet-gray{background-color:var(--notion-item-bullet-gray)}.notion b{font-weight:600}.notion-title{width:100%;font-size:2.5em;font-weight:600;margin-bottom:20px;line-height:1.2}.notion-h{position:relative;display:inline;font-weight:600;line-height:1.3;padding:3px 2px;margin-bottom:1px;max-width:100%;white-space:pre-wrap;word-break:break-word}.notion-h1{font-size:1.875em;margin-top:1.08em}.notion-header-anchor{position:absolute;top:-54px;left:0}.notion-title+.notion-h1,.notion-title+.notion-h2,.notion-title+.notion-h3{margin-top:0}.notion-h1:first-child{margin-top:0}.notion-h2{font-size:1.5em;margin-top:1.1em}.notion-h3{font-size:1.25em;margin-top:1em}.notion-h:hover .notion-hash-link{opacity:1}.notion-sync-block .notion-h{display:block}details.notion-toggle .notion-h{display:inline}.notion-hash-link{opacity:0;text-decoration:none;float:left;margin-left:-20px;padding-right:4px;fill:var(--fg-color-icon)}.notion-page-cover{display:block;object-fit:cover;width:100%;height:30vh!important;min-height:30vh!important;max-height:30vh!important;padding:0}.notion-page-cover-wrapper{width:100%;height:30vh;min-height:30vh;max-height:30vh;display:flex;justify-content:center;align-items:center}.notion-collection-card-cover{overflow:hidden}.notion-collection-card-cover span,.notion-collection-card-cover img{min-height:100%!important;max-height:100%!important}.notion-page-cover-wrapper span,.notion-page-cover-wrapper img{width:100%!important;height:30vh!important;min-height:30vh!important;max-height:30vh!important}.notion-page{position:relative;padding:0;margin:0 auto;display:flex;flex-direction:column;flex-grow:1;flex-shrink:0;align-items:flex-start;width:100%;max-width:100%}.notion-full-page{padding-bottom:max(10vh,120px)}.notion-page-no-cover{margin-top:48px!important;padding-top:96px}.notion-page-no-cover.notion-page-no-icon{padding-top:0}.notion-page-no-cover.notion-page-has-image-icon{padding-top:148px}.notion-page-has-cover.notion-page-no-icon{padding-top:48px}.notion-page-has-cover{padding-top:96px}.notion-page-has-cover.notion-page-has-icon.notion-page-has-text-icon{padding-top:64px}.notion-page-icon-hero{position:absolute;top:0;left:50%;display:flex;flex-direction:row;justify-content:center}.notion-page-icon-hero.notion-page-icon-image{width:124px;height:124px;margin-left:-62px}.notion-page-icon-hero.notion-page-icon-span{height:78px;width:78px;margin-left:-39px}.notion-page-icon-hero .notion-page-icon{position:relative;display:block}.notion-page-has-cover .notion-page-icon-hero.notion-page-icon-image{top:-62px}.notion-page-has-cover .notion-page-icon-hero.notion-page-icon-span{top:-42px}.notion-page-icon-hero.notion-page-icon-span .notion-page-icon{font-size:78px;line-height:1.1;margin-left:0;color:var(--fg-color-icon)}.notion-page-icon-hero.notion-page-icon-image .notion-page-icon{display:block;border-radius:3px;width:100%;height:100%;max-width:100%;max-height:100%}.notion-page-icon-hero.notion-page-icon-image img{object-fit:cover}.notion-page-icon{font-family:"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Noto Color Emoji",Segoe UI Symbol,"Android Emoji",EmojiSymbols;font-size:1.1em;fill:var(--fg-color-6);color:var(--fg-color-icon)}.notion-search .notion-page-icon{fill:var(--fg-color-6);color:var(--fg-color)}img.notion-page-icon,svg.notion-page-icon{display:block;object-fit:fill;border-radius:3px;max-width:100%;max-height:100%}.notion-page-icon-inline{width:22px;height:22px;max-width:22px;max-height:22px;margin:0 4px}.notion-page-icon-inline span{max-width:100%;max-height:100%}.notion-page-icon-inline img{object-fit:cover}.notion-page{box-sizing:border-box;width:var(--notion-max-width);padding-left:min(16px,8vw);padding-right:min(16px,8vw)}.notion-full-width{box-sizing:border-box;--notion-max-width: min(1920px, 98vw) ;padding-left:min(96px,8vw);padding-right:min(96px,8vw)}.notion-small-text{font-size:14px}.notion-quote{display:block;width:100%;white-space:pre-wrap;word-break:break-word;border-left:3px solid currentcolor;padding:.2em .9em;margin:6px 0;font-size:1.2em}.notion-hr{width:100%;margin:6px 0;padding:0;border:none;border-bottom:1px solid var(--bg-color-0)}.notion-link{color:inherit;word-break:break-word;text-decoration:inherit;border-bottom:.05em solid;border-color:var(--fg-color-2);opacity:.7;transition:border-color .1s ease-in,opacity .1s ease-in}.notion-link:hover{border-color:var(--fg-color-6);opacity:1}.notion-collection .notion-link{opacity:1}.notion-blank{width:100%;min-height:1rem;padding:3px 2px;margin-top:1px;margin-bottom:1px}.notion-page-link{display:flex;color:var(--fg-color);text-decoration:none;width:100%;height:30px;margin:1px 0;transition:background .12s ease-in 0s}.notion-page-link:hover{background:var(--bg-color-0)}.notion-collection-card .notion-page-link{height:unset;margin:0;transition:unset}.notion-collection-card .notion-page-link{background:unset}.notion-icon{display:block;width:18px;height:18px;color:var(--fg-color-icon)}.notion-page-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;line-height:1.3;border-bottom:1px solid var(--fg-color-1);margin:4px 0}.notion-inline-code{color:#eb5757;padding:.2em .4em;background:var(--bg-color-2);border-radius:3px;font-size:85%;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}.notion-inline-underscore{text-decoration:underline}.notion-list{margin:0;margin-block-start:.6em;margin-block-end:.6em}.notion-list-disc{list-style-type:disc;padding-inline-start:1.7em;margin-top:0;margin-bottom:0}.notion-list-numbered{list-style-type:decimal;padding-inline-start:1.6em;margin-top:0;margin-bottom:0}.notion-list-disc li{padding-left:.1em}.notion-list-numbered li{padding-left:.2em}.notion-list li{padding:6px 0;white-space:pre-wrap}.notion-asset-wrapper{margin:.5rem 0;max-width:100vw;min-width:100%;align-self:center;display:flex;flex-direction:column}.notion-asset-wrapper-image{max-width:100%}.notion-asset-wrapper-full{max-width:100vw}.notion-asset-wrapper img{width:100%;height:100%;max-height:100%}.notion-asset-wrapper iframe{border:none;background:#f7f6f5}.notion-text{width:100%;white-space:pre-wrap;word-break:break-word;padding:3px 2px;margin:1px 0}.notion-text:first-child{margin-top:2px}.notion-text-children{padding-left:1.5em;display:flex;flex-direction:column}.notion .notion-code{font-size:85%}.notion-code{position:relative;width:100%;padding:1em;margin:4px 0;border-radius:3px;-moz-tab-size:2;tab-size:2;display:block;box-sizing:border-box;overflow:auto;background:var(--bg-color-1);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}.notion-code-copy{position:absolute;top:1em;right:1em;-webkit-user-select:none;user-select:none;z-index:9;transition:opacity .2s cubic-bezier(.3,0,.5,1)}.notion-code-copy-button{display:inline-block;padding:.6em;font-size:1.25em;line-height:1em;cursor:pointer;transition:background-color .2s cubic-bezier(.3,0,.5,1),color .2s cubic-bezier(.3,0,.5,1),border-color .2s cubic-bezier(.3,0,.5,1);box-shadow:0 1px #1b1f240a,inset 0 1px #ffffff40;background-color:#f6f8fa;color:#24292f;border:1px solid rgba(27,31,36,.15);border-radius:6px}.notion-code-copy-button:hover{background-color:#f3f4f6;border-color:#1b1f2426;transition-duration:.1s}.notion-code-copy-button:active{background:#ebecf0;border-color:#1b1f2426;transition:none}.notion-code .notion-code-copy{opacity:0}.notion-code:hover .notion-code-copy{opacity:1}.notion-code-copy-button svg{display:block}.notion-code-copy-tooltip{pointer-events:none;position:absolute;bottom:-38px;left:0;width:100%;display:flex;flex-direction:row;justify-content:center;z-index:99;font-size:14px}.notion-code-copy-tooltip>div{padding:6px 8px;background:#222;color:#fff;border-radius:6px}.notion-column{display:flex;flex-direction:column;padding-top:12px;padding-bottom:12px}.notion-column>*:first-child{margin-top:0;margin-left:0;margin-right:0}.notion-column>*:last-child{margin-left:0;margin-right:0;margin-bottom:0}.notion-row{display:flex;overflow:hidden;width:100%;max-width:100%}@media (max-width: 640px){.notion-row{flex-direction:column}.notion-row .notion-column{width:100%!important}.notion-row .notion-spacer{display:none}}.notion-bookmark{margin:4px 0;width:100%;box-sizing:border-box;text-decoration:none;border:1px solid var(--fg-color-1);border-radius:3px;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.dark-mode .notion-bookmark{border-color:var(--bg-color-0)}.notion-bookmark>div:first-child{flex:4 1 180px;padding:12px 14px 14px;overflow:hidden;text-align:left;color:var(--fg-color)}.notion-bookmark-title{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:24px;margin-bottom:2px}.notion-bookmark-description{font-size:12px;line-height:16px;opacity:.8;height:32px;overflow:hidden}.notion-bookmark-link{display:flex;margin-top:6px}.notion-bookmark-link-icon{width:16px;height:16px;min-width:16px;margin-right:6px}.notion-bookmark-link-text{font-size:12px;line-height:16px;color:var(--fg-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notion-bookmark-link-icon img{max-width:100%;max-height:100%}.notion-bookmark-image{flex:1 1 180px;position:relative}.notion-bookmark-image>*{position:absolute!important;width:100%;height:100%}.notion-bookmark-image span{width:100%!important;height:100%!important;max-height:100%}.notion-column .notion-bookmark-image{display:none}.notion-spacer{width:min(32px,4vw)}.notion-spacer:last-child{display:none}.notion-asset-object-fit{position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;border-radius:1px}.notion-image{display:block;width:100%;border-radius:1px}.notion-asset-caption{padding:6px 0 6px 2px;white-space:pre-wrap;word-break:break-word;caret-color:var(--fg-color);font-size:14px;line-height:1.4;color:var(--fg-color-3)}.notion-callout{padding:16px 16px 16px 12px;display:inline-flex;width:100%;border-radius:3px;border-width:1px;align-items:center;box-sizing:border-box;margin:4px 0;border:1px solid var(--fg-color-0)}.dark-mode .notion-callout{border-color:var(--bg-color-2)}.notion-callout .notion-page-icon-inline{align-self:flex-start;width:24px;height:24px;line-height:24px;font-size:1.3em}.notion-callout-text{margin-left:8px;white-space:pre-wrap;word-break:break-word;width:100%}.notion-callout-text>*:first-child{margin-top:0;padding-top:0}.notion-toggle{width:100%;padding:3px 2px}.notion-toggle>summary{cursor:pointer;outline:none}.notion-toggle>div{margin-left:1.1em}.notion-collection{align-self:center;min-width:100%}.notion-collection-header{display:flex;align-items:center;height:42px;padding:4px 2px;white-space:nowrap;overflow:hidden}.notion-collection-header-title{display:inline-flex;align-items:center;font-size:1.25em;line-height:1.2;font-weight:600;white-space:pre-wrap;word-break:break-word;margin-right:.5em}.notion-collection-view-dropdown{cursor:pointer;padding:6px 8px;border:0 none;border-radius:3px;transition:background .12s ease-in 0s;background:transparent}.notion-collection-view-dropdown:hover{background:var(--bg-color-0)}.notion-collection-view-dropdown-icon{position:relative;top:2px;margin-left:4px}.notion-collection-view-type{display:flex;align-items:center;font-size:14px}.notion-collection-view-type-icon{display:inline-block;width:14px;height:14px;fill:#37352f;margin-right:6px}.notion-collection-view-type-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-color)}.notion-table{width:100vw;max-width:100vw;align-self:center;overflow:auto hidden}.notion-table-view{position:relative;float:left;min-width:var(--notion-max-width);padding-left:0}.notion-table-header{display:flex;position:absolute;z-index:82;height:33px;color:var(--fg-color-3);min-width:var(--notion-max-width)}.notion-table-header-inner{width:100%;display:inline-flex;border-top:1px solid var(--fg-color-1);border-bottom:1px solid var(--fg-color-1)}.notion-table-header-placeholder{height:34px}.notion-table-th{display:flex;position:relative}.notion-table-view-header-cell{display:flex;flex-shrink:0;overflow:hidden;height:32px;font-size:14px;padding:0}.notion-table-view-header-cell-inner{-webkit-user-select:none;user-select:none;display:flex;width:100%;height:100%;padding-left:8px;padding-right:8px;border-right:1px solid var(--fg-color-0)}.notion-table-th:last-child .notion-table-view-header-cell-inner{border-right:0 none}.notion-collection-column-title{display:flex;align-items:center;line-height:120%;min-width:0;font-size:14px}.notion-collection-column-title-icon{display:inline-block;width:14px;height:14px;min-width:14px;min-height:14px;fill:var(--fg-color-2);margin-right:6px}.notion-collection-column-title-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notion-table-body{position:relative;min-width:var(--notion-max-width)}.notion-table-row{display:flex;border-bottom:1px solid var(--fg-color-1)}.notion-table-cell{min-height:32px;padding:5px 8px 6px;font-size:14px;line-height:1;white-space:normal;overflow:hidden;word-break:break-word;border-right:1px solid var(--fg-color-1)}.notion-table-cell:last-child{border-right:0 none}.notion-table-cell-title{font-weight:500}.notion-table-cell-text{white-space:pre-wrap}.notion-table-cell-text,.notion-table-cell-number,.notion-table-cell-url,.notion-table-cell-email,.notion-table-cell-phone_number{line-height:1.5}.notion-table-cell-number{white-space:pre-wrap}.notion-table-cell-select,.notion-table-cell-multi_select{padding:7px 8px 0}.notion-table-cell-auto_increment_id{color:var(--fg-color-7)}.notion-property-select,.notion-property-status,.notion-property-multi_select{display:flex;flex-wrap:wrap;gap:6px}.notion-property-select-item,.notion-property-status-item,.notion-property-multi_select-item{display:flex;align-items:center;padding:0 6px;border-radius:3px;height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:120%}.notion-property-status-item{border-radius:20px}.notion-property-file{display:flex;flex-wrap:wrap;align-content:flex-start}.notion-property-file img{max-height:24px;max-width:100%;margin-right:6px}.notion-collection-card-cover .notion-property-file{height:100%}.notion-collection-card-cover .notion-property-file img{width:100%;margin:0;max-height:100%}.notion-collection-card .notion-property-checkbox-container{display:flex}.notion-property-checkbox-text{display:none}.notion-collection-card .notion-property-checkbox-text{display:inline-block;margin-left:6px}.notion-property-checkbox{width:16px;height:16px}.notion-property-checkbox-checked{width:16px;height:16px;background:var(--select-color-0)}.notion-property-checkbox-checked svg{position:relative;display:block;top:1px;left:1px;width:14px;height:14px;fill:#fff}.notion-property-checkbox-unchecked{width:16px;height:16px;border:1.3px solid var(--fg-color)}.notion-gallery{align-self:center}.notion-gallery-view{position:relative;padding-left:0;transition:padding .2s ease-out}.notion-gallery-grid{display:grid;position:relative;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-rows:1fr;gap:16px;border-top:1px solid var(--fg-color-1);padding-top:16px;padding-bottom:4px}.notion-gallery-grid-size-small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.notion-gallery-grid-size-large{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.notion-collection-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;box-shadow:#0f0f0f1a 0 0 0 1px,#0f0f0f1a 0 2px 4px;border-radius:3px;background:var(--bg-color);color:var(--fg-color);transition:background .1s ease-out 0s;-webkit-user-select:none;user-select:none;cursor:pointer}.notion-collection-card:hover{background:var(--bg-color-0)}.notion-collection-card-cover{position:relative;width:100%;height:190px;border-bottom:1px solid var(--fg-color-0);overflow:hidden}.notion-collection-card-cover img{width:100%;height:100%;border-radius:1px 1px 0 0}.notion-collection-card-cover .notion-collection-card-cover-empty{width:100%;height:100%;pointer-events:none;overflow:hidden;background:var(--fg-color-5);box-shadow:var(--fg-color-0) 0 -1px 0 0 inset;padding:8px 8px 0}.notion-collection-card-size-small .notion-collection-card-cover{height:124px}.notion-collection-card-body{display:flex;flex-direction:column;padding:4px 10px}.notion-collection-card-property{padding:4px 0;white-space:nowrap;word-break:break-word;overflow:hidden;text-overflow:ellipsis;font-size:12px}.notion-collection-card-property:first-child{font-size:14px;font-weight:500}.notion-collection-card-property:not(:first-child){white-space:nowrap;text-overflow:clip}.notion-collection-card-property img{max-height:18px}.notion-list-collection{align-self:center}.notion-list-collection{width:100%;max-width:100%}.notion-list-view{position:relative;padding-left:0;transition:padding .2s ease-out;max-width:100%}.notion-list-body{display:flex;flex-direction:column;border-top:1px solid var(--fg-color-1);padding-top:8px;max-width:100%;overflow:hidden}.notion-list-item{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin:1px 0;max-width:100%;overflow:hidden}.notion-list-item-title{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;line-height:1.3}.notion-list-item-body{display:flex;align-items:center;flex-wrap:nowrap;overflow:hidden}.notion-list-item-property{margin-left:14px;font-size:14px}.notion-list-item-property .notion-property-date,.notion-list-item-property .notion-property-created_time,.notion-list-item-property .notion-property-last_edited_time,.notion-list-item-property .notion-property-url{display:inline-block;color:var(--fg-color-3);font-size:12px;overflow:hidden;text-overflow:ellipsis}.notion-board{width:100vw;max-width:100vw;align-self:center;overflow:auto hidden}.notion-board-view{position:relative;float:left;min-width:100%;padding-left:0;transition:padding .2s ease-out}.notion-board-header{display:flex;position:absolute;z-index:82;height:44px;min-width:100%}.notion-board-header-inner{display:inline-flex;border-top:1px solid var(--fg-color-1);border-bottom:1px solid var(--fg-color-1)}.notion-board-header-placeholder{height:var(--notion-header-height)}.notion-board-th{display:flex;align-items:center;font-size:14px;padding-right:16px;box-sizing:content-box;flex-shrink:0}.notion-board-th-body{display:flex;align-items:center;font-size:14px;line-height:1.2;padding-left:2px;padding-right:4px;white-space:nowrap;overflow:hidden}.notion-board-th-count{color:var(--fg-color-3);font-weight:500;padding:0 8px}.notion-board-th-empty{margin-right:6px;position:relative;top:2px}.notion-board-body{display:inline-flex}.notion-board-group{flex:0 0 auto;padding-right:16px;box-sizing:content-box}.notion-board-group-card{margin-bottom:8px}.notion-board-view .notion-board-th,.notion-board-view .notion-board-group{width:260px}.notion-board-view-size-small .notion-board-th,.notion-board-view-size-small .notion-board-group{width:180px}.notion-board-view-size-large .notion-board-th,.notion-board-view-size-large .notion-board-group{width:320px}.notion-board-view .notion-collection-card .notion-collection-card-cover{height:148px}.notion-board-view-size-small .notion-collection-card .notion-collection-card-cover{height:100px}.notion-board-view-size-large .notion-collection-card .notion-collection-card-cover{height:180px}.notion-collection-page-properties{width:100%;display:flex;flex-direction:column}.notion-table-of-contents{width:100%;margin:4px 0}.notion-table-of-contents-item{color:var(--fg-color);opacity:.7;transition:background .1s ease-in,opacity .1s ease-in;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background 20ms ease-in 0s;cursor:pointer;width:100%;padding:6px;font-size:14px;line-height:1.3;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notion-table-of-contents-item:hover{background:var(--bg-color-0);opacity:1}.notion-table-of-contents-item-body{border-bottom:1px solid var(--fg-color-1)}.notion-to-do{width:100%;display:flex;flex-direction:column}.notion-to-do-item{display:flex;align-items:center;width:100%;padding-left:2px;min-height:calc(1.5em + 6px)}.notion-to-do-children{padding-left:1.5em}.notion-to-do-checked .notion-to-do-item{text-decoration:line-through;opacity:.375}.notion-to-do-body{white-space:pre-wrap;word-break:break-word}.notion-to-do-item .notion-property-checkbox{margin-right:8px}.notion-google-drive{width:100%;align-self:center;margin:4px 0}.notion-google-drive-link{position:relative;display:flex;flex-direction:column;color:inherit;text-decoration:none;width:100%;border:1px solid var(--fg-color-1);border-radius:3px;-webkit-user-select:none;user-select:none;transition:background 20ms ease-in 0s;cursor:pointer}.notion-google-drive-link:hover{background:var(--bg-color-0)}.notion-google-drive-preview{display:block;position:relative;width:100%;padding-bottom:55%;overflow:hidden}.notion-google-drive-preview img{position:absolute;width:100%;top:0;left:0;bottom:0;right:0;object-fit:cover;object-position:center top}.notion-google-drive-body{width:100%;min-height:60px;padding:12px 14px 14px;overflow:hidden;border-top:1px solid var(--fg-color-1)}.notion-google-drive-body-title{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.notion-google-drive-body-modified-time{font-size:12px;line-height:1.3;color:var(--fg-color-3);max-height:32px;overflow:hidden}.notion-google-drive-body-source{display:flex;align-items:center;margin-top:6px}.notion-google-drive-body-source-icon{flex-shrink:0;background-size:cover;width:16px;height:16px;margin-right:6px}.notion-google-drive-body-source-domain{font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notion-file{width:100%;margin:1px 0}.notion-file-link{display:flex;align-items:center;padding:3px 2px;border-radius:3px;transition:background 20ms ease-in 0s;color:inherit;text-decoration:none}.notion-file-link:hover{background:var(--bg-color-0)}.notion-file-icon{margin-right:2px;width:1.35em;display:flex;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0;min-height:calc(1.5em + 6px);height:1.35em}.notion-file-info{display:flex;align-items:baseline}.notion-file-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notion-file-size{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-color-3);font-size:12px;line-height:16px;margin-left:6px}.notion-audio{width:100%}.notion-audio audio{width:100%}.notion-equation{position:relative;display:inline-flex;color:inherit;fill:inherit;-webkit-user-select:none;user-select:none;border-radius:3px;transition:background 20ms ease-in 0s}.notion-equation-inline{-webkit-user-select:all;-moz-user-select:all;user-select:all}.notion-equation-block{display:flex;flex-direction:column;overflow:auto;width:100%;max-width:100%;padding:4px 8px;margin:4px 0;cursor:pointer}.notion-equation:hover{background:var(--bg-color-0)}.notion-equation:active,.notion-equation:focus{background:var(--select-color-2)}.notion-frame .katex-display .katex{padding-right:32px}.notion-frame .katex>.katex-html{white-space:normal}.notion-page-title{display:inline-flex;max-width:100%;align-items:center;line-height:1.3;transition:background .12s ease-in 0s}.notion-page-title-icon{display:flex;align-items:center;justify-content:center;height:22px;width:22px;border-radius:3px;flex-shrink:0}.notion-page-title .notion-page-icon-inline{margin-left:2px;margin-right:6px}.notion-collection-card-property .notion-link{border-bottom:0 none}.notion-collection-card-property .notion-page-title{transition:none}.notion-collection-card-property .notion-page-title:hover{background:unset}.notion-collection-card-property .notion-page-title-icon{margin-left:0;height:18px;width:18px}.notion-collection-card-property .notion-page-title-text{border-bottom:0 none}.notion-collection-card-property .notion-property-relation .notion-page-title-text{border-bottom:1px solid}.notion-page-title-text{position:relative;top:1px;border-bottom:1px solid var(--fg-color-1);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.notion-link .notion-page-title-text{border-bottom:0 none}.notion-collection-row{width:100%;padding:4px 0 8px;border-bottom:1px solid var(--fg-color-0);margin-bottom:1em}.notion-collection-row-body{display:flex;flex-direction:column;gap:4px}.notion-collection-row-property{display:flex;align-items:center}.notion-collection-row-value{flex:1;padding:6px 8px 7px;font-size:14px}.notion-collection-row-property .notion-collection-column-title{display:flex;align-items:center;width:160px;height:34px;color:var(--fg-color-3);padding:0 6px}.notion-collection-row-property .notion-property{width:100%}.notion-collection-row-property .notion-property-auto_increment_id{color:var(--fg-color-7)}.notion-collection-row-property .notion-collection-column-title-icon{width:16px;height:16px;min-width:16px;min-height:16px}.notion-collection-row-property .notion-link{border-bottom:0 none}.notion-collection-row-property .notion-property-relation .notion-page-title-text{border-bottom:1px solid}.notion-user{display:block;object-fit:cover;border-radius:100%;width:20px;height:20px}.notion-list-item-property .notion-property-multi_select-item{margin-bottom:0;flex-wrap:none}.notion-list-item-property .notion-property-multi_select-item:last-of-type{margin-right:0}.notion-toggle .notion-collection-header,.notion-toggle .notion-table-view,.notion-toggle .notion-board-view,.notion-column .notion-collection-header,.notion-column .notion-table-view,.notion-column .notion-board-view{padding-left:0!important;padding-right:0!important}.notion-toggle .notion-table,.notion-toggle .notion-board,.notion-column .notion-table,.notion-column .notion-board{width:100%!important;max-width:100%!important}@media only screen and (max-width: 730px){.notion-asset-wrapper{max-width:100%}.notion-asset-wrapper-full{max-width:100vw}}@media (max-width: 640px){.notion-bookmark-image{display:none}}.lazy-image-wrapper{position:relative;overflow:hidden}.lazy-image-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;max-width:100%;max-height:100%;min-width:100%;min-height:100%}.lazy-image-preview{filter:blur(20px);transform:scale(1.1);opacity:1;transition:opacity .4s ease-in!important;transition-delay:.1s;will-change:opacity}.lazy-image-wrapper img.lazy-image-real{position:relative}.lazy-image-real{opacity:0;transition:opacity .4s ease-out!important;will-change:opacity}.lazy-image-real.medium-zoom-image{transition:transform .3s cubic-bezier(.2,0,.2,1),opacity .4s ease-out!important;will-change:opacity,transform}.medium-zoom-image--opened{object-fit:cover;opacity:1}.lazy-image-loaded .lazy-image-preview{opacity:0}.lazy-image-loaded .lazy-image-real{opacity:1}.notion-page-cover.lazy-image-wrapper{padding:0!important}.notion-collection-card-cover .lazy-image-wrapper{padding:0!important;height:100%}.notion-page-cover .lazy-image-preview,.notion-page-cover .lazy-image-real{will-change:unset!important}.notion-page-cover .lazy-image-loaded .lazy-image-preview{opacity:1}.notion-lite{overflow-y:auto}.notion-lite .notion-page{width:100%;padding:0}.notion-lite .notion-collection-header,.notion-lite .notion-table-view,.notion-lite .notion-board-view{padding-left:0!important;padding-right:0!important}.notion-lite .notion-board,.notion-lite .notion-table{width:100%!important}.notion-header{position:sticky;top:0;left:0;z-index:200;width:100%;max-width:100vw;overflow:hidden;height:var(--notion-header-height);min-height:var(--notion-header-height);background:var(--bg-color)}.notion-header .notion-nav-header{position:absolute;top:0;left:0;right:0;height:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 12px;text-size-adjust:100%;line-height:1.5;line-height:1.2;font-size:14px;gap:12px}.notion-header .breadcrumbs{display:flex;flex-direction:row;align-items:center;height:100%;flex-grow:0;min-width:0}.notion-header .breadcrumb{display:inline-flex;flex-direction:row;justify-content:center;align-items:center;white-space:nowrap;text-overflow:ellipsis;color:var(--fg-color);text-decoration:none;margin:1px 0;padding:4px 6px;border-radius:3px;transition:background .12s ease-in 0s;-webkit-user-select:none;user-select:none;background:transparent;cursor:pointer}.notion-header .breadcrumb .notion-page-icon-inline{font-size:18px;line-height:1.1;margin:0 6px 0 0}.notion-header .breadcrumb .notion-page-icon-span{position:relative;top:1px}.notion-header .searchIcon{width:14px;height:14px;color:var(--fg-color);fill:var(--fg-color)}.notion-search-button{gap:8px}.notion-header .breadcrumb:not(.active):hover{background:var(--bg-color-0)}.notion-header .breadcrumb:not(.active):active{background:var(--bg-color-1)}.notion-header .breadcrumb.active{cursor:default}.notion-header .spacer{margin:0 2px;color:var(--fg-color-2)}.notion-header .button{padding:12px}.notion-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f0f0f99;display:flex;justify-content:center;align-items:flex-start;z-index:1001}.notion-search{box-shadow:#0f0f0f0d 0 0 0 1px,#0f0f0f1a 0 5px 10px,#0f0f0f33 0 15px 40px;border-radius:3px;background:var(--bg-color);position:relative;top:90px;max-width:600px;min-height:50px;max-height:80vh;width:75%;overflow:hidden;outline:none;font-size:16px;line-height:1.5;color:#37352f;caret-color:#37352f;font-family:var(--notion-font)}.notion-search input{background-color:var(--bg-color)}.notion-search .quickFindMenu{display:flex;flex-direction:column;min-width:100%;max-width:calc(100vw - 24px);height:100%;max-height:80vh;min-height:50px}.notion-search .searchBar{display:flex;flex-direction:row;align-items:center;height:52px;box-shadow:#37352f17 0 1px;font-size:18px;line-height:27px;padding:16px}.notion-search .searchInput{resize:none;white-space:nowrap;border:none;outline:none;flex:1;line-height:inherit;font-size:inherit}.notion-search .inlineIcon{margin-right:10px;fill:var(--fg-color-2)}.notion-search .clearButton{-webkit-user-select:none;user-select:none;border-radius:20px;cursor:pointer;margin-left:8px}.notion-search .clearIcon{width:14px;height:14px;fill:var(--fg-color-2)}.notion-search .clearButton:hover .clearIcon{fill:var(--fg-color-3)}.notion-search .clearButton:active .clearIcon{fill:var(--fg-color-6)}@keyframes spinner{to{transform:rotate(360deg)}}.notion-search .loadingIcon{animation:spinner .6s linear infinite}.notion-search .noResultsPane{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 16px}.notion-search .noResults{font-size:14px;font-weight:500;line-height:20px;color:#37352f99}.notion-search .noResultsDetail{font-size:14px;margin-top:2px;color:#37352f66}.notion-search .resultsFooter{box-shadow:#37352f17 0 -1px;margin-top:1px;font-size:12px;min-height:28px;color:var(--fg-color-2);-webkit-user-select:none;user-select:none;padding:0 16px;display:flex;flex-direction:column;justify-content:center}.notion-search .resultsCount{font-weight:500;color:var(--fg-color-3)}.notion-search .resultsPane{display:flex;flex-direction:column;height:100%;flex:1;overflow:auto}.notion-search .resultsPane .result{padding:8px 14px;border-bottom:1px solid rgba(55,53,47,.06);font-size:14px;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:stretch;color:var(--fg-color);text-decoration:none}.notion-search .resultsPane .result:hover{background:var(--bg-color-2)!important}.notion-search .resultsPane .result:active{background:var(--fg-color-1)!important}.notion-search .resultsPane .result{min-height:unset;height:unset}.notion-search .resultsPane .result .notion-page-title{display:flex}.notion-search .resultsPane .result .notion-search-result-highlight{font-size:90%;margin:4px 0 0 30px}.notion-sync-block{width:100%}.notion-collection-group{margin-bottom:1em}.notion-collection-group>summary>div{transform:scale(.85);transform-origin:0% 50%;display:inline-flex;align-items:center}.notion-simple-table{border:1px solid var(--fg-color-5);border-collapse:collapse;border-spacing:0;font-size:14px}.notion-simple-table-header-row td,.notion-simple-table-header-cell{background:var(--bg-color-0)}.notion-simple-table td{border:1px solid var(--fg-color-5);padding:8px;white-space:pre-wrap}.notion-external{border-radius:3px;transition:background .12s ease-in 0s;text-decoration:none}.notion-external:hover{background:var(--bg-color-0)}.notion-external-block{width:100%;margin-top:4px;border:1px solid var(--fg-color-1);padding:6px;display:flex}.notion-external-mention{display:inline-flex;padding:0 4px;align-items:center;position:relative;top:3px}.notion-external-image{width:32px;height:32px;margin:3px 12px 3px 4px}.notion-external-mention .notion-external-image{display:inline-flex;align-items:center;width:16px;height:16px;margin:0 .3em 0 0}.notion-external-mention .notion-external-image svg{width:100%;height:100%}.notion-external-description{display:flex;flex-direction:column}.notion-external-mention .notion-external-description{display:inline-flex;flex-direction:row;align-items:center}.notion-external-title{font-size:14px;font-weight:500;color:var(--fg-color-4)}.notion-external-mention .notion-external-title{display:inline;font-size:16px;border-bottom:.05em solid var(--fg-color-1)}.notion-external-subtitle{font-size:12px;color:var(--fg-color-3)}.notion-external-block-desc{color:#37352fa6;font-size:12px;white-space:nowrap;padding-top:4px}.notion-external-mention .notion-external-subtitle{display:none;position:absolute;top:28px;left:0;width:260px;background:var(--bg-color);z-index:999;padding:8px;box-shadow:#0f0f0f1a 0 0 0 1px,#0f0f0f1a 0 2px 4px}.notion-external-mention .notion-external-subtitle-item{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;line-height:1.5;padding:4px 0}.notion-external-mention .notion-external-subtitle-item-name{flex:none;width:70px;font-weight:500}.notion-external-mention .notion-external-subtitle-item-desc{flex:1}.notion-external-description:hover .notion-external-subtitle{display:block}.notion-preview-card-domain-warp{display:flex;flex-direction:row;justify-content:flex-start;align-items:center}.notion-preview-card-domain-warp .notion-preview-card-domain{padding-left:4px}.notion-preview-card-domain-warp .notion-preview-card-logo{width:14px;height:14px}.notion-preview-card-title{font-size:16px;line-height:1.5;padding:4px 0;font-weight:500;color:var(--fg-color-4)}.notion-preview-card-github-shields img{margin-right:4px;padding:4px 0}.notion-yt-lite{background-color:#000;position:absolute;width:100%;height:100%;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer}.notion-yt-lite:before{content:"";display:block;position:absolute;top:0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;width:100%;height:60px;padding-bottom:50px;transition:all .2s cubic-bezier(0,0,.2,1)}.notion-yt-lite>iframe{width:100%;height:100%;position:absolute;top:0;left:0}.notion-yt-playbtn{width:68px;height:48px;position:absolute;cursor:pointer;transform:translate3d(-50%,-50%,0);top:50%;left:50%;z-index:1;background-color:transparent;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:none}.notion-yt-lite:hover>.notion-yt-playbtn,.notion-yt-youtube .notion-yt-playbtn:focus{filter:none}.notion-yt-initialized{cursor:unset}.notion-yt-initialized:before,.notion-yt-initialized>.notion-yt-playbtn{opacity:0;pointer-events:none}.notion-yt-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.notion-collection-view-dropdown-content{font-family:var(--notion-font);min-width:220;background:#fff;border-radius:6;padding:0;box-shadow:0 10px 38px -10px #16171859,0 10px 20px -15px #16171833;animation-duration:.4s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:forwards;will-change:transform,opacity}.notion-collection-view-tabs-row{display:flex;flex-direction:row;flex-wrap:wrap;width:120%}.notion-collection-view-tabs-content-item{all:unset;position:relative;height:25px;padding:7px 10px;line-height:1;display:flex;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;color:#37352f;font-size:14px}.notion-collection-view-tabs-content-item:hover{background-color:var(--fg-color-1);border-radius:3px}.notion-collection-view-tabs-content-item-active{border-bottom:solid 2px #000;font-weight:700}@media only screen and (max-width: 730px){.notion-collection-view-tabs-row{width:100%}}@keyframes slideDownAndFade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.notion-collection-view-dropdown-content[data-state=open]{animation-name:slideDownAndFade}.nested-form-link{background:none!important;border:none;padding:0!important;text-decoration:underline;cursor:pointer}.notion-link-mention{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.notion-link-mention-link{display:inline-flex;align-items:center;gap:.5rem}.notion-link-mention-icon{width:1.5rem;height:1.5rem;border-radius:.375rem}.notion-link-mention-provider{font-size:.875rem;color:var(--fg-color)}.notion-link-mention-title{font-size:.875rem;font-weight:600;color:var(--fg-color)}.notion-link-mention-preview{display:none;position:absolute;top:100%;left:0;margin-top:.5rem;z-index:100000}.notion-link-mention:hover .notion-link-mention-preview{display:block}.notion-link-mention-card{width:18rem;height:15rem;background:var(--bg-color);border-radius:.75rem;border:1px solid rgba(27,31,36,.15);overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.notion-link-mention-preview-thumbnail{width:100%;height:55%;object-fit:cover}.notion-link-mention-preview-content{display:flex;flex-direction:column;height:45%;padding:.5rem 1rem;gap:.125rem}.notion-link-mention-preview-title{font-size:.875rem;font-weight:700;color:var(--fg-color);margin:0}.notion-link-mention-preview-description{font-size:.875rem;color:var(--fg-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.notion-link-mention-preview-footer{display:flex;align-items:center;gap:.375rem;margin-top:auto;padding-bottom:.5rem}.notion-link-mention-preview-icon{width:1rem;height:1rem;border-radius:.25rem}.notion-link-mention-preview-provider{font-size:.875rem;color:var(--fg-color-2)}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}@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}.notion-page{padding:0;max-width:100%;color:#37352f!important;background:#fff}.notion-full-page{padding-bottom:max(5vh,32px);padding-left:min(max(calc((100% - 1440px)/2),0px),96px);padding-right:min(max(calc((100% - 1440px)/2),0px),96px)}.notion-text,.notion-h,.notion-h1,.notion-h2,.notion-h3,.notion-page-content,.notion-list,.notion-list-disc,.notion-list-numbered{color:#37352f!important}.notion-title{font-size:2.5rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;color:#37352f!important}.notion-collection-view,.notion-collection-view-tabs{padding:0}.notion-page-controls{display:none}@media (max-width: 768px){.notion-full-page{padding-left:1rem;padding-right:1rem}.notion-title{font-size:2rem}}.notion-link{color:#0070f3!important;text-decoration:underline}.notion-link:hover{color:#0051cc!important}.notion-list-item{color:#37352f!important}.dark-mode .notion-page{background:#1a1a1a;color:#e0e0e0!important}.dark-mode .notion-text,.dark-mode .notion-h,.dark-mode .notion-list{color:#e0e0e0!important}.dark-mode .notion-code{background:#2d2d2d}.academy-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;margin-bottom:2rem;border-radius:.5rem}.academy-header h1{margin:0;font-size:2rem}.academy-header p{margin:.5rem 0 0;opacity:.9}:root{--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--success-800: #065f46;--success-900: #064e3b;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d;--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-tertiary: var(--neutral-500);--color-text-inverse: var(--neutral-50);--color-bg-primary: var(--neutral-50);--color-bg-secondary: var(--neutral-100);--color-bg-tertiary: var(--neutral-200);--color-bg-inverse: var(--neutral-900);--color-border-primary: var(--neutral-200);--color-border-secondary: var(--neutral-300);--color-border-focus: var(--primary-500);--gradient-primary: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 100%);--gradient-success: linear-gradient(135deg, var(--success-500) 0%, var(--success-600) 100%);--gradient-warning: linear-gradient(135deg, var(--warning-500) 0%, var(--warning-600) 100%);--gradient-error: linear-gradient(135deg, var(--error-500) 0%, var(--error-600) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-800) 0%, #f093fb 100%);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--space-px: 1px;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--text-9xl: 8rem;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0em;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--radius-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--transition-duration-fast: .15s;--transition-duration-normal: .3s;--transition-duration-slow: .5s;--transition-timing-ease-in: cubic-bezier(.4, 0, 1, 1);--transition-timing-ease-out: cubic-bezier(0, 0, .2, 1);--transition-timing-ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: var(--transition-duration-fast) var(--transition-timing-ease-in-out);--transition-normal: var(--transition-duration-normal) var(--transition-timing-ease-in-out);--transition-slow: var(--transition-duration-slow) var(--transition-timing-ease-in-out);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}@media (prefers-color-scheme: dark){:root{--color-text-primary: var(--neutral-100);--color-text-secondary: var(--neutral-400);--color-text-tertiary: var(--neutral-500);--color-text-inverse: var(--neutral-900);--color-bg-primary: var(--neutral-900);--color-bg-secondary: var(--neutral-800);--color-bg-tertiary: var(--neutral-700);--color-bg-inverse: var(--neutral-100);--color-border-primary: var(--neutral-700);--color-border-secondary: var(--neutral-600)}}.theme-light{--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-tertiary: var(--neutral-500);--color-text-inverse: var(--neutral-50);--color-bg-primary: var(--neutral-50);--color-bg-secondary: var(--neutral-100);--color-bg-tertiary: var(--neutral-200);--color-bg-inverse: var(--neutral-900);--color-border-primary: var(--neutral-200);--color-border-secondary: var(--neutral-300)}.theme-dark{--color-text-primary: var(--neutral-100);--color-text-secondary: var(--neutral-400);--color-text-tertiary: var(--neutral-500);--color-text-inverse: var(--neutral-900);--color-bg-primary: var(--neutral-900);--color-bg-secondary: var(--neutral-800);--color-bg-tertiary: var(--neutral-700);--color-bg-inverse: var(--neutral-100);--color-border-primary: var(--neutral-700);--color-border-secondary: var(--neutral-600)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:var(--font-family-sans);font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;width:100%;position:relative}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}small{font-size:var(--text-sm);color:var(--color-text-tertiary)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}code{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-primary)}pre{font-family:var(--font-family-mono);background-color:var(--color-bg-secondary);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-primary);overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}pre code{background:none;border:none;padding:0}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700);text-decoration:underline}a:focus{outline:2px solid var(--color-border-focus);outline-offset:var(--space-1);border-radius:var(--radius-sm)}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed}textarea{resize:vertical;min-height:100px}ul,ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-1);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}img,video{max-width:100%;height:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;border-spacing:0;margin-bottom:var(--space-6)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-primary)}th{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background-color:var(--color-bg-secondary)}tr:hover{background-color:var(--color-bg-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}::selection{background-color:var(--primary-200);color:var(--primary-900)}::-moz-selection{background-color:var(--primary-200);color:var(--primary-900)}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}h1,h2,h3,h4,h5,h6{page-break-after:avoid}img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}}html{-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}p,span,div[contenteditable],textarea,input{-webkit-user-select:text;user-select:text}*::-moz-selection{background:transparent}*::selection{background:transparent}*:focus{outline:none!important;-webkit-tap-highlight-color:transparent!important}
