.admin-config-portal{position:relative}.portal-trigger{display:flex;align-items:center;padding:6px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-trigger:hover{background:#e9ecef;border-color:#adb5bd}.trigger-content{display:flex;align-items:center;gap:8px;color:#495057;font-weight:500;font-size:.9rem}.portal-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;margin-top:4px;min-width:320px}.dropdown-header{padding:16px 20px;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:8px 8px 0 0}.dropdown-header h3{margin:0 0 4px;font-size:1.1rem;color:#2c3e50;font-weight:600}.dropdown-header p{margin:0;font-size:.85rem;color:#6c757d}.config-options{padding:8px 0}.config-option{display:flex;align-items:center;padding:12px 20px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f1f3f4}.config-option:last-child{border-bottom:none}.config-option:hover{background:#f8f9fa}.option-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.option-content{flex:1}.option-content h4{margin:0 0 4px;font-size:.95rem;color:#2c3e50;font-weight:600}.option-content p{margin:0;font-size:.8rem;color:#6c757d;line-height:1.4}.option-arrow{color:#adb5bd;margin-left:8px;flex-shrink:0}.config-option:hover .option-arrow{color:#6c757d}@media (max-width: 768px){.portal-dropdown{left:-100px;right:-100px;min-width:280px}.option-content h4{font-size:.9rem}.option-content p{font-size:.75rem}}.user-guide-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.user-guide-modal{background-color:#fff;border-radius:8px;width:90%;max-width:900px;max-height:80vh;position:relative;box-shadow:0 4px 8px #0003;overflow:hidden}.close-button{position:absolute;top:10px;right:15px;border:none;background:none;font-size:24px;cursor:pointer;color:#333;z-index:10}.user-guide-content{padding:30px 20px;overflow-y:auto;max-height:80vh}.user-guide-content h1{margin-top:0;color:#333;text-align:center}@media (max-width: 768px){.user-guide-modal{width:95%;max-height:90vh}.user-guide-content{padding:20px 15px}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-0cdd387c.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-30da91e8.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-68534840.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-3398dd02.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-74444efd.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-9163df9c.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-51814d27.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-5e28753b.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-0f60d1b8.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-c76c5d69.woff) format("woff"),url(/assets/KaTeX_Main-Bold-138ac28d.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-97479ca6.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-f1d6ef86.woff) format("woff"),url(/assets/KaTeX_Main-Italic-0d85ae7c.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-c2342cd8.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-c6368d87.woff) format("woff"),url(/assets/KaTeX_Main-Regular-d0332f52.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-dc47344d.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-850c0af5.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-7af58c5e.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-8a8d2445.woff) format("woff"),url(/assets/KaTeX_Math-Italic-08ce98e5.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-e99ae511.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-ece03cfd.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-91ee6750.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-3931dd81.ttf) format("truetype")}@font-face{font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-f36ea897.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-036d4e95.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-d96cdf2b.woff) format("woff"),url(/assets/KaTeX_Script-Regular-1c67f068.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-6b47c401.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-c943cc98.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-95b6d2f1.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-d04c5421.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-2014c523.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-a6b2099f.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-6ab6b62e.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-500e04d5.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-a4af7d41.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-99f9c675.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-c647367d.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-71d517d6.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-e14fed02.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-f01f3e87.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:-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}.contact-form-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.contact-form-container{max-width:500px;width:100%;margin:0 auto;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 20px #0003;position:relative}.contact-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.contact-form-container h3{margin-top:0;color:#333;font-size:1.5rem;margin-bottom:0}.contact-form-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;line-height:1;transition:color .3s}.contact-form-close:hover{color:#333}.contact-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:600;font-size:.9rem;color:#555}.form-group input,.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.contact-form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.contact-form-cancel{background-color:#f1f1f1;color:#666;border:none;padding:12px 20px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s;flex:1}.contact-form-cancel:hover{background-color:#e0e0e0}.contact-form-submit{background-color:#4a90e2;color:#fff;border:none;padding:12px 20px;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s;flex:1}.contact-form-submit:hover{background-color:#3a7bc8}.contact-form-submit:disabled{background-color:#a0c3e8;cursor:not-allowed}.contact-form-error{background-color:#ffebee;color:#c62828;padding:10px;border-radius:4px;font-size:.9rem;margin-top:5px}.contact-form-success{background-color:#e8f5e9;color:#2e7d32;padding:15px;border-radius:4px;text-align:center}@media (max-width: 600px){.contact-form-container{padding:15px;max-width:none;width:90%}.contact-form-submit,.contact-form-cancel,.contact-form-modal{padding:10px}}.help-dropdown{position:relative;display:inline-block}.help-dropdown-trigger{display:inline-flex;align-items:center;gap:6px;background-color:transparent;border:1px solid transparent;border-radius:4px;padding:6px 12px;font-size:15px;font-weight:500;color:#555;cursor:pointer;transition:all .2s ease;white-space:nowrap}.help-dropdown-trigger:hover{color:#4a90e2;background-color:#4a90e21a;border-color:#4a90e24d}.help-dropdown-trigger .rotate{transform:rotate(180deg);transition:transform .2s ease}.help-dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;width:240px;background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 18px 40px #0f172a2e;padding:8px;z-index:200;animation:fadeInPop .2s ease}.help-dropdown-menu:before{content:"";position:absolute;top:-8px;right:24px;width:14px;height:14px;background:#fff;border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;transform:rotate(45deg);z-index:-1}.help-menu-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.help-menu-item:hover{background-color:#f3f4f6}.help-menu-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background-color:#4a90e21a;color:#4a90e2;flex-shrink:0}.help-menu-content{flex:1;min-width:0}.help-menu-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:2px}.help-menu-desc{font-size:12px;color:#6b7280;line-height:1.4}@media (max-width: 768px){.help-dropdown-menu{right:auto;left:0}.help-dropdown-menu:before{left:24px;right:auto}}.header{background-color:#fff;box-shadow:0 2px 10px #0000001a;padding:15px 0;position:sticky;top:0;z-index:100;width:100%}.header-container{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 20px;position:relative}.logo-container{display:flex;align-items:center;z-index:101}.logo{font-size:24px;font-weight:700;color:#3a5a78;text-decoration:none;font-family:Playfair Display,serif;letter-spacing:1px;transition:color .3s}.logo:hover{color:#2c4660;text-decoration:none}.nav{display:flex;align-items:center;transition:all .3s ease}.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:6px}.nav-item{position:relative}.nav-item a{color:#555;font-size:15px;font-weight:500;padding:6px 12px;border-radius:4px;transition:all .3s ease;text-decoration:none;display:block;white-space:nowrap}.nav-item a:hover:not(.active){color:#4a90e2;background-color:#4a90e21a}.nav-item a.active{color:#4a90e2;background-color:#4a90e226;font-weight:600}.user-actions{display:flex;align-items:center;margin-left:12px;gap:6px}.user-info-wrapper{position:relative;display:flex;align-items:center}.username-button{display:inline-flex;align-items:center;gap:6px;background-color:transparent;border:1px solid transparent;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:500;color:#444;cursor:pointer;transition:all .2s ease}.username-button:hover{background-color:#4a90e21a;border-color:#4a90e24d}.username-button.active{background-color:#4a90e226;border-color:#4a90e2;color:#1f3a60}.username-text{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info-arrow{font-size:12px;color:#6b7280}.user-info-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:300px;background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 18px 40px #0f172a2e;padding:16px;z-index:200;animation:fadeInPop .2s ease}.user-info-dropdown:before{content:"";position:absolute;top:-8px;right:24px;width:14px;height:14px;background:#fff;border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;transform:rotate(45deg);z-index:-1}.user-info-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.user-info-name{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.user-info-meta{font-size:12px;color:#6b7280;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.user-info-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}.user-info-badge.vip{background:linear-gradient(120deg,#fbbf24,#f97316)}.user-info-refresh{background-color:transparent;border:1px solid #d1d5db;color:#374151;padding:4px 12px;border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s ease}.user-info-refresh:hover:not(:disabled){border-color:#4a90e2;color:#4a90e2}.user-info-refresh:disabled{opacity:.6;cursor:not-allowed}.user-info-body{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.user-info-row{display:flex;justify-content:space-between;font-size:13px;color:#4b5563;gap:12px}.user-info-row span:last-child{font-weight:600;color:#1f2937}.user-info-note{font-size:12px;color:#6b7280;background-color:#f9fafb;border-radius:8px;padding:8px 10px;line-height:1.4}.user-info-loading{font-size:13px;color:#6b7280;margin-top:8px}.user-info-error{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;font-size:13px;margin-bottom:8px}@keyframes fadeInPop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.username{font-size:15px;font-weight:500;color:#444;margin-right:10px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.logout-btn{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:15px;transition:background-color .3s;white-space:nowrap}.logout-btn:hover{background-color:#c0392b}.login-btn,.register-btn{padding:8px 16px;border-radius:4px;text-decoration:none;font-size:15px;transition:all .3s;white-space:nowrap}.header .header-auth-btn{background-color:#4a90e2;color:#fff;border:1px solid #4a90e2;border-radius:4px;padding:8px 16px;text-decoration:none;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.header .login-btn.header-auth-btn{margin-right:8px}.header .header-auth-btn:hover{background-color:#3a7bc8}.admin-item a{background-color:#ff9800;color:#fff!important;padding:8px 16px;border-radius:4px;font-weight:600;display:flex;align-items:center}.admin-item a:hover{background-color:#f57c00;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.admin-item a:before{content:"⚙️";margin-right:6px;font-size:16px}.menu-toggle{display:none;background:none;border:none;cursor:pointer;z-index:101;width:40px;height:40px;position:relative;padding:0;flex-direction:column;justify-content:space-between;align-items:center}.menu-icon{display:block;width:24px;height:3px;background-color:#3a5a78;margin:2px 0;transition:all .3s ease;border-radius:2px}.menu-toggle.active .menu-icon:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active .menu-icon:nth-child(2){opacity:0}.menu-toggle.active .menu-icon:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 1200px){.nav-list{gap:6px}.nav-item a{padding:6px 12px;font-size:14px}}@media (max-width: 992px){.header-container{padding:0 15px}.nav-list{gap:4px}.nav-item a{padding:6px 10px;font-size:14px}.username{max-width:100px}}@media (max-width: 768px){.nav-list{gap:4px}.nav-item a{padding:6px 10px;font-size:13px}.user-actions{margin-left:8px;gap:4px}.login-btn,.register-btn,.logout-btn{padding:6px 10px;font-size:13px}.username{font-size:13px;max-width:70px}}@media (max-width: 640px){.header{padding:12px 0}.logo{font-size:20px}.menu-toggle{display:flex}.nav{display:none;width:100%}.nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background-color:#fff;box-shadow:0 5px 10px #0000001a;padding:15px;z-index:100;max-height:80vh;overflow-y:auto;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-list{flex-direction:column;width:100%;gap:0}.nav-item{width:100%;margin:0}.nav-item a{padding:12px 15px;font-size:16px;border-radius:0;border-bottom:1px solid #eee;width:100%}.nav-item:last-child a{border-bottom:none}.user-actions{flex-direction:column;width:100%;margin-top:15px;margin-left:0;gap:10px;align-items:stretch}.username{text-align:center;max-width:none;margin:0 0 10px}.login-btn,.register-btn,.logout-btn{width:100%;text-align:center;margin-right:0;padding:10px}.user-info-wrapper{width:100%;flex-direction:column;align-items:stretch}.username-button{width:100%;justify-content:space-between}.user-info-dropdown{position:static;width:100%;margin-top:10px;box-shadow:0 12px 24px #0f172a1f}.user-info-dropdown:before{display:none}}@media (max-width: 360px){.header-container{padding:0 10px}.logo{font-size:18px}}.footer{background-color:#f8f8f8;padding:20px 0;border-top:1px solid #eee;margin-top:auto}.footer-container{display:flex;flex-direction:column;max-width:1200px;margin:0 auto;padding:0 20px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.footer-content{flex:1}.copyright{font-size:14px;color:#666;margin:0 0 5px}.description{font-size:12px;color:#888;margin:0;max-width:600px}.footer-links{display:flex;align-items:center}.footer-link{margin-left:20px;font-size:14px;color:#3a5a78;text-decoration:none;transition:color .3s}.footer-link:hover{color:#2c4660}.contact-btn{background:none;border:1px solid #3a5a78;padding:5px 10px;border-radius:4px;cursor:pointer;font-size:14px}.contact-btn:hover{background-color:#3a5a78;color:#fff}.footer-contact-form{margin-top:20px;margin-bottom:20px;width:100%;max-width:600px;align-self:center}@media (max-width: 768px){.footer-container{text-align:center}.footer-top{flex-direction:column}.footer-links{margin-top:15px;justify-content:center;flex-wrap:wrap}.footer-link{margin:5px 10px;font-size:12px}.description{max-width:100%}.footer-contact-form{padding:0 10px}}.demo-video-showcase{padding:20px}.showcase-header{text-align:center;margin-bottom:40px}.showcase-title{font-size:2rem;font-weight:700;color:#333;margin-bottom:15px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.showcase-subtitle{font-size:1.1rem;color:#666;line-height:1.6;max-width:600px;margin:0 auto}.demo-loading,.no-demos{text-align:center;color:#666;font-size:1.1rem;padding:60px 20px}.video-book-card{-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-book-cover{background-attachment:fixed}.video-question{-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-actions{z-index:10;position:relative}.video-actions .ant-btn{transition:all .3s ease}.video-actions .ant-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ffffff4d}.video-book-spine{transition:all .3s ease}.video-book-card:hover .video-book-spine{transform:translateZ(-10px) rotateY(-90deg) translate(-2px)}.demo-tasks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:25px;margin-bottom:40px;position:relative;z-index:1}.demo-task-card{background:white;border-radius:16px;padding:25px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;border:1px solid rgba(0,0,0,.05);opacity:0;transform:translateY(30px);animation:demo-card-fade-in .6s ease forwards;position:relative;overflow:hidden}.demo-task-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2)}.demo-task-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #00000026}@keyframes demo-card-fade-in{to{opacity:1;transform:translateY(0)}}.task-header{margin-bottom:20px}.task-question{font-size:1.1rem;color:#333;line-height:1.5;margin-top:10px;font-weight:500}.task-actions{display:flex;gap:12px;flex-wrap:wrap}.play-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;font-weight:500;transition:all .3s ease}.play-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.view-btn{border:2px solid #667eea;color:#667eea;border-radius:8px;font-weight:500;transition:all .3s ease}.view-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.showcase-cta{text-align:center;padding:30px;background:white;border-radius:16px;box-shadow:0 4px 20px #00000014;position:relative;z-index:1}.showcase-cta p{font-size:1.2rem;color:#666;margin-bottom:20px;font-weight:500}.showcase-cta .ant-btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;height:50px;padding:0 40px;font-size:1.1rem;font-weight:600;border-radius:25px;transition:all .3s ease}.showcase-cta .ant-btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #667eea66}.video-player{display:flex;gap:16px;height:500px}@media (max-width: 768px){.video-player{flex-direction:column;height:auto}.video-section{height:300px;margin-bottom:16px}.info-section{max-height:none;overflow-y:visible}}.latex-renderer{display:inline-block}.latex-renderer .katex{font-size:inherit;color:inherit}.latex-renderer .katex-display{margin:.5rem 0;text-align:center}.video-question .latex-renderer{color:inherit;text-shadow:inherit}.video-question .latex-renderer .katex{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}@media (max-width: 768px){.demo-video-showcase{padding:25px 15px;margin-bottom:25px}.showcase-title{font-size:1.8rem}.showcase-subtitle{font-size:1rem}.demo-tasks-grid{grid-template-columns:1fr;gap:20px}.demo-task-card{padding:20px}.task-actions{flex-direction:column}.split-content{grid-template-columns:1fr;gap:20px}.showcase-cta p{font-size:1.1rem}.showcase-cta .ant-btn-primary{height:45px;font-size:1rem;padding:0 30px}}@media (max-width: 480px){.demo-video-showcase{padding:20px 10px}.showcase-title{font-size:1.6rem}.demo-task-card{padding:15px}}.home{padding:20px 0}.hero-section{text-align:center;padding:40px 20px;margin-bottom:30px;background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 10px #0000000d}.hero-title{font-size:32px;color:#3a5a78;margin-bottom:15px;font-family:Playfair Display,serif}.hero-description{font-size:16px;color:#666;max-width:800px;margin:0 auto;line-height:1.6}.books-section{padding:20px 0}.section-header{display:flex;justify-content:center;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px;text-align:center}.section-title{font-size:28px;color:#333;margin:0;position:relative;text-align:center;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:3px;background-color:#3a5a78}.books-controls{margin:30px auto;max-width:800px}.search-box{position:relative}.search-box input{transition:all .3s ease}.search-box input:focus{box-shadow:0 0 0 2px #3a5a7833;border-color:#3a5a78}.sort-controls select{transition:all .3s ease}.sort-controls select:focus{box-shadow:0 0 0 2px #3a5a7833;border-color:#3a5a78}.section-actions{display:flex;gap:10px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62}.btn-sm{padding:4px 8px;font-size:12px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 0;text-align:center}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #3a5a78;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}.error-container{text-align:center;padding:50px 0;color:#d32f2f}.no-books{text-align:center;padding:30px;background-color:#f8f8f8;border-radius:8px;color:#666;max-width:600px;margin:0 auto}.books-container{min-height:200px}.vip-banner{background:linear-gradient(135deg,#ff6b6b 0%,#ffa500 50%,#ff6b6b 100%);border-radius:15px;margin:20px auto 40px;max-width:800px;padding:20px 30px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #ff6b6b4d;position:relative;overflow:hidden;animation:vip-pulse 2s ease-in-out infinite alternate}.vip-banner:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.vip-banner:hover:before{left:100%}.vip-banner:hover{transform:translateY(-3px);box-shadow:0 12px 35px #ff6b6b66}.vip-banner-content{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;gap:20px}.vip-icon{font-size:3rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:vip-crown-bounce 1.5s ease-in-out infinite}.vip-text{flex:1;text-align:center}.vip-title{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:8px;text-shadow:2px 2px 4px rgba(0,0,0,.3);font-family:PingFang SC,Microsoft YaHei,sans-serif}.vip-subtitle{color:#fffffff2;font-size:1rem;text-shadow:1px 1px 2px rgba(0,0,0,.3);line-height:1.4}.vip-arrow{color:#fff;font-size:2rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:vip-arrow-bounce 1s ease-in-out infinite alternate}@keyframes vip-pulse{0%{box-shadow:0 8px 25px #ff6b6b4d}to{box-shadow:0 8px 35px #ff6b6b80}}@keyframes vip-crown-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes vip-arrow-bounce{0%{transform:translate(0)}to{transform:translate(5px)}}.home-tabs{margin-top:30px}.home-tabs .ant-tabs-tab{font-size:16px!important;font-weight:500!important;padding:12px 24px!important}.home-tabs .ant-tabs-tab-active{color:#667eea!important}.home-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg,#667eea,#764ba2)!important;height:3px!important}.home-tabs .ant-tabs-content-holder{padding-top:20px}.content-section{padding:20px 0}@media (max-width: 768px){.hero-title{font-size:24px}.hero-description{font-size:14px}.section-title{font-size:24px}.books-controls{flex-direction:column;align-items:center}.search-box{width:100%;max-width:300px}.vip-banner{margin:15px 20px 30px;padding:15px 20px}.vip-banner-content{flex-direction:column;text-align:center;gap:15px}.vip-icon{font-size:2.5rem}.vip-title{font-size:1.5rem}.vip-subtitle{font-size:.9rem}.vip-arrow{font-size:1.5rem;transform:rotate(90deg)}.home-tabs .ant-tabs-tab{font-size:14px!important;padding:10px 16px!important}}@media (max-width: 480px){.home-tabs .ant-tabs-tab{font-size:13px!important;padding:8px 12px!important}}@media (max-width: 480px){.hero-title{font-size:20px}.hero-description{font-size:13px}.section-title{font-size:22px}.section-title:after{width:60px;height:2px}}.book-reader{display:flex;flex-direction:column;align-items:center;padding:20px;height:auto;position:relative;overflow-x:hidden;overflow-y:auto;background-color:#f8f8f8;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="%23f8f8f8"/><path d="M0,0 L100,100 M20,0 L100,80 M0,20 L80,100 M40,0 L100,60 M0,40 L60,100 M60,0 L100,40 M0,60 L40,100 M80,0 L100,20 M0,80 L20,100" stroke="%23e0ddd1" stroke-width="0.5" stroke-opacity="0.5"/></svg>');background-attachment:fixed;transition:all .3s ease}.time-alert-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:99999;pointer-events:auto}.time-alert-box{background-color:#fff;border-radius:10px;padding:20px;max-width:400px;text-align:center;box-shadow:0 5px 15px #0000004d;animation:pop-in .3s ease-out;position:relative;z-index:99999}.time-alert-box .countdown{font-size:20px;font-weight:700;color:#e74c3c;margin-bottom:15px}.time-alert-box button{background-color:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .2s;position:relative;z-index:100000;pointer-events:auto!important}.book-reader.fullscreen{padding:0;height:100vh;width:100vw;position:fixed;top:0;left:0;z-index:9000;background-color:#f8f8f8}.book-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;padding:0 20px;margin-bottom:20px;transition:opacity .3s ease}.book-header.hidden{opacity:0;pointer-events:none;position:absolute}.header-buttons{display:flex;gap:10px}.book-title{font-size:24px;color:#333;margin:0;text-align:center;flex-grow:1;font-family:Playfair Display,serif}.back-button,.ai-toggle-button,.fullscreen-toggle-button,.page-mode-button{background-color:#3a5a78;color:#fff;border:none;border-radius:4px;padding:8px 15px;cursor:pointer;font-size:14px;transition:background-color .3s,transform .3s}.back-button:hover,.ai-toggle-button:hover,.fullscreen-toggle-button:hover,.page-mode-button:hover{background-color:#2c4760}.ai-toggle-button.active{background-color:#e74c3c}.fullscreen-toggle-button.active{background-color:#27ae60}.page-mode-toggle{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:6px;min-width:80px;justify-content:center}.page-mode-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.page-mode-toggle.single-mode{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.page-mode-toggle.single-mode:hover{box-shadow:0 4px 12px #f093fb66}.page-mode-toggle.double-mode{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.page-mode-toggle.double-mode:hover{box-shadow:0 4px 12px #4facfe66}.page-mode-icon{font-size:16px;line-height:1}.page-mode-text{font-size:12px;font-weight:600}.page-navigation{display:none}.page-jump{display:flex;align-items:center;gap:8px;background-color:#fff3;border-radius:4px;padding:4px 12px;min-width:100px;justify-content:center}.page-input{width:40px;padding:4px 8px;border:none;border-radius:4px;background-color:#ffffff4d;color:#fff;text-align:center;font-size:14px;margin-right:4px;height:28px;line-height:20px;font-family:Playfair Display,serif;box-sizing:border-box}.page-input::-moz-placeholder{color:#fffc}.page-input::placeholder{color:#fffc}.page-total{color:#fff;font-size:14px;margin-left:4px;display:inline-block;min-width:20px;height:28px;line-height:28px;font-family:Playfair Display,serif}.nav-button{background-color:#3a5a78;color:#fff;border:none;cursor:pointer;font-size:16px;transition:transform .3s,background-color .3s;padding:8px 15px;border-radius:4px;opacity:1}.nav-button:hover{background-color:#2c4760;transform:scale(1.1)}.nav-button.active{background-color:#e74c3cb3}.fullscreen-function-buttons{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:10001;background-color:#3a5a78b3;padding:10px;border-radius:8px;opacity:.2;transition:opacity .3s ease}.user-time-info{background-color:#000000b3;color:#fff;padding:8px 12px;border-radius:4px;font-size:.9rem;margin-bottom:10px;text-align:center}.time-warning{color:#ff5252;font-weight:700;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.fullscreen-function-buttons:hover{opacity:1}.book-page{position:relative;width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:10px;background-color:#fffef8;color:#333}.left-page{border-right:1px solid #ddd}.right-page{border-left:1px solid #ddd}.page-number{position:absolute;bottom:10px;font-size:12px;color:#777;font-family:Georgia,serif}.left-page .page-number{left:15px}.right-page .page-number{right:15px}.chapter-title{font-size:18px;font-weight:700;margin-bottom:15px;text-align:center;color:#333;padding-bottom:5px;border-bottom:1px solid #eee}.content-container{flex:1;overflow:auto;padding:5px;font-size:14px;line-height:1.6;max-height:100%;max-width:100%}.content-container::-webkit-scrollbar{width:4px;height:4px}.content-container::-webkit-scrollbar-track{background:rgba(241,241,241,.3)}.content-container::-webkit-scrollbar-thumb{background:rgba(136,136,136,.5);border-radius:4px}.content-container::-webkit-scrollbar-thumb:hover{background:rgba(85,85,85,.7)}.enhanced-markdown{height:100%;width:100%;overflow:auto}.enhanced-markdown h1{font-size:20px;margin-top:0;margin-bottom:15px}.enhanced-markdown h2{font-size:18px;margin-top:15px;margin-bottom:10px}.enhanced-markdown h3{font-size:16px;margin-top:12px;margin-bottom:8px}.enhanced-markdown p{margin-bottom:10px}.enhanced-markdown img{max-width:100%;height:auto;margin:10px auto;display:block}.enhanced-markdown ul,.enhanced-markdown ol{padding-left:20px;margin-bottom:10px}.enhanced-markdown li{margin-bottom:5px}.enhanced-markdown pre{background-color:#f5f5f5;padding:8px;border-radius:4px;overflow-x:auto;margin-bottom:10px}.enhanced-markdown code{font-family:Courier New,monospace;font-size:13px}.enhanced-markdown blockquote{border-left:3px solid #ddd;padding-left:10px;margin-left:0;color:#555}.enhanced-markdown table{border-collapse:collapse;width:100%;margin-bottom:10px}.enhanced-markdown th,.enhanced-markdown td{border:1px solid #ddd;padding:5px 8px;text-align:left}.enhanced-markdown th{background-color:#f5f5f5}.left-page.flipping{transform:rotateY(-180deg);z-index:100;transition:transform .8s cubic-bezier(.645,.045,.355,1);box-shadow:-10px 0 20px #0003}.right-page.flipping{transform:rotateY(180deg);z-index:100;transition:transform .8s cubic-bezier(.645,.045,.355,1);box-shadow:10px 0 20px #0003}.left-page.static,.right-page.static{transform:rotateY(0);z-index:5;transition:none}.page-content{position:relative;width:90%;height:90%;margin:5% auto;overflow:visible;color:#333;font-size:16px;line-height:1.5;text-align:justify;display:flex;flex-direction:column;font-family:Georgia,serif;letter-spacing:.01em;word-spacing:.05em;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="%23f8f5e6"/><path d="M0,0 L100,100 M0,100 L100,0" stroke="%23e0ddd1" stroke-width="0.5" stroke-opacity="0.1"/></svg>');box-shadow:inset 0 0 10px #0000001a}.page-content img{display:block;margin-left:auto;margin-right:auto;max-width:90%;height:auto}.page-text{flex:1;width:100%;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}.page-text>div{text-align:center;margin:0 auto;font-size:16px;max-width:95%;padding-top:8px;width:100%;height:auto;transform-origin:top center;transform:scale(var(--content-scale, 1));max-height:none;overflow:visible}.page-text h1,.page-text h2,.page-text h3{font-size:22px;margin:8px 0;color:#2c3e50}.page-text h2{font-size:20px}.page-text h3{font-size:18px}.page-text p{margin:12px 0;line-height:1.5}.book-image{max-width:90%;height:auto;display:block;border-radius:5px;box-shadow:0 4px 12px #00000026;transition:transform .3s ease;margin:20px auto;text-align:center}.book-image:hover{transform:scale(1.02)}.page-text>div h1,.page-text>div h2,.page-text>div h3,.page-text>div h4,.page-text>div h5,.page-text>div h6{text-align:center}.page-text>div p{text-align:justify}.page-text>div ul,.page-text>div ol{text-align:left;display:inline-block;margin-left:auto;margin-right:auto}.page-text table{width:90%;margin:20px auto;border-collapse:collapse;font-size:16px;box-shadow:0 2px 8px #0000001a;background-color:#fff;border-radius:5px;overflow:hidden}.page-text th{background-color:#f0f0f0;color:#333;font-weight:700;text-align:left;padding:12px 15px;border-bottom:2px solid #ddd}.page-text td{padding:10px 15px;border-bottom:1px solid #eee;text-align:left}.page-text tr:nth-child(2n){background-color:#f9f9f9}.page-text tr:hover{background-color:#f5f5f5}.page-text table caption{caption-side:top;font-style:italic;color:#666;padding:8px;text-align:center}.paper-texture{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.4;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="4" stitchTiles="stitch"/><feColorMatrix type="matrix" values="1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 0.03 0"/></filter><rect width="100" height="100" filter="url(%23noise)"/></svg>');mix-blend-mode:multiply}.page-shadow{position:absolute;top:0;width:20px;height:100%;pointer-events:none}.left-shadow{right:0;background:linear-gradient(to left,rgba(0,0,0,.1),transparent)}.right-shadow{left:0;background:linear-gradient(to right,rgba(0,0,0,.1),transparent)}.book-spine{position:absolute;width:40px;height:100%;left:50%;transform:translate(-50%);background:linear-gradient(to right,#8b4513,#a0522d,#8b4513);border-radius:3px;box-shadow:inset 0 0 5px #00000080,0 0 15px #0000004d;z-index:-1;background-image:linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.1) 0px,transparent 2px);background-size:100% 15px,100% 30px}.ai-listen-button{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background-color:#3a5a78;color:#fff;border:none;border-radius:30px;width:auto;min-width:120px;height:45px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9999;box-shadow:0 0 10px #0003,inset 0 0 3px #0000001a;transition:all .3s ease;font-size:16px;font-weight:700;padding:8px 20px;opacity:.8}.ai-listen-button:hover{background-color:#2c4760;transform:translate(-50%) scale(1.05);opacity:1}.page-turn-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#fffc;border:none;border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 0 10px #0003,inset 0 0 3px #0000001a;transition:all .3s ease;color:#3a5a78;font-size:18px;font-weight:700}.page-turn-btn:hover{background-color:#fffffff2;box-shadow:0 0 15px #0000004d,inset 0 0 5px #0000001a;transform:translateY(-50%) scale(1.05)}.prev-btn{left:10px}.next-btn{right:10px}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;text-align:center;padding:20px}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-left-color:#3a5a78;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:20px}.error-container h2{color:#e74c3c;margin-bottom:15px}.error-container button{margin-top:20px;padding:10px 20px;background-color:#3a5a78;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.error-container button:hover{background-color:#2c4760}@media (max-width: 768px){.book-header{flex-direction:column;gap:10px;margin-bottom:15px}.book-title{font-size:20px;order:1}.back-button{order:2;width:100%}.ai-toggle-button{order:3;width:100%}.ai-assistant-container{width:90%;right:5%;background:transparent!important}.book-page{width:90%;left:5%;border-radius:5px;height:85%;min-width:280px;min-height:350px;top:7.5%}.page-content{font-size:16px;width:90%;margin:5%}.right-page{display:none}.left-page.flipping{transform:translate(100%)}.page-turn-btn{width:35px;height:35px;font-size:14px}.book-spine{display:none}}@media (max-width: 480px){.book-page{width:95%;left:2.5%;height:80%;min-width:250px;min-height:300px;top:10%}.page-content{font-size:14px;width:95%;margin:2.5%}.page-turn-btn{width:30px;height:30px;font-size:12px}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.loading-spinner.small{padding:1rem}.loading-spinner.large{padding:3rem}.loading-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}.spinner{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.book-loading{position:relative;width:60px;height:40px;perspective:200px}.book-page{position:absolute;width:30px;height:40px;background:linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);border:1px solid #ddd;border-radius:2px;transform-origin:left center}.book-page:nth-child(1){left:0;background:linear-gradient(135deg,#fff 0%,#f0f0f0 100%)}.book-page:nth-child(2){left:15px;background:linear-gradient(135deg,#f8f8f8 0%,#e5e5e5 100%)}.book-page:nth-child(3){left:30px;background:linear-gradient(135deg,#f0f0f0 0%,#ddd 100%)}.loading-message{margin:0;color:#666;font-size:14px;text-align:center}.loading-spinner.small .book-loading{width:40px;height:28px}.loading-spinner.small .book-page{width:20px;height:28px}.loading-spinner.small .book-page:nth-child(2){left:10px}.loading-spinner.small .book-page:nth-child(3){left:20px}.loading-spinner.small .loading-message{font-size:12px}.loading-spinner.large .book-loading{width:80px;height:56px}.loading-spinner.large .book-page{width:40px;height:56px}.loading-spinner.large .book-page:nth-child(2){left:20px}.loading-spinner.large .book-page:nth-child(3){left:40px}.loading-spinner.large .loading-message{font-size:16px}@media (max-width: 768px){.loading-spinner{padding:1.5rem}.loading-message{font-size:13px}}.realistic-book-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:auto;padding:20px;position:relative;overflow-x:hidden;overflow-y:auto}.realistic-book-container.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background-color:#f5f5f5f2;min-height:100vh}.realistic-book{position:relative;margin:0 auto;perspective:2000px;transform-style:preserve-3d;width:80%;max-width:800px;max-height:80vh;min-height:500px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.flip-book{box-shadow:0 0 20px #0003;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden}.page{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23f0f0f0' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E");color:#333;border-radius:4px;box-shadow:0 0 5px #0000001a;overflow:hidden}.page-content{padding:15px;height:100%;width:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;margin-top:-6px}.page .content-container{flex:1;width:100%;height:100%;overflow:auto;font-size:14px;line-height:1.5;padding-top:5px}.page-content .book-page{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.page-content .markdown-content{width:100%;height:100%;overflow:auto;padding:0;margin:0}.page-content p,.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content ul,.page-content ol{margin-bottom:10px}.page-content p{margin:0 0 10px;line-height:1.5}.page-content img{max-width:100%;height:auto;display:block;margin:10px auto}.page-cover{background-color:#01060f;color:#fff;box-shadow:inset 0 0 30px #00000080,0 0 8px #0006}.page-cover-front{background-image:linear-gradient(145deg,#01060f 0%,#052659 100%)}.page-cover-back{background-image:linear-gradient(315deg,#01060f 0%,#052659 100%)}.page-cover .page-content{justify-content:center;align-items:center;text-align:center}.page-cover h2{font-size:2rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.page-cover p{font-size:1.2rem;font-style:italic;margin-top:10px}.cover-decoration{width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);margin:20px 0}.book-spine{position:absolute;top:0;bottom:0;left:50%;width:2px;background-color:#333;box-shadow:0 0 5px #0000004d;z-index:1}.bookmark{position:absolute;top:-10px;right:20px;width:30px;height:80px;background-color:#e74c3c;border-radius:0 0 15px 15px;box-shadow:0 2px 5px #0003;z-index:2}.reading-progress{position:absolute;top:0;left:0;height:4px;background-color:#3498db;transition:width .3s ease;z-index:1500}.boundary-alert{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000000b3;color:#fff;padding:10px 20px;border-radius:5px;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10}.boundary-alert.show{opacity:1}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.book-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.last-position-prompt{position:absolute;top:20px;left:50%;transform:translate(-50%);background-color:#fff;border:1px solid #ddd;border-radius:5px;padding:10px 20px;box-shadow:0 2px 10px #0000001a;z-index:5;display:flex;flex-direction:column;align-items:center}.continue-button{margin-top:10px;padding:5px 15px;background-color:#3498db;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background-color .2s ease}.continue-button:hover{background-color:#2980b9}.chapter-navigation{display:flex;flex-wrap:wrap;justify-content:center;margin-top:20px;gap:10px}.chapter-button{padding:8px 15px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:3px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.chapter-button:hover{background-color:#e5e5e5}.chapter-button.active{background-color:#3498db;color:#fff;border-color:#2980b9}@media (max-width: 768px){.realistic-book-container{padding:10px}.page-cover h2{font-size:1.5rem}.chapter-navigation{flex-direction:column;align-items:center}.chapter-button{width:100%;max-width:300px}}.theme-fresh-blue .page{background-color:#f0f8ff}.theme-fresh-blue .page-cover-front,.theme-fresh-blue .page-cover-back{background-image:linear-gradient(145deg,#1a5276 0%,#3498db 100%)}.theme-fresh-blue .reading-progress{background-color:#3498db}.theme-morning-yellow .page{background-color:#fffbeb}.theme-morning-yellow .page-cover-front,.theme-morning-yellow .page-cover-back{background-image:linear-gradient(145deg,#7d6608 0%,#f1c40f 100%)}.theme-morning-yellow .reading-progress{background-color:#f1c40f}.theme-soft-green .page{background-color:#f0fff4}.theme-soft-green .page-cover-front,.theme-soft-green .page-cover-back{background-image:linear-gradient(145deg,#186a3b 0%,#2ecc71 100%)}.theme-soft-green .reading-progress{background-color:#2ecc71}.single-mode{max-width:100%;margin:0 auto;padding:10px;background-color:#f8f9fa;height:100vh;display:flex;flex-direction:column}.single-mode .single-page-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:1200px;width:95%;margin:0 auto;position:relative;box-shadow:0 4px 25px #00000026;border-radius:8px;background-color:#fff;transition:all .3s ease;height:calc(100vh - 80px);min-height:500px;overflow:hidden;transform-style:preserve-3d;perspective:1200px;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:1}.single-mode .single-page-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.03) 0%,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,.03) 100%);z-index:2;opacity:0;transition:opacity .3s ease}.single-mode .single-page-wrapper:hover:after{opacity:1}@keyframes pageFlipLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-30px);opacity:0}}@keyframes pageFlipRight{0%{transform:translate(0);opacity:1}to{transform:translate(30px);opacity:0}}@keyframes pageEnterLeft{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pageEnterRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.single-mode .page-flip-prev{animation:pageFlipLeft .3s ease-out forwards}.single-mode .page-flip-next{animation:pageFlipRight .3s ease-out forwards}.single-mode .page-enter-prev{animation:pageEnterRight .3s ease-out forwards}.single-mode .page-enter-next{animation:pageEnterLeft .3s ease-out forwards}.single-mode .book-page{width:100%;height:100%;padding:25px 40px;box-sizing:border-box;overflow-y:auto;background-color:#fff;background-image:linear-gradient(90deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,0) 3%);animation:fadeIn .4s ease-out;line-height:1.6;font-size:16px}.single-mode .page-control-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.single-mode .page-controls{position:absolute;bottom:20px;width:100%;display:flex;justify-content:space-between;padding:0 50px;box-sizing:border-box;z-index:10}.single-mode .page-control-button{width:44px;height:44px;border-radius:50%;background-color:#ffffffe6;border:1px solid #ddd;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 5px #0000001a;position:relative;overflow:hidden;font-size:18px}.single-mode .page-control-button:hover:not(:disabled){background-color:#fff;box-shadow:0 3px 10px #0003;transform:translateY(-3px) scale(1.05)}.single-mode .page-control-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 1px 3px #0000001a}.single-mode .page-control-button:after{content:"";position:absolute;width:100%;height:100%;background:rgba(255,255,255,.7);border-radius:50%;opacity:0;transform:scale(0);transition:all .3s}.single-mode .page-control-button:active:after{opacity:1;transform:scale(1.5);transition:0s}.single-mode .page-number{position:absolute;bottom:25px;width:100%;text-align:center;font-size:15px;color:#666;font-style:italic}.single-mode .chapter-title{font-size:1.2rem;color:#333;margin-bottom:20px;font-weight:500;border-bottom:1px solid #eee;padding-bottom:10px}.single-mode .page-control-button{width:40px;height:40px;border-radius:50%;background-color:#fffc;border:1px solid #ddd;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 5px #0000001a}.single-mode .page-control-button:hover{background-color:#fff;box-shadow:0 3px 8px #00000026}.theme-fresh-blue .single-page-wrapper{background-color:#f0f8ff}.theme-morning-yellow .single-page-wrapper{background-color:#fffbeb}.theme-soft-green .single-page-wrapper{background-color:#f0fff4}@media (max-width: 768px){.single-mode .single-page-wrapper{max-width:100%;width:98%;height:calc(100vh - 60px);margin:0 auto;box-shadow:0 2px 15px #0000001a;border-radius:4px}.single-mode .book-page{padding:15px 20px;font-size:15px}.single-mode .page-controls{padding:0 15px;bottom:15px}.single-mode .page-control-button{width:36px;height:36px}}.single-mode .page{width:100%;height:100%;background-color:#fff;display:flex;flex-direction:column;overflow:hidden;position:relative;flex:1;max-width:100%;border-radius:8px}.single-mode .page-content{flex:1;display:flex;flex-direction:column;overflow:auto;padding:0;width:100%;height:100%}.single-mode .content-container{flex:1;overflow:auto;padding:0;width:100%}.empty-page-message{display:flex;justify-content:center;align-items:center;height:100%;width:100%;font-size:18px;color:#666;text-align:center;padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:inset 0 0 10px #0000000d;animation:fadeIn .5s ease-out}:root{--svg-light-color: #ffffff;--svg-dark-color: #333333;--svg-accent-color: #3b82f6;--svg-text-color: currentColor;--svg-background-color: transparent}.enhanced-markdown{--svg-text-color: currentColor}.dark-theme .enhanced-markdown{--svg-light-color: #ffffff;--svg-dark-color: #222222;--svg-text-color: #ffffff}.enhanced-markdown{line-height:1.6;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.enhanced-markdown h1,.enhanced-markdown h2,.enhanced-markdown h3,.enhanced-markdown h4,.enhanced-markdown h5,.enhanced-markdown h6{margin:1.5em 0 .5em;font-weight:600;line-height:1.3;color:#2d3748}.enhanced-markdown h1{font-size:2.25em;border-bottom:2px solid #e2e8f0;padding-bottom:.3em}.enhanced-markdown h2{font-size:1.875em;border-bottom:1px solid #e2e8f0;padding-bottom:.3em}.enhanced-markdown h3{font-size:1.5em}.enhanced-markdown h4{font-size:1.25em}.enhanced-markdown h5{font-size:1.125em}.enhanced-markdown h6{font-size:1em;color:#718096}.enhanced-markdown p{margin:1em 0;text-align:justify}.enhanced-markdown strong,.enhanced-markdown b{font-weight:600;color:#2d3748}.enhanced-markdown em,.enhanced-markdown i{font-style:italic;color:#4a5568}.enhanced-markdown .markdown-link{color:#3182ce;text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.enhanced-markdown .markdown-link:hover{color:#2c5282;border-bottom-color:#3182ce}.enhanced-markdown .markdown-image{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:transform .2s ease}.enhanced-markdown .markdown-image:hover{transform:scale(1.02)}.enhanced-markdown .svg-image{background:transparent;padding:1rem;border:1px solid #e2e8f0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.enhanced-markdown svg{max-width:100%;height:auto;display:block;margin:1rem auto;background:transparent}.enhanced-markdown .svg-container{max-width:100%;overflow:auto;padding:1rem;margin:1.5rem 0;background:transparent;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000000d}.enhanced-markdown .svg-direct{padding:0;display:flex;justify-content:center;align-items:center;background:transparent;border:none;box-shadow:none;width:100%;overflow:visible}.enhanced-markdown .svg-direct svg{max-width:100%;height:auto;margin:0 auto;display:block;background-color:var(--svg-background-color, transparent)!important}.enhanced-markdown .svg-direct svg text:not([fill]),.enhanced-markdown .svg-direct svg tspan:not([fill]){fill:var(--svg-text-color, currentColor);stroke:none;font-family:inherit}.enhanced-markdown .svg-direct svg [fill="#000"],.enhanced-markdown .svg-direct svg [fill=black],.enhanced-markdown .svg-direct svg [fill="#000000"],.enhanced-markdown .svg-direct svg [stroke="#000"],.enhanced-markdown .svg-direct svg [stroke=black],.enhanced-markdown .svg-direct svg [stroke="#000000"]{fill:var(--svg-text-color, currentColor);stroke:var(--svg-text-color, currentColor)}.enhanced-markdown .svg-direct svg [fill="#fff"],.enhanced-markdown .svg-direct svg [fill="#ffffff"],.enhanced-markdown .svg-direct svg [fill=white],.enhanced-markdown .svg-direct svg [stroke="#fff"],.enhanced-markdown .svg-direct svg [stroke="#ffffff"],.enhanced-markdown .svg-direct svg [stroke=white]{fill:var(--svg-light-color, #ffffff);stroke:var(--svg-light-color, #ffffff)}.enhanced-markdown .svg-direct svg text[fill="#fff"],.enhanced-markdown .svg-direct svg text[fill="#ffffff"],.enhanced-markdown .svg-direct svg text[fill=white],.enhanced-markdown .svg-direct svg tspan[fill="#fff"],.enhanced-markdown .svg-direct svg tspan[fill="#ffffff"],.enhanced-markdown .svg-direct svg tspan[fill=white]{fill:var(--svg-light-color, #ffffff);stroke:none}.enhanced-markdown .svg-container svg{margin:0 auto}.enhanced-markdown svg text:not([fill]),.enhanced-markdown svg tspan:not([fill]){fill:var(--svg-text-color, currentColor);font-family:inherit}.enhanced-markdown svg path:not([fill]),.enhanced-markdown svg line:not([stroke]),.enhanced-markdown svg circle:not([stroke]):not([fill]),.enhanced-markdown svg rect:not([stroke]):not([fill]),.enhanced-markdown svg polygon:not([stroke]):not([fill]){stroke:var(--svg-text-color, currentColor)}.enhanced-markdown svg [fill=none]{fill:none}.enhanced-markdown svg [stroke=none]{stroke:none}.enhanced-markdown code{background:#f7fafc;color:#e53e3e;padding:.2em .4em;border-radius:4px;font-family:SFMono-Regular,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875em}.enhanced-markdown .code-block{background:#2d3748;color:#e2e8f0;padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;box-shadow:0 4px 6px -1px #0000001a}.enhanced-markdown .code-block code{background:transparent;color:inherit;padding:0;border-radius:0;font-size:.875em;line-height:1.5}.enhanced-markdown .markdown-blockquote{border-left:4px solid #3182ce;background:#f7fafc;margin:1.5rem 0;padding:1rem 1.5rem;border-radius:0 8px 8px 0;font-style:italic;color:#4a5568}.enhanced-markdown .markdown-blockquote p{margin:.5rem 0}.enhanced-markdown .markdown-list{margin:1rem 0;padding-left:2rem}.enhanced-markdown .markdown-list li{margin:.5rem 0;line-height:1.6}.enhanced-markdown ul.markdown-list{list-style-type:disc}.enhanced-markdown ol.markdown-list{list-style-type:decimal}.enhanced-markdown .markdown-list .markdown-list{margin:.25rem 0}.enhanced-markdown .table-wrapper{overflow-x:auto;margin:1.5rem 0;border-radius:8px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.enhanced-markdown .markdown-table{width:100%;border-collapse:collapse;background:white}.enhanced-markdown .markdown-table th,.enhanced-markdown .markdown-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.enhanced-markdown .markdown-table th{background:#f7fafc;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.enhanced-markdown .markdown-table tr:hover{background:#f7fafc}.enhanced-markdown hr{border:none;height:2px;background:linear-gradient(to right,transparent,#e2e8f0,transparent);margin:2rem 0}.enhanced-markdown .katex{font-size:1.1em}.enhanced-markdown .katex-display{margin:1.5rem 0;text-align:center}.enhanced-markdown .katex-display .katex{font-size:1.2em}.enhanced-markdown .error{color:#e53e3e;background:#fed7d7;padding:1rem;border-radius:8px;border:1px solid #feb2b2;margin:1rem 0}@media (max-width: 768px){.enhanced-markdown{font-size:.9em}.enhanced-markdown h1{font-size:1.875em}.enhanced-markdown h2{font-size:1.5em}.enhanced-markdown .code-block{padding:1rem;font-size:.8em}.enhanced-markdown .markdown-table th,.enhanced-markdown .markdown-table td{padding:.5rem;font-size:.875em}}@media print{.enhanced-markdown{color:#000}.enhanced-markdown .markdown-link{color:#000;text-decoration:underline}.enhanced-markdown .code-block{background:#f5f5f5;color:#000;border:1px solid #ddd}.enhanced-markdown .markdown-image{box-shadow:none;border:1px solid #ddd}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:#f8f9fa;border-radius:8px;margin:1rem}.error-content{text-align:center;max-width:500px;padding:2rem;background:white;border-radius:12px;box-shadow:0 4px 6px #0000001a;border:1px solid #e9ecef}.error-content h2{color:#dc3545;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.error-content p{color:#6c757d;margin-bottom:1.5rem;line-height:1.5}.error-details{margin:1.5rem 0;text-align:left}.error-details summary{cursor:pointer;color:#007bff;font-weight:500;margin-bottom:.5rem;outline:none}.error-details summary:hover{color:#0056b3}.error-stack{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;padding:1rem;font-family:Courier New,monospace;font-size:12px;color:#495057;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.retry-button,.reload-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.retry-button{background-color:#007bff;color:#fff}.retry-button:hover{background-color:#0056b3;transform:translateY(-1px)}.reload-button{background-color:#6c757d;color:#fff}.reload-button:hover{background-color:#545b62;transform:translateY(-1px)}.retry-button:active,.reload-button:active{transform:translateY(0)}@media (max-width: 768px){.error-boundary{padding:1rem;min-height:300px}.error-content{padding:1.5rem;margin:0}.error-content h2{font-size:1.25rem}.error-actions{flex-direction:column;align-items:center}.retry-button,.reload-button{width:100%;max-width:200px}.error-stack{font-size:11px;max-height:150px}}@media (prefers-color-scheme: dark){.error-boundary{background-color:#1a1a1a}.error-content{background:#2d2d2d;border-color:#404040;color:#e9ecef}.error-content p{color:#adb5bd}.error-stack{background-color:#1a1a1a;border-color:#404040;color:#adb5bd}}.ai-assistant-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1500;background:transparent!important;background-color:transparent!important;border:none;outline:none;overflow:visible;pointer-events:none;box-shadow:none;transition:none!important;animation:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1}.ai-assistant-container.hidden{display:none!important;pointer-events:none}.ai-assistant-iframe-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;background:transparent!important;z-index:1500}.ai-assistant-frame{position:fixed;left:16px;bottom:16px;width:220px;height:130px;pointer-events:auto;z-index:2000;display:flex;flex-direction:column;align-items:center}.ai-assistant-iframe{width:220px;height:130px;border:none!important;outline:none!important;background:transparent!important;background-color:transparent!important;box-shadow:0 4px 20px #0000001a!important;border-radius:24px;transition:all .3s ease;overflow:visible;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ai-assistant-iframe.expanded{width:280px;height:400px;border-radius:16px}.ai-assistant-controls{position:absolute;top:-20px;left:0;right:0;transform:translateY(0);display:flex;justify-content:space-between;width:100%;padding:0 10px;box-sizing:border-box;z-index:2001;pointer-events:none}.ai-control-button{width:40px;height:40px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #00000026;pointer-events:auto;margin:0 -20px}.ai-control-button.ai-close-button{background-color:#e74c3c}.ai-control-button.ai-close-button:hover{background-color:#c0392b;transform:scale(1.08)}.ai-control-button.ai-close-button span{color:#fff;font-size:18px}.ai-control-button.ai-send-button{background-color:#4a90e2}.ai-control-button.ai-send-button:hover{background-color:#3a7bc8;transform:scale(1.08)}.ai-control-button.ai-send-button span{color:#fff;font-size:18px}.ai-error-fallback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:350px;height:auto;background-color:transparent!important;border:none!important;outline:none!important;border-radius:12px;pointer-events:auto;overflow:hidden;z-index:2000;box-shadow:none!important;transition:none!important;animation:none!important}.ai-error-message{padding:10px;text-align:center;background-color:transparent!important;border:none!important;outline:none!important;box-shadow:none!important}.ai-error-message h3{margin-top:0;color:#e74c3c;font-size:16px;opacity:.8;text-shadow:0 0 2px white}.ai-error-message p{margin:5px 0 10px;color:#555;font-size:12px;opacity:.8}.ai-error-message button{background-color:#3498dbcc;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:none;box-shadow:none;outline:none}.ai-error-message button:hover{background-color:#2980b9}@media (max-width: 768px){.ai-assistant-frame{left:12px;bottom:12px}.ai-assistant-iframe{width:200px}.ai-assistant-iframe.expanded{width:90vw;max-width:360px;height:50vh;max-height:480px}.ai-error-fallback{width:90%;right:5%;bottom:10px}}.book-controls{position:fixed;top:20px;right:20px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.circle-button{background-color:#fffc;border:1px solid #ddd;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 5px #0000001a;transition:all .3s ease}.circle-button.time-button{width:auto;border-radius:20px;padding:0 12px;position:relative;overflow:hidden;display:flex;align-items:center;gap:3px;background-color:#fffc}.circle-button.time-button .button-icon{font-size:16px}.circle-button.time-button .time-display{font-size:13px;font-weight:700;color:#333;margin-left:-2px}.circle-button.time-button[title*="0.0"] .time-display,.circle-button.time-button[title*="0.1"] .time-display,.circle-button.time-button.time-warning .time-display{color:#e74c3c}.circle-button.time-button.time-warning{animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 #e74c3c66}70%{box-shadow:0 0 0 6px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.circle-button:hover{background-color:#f0f0f0;transform:scale(1.05)}.circle-button.active{background-color:#4a90e2;color:#fff}.button-icon{font-size:20px}.settings-panel,.knowledge-points-panel{position:absolute;top:45px;right:0;width:300px;background-color:#fff;border-radius:10px;box-shadow:0 4px 15px #00000026;overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-header,.knowledge-points-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #eee;background-color:#f9f9f9}.settings-header h3,.knowledge-points-header h3{margin:0;font-size:16px;color:#333}.close-settings,.close-knowledge-points{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.close-settings:hover,.close-knowledge-points:hover{background-color:#eee;color:#333}.settings-content,.knowledge-points-content{padding:15px;max-height:70vh;overflow-y:auto}.setting-group{margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-group h4{margin:0 0 10px;font-size:14px;color:#555}.theme-options{display:flex;gap:10px;flex-wrap:wrap}.theme-option{display:flex;flex-direction:column;align-items:center;background:none;border:2px solid transparent;border-radius:8px;padding:5px;cursor:pointer;transition:all .2s ease}.theme-option.active{border-color:#4a90e2}.theme-preview{width:40px;height:40px;border-radius:6px;margin-bottom:5px}.theme-option span{font-size:12px;color:#666}.fresh-blue{background:linear-gradient(135deg,#e0f7fa,#80deea,#4dd0e1)}.morning-yellow{background:linear-gradient(135deg,#fff9c4,#fff59d,#fff176)}.soft-green{background:linear-gradient(135deg,#dcedc8,#c5e1a5,#aed581)}.option-buttons{display:flex;gap:8px;flex-wrap:wrap}.option-button{padding:6px 12px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s ease;color:#555}.option-button:hover{background-color:#eee}.option-button.active{background-color:#4a90e2;border-color:#3a80d2;color:#fff}.slider{width:100%;height:5px;border-radius:5px;background:#ddd;outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#4a90e2;cursor:pointer}.slider::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#4a90e2;cursor:pointer;border:none}.knowledge-point-button:hover{background-color:#eaeaea;border-color:#ccc}.knowledge-points-list{list-style:none;padding:0;margin:0}.knowledge-point-item{margin-bottom:8px}.knowledge-point-button{display:block;width:100%;text-align:left;padding:10px 15px;background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#333}.fullscreen-function-buttons{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;z-index:1100;background-color:transparent;border:none;box-shadow:none}.user-time-info{background-color:#fffc;border-radius:5px;padding:8px 12px;margin-bottom:10px;box-shadow:0 2px 5px #0000001a;font-size:14px}.time-warning{color:#e74c3c}@media (max-width: 768px){.settings-panel,.knowledge-points-panel{width:280px}.theme-option{padding:3px}.theme-preview{width:30px;height:30px}}.page-nav-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:500px;max-height:80vh;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:2500;display:flex;flex-direction:column;overflow:hidden}.page-nav-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #4a90e2;background-color:#4a90e2;border-top-left-radius:12px;border-top-right-radius:12px}.page-nav-header h3{margin:0;font-size:18px;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.close-nav-button{background:rgba(255,255,255,.2);border:none;border-radius:50%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;font-size:20px;cursor:pointer;color:#fff;transition:all .2s ease}.close-nav-button:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.page-nav-content{flex:1;overflow-y:auto;padding:10px 0}.page-nav-list{list-style:none;padding:0;margin:0}.page-nav-item{display:flex;align-items:center;padding:12px 20px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.page-nav-item:hover{background-color:#f5f5f5}.page-nav-item.active{background-color:#e8f4ff;border-left:4px solid #4a90e2}.page-nav-number{display:flex;justify-content:center;align-items:center;min-width:30px;height:30px;border-radius:50%;background-color:#4a90e2;color:#fff;font-weight:700;margin-right:15px}.page-nav-title{flex:1;color:#333;font-size:16px}.page-display{font-size:16px;font-weight:700;color:#333;margin-right:5px}.page-nav-button{margin-left:10px;background-color:#4a90e2;color:#fff;border-radius:20px;padding:8px 15px;font-weight:500;border:none;box-shadow:0 2px 5px #0000001a}.page-navigation{display:flex;justify-content:center;align-items:center;width:100%;max-width:600px;margin:0 auto}.time-alert-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.time-alert-box{background-color:#fff;border-radius:10px;padding:20px;max-width:400px;text-align:center;box-shadow:0 5px 15px #0000004d;animation:pop-in .3s ease-out}@keyframes pop-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.time-alert-box p{font-size:18px;margin-bottom:15px;color:#333;line-height:1.5}.time-alert-box button{background-color:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .2s}.time-alert-box button:hover{background-color:#2980b9}.course-list{padding:20px 0;min-height:calc(100vh - 120px);background-color:#f5f5f5}.course-header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.header-left{display:flex;align-items:center}.back-button{background-color:#3a5a78;color:#fff;border:none;padding:8px 15px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s;margin-right:20px}.back-button:hover{background-color:#2c4760}.book-title{font-size:24px;margin:0;color:#fff;flex-grow:1}.book-info-section{display:flex;margin-bottom:40px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.book-cover{width:180px;height:250px;position:relative;margin-right:30px;perspective:1000px;transform-style:preserve-3d;transition:transform .5s;flex-shrink:0;background-color:#3a5a78;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:5px;box-shadow:0 10px 20px #0003}.book-spine{position:absolute;left:0;top:0;width:20px;height:100%;background-color:#2c4760;transform-origin:left;transform:rotateY(30deg);border-radius:3px 0 0 3px}.book-cover .book-title{padding:20px;text-align:center;font-size:18px;transform:translateZ(10px);word-break:break-word;color:#fff}.book-description{flex-grow:1}.book-description h2{font-size:20px;margin-top:0;margin-bottom:15px;color:#333}.book-summary{line-height:1.6;color:#555;max-height:200px;overflow-y:auto;padding-right:10px}.book-summary img{display:block;margin-left:auto;margin-right:auto;max-width:90%;height:auto}.courses-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.section-title{font-size:20px;margin-top:0;margin-bottom:20px;color:#333;border-bottom:2px solid #3a5a78;padding-bottom:10px}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.course-card{background-color:#f9f9f9;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000000d;transition:transform .3s,box-shadow .3s;cursor:pointer;display:flex;flex-direction:column;height:100%;min-height:180px}.course-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.course-title{font-size:18px;font-weight:600;margin-bottom:10px;color:#2c4760}.course-metadata{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px;font-size:14px;color:#777}.course-date,.course-author{background-color:#eef2f7;padding:3px 8px;border-radius:4px}.course-summary{color:#666;margin-bottom:15px;flex-grow:1;font-size:14px}.course-action{color:#3a5a78;font-weight:600;margin-top:auto;text-align:right;transition:color .3s}.course-card:hover .course-action{color:#e74c3c}.single-course{max-width:600px;margin:0 auto}.no-courses{text-align:center;padding:30px;color:#777;font-style:italic}.loading-container,.error-container{text-align:center;padding:50px 20px}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #3a5a78;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}.ai-assistant-info{margin-top:20px;padding:12px 15px;background-color:#f2f7fd;border-left:4px solid #4a90e2;border-radius:4px;font-size:.9rem}.ai-assistant-info p{margin:0;color:#2c3e50;line-height:1.5}.ai-assistant-info strong{color:#2980b9}@media (max-width: 768px){.book-info-section{flex-direction:column}.book-cover{margin:0 auto 20px}.courses-grid{grid-template-columns:1fr}}.login-container{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite;overflow:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.background-decoration{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.floating-book{position:absolute;color:#ffffff1a;animation:float 6s ease-in-out infinite}.floating-book-1{top:20%;left:10%;animation-delay:0s}.floating-book-2{top:60%;right:15%;animation-delay:2s}.floating-book-3{bottom:20%;left:20%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.login-card{position:relative;width:100%;max-width:420px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px #0000001a,0 0 0 1px #fff3;overflow:hidden;animation:cardSlideIn .8s ease-out}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;padding:2.5rem 2rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;position:relative}.login-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.logo-container{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.logo-icon{width:48px;height:48px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.logo-text{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(45deg,#fff,#f0f8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-text{margin:0;font-size:.95rem;opacity:.9;font-weight:300}.login-form{padding:2rem}.form-group{margin-bottom:1.5rem}.remember-credentials{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;font-size:.9rem;color:#4b5563}.remember-credentials label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.remember-credentials input{width:16px;height:16px;accent-color:#667eea}.remember-hint{font-size:.8rem;color:#6d28d9}.form-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.9rem}.input-wrapper{position:relative}.form-input{width:100%;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;background:#fafafa;transition:all .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;background:white;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-input::-moz-placeholder{color:#9ca3af;font-weight:400}.form-input::placeholder{color:#9ca3af;font-weight:400}.password-input{padding-right:3rem}.password-toggle{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;padding:.25rem;transition:color .2s ease}.password-toggle:hover,.password-toggle:focus-visible{color:#4c1d95}.password-toggle:focus-visible{outline:2px solid rgba(102,126,234,.4);border-radius:999px}.login-button{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.login-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}.login-button:hover:before{left:100%}.login-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.login-button:active{transform:translateY(0)}.login-button:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.login-button:disabled:before{display:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-left:.5rem}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border:1px solid #f87171;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:1rem}.login-footer{padding:1.5rem 2rem 2rem;text-align:center;background:linear-gradient(to bottom,transparent,rgba(102,126,234,.05))}.footer-decoration{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#6b7280;font-size:.85rem;font-weight:500}.footer-decoration svg{color:#667eea;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.additional-links{display:flex;justify-content:center;margin-top:1.5rem;font-size:.9rem}.additional-links .link{color:#667eea;text-decoration:none;transition:color .2s ease}.additional-links .link:hover{color:#764ba2;text-decoration:underline}@media (max-width: 480px){.login-container{padding:1rem}.login-card{max-width:100%;margin:0}.login-header{padding:2rem 1.5rem 1.5rem}.login-form{padding:1.5rem}.logo-text{font-size:1.75rem}}.user-info{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-radius:12px;text-align:center;border:1px solid #bae6fd}.available-hours{font-weight:700;color:#0369a1;font-size:1.2rem}.verification-code-group{display:flex;align-items:center;gap:10px}.verification-code-group input{flex:1}.send-code-button{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;white-space:nowrap;transition:all .3s ease}.send-code-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #667eea33}.send-code-button:disabled{background:#d1d5db;cursor:not-allowed;transform:none;box-shadow:none}.success-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:1px solid #34d399;border-radius:8px;color:#059669;font-size:.9rem;margin-bottom:1rem;animation:errorSlideIn .3s ease-out}.back-button{margin-top:1rem;padding:.75rem 1.25rem;background:#e5e7eb;color:#4b5563;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#d1d5db}.back-button:disabled{opacity:.7;cursor:not-allowed}.config-manager{background:white;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:83vw;max-width:1200px;height:85vh;max-height:85vh;margin-top:120px;margin-bottom:30px;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out;resize:both;position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.config-manager-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.config-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0;box-shadow:0 4px 20px #0000001a;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.config-header h2{margin:0;font-size:24px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.2)}.close-btn{background:rgba(255,255,255,.2);border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.error-message{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;padding:16px 32px;margin:0;border:none;font-weight:500;box-shadow:0 4px 12px #ff6b6b4d}.success-message{background:linear-gradient(135deg,#51cf66,#40c057);color:#fff;padding:16px 32px;margin:0;border:none;font-weight:500;box-shadow:0 4px 12px #51cf664d}.config-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-navigation{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:0 32px}.tab-btn{background:none;border:none;padding:16px 24px;font-size:16px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.tab-btn:hover{color:#3b82f6;background:rgba(59,130,246,.05)}.tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;background:white}.templates-tab,.configs-tab{flex:1;padding:32px;overflow-y:auto;background:#f8fafc}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.tab-header h3{margin:0;font-size:20px;font-weight:600;color:#1e293b}.tab-header p{margin:0;color:#64748b;font-size:14px}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;text-decoration:none;box-shadow:0 2px 8px #0000001a}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#4b5563,#374151)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.templates-grid,.configs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-top:24px}.template-categories-wrapper{display:flex;flex-direction:column;gap:20px;width:100%}.template-category{background:#f8f9fa;border-radius:8px;padding:16px;border:1px solid #e2e8f0}.category-title{font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e2e8f0}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.no-templates{padding:20px;text-align:center;color:#64748b;background:#f1f5f9;border-radius:8px;font-style:italic}.templates-container{flex:1;overflow-y:auto;padding-bottom:20px}.template-card,.config-card{background:white;border-radius:12px;padding:24px;box-shadow:0 4px 20px #00000014;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.template-card:hover,.config-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f;border-color:#3b82f6}.template-card:before,.config-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.global-default-template{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 50%,#fbbf24 100%);border:2px solid #f59e0b;box-shadow:0 8px 32px #f59e0b40}.global-default-template:before{background:linear-gradient(90deg,#f59e0b,#d97706);height:6px}.global-default-template:hover{transform:translateY(-6px);box-shadow:0 12px 40px #f59e0b59;border-color:#d97706}.global-default-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #f59e0b4d;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 2px 8px #f59e0b4d}50%{box-shadow:0 4px 16px #f59e0b80}to{box-shadow:0 2px 8px #f59e0b4d}}.template-info,.config-info{margin-bottom:20px}.template-info h4,.config-info h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#1e293b}.template-info p,.config-info p{margin:0 0 16px;color:#64748b;line-height:1.5}.template-meta,.config-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.template-type{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.template-type.system{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.template-type.custom{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.config-date,.config-custom{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569}.config-custom{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.template-actions,.config-actions{display:flex;gap:8px;flex-wrap:wrap}.template-actions .btn,.config-actions .btn{padding:8px 16px;font-size:12px;flex:1;min-width:80px;justify-content:center}.no-configs{text-align:center;padding:60px 20px;background:white;border-radius:12px;border:2px dashed #cbd5e1;color:#64748b}.no-configs p{margin:0;font-size:16px}.template-editor{flex:1;display:flex;flex-direction:column;background:#f8fafc}.editor-header{background:white;padding:24px 32px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.editor-header h3{margin:0;font-size:20px;font-weight:600;color:#1e293b}.editor-actions{display:flex;gap:12px}.editor-content{flex:1;padding:32px;overflow-y:auto;min-height:0;max-height:calc(90vh - 200px);display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-section{background:white;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 12px #0000000d;border:1px solid #e2e8f0}.form-section h4{margin:0 0 20px;font-size:18px;font-weight:600;color:#1e293b;padding-bottom:12px;border-bottom:2px solid #f1f5f9}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .3s ease;background:white}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=checkbox]{width:auto;margin-right:8px}.separators-list{display:flex;flex-direction:column;gap:12px}.title-pagination-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s ease}.checkbox-label:hover{background-color:#3b82f60d}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.separator-item{display:flex;gap:12px;align-items:center;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.separator-item select,.separator-item input{flex:1;margin:0}.separator-item button{padding:8px 12px;font-size:12px;min-width:auto}@media (max-width: 768px){.config-manager{width:98vw;height:95vh;max-height:95vh;border-radius:12px}.config-header{padding:16px 20px}.config-header h2{font-size:20px}.templates-tab,.configs-tab{padding:20px}.templates-grid,.configs-grid{grid-template-columns:1fr;gap:16px}.tab-navigation{padding:0 20px}.tab-btn{padding:12px 16px;font-size:14px}.editor-content{padding:20px;max-height:calc(95vh - 180px);display:block}.form-section{padding:16px}}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.template-card,.config-card{animation:cardFadeIn .5s ease-out}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.templates-tab::-webkit-scrollbar,.configs-tab::-webkit-scrollbar,.editor-content::-webkit-scrollbar{width:8px}.templates-tab::-webkit-scrollbar-track,.configs-tab::-webkit-scrollbar-track,.editor-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.templates-tab::-webkit-scrollbar-thumb,.configs-tab::-webkit-scrollbar-thumb,.editor-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.templates-tab::-webkit-scrollbar-thumb:hover,.configs-tab::-webkit-scrollbar-thumb:hover,.editor-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.course-editor-container{max-width:1200px;margin:0 auto;padding:20px}.editor-header{display:flex;align-items:center;margin-bottom:20px}.back-button{padding:8px 16px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-right:15px}.back-button:hover{background-color:#e0e0e0}.editor-header h1{flex:1;margin:0;color:#333}.actions{display:flex;gap:10px}.preview-button,.save-button{padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500}.preview-button{background-color:#f5f5f5;border:1px solid #ddd}.preview-button:hover{background-color:#e0e0e0}.preview-button.active{background-color:#e3f2fd;border-color:#1976d2;color:#1976d2}.save-button{background-color:#4caf50;color:#fff;border:none}.save-button:hover{background-color:#388e3c}.save-button:disabled{background-color:#a5d6a7;cursor:not-allowed}.error-message{background-color:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:20px}.loading{display:flex;justify-content:center;align-items:center;height:400px;color:#666}.course-settings{background-color:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:20px;display:flex;gap:20px}.form-group{flex:1}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group input[type=number]{width:100px}.help-text{display:block;font-size:12px;color:#666;margin-top:5px}.markdown-editor{background-color:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.markdown-editor textarea{width:100%;padding:15px;border:none;font-family:monospace;font-size:14px;resize:vertical}.editor-preview-layout{display:flex;gap:20px;min-height:500px}.chapters-panel{flex:0 0 300px;background-color:#f5f5f5;border-radius:8px;padding:15px}.preview-panel{flex:1;background-color:#fff;border-radius:8px;border:1px solid #ddd;overflow:auto}.chapters-list{margin-top:15px}.chapter-item{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:10px;margin-bottom:10px;cursor:grab}.chapter-item:hover{box-shadow:0 2px 4px #0000001a}.chapter-title{font-weight:500;margin-bottom:5px}.chapter-pages{font-size:12px;color:#666}.markdown-preview{padding:20px}.page-info{margin-bottom:20px}.page-info h3{margin:0 0 5px}.page-info p{margin:0;color:#666}.pages-preview{display:flex;flex-direction:column;gap:30px}.page-preview{border:1px solid #ddd;border-radius:4px;padding:15px;background-color:#f9f9f9}.page-header{border-bottom:1px solid #ddd;margin-bottom:15px;padding-bottom:10px}.page-header h4{margin:0 0 5px}.page-title{font-size:14px;color:#666}.page-content{line-height:1.6}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{margin-top:0}.page-content img{max-width:100%;height:auto}.migration-manager{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.migration-manager>div{background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.migration-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:8px 8px 0 0}.migration-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.close-btn:hover{background:#e5e7eb;color:#374151}.migration-content{padding:24px}.migration-description{margin-bottom:24px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px}.migration-description p{margin:0 0 8px;color:#0c4a6e;line-height:1.5}.migration-description p:last-child{margin-bottom:0}.error-message{margin-bottom:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626}.success-message{margin-bottom:16px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a}.migration-status{margin-bottom:24px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.migration-status h3{margin:0 0 16px;color:#1e293b;font-size:1.2rem;font-weight:600}.status-info{display:grid;gap:12px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.status-item:last-child{border-bottom:none}.status-item .label{font-weight:500;color:#475569}.status-item .value{font-weight:600}.status-item .value.success{color:#16a34a}.status-item .value.warning{color:#d97706}.status-item .value.error{color:#dc2626}.migration-result{margin-bottom:24px;padding:20px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.migration-result h3{margin:0 0 16px;color:#14532d;font-size:1.2rem;font-weight:600}.result-stats{display:grid;gap:12px;margin-bottom:16px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:6px}.stat-item.success{background:#dcfce7;border:1px solid #bbf7d0}.stat-item.error{background:#fef2f2;border:1px solid #fecaca}.stat-label{font-weight:500;color:#374151}.stat-value{font-weight:600;font-size:1.1rem}.stat-item.success .stat-value{color:#16a34a}.stat-item.error .stat-value{color:#dc2626}.error-list{margin-top:16px;padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.error-list h4{margin:0 0 12px;color:#dc2626;font-size:1rem;font-weight:600}.error-list ul{margin:0;padding-left:20px}.error-item{margin-bottom:8px;color:#dc2626;line-height:1.4}.error-item:last-child{margin-bottom:0}.migration-actions{display:flex;gap:12px;margin-bottom:24px;justify-content:center}.refresh-btn,.migrate-btn{padding:12px 24px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.refresh-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.refresh-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.migrate-btn{background:#3b82f6;color:#fff}.migrate-btn:hover:not(:disabled){background:#2563eb}.refresh-btn:disabled,.migrate-btn:disabled{opacity:.6;cursor:not-allowed}.migration-warning{padding:20px;background:#fffbeb;border:1px solid #fed7aa;border-radius:8px}.migration-warning h4{margin:0 0 12px;color:#92400e;font-size:1.1rem;font-weight:600}.migration-warning ul{margin:0;padding-left:20px}.migration-warning li{margin-bottom:8px;color:#92400e;line-height:1.4}.migration-warning li:last-child{margin-bottom:0}@media (max-width: 768px){.migration-manager>div{width:95%;margin:20px}.migration-header{padding:16px 20px}.migration-header h2{font-size:1.3rem}.migration-content{padding:20px}.migration-actions{flex-direction:column}.refresh-btn,.migrate-btn{width:100%}}.redeem-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem;min-height:80vh}.redeem-card{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 12px #00000014;padding:2rem;width:100%;max-width:600px}.redeem-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.feature-badge-list{display:flex;flex-direction:column;gap:.35rem;width:100%}.feature-badge{display:flex;flex-wrap:wrap;gap:.2rem;align-items:center;background:rgba(79,70,229,.08);color:#4338ca;border-radius:999px;padding:4px 10px;font-size:.85rem}.success-message{background-color:#d4edda;color:#155724;padding:.75rem;border-radius:.25rem;margin-bottom:1rem;font-size:.875rem}.redeem-form{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:.25rem;font-size:1rem}.form-group input:focus{outline:none;border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.redeem-button{display:block;width:100%;padding:.75rem;background-color:#4a6cf7;color:#fff;border:none;border-radius:.25rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.redeem-button:hover{background-color:#3a5bd9}.redeem-button:disabled{background-color:#aab6fb;cursor:not-allowed}.redeem-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.redeem-info h3{font-size:1rem;margin-bottom:.75rem;color:#333}.redeem-info ul{padding-left:1.5rem;color:#555;font-size:.875rem}.redeem-info li{margin-bottom:.5rem}@media (max-width: 640px){.redeem-container{padding:1rem}.redeem-card{padding:1.5rem}.user-status-item{min-width:120px}}.user-records-container{display:flex;justify-content:center;align-items:flex-start;padding:2rem;min-height:80vh}.user-records-card{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 12px #00000014;padding:2rem;width:100%;max-width:900px}.records-title{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.user-status-box{background-color:#f8f9fa;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.user-status-item{display:flex;align-items:center;flex:1;min-width:160px}.status-label{font-weight:500;color:#555;margin-right:.5rem}.status-value{font-weight:600;color:#333}.is-vip{color:#e67e22}.feature-access{flex-direction:column;align-items:flex-start;gap:.35rem}.feature-badge-list{display:flex;flex-direction:column;gap:.35rem}.feature-badge{display:inline-flex;flex-wrap:wrap;align-items:center;background:rgba(16,185,129,.15);color:#047857;padding:4px 12px;border-radius:999px;font-size:.85rem}.feature-badge strong{font-weight:600}.feature-expire{color:#4b5563;margin-left:.35rem}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem;border-radius:.25rem;margin-bottom:1rem;font-size:.875rem}.loading-indicator{display:flex;justify-content:center;align-items:center;padding:2rem;color:#555}.records-table-container{margin-bottom:1.5rem;overflow-x:auto}.records-table{width:100%;border-collapse:collapse}.records-table th,.records-table td{padding:.75rem;border-bottom:1px solid #eee;text-align:left}.records-table th{font-weight:600;color:#333;background-color:#f8f9fa}.records-table tr:last-child td{border-bottom:none}.records-table tr:hover td{background-color:#f8f9fa}.free-usage{color:#28a745}.refund-usage{color:#2563eb;font-weight:600}.log-detail{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:1.5rem 0}.page-button{padding:.5rem .75rem;background-color:#f8f9fa;border:1px solid #ddd;border-radius:.25rem;color:#333;cursor:pointer;font-size:.875rem;transition:background-color .2s}.page-button:hover:not(:disabled){background-color:#e9ecef}.page-button:disabled{opacity:.5;cursor:not-allowed}.page-info{padding:.5rem .75rem;color:#555;font-size:.875rem}.no-records{display:flex;justify-content:center;align-items:center;padding:2rem;color:#555;font-style:italic}.records-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.records-info h3{font-size:1rem;margin-bottom:.75rem;color:#333}.records-info ul{padding-left:1.5rem;color:#555;font-size:.875rem}.records-info li{margin-bottom:.5rem}@media (max-width: 768px){.user-records-container{padding:1rem}.user-records-card{padding:1.5rem}.user-status-item{min-width:120px}.page-button{padding:.5rem}}.admin-container{padding:20px;max-width:1200px;margin:0 auto}.admin-title{font-size:1.8rem;margin-top:0;margin-bottom:20px;color:#333;text-align:center}.admin-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.admin-tab{padding:10px 20px;background-color:#f1f1f1;border:none;border-radius:5px;cursor:pointer;font-size:1rem;color:#555;transition:all .2s}.admin-tab:hover{background-color:#e0e0e0}.admin-tab.active{background-color:#4a90e2;color:#fff}.admin-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;padding:20px;margin-bottom:30px}.admin-card h3{margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee;color:#333;font-size:1.3rem}.admin-error{background-color:#ffebee;color:#c62828;padding:12px;border-radius:4px;margin-bottom:20px}.admin-success{background-color:#e8f5e9;color:#2e7d32;padding:12px;border-radius:4px;margin-bottom:20px}.admin-button{padding:10px 15px;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;transition:background-color .2s}.generate-button{background-color:#4a90e2;color:#fff}.generate-button:hover:not(:disabled){background-color:#3a7bc8}.generate-button:disabled{background-color:#b1d0f5;cursor:not-allowed}.filter-button{background-color:#4a90e2;color:#fff}.filter-button:hover{background-color:#3a7bc8}.export-button{background-color:#27ae60;color:#fff}.export-button:hover{background-color:#219653}.copy-button{background-color:#f1f1f1;border:none;border-radius:4px;padding:5px 10px;font-size:.8rem;cursor:pointer;color:#555;transition:background-color .2s}.copy-button:hover{background-color:#e0e0e0}.copy-button.small{padding:3px 8px;font-size:.7rem}.copy-all-button{background-color:#f1f1f1;color:#555;margin-top:10px}.copy-all-button:hover{background-color:#e0e0e0}.redeem-code-form{margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:600;color:#555}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.hint-text{font-size:.8rem;color:#6b7280;font-weight:400}.generated-codes{margin-top:20px;padding:15px;background-color:#f9f9f9;border-radius:4px;border:1px solid #eee}.generated-codes h4{margin-top:0;margin-bottom:10px;color:#333}.code-list{display:flex;flex-direction:column;gap:10px}.code-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#fff;border:1px solid #eee;border-radius:4px}.filter-form-container{margin-bottom:20px}.filter-form{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.redeem-codes-table-container{overflow-x:auto;margin-bottom:20px}.redeem-codes-table{width:100%;border-collapse:collapse}.redeem-codes-table th,.redeem-codes-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.redeem-codes-table th{background-color:#f5f5f5;font-weight:600;color:#555}.redeem-codes-table tbody tr:hover{background-color:#f9f9f9}.used-code{background-color:#f5f5f5;color:#999}.code-text{font-family:monospace;margin-right:10px}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px}.pagination-button{padding:8px 15px;background-color:#f1f1f1;color:#555}.pagination-button:disabled{background-color:#f9f9f9;color:#bbb;cursor:not-allowed}.page-info{font-size:.9rem;color:#666}.codes-total{margin-bottom:15px;color:#666}.highlight{color:#4a90e2;font-weight:600}.loading-message,.empty-message{padding:20px;text-align:center;color:#888;background-color:#f9f9f9;border-radius:4px}.access-denied{text-align:center;padding:50px 20px;color:#c62828}.access-denied h2{margin-top:0}@media (max-width: 768px){.admin-tabs{flex-direction:column;gap:5px}.filter-form{flex-direction:column;gap:10px}.filter-form .filter-group{width:100%}.admin-button{width:100%;margin-bottom:5px}}.user-statistics-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.user-statistics-title{font-size:1.8rem;margin-bottom:20px;color:#333;text-align:center}.user-statistics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}@media (max-width: 1200px){.user-statistics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.user-statistics-grid{grid-template-columns:1fr}}.statistics-card{background-color:#f8f9fa;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000000d;text-align:center;transition:transform .2s,box-shadow .2s}.statistics-card.wide{grid-column:span 2}@media (max-width: 768px){.statistics-card.wide{grid-column:span 1}}.statistics-card h3{font-size:1rem;color:#6c757d;margin-bottom:10px}.statistics-value{font-size:2rem;font-weight:700;color:#3498db;margin-bottom:5px}.statistics-subtext{font-size:.8rem;color:#6c757d}.user-statistics-loading,.user-statistics-error{text-align:center;padding:40px;color:#6c757d}.user-statistics-error{color:#e74c3c}.statistics-card.clickable{cursor:pointer;position:relative}.statistics-card.clickable:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a;background-color:#f0f7ff}.statistics-hint{position:absolute;bottom:5px;right:5px;font-size:.7rem;color:#3498db;opacity:0;transition:opacity .3s}.statistics-card.clickable:hover .statistics-hint{opacity:1}.details-table-container{margin:20px 0;padding:15px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000000d}.details-table-container h3{font-size:1.2rem;color:#333;margin-bottom:15px;text-align:center}.details-table{width:100%;border-collapse:collapse;margin-bottom:10px}.details-table th,.details-table td{padding:10px;text-align:left;border-bottom:1px solid #dee2e6}.details-table th{background-color:#e9ecef;font-weight:600;color:#495057}.details-table tr:hover{background-color:#f1f1f1}.details-loading,.details-error,.details-empty{text-align:center;padding:20px;color:#6c757d}.details-error{color:#e74c3c}.details-empty{font-style:italic}.feature-badge-list{display:flex;flex-wrap:wrap;gap:6px}.feature-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(59,130,246,.12);color:#1d4ed8;border-radius:999px;padding:2px 10px;font-size:.85rem}.feature-expire{color:#4b5563;font-weight:500}.feedback-manager-container{padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;margin-bottom:30px}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:10px}.feedback-title{font-size:1.5rem;margin:0;color:#333}.feedback-filters{display:flex;gap:10px}.feedback-status-filter{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background-color:#f9f9f9}.feedback-table{width:100%;border-collapse:collapse;margin-bottom:20px;table-layout:fixed}.feedback-table th,.feedback-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.feedback-table th{background-color:#f5f5f5;font-weight:600;color:#555}.feedback-table th:nth-child(1){width:5%}.feedback-table th:nth-child(2){width:12%}.feedback-table th:nth-child(3){width:15%}.feedback-table th:nth-child(4){width:30%}.feedback-table th:nth-child(5){width:15%}.feedback-table th:nth-child(6){width:13%}.feedback-table th:nth-child(7){width:10%}.feedback-table tbody tr:hover{background-color:#f9f9f9}.feedback-unread{font-weight:600;background-color:#f5f9ff}.feedback-email{font-size:.9rem;color:#666}.feedback-summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;color:#444}.feedback-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.8rem;text-align:center}.status-pending{background-color:#fff5e6;color:#e67e22;border:1px solid #fad7a0}.status-read{background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.status-replied{background-color:#e3f2fd;color:#1976d2;border:1px solid #90caf9}.feedback-view-button{padding:4px 10px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.feedback-view-button:hover{background-color:#3a7bc8}.feedback-pagination{display:flex;justify-content:center;align-items:center;margin-top:20px;gap:15px}.pagination-button{padding:8px 15px;background-color:#f1f1f1;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#e0e0e0}.pagination-button:disabled{background-color:#f9f9f9;color:#bbb;cursor:default}.pagination-info{font-size:.9rem;color:#666}.feedback-empty{padding:30px;text-align:center;color:#888;background-color:#f9f9f9;border-radius:6px}.feedback-loading{padding:20px;text-align:center;color:#666}.feedback-error{padding:20px;text-align:center;color:#e74c3c;background-color:#fef5f5;border:1px solid #fadbd8;border-radius:6px}.feedback-detail-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.feedback-detail-content{width:100%;max-width:800px;max-height:90vh;background-color:#fff;border-radius:8px;box-shadow:0 5px 20px #0003;overflow:hidden;display:flex;flex-direction:column}.feedback-detail-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee}.feedback-detail-header h3{margin:0;font-size:1.2rem;color:#333}.feedback-detail-close{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;line-height:1}.feedback-detail-close:hover{color:#333}.feedback-detail-body{padding:20px;overflow-y:auto;flex:1}.feedback-info-group{display:flex;margin-bottom:15px}.feedback-info-label{width:100px;font-weight:600;color:#555;flex-shrink:0}.feedback-info-value{flex:1}.feedback-message-container{margin-bottom:20px}.feedback-message-content{padding:15px;background-color:#f9f9f9;border-radius:6px;margin-top:8px;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.feedback-reply-container{margin-bottom:20px}.feedback-reply-content{padding:15px;background-color:#f0f7ff;border-radius:6px;margin-top:8px}.feedback-reply-text{white-space:pre-wrap;word-break:break-word;margin-bottom:10px}.feedback-reply-time{font-size:.8rem;color:#888;text-align:right}.feedback-status-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.status-button{padding:8px 12px;background-color:#f1f1f1;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s;flex:1;min-width:120px;text-align:center}.status-button:hover{background-color:#e0e0e0}.status-button.active{background-color:#4a90e2;color:#fff;border-color:#3a7bc8}.feedback-reply-form{margin-top:20px;border-top:1px solid #eee;padding-top:20px}.feedback-reply-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;margin-top:8px;margin-bottom:15px;font-family:inherit;font-size:.95rem;resize:vertical}.feedback-reply-textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.feedback-reply-actions{display:flex;justify-content:flex-end}.feedback-reply-submit{padding:10px 20px;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;transition:background-color .2s}.feedback-reply-submit:hover:not(:disabled){background-color:#3a7bc8}.feedback-reply-submit:disabled{background-color:#b1d0f5;cursor:not-allowed}@media (max-width: 768px){.feedback-header{flex-direction:column;align-items:flex-start;gap:10px}.feedback-table th:nth-child(3),.feedback-table td:nth-child(3){display:none}.feedback-info-group{flex-direction:column;margin-bottom:20px}.feedback-info-label{width:100%;margin-bottom:5px}.status-button{min-width:0}}@media (max-width: 480px){.feedback-detail-modal{padding:10px}.feedback-table th:nth-child(5),.feedback-table td:nth-child(5){display:none}.feedback-status-actions{flex-direction:column}}.manim-video-container{max-width:1000px;margin:0 auto;padding:20px}.manim-video-card{border-radius:8px;box-shadow:0 4px 12px #0000001a}.input-container{margin:20px 0}.question-icon{margin-left:8px;color:#1890ff;cursor:help}.tasks-list{margin-top:20px}.task-item{border-radius:4px;margin-bottom:12px;transition:all .3s}.task-item:hover{background-color:#f0f5ff}.question-text{margin-left:10px;font-weight:500}.error-message{color:#ff4d4f;margin-top:4px}.warning-message{color:#faad14;margin-top:4px;font-size:12px}.video-player{display:flex;flex-direction:row;gap:20px;height:500px;overflow:hidden}.video-section{flex:2;display:flex;flex-direction:column;overflow:hidden}.info-section{flex:1;display:flex;flex-direction:column;gap:16px;overflow-y:auto;height:500px;padding-right:8px}.info-section::-webkit-scrollbar{width:6px}.info-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.info-section::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.info-section::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.video-info{background:#f9f9f9;padding:16px;border-radius:4px}.video-expires{color:#ff4d4f;font-size:.9em;margin-top:10px}@media (max-width: 768px){.manim-video-container{padding:10px}.task-item{flex-direction:column}.video-player{flex-direction:column;height:auto}.video-section{height:300px;margin-bottom:16px}.info-section{max-height:none;overflow-y:visible}}.latex-preview{transition:all .3s ease}.latex-preview:hover{box-shadow:0 2px 8px #0000001a}.latex-preview .latex-renderer .katex{color:#333}.latex-preview .latex-renderer .katex-display{margin:.8rem 0;text-align:center}.task-item .latex-renderer .katex{font-size:.9em}.video-modal .ant-modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px 8px 0 0}.video-modal .ant-modal-title{color:#fff;font-weight:600}.video-modal .ant-modal-close{color:#fff;background:rgba(255,255,255,.1);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.video-modal .ant-modal-close:hover{color:#fff;background:rgba(255,255,255,.2);transform:scale(1.1);box-shadow:0 4px 12px #0003}.video-modal .ant-modal-close .anticon{font-size:14px;font-weight:700}.markdown-result{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;overflow-x:auto;flex:1;font-size:14px;line-height:1.6}.markdown-result h1{color:#1890ff;font-size:1.5rem;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e9ecef}.markdown-result h2{color:#1890ff;font-size:1.2rem;margin:20px 0 12px;font-weight:600}.markdown-result h3,.markdown-result h4{color:#333;margin:16px 0 8px;font-weight:600}.markdown-result p{margin:8px 0;color:#333}.markdown-result code{background-color:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:.9em;color:#e83e8c}.markdown-result pre{background-color:#f0f0f0;padding:16px;border-radius:6px;overflow-x:auto;margin:12px 0;border-left:4px solid #1890ff}.markdown-result .katex{font-size:1.1em!important;color:#333!important}.markdown-result .katex-display{margin:1.5rem 0!important;text-align:center!important;background:rgba(24,144,255,.05);padding:12px;border-radius:6px;border:1px solid rgba(24,144,255,.1)}.markdown-result p .katex{background:rgba(24,144,255,.08);padding:2px 4px;border-radius:3px;margin:0 2px}.video-info .latex-renderer .katex{font-size:1rem;color:#333}.ai-template-manager-container{max-width:1200px;margin:0 auto;padding:20px}.ai-template-card{border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-bottom:20px}.action-bar{display:flex;justify-content:flex-end;margin-bottom:16px}.template-row{cursor:pointer;transition:all .3s}.template-row:hover{background-color:#f0f5ff}.guide-card{margin-top:20px}.code-block{background-color:#f5f5f5;padding:16px;border-radius:4px;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;margin:10px 0}.tip{background-color:#e6f7ff;border-left:4px solid #1890ff;padding:12px;border-radius:4px}@media (max-width: 768px){.ai-template-manager-container{padding:10px}.action-bar{flex-direction:column;gap:10px}}.ai-template-user-container{max-width:1000px;margin:0 auto;padding:20px}.ai-tool-card{border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-bottom:20px}.tool-selection{display:flex;flex-direction:column;gap:20px;margin-bottom:16px}.template-select-container{flex:1}.template-description{flex:2;padding:16px;background-color:#f9f9f9;border-radius:4px;margin-top:16px}.template-description h3{margin-top:0;color:#1890ff}.param-form-container{margin:20px 0}.error-alert{margin-bottom:16px}.result-container{margin-top:20px}.result-card{background-color:#f9f9f9}.markdown-result{padding:8px;overflow-x:auto}.markdown-result h1,.markdown-result h2,.markdown-result h3,.markdown-result h4{margin-top:8px;color:#1890ff}.markdown-result code{background-color:#f0f0f0;padding:2px 4px;border-radius:4px}.markdown-result pre{background-color:#f0f0f0;padding:16px;border-radius:4px;overflow-x:auto}@media (max-width: 768px){.ai-template-user-container{padding:10px}.tool-selection{flex-direction:column}.template-description{margin-top:16px;padding:12px}}.admin-template-manager{padding:24px;background:#f5f5f5;min-height:100vh}.template-card{margin-bottom:24px}.template-card .ant-card-head-title{font-size:20px;font-weight:600}.stats-panel{margin-bottom:24px}.stats-panel .ant-card{text-align:center}.stats-panel .ant-statistic-title{font-size:14px;color:#8c8c8c}.stats-panel .ant-statistic-content{font-size:24px;font-weight:600}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:16px;background:white;border-radius:6px;box-shadow:0 1px 2px #00000008}.template-info{display:flex;align-items:center;gap:12px}.template-cover{width:60px;height:40px;border-radius:4px;overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.template-placeholder{color:#bfbfbf;font-size:18px}.template-details{flex:1}.template-name{font-size:14px;font-weight:500;color:#262626;margin-bottom:4px}.template-version{font-size:12px;color:#8c8c8c}.template-row{transition:all .15s ease}.template-row:hover{background:#fafafa}.ant-btn[data-icon]{display:inline-flex;align-items:center;justify-content:center}.ant-badge-status-text{margin-left:4px}.ant-tag{margin:0;border-radius:4px}.ant-modal-header{border-bottom:1px solid #f0f0f0}.ant-modal-body{padding:24px}.ant-form-item-label>label{font-weight:500}.ant-table-small .ant-table-tbody>tr>td{padding:8px 16px}@media (max-width: 1200px){.stats-panel .ant-col{margin-bottom:16px}}@media (max-width: 768px){.admin-template-manager{padding:16px}.filter-bar{flex-direction:column;gap:16px;align-items:stretch}.filter-bar>.ant-space{width:100%;justify-content:center}.template-info{flex-direction:column;align-items:flex-start;gap:8px}.template-cover{width:80px;height:50px}}.ant-spin-container{min-height:400px}.ant-empty{margin:40px 0}.ant-tooltip-inner{font-size:12px}.ant-popconfirm-message{margin-left:0}.ant-popconfirm-buttons{margin-top:12px}.ant-input-search .ant-input-group .ant-input-affix-wrapper{border-radius:6px 0 0 6px}.ant-input-search .ant-input-search-button{border-radius:0 6px 6px 0}.ant-select-selector{border-radius:6px!important}.ant-btn{border-radius:6px;font-weight:500}.ant-btn-primary{box-shadow:0 2px 4px #1890ff33}.ant-btn-text:hover{background:rgba(0,0,0,.04)}.ant-card{border-radius:8px;box-shadow:0 1px 2px #00000008}.ant-card-head{border-bottom:1px solid #f0f0f0}.ant-table{border-radius:8px;overflow:hidden}.ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#262626}.ant-table-tbody>tr>td{border-bottom:1px solid #f5f5f5}.ant-pagination{margin-top:16px;text-align:right}.ant-pagination-item{border-radius:4px}.ant-pagination-item-active{border-color:#1890ff}.ant-form-item{margin-bottom:20px}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{border-radius:6px}.ant-input:focus,.ant-input-affix-wrapper:focus-within,.ant-select-focused .ant-select-selector{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.ant-input.ant-input-affix-wrapper-textarea-with-clear-btn{padding:4px 11px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.template-row{animation:fadeIn .3s ease-out}:root{--primary-color: #1890ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #ff4d4f;--text-color: #262626;--text-color-secondary: #8c8c8c;--border-color: #f0f0f0;--background-color: #fafafa}.print-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.print-settings-dialog{position:relative;background:white;border-radius:12px;box-shadow:0 8px 32px #0003;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.print-settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.print-settings-header h2{margin:0;font-size:20px;font-weight:600;color:#1f2937}.close-button{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.print-settings-content{flex:1;overflow-y:auto;padding:24px}.settings-section{margin-bottom:28px}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.preset-buttons{display:flex;gap:12px;flex-wrap:wrap}.preset-btn{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;color:#374151;transition:all .2s}.preset-btn:hover{background:#e5e7eb;border-color:#9ca3af}.preset-btn:active{transform:scale(.98)}.preset-btn-active{background:#f0f4ff;color:#667eea;border-color:#667eea;border-width:2px;position:relative;padding-left:32px}.preset-btn-active:before{content:"✓";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#667eea;font-weight:700;font-size:16px}.preset-btn-active:hover{background:#e8edff;border-color:#5568d3}.preset-description{margin-top:12px;padding:10px 14px;background:#f0f9ff;border-left:3px solid #667eea;border-radius:6px;display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#374151;line-height:1.5;animation:fadeIn .3s ease-out}.preset-description-icon{font-size:16px;flex-shrink:0;margin-top:1px}.input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:14px;font-weight:500;color:#6b7280}.input-group input[type=text],.input-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;transition:all .2s}.input-group input[type=text]:focus,.input-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-input-wrapper{display:flex;gap:8px;align-items:center}.color-input-wrapper input[type=color]{width:50px;height:36px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer}.color-input-wrapper input[type=text]{flex:1}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.checkbox-label span{line-height:1.5}.hint-text{margin:8px 0 0 26px;font-size:13px;color:#6b7280;font-style:italic;line-height:1.5}.variable-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.variable-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff;font-size:14px;font-weight:500;box-shadow:0 2px 8px #667eea33;position:relative;overflow:hidden}.variable-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.variable-chip:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #667eea66;border-color:#ffffff80}.variable-chip:hover:before{left:100%}.variable-chip:active{transform:translateY(-1px) scale(1.02);box-shadow:0 3px 12px #667eea4d}.variable-chip code{background:rgba(255,255,255,.25);padding:3px 8px;border-radius:5px;font-family:Courier New,Consolas,monospace;font-size:13px;font-weight:600;letter-spacing:.5px;border:1px solid rgba(255,255,255,.2)}.variable-chip span{font-weight:500;letter-spacing:.3px}.variable-hint{margin-top:12px;font-size:13px;color:#6b7280;font-style:italic}.preview-container{margin-top:12px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.preview-page{background:white;width:100%;aspect-ratio:210 / 297;max-height:400px;box-shadow:0 4px 12px #0000001a;border-radius:4px;display:flex;flex-direction:column;overflow:hidden}.preview-header,.preview-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:11px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.preview-footer{border-top:1px solid #e5e7eb;border-bottom:none}.preview-left,.preview-center,.preview-right{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-center{text-align:center}.preview-right{text-align:right}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.preview-content-text{color:#d1d5db;font-size:14px;font-style:italic}.preview-note{margin-top:12px;font-size:13px;color:#ef4444}.print-settings-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.footer-actions{display:flex;gap:12px}.reset-button,.cancel-button,.save-button{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.reset-button{background:white;color:#6b7280;border:1px solid #d1d5db}.reset-button:hover{background:#f9fafb;border-color:#9ca3af}.cancel-button{background:white;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background:#f9fafb;border-color:#9ca3af}.save-button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none}.save-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.save-button:active{transform:translateY(0)}@media (max-width: 768px){.print-settings-dialog{width:95%;max-height:95vh}.input-grid,.style-grid{grid-template-columns:1fr}.preset-buttons{flex-direction:column}.preset-btn{width:100%}.variable-chips{justify-content:center}}.grid-canvas-editor{width:100%;height:100%;overflow:hidden;background:transparent}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:white;border-bottom:1px solid #e1e8ed;box-shadow:0 2px 4px #0000000d;z-index:100}.toolbar-section{display:flex;align-items:center;gap:8px;position:relative}.canvas-toolbar .toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.canvas-toolbar .toolbar-btn:hover{background:#e9ecef;color:#212529}.canvas-toolbar .toolbar-btn.active{background:#3498db;color:#fff;border-color:#3498db}.grid-canvas{position:relative;display:grid;grid-template-columns:repeat(var(--grid-columns, 12),1fr);gap:var(--grid-row-gap, 16px) var(--grid-col-gap, 16px);grid-auto-rows:minmax(10px,auto);grid-auto-flow:row;width:var(--canvas-width, 794px);min-height:var(--canvas-min-height, 300px);background:var(--canvas-background, linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%));border-radius:var(--canvas-border-radius, 8px);padding:var(--canvas-padding, 10mm 15mm 15mm 15mm);align-content:start;box-shadow:0 4px 20px #0000001a;margin:0 auto;transition:all .3s ease;isolation:isolate;cursor:default}@media print{:root{--canvas-border-radius: 0}.grid-canvas{grid-auto-rows:minmax(12pt,auto);box-shadow:none!important;border-radius:0!important}}.grid-block[data-block-type=decorationBlock]{pointer-events:auto}.grid-block[data-block-type=decorationBlock].selected{z-index:9999!important;outline:2px dashed #667eea!important;outline-offset:2px}.grid-block[data-block-type=decorationBlock] .decoration-frame{width:100%;height:100%;min-height:100px;box-sizing:border-box;pointer-events:none}.grid-block[data-block-type=decorationBlock]:not(.selected) .block-drag-handle,.grid-block[data-block-type=decorationBlock]:not(.selected) .block-actions,.grid-block[data-block-type=decorationBlock]:not(.selected) .resize-handle{display:none}[data-grid-debug=true] .grid-canvas{outline:2px dashed rgba(0,123,255,.8)}[data-grid-debug=true] .grid-block{outline:1px solid rgba(255,0,0,.3)}.grid-lines-container{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.grid-line{position:absolute;background:rgba(0,123,255,.1);z-index:1}.column-line{width:1px;height:100%;top:0}.row-line{height:1px;width:100%;left:0}.grid-line.sub-line{background:rgba(0,123,255,.05);border-top-style:dotted!important;border-top-width:1px!important;opacity:.5}.row-guide{height:1px;width:100%;left:0;border-top:1px dashed rgba(0,168,255,.4);background:transparent;opacity:.7}.grid-line-label{position:absolute;background:rgba(0,123,255,.8);color:#fff;font-size:10px;padding:2px 4px;border-radius:2px}.column-line .grid-line-label{top:0;transform:translate(-50%)}.row-line .grid-line-label{left:0;transform:translateY(-50%)}.grid-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(to right,rgba(0,123,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,123,255,.05) 1px,transparent 1px);pointer-events:none;z-index:0}.grid-block{position:relative;background:transparent;border:none;border-radius:0;padding:0;min-height:50px;box-shadow:none;transition:all .2s ease;overflow:visible;box-sizing:border-box;cursor:default}.grid-block.layout-grid.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#3498db;z-index:5;pointer-events:none}.grid-block.layout-auto.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e67e22;z-index:5;pointer-events:none}.grid-block.selected{outline:2px solid #3498db;outline-offset:-2px;box-shadow:0 0 0 2px #3498db4d}.grid-block.dragging{opacity:.7;box-shadow:0 5px 15px #0000001a}.drag-handle{position:absolute;top:0;left:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-bottom-right-radius:4px;cursor:move;opacity:0;transition:opacity .2s;z-index:10}.grid-block:hover .drag-handle,.grid-block.selected .drag-handle{opacity:1}.grid-word-layout-toggle{position:absolute;top:6px;left:32px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f1f5f9;border:1px solid #cbd5f5;border-radius:6px;color:#2563eb;font-size:.8rem;font-weight:500;cursor:pointer;z-index:12;opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,background .2s ease}.grid-block:hover .grid-word-layout-toggle,.grid-block.selected .grid-word-layout-toggle{opacity:1;transform:translateY(0)}.grid-word-layout-toggle:hover{background:#e2e8f0}.grid-word-layout-toggle.active{background:#2563eb;border-color:#1d4ed8;color:#fff;box-shadow:0 4px 12px #2563eb40}.block-toolbar{position:absolute;top:0;right:0;display:flex;gap:4px;padding:4px;background:#f8f9fa;border-bottom-left-radius:4px;z-index:10}.block-toolbar .toolbar-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.block-toolbar .toolbar-btn:hover{background:#e9ecef}.block-toolbar .toolbar-btn.delete-btn:hover{background:#dc3545;color:#fff}.block-toolbar .toolbar-btn.layout-btn{background:#f8f9fa;border:1px solid #ced4da}.block-toolbar .toolbar-btn.layout-btn.grid{color:#3498db}.block-toolbar .toolbar-btn.layout-btn.auto{color:#e67e22}.block-toolbar .toolbar-btn.layout-btn:hover{background:#e9ecef}.layout-mode-indicator{position:absolute;bottom:4px;left:4px;font-size:10px;padding:2px 6px;border-radius:3px;font-weight:500;opacity:.8;z-index:5}.layout-mode-indicator.grid{background:rgba(52,152,219,.2);color:#3498db;border:1px solid rgba(52,152,219,.3)}.layout-mode-indicator.auto{background:rgba(230,126,34,.2);color:#e67e22;border:1px solid rgba(230,126,34,.3)}.grid-settings-panel{width:100%;background:transparent;border:none;box-shadow:none;font-size:14px;line-height:1.4}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid #e9ecef;margin-bottom:12px}.panel-header h3{display:flex;align-items:center;gap:6px;margin:0;font-size:16px;font-weight:600}.close-btn{background:none;border:none;cursor:pointer;color:#6c757d;transition:color .2s;padding:4px;font-size:14px}.close-btn:hover{color:#212529}.panel-content{padding:0;overflow-y:auto}.setting-group{margin-bottom:14px}.setting-group label{display:flex;align-items:center;gap:6px;margin-bottom:6px;font-weight:500;color:#495057;font-size:14px}.input-group{display:flex;align-items:center;gap:8px}.input-group input,.input-group select{flex:1;padding:8px 10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;min-height:32px}.toggle-switch{display:flex;align-items:center}.toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#f8f9fa;border:1px solid #ced4da;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;min-height:32px}.toggle-btn.active{background:#3498db;color:#fff;border-color:#3498db}.preset-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;cursor:pointer;transition:all .2s;font-size:13px;min-height:40px}.preset-btn:hover{background:#e9ecef}.panel-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 0 0;border-top:1px solid #e9ecef;margin-top:14px}.cancel-btn{padding:8px 16px;background:#f8f9fa;border:1px solid #ced4da;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;min-height:32px}.apply-btn{padding:8px 16px;background:#3498db;color:#fff;border:1px solid #3498db;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;min-height:32px}.cancel-btn:hover{background:#e9ecef}.apply-btn:hover{background:#2980b9}.resize-handles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:0;transition:opacity .2s ease}.grid-block.selected .resize-handles{opacity:1}.resize-handle{position:absolute;pointer-events:all;transition:all .2s ease;z-index:10}.resize-handle-left{top:50%;left:-6px;width:12px;height:40px;transform:translateY(-50%);cursor:ew-resize;display:flex;align-items:center;justify-content:center}.resize-handle-left:hover{background:rgba(52,152,219,.1);border-radius:6px}.resize-handle-left .resize-handle-indicator{width:4px;height:20px;background:#3498db;border-radius:2px;opacity:.6}.resize-handle-left:hover .resize-handle-indicator{opacity:1}.resize-handle-right{top:50%;right:-6px;width:12px;height:40px;transform:translateY(-50%);cursor:ew-resize;display:flex;align-items:center;justify-content:center}.resize-handle-right:hover{background:rgba(52,152,219,.1);border-radius:6px}.resize-handle-right .resize-handle-indicator{width:4px;height:20px;background:#3498db;border-radius:2px;opacity:.6}.resize-handle-right:hover .resize-handle-indicator{opacity:1}.resize-handle-top{top:-6px;left:50%;width:40px;height:12px;transform:translate(-50%);cursor:ns-resize;display:flex;align-items:center;justify-content:center}.resize-handle-top:hover{background:rgba(52,152,219,.1);border-radius:6px}.resize-handle-top .resize-handle-indicator{width:20px;height:4px;background:#3498db;border-radius:2px;opacity:.6}.resize-handle-top:hover .resize-handle-indicator{opacity:1}.resize-handle-bottom{bottom:-6px;left:50%;width:40px;height:12px;transform:translate(-50%);cursor:ns-resize;display:flex;align-items:center;justify-content:center}.resize-handle-bottom:hover{background:rgba(52,152,219,.1);border-radius:6px}.resize-handle-bottom .resize-handle-indicator{width:20px;height:4px;background:#3498db;border-radius:2px;opacity:.6}.resize-handle-bottom:hover .resize-handle-indicator{opacity:1}.resize-handle-corner{bottom:-6px;right:-6px;width:16px;height:16px;background:#e67e22;border-radius:50%;cursor:nw-resize;display:flex;align-items:center;justify-content:center;opacity:.7;color:#fff}.resize-handle-corner:hover{opacity:1;transform:scale(1.1)}.position-indicator{position:absolute;top:-28px;left:0;background:rgba(52,152,219,.9);color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;z-index:20;pointer-events:none}.position-indicator:after{content:"";position:absolute;top:100%;left:8px;border:4px solid transparent;border-top-color:#3498dbe6}.resize-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(231,76,60,.9);color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap;z-index:25;pointer-events:none;box-shadow:0 2px 8px #0003}.grid-block.dragging{opacity:.8;transform:rotate(2deg);box-shadow:0 8px 25px #0000004d;z-index:1000}.grid-block.resizing{outline:2px solid #3498db;outline-offset:-2px;box-shadow:0 0 0 2px #3498db;background:rgba(52,152,219,.05)}.grid-lines-container.active{opacity:1}.grid-line.highlight{background:#3498db!important;opacity:.8}.grid-block.collision{box-shadow:0 0 0 2px #e74c3c;background:rgba(231,76,60,.1)}.grid-block.available-drop{box-shadow:0 0 0 2px #27ae60;background:rgba(39,174,96,.1)}.grid-cell-highlight{border:2px solid transparent;border-radius:4px;transition:all .2s ease}.grid-cell-highlight.available{background:rgba(39,174,96,.2);border-color:#27ae60;box-shadow:0 0 10px #27ae604d}.grid-cell-highlight.collision{background:rgba(231,76,60,.2);border-color:#e74c3c;box-shadow:0 0 10px #e74c3c4d;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.grid-line.highlight{background:#3498db!important;opacity:1!important;box-shadow:0 0 5px #3498db80;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}#column-range-input-indicator{position:fixed;background:rgba(52,152,219,.9);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;z-index:9999;pointer-events:none;box-shadow:0 2px 8px #0003}.selection-box{position:absolute;border:2px dashed #3498db;background:rgba(52,152,219,.1);pointer-events:none;z-index:100}.multi-select-toolbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:white;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:12px 16px;display:flex;align-items:center;gap:12px;z-index:200;border:1px solid #e1e8ed}.multi-select-info{color:#495057;font-size:.9rem;font-weight:500}.multi-select-actions{display:flex;gap:8px}.multi-select-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid #e9ecef;border-radius:4px;background:#f8f9fa;color:#495057;font-size:.8rem;cursor:pointer;transition:all .2s}.multi-select-btn:hover{background:#e9ecef}.multi-select-btn.danger{border-color:#e74c3c;color:#e74c3c}.multi-select-btn.danger:hover{background:#e74c3c;color:#fff}.multi-select-btn.primary{border-color:#3498db;color:#3498db}.multi-select-btn.primary:hover{background:#3498db;color:#fff}.keyboard-hints{position:fixed;top:80px;right:20px;background:rgba(0,0,0,.8);color:#fff;padding:12px 16px;border-radius:6px;font-size:.8rem;z-index:300;max-width:300px;max-height:80vh;overflow-y:auto;opacity:0;transition:opacity .3s}.keyboard-hints.visible{opacity:1}.keyboard-hints h4{margin:0 0 8px;font-size:.9rem;color:#f39c12;text-align:center}.keyboard-hints ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.keyboard-hints li{margin-bottom:4px;display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.05);padding:6px;border-radius:4px}.keyboard-hints .key{background:rgba(255,255,255,.2);padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.7rem;margin-top:4px}.snap-indicator{position:absolute;pointer-events:none;z-index:15}.snap-indicator-line{background:#3498db;opacity:.7;position:absolute}.snap-indicator-line.vertical{width:2px;height:100vh}.snap-indicator-line.horizontal{height:2px;width:100vw}@media (max-width: 768px){.resize-handle-right,.resize-handle-bottom{display:none}.resize-handle-corner{width:20px;height:20px;bottom:-8px;right:-8px}.position-indicator{font-size:.7rem;padding:2px 6px}.multi-select-toolbar{bottom:10px;left:10px;right:10px;transform:none;flex-direction:column;gap:8px}.multi-select-actions{width:100%;justify-content:space-around}.keyboard-hints{top:60px;right:10px;left:10px;max-width:none}}.export-dropdown{position:relative;display:inline-block}.export-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e1e8ed;border-radius:6px;box-shadow:0 4px 12px #0000001a;padding:8px 0;z-index:1000;min-width:150px;display:none}.export-dropdown:hover .export-menu{display:none}.export-menu.show{display:block}.export-menu button{display:block;width:100%;text-align:left;padding:8px 16px;border:none;background:none;cursor:pointer;font-size:.9rem;color:#495057;transition:all .2s}.export-menu button:hover{background:#f8f9fa;color:#3498db}.block-paragraphBlock .word-token{position:relative;display:inline-block}.block-paragraphBlock .word-token .original{position:relative;z-index:1}.block-paragraphBlock .word-token .translation{font-size:.8em;color:#6c757d;margin-top:2px}.block-paragraphBlock .word-token.translation-below{display:inline-flex;flex-direction:column;align-items:center}.block-paragraphBlock .word-token.translation-hover .translation{display:none}.space{display:inline;white-space:pre}.punctuation,.word{display:inline}.block-topBar{display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;padding:8px 16px;border-radius:8px;border-bottom:2px solid #e9ecef}.block-cardBlock{border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.block-cardBlock .card-header{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-weight:600}.block-cardBlock .card-body{padding:16px}.block-cardBlock .card-footer{padding:12px 16px;background:#f8f9fa;border-top:1px solid #e9ecef;font-size:.9rem;color:#6c757d}.block-quoteBlock{border-left:4px solid #3498db;padding-left:16px;font-style:italic;color:#495057}.block-quoteBlock .quote-text{margin-bottom:8px}.block-quoteBlock .quote-author{font-size:.9rem;text-align:right;color:#6c757d}.block-translationBlock{display:flex;flex-direction:column;gap:12px}.block-translationBlock .original-text{color:#2c3e50}.block-translationBlock .translation-text{color:#3498db}.pdf-config-panel{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:center}.pdf-config-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pdf-config-content{position:relative;background:white;border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.pdf-config-content h3{margin:0 0 20px;color:#2c3e50;font-size:1.3rem;font-weight:600;text-align:center}.pdf-config-section{margin-bottom:20px}.pdf-config-section label{display:block;margin-bottom:8px;color:#495057;font-weight:500;font-size:.9rem}.pdf-config-section select,.pdf-config-section input[type=number]{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;color:#495057;background:white;transition:border-color .2s ease}.pdf-config-section select:focus,.pdf-config-section input[type=number]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.margin-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.margin-inputs input{text-align:center;font-size:.85rem}.pdf-config-section input[type=range]{width:calc(100% - 50px);margin-right:10px;vertical-align:middle}.pdf-config-section span{font-size:.9rem;color:#6c757d;font-weight:500}.pdf-config-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e9ecef}.pdf-config-btn{flex:1;padding:12px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pdf-config-btn.cancel{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.pdf-config-btn.cancel:hover{background:#e9ecef;color:#495057}.pdf-config-btn.primary{background:#3498db;color:#fff}.pdf-config-btn.primary:hover{background:#2980b9;transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.help-tooltip{display:inline-block;width:16px;height:16px;background:#3498db;color:#fff;border-radius:50%;text-align:center;font-size:12px;line-height:16px;margin-left:6px;cursor:help;font-weight:700}.help-tooltip:hover{background:#2980b9}.setting-description{font-size:.8rem;color:#6c757d;margin-top:4px;font-style:italic}.floating-toolbar{position:absolute;top:-35px;right:-5px;display:flex;gap:2px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:4px;box-shadow:0 4px 12px #00000026;border:1px solid rgba(0,0,0,.1);z-index:100;animation:fadeInScale .2s ease-out}.floating-toolbar-btn{background:none;border:none;padding:6px;border-radius:4px;cursor:pointer;color:#495057;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}.floating-toolbar-btn:hover{background:rgba(52,152,219,.1);color:#3498db;transform:scale(1.1)}.floating-toolbar-btn.delete-btn:hover{background:rgba(231,76,60,.1);color:#e74c3c}.context-menu{background:white;border-radius:8px;box-shadow:0 8px 24px #00000026;border:1px solid #e1e8ed;padding:6px 0;min-width:160px;animation:fadeInScale .15s ease-out}.context-menu-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;color:#495057;font-size:.9rem;transition:all .2s}.context-menu-item:hover{background:#f8f9fa;color:#212529}.context-menu-item.danger{color:#e74c3c}.context-menu-item.danger:hover{background:#ffeaea;color:#c0392b}.context-menu-divider{height:1px;background:#e1e8ed;margin:6px 0}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-block-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center}.floating-block-menu{background:white;border-radius:12px;box-shadow:0 20px 60px #0003;max-width:600px;max-height:80vh;overflow:hidden;animation:menuSlideIn .3s ease-out}@keyframes menuSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-menu-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e1e8ed;background:#f8f9fa}.floating-menu-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.close-btn{width:32px;height:32px;border:none;background:none;font-size:24px;color:#666;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#e9ecef;color:#333}.floating-menu-content{padding:20px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:60vh;overflow-y:auto}.floating-menu-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:80px;text-align:center}.floating-menu-item:hover{background:#e9ecef;border-color:#007bff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}.floating-menu-item span{font-size:12px;font-weight:500;color:#495057}.menu-item-icon{font-size:20px;color:#495057}.vocabulary-word-dialog-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:rgba(0,0,0,.6)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.vocabulary-word-dialog{background:white!important;border-radius:16px!important;width:90%!important;max-width:480px!important;max-height:85vh!important;display:flex!important;flex-direction:column!important;box-shadow:0 25px 50px -12px #00000040!important;animation:slideIn .3s ease-out;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vocabulary-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#ffffff,#f9fafb)}.vocabulary-dialog-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.vocabulary-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:8px;transition:all .2s}.vocabulary-close-btn:hover{background:#fee2e2;color:#dc2626;transform:rotate(90deg)}.vocabulary-dialog-body{padding:28px;overflow-y:auto;flex:1;background:white}.vocabulary-dialog-field{margin-bottom:20px}.vocabulary-dialog-field:last-child{margin-bottom:0}.vocabulary-dialog-field label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:8px}.vocabulary-dialog-field input,.vocabulary-dialog-field select{width:100%;padding:11px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:all .2s;background:#fafafa}.vocabulary-dialog-field input:focus,.vocabulary-dialog-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background:white}.vocabulary-dialog-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.vocabulary-footer-buttons{display:flex;gap:8px}.vocabulary-delete-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.vocabulary-delete-btn:hover{background:#fecaca;transform:translateY(-1px)}.vocabulary-cancel-btn{padding:10px 16px;background:white;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.vocabulary-cancel-btn:hover{background:#f9fafb;color:#374151}.vocabulary-save-btn{display:flex;align-items:center;gap:6px;padding:11px 20px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #3b82f64d}.vocabulary-save-btn:hover{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 6px 8px -1px #3b82f666;transform:translateY(-1px)}.vocabulary-dialog-body::-webkit-scrollbar{width:6px}.vocabulary-dialog-body::-webkit-scrollbar-track{background:#f3f4f6}.vocabulary-dialog-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.vocabulary-dialog-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.template-library{display:flex;flex-direction:column;height:100%;padding:16px;background:#ffffff}.search-section{margin-bottom:16px}.search-icon{position:absolute;left:12px;color:#8c8c8c;z-index:1}.search-input input{width:100%;padding:8px 12px 8px 36px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;background:white;transition:all .2s ease}.search-input input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.search-input input::-moz-placeholder{color:#bfbfbf}.search-input input::placeholder{color:#bfbfbf}.category-filter{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.category-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:16px;background:white;color:#666;font-size:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.category-btn:hover{border-color:#1890ff;color:#1890ff}.category-btn.active{background:#1890ff;border-color:#1890ff;color:#fff}.category-btn span{font-weight:500}.status-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.status-chip{border:1px solid #d9d9d9;border-radius:16px;padding:4px 12px;background:#fff;font-size:12px;color:#595959;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.status-chip .status-count{background:#f5f5f5;border-radius:10px;padding:0 6px;font-size:11px;color:#8c8c8c}.status-chip.active{border-color:#1890ff;background:rgba(24,144,255,.1);color:#1890ff}.status-chip.active .status-count{background:rgba(24,144,255,.15);color:#1890ff}.status-group{margin-bottom:20px;border:1px solid #f0f0f0;border-radius:8px;padding:12px;background:#fafafa}.status-group-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#262626;margin-bottom:12px}.status-group-count{background:#fff;border-radius:12px;padding:2px 8px;font-size:12px;border:1px solid #e5e7eb}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;border-radius:999px;margin-bottom:6px;width:-moz-fit-content;width:fit-content}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#262626;font-size:14px;font-weight:600}.template-count{color:#8c8c8c;font-weight:400;font-size:12px}.templates-section{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:900px;margin:0 auto}.templates-container{display:flex;flex-direction:column;gap:0;overflow-y:auto;padding-right:4px;width:100%}.templates-list{display:flex;flex-direction:column;gap:12px;width:100%}.template-item{background:white;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #0000000a;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;width:100%;border:1px solid #e8e8e8}.template-item:hover{box-shadow:0 2px 8px #00000014;border-color:#d9d9d9}.selected-template{border:2px solid #1890ff!important;box-shadow:0 0 0 2px #1890ff1a}.template-preview{position:relative;width:100%;height:200px;overflow:hidden;background:#f5f5f5;flex-shrink:0}.template-preview img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.template-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#1890ff;background:linear-gradient(135deg,#e6f7ff 0%,#f0f5ff 100%);transition:all .2s ease}.template-item:hover .template-placeholder{background:linear-gradient(135deg,#bae7ff 0%,#d6e4ff 100%);color:#0050b3}.template-info{display:flex;flex-direction:column;padding:12px 16px;min-width:0}.template-name{font-size:15px;font-weight:500;color:#262626;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-description{font-size:13px;color:#8c8c8c;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#f5f5f5;color:#ff4d4f;font-size:12px}.image-error-icon{font-size:24px;margin-bottom:4px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#8c8c8c}.loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#8c8c8c;text-align:center}.empty-state>*{margin-bottom:8px}.empty-state h3{font-size:16px;font-weight:500;color:#595959;margin:0}.empty-state p{font-size:14px;margin:0}.empty-state svg{font-size:48px;opacity:.5}.template-meta,.template-bottom-tags,.template-tag,.education-tag,.template-hover-overlay,.template-use-btn,.template-category-tag{display:none}@media (max-width: 1200px){.templates-section{max-width:800px}}@media (max-width: 768px){.template-library{padding:12px}.templates-section{max-width:100%}.template-preview{height:160px}.template-info{padding:10px 12px}.template-name{font-size:14px}.template-description{font-size:12px}.category-btn{padding:4px 8px;font-size:11px}}@media (max-width: 480px){.template-preview{height:140px}.template-info{padding:8px 10px}.template-name{font-size:13px}.template-description{font-size:11px;-webkit-line-clamp:1}.search-input input{font-size:16px}}@media (prefers-color-scheme: dark){.template-library{background:#1f1f1f;color:#e8e8e8}.search-input input{background:#2a2a2a;border-color:#434343;color:#e8e8e8}.search-input input:focus{border-color:#1890ff}.category-btn{background:#2a2a2a;border-color:#434343;color:#e8e8e8}.category-btn:hover{border-color:#1890ff;color:#1890ff}.template-item{background:#2a2a2a;border-color:#434343}.template-item:hover{border-color:#1890ff}.template-placeholder{color:#666;background:#222}.template-info,.template-name{color:#e8e8e8}.template-description{color:#a6a6a6}.section-title{color:#e8e8e8}}.dynamic-field{margin-bottom:25px}.dynamic-field-category{margin-bottom:16px}.field-label{display:block;font-size:14px;font-weight:600;color:#2c3e50;margin-bottom:8px}.field-label .required{color:#e74c3c;margin-left:4px}.field-description{font-size:13px;color:#7f8c8d;margin-bottom:12px;line-height:1.5}.field-hint{font-size:12px;color:#e67e22;margin-top:8px}.field-input,.field-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.field-input:focus,.field-select:focus{outline:none;border-color:#3498db}.checkbox-field{padding:12px;background:#f8f9fa;border-radius:8px}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:500}.checkbox-label input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer}.word-list,.sentence-list{margin-bottom:15px;max-height:400px;overflow-y:auto}.word-item,.sentence-item{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:10px;background:#f8f9fa;border-radius:6px;transition:background-color .2s}.word-item:hover,.sentence-item:hover{background:#e9ecef}.word-number,.sentence-number{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#3498db;color:#fff;border-radius:50%;font-size:12px;font-weight:600}.word-item input,.sentence-item input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.word-item input:focus,.sentence-item input:focus{outline:none;border-color:#3498db}.word-item.with-category,.word-item.with-translation,.sentence-item.with-translation{gap:8px}.word-input{flex:2}.category-select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:white}.translation-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff9e6}.word-item.word-pair{gap:8px}.pair-input{flex:1}.separator{color:#95a5a6;font-weight:600;flex-shrink:0}.sentence-input{font-size:14px}.btn-add{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s}.btn-add:hover{background:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.btn-remove{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-remove:hover{background:#c0392b;transform:scale(1.1)}.word-list::-webkit-scrollbar,.sentence-list::-webkit-scrollbar,.category-list::-webkit-scrollbar{width:8px}.word-list::-webkit-scrollbar-track,.sentence-list::-webkit-scrollbar-track,.category-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.word-list::-webkit-scrollbar-thumb,.sentence-list::-webkit-scrollbar-thumb,.category-list::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:4px}.word-list::-webkit-scrollbar-thumb:hover,.sentence-list::-webkit-scrollbar-thumb:hover,.category-list::-webkit-scrollbar-thumb:hover{background:#95a5a6}.file-upload-zone{margin:12px 0;background:linear-gradient(135deg,#f5f7fa 0%,#e9ecef 100%);border:2px dashed #bdc3c7;border-radius:8px;transition:all .3s;overflow:hidden}.file-upload-zone:hover{border-color:#3498db;background:linear-gradient(135deg,#e8f4f8 0%,#d5e8f0 100%)}.upload-zone-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .2s}.upload-zone-header:hover{background-color:#3498db1a}.upload-zone-title{font-size:14px;font-weight:500;color:#2c3e50}.expand-icon{color:#7f8c8d;transition:transform .3s ease;flex-shrink:0}.upload-zone-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out,opacity .2s ease-out;padding:0 16px;opacity:0}.upload-zone-content.expanded{max-height:1000px;padding:12px 16px 16px;opacity:1}.upload-zone-content.collapsed{max-height:0;padding:0 16px;opacity:0}.upload-buttons{display:flex;gap:8px;align-items:center;margin-bottom:10px}.btn-upload,.btn-help{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;white-space:nowrap}.btn-upload{padding:8px 14px;background:#27ae60;color:#fff;flex-shrink:0}.btn-upload:hover{background:#229954;transform:translateY(-1px);box-shadow:0 3px 6px #27ae604d}.btn-help{padding:8px;width:36px;height:36px;background:#95a5a6;color:#fff;flex-shrink:0}.btn-help:hover{background:#7f8c8d;transform:scale(1.05)}.format-help{margin:10px 0 0;padding:12px;background:white;border-left:3px solid #3498db;border-radius:6px;box-shadow:0 2px 6px #00000014}.format-help h4{margin:0 0 10px;color:#2c3e50;font-size:13px;font-weight:600}.help-section{margin-bottom:10px}.help-section:last-child{margin-bottom:0}.help-section strong{display:block;color:#34495e;font-size:12px;margin-bottom:5px}.dynamic-field-phonics-pro .phonics-pro-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.dynamic-field-phonics-pro .empty-hint{padding:14px;background:#f8f9fa;border:1px dashed #ced4da;border-radius:8px;color:#6c757d;text-align:center}.phonics-pro-card{border:1px solid #e0e0e0;border-radius:10px;padding:16px;background:#fff;box-shadow:0 2px 8px #0000000a}.phonics-pro-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:#2c3e50}.phonics-pro-card .card-title{font-size:15px}.phonics-pro-card .card-actions{display:flex;align-items:center;gap:8px}.btn-toggle{width:32px;height:32px;border:none;border-radius:4px;background:#ecf0f1;color:#2c3e50;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.btn-toggle:hover{background:#dfe6e9;transform:scale(1.05)}.phonics-card-body.collapsed{display:none}.phonics-card-body.expanded{display:block}.phonics-pro-card .card-row{display:flex;gap:10px;margin-bottom:10px}.phonics-pro-card .card-row input,.phonics-pro-card .card-row textarea{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.phonics-pro-card .card-row textarea{resize:vertical}.phonics-pro-card .card-row.multi-line textarea{min-height:60px}.phonics-pro-card .pos-input{max-width:140px}.phonics-pro-card .phonetic-input{max-width:200px}.phonics-section{margin-top:12px;padding-top:12px;border-top:1px dashed #e0e0e0}.phonics-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.phonics-row label{font-size:13px;color:#34495e;font-weight:500}.phonics-row input{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.map-table{background:#f8f9fa;padding:12px;border-radius:8px;border:1px solid #e0e0e0}.map-table-header,.map-table-row{display:grid;grid-template-columns:1fr 1fr 40px;gap:8px;align-items:center}.map-table-header{font-size:13px;font-weight:600;color:#2c3e50;margin-bottom:6px}.map-table-row input{padding:6px 8px;border:1px solid #d0d7de;border-radius:5px;font-size:13px}.map-table .btn-add{margin-top:10px}.help-section pre{background:#f8f9fa;padding:8px;border-radius:4px;font-size:11px;line-height:1.5;color:#555;margin:0;white-space:pre-wrap;word-wrap:break-word}.paste-area{display:flex;gap:8px;align-items:flex-start}.paste-textarea{flex:1;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;font-family:Consolas,Monaco,monospace;resize:vertical;min-height:60px;transition:border-color .3s}.paste-textarea:focus{outline:none;border-color:#3498db}.paste-textarea::-moz-placeholder{color:#95a5a6;font-family:inherit;font-size:12px}.paste-textarea::placeholder{color:#95a5a6;font-family:inherit;font-size:12px}.btn-import{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0;height:-moz-fit-content;height:fit-content}.btn-import:hover:not(:disabled){background:#2980b9;transform:translateY(-1px);box-shadow:0 3px 6px #3498db4d}.btn-import:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.upload-error{margin-top:10px;padding:10px 12px;background:#fee;border-left:4px solid #e74c3c;border-radius:4px;color:#c0392b;font-size:13px;font-weight:500}@media (max-width: 768px){.word-item.with-category,.word-item.word-pair{flex-wrap:wrap}.word-input,.category-select,.pair-input{flex:1 1 100%}.separator{display:none}.btn-remove{position:absolute;right:10px;top:10px}.word-item,.sentence-item{position:relative;padding-right:50px}.upload-buttons{flex-wrap:wrap}.btn-upload{flex:1 1 auto;min-width:120px}.btn-help{flex:0 0 auto}.paste-area{flex-direction:column}.btn-import{width:100%;justify-content:center}.paste-textarea{min-height:80px}}.game-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;background:white;border-radius:8px}.loading-spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.game-editor-loading p{color:#6b7280;font-size:14px}.game-editor{display:flex;flex-direction:column;height:100%;background:white;border-radius:8px;overflow:hidden}.game-editor-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to bottom,#f9fafb 0%,#ffffff 100%)}.game-editor-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-ai-workflow{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:6px;border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-ai-workflow:hover{background:#e0e7ff}.btn-ai-workflow.loading{opacity:.7;cursor:progress}.workflow-result-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 8px;border-radius:999px;background:#4c1d95;color:#fff;font-size:12px;font-weight:600}.header-left h3{margin:0;font-size:20px;color:#111827}.template-description{margin:5px 0 0;font-size:14px;color:#6b7280}.btn-close{padding:8px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#111827}.game-editor-content{flex:1;overflow-y:auto;padding:24px}.config-section{margin-bottom:32px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.config-section h4{margin:0 0 16px;font-size:16px;color:#111827}.config-group{margin-bottom:16px}.config-group:last-child{margin-bottom:0}.config-group label{display:block;font-size:14px;color:#374151;font-weight:500;margin-bottom:6px}.config-group input[type=text],.config-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s}.config-group input[type=text]:focus,.config-group select:focus{outline:none;border-color:#6c3483;box-shadow:0 0 0 3px #6c34831a}.checkbox-group label{display:flex;align-items:center;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer}.checkbox-group span{font-size:14px;color:#374151}.hint{margin:6px 0 0;font-size:13px;color:#6b7280}.config-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.words-section{background:white}.words-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.words-header h4{margin:0;font-size:16px;color:#111827}.word-count{font-size:14px;color:#6b7280;background:#f3f4f6;padding:4px 12px;border-radius:12px}.import-controls{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.import-controls button{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #d1d5db;border-radius:6px;background:white;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.import-controls button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.import-controls button:disabled{opacity:.5;cursor:not-allowed}.btn-add{background:#6c3483!important;color:#fff!important;border-color:#6c3483!important}.btn-add:hover:not(:disabled){background:#4a235a!important}.paste-area{margin-bottom:16px;padding:16px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;display:flex;align-items:flex-start;gap:12px}.paste-area svg{color:#6b7280;flex-shrink:0;margin-top:4px}.paste-area textarea{flex:1;padding:8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px}.paste-area textarea:focus{outline:none;border-color:#6c3483;box-shadow:0 0 0 2px #6c34831a}.word-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding-right:8px}.word-list::-webkit-scrollbar{width:6px}.word-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.word-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.word-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.word-item{display:flex;align-items:center;gap:10px;padding:8px;background:white;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.word-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.word-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:4px;font-size:13px;color:#6b7280;font-weight:500;flex-shrink:0}.word-item input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px}.word-item input:focus{outline:none;border-color:#6c3483;box-shadow:0 0 0 2px #6c34831a}.btn-remove{padding:6px;background:transparent;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;color:#ef4444;transition:all .2s;flex-shrink:0}.btn-remove:hover{background:#fef2f2;border-color:#ef4444}.empty-state{padding:48px 24px;text-align:center;color:#6b7280}.empty-state p{margin:0 0 8px;font-size:14px}.empty-state .hint{margin:0;font-size:13px}.game-editor-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.game-editor-footer button{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:white;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-preview{background:white;border:1px solid #6c3483;color:#6c3483}.btn-preview:hover:not(:disabled){background:#f5f3f6}.btn-primary{background:#6c3483;border:1px solid #6c3483;color:#fff}.btn-primary:hover:not(:disabled){background:#4a235a}.btn-preview:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.game-preview-container{display:flex;flex-direction:column;height:100%;background:white}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.preview-header h3{margin:0;font-size:18px;color:#111827}.btn-close-preview{display:flex;align-items:center;gap:6px;padding:8px 16px;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.btn-close-preview:hover{background:#f9fafb;border-color:#9ca3af}.game-preview-iframe{flex:1;border:none;width:100%;height:100%}.btn-import-vocabulary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#6c3483;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-import-vocabulary:hover{background:#4a235a;box-shadow:0 2px 8px #6c34834d}.vocabulary-import-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.vocabulary-import-dialog{background:white;border-radius:12px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.dialog-header h3{margin:0;font-size:18px;color:#111827;font-weight:600}.dialog-header .btn-close{padding:6px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s;display:flex;align-items:center;justify-content:center}.dialog-header .btn-close:hover{background:#f3f4f6;color:#111827}.dialog-content{flex:1;overflow-y:auto;padding:24px}.import-info{margin-bottom:24px;padding:16px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.import-info p{margin:0 0 12px;font-size:14px;color:#1e40af}.import-info strong{color:#1e3a8a;font-weight:600}.vocabulary-preview{margin-top:12px;padding:12px;background:white;border-radius:6px;border:1px solid #dbeafe}.vocabulary-preview p{margin:0 0 8px;font-size:13px;color:#1e40af;font-weight:500}.vocabulary-preview ul{margin:0;padding-left:20px;list-style:none}.vocabulary-preview li{margin:4px 0;font-size:13px;color:#374151;line-height:1.6}.vocabulary-preview li strong{color:#111827;font-weight:600}.vocabulary-preview li .pronunciation{color:#6b7280;font-style:italic}.vocabulary-preview li .meaning{color:#4b5563}.vocabulary-preview li.more-items{color:#9ca3af;font-style:italic;margin-top:8px}.import-options{display:flex;flex-direction:column;gap:20px}.option-group{display:flex;flex-direction:column;gap:8px}.option-group label{font-size:14px;font-weight:500;color:#374151}.field-select,.mode-select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:white;color:#111827;cursor:pointer;transition:all .2s}.field-select:focus,.mode-select:focus{outline:none;border-color:#6c3483;box-shadow:0 0 0 3px #6c34831a}.mode-description{margin:4px 0 0;font-size:12px;color:#6b7280;font-style:italic;padding:8px;background:#f9fafb;border-radius:4px;border-left:3px solid #6c3483}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.dialog-footer button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:white;color:#374151;border:1px solid #d1d5db}.btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.btn-confirm{background:#6c3483;color:#fff}.btn-confirm:hover:not(:disabled){background:#4a235a;box-shadow:0 2px 8px #6c34834d}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.config-row{grid-template-columns:1fr}.import-controls{flex-direction:column}.import-controls button{width:100%;justify-content:center}.vocabulary-import-dialog{max-width:100%;margin:10px}.dialog-content{padding:16px}}.reading-config-panel{padding:16px;height:100%;overflow-y:auto}.panel-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.panel-section:last-child{border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.panel-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.switch-control{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.switch-control input{opacity:0;width:0;height:0}.switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;border-radius:24px;transition:.3s}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s}.switch-control input:checked+.switch-slider{background-color:#3b82f6}.switch-control input:checked+.switch-slider:before{transform:translate(20px)}.hint-text{font-size:13px;color:#6b7280;margin:8px 0 0}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-item{display:flex;align-items:flex-start;padding:12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.radio-item:hover{background-color:#f9fafb;border-color:#3b82f6}.radio-item input[type=radio]{margin-right:10px;margin-top:2px;flex-shrink:0}.radio-item>span:first-of-type{flex:1;font-size:14px;color:#1f2937;font-weight:500}.item-hint{display:block;font-size:12px;color:#6b7280;margin-top:4px}.radio-item input[type=radio]:disabled~span{opacity:.5;cursor:not-allowed}.content-summary{margin-top:12px;padding:8px 12px;background-color:#f3f4f6;border-radius:6px;font-size:12px;color:#6b7280}.variable-select-wrapper{position:relative;margin-bottom:12px}.variable-select-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .2s;min-height:42px}.variable-select-trigger:hover{border-color:#3b82f6;background-color:#f9fafb}.selected-display{flex:1;display:flex;align-items:center;gap:6px;overflow:hidden}.placeholder{font-size:14px;color:#9ca3af}.selected-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.selected-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background-color:#eff6ff;color:#1e40af;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin-left:2px;background-color:#1e40af1a;color:#1e40af;border:none;border-radius:3px;font-size:14px;line-height:1;cursor:pointer;transition:all .2s;flex-shrink:0}.tag-remove:hover{background-color:#dc26261a;color:#dc2626}.more-count{padding:3px 8px;background-color:#f3f4f6;color:#6b7280;border-radius:4px;font-size:12px;font-weight:500}.dropdown-arrow{font-size:12px;color:#6b7280;flex-shrink:0;margin-left:8px}.variable-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:white;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-height:320px;display:flex;flex-direction:column}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;border-radius:8px 8px 0 0}.variables-stats{font-size:12px;color:#6b7280;font-weight:500}.select-all-btn-small{padding:4px 10px;font-size:11px;font-weight:500;color:#3b82f6;background-color:#fff;border:1px solid #3b82f6;border-radius:4px;cursor:pointer;transition:all .2s}.select-all-btn-small:hover{background-color:#3b82f6;color:#fff}.dropdown-list{overflow-y:auto;max-height:260px}.dropdown-item{display:flex;align-items:flex-start;padding:10px 12px;cursor:pointer;transition:all .2s;border-bottom:1px solid #f3f4f6}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:#f9fafb}.dropdown-item input[type=checkbox]{margin-right:10px;margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer}.variable-info{flex:1;display:flex;flex-direction:column;gap:3px}.variable-name{font-size:14px;font-weight:500;color:#1f2937;display:flex;align-items:center;gap:6px}.variable-meta{font-size:11px;color:#9ca3af;display:flex;align-items:center;gap:6px}.narration-badge-small{display:inline-flex;align-items:center;font-size:11px;margin-left:4px}.content-hint{margin-top:12px;padding:8px 12px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px}.content-hint small{font-size:12px;color:#1e40af;line-height:1.5}.no-variables-hint{text-align:center;padding:24px 16px;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px}.no-variables-hint p{margin:0 0 8px;font-size:14px;font-weight:500;color:#92400e}.no-variables-hint small{font-size:12px;color:#78350f}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:8px}.form-group select,.form-group input[type=text]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;background-color:#fff;transition:border-color .2s}.form-group select:focus,.form-group input[type=text]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e5e7eb;outline:none;-webkit-appearance:none}.form-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#3b82f6;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.form-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);background:#2563eb}.form-group input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none;-moz-transition:all .2s;transition:all .2s}.form-group input[type=range]::-moz-range-thumb:hover{transform:scale(1.2);background:#2563eb}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af;margin-top:4px}.color-preset-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:12px}.color-preset{width:100%;height:40px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.color-preset:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.color-preset.active{border-color:#3b82f6;border-width:3px;box-shadow:0 0 0 3px #3b82f633}.color-picker-wrapper{display:flex;align-items:center;gap:10px;padding:10px;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.color-picker-label{font-size:13px;color:#6b7280;font-weight:500;margin:0}.color-picker-input{width:60px;height:40px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;padding:2px;transition:all .2s}.color-picker-input:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.highlight-style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.style-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s;font-size:12px;color:#6b7280;font-weight:500}.style-option:hover{border-color:#3b82f6;background-color:#eff6ff;color:#3b82f6}.style-option.active{border-color:#3b82f6;background-color:#dbeafe;color:#1d4ed8}.style-option svg{flex-shrink:0}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-item{display:flex;align-items:center;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.checkbox-item:hover{background-color:#f9fafb}.checkbox-item input[type=checkbox]{margin-right:10px}.checkbox-item span{font-size:14px;color:#374151}.test-button{width:100%;padding:10px 16px;border:2px solid #3b82f6;border-radius:8px;background-color:#fff;color:#3b82f6;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.test-button:hover{background-color:#3b82f6;color:#fff}.test-button.playing{background-color:#ef4444;border-color:#ef4444;color:#fff}.test-button.playing:hover{background-color:#dc2626;border-color:#dc2626}.preview-hint{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px;margin-top:16px}.preview-hint p{margin:0;font-size:13px;color:#1e40af;display:flex;align-items:center;gap:8px;line-height:1.5}.preview-hint svg{flex-shrink:0}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header-with-action h4{margin:0;font-size:14px;font-weight:600;color:#374151}.preview-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#6b7280;cursor:pointer;transition:all .2s;font-size:13px;gap:6px}.preview-toggle-btn:hover{border-color:#3b82f6;background-color:#eff6ff;color:#3b82f6}.preview-toggle-btn svg{flex-shrink:0}.narration-content-preview{margin-top:12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:12px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:500px;padding-top:12px;padding-bottom:12px}}.preview-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.preview-item{background:white;border:1px solid #e9ecef;border-radius:6px;padding:10px;transition:all .2s}.preview-item:hover{border-color:#ff9800;box-shadow:0 2px 8px #ff980026}.preview-item-header{margin-bottom:8px}.preview-var-name{font-size:13px;font-weight:600;color:#ff9800;display:inline-flex;align-items:center;gap:4px}.preview-content{font-size:13px;color:#495057;line-height:1.6;padding:10px;background:#f8f9fa;border-radius:4px;border-left:3px solid #ff9800;word-break:break-word;max-height:150px;overflow-y:auto}.preview-content p{margin:0 0 8px}.preview-content p:last-child{margin-bottom:0}.preview-content strong{font-weight:600}.preview-content em{font-style:italic}.preview-empty{font-size:12px;color:#6c757d;font-style:italic;padding:8px;text-align:center;background:#f8f9fa;border-radius:4px}.preview-list::-webkit-scrollbar,.preview-content::-webkit-scrollbar{width:6px;height:6px}.preview-list::-webkit-scrollbar-track,.preview-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.preview-list::-webkit-scrollbar-thumb,.preview-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.preview-list::-webkit-scrollbar-thumb:hover,.preview-content::-webkit-scrollbar-thumb:hover{background:#999}.position-hint{margin-top:12px;padding:10px 12px;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%);border:1px solid #38bdf8;border-radius:6px}.position-hint p{margin:0;font-size:12px;color:#075985;line-height:1.6}.position-hint span{display:flex;align-items:center;gap:6px}.usage-tips{margin-top:16px;padding:12px;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #fbbf24;border-radius:8px}.usage-tips h5{margin:0 0 10px;font-size:13px;font-weight:600;color:#92400e;display:flex;align-items:center;gap:6px}.usage-tips ul{margin:0;padding-left:20px;list-style:none}.usage-tips li{position:relative;font-size:12px;color:#78350f;line-height:1.8;padding-left:0}.usage-tips li:before{content:"•";position:absolute;left:-15px;color:#f59e0b;font-weight:700}.usage-tips strong{color:#92400e;font-weight:600}@media (max-width: 768px){.reading-config-panel{padding:12px}.highlight-style-grid{grid-template-columns:1fr}.preview-content{max-height:100px}.usage-tips li{font-size:11px}}.note-type-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.note-type-manager{background:white;border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.note-type-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.note-type-header h2{margin:0;font-size:16px;font-weight:600;color:#111827}.note-type-content{display:flex;flex-direction:column;gap:20px;padding:20px;overflow-y:auto}.note-type-form-section,.note-type-list-section{display:flex;flex-direction:column;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.note-type-filters{display:flex;gap:12px;margin-bottom:16px}.note-type-filters select,.note-type-filters input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit}.note-type-filters input{min-width:0}.note-type-form-section h3,.note-type-list-section h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-preview{width:24px;height:24px;border-radius:4px;margin-top:8px;border:2px solid #e5e7eb}.form-actions{display:flex;gap:8px;margin-top:20px}.note-type-list{display:flex;flex-direction:column;gap:12px}.note-type-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.note-type-item:hover{background:#f3f4f6;border-color:#d1d5db}.type-info{display:flex;align-items:center;gap:12px;flex:1}.type-badge{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.type-details{flex:1}.type-name{font-weight:500;color:#111827;margin-bottom:2px}.type-description{font-size:12px;color:#6b7280}.type-actions{display:flex;gap:8px}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:white;color:#3b82f6;border:1px solid #3b82f6}.btn-edit:hover{background:#eff6ff}.btn-delete{background:white;color:#ef4444;border:1px solid #ef4444}.btn-delete:hover{background:#fef2f2}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.note-type-filters{flex-direction:column}}.draft-save-dialog .ant-modal-header{border-bottom:1px solid #f0f0f0;padding:16px 24px}.draft-save-dialog-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#262626}.draft-save-dialog-content{padding:8px 0}.draft-save-dialog-hint{margin:0 0 20px;color:#595959;font-size:14px}.draft-save-radio-group,.draft-save-radio-group .ant-radio-group{width:100%}.draft-save-radio-item{width:100%;margin:0!important;padding:12px;border:1px solid #e8e8e8;border-radius:6px;transition:all .2s;cursor:pointer}.draft-save-radio-item:hover{border-color:#1890ff;background-color:#f0f9ff}.draft-save-radio-item.ant-radio-wrapper-checked{border-color:#1890ff;background-color:#e6f7ff}.draft-option-content{width:100%;margin-left:8px}.draft-option-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.draft-option-title{font-size:14px;font-weight:500;color:#262626}.draft-option-meta{display:flex;align-items:center;gap:12px;margin-top:4px;padding-left:24px}.draft-meta-item{display:flex;align-items:center;gap:4px;font-size:12px;color:#8c8c8c}.draft-name-input-wrapper{margin-top:8px;padding-left:24px}.draft-name-input-wrapper .ant-input{border-radius:4px}.draft-empty-hint{margin-top:16px;padding:12px;background-color:#fafafa;border-radius:4px;text-align:center}.draft-empty-hint p{margin:0;color:#8c8c8c;font-size:13px}.canva-editor{display:flex;height:100vh;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;min-width:1024px}.canva-toolbar{width:64px;background:#ffffff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:1000;box-shadow:1px 0 3px #0000000d;flex-shrink:0}.toolbar-brand{height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e5e7eb}.brand-logo{width:40px;height:40px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.brand-logo:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea4d;background:linear-gradient(135deg,#5a67d8 0%,#667eea 100%)}.toolbar-nav{flex:1;padding:16px 0}.canva-toolbar .nav-item{width:48px;height:48px;margin:4px 8px;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#6b7280;position:relative}.canva-toolbar .nav-item:hover{background:#f3f4f6;color:#374151}.canva-toolbar .nav-item.active{background:#ede9fe;color:#8b5cf6}.canva-toolbar .nav-item.active:after{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:24px;background:#8b5cf6;border-radius:0 2px 2px 0}.canva-toolbar .nav-item.exit-item{margin-bottom:16px;border-bottom:1px solid #e5e7eb;padding-bottom:8px}.canva-toolbar .nav-item.exit-item:hover{background:#fef2f2;color:#dc2626}.toolbar-user{padding:16px;border-top:1px solid #e5e7eb}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.user-avatar:hover{transform:scale(1.1);box-shadow:0 4px 12px #06b6d440}.editor-workspace{flex:1;display:flex;height:100vh;position:relative;min-width:0}.left-panel{background:#ffffff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;transition:all .3s ease;box-shadow:1px 0 3px #0000000d;flex-shrink:0;z-index:100}.left-panel.expanded{width:380px}.left-panel.collapsed{width:0;overflow:hidden}.panel-header{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;background:#fafafa}.panel-title h2{margin:0;font-size:18px;font-weight:600;color:#111827}.panel-toggle{width:32px;height:32px;border:none;background:#f3f4f6;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#6b7280}.panel-toggle:hover{background:#e5e7eb;color:#374151}.panel-content{flex:1;overflow-y:auto;padding:0}.template-content{padding:20px}.draft-panel{padding:20px;display:flex;flex-direction:column;gap:16px}.draft-actions{display:flex;gap:10px;flex-wrap:wrap}.draft-btn{border:1px solid #d1d5db;background:#ffffff;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;color:#374151;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.draft-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#7c3aed;color:#fff;box-shadow:0 4px 10px #7c3aed40}.draft-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #0f172a1a}.draft-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.draft-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid #ede9fe;border-radius:10px;background:#fdfaff;font-size:13px;color:#4b5563}.summary-label{color:#6b7280;margin-right:4px}.summary-value{font-weight:600;color:#4c1d95}.summary-meta{font-size:12px;color:#9ca3af}.draft-list{display:flex;flex-direction:column;gap:12px}.draft-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#ffffff;transition:all .2s ease}.draft-item:hover{border-color:#c4b5fd;box-shadow:0 4px 12px #0f172a0d}.draft-item.active{border-color:#8b5cf6;background:#f5f3ff;box-shadow:0 0 0 3px #8b5cf626}.draft-item-info{flex:1;cursor:pointer}.draft-item-title{font-size:14px;font-weight:600;color:#111827;display:flex;align-items:center;gap:6px}.draft-item-meta{margin-top:4px;font-size:12px;color:#6b7280}.draft-item-actions{display:flex;gap:6px}.draft-action-btn{width:32px;height:32px;border:1px solid #e5e7eb;border-radius:8px;background:#ffffff;color:#4b5563;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.draft-action-btn:hover{border-color:#8b5cf6;color:#7c3aed}.draft-action-btn.danger:hover{border-color:#f87171;color:#dc2626}.draft-empty{text-align:center;padding:40px 20px;border:1px dashed #d1d5db;border-radius:12px;color:#9ca3af;background:#fafafa;font-size:14px;line-height:1.6}.draft-dirty-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;display:inline-block;animation:draftPulse 1.6s ease-in-out infinite}@keyframes draftPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.draft-indicator{margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#f5f3ff;color:#5b21b6;font-size:13px;font-weight:500}.top-btn.highlight{box-shadow:0 0 0 3px #8b5cf640;animation:buttonPulse 1.6s ease-in-out infinite}@keyframes buttonPulse{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}.search-section{margin-bottom:20px}.search-input{position:relative;display:flex;align-items:center}.search-input svg{position:absolute;left:12px;color:#9ca3af;z-index:1}.search-input input{width:100%;height:40px;padding:0 12px 0 40px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#ffffff;transition:all .2s ease}.search-input input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.filter-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:4px}.filter-tab{padding:8px 16px;border:1px solid #d1d5db;background:#ffffff;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;color:#6b7280}.filter-tab:hover{border-color:#8b5cf6;color:#8b5cf6}.filter-tab.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.template-item{cursor:pointer;border-radius:12px;overflow:hidden;transition:all .2s ease;border:2px solid transparent;background:#ffffff;box-shadow:0 2px 8px #0000000a}.template-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#e5e7eb}.template-item.selected{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.template-preview{aspect-ratio:3/4;position:relative;overflow:hidden}.preview-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.template-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.template-item:hover .template-overlay{opacity:1}.use-template{padding:8px 16px;background:#ffffff;border:none;border-radius:6px;font-size:14px;font-weight:600;color:#111827;cursor:pointer;transition:all .2s ease}.use-template:hover{transform:scale(1.05)}.template-meta{padding:12px}.template-meta h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#111827}.template-meta p{margin:0;font-size:12px;color:#6b7280;line-height:1.4}.text-content{padding:20px}.text-presets{margin-bottom:32px}.text-presets h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.preset-list{display:flex;flex-direction:column;gap:8px}.preset-item{padding:16px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#ffffff}.preset-item:hover{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.preset-item h1,.preset-item h2,.preset-item p,.preset-item span{margin:0;pointer-events:none}.preset-item h1{font-size:24px;font-weight:700}.preset-item h2{font-size:18px;font-weight:600}.preset-item p{font-size:14px}.preset-item span{font-size:16px;font-weight:400}.ai-text-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.ai-input{background:#f8f9fa;padding:16px;border-radius:12px;border:1px solid #e5e7eb}.ai-input textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:vertical;margin-bottom:12px;box-sizing:border-box;background:#ffffff;font-family:inherit}.ai-input textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.ai-generate{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,#8b5cf6 0%,#a855f7 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:14px}.ai-generate:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf640}.image-content{padding:20px}.upload-zone{margin-bottom:32px}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.upload-area:hover{border-color:#8b5cf6;background:rgba(139,92,246,.02)}.upload-area svg{color:#9ca3af;margin-bottom:12px}.upload-area h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#111827}.upload-area p{margin:0 0 16px;font-size:14px;color:#6b7280}.upload-btn{padding:10px 20px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-btn:hover{background:#7c3aed;transform:translateY(-1px)}.image-categories h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{padding:12px 16px;background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s ease}.category-item:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6;transform:translate(4px)}.background-content{padding:20px}.bg-section{margin-bottom:32px}.bg-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.color-grid,.gradient-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.color-swatch,.gradient-swatch{aspect-ratio:1;border-radius:8px;cursor:pointer;border:2px solid #e5e7eb;transition:all .2s ease;position:relative;overflow:hidden}.color-swatch:hover,.gradient-swatch:hover{border-color:#8b5cf6;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.elements-content{padding:20px}.category-section{margin-bottom:32px}.category-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.shape-grid,.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.shape-item,.icon-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;color:#6b7280}.shape-item:hover,.icon-item:hover{background:#8b5cf6;color:#fff;border-color:#8b5cf6;transform:scale(1.05)}.uploads-content{padding:20px}.upload-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.upload-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.upload-new{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-new:hover{background:#7c3aed;transform:translateY(-1px)}.upload-placeholder{text-align:center;padding:60px 20px;color:#9ca3af}.upload-placeholder svg{margin-bottom:16px}.upload-placeholder p{margin:0 0 8px;font-size:16px;font-weight:500;color:#6b7280}.text-muted{font-size:14px!important;color:#9ca3af!important}.main-area{flex:1 1 auto;display:flex;flex-direction:column;background:#f8f9fa;min-width:400px;overflow:hidden}.top-bar{height:64px;background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 1px 3px #0000000d}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:8px}.top-bar-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.document-title{margin:0;font-size:16px;font-weight:600;color:#111827}.template-edit-indicator{display:flex;align-items:center;gap:8px;margin-top:4px;padding:4px 8px;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);border-radius:16px;font-size:12px;color:#fff;box-shadow:0 2px 8px #ff6b6b4d;animation:templateEditPulse 2s ease-in-out infinite}.edit-badge{font-weight:600;text-transform:uppercase;letter-spacing:.5px}.template-name{background:rgba(255,255,255,.2);padding:2px 6px;border-radius:8px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}.unsaved-dot{color:gold;font-size:8px;animation:unsavedBlink 1s ease-in-out infinite}@keyframes unsavedBlink{0%,50%{opacity:1}51%,to{opacity:.3}}@keyframes templateEditPulse{0%,to{box-shadow:0 2px 8px #ff6b6b4d}50%{box-shadow:0 4px 16px #ff6b6b80}}.top-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d1d5db;background:#ffffff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s ease}.top-btn:hover{border-color:#9ca3af;background:#f9fafb}.top-btn.secondary{background:#f3f4f6;border-color:#d1d5db}.top-btn.primary{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.top-btn.primary:hover{background:#7c3aed;border-color:#7c3aed}.top-btn.primary:disabled{background:#d1d5db;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.top-btn.primary:disabled:hover{background:#d1d5db;border-color:#d1d5db}.top-btn.success{background:#10b981;border-color:#10b981;color:#fff}.top-btn.success:hover{background:#059669;border-color:#059669}.top-btn.success:disabled{background:#d1d5db;border-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.top-btn.success:disabled:hover{background:#d1d5db;border-color:#d1d5db}.top-btn.toggle-active{border-color:#2563eb;color:#2563eb;background:#eef2ff;box-shadow:0 0 0 1px #2563eb1f}.top-btn.disabled{opacity:.5;cursor:not-allowed}.divider{width:1px;height:20px;background:#e5e7eb;margin:0 8px}.zoom-control{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#f3f4f6;border-radius:6px;border:1px solid #d1d5db}.zoom-btn{padding:4px;border:none;background:none;cursor:pointer;border-radius:4px;color:#6b7280;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.zoom-btn:hover{background:#e5e7eb;color:#374151}.zoom-display{font-size:14px;font-weight:600;color:#111827;min-width:40px;text-align:center}.canvas-workspace{flex:1;width:100%;height:100%;overflow:hidden;background:#f8f9fa;padding-top:5px}.canva-editor.handles-visible .grid-block:not(.selected){outline:1px dashed rgba(59,130,246,.4);outline-offset:-2px}.canva-editor.handles-visible .grid-block .drag-handle,.canva-editor.handles-visible .grid-block .grid-word-layout-toggle{opacity:1!important}.canva-editor.handles-visible .grid-block .drag-handle{background:#ffffff;color:#2563eb;border-left:1px solid rgba(37,99,235,.25);border-bottom:1px solid rgba(37,99,235,.25);box-shadow:0 4px 10px #0f172a26;z-index:999;pointer-events:auto}.canvas-container{width:100%;height:100%;overflow:auto;padding:5px 20px;display:flex;justify-content:center;align-items:flex-start;flex:1;background:#f8f9fa;min-height:0}.canvas-wrapper{background:#ffffff;border-radius:12px;box-shadow:0 10px 40px #0000001a;overflow:visible;transition:all .3s ease;border:1px solid #e5e7eb;max-width:100%;max-height:100%}.right-panel{background:#ffffff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;transition:all .3s ease;box-shadow:-1px 0 3px #0000000d;flex-shrink:0;z-index:100}.right-panel.expanded{width:525px}.right-panel.collapsed{width:0;overflow:hidden}.right-panel .panel-header{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;background:#fafafa}.right-panel .panel-toggle{order:-1}.panel-tabs{display:flex;border-bottom:1px solid #e1e8ed;background:#f8f9fa}.panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;background:transparent;color:#666;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.panel-tab:hover{background:#ffffff;color:#333}.panel-tab.active{background:#ffffff;color:#667eea;border-bottom-color:#667eea}.design-info{padding:20px;border-bottom:1px solid #f3f4f6}.info-item{display:flex;justify-content:space-between;align-items:center;font-size:14px}.info-label{color:#6b7280;font-weight:500}.info-value{color:#111827;font-weight:600}.design-section{padding:20px;border-bottom:1px solid #f3f4f6}.design-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.control-group label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.slider-control{display:flex;align-items:center;gap:12px}.slider-control input[type=range]{flex:1;height:4px;background:#e5e7eb;border-radius:2px;outline:none;cursor:pointer;-webkit-appearance:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#8b5cf6;border-radius:50%;cursor:pointer}.slider-control span{font-size:14px;font-weight:600;color:#111827;min-width:30px;text-align:right}.color-control{display:flex;align-items:center;gap:8px}.color-preview{width:32px;height:32px;border-radius:6px;border:1px solid #e5e7eb;flex-shrink:0}.color-control input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:SF Mono,Monaco,Consolas,monospace;background:#ffffff}.ai-assistant{background:#f8f9fa;padding:16px;border-radius:12px;border:1px solid #e5e7eb}.ai-assistant textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:vertical;box-sizing:border-box;margin-bottom:12px;background:#ffffff;font-family:inherit}.ai-assistant textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.ai-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,#8b5cf6 0%,#a855f7 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:14px}.ai-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf640}.canvas-content{padding:16px}.canvas-section h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#333}.canvas-tool-group{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.canvas-tool-group:last-child{border-bottom:none}.canvas-tool-group h4{margin:0 0 12px;font-size:14px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.canvas-tool-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.canvas-tool-btn:last-child{margin-bottom:0}.canvas-tool-btn:hover{background:#e9ecef;color:#212529;border-color:#ced4da}.canvas-tool-btn.primary{background:#28a745;color:#fff;border-color:#28a745}.canvas-tool-btn.primary:hover{background:#218838;border-color:#1e7e34}.canvas-tool-btn.success{background:#007bff;color:#fff;border-color:#007bff}.canvas-tool-btn.success:hover{background:#0056b3;border-color:#004085}.canvas-tool-btn.disabled{background:#f8f9fa;color:#adb5bd;border-color:#dee2e6;cursor:not-allowed;opacity:.6}.canvas-tool-btn.disabled:hover{background:#f8f9fa;color:#adb5bd;border-color:#dee2e6}.canvas-tool-btn.active{background:#007bff;color:#fff;border-color:#007bff}.canvas-tool-btn.active:hover{background:#0056b3;border-color:#004085}.mode-buttons,.operation-buttons,.save-export-buttons{display:flex;flex-direction:column;gap:8px}.zoom-control{display:flex;align-items:center;gap:8px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:8px}.zoom-control .canvas-tool-btn{flex:0 0 auto;width:auto;margin:0;padding:6px 8px;min-width:32px}.zoom-display{flex:1;text-align:center;font-size:13px;font-weight:500;color:#495057;min-width:50px}.panel-content::-webkit-scrollbar,.canvas-workspace::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track,.canvas-workspace::-webkit-scrollbar-track{background:#f3f4f6}.panel-content::-webkit-scrollbar-thumb,.canvas-workspace::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover,.canvas-workspace::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 1400px){.left-panel.expanded{width:350px}.right-panel.expanded{width:480px}}@media (max-width: 1200px){.left-panel.expanded{width:320px}.right-panel.expanded{width:450px}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width: 1024px){.canva-toolbar{width:56px}.brand-logo{width:36px;height:36px}.canva-toolbar .nav-item{width:40px;height:40px;margin:4px 8px}.left-panel.expanded{width:280px}.right-panel.expanded{width:390px}.canvas-workspace{padding:20px}}@media (max-width: 768px){.canva-editor{flex-direction:column}.canva-toolbar{width:100%;height:56px;flex-direction:row;padding:0 16px}.toolbar-brand{height:auto;border-bottom:none;border-right:1px solid #e5e7eb;padding-right:16px}.toolbar-nav{flex:1;flex-direction:row;padding:0 16px;gap:8px;overflow-x:auto}.toolbar-user{border-top:none;border-left:1px solid #e5e7eb;padding:0 0 0 16px}.editor-workspace{flex-direction:column;height:calc(100vh - 56px)}.left-panel.expanded,.right-panel.expanded{width:100%;height:200px;border-right:none;border-left:none;border-bottom:1px solid #e5e7eb}.right-panel{order:3;border-top:1px solid #e5e7eb}.main-area{order:2;flex:1;min-height:0}.canvas-workspace{padding:16px}.top-bar{padding:0 16px}.top-bar-left,.top-bar-right{gap:4px}.top-btn{padding:6px 8px;font-size:12px}.document-title{font-size:14px}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.left-panel.expanded .panel-content{animation:slideInLeft .3s ease-out}.right-panel.expanded .panel-content{animation:slideInRight .3s ease-out}.professional-editor,.three-panel-layout,.reading-notes-editor-container{display:none}.dropdown-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;right:0;background:white;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:1000;padding:8px 0;margin-top:8px;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;border:none;background:none;text-align:left;font-size:14px;color:#374151;cursor:pointer;transition:all .15s ease}.dropdown-item:hover{background:#f3f4f6;color:#1f2937}.dropdown-divider{height:1px;background:#e5e7eb;margin:4px 0}.admin-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff!important;border:none!important;font-weight:500;gap:6px;padding:8px 16px!important;display:flex!important;align-items:center}.admin-btn:hover{background:linear-gradient(135deg,#5a67d8 0%,#667eea 100%)!important;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.editor-workspace{width:calc(100vw - 64px);overflow:hidden}@media (max-width: 1440px){.left-panel.expanded{width:320px}.right-panel.expanded{width:450px}}@media (max-width: 1200px){.left-panel.expanded{width:280px}.right-panel.expanded{width:390px}.main-area{min-width:300px}}@media (max-width: 768px){.dropdown-menu{right:auto;left:0;min-width:200px}.admin-btn{padding:6px 12px!important;font-size:13px}.top-bar-right{gap:8px}.canva-editor{min-width:768px}.left-panel.expanded{width:240px}.right-panel.expanded{width:330px}.main-area{min-width:250px}}.note-types-panel-wrapper{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.note-types-panel-wrapper .note-type-manager-overlay{position:static;background:transparent;display:flex;flex-direction:column;height:100%;width:100%;padding:0}.note-types-panel-wrapper .note-type-manager{position:static;transform:none;max-width:100%;max-height:100%;width:100%;height:100%;box-shadow:none;border-radius:0;background:#ffffff;display:flex;flex-direction:column}.note-types-panel-wrapper .note-type-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#ffffff}.note-types-panel-wrapper .note-type-header h2{font-size:14px;font-weight:600;margin:0}.note-types-panel-wrapper .note-type-header .close-btn{display:none}.note-types-panel-wrapper .note-type-content{flex:1;overflow-y:auto;background:#ffffff;padding:16px}.note-types-panel-wrapper .note-type-form-section,.note-types-panel-wrapper .note-type-list-section{background:#f9fafb}.text-editor{padding:16px;background:#ffffff;border-radius:8px;height:100%}.text-editor h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:8px}.editor-section{margin-bottom:24px}.editor-section:last-child{margin-bottom:0}.editor-section textarea{width:100%;min-height:80px;padding:12px;border:1px solid #e1e8ed;border-radius:6px;font-size:14px;line-height:1.5;resize:vertical;font-family:inherit}.editor-section textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#555}.control-group select,.control-group input[type=text],.control-group input[type=number]{width:100%;padding:8px 12px;border:1px solid #e1e8ed;border-radius:4px;font-size:14px;background:#ffffff}.control-group select:focus,.control-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.font-size-control{display:flex;gap:8px;align-items:center}.font-size-control select{flex:1}.font-size-input{display:flex;align-items:center;border:1px solid #e1e8ed;border-radius:4px;background:#ffffff;overflow:hidden}.font-size-input input{border:none;padding:8px;width:60px;text-align:center}.font-size-input span{padding:8px 12px 8px 4px;background:#f8f9fa;color:#666;font-size:12px;border-left:1px solid #e1e8ed}.style-buttons,.align-buttons,.list-buttons{display:flex;gap:4px;flex-wrap:wrap}.style-buttons button,.align-buttons button,.list-buttons button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e1e8ed;border-radius:4px;background:#ffffff;color:#666;cursor:pointer;transition:all .2s ease}.style-buttons button:hover,.align-buttons button:hover,.list-buttons button:hover{background:#f8f9fa;border-color:#d1d9e6}.style-buttons button.active,.align-buttons button.active,.list-buttons button.active{background:#667eea;border-color:#667eea;color:#fff}.list-buttons button{width:auto;padding:8px 12px;height:auto;min-height:36px}.color-picker-section{position:relative}.color-input-group{display:flex;align-items:center;gap:8px;border:1px solid #e1e8ed;border-radius:4px;padding:4px;background:#ffffff}.color-preview{width:28px;height:28px;border-radius:4px;border:1px solid #e1e8ed;cursor:pointer;transition:transform .2s ease}.color-preview:hover{transform:scale(1.1)}.color-input-group input{flex:1;border:none;padding:8px;font-family:Courier New,monospace;font-size:13px}.color-picker-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#ffffff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;margin-top:4px}.color-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.color-picker-header h4{margin:0;font-size:14px;font-weight:600;color:#333}.color-picker-header button{border:none;background:none;font-size:18px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.color-presets,.recent-colors{margin-bottom:12px}.recent-colors:last-child{margin-bottom:0}.recent-colors h5{margin:0 0 8px;font-size:12px;font-weight:600;color:#666}.color-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid #e1e8ed;cursor:pointer;transition:transform .2s ease}.color-swatch:hover{transform:scale(1.2)}.slider-control{margin-bottom:16px}.slider-control:last-child{margin-bottom:0}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.slider-header label{margin:0;font-size:13px;font-weight:500;color:#555}.value-input{display:flex;align-items:center;gap:4px}.value-input input{width:60px;padding:4px 8px;border:1px solid #e1e8ed;border-radius:4px;text-align:center;font-size:12px}.value-input span{font-size:12px;color:#666}.slider-control input[type=range]{width:100%;height:4px;border-radius:2px;background:#e1e8ed;outline:none;-webkit-appearance:none}.slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#667eea;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0003}.slider-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#667eea;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0003}.spacing-grid,.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.indent-control{display:flex;align-items:center;gap:8px;justify-content:center}.indent-control button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e1e8ed;border-radius:4px;background:#ffffff;color:#666;cursor:pointer;transition:all .2s ease}.indent-control button:hover:not(:disabled){background:#f8f9fa;border-color:#d1d9e6}.indent-control button:disabled{opacity:.4;cursor:not-allowed}.indent-control span{min-width:24px;text-align:center;font-weight:600;color:#333}.reset-transform{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;border:1px solid #e1e8ed;border-radius:4px;background:#ffffff;color:#666;cursor:pointer;transition:all .2s ease;font-size:14px}.reset-transform:hover{background:#f8f9fa;border-color:#d1d9e6}.preset-styles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preset-styles button{padding:8px 12px;border:1px solid #e1e8ed;border-radius:4px;background:#ffffff;color:#666;cursor:pointer;transition:all .2s ease;font-size:13px}.preset-styles button:hover{background:#667eea;border-color:#667eea;color:#fff}.text-block{position:relative;display:inline-block;cursor:pointer;transition:all .2s ease}.text-block.selected{z-index:1000}.text-block.dragging{opacity:.8;z-index:1001}.text-block-content{min-width:20px;min-height:16px;padding:4px 8px;border-radius:2px;transition:all .2s ease}.text-block:hover .text-block-content{outline:1px dashed #667eea;outline-offset:2px}.text-block.selected .text-block-content{outline:2px solid #667eea;outline-offset:2px}.text-block-editor{border:2px solid #667eea!important;border-radius:4px;padding:8px;font-family:inherit;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 4px 12px #667eea26;z-index:1002}.text-block-editor:focus{box-shadow:0 4px 12px #667eea40}.text-block-toolbar{position:absolute;top:-40px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:4px;background:#ffffff;border:1px solid #e1e8ed;border-radius:6px;box-shadow:0 2px 8px #0000001a;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1003}.text-block.selected .text-block-toolbar{opacity:1;visibility:visible}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffff;color:#666;border-radius:4px;cursor:pointer;transition:all .2s ease}.toolbar-btn:hover{background:#f8f9fa;color:#333}.toolbar-btn.danger:hover{background:#fee;color:#dc3545}.text-block-handle{position:absolute;top:-12px;right:-12px;width:24px;height:24px;background:#667eea;border:2px solid #ffffff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:grab;box-shadow:0 2px 6px #667eea4d;opacity:0;transition:all .2s ease;z-index:1003}.text-block.selected .text-block-handle{opacity:1}.text-block-handle:hover{transform:scale(1.1);box-shadow:0 3px 8px #667eea66}.text-block-handle:active{cursor:grabbing;transform:scale(.95)}@media (max-width: 768px){.text-editor{padding:12px}.spacing-grid,.transform-grid{grid-template-columns:1fr;gap:12px}.preset-styles{grid-template-columns:1fr}.color-grid{grid-template-columns:repeat(6,1fr)}.text-block-toolbar{top:-36px;scale:.9}.toolbar-btn{width:32px;height:32px}}.game-content{padding:20px;display:flex;flex-direction:column;height:100%}.game-toolbar{display:flex;gap:12px;margin-bottom:20px}.game-search-box{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;background:white;border:1px solid #d1d5db;border-radius:8px;transition:all .2s}.game-search-box:focus-within{border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a}.game-search-box svg{color:#6b7280;flex-shrink:0}.game-search-input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.btn-add-game{display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#EC4899 0%,#8B5CF6 100%);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-game:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ec48994d}.game-categories{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.game-category{display:flex;align-items:center;gap:6px;padding:8px 14px;background:white;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.game-category:hover{background:#f9fafb;border-color:#9ca3af}.game-category.active{background:#EC4899;border-color:#ec4899;color:#fff}.game-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;flex:1;align-content:start}.game-template-card{background:white;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;text-align:center}.game-template-card:hover{border-color:#ec4899;transform:translateY(-4px);box-shadow:0 8px 20px #ec489933}.game-template-card.selected{border:3px solid #EC4899!important;box-shadow:0 0 0 3px #ec489926,0 8px 20px #ec48994d;transform:translateY(-2px);background:linear-gradient(135deg,#fef3f8 0%,#faf5ff 100%)}.game-template-card.selected:hover{border-color:#ec4899;transform:translateY(-4px);box-shadow:0 0 0 3px #ec489933,0 12px 24px #ec489966}.game-template-card.coming-soon{opacity:.6;cursor:not-allowed}.game-template-card.coming-soon:hover{transform:none;border-color:#e5e7eb;box-shadow:none}.game-card-preview{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fce7f3 0%,#f3e8ff 100%);border-radius:12px;margin-bottom:16px;color:#ec4899}.game-card-info h4{margin:0 0 8px;font-size:16px;color:#111827}.game-card-info p{margin:0;font-size:13px;color:#6b7280;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:white;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px;transition:all .3s ease}.fullscreen-content{max-width:100%;padding:0;margin:0;height:100vh}@media (max-width: 768px){.main-content{padding:10px 0}}.links-dashboard{min-height:100vh;background:#f9fafb;padding:24px}.dashboard-header h1{margin:0;font-size:24px;font-weight:600;color:#111827}.header-actions{display:flex;gap:12px}.storage-info-card{background:white;padding:16px 20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.storage-info-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:#111827;font-size:14px}.storage-refresh-button:hover{background-color:#f3f4f6!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.storage-info-content{display:flex;flex-direction:column;gap:8px}.storage-stats{display:flex;align-items:center;gap:6px;font-size:14px}.storage-label{color:#6b7280}.storage-value{color:#111827;font-weight:500}.storage-separator{color:#9ca3af}.storage-progress{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.storage-progress-bar{height:100%;background:#3B82F6;border-radius:4px;transition:width .3s ease,background-color .3s ease}.storage-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}.storage-remaining{color:#6b7280}.storage-percent{color:#111827;font-weight:500}.file-size{font-size:13px;color:#6b7280;font-family:Courier New,monospace}.filters-bar{display:flex;gap:12px;margin-bottom:20px;background:white;padding:16px;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px;background:#f9fafb;padding:8px 12px;border-radius:6px;border:1px solid #e5e7eb}.filter-group svg{color:#6b7280;flex-shrink:0}.filter-group input,.filter-group select{border:none;background:none;outline:none;font-size:14px;min-width:150px}.filter-group input::-moz-placeholder{color:#9ca3af}.filter-group input::placeholder{color:#9ca3af}.notes-table-container{background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.notes-table{width:100%;border-collapse:collapse}.notes-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}.notes-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.notes-table td{padding:16px;border-bottom:1px solid #f3f4f6}.notes-table tbody tr:hover{background:#f9fafb}.note-title{font-weight:500;color:#111827;margin-bottom:4px}.note-remark{font-size:12px;color:#6b7280}.type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;color:#fff}.views-count{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:14px}.link-cell{font-family:monospace;font-size:13px}.short-link{color:#3b82f6;text-decoration:none}.short-link:hover{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;padding:16px;background:white;border-radius:12px;box-shadow:0 1px 3px #0000001a}.pagination button{padding:8px 16px;border:1px solid #e5e7eb;background:white;color:#374151;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#6b7280;font-size:14px}.dialog.qr-dialog{max-width:400px}.selected-notes-preview{background:#f9fafb;padding:12px;border-radius:6px;border:1px solid #e5e7eb}.selected-notes-preview p{margin:0;font-size:14px;color:#6b7280}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#6b7280}@media (max-width: 768px){.filters-bar{flex-direction:column}.filter-group{width:100%}.notes-table-container{overflow-x:auto}.notes-table{min-width:800px}}.tabs-bar{display:flex;gap:8px;background:white;padding:8px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.tab-btn{flex:1;padding:12px 24px;border:none;background:transparent;color:#6b7280;font-size:15px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#f3f4f6;color:#374151}.tab-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 4px #3b82f64d}.collection-count{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:#374151}.share-dialog{max-width:560px;width:100%}.share-info{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px}.share-info p{margin:8px 0;color:#374151;font-size:14px}.share-info strong{color:#111827;font-weight:600}.class-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:4px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s}.checkbox-item:hover{background:#f3f4f6}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-item span{flex:1;font-size:14px;color:#374151}.recording-status-indicator{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border-radius:20px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #ef44444d;animation:pulse-recording 2s ease-in-out infinite}.recording-icon{animation:blink-recording 1s ease-in-out infinite}@keyframes pulse-recording{0%,to{box-shadow:0 2px 8px #ef44444d}50%{box-shadow:0 4px 16px #ef444480}}@keyframes blink-recording{0%,to{opacity:1}50%{opacity:.5}}.action-btn.recording{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;animation:pulse-button 1.5s ease-in-out infinite}.action-btn.recording:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}@keyframes pulse-button{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.action-btn:has(svg[data-lucide=video]){color:#7c3aed}.action-btn:has(svg[data-lucide=video]):hover{background:#f3e8ff;color:#6d28d9}.public-collection-page-new{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:60px 40px}.public-header{max-width:1000px;margin:0 auto 60px;text-align:center}.public-header h1{margin:0 0 16px;font-size:48px;font-weight:700;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.2)}.header-description{margin:0;font-size:18px;color:#ffffffe6;line-height:1.6}.public-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.public-card{height:200px;border-radius:20px;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px #00000026;position:relative;overflow:hidden}.public-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 100%);pointer-events:none}.public-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #00000040}.public-card:active{transform:translateY(-4px) scale(1.01)}.public-card-icon{width:84px;height:84px;background:rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.public-card-label{font-weight:600;color:#fff;line-height:1.3;word-break:break-word;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.15)}.public-footer{max-width:1000px;margin:60px auto 0;padding-top:40px;border-top:1px solid rgba(255,255,255,.2)}.footer-meta{display:flex;align-items:center;justify-content:center;gap:40px;font-size:15px;color:#ffffffe6}.footer-meta span{display:flex;align-items:center;gap:8px}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:#fff}.error-state p{background:rgba(255,255,255,.2);padding:20px 40px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width: 768px){.public-collection-page-new{padding:40px 20px}.public-header h1{font-size:36px}.header-description{font-size:16px}.public-grid{grid-template-columns:1fr;gap:16px}.public-card{height:180px;padding:28px;gap:16px}.public-card-icon{width:72px;height:72px}}@media (max-width: 480px){.public-header h1{font-size:28px}.public-card{height:160px;padding:24px;gap:12px}.public-card-icon{width:60px;height:60px}}.collection-editor-new{width:100vw;height:100vh;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden}.editor-toolbar{height:64px;background:white;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0}.back-button{width:40px;height:40px;border:none;background:none;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s}.back-button:hover{background:#f5f5f5}.editor-title{flex:1;margin:0;font-size:20px;font-weight:600;color:#333}.toolbar-actions{display:flex;gap:12px}.action-button{height:40px;padding:0 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.action-button.primary{background:#667eea;color:#fff}.action-button.primary:hover:not(:disabled){background:#5568d3}.action-button.primary:disabled{opacity:.5;cursor:not-allowed}.action-button.secondary{background:#f0f0f0;color:#666}.action-button.secondary:hover{background:#e0e0e0}.editor-main{flex:1;display:grid;grid-template-columns:45% 55%;overflow:hidden}.edit-area{background:white;overflow-y:auto;padding:32px;border-right:1px solid #e0e0e0}.edit-section{margin-bottom:32px}.edit-section h2{margin:0 0 16px;font-size:14px;font-weight:600;color:#666}.title-input{width:100%;height:48px;padding:0 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;color:#333;transition:border-color .2s}.title-input:focus{outline:none;border-color:#667eea}.items-section{display:flex;flex-direction:column;gap:20px}.item-editor{border:1px solid #e0e0e0;border-radius:12px;padding:20px;background:#fafafa;transition:all .2s}.item-editor:hover{border-color:#667eea;background:white}.note-info{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0fe 100%);border-radius:8px;padding:12px 16px;margin-bottom:16px;border-left:3px solid #667eea}.note-title{font-size:14px;font-weight:600;color:#2d3748;margin-bottom:6px}.note-link{font-size:12px;color:#667eea;text-decoration:none;word-break:break-all;display:block;transition:color .2s ease}.note-link:hover{color:#5568d3;text-decoration:underline}.item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.item-label{font-size:14px;font-weight:600;color:#333}.item-controls{display:flex;gap:8px}.control-btn{width:32px;height:32px;border:1px solid #ddd;background:white;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .2s}.control-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.control-btn:disabled{opacity:.3;cursor:not-allowed}.control-btn.delete{color:#f56565}.control-btn.delete:hover{border-color:#f56565;background:#fff5f5}.config-grid{display:flex;flex-direction:column;gap:16px}.config-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-item{display:flex;flex-direction:column;gap:8px}.config-item label{font-size:13px;font-weight:500;color:#666}.config-item input[type=text],.config-item select{height:40px;padding:0 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;transition:border-color .2s}.config-item input[type=text]:focus,.config-item select:focus{outline:none;border-color:#667eea}.number-control{display:flex;align-items:center;gap:8px;height:40px;border:1px solid #ddd;border-radius:6px;padding:0 8px;background:white}.number-control button{width:28px;height:28px;border:none;background:#f0f0f0;border-radius:4px;font-size:16px;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.number-control button:hover{background:#e0e0e0;color:#333}.number-control span{flex:1;text-align:center;font-size:14px;font-weight:500;color:#333}.add-item-btn{width:100%;height:60px;border:2px dashed #ddd;background:transparent;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:32px;color:#999;transition:all .2s}.add-item-btn:hover{border-color:#667eea;color:#667eea;background:#f5f7ff}.preview-area{background:white;overflow-y:auto;padding:40px;display:flex;flex-direction:column}.preview-header{margin-bottom:32px;text-align:center}.preview-header h2{margin:0;font-size:32px;font-weight:700;color:#333}.preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:800px;margin:0 auto}.preview-card{height:120px;border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a}.preview-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.card-icon{width:72px;height:72px;background:rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-label{flex:1;font-weight:600;color:#fff;line-height:1.3;word-break:break-word}.loading-state,.error-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;color:#999}@media (max-width: 1200px){.editor-main{grid-template-columns:1fr}.edit-area{border-right:none;border-bottom:1px solid #e0e0e0}.preview-grid{grid-template-columns:1fr}}@media (max-width: 768px){.config-row{grid-template-columns:1fr}.preview-grid{gap:16px}.preview-card{height:100px;padding:20px}.card-icon{width:60px;height:60px}}.class-management{min-height:100vh;background:#f9fafb;padding:24px}.management-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;background:white;padding:20px 24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.management-header h1{margin:0;font-size:24px;font-weight:600;color:#111827}.management-content{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:calc(100vh - 140px)}.classes-sidebar{background:white;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;height:-moz-fit-content;height:fit-content}.classes-sidebar h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.class-list{display:flex;flex-direction:column;gap:8px}.class-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.class-item:hover{background:#f9fafb}.class-item.active{background:#eff6ff;border-color:#3b82f6}.class-info{flex:1}.class-name{font-weight:500;color:#111827;margin-bottom:4px}.class-meta{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.class-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.class-item:hover .class-actions{opacity:1}.icon-btn{padding:4px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:#fee2e2;color:#ef4444}.students-panel{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.panel-header h2{margin:0 0 8px;font-size:20px;font-weight:600;color:#111827}.class-code{margin:0;font-size:14px;color:#6b7280;font-family:monospace}.panel-actions{display:flex;gap:8px}.search-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px}.search-bar svg{color:#6b7280;flex-shrink:0}.search-bar input{flex:1;border:none;background:none;outline:none;font-size:14px}.students-table-container{flex:1;overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.students-table th{padding:12px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.students-table td{padding:12px;border-bottom:1px solid #f3f4f6;font-size:14px}.students-table tbody tr:hover{background:#f9fafb}.login-name{font-family:monospace;color:#3b82f6}.password{font-family:monospace;color:#6b7280;font-size:13px}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.action-buttons{display:flex;gap:4px}.action-btn{padding:6px;border:none;background:#f3f4f6;color:#6b7280;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn:hover{background:#e5e7eb;color:#374151}.action-btn.danger{color:#ef4444}.action-btn.danger:hover{background:#fef2f2;color:#dc2626}.empty-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:16px}.empty-panel svg{opacity:.3}.empty-panel p{margin:0;font-size:16px}.dialog{background:white;border-radius:12px;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.dialog.large{max-width:700px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px;font-size:13px;color:#1e40af;margin-top:16px}.info-box strong{display:block;margin-bottom:8px}.info-box ul{margin:0;padding-left:20px}.info-box li{margin-bottom:4px}.loading,.empty-state{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px}@media (max-width: 1024px){.management-content{grid-template-columns:1fr}.classes-sidebar{max-height:300px;overflow-y:auto}}@media (max-width: 768px){.panel-header{flex-direction:column;gap:16px}.panel-actions{width:100%;flex-wrap:wrap}.students-table-container{overflow-x:auto}.students-table{min-width:800px}}.student-portal{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding-bottom:40px}.portal-header{background:white;padding:20px 40px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:16px;color:#667eea}.header-left h1{margin:0;font-size:20px;font-weight:600;color:#111827}.header-left p{margin:4px 0 0;font-size:14px;color:#6b7280}.header-right{display:flex;align-items:center;gap:16px}.user-info{text-align:right}.user-name{font-weight:500;color:#111827}.user-id{font-size:12px;color:#6b7280;margin-top:2px}.logout-btn{padding:8px 16px;border:1px solid #e5e7eb;background:white;color:#6b7280;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:14px;transition:all .2s}.logout-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.stats-grid{max-width:1200px;margin:-30px auto 40px;padding:0 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:white;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .3s}.stat-card:hover{transform:translateY(-4px)}.stat-icon.calendar{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.book{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.trophy{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-info{flex:1}.portal-content{max-width:1200px;margin:0 auto;padding:0 40px;display:grid;gap:24px}.content-section{background:white;border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a}.records-list{display:flex;flex-direction:column;gap:12px}.record-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;border:2px solid transparent;transition:all .2s}.record-item:hover{background:white;border-color:#667eea}.record-number{width:32px;height:32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.record-info{flex:1}.record-title{font-weight:500;color:#111827;margin-bottom:6px}.record-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:#6b7280}.record-meta span{display:flex;align-items:center;gap:4px}.record-score{font-size:18px;font-weight:600;padding:8px 16px;border-radius:8px;flex-shrink:0}.record-score.excellent{background:#d1fae5;color:#065f46}.record-score.good{background:#dbeafe;color:#1e40af}.record-score.normal{background:#f3f4f6;color:#6b7280}.achievements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.achievement-item{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:2px solid #fbbf24}.achievement-icon{font-size:32px;flex-shrink:0}.achievement-info{flex:1}.achievement-name{font-weight:600;color:#92400e;margin-bottom:2px}.achievement-desc{font-size:12px;color:#b45309}.settings-list{display:flex;flex-direction:column;gap:8px}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;color:#374151}.setting-item:hover{background:white;border-color:#667eea}.setting-arrow{font-size:20px;color:#9ca3af}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.empty-hint{font-size:14px;margin-top:8px!important}.empty-state.small{padding:40px 20px}.empty-state.small p{font-size:14px}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:white;border-radius:12px;width:90%;max-width:400px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.dialog-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#111827}.dialog-body{padding:24px;overflow-y:auto}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.form-group input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.dialog-footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#5568d3}.tasks-section{margin-bottom:24px}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:16px}.task-card{background:white;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.task-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.task-card.completed{background:#f0fdf4;border:1px solid #86efac}.task-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.task-badge{background:#667eea;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.task-card.completed .task-badge{background:#22c55e}.deadline-badge{background:#fef3c7;color:#92400e;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.task-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 8px}.task-description{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:#6b7280;margin-bottom:12px}.task-progress{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s}.task-card.completed .progress-fill{background:#22c55e}.progress-text{font-size:13px;color:#6b7280;font-weight:500;white-space:nowrap}@media (max-width: 768px){.portal-header{padding:16px 20px}.stats-grid{padding:0 20px;grid-template-columns:1fr}.portal-content{padding:0 20px}.achievements,.tasks-grid{grid-template-columns:1fr}}.student-task-detail{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:24px}.loading-state{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#fff;font-size:18px}.task-detail-header{margin-bottom:24px}.back-btn{background:white;border:none;color:#374151;width:48px;height:48px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.back-btn:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.page-title{font-size:24px;font-weight:600;color:#fff;margin:0}.task-info-card{background:white;border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:0 4px 16px #0000001a}.task-info-header{margin-bottom:20px}.task-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-badge{background:#667eea;color:#fff;padding:6px 16px;border-radius:16px;font-size:14px;font-weight:500}.task-badge.completed{background:#22c55e}.deadline-badge{background:#fef3c7;color:#92400e;padding:6px 16px;border-radius:16px;font-size:14px;font-weight:500}.deadline-badge.urgent{background:#fee2e2;color:#991b1b}.completed-badge{background:#d1fae5;color:#065f46;padding:6px 16px;border-radius:16px;font-size:14px;font-weight:500}.task-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 16px;line-height:1.3}.task-description{font-size:16px;color:#6b7280;line-height:1.6;margin:0 0 24px}.task-meta-grid{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.meta-item{display:flex;align-items:center;gap:8px;color:#374151;font-size:14px}.meta-item svg{color:#667eea}.task-progress-section{background:#f9fafb;border-radius:12px;padding:20px}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:14px;color:#374151;font-weight:500}.progress-percentage{font-size:20px;font-weight:700;color:#667eea}.progress-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;transition:width .3s}.notes-section{background:white;border-radius:16px;padding:32px;box-shadow:0 4px 16px #0000001a;margin-bottom:24px}.notes-section h2{margin:0 0 20px;font-size:20px;font-weight:600;color:#111827}.notes-list{display:flex;flex-direction:column;gap:16px}.note-item{display:flex;align-items:center;gap:16px;padding:20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;transition:all .2s}.note-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.note-item.completed{background:#f0fdf4;border-color:#86efac}.note-number{width:40px;height:40px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.note-item.completed .note-number{background:#22c55e}.note-content{flex:1}.note-title{font-size:16px;font-weight:600;color:#111827;margin:0 0 8px}.note-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#6b7280}.note-meta svg{color:#9ca3af}.note-score{background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:4px;font-weight:500}.note-actions{display:flex;align-items:center;gap:12px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;border:none;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.btn-secondary{background:white;color:#374151;border:1px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb;border-color:#667eea;color:#667eea}.completed-tag{display:flex;align-items:center;gap:6px;color:#22c55e;font-weight:500;font-size:14px}.completion-message{background:white;border-radius:16px;padding:40px;text-align:center;box-shadow:0 4px 16px #0000001a}.completion-icon{font-size:60px;margin-bottom:16px}.completion-message h3{font-size:24px;font-weight:700;color:#111827;margin:0 0 12px}.completion-message p{font-size:16px;color:#6b7280;margin:0}@media (max-width: 768px){.student-task-detail{padding:16px}.task-info-card,.notes-section{padding:20px}.task-title{font-size:22px}.note-item{flex-wrap:wrap;gap:12px}.note-actions{width:100%;flex-wrap:wrap}.btn-primary,.btn-secondary{flex:1;justify-content:center}}.student-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.student-login-card{background:white;border-radius:20px;padding:48px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.student-login-header{text-align:center;margin-bottom:32px}.student-login-header svg{color:#667eea;margin-bottom:16px}.student-login-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#111827}.student-login-header p{margin:0;font-size:14px;color:#6b7280}.student-login-form{display:flex;flex-direction:column;gap:20px}.student-form-group{display:flex;flex-direction:column;gap:8px}.student-form-group label{font-size:14px;font-weight:500;color:#374151}.student-form-group input{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s}.student-form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.student-password-wrapper{position:relative}.student-password-input{padding-right:40px;width:100%}.student-password-toggle{position:absolute;top:50%;right:12px;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:#6b7280;display:flex;align-items:center;justify-content:center;padding:4px;transition:color .2s ease}.student-password-toggle:hover{color:#667eea}.student-password-toggle:focus{outline:none;color:#667eea}.student-login-btn{margin-top:8px;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s}.student-login-btn:hover{transform:translateY(-2px)}.student-login-btn:disabled{opacity:.6;cursor:not-allowed}.student-remember-me{flex-direction:row;align-items:center;gap:8px;margin:0}@media (max-width: 480px){.student-login-card{padding:32px 24px}}.teacher-dashboard{min-height:100vh;background:#f9fafb;padding:24px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;background:white;padding:20px 24px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.header-left{display:flex;align-items:center;gap:16px}.back-btn{background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.dashboard-header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:#111827}.dashboard-header p{margin:0;font-size:14px;color:#6b7280}.filters-section{background:white;padding:16px 24px;border-radius:12px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.filter-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-group svg{color:#6b7280}.filter-group span{font-size:14px;color:#374151}.filter-group input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.filter-group input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.users{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.target{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-icon.trending{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-icon.award{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-content{flex:1}.stat-value{font-size:32px;font-weight:700;color:#111827;line-height:1}.stat-label{font-size:14px;color:#6b7280;margin-top:4px}.dashboard-content{display:grid;gap:24px}.content-section{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.section-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.section-header svg{color:#667eea}.leaderboard{display:flex;flex-direction:column;gap:16px}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:20px;border-radius:12px;border:2px solid transparent;transition:all .2s}.leaderboard-item.rank-1{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24}.leaderboard-item.rank-2{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-color:#818cf8}.leaderboard-item.rank-3{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-color:#f472b6}.rank-badge{font-size:32px;flex-shrink:0}.student-info{flex:1}.student-name{font-size:18px;font-weight:600;color:#111827;margin-bottom:4px}.student-meta{font-size:14px;color:#6b7280}.student-score{font-size:16px;font-weight:600;color:#059669;background:white;padding:8px 16px;border-radius:8px}.stats-table-container{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse}.stats-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.stats-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stats-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px}.rank-cell{font-weight:600;color:#667eea}.student-name-cell{font-weight:500;color:#111827}.count-cell{font-weight:600;color:#059669}.score-cell{font-weight:600;color:#3b82f6}.participation-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.participation-badge.high{background:#d1fae5;color:#065f46}.participation-badge.medium{background:#dbeafe;color:#1e40af}.participation-badge.low{background:#fef3c7;color:#92400e}.participation-badge.none{background:#f3f4f6;color:#6b7280}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.empty-state svg{margin-bottom:16px;opacity:.3}.empty-state p{margin:0;font-size:16px}@media (max-width: 768px){.stats-overview{grid-template-columns:1fr}.filter-group{flex-direction:column;align-items:flex-start}.leaderboard-item{flex-wrap:wrap}.stats-table-container{overflow-x:auto}.stats-table{min-width:700px}}.student-detail{min-height:100vh;background:#f3f4f6;padding:20px}.student-detail-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:16px;color:#6b7280}.detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.detail-header h1{font-size:24px;font-weight:600;color:#111827;margin:0}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:white;color:#6b7280;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.back-btn:hover{background:#f3f4f6;color:#111827}.detail-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.info-card,.stats-card{background:white;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.card-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.card-header svg{color:#3b82f6}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item label{font-size:14px;color:#6b7280;font-weight:500}.info-item span{font-size:16px;color:#111827}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:14px;font-weight:500;width:-moz-fit-content;width:fit-content}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.date-filter{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:8px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:rgba(255,255,255,.15);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-item label{font-size:13px;color:#ffffffe6;font-weight:500;text-align:center}.summary-value{font-size:28px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.date-filter input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#374151}.date-filter input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-filter span{color:#6b7280;font-size:14px}.stats-table{overflow-x:auto}.stats-table table{width:100%;border-collapse:collapse}.stats-table th{text-align:left;padding:12px;background:#f9fafb;color:#6b7280;font-weight:600;font-size:14px;border-bottom:2px solid #e5e7eb}.stats-table td{padding:12px;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px}.stats-table tbody tr:hover{background:#f9fafb}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{font-size:16px;margin:0}.loading{text-align:center;padding:40px;color:#6b7280;font-size:14px}@media (max-width: 768px){.student-detail{padding:12px}.detail-header h1{font-size:20px}.info-grid{grid-template-columns:1fr}.date-filter{flex-direction:column;align-items:stretch}.summary-grid{grid-template-columns:repeat(2,1fr);padding:16px}.summary-item{padding:12px}.summary-value{font-size:24px}.stats-table{font-size:12px}.stats-table th,.stats-table td{padding:8px}}:root,:host,.sl-theme-light{color-scheme:light;--sl-color-gray-50: hsl(0 0% 97.5%);--sl-color-gray-100: hsl(240 4.8% 95.9%);--sl-color-gray-200: hsl(240 5.9% 90%);--sl-color-gray-300: hsl(240 4.9% 83.9%);--sl-color-gray-400: hsl(240 5% 64.9%);--sl-color-gray-500: hsl(240 3.8% 46.1%);--sl-color-gray-600: hsl(240 5.2% 33.9%);--sl-color-gray-700: hsl(240 5.3% 26.1%);--sl-color-gray-800: hsl(240 3.7% 15.9%);--sl-color-gray-900: hsl(240 5.9% 10%);--sl-color-gray-950: hsl(240 7.3% 8%);--sl-color-red-50: hsl(0 85.7% 97.3%);--sl-color-red-100: hsl(0 93.3% 94.1%);--sl-color-red-200: hsl(0 96.3% 89.4%);--sl-color-red-300: hsl(0 93.5% 81.8%);--sl-color-red-400: hsl(0 90.6% 70.8%);--sl-color-red-500: hsl(0 84.2% 60.2%);--sl-color-red-600: hsl(0 72.2% 50.6%);--sl-color-red-700: hsl(0 73.7% 41.8%);--sl-color-red-800: hsl(0 70% 35.3%);--sl-color-red-900: hsl(0 62.8% 30.6%);--sl-color-red-950: hsl(0 60% 19.6%);--sl-color-orange-50: hsl(33.3 100% 96.5%);--sl-color-orange-100: hsl(34.3 100% 91.8%);--sl-color-orange-200: hsl(32.1 97.7% 83.1%);--sl-color-orange-300: hsl(30.7 97.2% 72.4%);--sl-color-orange-400: hsl(27 96% 61%);--sl-color-orange-500: hsl(24.6 95% 53.1%);--sl-color-orange-600: hsl(20.5 90.2% 48.2%);--sl-color-orange-700: hsl(17.5 88.3% 40.4%);--sl-color-orange-800: hsl(15 79.1% 33.7%);--sl-color-orange-900: hsl(15.3 74.6% 27.8%);--sl-color-orange-950: hsl(15.2 69.1% 19%);--sl-color-amber-50: hsl(48 100% 96.1%);--sl-color-amber-100: hsl(48 96.5% 88.8%);--sl-color-amber-200: hsl(48 96.6% 76.7%);--sl-color-amber-300: hsl(45.9 96.7% 64.5%);--sl-color-amber-400: hsl(43.3 96.4% 56.3%);--sl-color-amber-500: hsl(37.7 92.1% 50.2%);--sl-color-amber-600: hsl(32.1 94.6% 43.7%);--sl-color-amber-700: hsl(26 90.5% 37.1%);--sl-color-amber-800: hsl(22.7 82.5% 31.4%);--sl-color-amber-900: hsl(21.7 77.8% 26.5%);--sl-color-amber-950: hsl(22.9 74.1% 16.7%);--sl-color-yellow-50: hsl(54.5 91.7% 95.3%);--sl-color-yellow-100: hsl(54.9 96.7% 88%);--sl-color-yellow-200: hsl(52.8 98.3% 76.9%);--sl-color-yellow-300: hsl(50.4 97.8% 63.5%);--sl-color-yellow-400: hsl(47.9 95.8% 53.1%);--sl-color-yellow-500: hsl(45.4 93.4% 47.5%);--sl-color-yellow-600: hsl(40.6 96.1% 40.4%);--sl-color-yellow-700: hsl(35.5 91.7% 32.9%);--sl-color-yellow-800: hsl(31.8 81% 28.8%);--sl-color-yellow-900: hsl(28.4 72.5% 25.7%);--sl-color-yellow-950: hsl(33.1 69% 13.9%);--sl-color-lime-50: hsl(78.3 92% 95.1%);--sl-color-lime-100: hsl(79.6 89.1% 89.2%);--sl-color-lime-200: hsl(80.9 88.5% 79.6%);--sl-color-lime-300: hsl(82 84.5% 67.1%);--sl-color-lime-400: hsl(82.7 78% 55.5%);--sl-color-lime-500: hsl(83.7 80.5% 44.3%);--sl-color-lime-600: hsl(84.8 85.2% 34.5%);--sl-color-lime-700: hsl(85.9 78.4% 27.3%);--sl-color-lime-800: hsl(86.3 69% 22.7%);--sl-color-lime-900: hsl(87.6 61.2% 20.2%);--sl-color-lime-950: hsl(86.5 60.6% 13.9%);--sl-color-green-50: hsl(138.5 76.5% 96.7%);--sl-color-green-100: hsl(140.6 84.2% 92.5%);--sl-color-green-200: hsl(141 78.9% 85.1%);--sl-color-green-300: hsl(141.7 76.6% 73.1%);--sl-color-green-400: hsl(141.9 69.2% 58%);--sl-color-green-500: hsl(142.1 70.6% 45.3%);--sl-color-green-600: hsl(142.1 76.2% 36.3%);--sl-color-green-700: hsl(142.4 71.8% 29.2%);--sl-color-green-800: hsl(142.8 64.2% 24.1%);--sl-color-green-900: hsl(143.8 61.2% 20.2%);--sl-color-green-950: hsl(144.3 60.7% 12%);--sl-color-emerald-50: hsl(151.8 81% 95.9%);--sl-color-emerald-100: hsl(149.3 80.4% 90%);--sl-color-emerald-200: hsl(152.4 76% 80.4%);--sl-color-emerald-300: hsl(156.2 71.6% 66.9%);--sl-color-emerald-400: hsl(158.1 64.4% 51.6%);--sl-color-emerald-500: hsl(160.1 84.1% 39.4%);--sl-color-emerald-600: hsl(161.4 93.5% 30.4%);--sl-color-emerald-700: hsl(162.9 93.5% 24.3%);--sl-color-emerald-800: hsl(163.1 88.1% 19.8%);--sl-color-emerald-900: hsl(164.2 85.7% 16.5%);--sl-color-emerald-950: hsl(164.3 87.5% 9.4%);--sl-color-teal-50: hsl(166.2 76.5% 96.7%);--sl-color-teal-100: hsl(167.2 85.5% 89.2%);--sl-color-teal-200: hsl(168.4 83.8% 78.2%);--sl-color-teal-300: hsl(170.6 76.9% 64.3%);--sl-color-teal-400: hsl(172.5 66% 50.4%);--sl-color-teal-500: hsl(173.4 80.4% 40%);--sl-color-teal-600: hsl(174.7 83.9% 31.6%);--sl-color-teal-700: hsl(175.3 77.4% 26.1%);--sl-color-teal-800: hsl(176.1 69.4% 21.8%);--sl-color-teal-900: hsl(175.9 60.8% 19%);--sl-color-teal-950: hsl(176.5 58.6% 11.4%);--sl-color-cyan-50: hsl(183.2 100% 96.3%);--sl-color-cyan-100: hsl(185.1 95.9% 90.4%);--sl-color-cyan-200: hsl(186.2 93.5% 81.8%);--sl-color-cyan-300: hsl(187 92.4% 69%);--sl-color-cyan-400: hsl(187.9 85.7% 53.3%);--sl-color-cyan-500: hsl(188.7 94.5% 42.7%);--sl-color-cyan-600: hsl(191.6 91.4% 36.5%);--sl-color-cyan-700: hsl(192.9 82.3% 31%);--sl-color-cyan-800: hsl(194.4 69.6% 27.1%);--sl-color-cyan-900: hsl(196.4 63.6% 23.7%);--sl-color-cyan-950: hsl(196.8 61% 16.1%);--sl-color-sky-50: hsl(204 100% 97.1%);--sl-color-sky-100: hsl(204 93.8% 93.7%);--sl-color-sky-200: hsl(200.6 94.4% 86.1%);--sl-color-sky-300: hsl(199.4 95.5% 73.9%);--sl-color-sky-400: hsl(198.4 93.2% 59.6%);--sl-color-sky-500: hsl(198.6 88.7% 48.4%);--sl-color-sky-600: hsl(200.4 98% 39.4%);--sl-color-sky-700: hsl(201.3 96.3% 32.2%);--sl-color-sky-800: hsl(201 90% 27.5%);--sl-color-sky-900: hsl(202 80.3% 23.9%);--sl-color-sky-950: hsl(202.3 73.8% 16.5%);--sl-color-blue-50: hsl(213.8 100% 96.9%);--sl-color-blue-100: hsl(214.3 94.6% 92.7%);--sl-color-blue-200: hsl(213.3 96.9% 87.3%);--sl-color-blue-300: hsl(211.7 96.4% 78.4%);--sl-color-blue-400: hsl(213.1 93.9% 67.8%);--sl-color-blue-500: hsl(217.2 91.2% 59.8%);--sl-color-blue-600: hsl(221.2 83.2% 53.3%);--sl-color-blue-700: hsl(224.3 76.3% 48%);--sl-color-blue-800: hsl(225.9 70.7% 40.2%);--sl-color-blue-900: hsl(224.4 64.3% 32.9%);--sl-color-blue-950: hsl(226.2 55.3% 18.4%);--sl-color-indigo-50: hsl(225.9 100% 96.7%);--sl-color-indigo-100: hsl(226.5 100% 93.9%);--sl-color-indigo-200: hsl(228 96.5% 88.8%);--sl-color-indigo-300: hsl(229.7 93.5% 81.8%);--sl-color-indigo-400: hsl(234.5 89.5% 73.9%);--sl-color-indigo-500: hsl(238.7 83.5% 66.7%);--sl-color-indigo-600: hsl(243.4 75.4% 58.6%);--sl-color-indigo-700: hsl(244.5 57.9% 50.6%);--sl-color-indigo-800: hsl(243.7 54.5% 41.4%);--sl-color-indigo-900: hsl(242.2 47.4% 34.3%);--sl-color-indigo-950: hsl(243.5 43.6% 22.9%);--sl-color-violet-50: hsl(250 100% 97.6%);--sl-color-violet-100: hsl(251.4 91.3% 95.5%);--sl-color-violet-200: hsl(250.5 95.2% 91.8%);--sl-color-violet-300: hsl(252.5 94.7% 85.1%);--sl-color-violet-400: hsl(255.1 91.7% 76.3%);--sl-color-violet-500: hsl(258.3 89.5% 66.3%);--sl-color-violet-600: hsl(262.1 83.3% 57.8%);--sl-color-violet-700: hsl(263.4 70% 50.4%);--sl-color-violet-800: hsl(263.4 69.3% 42.2%);--sl-color-violet-900: hsl(263.5 67.4% 34.9%);--sl-color-violet-950: hsl(265.1 61.5% 21.4%);--sl-color-purple-50: hsl(270 100% 98%);--sl-color-purple-100: hsl(268.7 100% 95.5%);--sl-color-purple-200: hsl(268.6 100% 91.8%);--sl-color-purple-300: hsl(269.2 97.4% 85.1%);--sl-color-purple-400: hsl(270 95.2% 75.3%);--sl-color-purple-500: hsl(270.7 91% 65.1%);--sl-color-purple-600: hsl(271.5 81.3% 55.9%);--sl-color-purple-700: hsl(272.1 71.7% 47.1%);--sl-color-purple-800: hsl(272.9 67.2% 39.4%);--sl-color-purple-900: hsl(273.6 65.6% 32%);--sl-color-purple-950: hsl(276 59.5% 16.5%);--sl-color-fuchsia-50: hsl(289.1 100% 97.8%);--sl-color-fuchsia-100: hsl(287 100% 95.5%);--sl-color-fuchsia-200: hsl(288.3 95.8% 90.6%);--sl-color-fuchsia-300: hsl(291.1 93.1% 82.9%);--sl-color-fuchsia-400: hsl(292 91.4% 72.5%);--sl-color-fuchsia-500: hsl(292.2 84.1% 60.6%);--sl-color-fuchsia-600: hsl(293.4 69.5% 48.8%);--sl-color-fuchsia-700: hsl(294.7 72.4% 39.8%);--sl-color-fuchsia-800: hsl(295.4 70.2% 32.9%);--sl-color-fuchsia-900: hsl(296.7 63.6% 28%);--sl-color-fuchsia-950: hsl(297.1 56.8% 14.5%);--sl-color-pink-50: hsl(327.3 73.3% 97.1%);--sl-color-pink-100: hsl(325.7 77.8% 94.7%);--sl-color-pink-200: hsl(325.9 84.6% 89.8%);--sl-color-pink-300: hsl(327.4 87.1% 81.8%);--sl-color-pink-400: hsl(328.6 85.5% 70.2%);--sl-color-pink-500: hsl(330.4 81.2% 60.4%);--sl-color-pink-600: hsl(333.3 71.4% 50.6%);--sl-color-pink-700: hsl(335.1 77.6% 42%);--sl-color-pink-800: hsl(335.8 74.4% 35.3%);--sl-color-pink-900: hsl(335.9 69% 30.4%);--sl-color-pink-950: hsl(336.2 65.4% 15.9%);--sl-color-rose-50: hsl(355.7 100% 97.3%);--sl-color-rose-100: hsl(355.6 100% 94.7%);--sl-color-rose-200: hsl(352.7 96.1% 90%);--sl-color-rose-300: hsl(352.6 95.7% 81.8%);--sl-color-rose-400: hsl(351.3 94.5% 71.4%);--sl-color-rose-500: hsl(349.7 89.2% 60.2%);--sl-color-rose-600: hsl(346.8 77.2% 49.8%);--sl-color-rose-700: hsl(345.3 82.7% 40.8%);--sl-color-rose-800: hsl(343.4 79.7% 34.7%);--sl-color-rose-900: hsl(341.5 75.5% 30.4%);--sl-color-rose-950: hsl(341.3 70.1% 17.1%);--sl-color-primary-50: var(--sl-color-sky-50);--sl-color-primary-100: var(--sl-color-sky-100);--sl-color-primary-200: var(--sl-color-sky-200);--sl-color-primary-300: var(--sl-color-sky-300);--sl-color-primary-400: var(--sl-color-sky-400);--sl-color-primary-500: var(--sl-color-sky-500);--sl-color-primary-600: var(--sl-color-sky-600);--sl-color-primary-700: var(--sl-color-sky-700);--sl-color-primary-800: var(--sl-color-sky-800);--sl-color-primary-900: var(--sl-color-sky-900);--sl-color-primary-950: var(--sl-color-sky-950);--sl-color-success-50: var(--sl-color-green-50);--sl-color-success-100: var(--sl-color-green-100);--sl-color-success-200: var(--sl-color-green-200);--sl-color-success-300: var(--sl-color-green-300);--sl-color-success-400: var(--sl-color-green-400);--sl-color-success-500: var(--sl-color-green-500);--sl-color-success-600: var(--sl-color-green-600);--sl-color-success-700: var(--sl-color-green-700);--sl-color-success-800: var(--sl-color-green-800);--sl-color-success-900: var(--sl-color-green-900);--sl-color-success-950: var(--sl-color-green-950);--sl-color-warning-50: var(--sl-color-amber-50);--sl-color-warning-100: var(--sl-color-amber-100);--sl-color-warning-200: var(--sl-color-amber-200);--sl-color-warning-300: var(--sl-color-amber-300);--sl-color-warning-400: var(--sl-color-amber-400);--sl-color-warning-500: var(--sl-color-amber-500);--sl-color-warning-600: var(--sl-color-amber-600);--sl-color-warning-700: var(--sl-color-amber-700);--sl-color-warning-800: var(--sl-color-amber-800);--sl-color-warning-900: var(--sl-color-amber-900);--sl-color-warning-950: var(--sl-color-amber-950);--sl-color-danger-50: var(--sl-color-red-50);--sl-color-danger-100: var(--sl-color-red-100);--sl-color-danger-200: var(--sl-color-red-200);--sl-color-danger-300: var(--sl-color-red-300);--sl-color-danger-400: var(--sl-color-red-400);--sl-color-danger-500: var(--sl-color-red-500);--sl-color-danger-600: var(--sl-color-red-600);--sl-color-danger-700: var(--sl-color-red-700);--sl-color-danger-800: var(--sl-color-red-800);--sl-color-danger-900: var(--sl-color-red-900);--sl-color-danger-950: var(--sl-color-red-950);--sl-color-neutral-50: var(--sl-color-gray-50);--sl-color-neutral-100: var(--sl-color-gray-100);--sl-color-neutral-200: var(--sl-color-gray-200);--sl-color-neutral-300: var(--sl-color-gray-300);--sl-color-neutral-400: var(--sl-color-gray-400);--sl-color-neutral-500: var(--sl-color-gray-500);--sl-color-neutral-600: var(--sl-color-gray-600);--sl-color-neutral-700: var(--sl-color-gray-700);--sl-color-neutral-800: var(--sl-color-gray-800);--sl-color-neutral-900: var(--sl-color-gray-900);--sl-color-neutral-950: var(--sl-color-gray-950);--sl-color-neutral-0: hsl(0, 0%, 100%);--sl-color-neutral-1000: hsl(0, 0%, 0%);--sl-border-radius-small: .1875rem;--sl-border-radius-medium: .25rem;--sl-border-radius-large: .5rem;--sl-border-radius-x-large: 1rem;--sl-border-radius-circle: 50%;--sl-border-radius-pill: 9999px;--sl-shadow-x-small: 0 1px 2px hsl(240 3.8% 46.1% / 6%);--sl-shadow-small: 0 1px 2px hsl(240 3.8% 46.1% / 12%);--sl-shadow-medium: 0 2px 4px hsl(240 3.8% 46.1% / 12%);--sl-shadow-large: 0 2px 8px hsl(240 3.8% 46.1% / 12%);--sl-shadow-x-large: 0 4px 16px hsl(240 3.8% 46.1% / 12%);--sl-spacing-3x-small: .125rem;--sl-spacing-2x-small: .25rem;--sl-spacing-x-small: .5rem;--sl-spacing-small: .75rem;--sl-spacing-medium: 1rem;--sl-spacing-large: 1.25rem;--sl-spacing-x-large: 1.75rem;--sl-spacing-2x-large: 2.25rem;--sl-spacing-3x-large: 3rem;--sl-spacing-4x-large: 4.5rem;--sl-transition-x-slow: 1s;--sl-transition-slow: .5s;--sl-transition-medium: .25s;--sl-transition-fast: .15s;--sl-transition-x-fast: 50ms;--sl-font-mono: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--sl-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--sl-font-serif: Georgia, "Times New Roman", serif;--sl-font-size-2x-small: .625rem;--sl-font-size-x-small: .75rem;--sl-font-size-small: .875rem;--sl-font-size-medium: 1rem;--sl-font-size-large: 1.25rem;--sl-font-size-x-large: 1.5rem;--sl-font-size-2x-large: 2.25rem;--sl-font-size-3x-large: 3rem;--sl-font-size-4x-large: 4.5rem;--sl-font-weight-light: 300;--sl-font-weight-normal: 400;--sl-font-weight-semibold: 500;--sl-font-weight-bold: 700;--sl-letter-spacing-denser: -.03em;--sl-letter-spacing-dense: -.015em;--sl-letter-spacing-normal: normal;--sl-letter-spacing-loose: .075em;--sl-letter-spacing-looser: .15em;--sl-line-height-denser: 1;--sl-line-height-dense: 1.4;--sl-line-height-normal: 1.8;--sl-line-height-loose: 2.2;--sl-line-height-looser: 2.6;--sl-focus-ring-color: var(--sl-color-primary-600);--sl-focus-ring-style: solid;--sl-focus-ring-width: 3px;--sl-focus-ring: var(--sl-focus-ring-style) var(--sl-focus-ring-width) var(--sl-focus-ring-color);--sl-focus-ring-offset: 1px;--sl-button-font-size-small: var(--sl-font-size-x-small);--sl-button-font-size-medium: var(--sl-font-size-small);--sl-button-font-size-large: var(--sl-font-size-medium);--sl-input-height-small: 1.875rem;--sl-input-height-medium: 2.5rem;--sl-input-height-large: 3.125rem;--sl-input-background-color: var(--sl-color-neutral-0);--sl-input-background-color-hover: var(--sl-input-background-color);--sl-input-background-color-focus: var(--sl-input-background-color);--sl-input-background-color-disabled: var(--sl-color-neutral-100);--sl-input-border-color: var(--sl-color-neutral-300);--sl-input-border-color-hover: var(--sl-color-neutral-400);--sl-input-border-color-focus: var(--sl-color-primary-500);--sl-input-border-color-disabled: var(--sl-color-neutral-300);--sl-input-border-width: 1px;--sl-input-required-content: "*";--sl-input-required-content-offset: -2px;--sl-input-required-content-color: var(--sl-input-label-color);--sl-input-border-radius-small: var(--sl-border-radius-medium);--sl-input-border-radius-medium: var(--sl-border-radius-medium);--sl-input-border-radius-large: var(--sl-border-radius-medium);--sl-input-font-family: var(--sl-font-sans);--sl-input-font-weight: var(--sl-font-weight-normal);--sl-input-font-size-small: var(--sl-font-size-small);--sl-input-font-size-medium: var(--sl-font-size-medium);--sl-input-font-size-large: var(--sl-font-size-large);--sl-input-letter-spacing: var(--sl-letter-spacing-normal);--sl-input-color: var(--sl-color-neutral-700);--sl-input-color-hover: var(--sl-color-neutral-700);--sl-input-color-focus: var(--sl-color-neutral-700);--sl-input-color-disabled: var(--sl-color-neutral-900);--sl-input-icon-color: var(--sl-color-neutral-500);--sl-input-icon-color-hover: var(--sl-color-neutral-600);--sl-input-icon-color-focus: var(--sl-color-neutral-600);--sl-input-placeholder-color: var(--sl-color-neutral-500);--sl-input-placeholder-color-disabled: var(--sl-color-neutral-600);--sl-input-spacing-small: var(--sl-spacing-small);--sl-input-spacing-medium: var(--sl-spacing-medium);--sl-input-spacing-large: var(--sl-spacing-large);--sl-input-focus-ring-color: hsl(198.6 88.7% 48.4% / 40%);--sl-input-focus-ring-offset: 0;--sl-input-filled-background-color: var(--sl-color-neutral-100);--sl-input-filled-background-color-hover: var(--sl-color-neutral-100);--sl-input-filled-background-color-focus: var(--sl-color-neutral-100);--sl-input-filled-background-color-disabled: var(--sl-color-neutral-100);--sl-input-filled-color: var(--sl-color-neutral-800);--sl-input-filled-color-hover: var(--sl-color-neutral-800);--sl-input-filled-color-focus: var(--sl-color-neutral-700);--sl-input-filled-color-disabled: var(--sl-color-neutral-800);--sl-input-label-font-size-small: var(--sl-font-size-small);--sl-input-label-font-size-medium: var(--sl-font-size-medium);--sl-input-label-font-size-large: var(--sl-font-size-large);--sl-input-label-color: inherit;--sl-input-help-text-font-size-small: var(--sl-font-size-x-small);--sl-input-help-text-font-size-medium: var(--sl-font-size-small);--sl-input-help-text-font-size-large: var(--sl-font-size-medium);--sl-input-help-text-color: var(--sl-color-neutral-500);--sl-toggle-size-small: .875rem;--sl-toggle-size-medium: 1.125rem;--sl-toggle-size-large: 1.375rem;--sl-overlay-background-color: hsl(240 3.8% 46.1% / 33%);--sl-panel-background-color: var(--sl-color-neutral-0);--sl-panel-border-color: var(--sl-color-neutral-200);--sl-panel-border-width: 1px;--sl-tooltip-border-radius: var(--sl-border-radius-medium);--sl-tooltip-background-color: var(--sl-color-neutral-800);--sl-tooltip-color: var(--sl-color-neutral-0);--sl-tooltip-font-family: var(--sl-font-sans);--sl-tooltip-font-weight: var(--sl-font-weight-normal);--sl-tooltip-font-size: var(--sl-font-size-small);--sl-tooltip-line-height: var(--sl-line-height-dense);--sl-tooltip-padding: var(--sl-spacing-2x-small) var(--sl-spacing-x-small);--sl-tooltip-arrow-size: 6px;--sl-z-index-drawer: 700;--sl-z-index-dialog: 800;--sl-z-index-dropdown: 900;--sl-z-index-toast: 950;--sl-z-index-tooltip: 1000}@supports (scrollbar-gutter: stable){.sl-scroll-lock{scrollbar-gutter:var(--sl-scroll-lock-gutter)!important}.sl-scroll-lock body{overflow:hidden!important}}@supports not (scrollbar-gutter: stable){.sl-scroll-lock body{padding-right:var(--sl-scroll-lock-size)!important;overflow:hidden!important}}.sl-toast-stack{position:fixed;top:0;inset-inline-end:0;z-index:var(--sl-z-index-toast);width:28rem;max-width:100%;max-height:100%;overflow:auto}.sl-toast-stack sl-alert{margin:var(--sl-spacing-medium)}.sl-toast-stack sl-alert::part(base){box-shadow:var(--sl-shadow-large)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans SC,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:Noto Sans SC,Noto Sans,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}a{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}a:hover{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}a{text-decoration:none}a:hover{text-decoration:underline}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.btn{border-radius:.375rem;padding:.5rem 1rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.btn-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(15 118 110 / var(--tw-bg-opacity, 1))}.btn-secondary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1))}.btn-outline{border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.btn-outline:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.btn-outline:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.card{overflow:hidden;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card:hover{--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-full{bottom:100%}.left-1{left:.25rem}.right-0{right:0}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.mx-0{margin-left:0;margin-right:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[calc\(100\%-60px\)\]{height:calc(100% - 60px)}.h-full{height:100%}.min-h-\[calc\(100vh-140px\)\]{min-height:calc(100vh - 140px)}.w-0{width:0px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-28{width:7rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-full{width:100%}.min-w-\[120px\]{min-width:120px}.min-w-\[160px\]{min-width:160px}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-100{--tw-gradient-from: #dbeafe var(--tw-gradient-from-position);--tw-gradient-to: rgb(219 234 254 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to: #e0e7ff var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to: #eef2ff var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-12{padding:3rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-3{padding-bottom:.75rem}.pr-3{padding-right:.75rem}.text-center{text-align:center}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.container{max-width:1200px;margin:0 auto;padding:0 20px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:from-blue-600:hover{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-green-600:hover{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-orange-600:hover{--tw-gradient-from: #ea580c var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-purple-600:hover{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-red-600:hover{--tw-gradient-from: #dc2626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-blue-700:hover{--tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position)}.hover\:to-green-700:hover{--tw-gradient-to: #15803d var(--tw-gradient-to-position)}.hover\:to-orange-700:hover{--tw-gradient-to: #c2410c var(--tw-gradient-to-position)}.hover\:to-purple-700:hover{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.hover\:to-red-700:hover{--tw-gradient-to: #b91c1c var(--tw-gradient-to-position)}.hover\:text-orange-500:hover{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}
