.navbar{flex-shrink:0;height:60px;display:flex;align-items:center;gap:18px;padding:0 22px;background:#3e3f40;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.brand-logo{display:grid;place-items:center;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.brand-text{display:flex;flex-direction:column;gap:0;min-width:0}.brand-text h1{font-size:15px;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text span{font-size:10.5px;color:#ffffff9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-links{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.nav-link{border:none;background:transparent;color:#96a09b;font-size:13.5px;font-weight:550;font-family:inherit;padding:8px 13px;border-radius:10px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-link.active{color:#2f6e5a;background:#e8f3ee;font-weight:650}.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-search{display:flex;align-items:center;gap:7px;padding:7px 12px;background:#fffffff0;border:1px solid transparent;border-radius:999px;color:var(--m-text-3, #8a968f);width:216px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.nav-search:focus-within{border-color:var(--m-green-soft, #6ba88f);box-shadow:0 0 0 3px #3d887338}.nav-search input{border:none;background:transparent;outline:none;font-size:13px;color:var(--m-text, #2c3a35);font-family:inherit;width:100%}.nav-search input::placeholder{color:var(--m-text-3, #8a968f)}.nav-user-chip{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff1a;cursor:pointer;font-family:inherit;transition:box-shadow var(--dur-fast) var(--ease-out)}.nav-user-chip:hover{box-shadow:0 4px 12px #0000003d;background:#ffffff29}.nav-user-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2f6e5a,#3d8873 60%,#6ba88f);color:#fff;font-size:12px;font-weight:700;border:1.5px solid rgba(255,255,255,.5)}.nav-user-name{font-size:13px;font-weight:600;color:#fff;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-vip-badge{display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:700;color:#fff;background:var(--m-green, #3d8873);padding:3px 7px;border-radius:999px;box-shadow:0 2px 6px #0003}.nav-login-btn{border:none;background:transparent;color:#ffffffd1;font-size:13px;font-weight:600;font-family:inherit;padding:8px 10px;border-radius:999px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.nav-login-btn:hover{background:#ffffff1a;color:#fff}.nav-cta-btn{border:none;background:var(--m-gradient, linear-gradient(135deg, #2f6e5a 0%, #3d8873 55%, #6ba88f 100%));color:#fff;font-size:13px;font-weight:650;font-family:inherit;padding:9px 18px;border-radius:999px;cursor:pointer;box-shadow:0 5px 16px #00000047;display:inline-flex;align-items:center;gap:4px;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.nav-cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px #00000057}@media (max-width: 760px){.nav-links{display:none}.nav-search{width:120px}}.navbar{background:#fffffff5;border-bottom-color:#e8efec;box-shadow:0 1px #275b4a0a}.brand-logo{filter:drop-shadow(0 2px 6px rgba(61,136,115,.2))}.brand-text h1{color:#26352f}.brand-text span{color:#91a099}.nav-link{color:#26352f}.nav-link:hover{color:#2f6e5a;background:#eef7f3}.nav-link.active{color:#2f6e5a;background:#e8f3ee}.nav-user-chip{border-color:#e2ece8;background:#fff}.nav-user-chip:hover{background:#f4faf7;box-shadow:0 4px 12px #275b4a1f}.nav-user-name{color:#26352f}.nav-login-btn{color:#26352f;border:1px solid #e2ece8}.nav-login-btn:hover{color:#2f6e5a;background:#eef7f3}.nav-cta-btn{box-shadow:0 5px 16px #3d88733d}.left-nav{width:156px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:#fff;border-right:1px solid #eef1ef;padding:16px 10px 14px}.left-nav-head{display:none}.left-nav-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding:14px 0}.left-nav-list::-webkit-scrollbar{width:4px}.left-nav-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}.left-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 26px 10px 11px;border:none;background:transparent;border-radius:12px;color:var(--m-text-2, #5c6b64);font-size:13.5px;font-weight:550;font-family:inherit;cursor:pointer;text-align:left;position:relative;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.left-nav-item:hover{background:#eef4f0;color:var(--m-green-dark, #2f6e5a)}.left-nav-item.active{background:#e8f3ee;color:var(--m-green-dark, #2f6e5a);font-weight:650}.left-nav-sublist{display:flex;flex-direction:column;gap:3px;padding:0 4px 4px 10px}.left-nav-subitem{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--m-text-3,#8a968f);padding:8px 9px;border-radius:9px;font:500 12.5px/1.1 inherit;cursor:pointer;text-align:left;white-space:nowrap}.left-nav-subitem svg{flex-shrink:0}.left-nav-subitem span{overflow:hidden;text-overflow:ellipsis}.left-nav-subitem:hover{color:var(--m-green-dark,#2f6e5a);background:#f0f7f3}.left-nav-icon{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0}.left-nav-item.active .left-nav-icon{color:var(--m-green, #3d8873)}.left-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-nav-caret{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;color:var(--m-text-3, #8a968f);transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);pointer-events:none}.left-nav-caret.open{transform:translateY(-50%) rotate(90deg);color:var(--m-green, #3d8873)}.left-nav-item:hover .left-nav-caret{color:var(--m-green, #3d8873)}.left-nav-vip-dot{width:8px;height:8px;border-radius:50%;background:var(--m-gold, #c9a227);box-shadow:0 0 0 3px #c9a2272e}.left-nav-foot{border-top:1px solid rgba(61,136,115,.1);padding-top:12px;display:flex;flex-direction:column;gap:4px}.left-nav-user{display:flex;align-items:center;gap:9px;padding:8px 9px}.left-nav-user-avatar{width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#2f6e5a,#3d8873 60%,#6ba88f);color:#fff;font-size:13px;font-weight:700;border:1.5px solid rgba(255,255,255,.5)}.left-nav-user-meta{display:flex;flex-direction:column;gap:0;min-width:0}.left-nav-user-meta strong{font-size:12.5px;font-weight:650;color:var(--m-text, #2c3a35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-nav-user-meta span{font-size:10.5px;color:var(--m-text-3, #8a968f)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{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}.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}.home-dashboard{flex:1;min-height:0;display:flex;overflow:hidden;background:#eef1ef;gap:18px;padding:16px 16px 16px 0}.dash-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:24px 26px 26px;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:18px;box-shadow:0 1px 3px #30463c0a}.dash-main>*{flex:0 0 auto;min-width:0}.home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.home-greeting h1{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--m-text);margin:0}.home-greeting p{font-size:13px;color:var(--m-text-3);margin:8px 0 0}.home-search{display:flex;align-items:center;gap:8px;padding:10px 16px 10px 15px;background:#f2f5f3;border:1px solid #e6ece9;border-radius:999px;width:260px;color:var(--m-text-3);margin-top:8px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.home-search:focus-within{border-color:var(--m-green-soft);background:#fff;box-shadow:0 0 0 3px #3d887324}.home-search input{border:none;background:transparent;outline:none;font-size:13px;color:var(--m-text);font-family:inherit;width:100%}.home-search input::placeholder{color:var(--m-text-3)}.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-stat{display:flex;align-items:center;gap:14px;padding:16px 20px 16px 14px;border-radius:16px;background:#fff;border:1px solid #eef1f0;min-height:96px}.home-stat-media{flex-shrink:0}.home-stat-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:64px;background:#f2f5f3;border-radius:12px;overflow:hidden}.home-stat-date b{width:100%;text-align:center;background:#4a9d86;color:#fff;font-size:12px;font-weight:700;padding:4px 0 3px;line-height:1}.home-stat-date i{width:100%;text-align:center;font-style:normal;font-size:18px;font-weight:800;color:var(--m-text);padding:3px 0 5px;line-height:1}.home-stat-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;flex-shrink:0;color:var(--m-green);background:#e8f3ee}.home-stat-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-stat-label{font-size:14px;color:var(--m-text);font-weight:600}.home-stat-value{display:flex;align-items:center;gap:8px;font-size:26px;font-weight:800;color:var(--m-text);letter-spacing:-.02em;line-height:1.15}.home-stat-num{white-space:nowrap}.home-stat-value i{font-size:13px;font-weight:600;color:var(--m-text-2);font-style:normal;margin-left:2px}.home-stat-wave{width:92px;height:26px;color:var(--m-green-soft)}.home-stat-sub{font-size:12px;color:var(--m-text-3)}.home-section{display:flex;flex-direction:column;gap:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{font-size:19px;font-weight:800;color:var(--m-text);margin:0;letter-spacing:-.01em}.section-actions{display:flex;align-items:center;gap:8px}.section-more{display:inline-flex;align-items:center;gap:3px;border:none;background:transparent;color:var(--m-text-2);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:999px;transition:background var(--dur-fast) var(--ease-out)}.section-more:hover{background:#f2f5f3;color:var(--m-green-dark)}.sec-nav{display:inline-flex;align-items:center;gap:4px}.sec-nav-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #e6ece9;background:#fff;color:var(--m-text-2);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.sec-nav-btn:hover{border-color:var(--m-green-soft);color:var(--m-green-dark);background:#f2f5f3}.continue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 1200px){.continue-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (max-width: 640px){.continue-grid{grid-template-columns:1fr}}.dash-main .continue-card{display:block;position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:#fff;border:1px solid #eef1f0;border-left:1px solid #eef1f0!important;margin:0;transition:transform .26s var(--ease-out),box-shadow .26s var(--ease-out)}.dash-main .continue-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #30463c1f}.dash-main .continue-body{display:flex;flex-direction:column;gap:4px}.continue-body p{margin:0}.dash-main .continue-body h3{white-space:normal;overflow:visible;text-overflow:clip;margin:0}.dash-main .continue-visual{position:relative;height:120px;display:grid;place-items:center;overflow:hidden}.dash-main .continue-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.05),transparent 40%)}.continue-visual img{width:100%;height:100%;object-fit:cover}.continue-pct{position:absolute;top:12px;right:12px;z-index:2;padding:3px 12px;border-radius:999px;background:#fffffff0;color:var(--m-green-dark);font-size:12.5px;font-weight:700;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.continue-pct.vip{color:#fff;background:var(--m-gradient)}.dash-main .continue-body{padding:8px 12px 10px;display:flex;flex-direction:column;gap:2px}.dash-main .continue-body h3{font-size:13.5px;font-weight:700;color:var(--m-text);margin:0;line-height:1.3}.dash-main .continue-body p{font-size:11.5px;color:var(--m-text-3);margin:0;line-height:1.3}.continue-cta{margin-top:2px;display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--m-green);line-height:1.3}.recommend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.recommend-card{display:flex;flex-direction:column;gap:12px;padding:15px 16px 13px;border-radius:14px;cursor:pointer;background:#fff;border:1px solid #eef1f0;transition:transform .24s var(--ease-out),box-shadow .24s var(--ease-out)}.recommend-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #30463c1a}.recommend-top{display:flex;align-items:center;gap:12px}.recommend-icon{width:48px;height:48px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.recommend-info{flex:1;min-width:0}.recommend-info h4{font-size:14px;font-weight:700;color:var(--m-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-info p{font-size:12px;color:var(--m-text-3);margin:3px 0 0}.recommend-bottom{display:flex;align-items:center;justify-content:space-between}.recommend-tag{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;background:#e8f3ee;color:var(--m-green-dark)}.recommend-tag.course{background:#e8eef6;color:#48648a}.recommend-score{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:13px;font-weight:700;color:var(--m-gold)}.home-feature-banner{position:relative;display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:16px;background:linear-gradient(90deg,#4a9d8614,#88bea824);border:1px solid rgba(74,157,134,.18);overflow:hidden}.home-feature-banner:after{content:"";position:absolute;right:0;top:0;bottom:0;width:42%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 90' preserveAspectRatio='none'><path d='M0 60 C 60 20 120 80 180 45 S 300 20 400 55' fill='none' stroke='%236ba88f' stroke-width='1.3' opacity='0.35'/><path d='M0 70 C 60 30 120 90 180 55 S 300 30 400 65' fill='none' stroke='%236ba88f' stroke-width='1.1' opacity='0.22'/><path d='M0 50 C 60 10 120 70 180 35 S 300 10 400 45' fill='none' stroke='%236ba88f' stroke-width='1.1' opacity='0.22'/></svg>");background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}.fba-icon{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:#3f9d83;background:#dff0ea;flex-shrink:0}.fba-text{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.fba-text strong{font-size:16px;font-weight:750;color:var(--m-text)}.fba-text span{font-size:12.5px;color:var(--m-text-3)}.fba-btn{position:relative;z-index:1;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(74,157,134,.3);background:#fff;color:var(--m-green-dark);font-size:12.5px;font-weight:650;font-family:inherit;padding:11px 20px;border-radius:999px;cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.fba-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3d887333}.home-mistake-pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:9px 14px;border-radius:999px;background:var(--m-gold-soft);border:1px solid rgba(201,162,39,.28);color:#8a6d12;font-size:13px;font-family:inherit;cursor:pointer}.home-mistake-pill strong{color:#7a6210}.dash-chat{position:relative;width:320px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #eef1f0;border-radius:18px;box-shadow:0 1px 3px #30463c0a}.dash-chat-ai-head{display:flex;align-items:center;gap:11px;padding:16px 16px 12px 18px;border-bottom:1px solid #eef1f0}.dash-ai-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0}.dash-ai-avatar img{width:100%;height:100%;object-fit:cover;display:block}.dash-ai-title{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dash-ai-title strong{font-size:17px;font-weight:800;color:var(--m-text)}.dash-ai-title span{font-size:12px;color:var(--m-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-chat-more{display:grid;place-items:center;width:30px;height:30px;border:none;background:transparent;color:var(--m-text-3);cursor:pointer;border-radius:8px}.dash-chat-more:hover{background:#f2f5f3;color:var(--m-text)}.dash-chat-close{display:none;place-items:center;margin-left:2px}.dash-chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dash-chat-panel .answer-content{overflow-x:hidden}.dash-chat-panel .katex-display{max-width:100%;overflow-x:auto;padding:2px 0}.dash-chat-panel .katex{max-width:100%}.chat-window{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;scrollbar-gutter:stable}.ai-message-row{display:flex;align-items:flex-start;gap:9px;margin-bottom:20px}.ai-msg-badge{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;margin-top:2px;border-radius:50%;color:#3f9d83;background:#e8f3ee}.ai-msg-badge svg{transform:scale(.92)}.dash-chat-panel .message{max-width:84%;padding:11px 14px;border-radius:14px;line-height:1.6;font-size:13.5px}.dash-chat-panel .message.ai{background:#f2f5f3;color:var(--m-text);border-top-left-radius:4px}.dash-chat-panel .message.user{margin-left:auto;background:#4a9d86;color:#fff;border-top-right-radius:4px;box-shadow:0 2px 10px #4a9d864d}.dash-chat-panel .message.user *{color:#fff!important}.answer-related{display:inline-flex;align-items:center;gap:4px;margin-top:10px;padding:8px 13px;border:1px solid #e2ece8;background:#fff;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--m-text);font-family:inherit;cursor:pointer}.answer-related b{color:var(--m-green-dark);font-weight:700}.answer-related svg{color:var(--m-green)}.answer-related:hover{border-color:var(--m-green-soft);background:#f4faf7}.chat-insights{display:flex;flex-direction:column;gap:10px;padding:6px 16px 12px}.chat-insight{border:1px solid #e6ece9;background:#fff;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:550;color:var(--m-text);font-family:inherit;cursor:pointer;text-align:left;transition:all var(--dur-fast) var(--ease-out)}.chat-insight:hover{border-color:var(--m-green-soft);color:var(--m-green-dark);background:#f4faf7}.chat-input-area{display:flex;align-items:center;gap:10px;padding:12px 16px 16px;border-top:1px solid #eef1f0}.chat-input-area input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:13px;color:var(--m-text);font-family:inherit}.chat-input-area input::placeholder{color:var(--m-text-3)}.chat-input-area button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:none;background:transparent;color:var(--m-text-3);cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.chat-input-area button:hover{color:var(--m-green-dark);background:#e8f3ee}.chat-input-area button:disabled{opacity:.4;cursor:default}.dash-chat .chat-header,.dash-chat-fab{display:none}@media (max-width: 1180px){.dash-chat{position:fixed;top:66px;right:14px;bottom:14px;width:min(400px,92vw);z-index:300;transform:translate(120%);visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;box-shadow:-12px 0 40px #0000002e}.dash-chat.open{transform:translate(0);visibility:visible}.dash-chat-close{display:grid;place-items:center;width:30px;height:30px;background:var(--m-green-fill);border:1px solid var(--m-border);border-radius:8px;color:var(--m-green-dark);cursor:pointer}}@media (max-width: 640px){.dash-main{padding:20px 16px;gap:18px}.home-stats{grid-template-columns:1fr}.home-search{width:100%}.home-greeting h1{font-size:24px}}.dk-card{background:var(--bg-card, rgba(255, 255, 255, .85));border:1px solid var(--border-light, rgba(0, 0, 0, .06));border-radius:18px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.dk-card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover, 0 8px 30px rgba(0, 0, 0, .1))}.dk-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.dk-section-heading{display:flex;flex-direction:column;gap:4px}.dk-tag{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--primary, #0071e3);background:#0071e314;border-radius:999px;padding:3px 10px}.dk-section-title{font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text-dark, #1d1d1f);margin:0}.dk-section-sub{font-size:13px;color:var(--text-light, #6e6e73);margin:0}.dk-section-actions{display:flex;gap:8px}.dk-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:999px;cursor:pointer;font-weight:600;font-family:inherit;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease;white-space:nowrap}.dk-btn:active{transform:translateY(1px) scale(.98)}.dk-btn-primary{background:linear-gradient(135deg,var(--primary, #0071e3),#4d7cf0);color:#fff;box-shadow:0 6px 18px #0071e34d}.dk-btn-primary:hover{box-shadow:0 10px 24px #0071e361}.dk-btn-ghost{background:#ffffffb3;color:var(--text-dark, #1d1d1f);border:1px solid var(--border-light, rgba(0, 0, 0, .06))}.dk-btn-ghost:hover{background:#fff;box-shadow:var(--shadow-soft, 0 2px 8px rgba(0, 0, 0, .06))}.dk-btn-dark{background:var(--dark-bg, #1d1d1f);color:var(--dark-text-primary, #f5f5f7)}.dk-btn-danger{background:var(--danger, #ff3b30);color:#fff}.dk-btn-sm{font-size:12px;padding:7px 14px}.dk-btn-md{font-size:13px;padding:9px 18px}.dk-btn-lg{font-size:15px;padding:12px 26px}.dk-btn-icon{display:inline-flex}.dk-btn[disabled]{opacity:.5;cursor:not-allowed}.dk-segmented{display:inline-flex;background:#7878801f;border-radius:999px;padding:3px;gap:2px}.dk-seg-item{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--text-medium, #424245);cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.dk-seg-item.active{background:#fff;color:var(--text-dark, #1d1d1f);box-shadow:0 2px 8px #0000001a}.dk-seg-badge{font-size:9.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:999px;padding:1px 6px}.dk-chip{display:inline-flex;align-items:center;border-radius:999px;font-weight:600;line-height:1}.dk-chip-sm{font-size:11px;padding:4px 10px}.dk-chip-neutral{background:#7878801f;color:var(--text-medium, #424245)}.dk-chip-blue{background:#0071e31a;color:#0071e3}.dk-chip-green{background:#34c7591f;color:#248a3d}.dk-chip-orange{background:#ff9f0a24;color:#c96f00}.dk-chip-purple{background:#8b5cf61f;color:#7c3aed}.dk-stat-row{display:flex;gap:12px;flex-wrap:wrap}.dk-stat{display:flex;align-items:center;gap:12px;min-width:150px;padding:14px 16px;border-radius:16px;border:1px solid var(--border-light, rgba(0, 0, 0, .06));background:var(--bg-card, rgba(255, 255, 255, .85));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));font-family:inherit;cursor:default;transition:transform .2s ease,box-shadow .2s ease;text-align:left}.dk-stat.clickable{cursor:pointer}.dk-stat.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium, 0 4px 20px rgba(0, 0, 0, .08))}.dk-stat-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;flex:none}.dk-stat-blue .dk-stat-icon{background:#0071e31a;color:#0071e3}.dk-stat-green .dk-stat-icon{background:#34c7591f;color:#248a3d}.dk-stat-purple .dk-stat-icon{background:#8b5cf61f;color:#7c3aed}.dk-stat-orange .dk-stat-icon{background:#ff9f0a24;color:#c96f00}.dk-stat-body{display:flex;flex-direction:column;gap:1px}.dk-stat-value{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text-dark, #1d1d1f);line-height:1.2}.dk-stat-label{font-size:12px;color:var(--text-light, #6e6e73)}.dk-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#16182366;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:dk-fade-in .18s ease;padding:20px}.dk-modal{width:100%;background:#fff;border-radius:20px;box-shadow:var(--shadow-xl, 0 20px 60px rgba(0, 0, 0, .15));overflow:hidden;animation:dk-pop-in .22s cubic-bezier(.2,.8,.2,1)}.dk-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 8px}.dk-modal-head h4{margin:0;font-size:17px;font-weight:700;color:var(--text-dark, #1d1d1f)}.dk-modal-close{border:none;background:#7878801a;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-medium, #424245);cursor:pointer;transition:background .18s ease}.dk-modal-close:hover{background:#78788033}.dk-modal-body{padding:8px 22px 20px;font-size:14px;color:var(--text-medium, #424245);line-height:1.6}.dk-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 22px 18px}.dk-toast{position:fixed;top:20px;right:20px;z-index:1100;display:flex;align-items:center;gap:8px;background:#1d1d1feb;color:#f5f5f7;font-size:13px;font-weight:500;padding:11px 16px;border-radius:14px;box-shadow:0 12px 32px #0003;animation:dk-slide-in .22s cubic-bezier(.2,.8,.2,1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dk-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;text-align:center}.dk-empty-icon{margin-bottom:4px}.dk-empty h4{margin:0;font-size:16px;font-weight:700;color:var(--text-dark, #1d1d1f)}.dk-empty p{margin:0 0 6px;font-size:13px;color:var(--text-light, #6e6e73)}@keyframes dk-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dk-pop-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dk-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.dk-card,.dk-stat,.dk-btn,.dk-modal,.dk-toast{transition:none;animation:none}}.explore{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:26px 30px 30px;background:radial-gradient(900px 420px at 8% -8%,rgba(61,136,115,.1),transparent 60%),radial-gradient(760px 380px at 100% 110%,rgba(94,164,137,.08),transparent 60%),var(--bg-warm);display:flex;flex-direction:column;gap:20px}.explore-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.explore-title h1{font-size:22px;font-weight:800;color:var(--text-dark);margin:0;letter-spacing:-.02em}.explore-title p{font-size:12.5px;color:var(--text-muted);margin:4px 0 0}.explore-search{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:999px;width:260px;color:var(--text-muted);box-shadow:var(--shadow-soft)}.explore-search:focus-within{border-color:#3d887366;box-shadow:var(--shadow-glow)}.explore-search input{border:none;background:transparent;outline:none;font-size:13px;color:var(--text-dark);font-family:inherit;width:100%}.explore-search input::placeholder{color:var(--text-muted)}.explore-search-clear{border:none;background:var(--bg-inset);color:var(--text-muted);width:18px;height:18px;border-radius:50%;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.explore-search-clear:hover{color:var(--text-dark)}.explore-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.explore-cat-tabs{display:flex;gap:8px;flex-wrap:wrap}.explore-cat-tab{display:inline-flex;align-items:center;gap:5px;padding:7px 15px;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-medium);font-size:13px;font-family:inherit;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.explore-cat-tab:hover{border-color:#3d887366;color:var(--primary)}.explore-cat-tab.active{background:linear-gradient(135deg,var(--primary) 0%,#5c8f78 100%);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 4px 12px #3d88734d}.explore-section{display:flex;flex-direction:column;gap:12px}.explore-section-head{display:flex;align-items:baseline;gap:10px}.explore-section-head h2{font-size:16px;font-weight:700;color:var(--text-dark);margin:0}.explore-section-head span{font-size:12px;color:var(--text-muted)}.explore-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.explore-card{position:relative;display:flex;flex-direction:column;background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:18px;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .26s var(--ease-out),box-shadow .26s var(--ease-out),border-color .26s var(--ease-out)}.explore-card:hover{transform:translateY(-4px);border-color:#3d887352;box-shadow:var(--shadow-card-hover)}.explore-card-visual{position:relative;height:130px;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--border-soft)}.explore-card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-out)}.explore-card:hover .explore-card-visual img{transform:scale(1.06)}.explore-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}.explore-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.explore-card-title h3{font-size:15px;font-weight:700;color:var(--text-dark);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-card-desc{font-size:12px;color:var(--text-light);margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.explore-card-weight{font-size:11px;color:var(--text-muted)}.explore-card-enter{position:absolute;right:12px;bottom:12px;z-index:2;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--primary);background:#ffffffd9;border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);opacity:0;transform:translate(-4px);transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.explore-card:hover .explore-card-enter{opacity:1;transform:none}.explore-card.is-advanced:hover{border-color:#5ea48973}.explore-card.is-locked .explore-card-visual img{filter:saturate(.6) brightness(.96)}.explore-lock-chip{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#5ea4892e;color:#2f6e5a;font-size:11px;font-weight:700;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.explore-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px;color:var(--text-muted)}.explore-empty p{margin:0;font-size:13px}.explore-vip-banner{display:flex;align-items:center;gap:14px;margin-top:8px;padding:14px 18px;border-radius:16px;background:linear-gradient(90deg,#8b5cf61f,#0071e314);border:1px solid rgba(94,164,137,.24)}.evb-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#2f6e5a;background:#5ea4892e;flex-shrink:0}.evb-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.evb-text strong{font-size:14px;color:var(--text-dark)}.evb-text span{font-size:12px;color:var(--text-light)}.evb-btn{border:none;background:linear-gradient(135deg,#2f6e5a,#7c3aed);color:#fff;font-size:13px;font-weight:600;font-family:inherit;padding:9px 18px;border-radius:999px;cursor:pointer;box-shadow:0 4px 14px #6d28d94d;transition:transform var(--dur-fast) var(--ease-out)}.evb-btn:hover{transform:translateY(-1px)}@media (max-width: 640px){.explore{padding:20px 16px}.explore-search{width:100%}}.lab-container .stage-wrapper{container-type:inline-size}.lab-container .lab-topbar{position:absolute;top:14px;left:0;right:0;margin:0 auto;width:max-content;max-width:calc(100% - 24px);z-index:60;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;row-gap:0;gap:12px;padding:8px 10px 8px 16px;border-radius:18px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);animation:fadeInUp .4s var(--ease-out) both;pointer-events:none}@container (max-width: 560px){.lab-container .lab-topbar{gap:8px;padding-left:12px}.lab-container .lab-topbar-sub,.lab-container .lab-topbar-center{display:none}.lab-container .lab-topbar-progress{margin-left:auto}}.lab-container .lab-topbar>*{pointer-events:auto}.lab-container .lab-topbar-title{display:flex;flex-direction:column;gap:1px;min-width:0}.lab-container .lab-topbar-name{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-container .lab-topbar-sub{font-size:11px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.lab-container .lab-topbar-center{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:#7878801a}.lab-container .lab-topbar-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-medium);white-space:nowrap;border-radius:999px;padding:3px 8px}.lab-container .lab-topbar-chip+.lab-topbar-chip{border-left:1px solid var(--border-light);border-radius:0;padding-left:10px}.lab-container .lab-topbar-chip .icon{color:var(--primary)}.lab-container .lab-topbar-progress{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--text-medium);white-space:nowrap}.lab-container .lab-topbar-progress .progress-track{display:flex;gap:3px}.lab-container .lab-topbar-progress .progress-seg{width:14px;height:5px;border-radius:3px;background:#7878802e;transition:background .25s var(--ease-out),box-shadow .25s var(--ease-out)}.lab-container .lab-topbar-progress .progress-seg.on{background:linear-gradient(135deg,var(--primary),#4d7cf0);box-shadow:0 0 6px #0071e359}.lab-container .lab-topbar-progress .progress-seg.done{background:var(--success);box-shadow:none}.lab-container .lab-topbar-actions{display:flex;align-items:center;gap:6px;padding-left:8px;border-left:1px solid var(--border-light)}.lab-container .lab-topbar-actions .dk-btn{padding:6px 14px;font-size:12px}@media (max-width: 768px){.lab-container .lab-topbar{top:10px;left:10px;right:10px;transform:none;max-width:none;gap:8px;padding-left:12px;flex-wrap:wrap}.lab-container .lab-topbar-sub,.lab-container .lab-topbar-center{display:none}.lab-container .lab-topbar-progress{margin-left:auto}}.lab-container .stage-frame{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-lg),inset 0 1px #ffffff8c;background:var(--bg-warm)}@media (max-width: 768px){.lab-container .stage-frame{top:6px;right:6px;bottom:6px;left:6px;border-radius:var(--radius-md)}}.lab-container .status-indicator{top:auto;left:26px;bottom:24px;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-border);border-radius:999px;padding:7px 14px;box-shadow:var(--shadow-medium);gap:7px;z-index:55}.lab-container .status-dot.running{background:var(--success);box-shadow:0 0 8px #34c75999}.lab-container .status-dot.paused{background:var(--warning);box-shadow:0 0 8px #ff9f0a99}.lab-container .status-text{color:var(--text-dark);font-size:12px;font-weight:600}.lab-container .exp-name{color:var(--text-light);font-size:11px;border-left:1px solid var(--border-light);margin-left:2px;padding-left:10px}@media (max-width: 768px){.lab-container .status-indicator{left:16px;bottom:62px}}.lab-container .stage-overlay{bottom:22px;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-border);border-radius:999px;box-shadow:var(--shadow-medium);padding:6px 10px;gap:4px;z-index:55}.lab-container .overlay-btn{width:36px;height:36px;border:none;color:var(--text-dark);background:transparent;border-radius:50%;display:grid;place-items:center;transition:background .18s var(--ease-out),color .18s var(--ease-out),transform .18s var(--ease-out)}.lab-container .overlay-btn:hover{background:#0000000f;transform:translateY(-1px)}.lab-container .overlay-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 10px #0071e359}.lab-container .overlay-btn.active:hover{background:var(--primary-dark)}.lab-container .overlay-btn:active{transform:scale(.94)}@media (max-width: 768px){.lab-container .stage-overlay{bottom:14px}}.lab-container .lab-hint-stack{top:76px}@media (max-width: 768px){.lab-container .lab-hint-stack{top:12px}}.lab-container .panel-section{padding:16px 14px}.lab-container .section-title{font-size:10.5px;letter-spacing:.08em;margin-bottom:12px}.lab-container .control-group{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),background .18s var(--ease-out)}.lab-container .control-group:hover{background:var(--bg-card-hover);border-color:#0071e340;box-shadow:var(--shadow-soft)}.lab-container .control-value{font-variant-numeric:tabular-nums;background:#0071e314;border-radius:999px;padding:2px 10px}.lab-container input[type=range]{background:linear-gradient(90deg,rgba(0,113,227,.35),var(--bg-inset));height:5px}.lab-container input[type=range]::-webkit-slider-thumb{width:20px;height:20px;background:#fff;box-shadow:0 1px 5px #00000040,0 0 0 1px #0000000f,inset 0 1px #ffffffe6;border:none}.lab-container input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 2px 8px #0071e359,0 0 0 1px #0071e34d}.lab-container input[type=range]:disabled{opacity:.4;cursor:not-allowed}.lab-container select{border-radius:10px}.lab-container .canvas-2d-wrapper{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease-out),border-color .18s var(--ease-out)}.lab-container .canvas-2d-wrapper:hover{border-color:#0071e333;box-shadow:var(--shadow-soft)}.lab-container .data-panel{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.lab-container .data-row{padding:9px 14px;transition:background .15s var(--ease-out)}.lab-container .data-row:hover{background:#0071e30a}.lab-container .data-row .label{font-size:12px}.lab-container .data-row .value{font-size:13px;font-variant-numeric:tabular-nums}.lab-container .formula-box{border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-card)}.lab-container .formula-main{border-radius:10px;line-height:1.7}.lab-container .records-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:12px}.lab-container .records-header{padding-bottom:8px;border-bottom:1px solid var(--border-soft);margin-bottom:10px}.lab-container .records-header span{font-size:12px;font-weight:600;color:var(--text-medium)}.lab-container .record-btn{border-radius:var(--radius-md);box-shadow:0 2px 8px #0071e340}.lab-container .record-btn:disabled{opacity:.45;filter:saturate(.6)}.lab-container .record-table{border-collapse:separate;border-spacing:0;font-size:12px;overflow:hidden;border-radius:10px;width:100%;margin-top:8px}.lab-container .record-table th,.lab-container .record-table td{padding:7px 8px;border:none;text-align:right;border-bottom:1px solid var(--border-soft);font-variant-numeric:tabular-nums}.lab-container .record-table th{background:#78788014;font-weight:600;color:var(--text-medium);font-size:11.5px;text-align:center}.lab-container .record-table th:first-child{text-align:center;width:30px}.lab-container .record-table td:nth-child(1){text-align:center;color:var(--text-light)}.lab-container .record-table td{font-family:JetBrains Mono,SF Mono,Menlo,monospace;color:var(--text-medium)}.lab-container .record-table td.highlight{color:var(--primary);font-weight:700}.lab-container .record-table tbody tr{transition:background .15s var(--ease-out)}.lab-container .record-table tbody tr:hover{background:#0071e30d}.lab-container .clear-btn{padding:4px 12px;border-radius:999px;font-size:11px;border:1px solid var(--border-light);background:transparent;color:var(--text-light);transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}.lab-container .clear-btn:hover:not(:disabled){background:#ff3b3014;border-color:#ff3b3059;color:var(--danger)}.lab-container .clear-btn:disabled{opacity:.35;cursor:not-allowed}.lab-container .learning-stat{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:box-shadow .15s var(--ease-out),transform .15s var(--ease-out)}.lab-container .learning-stat:hover{box-shadow:var(--shadow-soft)}.lab-container .learning-stat.records{background:#34c75914;border-color:#34c75933}.lab-container .learning-stat.mistakes{background:#ff3b300f;border-color:#ff3b3029;cursor:pointer}.lab-container .learning-stat.mistakes:hover{box-shadow:0 0 0 3px #ff3b301f}.lab-container .advanced-lab-promo{border-radius:var(--radius-md);border:1px solid rgba(59,130,246,.25);background:linear-gradient(135deg,#eff6ffe6,#dbeafeb3)}@media (max-width: 768px){.lab-container .sidebar-toggle-bar{bottom:14px}}@media (min-width: 769px){.lab-container .lab-content .resize-divider{position:fixed;top:56px;height:calc(100vh - 56px);width:6px;z-index:210;cursor:col-resize}.lab-container .lab-content .resize-divider.basic-left-divider{left:calc(var(--basic-left-w, 280px) - 3px)}.lab-container .lab-content .resize-divider.basic-right-divider{right:calc(var(--basic-right-w, 280px) - 3px)}}.veh-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:#f8faf9;width:100%;margin:0 auto;padding:24px 30px 60px}.veh-section-view{min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:#f8faf9}.veh-hero{display:flex;align-items:center;gap:18px;padding:4px 0 20px}.veh-hero .back-btn{padding:7px 12px 7px 6px;background:transparent;border:none;border-radius:10px;color:var(--m-text-2, #5c6b64);cursor:pointer;font-size:13.5px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-hero .back-btn:hover{background:#eef4f1;color:var(--m-green-dark, #2f6e5a)}.veh-hero-title{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.veh-hero-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;background:linear-gradient(145deg,#4bb99f,#2f9c85);color:#fff;flex-shrink:0;box-shadow:0 6px 18px #2f786338}.veh-hero-heading{min-width:0}.veh-hero-heading h1{margin:0;font-size:30px;font-weight:800;color:var(--m-text, #2c3a35);letter-spacing:-.04em;line-height:1.15;display:flex;align-items:center;gap:10px}.veh-hero-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:600;background:#eef4f1;color:var(--m-green-dark, #2f6e5a)}.veh-hero-heading p{margin:6px 0 0;font-size:13px;color:var(--m-text-3, #8a968f)}.veh-hero-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.veh-hub-search{display:flex;align-items:center;gap:8px;padding:10px 16px 10px 14px;background:#f2f5f3;border:1px solid #e6ece9;border-radius:999px;width:250px;color:var(--m-text-3, #8a968f)}.veh-hub-search input{border:none;background:transparent;outline:none;font-size:13px;color:var(--m-text, #2c3a35);font-family:inherit;width:100%}.veh-hub-search input::placeholder{color:var(--m-text-3, #8a968f)}.veh-hub-search:focus-within{border-color:#6ba88f;background:#fff}.veh-progress-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;background:#f2f5f3;border:1px solid #e6ece9;border-radius:14px;white-space:nowrap}.veh-chip-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e8f3ee;color:var(--m-green, #3d8873)}.veh-chip-meta{display:flex;flex-direction:column;line-height:1.15}.veh-progress-chip .chip-label{font-size:11px;color:var(--m-text-3, #8a968f)}.veh-progress-chip strong{font-size:15px;color:var(--m-green-dark, #2f6e5a);font-weight:750}.veh-progress-chip .chip-sub{font-size:11.5px;color:var(--m-text-3, #8a968f)}.veh-access-box{display:flex;align-items:center;gap:9px;padding:8px 16px;background:#fff;border:1px solid rgba(63,145,120,.4);border-radius:14px;color:var(--m-green-dark, #2f6e5a);font-size:13px;font-weight:600;white-space:nowrap}.veh-access-box>svg{color:var(--m-green, #3d8873)}.veh-access-box div{display:flex;flex-direction:column;line-height:1.2}.veh-access-box em{font-style:normal;font-size:11.5px;color:var(--m-text-3, #8a968f);font-weight:500}.veh-access-box.locked{border-color:#dce9e4;color:var(--m-text-2, #5c6b64)}.veh-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.veh-col,.veh-col-side{min-width:0;display:flex;flex-direction:column;gap:18px}.veh-continue-card{display:flex;align-items:flex-start;gap:16px;padding:6px 10px 20px 0;background:transparent;border:none;cursor:pointer;transition:transform .24s var(--ease-out, ease),box-shadow .24s var(--ease-out, ease);border-bottom:1px solid #eef1f0}.veh-continue-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#e8f3ee;color:var(--m-green, #3d8873);flex-shrink:0}.veh-continue-body{flex:1;min-width:0}.veh-continue-tag{font-size:12.5px;color:var(--m-green-dark, #2f6e5a);font-weight:650}.veh-continue-tag b{margin-left:8px;color:var(--m-gold, #c9a227);font-weight:700}.veh-continue-body h3{margin:5px 0 6px;font-size:16px;color:var(--m-text, #2c3a35);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.veh-continue-body p{margin:0;font-size:12.5px;color:var(--m-text-3, #8a968f);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.veh-continue-btn{padding:10px 22px;background:#fff;border:1px solid #dce9e4;border-radius:999px;color:var(--m-green-dark, #2f6e5a);font-size:13px;font-weight:650;cursor:pointer;flex-shrink:0;font-family:inherit;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-continue-btn:hover{background:#eef7f3;border-color:var(--m-green-soft, #6ba88f)}.veh-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.veh-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid #eef1f0}.veh-stat-icon{display:grid;place-items:center;width:26px;height:26px;margin-bottom:6px;border-radius:8px;background:#e8f3ee;color:var(--m-green, #3d8873)}.veh-stat-label{font-size:12px;color:var(--m-text-2, #5c6b64);font-weight:550}.veh-stat-value{display:flex;align-items:center;gap:6px;font-size:22px;font-weight:800;color:var(--m-text, #2c3a35);letter-spacing:-.02em;line-height:1.1}.veh-stat-value i{font-size:12px;font-weight:600;color:var(--m-text-3, #8a968f);font-style:normal}.veh-stat-wave{width:74px;height:22px;color:var(--m-green-soft, #6ba88f);margin-left:auto}.veh-stat-sub{font-size:11.5px;color:var(--m-text-3, #8a968f)}.veh-tabs{border-bottom:1px solid #eef1f0;display:flex;gap:22px}.veh-tabs-inner{display:flex;gap:22px}.veh-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 2px 12px;border:none;background:transparent;border-bottom:2.5px solid transparent;font-size:15px;font-weight:600;cursor:pointer;color:var(--m-text-3, #8a968f);font-family:inherit;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-tab-btn:hover{color:var(--m-text, #2c3a35)}.veh-tab-btn.active{color:var(--m-green-dark, #2f6e5a);border-bottom-color:var(--m-green-dark, #2f6e5a)}.veh-promo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:linear-gradient(105deg,#eef7f3,#f6fbf9);border:1px solid #dcebe5;border-radius:16px}.veh-promo-left{display:flex;align-items:center;gap:14px}.veh-promo-tag{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;background:var(--m-green-dark, #2f6e5a);border-radius:999px;color:#fff;font-weight:600;font-size:12px;flex-shrink:0}.veh-promo-left h3{margin:0;color:var(--m-text, #2c3a35);font-size:15px;font-weight:700}.veh-promo-left p{margin:3px 0 0;color:var(--m-text-3, #8a968f);font-size:13px}.veh-promo-left strong{color:var(--m-green-dark, #2f6e5a);font-weight:700}.veh-promo-btn{padding:10px 22px;background:var(--m-green-dark, #2f6e5a);border:none;border-radius:999px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--dur-fast, .16s) var(--ease-out, ease);white-space:nowrap}.veh-promo-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2f6e5a4d}.veh-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.veh-filter-pill{padding:7px 18px;border:none;background:#f2f5f3;border-radius:999px;color:var(--m-text-2, #5c6b64);font-size:13px;font-weight:550;font-family:inherit;cursor:pointer;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-filter-pill:hover{background:#e8f3ee;color:var(--m-green-dark, #2f6e5a)}.veh-filter-pill.active{background:var(--m-green-dark, #2f6e5a);color:#fff;font-weight:650}.veh-filter-gap{flex:1}.veh-filter-sort{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--m-text-3, #8a968f);cursor:pointer}.veh-filter-sort svg{transform:rotate(-90deg)}.veh-paper-list{display:flex;flex-direction:column}.veh-paper-row{display:flex;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid #eef1f0;cursor:pointer;transition:background var(--dur-fast, .16s) var(--ease-out, ease)}.veh-paper-row:hover{background:#fbfdfc;border-radius:10px}.veh-paper-num{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#e8f3ee;color:var(--m-green-dark, #2f6e5a);font-size:14px;font-weight:800}.veh-paper-main{flex:1;min-width:0}.veh-paper-title{display:flex;align-items:center;gap:10px}.veh-paper-title h4{margin:0;font-size:15px;font-weight:700;color:var(--m-text, #2c3a35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.veh-paper-stars{display:inline-flex;gap:1px;color:var(--m-gold, #c9a227)}.veh-paper-tag{padding:2px 9px;border-radius:999px;font-size:11px;font-weight:650}.veh-paper-tag.hot{background:#f6ead1;color:#a5781c}.veh-paper-tag.mid{background:#eef4f1;color:var(--m-green-dark, #2f6e5a)}.veh-paper-meta{margin:5px 0 0;font-size:12px;color:var(--m-text-3, #8a968f)}.veh-paper-progress{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.veh-paper-progress strong{font-size:22px;font-weight:800;color:var(--m-green-dark, #2f6e5a);line-height:1}.veh-paper-progress span{margin-top:4px;font-size:11.5px;color:var(--m-text-3, #8a968f)}.veh-paper-btn{padding:9px 20px;flex-shrink:0;background:var(--m-green-dark, #2f6e5a);border:none;border-radius:999px;color:#fff;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-paper-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #2f6e5a47}.veh-paper-btn.done{background:#e8f3ee;color:var(--m-green-dark, #2f6e5a)}.veh-paper-arrow{color:var(--m-text-3, #8a968f);flex-shrink:0;display:grid;place-items:center}.veh-paper-row.locked{opacity:.6}.veh-benefits-slim{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px auto 0;padding:12px 22px;max-width:560px;border-radius:16px;background:#eef7f3;border:1px solid #dcebe5;color:var(--m-green-dark, #2f6e5a);font-size:13px;font-weight:600}.veh-ai-card{display:flex;flex-direction:column;gap:14px;padding:18px;background:#fff;border:1px solid #eef1f0;border-radius:18px;box-shadow:0 1px 3px #30463c0a}.veh-ai-head{display:flex;align-items:center;gap:10px}.veh-ai-avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #e8f3ee}.veh-ai-avatar img{width:100%;height:100%;object-fit:cover;display:block}.veh-ai-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.veh-ai-title strong{font-size:17px;font-weight:800;color:var(--m-text, #2c3a35)}.veh-ai-title span{font-size:12px;color:var(--m-text-3, #8a968f)}.veh-ai-chat-link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--m-green-dark, #2f6e5a);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.veh-ai-bubbles{display:flex;flex-direction:column;gap:10px}.veh-ai-bubble{padding:10px 14px;border-radius:12px;background:#f2f5f3;color:var(--m-text, #2c3a35);font-size:13px;line-height:1.6;align-self:flex-start;max-width:92%}.veh-ai-suggest{display:flex;flex-direction:column;gap:8px}.veh-ai-chip{padding:9px 15px;text-align:left;border:1px solid #e6ece9;background:#fff;border-radius:999px;font-size:12.5px;font-weight:550;color:var(--m-text, #2c3a35);font-family:inherit;cursor:pointer;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-ai-chip:hover{border-color:var(--m-green-soft, #6ba88f);color:var(--m-green-dark, #2f6e5a);background:#f4faf7}.veh-mastery-card{display:flex;flex-direction:column;gap:16px;padding:18px;background:#fff;border:1px solid #eef1f0;border-radius:18px;box-shadow:0 1px 3px #30463c0a}.veh-card-head{display:flex;align-items:center;justify-content:space-between}.veh-card-head h4{margin:0;font-size:15px;font-weight:750;color:var(--m-text, #2c3a35)}.veh-more{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--m-text-3, #8a968f);cursor:pointer}.veh-mastery-body{display:flex;align-items:center;gap:16px}.veh-donut{position:relative;display:grid;place-items:center;flex-shrink:0}.veh-donut svg{display:block}.veh-donut b{position:absolute;top:40%;font-size:16px;font-weight:800;color:var(--m-green-dark, #2f6e5a)}.veh-donut span{position:absolute;top:56%;font-size:9.5px;color:var(--m-text-3, #8a968f)}.veh-mastery-bars{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}.veh-mbar-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--m-text-2, #5c6b64)}.veh-mbar-row>span{width:56px;flex-shrink:0;white-space:nowrap}.veh-mbar{flex:1;height:6px;border-radius:999px;background:#eef1f0;overflow:hidden}.veh-mbar i{display:block;height:100%;border-radius:999px;background:var(--m-green-soft, #6ba88f)}.veh-mbar-row em{font-style:normal;width:34px;text-align:right;font-weight:650;color:var(--m-text-3, #8a968f)}.veh-mastery-empty{flex:1;font-size:12px;color:var(--m-text-3, #8a968f);line-height:1.6}.veh-hot-pts{border-top:1px solid #eef1f0;padding-top:14px}.veh-hot-pts h5{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--m-text, #2c3a35)}.veh-hot-chips{display:flex;flex-wrap:wrap;gap:8px}.veh-hot-chips span{padding:6px 13px;border-radius:999px;background:#eef4f1;color:var(--m-green-dark, #2f6e5a);font-size:12px;font-weight:550}.veh-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;flex-wrap:wrap}.veh-section-header .back-btn{padding:8px 16px;background:#fff;border:1px solid #e6ece9;border-radius:999px;cursor:pointer;font-size:13px;font-weight:550;color:var(--m-text-2, #5c6b64);display:inline-flex;align-items:center;gap:5px;font-family:inherit}.veh-section-header .back-btn:hover{color:var(--m-green-dark, #2f6e5a);border-color:var(--m-green-soft, #6ba88f)}.veh-section-title{display:flex;align-items:center;gap:12px}.veh-section-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#eef4f1;color:var(--m-green-dark, #2f6e5a)}.veh-section-title h2{margin:0;color:var(--m-text, #2c3a35);font-size:18px;font-weight:750}.veh-open-lab-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:var(--m-green-dark, #2f6e5a);border:none;border-radius:999px;font-weight:600;font-size:13px;color:#fff;cursor:pointer;font-family:inherit;transition:all var(--dur-fast, .16s) var(--ease-out, ease)}.veh-open-lab-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #2f6e5a47}.veh-lab-intro-card{display:flex;align-items:center;gap:16px;margin:4px 24px 8px;padding:18px 22px;background:#fff;border-radius:16px;border:1px solid #eef1f0}.veh-lab-intro-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#eef4f1;color:var(--m-green-dark, #2f6e5a);flex-shrink:0}.veh-lab-intro-content h3{margin:0 0 3px;color:var(--m-text, #2c3a35);font-size:16px}.veh-lab-intro-content p{margin:0;color:var(--m-text-3, #8a968f);font-size:12.5px}.veh-lab-intro-btn{margin-left:auto;padding:10px 22px;border:none;border-radius:999px;color:#fff;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.veh-lab-intro-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}.veh-section-exams{flex:1;overflow-y:auto;padding:12px 24px 40px}.veh-section-exams h3{margin:0 0 16px;color:var(--m-text-2, #5c6b64);font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px}.veh-section-exams h3 i{font-style:normal;margin-left:4px;font-weight:500;color:var(--m-text-3, #8a968f)}.veh-exam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.veh-exam-card{position:relative;padding:20px;background:#fff;border:1px solid #eef1f0;border-radius:16px;cursor:pointer;transition:all var(--dur-normal, .24s) var(--ease-out, ease);display:flex;flex-direction:column;overflow:hidden}.veh-exam-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #23554b1a}.veh-exam-card.locked{opacity:.72}.veh-card-lock{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#eef1f0;color:var(--m-text-3, #8a968f);z-index:2}.veh-card-completed{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--m-green, #3d8873);color:#fff}.veh-card-top{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;padding-right:30px}.veh-card-difficulty{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#eef4f1;color:var(--m-green-dark, #2f6e5a)}.veh-card-source{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 10px;border-radius:999px;font-weight:600;background:#f4f7f6;color:var(--m-text-2, #5c6b64)}.veh-card-source.ai{background:#eef7f3;color:var(--m-green-dark, #2f6e5a)}.veh-card-points{display:inline-flex;align-items:center;gap:3px;margin-left:auto;padding:3px 10px;background:#eef4f1;border-radius:999px;color:var(--m-green-dark, #2f6e5a);font-size:11px;font-weight:700}.veh-exam-card h4{margin:0 0 8px;color:var(--m-text, #2c3a35);font-size:15px;line-height:1.45}.veh-card-desc{margin:0 0 14px;color:var(--m-text-3, #8a968f);font-size:13px;line-height:1.6;flex:1}.veh-card-progress{margin:0 0 10px;font-size:12px;color:var(--m-text-3, #8a968f);display:flex;align-items:center;gap:6px}.veh-card-progress strong{color:var(--m-green-dark, #2f6e5a);font-weight:700}.veh-card-btn{width:100%;padding:10px;border:none;border-radius:999px;color:#fff;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.veh-card-btn:disabled{opacity:.55;cursor:default}.veh-question-view{flex:1;display:flex;flex-direction:column;min-height:0;background:#f8faf9}.veh-qv-header{display:flex;align-items:center;gap:16px;padding:14px 24px;background:#fff;border-bottom:1px solid #eef1f0;flex-shrink:0}.veh-qv-header .back-btn{padding:8px 16px;background:#f2f5f3;border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:550;color:var(--m-text-2, #5c6b64);display:inline-flex;align-items:center;gap:5px;font-family:inherit}.veh-qv-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap}.veh-qv-title h2{margin:0;font-size:16px;color:var(--m-text, #2c3a35);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(60vw,620px)}.veh-qv-difficulty{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;background:#f6ead1;color:#a5781c}.veh-qv-points{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;background:#eef4f1;border-radius:999px;color:var(--m-green-dark, #2f6e5a);font-size:11px;font-weight:700}.veh-qv-timer{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#eef4f1;border:1px solid #ddeae4;color:var(--m-green-dark, #2f6e5a);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.veh-qv-body{flex:1;display:flex;gap:24px;padding:24px;overflow-y:auto;min-height:0}.veh-qv-main{flex:1;display:flex;flex-direction:column;gap:20px;min-width:0}.veh-qv-question-card{padding:24px;background:#fff;border:1px solid #eef1f0;border-radius:16px}.veh-card-label{margin-bottom:12px;color:var(--m-text-3, #8a968f);font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}.veh-question-text{margin:0 0 16px;font-size:15px;line-height:1.8;color:var(--m-text, #2c3a35)}.veh-task-box{padding:16px;background:#f4faf7;border-radius:12px;border-left:3px solid var(--m-green, #3d8873);margin-bottom:12px}.veh-task-box strong{color:var(--m-green-dark, #2f6e5a);display:flex;align-items:center;gap:6px;margin-bottom:6px;font-size:13px}.veh-task-box p{margin:0;color:var(--m-text-2, #5c6b64);font-size:14px}.veh-hint-box{margin-top:12px;padding:12px 16px;background:#f9f6ee;border:1px solid #efe6cf;border-radius:12px;font-size:13px}.veh-hint-box strong{color:#a5781c}.veh-qv-answer-section{padding:24px;background:#fff;border:1px solid #eef1f0;border-radius:16px}.veh-answer-group{margin-bottom:16px}.veh-answer-group label{display:block;margin-bottom:8px;color:var(--m-text-2, #5c6b64);font-weight:600;font-size:13px}.veh-answer-group textarea{width:100%;padding:12px 14px;border:1px solid #e6ece9;border-radius:12px;font-size:14px;resize:vertical;font-family:inherit;color:var(--m-text, #2c3a35);background:#fff}.veh-answer-group textarea:focus{outline:none;border-color:var(--m-green-soft, #6ba88f);box-shadow:0 0 0 3px #3d88731f}.veh-choice-title{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--m-text-2, #5c6b64);font-weight:600;font-size:13px}.veh-choice-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.veh-choice-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid #e6ece9;background:#fff;cursor:pointer;font-size:14px;color:var(--m-text, #2c3a35);text-align:left;font-family:inherit;line-height:1.5}.veh-choice-btn .veh-choice-key{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#f2f5f3;color:var(--m-text-2, #5c6b64);font-size:12px;font-weight:700;flex-shrink:0}.veh-choice-btn:hover:not(:disabled){border-color:var(--m-green-soft, #6ba88f);background:#f4faf7}.veh-choice-btn.selected{border-color:var(--m-green, #3d8873);background:#f4faf7}.veh-choice-btn.selected .veh-choice-key{background:var(--m-green, #3d8873);color:#fff}.veh-choice-btn.correct{border-color:var(--m-green, #3d8873);background:#eef7f3}.veh-choice-btn.wrong{border-color:#e06a52;background:#fdf1ee}.veh-submit-btn{width:100%;margin-top:18px;padding:13px;background:var(--m-green-dark, #2f6e5a);border:none;border-radius:999px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}.veh-submit-btn:disabled{opacity:.55;cursor:default}.veh-check-result{margin-top:20px;padding:18px 20px;border-radius:12px}.veh-check-result.correct{background:#eef7f3;border:1px solid #d9ebe4}.veh-check-result.incorrect{background:#fdf1ee;border:1px solid #f3d9d2}.veh-result-icon{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px}.veh-qv-analysis{padding:24px;background:#fff;border:1px solid #eef1f0;border-radius:16px}.veh-qv-analysis .veh-analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.veh-qv-analysis .veh-analysis-header h4{margin:0;color:var(--m-text, #2c3a35);font-size:15px}.veh-vip-lock{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#eef4f1;border-radius:999px;color:var(--m-green-dark, #2f6e5a);font-size:11px;font-weight:700}.veh-qv-sidebar{width:300px;display:flex;flex-direction:column;gap:16px;flex-shrink:0}.veh-tool-card{padding:20px;background:#fff;border:1px solid #eef1f0;border-radius:16px}.veh-tool-card h4{margin:0 0 12px;color:var(--m-text, #2c3a35);font-size:14px}@media (max-width: 1200px){.veh-grid{grid-template-columns:minmax(0,1fr) 280px}.veh-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 992px){.veh-qv-sidebar{width:260px}}@media (max-width: 960px){.veh-grid{grid-template-columns:1fr}.veh-col-side{flex-direction:row;flex-wrap:wrap}.veh-col-side>div{flex:1 1 100%}}@media (max-width: 768px){.veh-main{padding:16px 14px 44px}.veh-hero{flex-direction:column;align-items:flex-start;gap:12px}.veh-hero-actions{width:100%;justify-content:flex-start}.veh-hub-search{width:100%}.veh-stats{grid-template-columns:repeat(2,1fr)}.veh-exam-grid{grid-template-columns:1fr;gap:12px}.veh-qv-body{flex-direction:column;padding:12px;gap:16px}.veh-qv-sidebar{width:100%}}.agent-steps{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--bg-warm, #f5f5f7);border-radius:var(--radius-sm, 10px);border-left:3px solid var(--primary, #0071e3);margin:8px 0;font-size:13px}.agent-step{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--text-light, #6e6e73);transition:color .2s}.agent-step.done{color:#34c759}.agent-step.executing{color:var(--primary, #0071e3);font-weight:500}.agent-step.pending{color:var(--text-muted, #86868b)}.step-icon{font-size:14px;flex-shrink:0}.step-label{line-height:1.4}.agent-step.executing .step-icon{animation:spin 1s linear infinite}.step-spinner{width:12px;height:12px;display:inline-block;border-radius:50%;border:2px solid rgba(0,113,227,.25);border-top-color:var(--primary, #0071e3)}.step-idle-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--text-muted, #86868b);opacity:.6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guidance-fatal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center}.guidance-fatal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:guidanceFadeIn .3s ease-out}.guidance-fatal-modal{position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e,#1a1a2e);border:1px solid rgba(239,68,68,.4);border-radius:20px;padding:32px 40px;max-width:520px;width:90vw;box-shadow:0 0 40px #ef444426,0 25px 50px #0006;animation:guidanceModalIn .4s cubic-bezier(.22,1,.36,1)}.guidance-fatal-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.guidance-fatal-icon{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.guidance-pulse-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(239,68,68,.6);animation:guidancePulse 1.5s ease-out infinite}.guidance-fatal-emoji{display:inline-flex;align-items:center;justify-content:center;color:var(--danger);line-height:0}.guidance-fatal-title{color:#ef4444;font-size:20px;font-weight:700;margin:0;letter-spacing:.5px}.guidance-waveform{display:flex;align-items:center;justify-content:center;gap:3px;height:32px;margin-bottom:20px}.guidance-waveform-bar{width:3px;background:linear-gradient(180deg,#ef4444,#f97316);border-radius:2px;animation:guidanceWave .6s ease-in-out infinite alternate}.guidance-fatal-text{color:#e2e8f0;font-size:15px;line-height:1.8;margin-bottom:20px;min-height:60px}.guidance-cursor{color:#ef4444;animation:guidanceBlink .8s infinite}.guidance-correction-section{margin-bottom:20px}.guidance-show-correction-btn{background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#93c5fd;padding:8px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.guidance-show-correction-btn:hover{background:#3b82f640}.guidance-correction-box{background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:12px;padding:16px;animation:guidanceFadeIn .3s ease-out}.guidance-correction-label{color:#4ade80;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.guidance-correction-text{color:#d1fae5;font-size:14px;line-height:1.7}.guidance-fatal-actions{display:flex;justify-content:center;gap:12px}.guidance-dismiss-btn{padding:10px 28px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.guidance-btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 15px #ef44444d}.guidance-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ef444466}.guidance-btn-secondary{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.guidance-btn-secondary:hover{background:#6366f140}.guidance-panel{position:fixed;top:80px;right:16px;width:360px;max-height:calc(100vh - 120px);z-index:9000;background:#0f172af2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(148,163,184,.15);box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;animation:guidancePanelIn .35s cubic-bezier(.22,1,.36,1);overflow:hidden}.guidance-panel-high{border-color:#f59e0b4d;box-shadow:0 20px 40px #0000004d,0 0 20px #f59e0b14}.guidance-panel-medium{border-color:#3b82f64d;box-shadow:0 20px 40px #0000004d,0 0 20px #3b82f614}.guidance-panel-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,.1);flex-shrink:0}.guidance-panel-icon{font-size:18px}.guidance-panel-title{color:#e2e8f0;font-size:14px;font-weight:600;flex:1}.guidance-panel-close{background:none;border:none;color:#64748b;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.guidance-panel-close:hover{color:#e2e8f0}.guidance-panel-chat{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px;max-height:320px}.guidance-msg{display:flex;gap:8px;align-items:flex-start}.guidance-msg-user{flex-direction:row-reverse}.guidance-msg-avatar{font-size:18px;flex-shrink:0;margin-top:2px}.guidance-msg-bubble{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;max-width:85%}.guidance-msg-ai .guidance-msg-bubble{background:#3b82f61f;color:#e2e8f0;border-bottom-left-radius:4px}.guidance-msg-user .guidance-msg-bubble{background:#6366f133;color:#c7d2fe;border-bottom-right-radius:4px}.guidance-panel-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid rgba(148,163,184,.1);flex-shrink:0}.guidance-panel-input input{flex:1;background:#1e293bcc;border:1px solid rgba(148,163,184,.2);border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:13px;outline:none}.guidance-panel-input input:focus{border-color:#6366f180}.guidance-panel-input button{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;transition:all .2s}.guidance-panel-input button:hover:not(:disabled){transform:translateY(-1px)}.guidance-panel-input button:disabled{opacity:.5;cursor:default}.guidance-correction-inline{padding:12px 16px;border-top:1px solid rgba(34,197,94,.15)}.guidance-correction-inline .guidance-correction-text{color:#86efac;font-size:13px;line-height:1.6}.guidance-panel-footer{padding:12px 16px;border-top:1px solid rgba(148,163,184,.1);display:flex;justify-content:center;flex-shrink:0}.guidance-low-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:8000;background:#0f172aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.2);border-radius:12px;padding:12px 24px;display:flex;align-items:center;gap:10px;max-width:480px;cursor:pointer;box-shadow:0 8px 24px #0003;animation:guidanceToastIn .35s cubic-bezier(.22,1,.36,1)}.guidance-toast-icon{font-size:18px;flex-shrink:0}.guidance-toast-text{color:#cbd5e1;font-size:13px;line-height:1.5}@keyframes guidanceFadeIn{0%{opacity:0}to{opacity:1}}@keyframes guidanceModalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes guidancePanelIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes guidanceToastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes guidancePulse{0%{transform:scale(1);opacity:.8}to{transform:scale(1.6);opacity:0}}@keyframes guidanceWave{0%{height:4px}to{height:20px}}@keyframes guidanceBlink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 768px){.guidance-fatal-modal{padding:24px 20px;max-width:95vw;margin:0 8px}.guidance-panel{top:auto;bottom:0;left:0;right:0;width:100%;max-height:60vh;border-radius:16px 16px 0 0}.guidance-low-toast{left:8px;right:8px;transform:none;max-width:none;bottom:60px}}.ai-generating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990;display:flex;align-items:center;justify-content:center;pointer-events:all}.ai-generating-overlay.fade-in{animation:agenOverlayFadeIn .35s ease-out forwards}.ai-generating-overlay.fade-out{animation:agenOverlayFadeOut .4s ease-in forwards}@keyframes agenOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes agenOverlayFadeOut{0%{opacity:1}to{opacity:0}}.ai-gen-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f0f1459;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}.ai-gen-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 48px;border-radius:24px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 24px 80px #00000026;max-width:380px;width:90vw}.ai-gen-pulse-ring{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.ai-gen-pulse-ring-inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(135deg,#6366f14d,#8b5cf64d);animation:agentPulse 2s ease-in-out infinite}.ai-gen-pulse-ring:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid rgba(99,102,241,.2);animation:agentPulseRing 2s ease-out infinite}.ai-gen-icon{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 20px #6366f166}@keyframes agentPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:.8}}@keyframes agentPulseRing{0%{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}.ai-gen-status{font-size:16px;font-weight:600;color:#ffffffe6;letter-spacing:.5px}.ai-gen-tip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 20px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);width:100%;min-height:80px;transition:opacity .3s ease,transform .3s ease}.ai-gen-tip.tip-fade-in{opacity:1;transform:translateY(0)}.ai-gen-tip.tip-fade-out{opacity:0;transform:translateY(-6px)}.ai-gen-tip-icon{width:28px;height:28px;border-radius:8px;background:#6366f133;display:flex;align-items:center;justify-content:center;color:#a5b4fc}.ai-gen-tip-label{font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:1.5px}.ai-gen-tip-text{font-size:13px;line-height:1.6;color:#ffffffbf;text-align:center;margin:0}.ai-gen-dots{display:flex;gap:6px}.ai-gen-dots span{width:6px;height:6px;border-radius:50%;background:#ffffff59;animation:agentDotBounce 1.4s ease-in-out infinite}.ai-gen-dots span:nth-child(2){animation-delay:.16s}.ai-gen-dots span:nth-child(3){animation-delay:.32s}@keyframes agentDotBounce{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1.2);opacity:1;background:#a5b4fc}}@media (max-width: 480px){.ai-gen-center{padding:28px 24px;gap:16px;max-width:320px}.ai-gen-pulse-ring{width:56px;height:56px}.ai-gen-icon{width:42px;height:42px}.ai-gen-status{font-size:14px}.ai-gen-tip-text{font-size:12px}}.ai-avatar-container{position:fixed;bottom:32px;right:32px;z-index:10500;width:72px;height:72px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 8px 20px rgba(37,99,235,.25)) drop-shadow(0 2px 6px rgba(15,23,42,.15));transition:filter .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1);animation:avatar-idle-float 5s ease-in-out infinite}.ai-avatar-container:hover{filter:drop-shadow(0 12px 28px rgba(37,99,235,.35)) drop-shadow(0 4px 10px rgba(15,23,42,.2));transform:translateY(-3px)}.ai-avatar-container:active{transform:translateY(0) scale(.94)}.ai-avatar-glow{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;pointer-events:none;animation:avatar-breathe 3.2s ease-in-out infinite;z-index:0}.ai-avatar-glow.alarmed,.ai-avatar-glow.sweat{animation:avatar-breathe-alert 1.3s ease-in-out infinite}.ai-avatar-orbit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;animation:avatar-orbit-spin 6s linear infinite;z-index:1}.ai-avatar-orbit-dot{position:absolute;top:6%;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:radial-gradient(circle,#fff,#93c5fd);box-shadow:0 0 6px #93c5fde6;opacity:.75}.ai-avatar-svg{position:relative;width:100%;height:100%;display:block;z-index:2;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.ai-avatar-container:hover .ai-avatar-svg{transform:scale(1.05)}.avatar-antenna{transform-origin:32px 9px;animation:avatar-antenna-bob 2.6s ease-in-out infinite}.ai-avatar-svg .avatar-eyes,.ai-avatar-svg .avatar-mouth,.ai-avatar-svg .avatar-brow-left,.ai-avatar-svg .avatar-brow-right,.ai-avatar-svg .avatar-extra{transition:all .32s cubic-bezier(.4,0,.2,1)}.ai-avatar-container.mood-happy .ai-avatar-svg,.ai-avatar-container.mood-thumbsup .ai-avatar-svg{animation:avatar-happy-bounce .7s cubic-bezier(.34,1.56,.64,1)}.ai-avatar-container.mood-nod .ai-avatar-svg{animation:avatar-nod .52s ease 2}.ai-avatar-container.mood-alarmed .ai-avatar-svg{animation:avatar-shake .4s ease 2}.ai-avatar-container.mood-worried .ai-avatar-svg,.ai-avatar-container.mood-frown .ai-avatar-svg{animation:avatar-worry-shake .6s ease-in-out 1}.ai-avatar-container.mood-curious .ai-avatar-svg{animation:avatar-curious-tilt .9s ease-in-out 1}.ai-avatar-container.mood-thinking .ai-avatar-svg{animation:avatar-thinking-pulse 1.4s ease-in-out infinite}.ai-avatar-container.mood-neutral .avatar-eyes ellipse{animation:avatar-blink 5s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes avatar-idle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes avatar-breathe{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.95;transform:scale(1.08)}}@keyframes avatar-breathe-alert{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.12)}}@keyframes avatar-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes avatar-antenna-bob{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes avatar-happy-bounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-5px) scale(1.06)}60%{transform:translateY(-1px) scale(1.02)}}@keyframes avatar-nod{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(3px) rotate(3deg)}}@keyframes avatar-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px) rotate(-3deg)}40%{transform:translate(3px) rotate(3deg)}60%{transform:translate(-2px) rotate(-2deg)}80%{transform:translate(2px) rotate(2deg)}}@keyframes avatar-worry-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes avatar-curious-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes avatar-thinking-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.92}}@keyframes avatar-blink{0%,92%,to{transform:scaleY(1)}95%,97%{transform:scaleY(.1)}}@media (max-width: 768px){.ai-avatar-container{width:60px;height:60px;bottom:20px;right:20px}}.teacher-lab-context-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:68px;padding:10px 14px;color:var(--text-primary, #1d1d1f);background:#fffffff0;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 8px 22px #00000012;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.teacher-lab-context-main{display:flex;align-items:center;gap:18px;min-width:0;flex:1}.teacher-lab-context-identity{display:flex;align-items:center;gap:10px;min-width:168px;padding-right:16px;border-right:1px solid rgba(0,0,0,.08)}.teacher-lab-context-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--primary, #0071e3);background:#0071e31a;border-radius:8px;flex:0 0 auto}.teacher-lab-context-title{display:grid;gap:2px;min-width:0}.teacher-lab-context-title strong{overflow:hidden;color:var(--text-primary, #1d1d1f);font-size:15px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.teacher-lab-context-kicker{color:var(--text-muted, #86868b);font-size:11px;font-weight:600;line-height:1}.teacher-lab-context-facts{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1.45fr) minmax(76px,auto) minmax(96px,auto);align-items:center;gap:12px;min-width:0;margin:0;flex:1}.teacher-lab-context-fact{display:grid;gap:4px;min-width:0}.teacher-lab-context-fact dt{color:var(--text-muted, #86868b);font-size:11px;font-weight:600;line-height:1}.teacher-lab-context-fact dd{min-width:0;margin:0;overflow:hidden;color:var(--text-primary, #1d1d1f);font-size:13px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.teacher-lab-context-fact-count dd{font-variant-numeric:tabular-nums}.teacher-lab-context-status{display:inline-flex;align-items:center;max-width:100%;min-height:22px;padding:3px 8px;overflow:hidden;border-radius:999px;font-size:12px;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.teacher-lab-context-status-pending{color:#6e6e73;background:#6e6e731f}.teacher-lab-context-status-active{color:#0057b8;background:#0071e31f}.teacher-lab-context-status-complete{color:#1f7a3b;background:#34c75924}.teacher-lab-context-status-blocked{color:#b42318;background:#ff3b301f}.teacher-lab-context-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.teacher-lab-context-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;color:var(--text-primary, #1d1d1f);background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:7px;font:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.teacher-lab-context-btn:hover:not(:disabled){background:#fff;border-color:#0071e347;transform:translateY(-1px)}.teacher-lab-context-btn:focus-visible{outline:2px solid rgba(0,113,227,.45);outline-offset:2px}.teacher-lab-context-btn:disabled{color:var(--text-muted, #86868b);cursor:not-allowed;opacity:.58}.teacher-lab-context-btn-primary{color:#fff;background:var(--primary, #0071e3);border-color:var(--primary, #0071e3)}.teacher-lab-context-btn-primary:hover:not(:disabled){color:#fff;background:#005bbf;border-color:#005bbf}@media (max-width: 1024px){.teacher-lab-context-bar{align-items:stretch;flex-direction:column}.teacher-lab-context-main{align-items:stretch}.teacher-lab-context-actions{justify-content:flex-end}}@media (max-width: 760px){.teacher-lab-context-main{flex-direction:column;gap:12px}.teacher-lab-context-identity{min-width:0;padding-right:0;padding-bottom:10px;border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}.teacher-lab-context-facts{grid-template-columns:1fr 1fr}.teacher-lab-context-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-lab-context-btn{min-width:0;padding:0 8px}}@media (max-width: 460px){.teacher-lab-context-bar{padding:10px}.teacher-lab-context-facts,.teacher-lab-context-actions{grid-template-columns:1fr}}.agent-image-attachment{position:relative;flex:0 0 auto}.agent-image-file-input{display:none}.ai-chat-input .agent-image-button{min-width:52px;padding:9px 10px;border:1px solid rgba(56,189,248,.35);border-radius:8px;background:#0e74901f;color:#0e7490;font-size:12px;font-weight:700;cursor:pointer}.ai-chat-input .agent-image-button.has-image{border-color:#0891b2;background:#0891b2;color:#fff}.agent-image-preview{position:absolute;left:0;bottom:calc(100% + 12px);z-index:20;display:grid;grid-template-columns:52px minmax(130px,1fr) 24px;align-items:center;gap:10px;width:260px;padding:10px;border:1px solid rgba(8,145,178,.28);border-radius:12px;background:#fffffffa;box-shadow:0 14px 36px #0f172a33}.agent-image-preview img{width:52px;height:52px;border-radius:8px;object-fit:cover}.agent-image-preview div{min-width:0}.agent-image-preview strong,.agent-image-preview span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-image-preview strong{color:#0f172a;font-size:12px}.agent-image-preview span{margin-top:4px;color:#64748b;font-size:11px}.ai-chat-input .agent-image-preview>button{min-width:24px;padding:0;border:0;background:transparent;color:#64748b;font-size:22px;line-height:1}.agent-image-error{position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;max-width:240px;padding:7px 9px;border-radius:7px;background:#fff1f2;color:#be123c;font-size:11px;box-shadow:0 8px 24px #0f172a24}@media (max-width: 640px){.agent-image-preview{width:230px}}.topology-circuit-canvas{position:relative;width:100%;height:100%;overflow:hidden;background:#f8fafc}.topology-circuit-canvas svg{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;touch-action:none}.v3-background{fill:#f8fafc}.v3-grid-line{fill:none;stroke:#dbe3ec;stroke-width:.65}.v3-wire,.v3-symbol-lead{fill:none;stroke:#374151;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter}.v3-wire.running{stroke:#16a34a}.v3-wire-delete-mode .v3-wire{cursor:pointer;pointer-events:stroke}.v3-wire-delete-mode .v3-wire:hover{stroke:#ef4444;stroke-width:7}.v3-crossing-mask{fill:#f8fafc}.v3-resistor-body{fill:#fff;stroke:#374151;stroke-width:3}.v3-fuse-body{fill:#fef3c7;stroke:#d97706;stroke-width:2.5}.v3-fuse-wire{stroke:#f59e0b;stroke-width:3;stroke-linecap:round}.v3-switch-post{fill:#fff;stroke:#64748b;stroke-width:4}.v3-switch-arm{fill:none;stroke:#64748b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.v3-wiper{fill:none;stroke:#374151;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.v3-bulb-filament{stroke:#64748b;stroke-width:3}.v3-bulb-broken{stroke:#ef4444;stroke-dasharray:5 5}.v3-component-label{fill:#334155;font:600 17px Georgia,serif;text-anchor:middle}.v3-meter-letter{fill:#334155;font:27px Georgia,serif;text-anchor:middle}.v3-port-label{fill:#475569;font:14px Georgia,serif;text-anchor:middle}.v3-polarity{font:700 11px Georgia,serif;text-anchor:middle}.v3-polarity.positive{fill:#ef4444}.v3-polarity.negative{fill:#60a5fa}.topology-v3-badge{position:absolute;top:12px;right:14px;padding:5px 10px;border:1px solid #86efac;border-radius:999px;background:#f0fdf4eb;color:#15803d;font-size:12px;font-weight:700}.v3-interactive-component{cursor:pointer}.v3-interactive-component:hover .v3-switch-arm{stroke:#2563eb}.v3-selection-outline{fill:#2563eb0f;stroke:#2563eb;stroke-width:2;stroke-dasharray:7 5}.v3-wire-mode{cursor:crosshair}.v3-terminal-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:crosshair}.v3-terminal-hit:hover{fill:#fbbf2433;stroke:#f59e0b;stroke-width:2}.v3-terminal-dot{fill:#fbbf24;stroke:#fff;stroke-width:2;pointer-events:none}.v3-terminal-dot.active{fill:#2563eb}.v3-terminal-layer{pointer-events:all}.v3-wire-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:7px 14px;border-radius:8px;background:#1e293be6;color:#fff;font-size:13px;font-weight:600}.v3-rotate-control{cursor:pointer}.v3-rotate-control circle{fill:#2563eb;stroke:#fff;stroke-width:2}.v3-rotate-control text{fill:#fff;font:700 17px Georgia,serif;text-anchor:middle;pointer-events:none}.v4-parameter-editor{width:min(390px,calc(100vw - 32px))}.v4-parameter-editor:has(.v4-analog-meter){width:min(560px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));overflow-y:auto}.v4-rheostat-preview{margin:4px 0 18px;padding:14px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc}.v4-rheostat-track{position:relative;height:12px;margin:8px 8px 5px;border:2px solid #475569;border-radius:4px;background:#cbd5e1}.v4-rheostat-track i{position:absolute;top:-9px;width:4px;height:26px;transform:translate(-2px);border-radius:3px;background:#ef4444}.v4-rheostat-ports{display:flex;justify-content:space-between;padding:0 4px;color:#475569;font:600 13px Georgia,serif}.v4-rheostat-ports strong{color:#ef4444}.v4-rheostat-values{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.v4-rheostat-values .editor-field{margin:0;padding:8px;border-radius:8px;background:#fff}.v4-rheostat-values .editor-field label{font-size:12px}.v4-rheostat-values .editor-field input{min-width:0}.v4-rheostat-preview p{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.5}.v4-position-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v4-position-buttons button{padding:9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer}.v4-position-buttons button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:700}.v4-analog-meter{margin:10px 0 18px;padding:14px;border:1px solid #dbe3ec;border-radius:16px;background:linear-gradient(180deg,#f8fafc,#eef2f7)}.v4-analog-meter svg{display:block;width:100%;max-height:270px}.v4-analog-meter .meter-shell{fill:#fffdf6;stroke:#475569;stroke-width:4}.v4-analog-meter .meter-scale{fill:none;stroke:#334155;stroke-width:2.5}.v4-analog-meter .meter-tick{stroke:#475569;stroke-width:1.4}.v4-analog-meter .meter-tick.major{stroke:#0f172a;stroke-width:3}.v4-analog-meter .meter-scale-label{fill:#334155;font:600 12px system-ui,sans-serif;text-anchor:middle;dominant-baseline:middle}.v4-analog-meter .meter-scale-label.outer{font-size:13px}.v4-analog-meter .meter-scale-label.inner{fill:#64748b;font-size:11px}.v4-analog-meter .meter-unit{fill:#334155;font:700 27px Georgia,serif;text-anchor:middle}.v4-analog-meter .meter-needle{stroke:#ef4444;stroke-width:3;stroke-linecap:round;transition:x2 .18s ease,y2 .18s ease}.v4-analog-meter .meter-needle.over{stroke:#f97316}.v4-analog-meter .meter-pivot{fill:#475569;stroke:#fff;stroke-width:2}.v4-meter-status{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:-4px 0 12px;color:#64748b;font-size:13px;text-align:center}.v4-meter-status strong{color:#334155;font-size:18px}.v4-meter-status.ready,.v4-meter-status.ready strong{color:#15803d}.v4-meter-status.invalid-jacks,.v4-meter-status.invalid{color:#dc2626}.v4-meter-jacks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 14px}.meter-jack{display:grid;justify-items:center;gap:5px;padding:7px 4px;border:1px solid transparent;border-radius:9px;color:#64748b;font-size:12px}.meter-jack.active{border-color:#93c5fd;background:#eff6ff;color:#1e40af;font-weight:700}.meter-jack i{display:block;width:24px;height:24px;border:4px solid #cbd5e1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px currentColor}.meter-jack i.black{color:#1f2937}.meter-jack i.red{color:#dc2626}.v4-meter-wire-map{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v4-meter-wire-map label{display:grid;gap:6px;color:#475569;font-size:13px;font-weight:600}.v4-meter-wire-map select{width:100%;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a}.v4-meter-wiring-error{margin:9px 0 0;color:#dc2626;font-size:12px}@media (max-width: 560px){.v4-meter-wire-map{grid-template-columns:1fr}}.mdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;background:#0f0f1473;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:mdmFade .2s ease}@keyframes mdmFade{0%{opacity:0}to{opacity:1}}.mdm-panel{width:min(560px,calc(100vw - 40px));max-width:560px;background:#fff;border-radius:20px;box-shadow:0 24px 80px #00000059,0 4px 16px #00000026;overflow:hidden;animation:mdmIn .28s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}@keyframes mdmIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.mdm-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(0,0,0,.06)}.mdm-title{display:flex;align-items:center;gap:12px;min-width:0}.mdm-title-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#0071e3,#5856d6);display:grid;place-items:center;font-size:17px;color:#fff;flex-shrink:0}.mdm-title-text{font-size:16px;font-weight:600;color:#1d1d1f}.mdm-subtitle{font-size:12px;color:#86868b;margin-top:1px}.mdm-close{width:32px;height:32px;border:none;border-radius:50%;background:#0000000d;color:#424245;font-size:18px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s,transform .15s}.mdm-close:hover{background:#0000001a;transform:rotate(90deg)}.mdm-stage{position:relative;height:380px;width:100%}.mdm-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#1e1e20b8;color:#fff;font-size:11px;padding:4px 12px;border-radius:999px;pointer-events:none;white-space:nowrap}.mdm-stage.mdm-missing{display:flex;align-items:center;justify-content:center}.mdm-missing-text{font-size:14px;color:#86868b}@media (max-width: 640px){.mdm-panel{width:calc(100vw - 24px)}.mdm-stage{height:300px}}.dfp-fab{position:fixed;right:20px;bottom:150px;z-index:900;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:var(--radius-full, 9999px);background:linear-gradient(135deg,var(--dfp-accent, #0071e3) 0%,#5856d6 100%);color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 8px 24px #0071e359,var(--shadow-medium, 0 4px 20px rgba(0,0,0,.12));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform var(--dur-fast, .18s) var(--ease-spring, cubic-bezier(.34,1.56,.64,1)),box-shadow var(--dur-fast, .18s) ease}.dfp-fab:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0071e373}.dfp-fab:active{transform:scale(.96)}.dfp-fab-icon{font-size:16px;line-height:1}.dfp-fab-label{white-space:nowrap}.dfp-panel{position:fixed;right:20px;bottom:200px;z-index:901;width:min(440px,calc(100vw - 32px));max-height:min(70vh,560px);display:flex;flex-direction:column;background:#ffffffd1;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg, 18px);box-shadow:var(--shadow-xl, 0 20px 60px rgba(0,0,0,.15)),0 8px 20px #00000014,inset 0 1px #fff6;animation:dfpIn var(--dur-normal, .3s) var(--ease-out, cubic-bezier(.4,0,.2,1));overflow:hidden}@keyframes dfpIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dfp-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.05)}.dfp-panel-title{display:flex;align-items:center;gap:10px;min-width:0}.dfp-title-icon{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--dfp-accent, #0071e3) 0%,#5856d6 100%);display:grid;place-items:center;font-size:14px;flex-shrink:0}.dfp-title-text{font-size:14px;font-weight:600;color:var(--text-dark, #1d1d1f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfp-subtitle{font-size:11px;color:var(--text-muted, #86868b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfp-panel-actions{display:flex;gap:4px;flex-shrink:0}.dfp-btn{width:26px;height:26px;border:none;border-radius:8px;background:#0000000d;color:var(--text-medium, #424245);font-size:13px;cursor:pointer;display:grid;place-items:center;transition:background .15s}.dfp-btn:hover{background:#0000001a}.dfp-panel-body{padding:10px 14px 14px;overflow-y:auto;overflow-x:hidden}.dfp-panel-body .lab-chart-card{background:transparent;box-shadow:none;padding:0}.dfp-panel-body .lab-chart-stats{margin-bottom:10px}.dfp-panel-body .lab-formula-card{margin-top:10px}@media (max-width: 640px){.dfp-fab{right:12px;bottom:150px}.dfp-panel{right:8px;bottom:200px;width:calc(100vw - 16px);max-height:min(72vh,540px)}}.advanced-circuit-lab{display:flex;flex-direction:column;height:100%;background:#f5f5f7;overflow:hidden}.component-palette{background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);padding:16px}.component-palette h3{font-size:14px;color:#1d1d1f;margin:0 0 8px}.palette-hint{font-size:11px;color:#86868b;margin-bottom:12px}.palette-items{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.palette-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .15s}.palette-item:hover{background:#0071e30f;border-color:#0071e3;transform:translate(4px)}.palette-sprite-thumb{display:block;width:34px;height:34px;flex-shrink:0}.item-name{font-size:13px;color:#6e6e73}.palette-tools{border-top:1px solid rgba(0,0,0,.08);padding-top:12px;margin-bottom:12px}.palette-tools h4{font-size:12px;color:#86868b;margin:0 0 8px}.palette-tools .tool-btn{width:100%;padding:10px;margin-bottom:8px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s}.palette-tools .tool-btn:hover{border-color:#0071e3;background:#0071e30a}.palette-tools .tool-btn.active{background:#0071e3;color:#fff;border-color:#0071e3}.palette-tools .tool-btn.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.palette-stats{border-top:1px solid rgba(0,0,0,.08);padding-top:12px}.palette-stats h4{font-size:12px;color:#86868b;margin:0 0 8px}.stat-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.stat-row span{color:#86868b}.stat-row strong{color:#0071e3}.advanced-circuit-lab .stat-row,.advanced-circuit-lab .data-item,.advanced-circuit-lab .component-data,.advanced-circuit-lab .comp-type,.advanced-circuit-lab .comp-values{white-space:nowrap}.advanced-circuit-lab .result-panel h4,.advanced-circuit-lab .error-message{white-space:normal}.advanced-circuit-lab .item-name,.advanced-circuit-lab .tab-btn,.advanced-circuit-lab .preset-name,.advanced-circuit-lab .preset-desc,.advanced-circuit-lab .tool-btn{white-space:nowrap}.advanced-circuit-lab .palette-hint{white-space:normal}.result-panel{background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);padding:16px}.result-panel h4{font-size:14px;margin:0 0 12px}.result-data{display:flex;flex-direction:column;gap:8px}.data-item{display:flex;justify-content:space-between;padding:8px 10px;background:#f5f5f7;border-radius:8px;font-size:13px}.data-item span{color:#86868b}.data-item strong{color:#1d1d1f;font-family:JetBrains Mono,monospace}.data-item.highlight{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.data-item.highlight strong{color:var(--success)}.component-data{padding:8px;background:#0071e30a;border-radius:8px;margin-top:4px}.comp-type{font-size:11px;color:var(--primary);font-weight:700;margin-bottom:4px}.comp-values{display:flex;gap:8px;font-size:11px;color:var(--text-medium);font-family:JetBrains Mono,monospace}.error-message{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:13px}.adv-canvas-wrap .circuit-2d-editor{flex:1;position:relative;min-height:0}.circuit-2d-editor{flex:1;position:relative;overflow:hidden;background:linear-gradient(180deg,#c9a972,#b98d55 42%,#9c6f3e)}.circuit-2d-editor svg{width:100%;height:100%;display:block}.circuit-2d-editor svg.wire-cursor{cursor:crosshair}.terminal-hover{transition:all .2s}.terminal-hover:hover{transform:scale(1.3)}.editor-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:20px;font-size:12px;pointer-events:none}.wire-hint{background:#3b82f6e6;color:#fff}.selection-hint{background:#1e293bd9;color:#fff}.circuit-3d-empty{color:#6e6e73;font-size:13px;text-align:center}.adv-preview{align-items:center;justify-content:center}.adv-preview .circuit-3d-preview{flex:1;align-self:stretch;width:100%}.circuit-3d-preview{flex:1;background:#1d1d1f;background:linear-gradient(180deg,#eef2f7,#c9d4e0)}.component-editor{background:#fff;border-radius:18px;padding:24px;min-width:320px;box-shadow:0 20px 60px #0000002e}.component-editor h3{font-size:16px;margin:0 0 20px;color:#1d1d1f}.editor-field label{display:block;font-size:13px;color:#6e6e73;margin-bottom:8px}.editor-field input[type=number],.editor-field input[type=text]{width:100%;padding:10px 14px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:14px;transition:border-color .15s}.editor-field input[type=number]:focus,.editor-field input[type=text]:focus{border-color:#0071e3;outline:none;box-shadow:0 0 0 3px #0071e31a}.editor-field input[type=range]{width:calc(100% - 50px);margin-right:10px}.editor-field span{font-size:14px;color:var(--primary);font-weight:700}.field-hint{font-size:11px;color:#94a3b8;margin-top:4px}.switch-toggle{padding:10px 20px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff;font-size:14px;cursor:pointer;transition:all .15s}.switch-toggle.closed{background:var(--success);color:#fff;border-color:var(--success)}.switch-buttons{display:flex;gap:8px}.switch-pos-btn{flex:1;padding:10px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:10px;cursor:pointer;transition:all .15s}.switch-pos-btn.active{background:#0071e3;color:#fff;border-color:#0071e3}.switch-pos-btn:hover:not(.active){border-color:#0071e3}.editor-actions{display:flex;gap:12px;margin-top:20px}.cancel-btn{flex:1;padding:12px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:10px;font-size:14px;cursor:pointer;transition:all .15s}.cancel-btn:hover{background:#f5f5f7}.save-btn{flex:1;padding:12px;border:none;background:#0071e3;color:#fff;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.save-btn:hover{filter:brightness(1.05)}.label-3d{background:#1e293be6;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-family:JetBrains Mono,monospace;white-space:nowrap}.label-3d.on{background:#22c55ee6}.label-3d.off{background:#ef4444e6}.label-3d.ammeter{background:#3b82f6e6}.label-3d.voltmeter{background:#ef4444e6}.preset-circuits{margin-top:16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}.preset-circuits h4{margin:0 0 8px;font-size:13px;color:#1d1d1f}.preset-item{display:flex;flex-direction:column;padding:8px 10px;margin-bottom:6px;background:#0071e30f;border-radius:10px;cursor:pointer;transition:all .15s}.preset-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0071e31f}.preset-name{font-weight:600;font-size:12px;color:#1d1d1f}.preset-desc{font-size:10px;color:#86868b;margin-top:2px}.preset-tabs{display:flex;gap:8px;margin:16px 0 8px}.tab-btn{flex:1;padding:8px;border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:8px;font-size:11px;cursor:pointer;transition:all .15s}.tab-btn.active{background:#0071e3;color:#fff;border-color:#0071e3}.preset-item.classic{background:#0071e30f}.preset-item.classic .preset-name{color:#0071e3}.preset-item.fault{background:#ff3b300f}.preset-item.fault .preset-name{color:#ff3b30}.warning-label{background:#ef4444;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;animation:blink .5s infinite}.warning-label.blink{animation:blink .3s infinite}@keyframes blink{50%{opacity:.5}}@keyframes overloadGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.5)}}.ai-chat-input{display:flex;flex-wrap:wrap;padding:15px;background:#fff;border-top:1px solid rgba(0,0,0,.08);gap:10px}.ai-msg-image{width:min(280px,100%);margin:0 0 9px}.ai-msg-image img{display:block;width:100%;max-height:180px;object-fit:contain;border-radius:10px;background:#fffffff0}.ai-msg-image figcaption{margin-top:5px;overflow:hidden;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.circuit-vision-scheme{display:flex;flex:0 0 100%;gap:6px;padding:4px;border:1px solid rgba(15,118,110,.16);border-radius:12px;background:#f0fdfac2}.circuit-vision-scheme button{flex:1;min-height:32px;border:0;border-radius:9px;color:#47605d;background:transparent;font-size:12px;font-weight:700;cursor:pointer}.circuit-vision-scheme button.active{color:#fff;background:#0f766e;box-shadow:0 5px 14px #0f766e33}.circuit-vision-scheme+.agent-image-attachment{flex:0 0 auto}.ai-chat-input button.ai-cancel-generation{background:#dc2626}.ai-chat-input button.ai-cancel-generation:hover:not(:disabled){box-shadow:0 4px 12px #dc262647}.lab-chart-card{margin:12px 12px 4px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e6ebf0;border-radius:12px;box-shadow:0 1px 3px #0000000d}.lab-chart-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.lab-chart-stat{display:flex;flex-direction:column;padding:8px 10px;background:#f1f5f9;border-radius:8px}.lab-chart-stat .stat-label{font-size:11px;color:#94a3b8}.lab-chart-stat .stat-value{font-size:16px;font-weight:700;color:#1e293b;font-family:JetBrains Mono,monospace}.lab-chart-stat .stat-sub{font-size:10px;color:#64748b}.lab-chart-body{width:100%}.lab-chart-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:12px}.lab-formula-card{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #eef2f6}.lab-formula-title{font-size:12px;font-weight:600;color:#334155;margin-bottom:6px}.lab-formula-items{display:flex;flex-wrap:wrap;gap:6px}.lab-formula-item{display:inline-flex;align-items:baseline;gap:6px;padding:3px 8px;background:#fff;border:1px solid #e6ebf0;border-radius:6px}.lab-formula-item .formula-name{font-size:10px;color:#64748b}.lab-formula-item .formula-expression{font-size:12px;font-weight:600;color:#0071e3;font-family:JetBrains Mono,monospace}.advanced-circuit-lab .dfp-fab{bottom:150px}.advanced-circuit-lab .dfp-panel{bottom:120px}@media (max-width: 640px){.advanced-circuit-lab .dfp-fab{bottom:150px}.advanced-circuit-lab .dfp-panel{bottom:172px}}.advanced-lens-lab{display:flex;flex-direction:column;height:100%;min-height:0;background:#f5f5f7;overflow:hidden}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:11px}.result-item{padding:4px 6px;background:#f9fafb;border-radius:3px}.result-item .label{font-size:9px;color:#9ca3af}.result-item .value{font-size:12px;font-weight:600;color:#1f2937}.adv-console .control-panel,.adv-console .result-panel{padding:8px 10px;border-bottom:1px solid #f3f4f6}.adv-console h4{font-size:12px;margin:0 0 6px;color:#374151}.lens-2d-editor{width:100%;height:100%;position:relative;background:#fafaf9}.lens-2d-editor svg{display:block}.zoom-controls{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;background:#fff;padding:6px 10px;border-radius:8px;box-shadow:0 2px 8px #0000001a;z-index:100}.zoom-controls button{width:28px;height:28px;border:1px solid #e5e7eb;background:#fff;border-radius:4px;cursor:pointer;font-size:16px;color:#374151}.zoom-controls button:hover{background:#f3f4f6}.zoom-controls button.reset{width:auto;padding:0 10px;font-size:11px}.zoom-controls span{font-size:12px;color:#6b7280;min-width:40px;text-align:center}.live-data-panel{position:absolute;top:12px;left:12px;background:#fffffff2;padding:10px 14px;border-radius:8px;box-shadow:0 2px 8px #0000001a;z-index:100}.live-data-panel .data-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.live-data-panel .data-row:last-child{margin-bottom:0}.live-data-panel .label{font-size:12px;color:#6b7280}.live-data-panel .value{font-size:14px;font-weight:600;color:#1f2937;font-family:JetBrains Mono,monospace}.operation-hints{position:absolute;bottom:12px;left:12px;display:flex;gap:12px;font-size:11px;color:#9ca3af;z-index:100}.eye-control-panel{position:absolute;top:12px;left:12px;width:220px;background:#fff;padding:14px;border-radius:10px;box-shadow:0 4px 12px #00000026;z-index:100}.eye-control-panel h4{margin:0 0 12px;font-size:14px;color:#1f2937}.eye-control-panel .slider-group{margin-bottom:14px}.eye-control-panel .slider-group label{display:block;font-size:12px;color:#4b5563;margin-bottom:6px}.eye-control-panel .slider-group input[type=range]{width:100%;height:6px;accent-color:#0071e3}.eye-control-panel .slider-group .hint{display:block;font-size:10px;color:#9ca3af;margin-top:4px}.eye-control-panel .correction-controls{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.eye-control-panel .correction-controls h5{margin:0 0 10px;font-size:12px;color:#6b7280}.eye-control-panel .correction-buttons{display:flex;flex-direction:column;gap:6px}.eye-control-panel .correction-buttons button{padding:8px 12px;border:none;border-radius:6px;font-size:11px;cursor:pointer;transition:all .15s}.eye-control-panel .correction-buttons button.concave{background:#f3e8ff;color:#7c3aed}.eye-control-panel .correction-buttons button.concave:hover:not(:disabled){background:#e9d5ff}.eye-control-panel .correction-buttons button.convex{background:#dcfce7;color:#16a34a}.eye-control-panel .correction-buttons button.convex:hover:not(:disabled){background:#bbf7d0}.eye-control-panel .correction-buttons button:disabled{opacity:.4;cursor:not-allowed}.eye-control-panel .correction-active{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f0fdf4;border-radius:6px}.eye-control-panel .correction-active button{padding:4px 10px;border:none;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:11px;cursor:pointer}.eye-control-panel .diagnosis-box{margin-top:12px;padding:10px;border-radius:8px}.eye-control-panel .diagnosis-box.normal{background:#f0fdf4;border:1px solid #86efac}.eye-control-panel .diagnosis-box.abnormal{background:#fef3c7;border:1px solid #fcd34d}.eye-control-panel .diagnosis-title{font-size:13px;font-weight:600;color:#1f2937;margin-bottom:4px}.eye-control-panel .diagnosis-cause{font-size:11px;color:#6b7280}.eye-control-panel .correction-hint{font-size:11px;color:#2563eb;margin-top:6px}.pip-container{position:absolute;bottom:20px;right:20px;width:200px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;overflow:hidden;z-index:200}.pip-header{padding:8px 12px;background:#0071e3;color:#fff;font-size:12px;font-weight:600}.pip-content{width:200px;height:150px;background:#1f2937;position:relative;display:flex;align-items:center;justify-content:center;transition:filter .3s ease}.pip-emoji{font-size:60px;opacity:.9}.pip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.8}.pip-dark{text-align:center;color:#9ca3af}.pip-dark span{font-size:40px;display:block;margin-bottom:8px}.pip-dark p{margin:4px 0;font-size:12px}.pip-dark .hint{font-size:10px;color:#6b7280}.pip-status{padding:8px 12px;font-size:12px;text-align:center;background:#f9fafb}.pip-status .clear{color:#22c55e}.pip-status .slight{color:#ff9f0a}.pip-status .blurry{color:#ef4444}.optics-palette{padding:12px}.optics-palette h4{margin:0 0 10px;font-size:13px;font-weight:600;color:#374151}.mode-selector{margin-bottom:16px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mode-buttons button{padding:8px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:11px;cursor:pointer;transition:all .15s}.mode-buttons button:hover{border-color:#0071e3;color:#0071e3}.mode-buttons button.active{background:#0071e30f;border-color:#0071e3;color:#0071e3;font-weight:500}.component-library{margin-bottom:16px}.component-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.draggable-component{display:flex;align-items:center;gap:8px;padding:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:grab;transition:all .15s}.draggable-component:hover{background:#fff;border-color:#0071e3;box-shadow:0 2px 8px #0071e31a}.draggable-component:active{cursor:grabbing}.draggable-component .icon{font-size:18px}.draggable-component .label{font-size:12px;color:#4b5563}.preset-scenes{margin-top:16px}.preset-group{margin-bottom:16px}.group-title{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #e5e7eb}.preset-card{padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .15s}.preset-card:hover{background:#fff;border-color:#0071e3;box-shadow:0 2px 8px #0071e314}.preset-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.preset-name{font-size:13px;font-weight:600;color:#1f2937}.exam-badge{padding:1px 6px;background:#0071e314;color:#0071e3;font-size:9px;font-weight:600;border-radius:4px}.preset-desc{font-size:11px;color:#6b7280}.exam-tip{margin-top:6px;padding:6px 8px;background:#0071e30a;border-radius:6px;font-size:10px;color:#6e6e73}.preset-hint{margin-top:6px;font-size:10px;color:#0071e3;font-style:italic}.palette-actions{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.clear-btn{width:100%;padding:10px;border:none;background:#fee2e2;color:#dc2626;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.clear-btn:hover{background:#fecaca}.eye-correction-tools{margin-bottom:16px}.correction-lenses{display:flex;flex-direction:column;gap:6px}.eye-hint{margin-top:10px;padding:8px;background:#0071e30f;border-radius:8px;font-size:11px;color:#0071e3}.snap-indicator line{animation:snap-pulse .8s ease-in-out infinite}@keyframes snap-pulse{0%,to{opacity:.6}50%{opacity:1}}.telescope-control-panel{position:absolute;top:12px;left:12px;width:240px;background:#fff;padding:14px;border-radius:10px;box-shadow:0 4px 12px #00000026;z-index:100}.telescope-control-panel h4{margin:0 0 12px;font-size:14px;color:#1f2937;display:flex;align-items:center;gap:8px}.telescope-control-panel .slider-group{margin-bottom:14px}.telescope-control-panel .slider-group label{display:flex;justify-content:space-between;font-size:12px;color:#4b5563;margin-bottom:6px}.telescope-control-panel .slider-group label span{color:#0071e3;font-weight:600;font-family:JetBrains Mono,monospace}.telescope-control-panel .slider-group input[type=range]{width:100%;height:6px;accent-color:#0071e3}.telescope-control-panel .alignment-status{padding:10px;border-radius:8px;margin-top:12px;text-align:center}.telescope-control-panel .alignment-status.aligned{background:#dcfce7;border:1px solid #86efac}.telescope-control-panel .alignment-status.misaligned{background:#fef3c7;border:1px solid #fcd34d}.telescope-control-panel .alignment-status .status-icon{font-size:24px;display:block;margin-bottom:6px}.telescope-control-panel .alignment-status .status-text{font-size:13px;font-weight:600;color:#1f2937}.telescope-control-panel .alignment-status .status-hint{font-size:11px;color:#6b7280;margin-top:4px}.telescope-control-panel .magnification-display{margin-top:12px;padding:12px;background:#0071e30a;border-radius:10px;text-align:center}.telescope-control-panel .magnification-display .value{font-size:28px;font-weight:700;color:#1e40af;font-family:JetBrains Mono,monospace}.telescope-control-panel .magnification-display .label{font-size:11px;color:#6b7280;margin-top:4px}.telescope-control-panel .auto-align-btn{width:100%;padding:10px;margin-top:12px;border:none;background:#0071e3;color:#fff;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.telescope-control-panel .auto-align-btn:hover{filter:brightness(1.05);box-shadow:0 2px 8px #0071e34d}.microscope-control-panel{position:absolute;top:12px;left:12px;width:240px;background:#fff;padding:14px;border-radius:10px;box-shadow:0 4px 12px #00000026;z-index:100}.microscope-control-panel h4{margin:0 0 12px;font-size:14px;color:#1f2937;display:flex;align-items:center;gap:8px}.microscope-control-panel .slider-group{margin-bottom:14px}.microscope-control-panel .slider-group label{display:flex;justify-content:space-between;font-size:12px;color:#4b5563;margin-bottom:6px}.microscope-control-panel .slider-group label span{color:#8b5cf6;font-weight:600;font-family:JetBrains Mono,monospace}.microscope-control-panel .slider-group input[type=range]{width:100%;height:6px;accent-color:#8b5cf6}.microscope-control-panel .magnification-breakdown{margin-top:12px;padding:12px;background:#faf5ff;border-radius:8px}.microscope-control-panel .magnification-breakdown .mag-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px}.microscope-control-panel .magnification-breakdown .mag-row.total{border-top:1px solid #e9d5ff;margin-top:8px;padding-top:8px;font-weight:600}.microscope-control-panel .magnification-breakdown .mag-label{color:#6b7280}.microscope-control-panel .magnification-breakdown .mag-value{color:#7c3aed;font-family:JetBrains Mono,monospace}.microscope-control-panel .magnification-breakdown .mag-value.large{font-size:20px;color:#5b21b6}.microscope-control-panel .light-control{margin-top:12px;padding:10px;background:#fefce8;border-radius:8px}.microscope-control-panel .light-control label{display:flex;align-items:center;gap:8px;font-size:12px;color:#713f12;margin-bottom:8px}.microscope-control-panel .light-control input[type=range]{width:100%;accent-color:#eab308}.microscope-control-panel .image-info{margin-top:12px;padding:10px;background:#f0fdf4;border-radius:8px;border:1px solid #86efac}.microscope-control-panel .image-info .info-title{font-size:11px;color:#166534;font-weight:600;margin-bottom:6px}.microscope-control-panel .image-info .info-item{font-size:11px;color:#15803d;margin:2px 0}.lens-2d-editor.mode-eye{background:#fefce8}.lens-2d-editor.mode-telescope{background:#1d1d1f}.lens-2d-editor.mode-microscope{background:#f5f3ff}.mode-info-box{position:absolute;bottom:12px;right:12px;max-width:280px;background:#fffffff2;padding:12px 14px;border-radius:10px;box-shadow:0 4px 12px #0000001a;z-index:100}.mode-info-box .info-title{font-size:13px;font-weight:600;color:#1f2937;margin-bottom:8px;display:flex;align-items:center;gap:6px}.mode-info-box .info-content{font-size:11px;color:#6b7280;line-height:1.5}.mode-info-box .formula{font-family:Times New Roman,serif;font-size:14px;color:#1e40af;background:#eff6ff;padding:6px 10px;border-radius:4px;margin:8px 0;text-align:center}.mode-selector .mode-btn{display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.mode-selector .mode-btn:hover{border-color:#93c5fd;background:#f0f9ff;transform:translateY(-2px)}.mode-selector .mode-btn.active{border-color:#0071e3;background:#0071e30f;box-shadow:0 2px 8px #0071e31f}.mode-selector .mode-btn .mode-icon{font-size:22px;margin-bottom:4px}.mode-selector .mode-btn .mode-name{font-size:11px;font-weight:500;color:#4b5563}.mode-selector .mode-btn.active .mode-name{color:#0071e3}.preset-list{display:flex;flex-direction:column;gap:6px}.preset-btn-full{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.preset-btn-full:hover{border-color:#0071e3;background:#0071e30a;transform:translate(2px)}.preset-btn-full .preset-name{font-size:12px;font-weight:600;color:#1f2937}.preset-btn-full .preset-desc{font-size:10px;color:#6b7280;margin-top:2px}.formula-box{background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:12px;margin:10px 0;color:#000!important;font-weight:800!important}.formula-box .formula{font-family:Times New Roman,Georgia,serif;font-size:15px;color:#000;font-weight:700;text-align:center;margin:6px 0}.formula-box .formula sub{font-size:10px}.exam-hints{display:flex;flex-direction:column;gap:8px}.hint-item{display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:#fefce8;border-radius:6px;font-size:11px;color:#713f12;border-left:3px solid #fbbf24}.hint-item.warn{background:#fff7ed;border-left-color:#f97316}.hint-item .hint-title{font-weight:600;color:#92400e}.hint-item .hint-fix{color:#15803d;font-weight:500}.telescope-dark-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1e293b,#0f172a);z-index:0}.telescope-stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 20px 30px,white,transparent),radial-gradient(1px 1px at 40px 70px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 130px 80px,white,transparent),radial-gradient(1px 1px at 160px 30px,rgba(255,255,255,.7),transparent);background-size:200px 100px;animation:twinkle 4s ease-in-out infinite;z-index:1}@keyframes twinkle{0%,to{opacity:.8}50%{opacity:1}}@media (max-width: 1200px){.pip-container{width:160px}.pip-content{width:160px;height:120px}}.optics-palette{background:#fafafa;border-right:1px solid rgba(0,0,0,.08)}.palette-section{padding:12px;border-bottom:1px solid #e2e8f0}.section-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#334155;margin-bottom:10px}.section-icon{font-size:16px}.component-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.component-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:grab;transition:all .2s ease}.component-item:hover{border-color:#0071e3;background:#0071e30f;transform:translateY(-1px);box-shadow:0 2px 8px #0071e31a}.component-item:active{cursor:grabbing;transform:scale(.95)}.comp-icon{font-size:24px}.comp-name{font-size:11px;color:#64748b;text-align:center}.basic-hints{background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:12px;color:#64748b;line-height:1.8}.basic-hints p{margin:0}.lens-result-panel{background:#fafafa;border-left:1px solid rgba(0,0,0,.08);padding:16px;overflow-y:auto}.result-card{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;border:1px solid rgba(0,0,0,.08)}.result-card-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e293b;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}.result-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.result-row .label{color:#64748b}.result-row .value{font-weight:600;color:#0f172a;font-family:JetBrains Mono,monospace}.image-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.image-badge.real{background:#dcfce7;color:#166534}.image-badge.virtual{background:#f3e8ff;color:#7c3aed}.preset-cards{display:flex;flex-direction:column;gap:8px}.preset-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s ease}.preset-card:hover{border-color:#0071e3;background:#0071e30a;transform:translate(4px)}.preset-card.active{border-color:#0071e3;background:#0071e30f;box-shadow:0 0 0 3px #0071e314}.preset-icon{font-size:20px}.preset-info{flex:1}.preset-name{font-size:13px;font-weight:600;color:#1e293b}.preset-desc{font-size:11px;color:#64748b;margin-top:2px}.immersive-view-container{position:relative;width:100%;height:100%;background:#0a0a0a;overflow:hidden}.main-viewport{width:100%;height:100%}.pip-structure-window{position:absolute;right:16px;bottom:16px;width:280px;height:200px;background:#fffffff2;border-radius:12px;box-shadow:0 8px 32px #0000004d;overflow:hidden;z-index:100;border:1px solid rgba(255,255,255,.2)}.pip-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1d1d1f;color:#fff;font-size:12px;font-weight:600}.pip-icon{font-size:14px}.pip-canvas{width:100%;height:calc(100% - 32px)}.eye-view-experience{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#e3f2fd,#bbdefb);position:relative}.eye-viewport{width:85%;height:85%;display:flex;align-items:center;justify-content:center;border-radius:20px;overflow:hidden;background:#fff;box-shadow:inset 0 0 60px #0000001a}.vision-scene{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.eye-chart{background:#fff;padding:30px 50px;border-radius:8px;box-shadow:0 4px 20px #0000001a}.chart-row{text-align:center;font-family:Arial Black,sans-serif;color:#1a1a1a;letter-spacing:.3em;margin:8px 0}.size-1{font-size:48px}.size-2{font-size:40px}.size-3{font-size:32px}.size-4{font-size:26px}.size-5{font-size:20px}.size-6{font-size:16px}.size-7{font-size:12px}.size-8{font-size:9px}.distance-label{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:6px 16px;background:#000000b3;color:#fff;border-radius:20px;font-size:13px}.correction-lens-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.lens-frame{width:90%;height:90%;border:8px solid #374151;border-radius:50%/40%;position:relative}.lens-frame.concave{background:radial-gradient(ellipse at center,transparent 0%,rgba(139,92,246,.1) 100%)}.lens-frame.convex{background:radial-gradient(ellipse at center,rgba(59,130,246,.15) 0%,transparent 70%)}.lens-label{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#374151;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;white-space:nowrap}.vision-status{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:10px}.status-badge{padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.status-badge.normal{background:#dcfce7;color:#166534}.status-badge.myopia-mild{background:#fef3c7;color:#92400e}.status-badge.myopia-severe{background:#fee2e2;color:#991b1b}.status-badge.hyperopia{background:#fae8ff;color:#86198f}.blur-indicator{display:flex;align-items:center;gap:8px;background:#ffffffe6;padding:8px 12px;border-radius:8px;font-size:12px}.blur-bar{width:80px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.blur-fill{height:100%;background:linear-gradient(90deg,#22c55e,#eab308,#ef4444);transition:width .3s}.telescope-view-experience{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000;position:relative}.telescope-viewport{width:min(500px,80vmin);height:min(500px,80vmin);position:relative}.telescope-mask{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#0a0a1a;box-shadow:inset 0 0 80px #000c}.telescope-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.crosshair-h,.crosshair-v{position:absolute;background:#f009}.crosshair-h{width:40px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair-v{width:1px;height:40px;top:50%;left:50%;transform:translate(-50%,-50%)}.moon-scene{width:100%;height:100%;position:relative;background:radial-gradient(ellipse at 30% 30%,#1a1a2e,#0a0a15)}.moon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:linear-gradient(135deg,#f5f5f5,#e0e0e0,#bdbdbd);border-radius:50%;box-shadow:inset -20px -20px 40px #0000004d,0 0 60px #ffffff1a}.crater{position:absolute;border-radius:50%;background:radial-gradient(ellipse at 30% 30%,#bdbdbd,#9e9e9e);box-shadow:inset 2px 2px 4px #0000004d}.crater-1{width:40px;height:40px;top:30%;left:25%}.crater-2{width:25px;height:25px;top:50%;left:60%}.crater-3{width:35px;height:35px;top:65%;left:35%}.crater-4{width:20px;height:20px;top:25%;left:55%}.mare{position:absolute;border-radius:50%;background:#757575;opacity:.4}.mare-1{width:60px;height:50px;top:40%;left:40%}.mare-2{width:45px;height:35px;top:55%;left:55%}.stars{position:absolute;top:0;left:0;right:0;bottom:0}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle 2s infinite}.telescope-status{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:10px}.mag-display{background:#000c;padding:12px 20px;border-radius:12px;text-align:center}.mag-value{display:block;font-size:28px;font-weight:700;color:#fff;font-family:JetBrains Mono,monospace}.mag-label{font-size:11px;color:#9ca3af}.align-status{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600}.align-status.aligned{background:#166534;color:#dcfce7}.align-status.misaligned{background:#92400e;color:#fef3c7}.microscope-view-experience{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1a1a1a;position:relative}.microscope-viewport{width:min(480px,75vmin);height:min(480px,75vmin);position:relative}.microscope-mask{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#fff;border:12px solid #1f2937}.microscope-content{width:100%;height:100%}.viewport-vignette{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;box-shadow:inset 0 0 100px #0006;pointer-events:none}.cell-scene{width:100%;height:100%;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;align-items:center;justify-content:center;position:relative}.plant-cell{position:relative;border:3px solid #2e7d32;border-radius:4px;background:#ffffff80}.cell-wall{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #558b2f;border-radius:2px}.cytoplasm{position:absolute;top:6px;right:6px;bottom:6px;left:6px;background:#c8e6c999;border-radius:2px}.nucleus{position:absolute;width:30%;height:40%;top:30%;left:35%;background:radial-gradient(ellipse at 40% 40%,#7b1fa2,#4a148c);border-radius:50%}.nucleolus{position:absolute;width:30%;height:30%;top:35%;left:35%;background:#e91e63;border-radius:50%}.vacuole{position:absolute;width:40%;height:50%;top:25%;right:10%;background:#2196f34d;border:1px solid rgba(33,150,243,.5);border-radius:40%}.chloroplast{position:absolute;width:12px;height:6px;background:#4caf50;border-radius:50%}.chloroplast.c1{top:15%;left:10%;transform:rotate(30deg)}.chloroplast.c2{bottom:20%;left:15%;transform:rotate(-20deg)}.chloroplast.c3{bottom:15%;right:20%;transform:rotate(45deg)}.specimen-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:4px 12px;border-radius:12px;font-size:11px}.microscope-status{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:10px}.light-control{display:flex;align-items:center;gap:8px;background:#000c;padding:8px 12px;border-radius:8px;color:#fff;font-size:12px}.light-bar{width:60px;height:4px;background:#374151;border-radius:2px;overflow:hidden}.light-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#fff)}.focus-status{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600}.focus-status.focused{background:#166534;color:#dcfce7}.focus-status.unfocused{background:#78350f;color:#fef3c7}.near-scene{background:linear-gradient(180deg,#fffbeb,#fef3c7)}.book-page{background:#fff;padding:30px 40px;border-radius:4px;box-shadow:0 2px 10px #0000001a,-5px 0 15px #0000000d;max-width:400px;font-family:"Noto Serif SC",serif}.book-page h3{font-size:18px;color:#1e293b;margin-bottom:16px;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.book-page p{font-size:14px;color:#334155;line-height:1.8;margin:8px 0}.pip-window.clickable{cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.3)}.pip-window.clickable:hover{transform:scale(1.05);border-color:#0071e3;box-shadow:0 4px 20px #0071e34d}.expand-icon{font-size:14px;opacity:.7}.pip-window.clickable:hover .expand-icon{opacity:1}.lens-3d-preview{width:100%;height:100%;position:relative}.lens-3d-preview.advanced-mode{display:flex;flex-direction:column}.lens-3d-preview.advanced-mode .main-view-container{flex:1;position:relative;overflow:hidden;border-radius:12px;background:#1a1a2e}.lens-3d-preview.advanced-mode .pip-container{position:absolute;right:12px;bottom:12px;width:180px;height:140px;background:#1e293bf2;border:2px solid #475569;border-radius:10px;cursor:pointer;overflow:hidden;z-index:10;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.pip-container:hover{border-color:#0071e3;transform:scale(1.02)}.pip-container .pip-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#334155;font-size:11px;color:#e2e8f0}.pip-container .pip-header .swap-icon{font-size:14px}.pip-container .pip-content{width:100%;height:calc(100% - 24px)}.vision-view{width:100%;height:100%}.vision-view.main{min-height:300px}.vision-view.pip{transform:scale(.9)}.structure-view{width:100%;height:100%}.eye-vision-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f5f5,#e0e0e0);position:relative}.eye-vision-field{width:90%;height:90%;display:flex;align-items:center;justify-content:center;transition:filter .3s ease}.eye-overlay{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px}.diagnosis-badge{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;background:#e8f5e9;color:#2e7d32}.diagnosis-badge.myopia-mild,.diagnosis-badge.myopia-severe{background:#ffebee;color:#c62828}.diagnosis-badge.hyperopia{background:#fff3e0;color:#e65100}.blur-indicator{padding:4px 10px;background:#0009;color:#fff;border-radius:12px;font-size:11px}.vision-scene.far-scene{text-align:center}.eye-chart{background:#fff;padding:20px 40px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.chart-row{font-family:Courier New,monospace;font-weight:700;margin:4px 0}.chart-row.size-1{font-size:48px}.chart-row.size-2{font-size:36px}.chart-row.size-3{font-size:28px}.chart-row.size-4{font-size:22px}.chart-row.size-5{font-size:16px}.chart-row.size-6{font-size:12px}.vision-scene.near-scene .book-page{background:#fffef0;padding:20px;border-radius:4px;box-shadow:2px 2px 8px #00000026;font-size:14px;line-height:1.8;max-width:300px}.book-page h3{margin:0 0 10px;color:#1565c0}.distance-label{margin-top:12px;font-size:12px;color:#666}.telescope-vision-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0a0a1a;position:relative}.telescope-mask-circle{width:min(85%,350px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid #1a1a2e;box-shadow:inset 0 0 50px #000c;position:relative;display:flex;align-items:center;justify-content:center}.telescope-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;transform-origin:center center}.moon-scene{width:100%;height:100%;background:radial-gradient(circle,#0d1b2a,#000);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.moon{width:50%;aspect-ratio:1;background:linear-gradient(135deg,#f5f5f5,#bdbdbd,#9e9e9e);border-radius:50%;position:relative;box-shadow:-10px -10px 30px #ffffff1a inset,5px 5px 15px #0000004d;flex-shrink:0}.no-light-warning{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:14px}.light-indicator{background:#00000080;padding:2px 8px;border-radius:10px}.crater{position:absolute;border-radius:50%;background:#00000026}.crater.c1{width:20%;height:20%;top:20%;left:30%}.crater.c2{width:15%;height:15%;top:50%;left:60%}.crater.c3{width:12%;height:12%;top:35%;left:15%}.mare{position:absolute;border-radius:50%;background:#6464784d}.mare.m1{width:35%;height:25%;top:25%;left:40%;border-radius:40%}.stars .star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle 2s infinite}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.crosshair-h,.crosshair-v{position:absolute;background:#ff000080}.crosshair-h{width:40px;height:1px;left:-20px;top:0}.crosshair-v{width:1px;height:40px;left:0;top:-20px}.telescope-overlay{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px}.mag-badge{padding:6px 12px;background:#3b82f6e6;color:#fff;border-radius:20px;font-size:14px;font-weight:700}.align-badge{padding:4px 10px;border-radius:12px;font-size:11px}.align-badge.good{background:#22c55ee6;color:#fff}.align-badge.bad{background:#ef4444e6;color:#fff}.microscope-vision-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f0f0f0;position:relative}.microscope-circle-mask{width:min(90%,400px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid #333;background:#fff;position:relative}.specimen-view{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.cell-grid{display:grid;gap:4px}.plant-cell{position:relative;border:2px solid #4caf50;border-radius:4px;background:#c8e6c980}.cell-wall{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #388e3c;border-radius:2px}.nucleus{position:absolute;width:30%;height:40%;top:30%;left:35%;background:#7b1fa2;border-radius:50%;opacity:.7}.chloroplast{position:absolute;width:15%;height:10%;background:#2e7d32;border-radius:40%}.microscope-mag-label{position:absolute;top:10px;right:10px;padding:4px 10px;background:#000000b3;color:#fff;border-radius:12px;font-size:14px;font-weight:700}.scale-bar{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.scale-line{width:50px;height:2px;background:#333}.scale-bar span{font-size:10px;color:#333}.adv-canvas-wrap .lens-2d-editor,.adv-preview .lens-3d-preview{flex:1;min-height:0;position:relative}.advanced-lens-lab .control-panel label,.advanced-lens-lab .checkbox-label,.advanced-lens-lab .radio-label{white-space:nowrap}.advanced-lens-lab .control-panel h4,.advanced-lens-lab .help-list li,.advanced-lens-lab .mode-hint,.advanced-lens-lab .option-hint{white-space:normal}.advanced-projectile-lab{display:flex;flex-direction:column;height:100%}.ghost-btn{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:12px;cursor:pointer;transition:all .2s}.ghost-btn:hover{background:#ffffff1a}.ghost-btn.active{background:#0071e3;border-color:#0071e3}.checkbox-label{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.checkbox-label input{cursor:pointer}.terrain-palette h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}.palette-items{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.palette-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .15s;text-align:left}.palette-item:hover:not(:disabled){background:#0071e30f;border-color:#0071e3}.palette-item:disabled{opacity:.5;cursor:not-allowed}.launcher-item{border-left:3px solid}.item-icon{font-size:18px}.item-name{font-size:12px;font-weight:500;color:#1d1d1f}.item-desc{font-size:10px;color:#86868b;margin-left:auto}.palette-hint{font-size:11px;color:#86868b;text-align:center;margin-bottom:16px}.palette-actions{margin-top:16px}.clear-btn{width:100%;padding:10px;background:#ff3b300f;border:1px solid rgba(255,59,48,.15);border-radius:10px;color:#ff3b30;font-size:13px;cursor:pointer;transition:all .15s}.clear-btn:hover:not(:disabled){background:#ff3b301a}.clear-btn:disabled{opacity:.5;cursor:not-allowed}.realtime-panel{margin-top:20px;padding:12px;background:#34c7590f;border:1px solid rgba(52,199,89,.15);border-radius:14px}.realtime-panel h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:none;padding-bottom:0}.stat-block{padding:10px;background:#fff;border-radius:10px;border-left:3px solid #34c759;margin-bottom:10px}.stat-row{display:flex;justify-content:space-between;font-size:11px;color:#1d1d1f;margin-bottom:4px;font-family:JetBrains Mono,monospace}.stat-row.highlight{font-weight:600;color:#0071e3;margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.08)}.projectile-2d-editor{flex:1;position:relative}.projectile-2d-editor svg{display:block}.adv-canvas-wrap .projectile-2d-editor{flex:1;min-height:0;position:relative}.component-editor{background:#fff;padding:24px;border-radius:18px;min-width:320px;box-shadow:0 20px 40px #0000001f}.component-editor h3{margin:0 0 20px;font-size:16px;color:#1d1d1f}.editor-field{margin-bottom:16px}.editor-field label{display:block;font-size:13px;color:#6e6e73;margin-bottom:6px}.editor-field input[type=number],.editor-field input[type=text]{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font-size:14px;box-sizing:border-box;transition:border-color .15s}.editor-field input[type=range]{width:calc(100% - 50px);vertical-align:middle}.editor-field span{display:inline-block;width:45px;text-align:right;font-size:13px;color:#1d1d1f;font-weight:500}.editor-actions{display:flex;gap:12px;margin-top:24px}.cancel-btn{flex:1;padding:10px;background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:10px;color:#6e6e73;cursor:pointer;font-size:14px;transition:all .15s}.save-btn{flex:1;padding:10px;background:#0071e3;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;transition:all .15s}.save-btn:hover{filter:brightness(1.05);box-shadow:0 2px 8px #0071e34d}.ai-float-btn{position:fixed;right:30px;bottom:100px;width:60px;height:60px;border-radius:50%;background:#0071e3;color:#fff;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 15px #0071e34d;transition:all .15s;z-index:1000;display:flex;align-items:center;justify-content:center}.ai-float-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px #0071e366}.ai-chat-panel{position:fixed;right:30px;bottom:170px;width:380px;height:500px;background:#fff;border-radius:22px;box-shadow:0 10px 40px #0000001f;display:flex;flex-direction:column;overflow:hidden;z-index:1001;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{background:#0071e3;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center;font-weight:600}.ai-chat-header button{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.8;transition:opacity .2s}.ai-chat-header button:hover{opacity:1}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;display:flex;flex-direction:column;gap:12px}.ai-msg{max-width:85%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-line}.ai-msg.ai{background:#fff;color:#333;align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 2px 8px #00000014}.ai-msg.typing{font-style:italic;color:#999;background:transparent;box-shadow:none}.ai-chat-input{display:flex;padding:15px;background:#fff;border-top:1px solid rgba(0,0,0,.08);gap:10px}.ai-chat-input input{flex:1;padding:12px 16px;border:1px solid rgba(0,0,0,.08);border-radius:22px;font-size:14px;outline:none;transition:border-color .15s}.ai-chat-input input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.ai-chat-input button{padding:12px 20px;background:#0071e3;color:#fff;border:none;border-radius:22px;font-size:14px;cursor:pointer;transition:all .15s}.ai-chat-input button:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 4px 12px #0071e34d}.ai-chat-input button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.ai-float-btn{width:50px;height:50px;font-size:20px;right:20px;bottom:120px}.ai-chat-panel{right:10px;left:10px;bottom:80px;width:auto;height:400px}}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#aaa}.advanced-projectile-lab .stat-row,.advanced-projectile-lab .stat-block,.advanced-projectile-lab .stat-row span,.advanced-projectile-lab .stat-row strong{white-space:nowrap}.advanced-projectile-lab .realtime-panel h4{white-space:normal}.advanced-buoyancy-lab{display:flex;flex-direction:column;height:100%;background:#f5f5f7;overflow:hidden}.advanced-buoyancy-lab .adv-lab{flex:1;height:auto;min-height:0}.buoyancy-mode-switcher{display:inline-flex;align-items:center;gap:6px}.buoyancy-mode-switcher button{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f;color:#fff;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.buoyancy-mode-switcher button:hover{background:#fff3}.buoyancy-mode-switcher button.active{background:#0071e3;border-color:#0071e3}.buoyancy-scenario-switcher{display:inline-flex;align-items:center;gap:6px}.buoyancy-scenario-switcher .scenario-label{color:#fffc;font-size:11px;margin-right:2px;white-space:nowrap}.buoyancy-scenario-switcher button{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1f;color:#fff;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.buoyancy-scenario-switcher button:hover{background:#fff3}.buoyancy-scenario-switcher button.active{background:#34c759;border-color:#34c759}.scenario-control-panel{margin:10px 12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 1px 3px #0f172a0f}.scenario-control-head{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#334155;margin-bottom:10px}.scenario-slider-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:4px}.scenario-slider-row input[type=range]{grid-column:1 / -1;width:100%;accent-color:#3b82f6;cursor:pointer}.slider-label{font-size:12px;color:#64748b}.slider-val{font-size:12px;font-weight:600;color:#1e293b;font-family:SFMono-Regular,Consolas,monospace}.scenario-readouts{margin-top:10px;border-top:1px dashed #e2e8f0;padding-top:8px;display:flex;flex-direction:column;gap:6px}.readout-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.readout-row span{color:#64748b}.readout-row strong{color:#0f172a;font-weight:600;font-family:SFMono-Regular,Consolas,monospace}.scenario-tip{margin-top:10px;font-size:11px;color:#94a3b8;line-height:1.5}.scenario-overlay text{font-family:PingFang SC,Microsoft YaHei,sans-serif}.buoyancy-2d-editor{flex:1;position:relative}.buoyancy-2d-editor svg{width:100%;height:100%}.adv-canvas-wrap .buoyancy-2d-editor{flex:1;min-height:0;overflow:auto;background:#fafafa;display:flex;align-items:center;justify-content:center}.adv-canvas-wrap .buoyancy-2d-editor svg{display:block;min-width:560px;min-height:420px;max-width:100%;max-height:100%}.ice-melt-levels .ice-melt-conclusion{font-family:PingFang SC,Microsoft YaHei,sans-serif}.buoyancy-3d-preview{flex:1;position:relative}.buoyancy-3d-preview canvas{border-radius:14px}.buoyancy-3d-preview .scene-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#1e1e209e;color:#fff;font-size:11px;padding:4px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:8}.buoyancy-3d-preview .preview-badge{position:absolute;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 14px #0000002e}@media (max-width: 640px){.buoyancy-3d-preview .scene-hint{display:none}}.scene-status-badge{position:absolute;top:12px;left:12px;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.scene-status-badge.ready{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.scene-status-badge.running{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.data-panel-3d{position:absolute;top:12px;right:12px;width:180px;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:12px;color:#e2e8f0;font-size:11px;z-index:10;border:1px solid rgba(255,255,255,.1)}.data-panel-3d h4{font-size:12px;font-weight:600;color:#f8fafc;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.data-panel-3d .data-row .value{font-family:JetBrains Mono,monospace;color:#f8fafc;font-weight:600}.buoyancy-calc-panel{position:relative;z-index:50;background:#fff;border-top:2px solid #e5e7eb;margin-top:12px;flex-shrink:0;max-height:250px;overflow:hidden;transition:max-height .3s}.buoyancy-calc-panel.expanded{max-height:280px}.buoyancy-calc-panel.collapsed{max-height:46px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#f5f5f7;cursor:pointer;font-weight:600;font-size:14px;color:#1d1d1f;-webkit-user-select:none;user-select:none;min-height:44px}.panel-header:hover{background:#ebebed}.toggle-icon{font-size:12px;color:#64748b}.panel-content{padding:12px 16px;overflow-y:auto;max-height:230px;background:#fafafa}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.object-result-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e5e7eb}.obj-color{width:16px;height:16px;border-radius:3px}.obj-name{font-weight:600;font-size:13px}.state-badge{margin-left:auto;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.state-badge.floating{background:#dcfce7;color:#16a34a}.state-badge.sinking{background:#fee2e2;color:#dc2626}.state-badge.suspended{background:#ff9f0a1f;color:#ff9f0a}.card-body{display:flex;flex-direction:column;gap:4px}.data-row{display:flex;justify-content:space-between;font-size:12px}.data-row span{color:#64748b}.data-row strong{color:#1e293b;font-family:JetBrains Mono,monospace}.overflow-card{background:#eff6ff;border-color:#93c5fd}.no-result-hint{text-align:center;color:#94a3b8;padding:20px;font-size:14px}.verification{background:#dcfce7;padding:4px 8px;border-radius:4px;margin-top:4px}.verification span{color:#16a34a}.verification strong{color:#15803d}.object-result-card.stacked-card{border-left:4px solid #0071e3;background:#0071e308}.object-result-card.stacked-member{opacity:.7;border-left:4px solid #c4b5fd}.object-result-card.stacked-primary{border-left:4px solid #7c3aed}.stack-badge{background:#a855f7;color:#fff;padding:2px 8px;border-radius:10px;font-size:10px}.display-options{display:flex;gap:16px;padding:8px 16px;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0}.display-options label{display:flex;align-items:center;gap:4px;font-size:13px;color:#475569;cursor:pointer}.panel-header-options{gap:14px;padding:0;border:none;background:transparent;flex:1;justify-content:center}.buoyancy-calc-panel .panel-header .panel-header-options label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6e6e73;cursor:pointer;white-space:nowrap}.buoyancy-calc-panel .panel-header .panel-header-options label:hover{color:#1d1d1f}.buoyancy-calc-panel .panel-header .panel-header-options input{accent-color:#0071e3}.pressure-visualization line{opacity:.7}.depth-pressure-scale text{font-family:JetBrains Mono,monospace}.submersion-curve-panel text{font-family:PingFang SC,Microsoft YaHei,sans-serif}.edit-hint-badge{animation:editHintPulse 1.5s infinite}@keyframes editHintPulse{0%,to{opacity:1}50%{opacity:.7}}.object-data-panel{pointer-events:none}.density-guide{background:#0071e30a;border-bottom:1px solid rgba(0,113,227,.1);padding:12px 16px;display:flex;align-items:center;gap:20px;flex-shrink:0}.guide-steps{display:flex;gap:8px;flex:1}.guide-step{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffffb3;border-radius:8px;border:1px solid #bfdbfe;opacity:.5;transition:all .2s}.guide-step.done{opacity:1;background:#dcfce7;border-color:#86efac}.guide-step.current{opacity:1;background:#fff;border-color:#0071e3;box-shadow:0 2px 8px #0071e326}.step-num{width:22px;height:22px;border-radius:50%;background:#0071e3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.guide-step.done .step-num{background:#16a34a;font-size:10px}.step-info{flex:1;min-width:0}.step-title{font-size:11px;font-weight:600;color:#1e293b}.step-desc{font-size:9px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-actions{display:flex;align-items:center;gap:10px}.guide-actions button{padding:8px 16px;background:#0071e3;color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.guide-actions button:hover{filter:brightness(1.05);box-shadow:0 2px 8px #0071e34d}.result-display{background:#dcfce7;padding:10px 16px;border-radius:8px;border:1px solid #86efac}.result-display strong{color:#15803d;font-size:14px}.result-display .formula{font-size:11px;color:#166534;margin-top:4px;font-family:JetBrains Mono,monospace}.step-hint{display:flex;align-items:center;padding:8px 14px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;font-size:12px;color:#15803d}.stack-mode-panel{background:#0071e30a;border:2px solid #0071e3;border-radius:14px;padding:12px 20px;margin:8px 15px;display:flex;justify-content:space-between;align-items:center;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#0071e3}50%{border-color:#0071e366}}.stack-info{display:flex;align-items:center;gap:15px;color:#6b21a8;font-weight:500}.stack-count{background:#a855f7;color:#fff;padding:2px 10px;border-radius:12px;font-size:12px}.stack-actions{display:flex;gap:10px}.confirm-stack-btn{background:#16a34a;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.confirm-stack-btn:disabled{background:#9ca3af;cursor:not-allowed}.cancel-stack-btn{background:#6b7280;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px}.stacked-group-info{background:#0071e30a;border:1px solid rgba(0,113,227,.15);border-radius:8px;padding:10px 15px;margin:8px 15px}.stacked-group-info .group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;color:#6b21a8}.stacked-group-info .group-header button{background:#ef4444;color:#fff;border:none;padding:3px 10px;border-radius:4px;font-size:11px;cursor:pointer}.stacked-group-info .group-data{display:flex;gap:20px;font-size:12px;color:#7c3aed}.rope-connections-panel{background:#57534e0d;border:1px solid rgba(87,83,78,.18);border-radius:10px;padding:10px 15px;margin:8px 15px}.rope-connections-panel .group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;color:#57534e}.rope-conn-item{padding:8px 10px;border-top:1px dashed #e2e8f0}.rope-conn-item:first-of-type{border-top:none}.rope-conn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.rope-conn-label{font-size:12px;font-weight:600;color:#334155;display:inline-flex;align-items:center;gap:4px}.rope-remove-btn{background:#ef4444;color:#fff;border:none;padding:3px 10px;border-radius:4px;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.rope-remove-btn:hover{filter:brightness(1.05)}.rope-slider-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:4px}.rope-slider-row input[type=range]{width:100%;accent-color:#57534e;cursor:pointer}.rope-readouts{display:flex;flex-direction:column;gap:4px}.rope-readouts .readout-row strong{font-size:12px}.floating-hint{background:#0071e30f;border:1px solid rgba(0,113,227,.15);border-radius:14px;padding:10px 15px;margin:8px 15px;font-size:13px;color:#6e6e73}.floating-hint strong{color:#0071e3;display:block;margin-top:5px}.object-palette{display:flex;flex-direction:column;height:100%;overflow:hidden}.palette-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.08);background:#f5f5f7;flex-shrink:0}.tab-btn{flex:1;padding:10px 8px;border:none;background:transparent;font-size:12px;font-weight:500;color:#86868b;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}.tab-btn:hover{background:#00000008}.tab-btn.active{color:#0071e3;background:#fff;border-bottom:2px solid #0071e3;margin-bottom:-1px}.tab-icon{font-size:14px}.tab-content{flex:1;overflow-y:auto;padding:12px}.size-panel{background:#f5f5f7;border-radius:10px;padding:10px;margin-bottom:12px}.size-preview{font-family:JetBrains Mono,monospace;color:#0071e3;background:#0071e314;padding:2px 8px;border-radius:6px;font-size:11px}.size-sliders label{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;color:#64748b}.size-sliders label span:first-child{width:20px}.size-sliders input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#e2e8f0;border-radius:2px}.size-sliders input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#0ea5e9;border-radius:50%;cursor:pointer}.size-val{width:24px;text-align:right;font-family:JetBrains Mono,monospace;font-weight:600;color:#334155}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.material-card{display:flex;flex-direction:column;align-items:center;padding:10px 6px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .15s;position:relative}.material-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.material-card.float{border-color:#86efac}.material-card.float:hover{background:#f0fdf4}.material-card.sink{border-color:#fca5a5}.material-card.sink:hover{background:#fef2f2}.material-card.suspend{border-color:#fde047}.material-card.suspend:hover{background:#fefce8}.object-palette .material-card:active{transform:scale(.97)}.material-icon-box{width:32px;height:32px;border-radius:6px;border:2px solid;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.material-icon-inner{width:18px;height:18px;border-radius:3px}.material-icon-box.icon-hook,.material-icon-box.icon-pingpong,.material-icon-box.icon-bucket,.material-icon-box.icon-beaker{border-radius:50%}.card-info{text-align:center}.card-name{display:block;font-size:11px;font-weight:600;color:#334155;margin-bottom:2px}.card-density{font-size:10px;color:#64748b;font-family:JetBrains Mono,monospace}.card-badge{position:absolute;top:4px;right:4px;font-size:9px;padding:1px 5px;border-radius:8px;font-weight:700}.badge-float{background:#dcfce7;color:#16a34a}.badge-sink{background:#fee2e2;color:#dc2626}.badge-suspend{background:#fef9c3;color:#ca8a04}.custom-section{margin-top:8px}.custom-toggle{width:100%;padding:8px;border:1px dashed #cbd5e1;border-radius:6px;background:#fafafa;color:#64748b;font-size:12px;cursor:pointer;transition:all .2s}.custom-toggle:hover{background:#f1f5f9;border-color:#94a3b8}.custom-input-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:10px;background:#f8fafc;border-radius:6px}.custom-input-group input[type=number]{width:80px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.custom-input-group .unit{font-size:11px;color:#64748b;align-self:center}.add-custom-btn{padding:6px 12px;background:#0071e3;color:#fff;border:none;border-radius:8px;font-size:12px;cursor:pointer;transition:all .15s}.add-custom-btn:hover{filter:brightness(1.05)}.density-hint{width:100%;font-size:11px;color:#64748b;margin-top:4px}.liquid-info-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:11px;color:#64748b}.liquid-progress{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.liquid-fill{height:100%;background:#0071e3;transition:width .3s}.liquid-grid{display:flex;flex-direction:column;gap:8px}.liquid-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .15s}.liquid-card:hover{background:color-mix(in srgb,var(--liquid-color) 10%,white);border-color:var(--liquid-color);transform:translate(3px)}.liquid-icon-box{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.liquid-info{flex:1}.liquid-name{display:block;font-size:12px;font-weight:600;color:#334155}.liquid-density{font-size:10px;color:#64748b}.liquid-density-bar{width:40px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.density-indicator{height:100%;background:var(--liquid-color)}.liquid-tips{margin-top:16px;padding:10px;background:#0071e30a;border-radius:10px;border:1px solid rgba(0,113,227,.1)}.tip-item{font-size:11px;color:#6e6e73;margin-bottom:4px}.tip-item:last-child{margin-bottom:0}.current-section{margin-bottom:16px}.current-section h4{font-size:12px;font-weight:600;color:#475569;margin-bottom:8px;display:flex;align-items:center;gap:6px}.count-badge{font-size:10px;background:#0071e314;color:#0071e3;padding:1px 6px;border-radius:8px}.layer-hint{font-size:10px;font-weight:400;color:#94a3b8}.empty-hint{display:flex;flex-direction:column;align-items:center;padding:20px;color:#94a3b8;font-size:12px}.empty-icon{font-size:28px;margin-bottom:8px;opacity:.5}.current-list{display:flex;flex-direction:column;gap:6px}.current-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f5f5f7;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.current-item.held{border-color:#fde047;background:#fefce8}.current-item.free{border-color:#86efac;background:#f0fdf4}.item-color-block{width:24px;height:24px;border-radius:4px;flex-shrink:0}.liquid-block{border-radius:50%}.item-info{flex:1;min-width:0}.item-name{display:block;font-size:12px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-detail{font-size:10px;color:#64748b}.height-slider{width:50px}.item-remove-btn{width:22px;height:22px;border:none;background:#fee2e2;color:#dc2626;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-remove-btn:hover{background:#fecaca}.clear-all-btn{width:100%;padding:10px;border:1px solid #fca5a5;border-radius:6px;background:#fff;color:#dc2626;font-size:12px;cursor:pointer;transition:all .2s}.clear-all-btn:hover:not(:disabled){background:#fef2f2}.clear-all-btn:disabled{opacity:.5;cursor:not-allowed}.palette-tools-row{display:flex;gap:8px;margin-bottom:12px}.palette-tools-row .stack-btn{flex:1;background:#57534e}.palette-tools-row .stack-btn:hover{box-shadow:0 2px 8px #57534e59}.palette-tools-row .stack-btn.active{background:#1d1d1f;box-shadow:0 0 0 2px #57534e59}.stack-btn{display:inline-flex;align-items:center;gap:4px;background:#0071e3;color:#fff;border:none;padding:8px 14px;border-radius:10px;cursor:pointer;font-size:13px;transition:all .15s}.stack-btn:hover{filter:brightness(1.05);box-shadow:0 2px 8px #0071e34d}.stack-btn.active{background:#1d1d1f}.ai-assistant-panel{position:fixed;bottom:160px;right:24px;width:360px;max-height:480px;background:#fff;border-radius:22px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;z-index:999;overflow:hidden}.ai-panel-header{padding:12px 16px;background:#0071e3;color:#fff;display:flex;justify-content:space-between;align-items:center;font-weight:600}.ai-panel-header button{background:#fff3;border:none;color:#fff;padding:4px 10px;border-radius:12px;cursor:pointer;font-size:12px}.ai-chat-header-actions{display:flex;align-items:center;gap:6px}.ai-panel-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;max-height:320px;background:#f8fafc}.ai-msg{padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;max-width:85%}.ai-msg.user{background:#0071e3;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.ai-msg.ai{background:#fff;border:1px solid #e5e7eb;align-self:flex-start;border-bottom-left-radius:4px}.ai-msg.typing{color:#9ca3af;font-style:italic}.ai-panel-input{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e7eb}.ai-panel-input input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:20px;font-size:13px}.ai-panel-input input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.ai-panel-input button{padding:10px 18px;background:#0071e3;color:#fff;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:all .15s}.ai-panel-input button:disabled{opacity:.5}.component-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.component-editor{background:#fff;border-radius:12px;padding:20px;width:340px;max-width:90vw;box-shadow:0 20px 40px #0003}.component-editor h3{margin:0 0 16px;font-size:16px}.editor-field{margin-bottom:12px}.editor-field label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.editor-field input{width:100%;padding:8px 10px;border:1px solid #d4d4d8;border-radius:6px;font-size:14px}.editor-field input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.editor-row{display:flex;gap:10px}.editor-row .editor-field{flex:1}.calculation-preview{background:#eff6ff;padding:10px;border-radius:6px;margin:12px 0;font-size:12px;color:#1e40af}.editor-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.cancel-btn{padding:8px 16px;background:#f1f5f9;border:1px solid #d4d4d8;border-radius:6px;cursor:pointer}.save-btn{padding:8px 16px;background:#0071e3;color:#fff;border:none;border-radius:10px;cursor:pointer;font-weight:600;transition:all .15s}@media (max-width: 900px){.buoyancy-calc-panel{max-height:200px}.buoyancy-calc-panel.expanded{max-height:180px}.panel-header{padding:8px 12px;font-size:13px}.panel-content{padding:8px 12px;max-height:140px}.results-grid{grid-template-columns:1fr;gap:8px}.object-result-card{padding:8px}.obj-name{font-size:12px}.data-row{font-size:11px}.display-options{flex-wrap:wrap;gap:8px;padding:6px 12px}.display-options label{font-size:11px}.density-guide{flex-direction:column;padding:10px 12px;gap:10px}.guide-steps{flex-wrap:wrap;gap:6px}.guide-step{padding:4px 8px;min-width:0}.step-num{width:18px;height:18px;font-size:10px}.step-title{font-size:10px}.step-desc{display:none}.guide-actions{width:100%;justify-content:center}.guide-actions button{flex:1;max-width:200px}.stack-mode-panel{flex-direction:column;gap:10px;margin:6px 10px;padding:10px}.stack-info{flex-direction:column;gap:6px;text-align:center}.stacked-group-info,.rope-connections-panel{margin:6px 10px;padding:8px 12px}.stacked-group-info .group-data{flex-wrap:wrap;gap:8px;font-size:11px}.floating-hint{margin:6px 10px;padding:8px 12px;font-size:12px}.ai-assistant-panel{width:calc(100vw - 32px);right:16px;bottom:140px}}@media (max-width: 768px){.advanced-buoyancy-lab{height:100vh}}@media (max-width: 480px){.guide-step{padding:3px 6px}.step-title{font-size:9px}.results-grid{gap:6px}.data-row{font-size:10px}}.advanced-buoyancy-lab .palette-tabs,.advanced-buoyancy-lab .tab-btn,.advanced-buoyancy-lab .panel-header,.advanced-buoyancy-lab .panel-header span,.advanced-buoyancy-lab .card-density,.advanced-buoyancy-lab .item-name,.advanced-buoyancy-lab .item-detail,.advanced-buoyancy-lab .item-info,.advanced-buoyancy-lab .liquid-info,.advanced-buoyancy-lab .liquid-info-bar,.advanced-buoyancy-lab .liquid-density,.advanced-buoyancy-lab .current-item,.advanced-buoyancy-lab .card-info,.advanced-buoyancy-lab .dim-row,.advanced-buoyancy-lab .stat-row,.advanced-buoyancy-lab .read-row,.advanced-buoyancy-lab .info-row,.advanced-buoyancy-lab .data-row,.advanced-buoyancy-lab .data-item{white-space:nowrap}.advanced-buoyancy-lab .buoyancy-calc-panel h4,.advanced-buoyancy-lab .density-guide p,.advanced-buoyancy-lab .tip-item,.advanced-buoyancy-lab .buoyancy-calc-panel .panel-header,.advanced-buoyancy-lab .buoyancy-calc-panel .card-header,.advanced-buoyancy-lab .buoyancy-calc-panel .obj-name,.advanced-buoyancy-lab .buoyancy-calc-panel .state-badge,.advanced-buoyancy-lab .buoyancy-calc-panel .stack-badge,.advanced-buoyancy-lab .buoyancy-calc-panel .data-row{white-space:normal}.advanced-friction-lab{display:flex;flex-direction:column;height:100%;background:#f5f5f7}.friction-2d-editor{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.friction-2d-editor-placeholder,.friction-3d-preview-placeholder{text-align:center;color:#6e6e73;font-size:13px;max-width:420px}.friction-2d-editor-placeholder p,.friction-3d-preview-placeholder p{margin:8px 0}.friction-2d-editor-list{list-style:none;padding:0;margin:12px 0;text-align:left}.friction-2d-editor-list li{padding:8px 12px;background:#f5f5f7;border-radius:8px;margin-bottom:6px;font-size:12px}.advanced-friction-lab .af-btn{padding:8px 16px;background:#0071e3;border:none;border-radius:8px;color:#fff;font-size:13px;cursor:pointer}.advanced-friction-lab .af-editor{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.advanced-friction-lab .af-fbd{background:#f4f7fb;border:1px solid rgba(0,0,0,.06);border-radius:14px;overflow:hidden;box-shadow:inset 0 1px 3px #0000000a}.advanced-friction-lab .af-fbd-svg{display:block;width:100%;height:auto}.advanced-friction-lab .af-fbd-empty{padding:28px 18px;text-align:center;color:#6e6e73;font-size:13px}.advanced-friction-lab .af-fbd-empty p{margin:6px 0}.advanced-friction-lab .af-fbd-hint{font-size:11px;color:#86868b}.advanced-friction-lab .af-fbd-caption{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#ffffffb3;border-top:1px solid rgba(0,0,0,.05)}.advanced-friction-lab .af-fbd-legend{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;background:#fff}.advanced-friction-lab .af-fbd-legend.N{color:#1d9e6f;border:1px solid rgba(29,158,111,.3)}.advanced-friction-lab .af-fbd-legend.W{color:#e05252;border:1px solid rgba(224,82,82,.3)}.advanced-friction-lab .af-fbd-legend.F{color:#0071e3;border:1px solid rgba(0,113,227,.3)}.advanced-friction-lab .af-fbd-legend.f{color:#c2622e;border:1px solid rgba(194,98,46,.3)}.advanced-friction-lab .af-editor-header{font-size:14px;font-weight:600;color:#1d1d1f}.advanced-friction-lab .af-add-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:8px 14px;background:#0071e3;border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.advanced-friction-lab .af-add-btn:hover{filter:brightness(1.05)}.advanced-friction-lab .af-object{padding:12px;background:#f5f5f7;border:1px solid rgba(0,0,0,.06);border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.advanced-friction-lab .af-object:hover{border-color:#0071e366}.advanced-friction-lab .af-object.selected{background:#eaf2fe;border-color:#0071e3;box-shadow:0 1px 6px #0071e333}.advanced-friction-lab .af-object-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:8px}.advanced-friction-lab .af-del{display:inline-flex;align-items:center;padding:4px 6px;background:transparent;border:none;border-radius:6px;color:#86868b;cursor:pointer}.advanced-friction-lab .af-del:hover{color:#ff3b30;background:#ff3b301a}.advanced-friction-lab .af-param{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px;color:#6e6e73;margin-bottom:6px}.advanced-friction-lab .af-param label{color:#86868b;white-space:nowrap}.advanced-friction-lab .af-param input[type=range]{width:100%}.advanced-friction-lab .af-param select,.advanced-friction-lab .af-param button{padding:4px 8px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;font-size:12px;color:#1d1d1f;cursor:pointer}.advanced-friction-lab .af-param button:hover{border-color:#0071e3;color:#0071e3}.advanced-friction-lab .af-readout{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(0,0,0,.08);font-family:JetBrains Mono,monospace;font-size:11px;color:#1d1d1f}.advanced-friction-lab .friction-3d-preview{border-radius:14px;overflow:hidden}.friction-3d-preview{flex:1;display:flex;align-items:center;justify-content:center;color:#c7cad1}.advanced-friction-lab .friction-sidebar-panel{margin-bottom:20px}.advanced-friction-lab .friction-sidebar-panel h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}.advanced-friction-lab .friction-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6e6e73;padding:6px 0;border-bottom:1px dashed rgba(0,0,0,.05)}.advanced-friction-lab .friction-stat-row strong{color:#1d1d1f}.advanced-friction-lab .friction-stat-row,.advanced-friction-lab .friction-force-row,.advanced-friction-lab .friction-force-head{white-space:nowrap}.advanced-friction-lab .friction-live-panel{margin-bottom:20px}.advanced-friction-lab .friction-live-panel h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}.adv-canvas-wrap .af-editor{flex:1;min-height:0}.advanced-mech-energy-lab{display:flex;flex-direction:column;height:100%;background:#f5f5f7}.adv-canvas-wrap .mech-energy-2d-canvas{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc}.mech-energy-2d-canvas-svg{max-width:100%;height:auto}.mech-energy-2d-canvas-hint{margin-top:8px;font-size:12px;color:#86868b}.mech-energy-2d-editor{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.mech-energy-status-card,.mech-energy-param-panel,.mech-energy-derive-card{padding:14px 16px;background:#f5f5f7;border-radius:12px}.mech-energy-status-card h4,.mech-energy-param-panel h4,.mech-energy-derive-card h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}.mech-energy-stat-row,.mech-energy-read-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6e6e73;padding:6px 0;border-bottom:1px dashed rgba(0,0,0,.05)}.mech-energy-stat-row strong,.mech-energy-read-row strong{color:#1d1d1f;font-family:JetBrains Mono,monospace}.mech-energy-read-row.highlight{font-weight:600;color:#0071e3;margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.08);border-bottom:0}.mech-energy-read-row.highlight strong{color:#0071e3}.mech-energy-param{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;color:#6e6e73;margin-bottom:10px}.mech-energy-param label{color:#86868b;font-size:12px;white-space:nowrap}.mech-energy-param input[type=range]{width:100%}.mech-energy-param select,.mech-energy-param button{padding:6px 10px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff;font-size:12px;color:#1d1d1f;cursor:pointer}.mech-energy-param button:hover:not(:disabled){border-color:#0071e3;color:#0071e3}.mech-energy-editor-hint,.mech-energy-3d-hint{margin:10px 0 0;font-size:11px;color:#9ca3af;border-top:1px dashed rgba(0,0,0,.08);padding-top:8px}.mech-energy-2d-editor .mech-energy-panel{padding:14px 16px;background:#f5f5f7;border-radius:12px}.mech-energy-2d-editor .mech-energy-panel h4{margin:0 0 12px;font-size:13px;color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:8px}.mech-energy-2d-editor .mech-energy-mode-switch{display:flex;gap:8px}.mech-energy-2d-editor .mech-energy-mode-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;font-size:12px;font-weight:500;color:#6e6e73;cursor:pointer;transition:all .15s}.mech-energy-2d-editor .mech-energy-mode-btn:hover:not(:disabled){border-color:#0071e380;color:#1d1d1f}.mech-energy-2d-editor .mech-energy-mode-btn.active{background:#0071e3;border-color:#0071e3;color:#fff}.mech-energy-2d-editor .mech-energy-mode-btn:disabled{opacity:.5;cursor:not-allowed}.mech-energy-2d-editor .mech-energy-action-row{display:flex;gap:8px}.mech-energy-2d-editor .mech-energy-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.mech-energy-2d-editor .mech-energy-action.primary{background:#34c759;color:#fff}.mech-energy-2d-editor .mech-energy-action.reset{background:#6e6e73;color:#fff}.mech-energy-2d-editor .mech-energy-action:hover:not(:disabled){filter:brightness(1.05)}.mech-energy-2d-editor .mech-energy-action:disabled{opacity:.5;cursor:not-allowed}.mech-energy-2d-editor .mech-energy-caption{margin:10px 0 0;font-size:11px;color:#9ca3af;border-top:1px dashed rgba(0,0,0,.08);padding-top:8px}.mech-energy-2d-editor .mech-energy-bars{margin-top:8px;display:flex;flex-direction:column;gap:6px}.mech-energy-2d-editor .mech-energy-bar-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#6e6e73}.mech-energy-2d-editor .mech-energy-bar-key{display:inline-flex;align-items:center;gap:6px}.mech-energy-2d-editor .mech-energy-bar-key i{width:10px;height:10px;border-radius:3px;display:inline-block}.mech-energy-2d-editor .mech-energy-bar-val{font-family:JetBrains Mono,monospace;color:#1d1d1f}.mech-energy-2d-editor .mech-energy-bar-track{height:8px;border-radius:4px;background:#00000014;overflow:hidden}.mech-energy-2d-editor .mech-energy-bar-track span{display:block;height:100%;border-radius:4px;transition:width .4s ease}.mech-energy-3d-preview{flex:1;position:relative;color:#c7cad1}.mech-energy-3d-hud{position:absolute;top:12px;left:12px;z-index:10;pointer-events:none;font-family:JetBrains Mono,monospace;-webkit-user-select:none;user-select:none}.mech-energy-3d-hud-status{display:inline-block;background:#0f172aeb;color:#fbbf24;padding:6px 10px;border-radius:8px 8px 0 0;font-size:12px;font-weight:700;letter-spacing:.5px}.mech-energy-3d-hud-card{background:#0f172aeb;color:#e2e8f0;padding:12px 14px;border-radius:0 10px 10px;min-width:220px;border:1px solid rgba(255,255,255,.08)}.mech-energy-3d-hud-title{color:#f8fafc;font-weight:700;font-size:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}.mech-energy-3d-bar-row{margin-bottom:8px}.mech-energy-3d-bar-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:4px}.mech-energy-3d-bar-key{display:inline-flex;align-items:center;gap:6px;color:#cbd5e1}.mech-energy-3d-bar-key i{width:10px;height:10px;border-radius:3px;display:inline-block}.mech-energy-3d-bar-val{font-family:JetBrains Mono,monospace;color:#f8fafc}.mech-energy-3d-bar-track{height:8px;border-radius:4px;background:#ffffff1f;overflow:hidden}.mech-energy-3d-bar-track span{display:block;height:100%;border-radius:4px;transition:width .4s ease}.mech-energy-3d-read-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#cbd5e1;padding:5px 0;border-bottom:1px dashed rgba(255,255,255,.08)}.mech-energy-3d-hud-note{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;color:#94a3b8}.mech-energy-3d-chip{display:inline-flex;align-items:center;gap:6px;background:#0f172ad9;color:#93c5fd;padding:5px 10px;border-radius:999px;font-size:11px;font-family:system-ui,sans-serif;white-space:nowrap}.mech-energy-3d-chip-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3b82f6;box-shadow:0 0 6px #3b82f6e6;animation:mech-dot-pulse 2s ease-in-out infinite}@keyframes mech-dot-pulse{0%,to{opacity:.6}50%{opacity:1}}.mech-energy-3d-preview-placeholder{text-align:center;color:#c7cad1;font-size:13px;max-width:340px}.mech-energy-3d-preview-placeholder p{margin:8px 0}.mech-energy-3d-preview-placeholder svg{opacity:.7}.mech-energy-2d-canvas-svg text{font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.mech-energy-2d-canvas-svg .mech-trail{fill:none;stroke:#c7d2fe;stroke-width:3;stroke-linecap:round;stroke-dasharray:5 5}.mech-energy-2d-canvas-svg .mech-spring-coil{fill:none;stroke:#64748b;stroke-width:2;stroke-linejoin:round}.mech-energy-2d-canvas-svg .mech-equilibrium{stroke:#94a3b8;stroke-width:1;stroke-dasharray:4 4}.adv-canvas-wrap .mech-energy-2d-canvas{background:#fbfdff}.mech-energy-2d-editor .mech-energy-panel{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e6ebf0;box-shadow:0 1px 3px #0000000d}.mech-energy-2d-editor .mech-energy-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;padding:6px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.mech-energy-2d-editor .mech-energy-toggle input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#0071e3;cursor:pointer}.mech-energy-2d-editor .mech-energy-toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.mech-energy-2d-editor .mech-energy-bar-track{background:#00000014}.mech-energy-2d-editor .mech-energy-bar-ek{background:#0071e3}.mech-energy-2d-editor .mech-energy-bar-ep{background:#34c759}.mech-energy-3d-preview,.mech-energy-3d-hud{color:#334155}.mech-energy-3d-hud-status{background:#0071e3;color:#fff}.mech-energy-3d-hud-card{background:linear-gradient(180deg,#fff,#f8fafc);color:#1e293b;border:1px solid #e6ebf0;border-radius:0 12px 12px;box-shadow:0 4px 14px #1e293b14}.mech-energy-3d-hud-title{color:#1d1d1f;border-bottom:1px solid rgba(0,0,0,.08)}.mech-energy-3d-bar-key{color:#475569}.mech-energy-3d-bar-val{color:#1d1d1f}.mech-energy-3d-bar-track{background:#00000014}.mech-energy-3d-read-row{color:#475569;border-bottom:1px dashed rgba(0,0,0,.08)}.mech-energy-3d-hud-note{color:#64748b;border-top:1px solid rgba(0,0,0,.08)}.mech-energy-3d-chip{box-shadow:0 2px 8px #0f172a40}.exam-summary-container{flex:1;padding:24px 24px 80px;max-width:1200px;margin:0 auto;width:100%}.summary-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border-radius:var(--radius-md, 14px);border:1px solid var(--border-light, rgba(0,0,0,.08));cursor:pointer;transition:all .25s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft, 0 2px 10px rgba(0,0,0,.08))}.stat-card.active{border-color:var(--primary, #0071e3);background:#0071e30a;box-shadow:var(--shadow-soft, 0 2px 10px rgba(0,0,0,.08))}.stat-icon{font-size:32px}.stat-info h4{margin:0 0 4px;font-size:16px;color:var(--text-dark, #1d1d1f)}.stat-info p{margin:0;font-size:12px;color:var(--text-light, #6e6e73)}.summary-search-bar{position:relative;margin-bottom:20px}.summary-search-bar input{width:100%;padding:14px 44px 14px 42px;border:1px solid var(--border-light, rgba(0,0,0,.08));border-radius:var(--radius-sm, 10px);font-size:14px;transition:border-color .2s;background:var(--bg-warm, #f5f5f7)}.summary-search-bar .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-light, #6e6e73);pointer-events:none}.summary-search-bar input:focus{outline:none;border-color:var(--primary, #0071e3);background:#fff}.clear-search{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:var(--bg-inset, #f0f0f2);border-radius:50%;cursor:pointer;font-size:12px;color:var(--text-light, #6e6e73)}.category-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-warm, #f5f5f7);border-radius:var(--radius-sm, 10px);margin-bottom:20px;border-left:4px solid var(--cat-color)}.cat-icon{font-size:28px}.category-header h2{margin:0;font-size:20px;color:var(--text-dark, #1d1d1f);flex:1}.cat-weight{padding:6px 14px;background:#fff;border-radius:20px;font-size:13px;color:var(--text-light, #6e6e73);font-weight:500}.points-list{display:flex;flex-direction:column;gap:16px}.point-card{position:relative;background:#fff;border-radius:var(--radius-sm, 10px);border:1px solid var(--border-light, rgba(0,0,0,.08));overflow:hidden;transition:all .3s}.point-card:hover{box-shadow:var(--shadow-xs, 0 1px 3px rgba(0,0,0,.06))}.point-card.expanded{border-color:var(--point-color);box-shadow:var(--shadow-soft, 0 2px 10px rgba(0,0,0,.08))}.point-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none}.point-header:hover{background:var(--bg-warm, #f5f5f7)}.point-left{display:flex;align-items:center;gap:16px}.point-index{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--point-color);color:#fff;border-radius:var(--radius-sm, 10px);font-size:14px;font-weight:700}.point-title-area h3{margin:0 0 6px;font-size:16px;color:var(--text-dark, #1d1d1f)}.point-tags{display:flex;gap:10px;align-items:center}.freq-tag{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;border:1px solid}.diff-tag{font-size:12px;color:var(--text-light, #6e6e73)}.diff-tag .stars{color:var(--primary, #0071e3);letter-spacing:1px}.expand-icon{font-size:12px;color:var(--text-muted, #86868b);transition:transform .25s}.expand-icon.rotated{transform:rotate(180deg)}.point-formulas{padding:0 20px 16px;display:flex;flex-wrap:wrap;gap:8px}.formula-chip{padding:6px 12px;background:#1d1d1f;color:#fffc;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:13px}.point-detail{padding:16px 20px 20px;border-top:1px dashed var(--border-light, rgba(0,0,0,.08));margin-top:4px;animation:slideDown .25s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{margin-bottom:16px}.detail-section h4{margin:0 0 10px;font-size:14px;color:var(--text-dark, #1d1d1f);display:flex;align-items:center;gap:8px}.vip-lock{padding:2px 8px;background:var(--primary, #0071e3);color:#fff;border-radius:6px;font-size:10px;font-weight:600}.key-points-list,.mistakes-list{margin:0;padding-left:20px}.key-points-list li,.mistakes-list li{font-size:14px;color:var(--text-light, #6e6e73);line-height:1.8;margin-bottom:4px}.mistakes-list li{color:#dc2626}.key-points-list table{width:100%;border-collapse:collapse;margin:8px 0;font-size:13px}.key-points-list th,.key-points-list td{border:1px solid var(--border-light, rgba(0,0,0,.08));padding:6px 10px;text-align:left}.key-points-list th{background:var(--bg-inset, #f0f0f2);font-weight:600;color:var(--text-dark, #1d1d1f)}.key-points-list tr:nth-child(2n){background:var(--bg-warm, #f5f5f7)}.key-point-with-table{list-style:none;margin-left:-20px}.detail-section.blurred .blur-placeholder{padding:16px;background:var(--bg-warm, #f5f5f7);border-radius:var(--radius-sm, 10px);text-align:center;filter:blur(0)}.blur-placeholder p{margin:0;color:var(--text-muted, #86868b);font-size:13px}.tip-section{padding:14px 16px;background:#0071e30a;border-radius:var(--radius-sm, 10px);border-left:4px solid var(--primary, #0071e3)}.tip-section h4{color:var(--primary, #0071e3)}.tip-section p{margin:0;font-size:14px;color:var(--text-dark, #1d1d1f);line-height:1.6}.related-exp{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0071e30a;border-radius:var(--radius-sm, 10px);margin-top:12px}.related-exp span{font-size:13px;color:var(--text-dark, #1d1d1f)}.goto-exp-btn{padding:8px 16px;background:var(--primary, #0071e3);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s}.goto-exp-btn:hover{opacity:.85}.summary-footer{display:flex;justify-content:center;gap:48px;padding:32px 0;margin-top:32px;border-top:1px solid var(--border-light, rgba(0,0,0,.08))}.footer-stat{text-align:center}.footer-num{display:block;font-size:32px;font-weight:700;color:var(--text-dark, #1d1d1f);margin-bottom:4px}.footer-label{font-size:13px;color:var(--text-light, #6e6e73)}@media (max-width: 768px){.exam-summary-container{padding:16px}.summary-stats-row{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px;gap:10px}.stat-icon{font-size:24px}.stat-info h4{font-size:14px}.category-header{flex-wrap:wrap;gap:8px}.category-header h2{font-size:18px}.point-header{padding:14px 16px}.point-index{width:32px;height:32px;font-size:12px}.point-title-area h3{font-size:14px}.point-tags{flex-wrap:wrap;gap:6px}.point-formulas{padding:0 16px 14px}.formula-chip{font-size:12px;padding:4px 10px}.point-detail{padding:0 16px 16px}.summary-footer{gap:24px}.footer-num{font-size:24px}}@media (max-width: 480px){.summary-stats-row{grid-template-columns:1fr}.point-left{flex-direction:column;align-items:flex-start;gap:10px}.point-index{display:none}}.feature-showcase{display:flex;gap:48px;align-items:center;padding:48px;max-width:1100px;margin:0 auto}.feature-showcase.compact{gap:32px;padding:32px 24px}.showcase-cards{position:relative;width:280px;height:260px;flex-shrink:0}.showcase-card{position:absolute;width:240px;height:180px;border-radius:20px;background:#ffffff12;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);overflow:hidden;cursor:pointer;transition:all .5s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(calc(var(--offset) * 20px)) translateY(calc(var(--offset) * 12px)) scale(calc(1 - (abs(var(--offset))*.06)));opacity:calc(1 - (abs(var(--offset))/4));filter:blur(calc(abs(var(--offset))*1px))}@supports not (width: calc(abs(-1)*1px)){.showcase-card{opacity:.6;filter:none}.showcase-card.active{opacity:1}}.showcase-card.active{transform:translate(0) translateY(0) scale(1);opacity:1;filter:none;border-color:var(--color);box-shadow:0 12px 40px #00000059,0 0 0 1px var(--color),0 0 30px #0071e31a}.showcase-card:hover:not(.active){opacity:.9;transform:translate(calc(var(--offset) * 18px)) translateY(calc(var(--offset) * 10px - 4px)) scale(calc(1 - (abs(var(--offset))/25)))}.showcase-card-img{width:160px;height:100px;object-fit:contain;margin-top:16px;transition:transform .4s ease}.showcase-card.active .showcase-card-img{transform:scale(1.05)}.showcase-card-label{font-size:13px;font-weight:600;color:#fffc;margin-top:12px;padding-bottom:14px;text-align:center}.showcase-card.active .showcase-card-label{color:#f5f5f7}.showcase-dots{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:8px}.showcase-dot{width:8px;height:8px;border-radius:50%;background:#fff3;border:none;cursor:pointer;transition:all .3s;padding:0}.showcase-dot.active{width:24px;border-radius:4px;background:var(--color)}.showcase-detail{flex:1;min-width:0;animation:fadeInUp .4s ease}.showcase-detail-header{margin-bottom:16px}.showcase-tag{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:8px}.showcase-detail h3{font-size:28px;font-weight:700;color:#f5f5f7;letter-spacing:-.03em;line-height:1.2;margin:0}.feature-showcase.compact .showcase-detail h3{font-size:22px}.showcase-desc{font-size:15px;color:#ffffff8c;line-height:1.7;margin:0 0 20px}.feature-showcase.compact .showcase-desc{font-size:14px;margin-bottom:14px}.showcase-stat{display:flex;align-items:baseline;gap:10px;margin-bottom:20px;padding:16px 20px;background:#ffffff0a;border-radius:14px;border:1px solid rgba(255,255,255,.06)}.stat-number{font-size:36px;font-weight:800;letter-spacing:-.04em;line-height:1}.feature-showcase.compact .stat-number{font-size:28px}.stat-label{font-size:13px;color:#ffffff80;line-height:1.5}.showcase-quote{margin:0;padding:16px 20px;background:#ffffff08;border-left:3px solid rgba(255,255,255,.1);border-radius:0 12px 12px 0}.showcase-quote p{font-size:14px;color:#ffffffa6;line-height:1.7;margin:0 0 8px;font-style:italic}.showcase-quote cite{font-size:12px;color:#ffffff59;font-style:normal}@media (max-width: 768px){.feature-showcase{flex-direction:column;padding:32px 16px;gap:32px}.showcase-cards{width:100%;height:220px;display:flex;justify-content:center}.showcase-card{width:200px;height:150px;left:50%;margin-left:-100px}.showcase-detail h3{font-size:22px}.stat-number{font-size:28px}}.profile-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:28px 32px 56px;background:linear-gradient(180deg,var(--bg-warm) 0%,#e8e7ee 100%);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;letter-spacing:-.02em;position:relative}.profile-container:before,.profile-container:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.profile-container:before{top:-80px;right:-60px;width:420px;height:420px;background:radial-gradient(circle,#3d88731a,#3d887300 70%)}.profile-container:after{top:380px;left:-140px;width:480px;height:480px;background:radial-gradient(circle,#5ea48914,#5ea48900 70%)}.profile-container>*{position:relative;z-index:1}.profile-header-card{display:flex;align-items:center;gap:24px;padding:32px;background:var(--glass-bg-strong, rgba(255, 255, 255, .55));backdrop-filter:var(--glass-blur-heavy, blur(40px) saturate(200%));-webkit-backdrop-filter:var(--glass-blur-heavy, blur(40px) saturate(200%));border-radius:var(--radius-xl, 22px);color:var(--text-dark);margin-bottom:24px;box-shadow:var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, .08)),inset 0 1px #fff6;border:1px solid var(--glass-border, rgba(255, 255, 255, .5));animation:fadeInUp .4s var(--ease-out) both}.profile-avatar{width:96px;height:96px;background:linear-gradient(135deg,#3d887324,#5ea4891a);border:4px solid transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:44px;transition:transform var(--dur-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1));position:relative;color:var(--text-light);background-clip:padding-box;box-shadow:0 0 0 3px #3d887338,0 8px 24px #3d887324}.profile-avatar:hover{transform:scale(1.06)}.profile-avatar-initial{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#2f6e5a,#3d8873 60%,#6ba88f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:600;letter-spacing:0;border:2px solid rgba(255,255,255,.4)}.profile-avatar.vip-avatar{box-shadow:0 0 0 3px #3d88733d,0 0 22px #3d887333;animation:vipAvatarGlow 3s ease-in-out infinite}@keyframes vipAvatarGlow{0%,to{box-shadow:0 0 0 4px #3d887329,0 0 20px #3d887324}50%{box-shadow:0 0 0 7px #3d887342,0 0 34px #3d88733d}}.profile-info{flex:1;min-width:0}.profile-info h1{font-size:28px;font-weight:700;color:var(--text-dark);margin:0 0 8px;letter-spacing:-.03em}.profile-email{color:var(--text-light);margin:0 0 12px;font-size:14px}.profile-badges{display:flex;gap:10px;flex-wrap:wrap}.badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:5px}.badge.vip{background:linear-gradient(135deg,var(--primary),#5c8f78);color:#fff;box-shadow:0 2px 10px #3d887342}.badge.free,.badge.guest{background:var(--wood-pale);color:var(--text-light)}.badge.grade{background:#3d88731a;color:var(--primary)}.profile-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.logout-ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 22px;border-radius:999px;border:1px solid rgba(255,59,48,.35);background:transparent;color:var(--danger);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.logout-ghost-btn:hover{background:#ff3b3014;border-color:var(--danger)}.logout-ghost-btn:active{transform:scale(.97)}.profile-tabs{display:flex;gap:4px;margin-bottom:24px;background:#0000000a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:4px;border-radius:var(--radius-md, 14px)}.profile-tabs .tab-btn{flex:1;padding:11px 18px;border:none;background:transparent;border-radius:var(--radius-sm, 10px);font-size:14px;font-weight:500;color:var(--text-light);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:all var(--dur-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.profile-tabs .tab-btn:hover{color:var(--text-dark)}.profile-tabs .tab-btn.active{background:#fff;color:var(--text-dark);box-shadow:0 1px 4px #00000014,0 0 0 1px #3d88731a;font-weight:600}.profile-content{background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border-radius:var(--radius-lg, 18px);padding:24px;box-shadow:var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, .08));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));animation:cardStackIn var(--dur-entrance, .6s) var(--ease-out) .1s both}.profile-section-card{padding:22px 24px;margin-bottom:18px;animation:fadeInUp .4s var(--ease-out) both}.profile-section-head{margin:8px 0 14px}.profile-section-head h3{margin:0;font-size:15px;font-weight:600;color:var(--text-dark);letter-spacing:-.01em}.membership-row{display:flex;align-items:center;gap:16px}.membership-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#3d887324,#5ea48924);color:var(--primary);flex-shrink:0}.membership-info{flex:1;min-width:0}.membership-info h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text-dark)}.membership-value{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--text-dark)}.membership-sub{margin:4px 0 0;font-size:12.5px;color:var(--text-light)}.invitation-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ff9f0a24,#ff9f0a0f);color:var(--accent);flex-shrink:0}.invite-desc{margin:4px 0 12px;font-size:13px;line-height:1.7;color:var(--text-medium)}.invite-code-box{background:var(--bg-inset);border:1px solid var(--border-light);padding:10px 16px;border-radius:var(--radius-md, 14px);display:inline-flex;align-items:center;gap:10px}.invite-code-box span{color:var(--text-light);font-size:13px}.invite-code-box strong{font-size:1.3rem;letter-spacing:3px;font-weight:700;color:var(--text-dark);font-variant-numeric:tabular-nums}.invite-copy-btn{background:var(--primary);color:#fff;border:none;border-radius:999px;padding:6px 16px;cursor:pointer;font-size:12.5px;font-weight:600;font-family:inherit;transition:all var(--dur-fast)}.invite-copy-btn:hover{background:var(--primary-dark)}.profile-stats-row{margin-bottom:20px}.profile-stat{flex:1;min-width:150px;display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--bg-card);border:1px solid var(--border-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);transition:transform var(--dur-normal) var(--ease-spring),box-shadow var(--dur-normal) var(--ease-out);animation:cardStackIn .5s var(--ease-out) both}.profile-stat:nth-child(1){animation-delay:0s}.profile-stat:nth-child(2){animation-delay:.05s}.profile-stat:nth-child(3){animation-delay:.1s}.profile-stat:nth-child(4){animation-delay:.15s}.profile-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.profile-stat-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#3d88731a;color:var(--primary);flex-shrink:0}.profile-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-stat-info strong{font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--text-dark);font-variant-numeric:tabular-nums;line-height:1.2}.profile-stat-info span{font-size:12.5px;color:var(--text-light)}.teacher-bind-entry{display:flex;align-items:center;gap:14px;width:100%;text-align:left;margin-bottom:20px;padding:16px 18px;cursor:pointer;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:var(--radius-md, 14px);font-family:inherit;transition:all var(--dur-fast) var(--ease-out)}.teacher-bind-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.teacher-bind-entry-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:#0ea5e9;color:#fff;display:flex;align-items:center;justify-content:center}.teacher-bind-entry-body{flex:1;min-width:0}.teacher-bind-entry-title{display:block;font-size:15px;font-weight:700;color:#0c4a6e}.teacher-bind-entry-desc{display:block;font-size:12px;color:#0369a1;margin-top:3px}.teacher-bind-entry-arrow{color:#0ea5e9;flex-shrink:0;display:flex}.benefits-card h3{margin:0 0 16px;font-size:16px;color:var(--text-dark);font-weight:700;display:flex;align-items:center;gap:7px}.benefits-list{display:flex;flex-direction:column;gap:8px}.benefit-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:var(--radius-sm, 10px);transition:background var(--dur-fast)}.benefit-item:hover{background:var(--bg-panel)}.benefit-name{color:var(--text-dark);font-size:13.5px;font-weight:500}.benefit-status{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.benefit-status.available{color:var(--success)}.benefit-status.limited{color:var(--warning)}.benefit-status.locked{color:var(--text-muted)}.guest-prompt{display:flex;align-items:center;gap:16px;margin-top:8px;padding:20px 24px;background:#ffffffb3;border-radius:var(--radius-md, 14px);border:1px solid var(--glass-border);border-left:4px solid var(--primary);box-shadow:var(--shadow-card)}.prompt-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#ff9f0a24;color:var(--accent);font-size:24px;flex-shrink:0}.prompt-content{flex:1}.prompt-content h4{margin:0 0 4px;color:var(--text-dark);font-weight:600;font-size:15px}.prompt-content p{margin:0;font-size:13px;color:var(--text-light)}.progress-bars{display:flex;flex-direction:column;gap:16px}.progress-item{display:flex;flex-direction:column;gap:8px}.progress-label{display:flex;justify-content:space-between;font-size:13.5px;color:var(--text-dark);align-items:center}.progress-label span:first-child{display:inline-flex;align-items:center;gap:6px;font-weight:500}.progress-label span:last-child{color:var(--text-light);font-size:12.5px}.progress-bar-bg{height:8px;background:var(--bg-inset);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width .6s var(--ease-out)}.locked-overlay,.empty-records,.settings-locked{text-align:center;padding:48px 20px;color:var(--text-light)}.locked-overlay p,.empty-records p,.settings-locked p{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:14px}.records-list{display:flex;flex-direction:column;gap:10px}.record-item{display:flex;align-items:center;gap:16px;padding:14px 16px;background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:var(--radius-sm, 12px);transition:all var(--dur-fast) var(--ease-out)}.record-item:hover{background:var(--bg-panel);transform:translate(3px)}.record-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#3d88731a;color:var(--primary);flex-shrink:0}.record-info{flex:1;min-width:0}.record-info h4{margin:0 0 3px;font-size:14.5px;color:var(--text-dark);font-weight:600}.record-info p{margin:0;font-size:12.5px;color:var(--text-light)}.record-time{font-size:12px;color:var(--text-muted);white-space:nowrap}.teacher-info-section{margin-top:24px;padding:18px;background:#f0f7ff;border-radius:var(--radius-md, 14px);border:1px solid #bbdefb}.teacher-info-section h4{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:15px;color:#0c4a6e}.teacher-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px;font-size:13px;color:var(--text-medium)}.teacher-code-box{padding:12px 14px;background:#fff;border-radius:var(--radius-sm, 10px);display:flex;justify-content:space-between;align-items:center;border:1px dashed #1976d2;flex-wrap:wrap;gap:8px;font-size:13px}.teacher-code-actions{display:flex;align-items:center;gap:8px}.teacher-code{font-size:1.35em;font-weight:700;letter-spacing:3px;background:#e3f2fd;padding:4px 12px;border-radius:8px;color:#1565c0}.tb-copy-btn{cursor:pointer;padding:6px 14px;border:1px solid #1976d2;border-radius:999px;color:#1565c0;background:transparent;font-size:12.5px;font-weight:600;font-family:inherit;transition:all var(--dur-fast)}.tb-copy-btn:hover{background:#1976d2;color:#fff}.tb-section{margin-top:24px;padding:18px 20px;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-md, 14px)}.tb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tb-head h4{margin:0;font-size:15px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:7px}.tb-count{font-size:11.5px;font-weight:600;color:var(--primary);background:#3d88731a;padding:3px 10px;border-radius:999px}.tb-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.tb-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border:1px solid var(--border-soft);border-radius:var(--radius-sm, 10px);gap:10px}.tb-item-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.tb-item-name{font-weight:600;color:var(--text-dark);font-size:13.5px}.tb-item-mail{color:var(--text-muted);font-size:12.5px}.tb-item-class{font-size:12px;color:var(--text-medium);background:var(--bg-inset);padding:2px 8px;border-radius:6px}.tb-unbind-btn{border:none;background:transparent;color:var(--danger);font-size:12.5px;font-weight:600;cursor:pointer;padding:5px 10px;border-radius:8px;font-family:inherit;transition:background var(--dur-fast);flex-shrink:0}.tb-unbind-btn:hover{background:#ff3b3014}.tb-empty{color:var(--text-light);font-size:13px;margin:0 0 14px}.tb-bind-row{display:flex;gap:10px}.tb-code-input{flex:1;padding:9px 14px;font-size:15px;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--border-light);border-radius:999px;background:#fff;color:var(--text-dark);font-family:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.tb-code-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3d887324}.tb-code-input::placeholder{letter-spacing:0;font-size:13px}.tb-msg{margin:10px 0 0;font-size:12.5px;display:flex;align-items:center;gap:6px}.tb-msg.success{color:var(--success)}.tb-msg.error{color:var(--danger)}.settings-card{padding:22px 24px}.auth-error{background:#ff3b3014;border:1px solid rgba(255,59,48,.25);color:var(--danger);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;margin-bottom:14px}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:var(--radius-sm, 12px);margin-bottom:10px}.setting-item:last-child{margin-bottom:0}.setting-item-password{align-items:flex-start;flex-direction:column}.setting-label{min-width:0}.setting-label>span:first-child{font-size:14px;color:var(--text-dark);display:flex;align-items:center;gap:7px;margin-bottom:4px;font-weight:500}.setting-label p{margin:0;font-size:13px;color:var(--text-light)}.setting-btn{padding:7px 16px;background:#fff;border:1px solid var(--border-light);border-radius:999px;font-size:12.5px;color:var(--text-dark);cursor:pointer;font-weight:500;font-family:inherit;transition:all var(--dur-fast);flex-shrink:0}.setting-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.setting-btn:disabled{opacity:.45;cursor:not-allowed}.setting-btn.save{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.setting-btn.save:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.setting-btn.cancel{background:var(--wood-pale);border-color:var(--border-light);color:var(--text-light)}.setting-btn.cancel:hover:not(:disabled){background:var(--bg-inset);color:var(--text-medium)}.setting-btn.danger-outline{border-color:#ff3b3066;color:var(--danger);background:transparent}.setting-btn.danger-outline:hover:not(:disabled){background:#ff3b3014;border-color:var(--danger);color:var(--danger)}.setting-btn.danger{border-color:var(--danger);color:var(--danger);background:transparent}.setting-btn.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.setting-actions{display:flex;gap:8px;flex-shrink:0}.setting-actions-password{margin-top:4px}.setting-input{padding:8px 14px;border:1.5px solid var(--border-light);border-radius:10px;font-size:13.5px;color:var(--text-dark);width:100%;min-width:200px;outline:none;background:#fff;font-family:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.setting-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #3d887324}.password-edit-form{margin-top:12px;display:flex;flex-direction:column;gap:10px;width:min(420px,100%)}.password-code-row{display:flex;gap:10px;align-items:stretch}.code-btn{background:#3d88731a;color:var(--primary);border:1px solid rgba(61,136,115,.26);border-radius:10px;padding:0 16px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;font-family:inherit;transition:all var(--dur-fast)}.code-btn:hover:not(:disabled){background:var(--primary);color:#fff}.code-btn:disabled{opacity:.5;cursor:not-allowed}.delete-card{border:1px solid rgba(255,59,48,.18);background:linear-gradient(180deg,#ff3b3008,#ff3b3004)}.delete-card-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.delete-hint{font-size:12.5px;color:var(--text-muted)}.delete-account-form p{margin:0 0 12px;font-size:13px;color:var(--text-medium)}.delete-account-form .password-code-row{margin-bottom:14px;max-width:420px}.delete-input{flex:1}@media (max-width: 900px){.profile-container{padding:20px 16px 48px}.profile-header-card{flex-direction:column;text-align:center;padding:24px 20px}.profile-actions{flex-direction:row;width:100%;justify-content:center}.profile-tabs .tab-btn{padding:9px 8px;font-size:12.5px}.teacher-info-grid{grid-template-columns:1fr}.profile-stat{min-width:0}.profile-stats-row{flex-direction:column}.setting-item{flex-direction:column;align-items:flex-start}.setting-actions{align-self:flex-end}.password-code-row{flex-direction:column}.code-btn{padding:9px 16px}}.profile-membership-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;margin-bottom:16px;background:#fff;border:1px solid var(--m-border);border-radius:18px;box-shadow:var(--shadow-card)}.pmb-left{display:flex;align-items:center;gap:13px;min-width:0}.pmb-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--m-gold-soft);color:var(--m-gold);flex-shrink:0}.pmb-text h3{font-size:15.5px;font-weight:700;color:var(--m-text);margin:0}.pmb-text p{font-size:12px;color:var(--m-text-3);margin:3px 0 0}.pmb-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.pmb-progress{display:flex;flex-direction:column;gap:5px;min-width:200px}.pmb-progress-label{font-size:11.5px;color:var(--m-text-3)}.pmb-progress-label b{color:var(--m-gold);font-weight:700}.pmb-bar{height:6px;border-radius:999px;background:var(--m-gold-soft);overflow:hidden}.pmb-bar span{display:block;height:100%;border-radius:999px;background:var(--m-gold)}.pmb-btn{padding:9px 18px;background:#fff;border:1px solid var(--m-border);border-radius:999px;color:var(--m-text-2);font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.pmb-btn:hover{border-color:var(--m-green-soft);color:var(--m-green-dark)}.learning-overview-card{margin-bottom:16px}.po-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.po-head h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--m-text);margin:0}.po-head h3 svg{color:var(--m-green)}.po-filter{font-size:12px;color:var(--m-text-3)}.po-tabs{display:flex;gap:18px;padding-bottom:10px;border-bottom:1px solid var(--m-border);margin-bottom:12px}.po-tab{font-size:12.5px;color:var(--m-text-3);cursor:default}.po-tab.active{color:var(--m-green-dark);font-weight:650;position:relative}.po-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--m-green);border-radius:999px}.po-overall-label{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--m-text-2);margin-bottom:6px}.po-overall-label b{font-size:14px;color:var(--m-green-dark);font-weight:700}.po-overall-bar{height:7px;border-radius:999px;background:var(--m-green-fill-2);overflow:hidden;margin-bottom:16px}.po-overall-bar span{display:block;height:100%;border-radius:999px;background:var(--m-gradient)}.po-progress-list{display:flex;flex-direction:column;gap:10px}.po-progress-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:13px;background:var(--m-green-fill);border:1px solid var(--m-border)}.po-row-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.po-row-info{flex:1;min-width:0}.po-row-info strong{font-size:13.5px;font-weight:650;color:var(--m-text);display:block}.po-row-info p{font-size:11.5px;color:var(--m-text-3);margin:2px 0 0}.po-row-report{flex-shrink:0}.po-report-status{font-size:11.5px;font-weight:600}.po-report-status.done{color:var(--m-green)}.po-report-status.progress{color:var(--m-gold)}.po-report-status.new{color:var(--m-text-3)}.po-row-btn{flex-shrink:0;padding:7px 15px;background:#fff;border:1px solid var(--m-border);border-radius:999px;color:var(--m-green-dark);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.po-row-btn:hover{border-color:var(--m-green)}.tab-content.overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:20px;align-items:start}.tab-content.overview>:not(.profile-rail){grid-column:1;min-width:0}.profile-rail{grid-column:2;grid-row:1 / span 10;display:flex;flex-direction:column;gap:16px;min-width:0;width:320px}.rail-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.rail-card-head h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--m-text);margin:0}.rail-card-head span{font-size:11.5px;color:var(--m-text-3)}.rail-more{border:none;background:transparent;color:var(--m-green);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;padding:3px 6px;border-radius:8px}.rail-more:hover{background:var(--m-green-fill)}.account-list{display:flex;flex-direction:column;gap:6px}.account-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--m-border)}.account-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--m-green-fill);color:var(--m-green);flex-shrink:0}.account-info{flex:1;min-width:0}.account-info strong{display:block;font-size:12.5px;font-weight:650;color:var(--m-text)}.account-info p{margin:1px 0 0;font-size:11.5px;color:var(--m-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-edit{flex-shrink:0;border:1px solid var(--m-border);background:#fff;color:var(--m-green-dark);font-size:11.5px;font-weight:600;padding:5px 13px;border-radius:999px;cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.account-edit:hover:not(:disabled){border-color:var(--m-green-soft)}.account-edit:disabled{opacity:.55;cursor:default}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.achievement-col{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;border-radius:14px;text-align:center;background:#fff;border:1px solid var(--m-border)}.achievement-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--m-green-fill);color:var(--m-green)}.achievement-icon.star{background:var(--m-gold-soft);color:var(--m-gold)}.achievement-icon.bookmark{background:#5ea4892e;color:var(--m-green-dark)}.achievement-col strong{font-size:16px;font-weight:800;color:var(--m-text)}.achievement-col p{font-size:11px;color:var(--m-text-3);margin:0}.profile-rail .lc-calendar{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--m-border);box-shadow:var(--shadow-card)}@media (max-width: 1080px){.tab-content.overview{grid-template-columns:1fr}.profile-rail{grid-column:1;grid-row:auto}}.profile-container{background:#eef1ef;padding:28px 36px 56px}.profile-container:before,.profile-container:after{display:none}.profile-container .profile-header-card{display:flex;align-items:center;gap:24px;padding:30px 34px;background:linear-gradient(115deg,#f2faf7,#fff 46%);border:1px solid #e6f1ed;border-radius:20px;box-shadow:0 6px 22px #2c7a6312;animation:none;margin-bottom:22px}.profile-container .profile-avatar{width:92px;height:92px;background:#fff;border:0;box-shadow:0 0 0 5px #dff3ed;animation:none}.profile-container .profile-avatar:hover{transform:none}.profile-container .profile-avatar-initial{width:80px;height:80px;background:linear-gradient(145deg,#36b39b,#209881);font-size:32px;font-weight:700;border:0}.profile-container .profile-info h1{font-size:26px;font-weight:800;letter-spacing:-.02em;color:#26352f;margin:0 0 6px;display:flex;align-items:center;gap:10px}.profile-container .profile-email{font-size:13px;color:#6b7a73;margin:0 0 12px}.profile-container .profile-badges{display:flex;gap:8px;flex-wrap:wrap}.profile-container .badge{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.profile-container .badge.vip{background:linear-gradient(135deg,#2f6e5a,#4a9d86);color:#fff;box-shadow:0 2px 8px #3d887342}.profile-container .badge.free,.profile-container .badge.guest{background:#eef3f0;color:#5c6b64}.profile-container .badge.grade{background:#e8f3ee;color:#2f6e5a}.profile-container .logout-ghost-btn{border:1px solid #e6ece9;color:#5c6b64;background:#fff}.profile-container .logout-ghost-btn:hover{border-color:#ff3b3080;color:#e0483a;background:#fff6f5}.profile-container .profile-tabs{display:flex;gap:4px;margin-bottom:22px;background:#fff;border:1px solid #e6f1ed;padding:5px;border-radius:14px}.profile-container .profile-tabs .tab-btn{padding:10px 18px;font-size:13.5px;color:#6b7a73;border-radius:10px;gap:6px}.profile-container .profile-tabs .tab-btn.active{background:#e8f3ee;color:#2f6e5a;font-weight:650;box-shadow:none}.profile-container .profile-tabs .tab-btn.active svg{color:#2f6e5a}.profile-container .profile-content{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:0;padding:0;animation:none}.profile-container .profile-section-card,.profile-container .profile-membership-bar{background:#fff;border:1px solid #e6f1ed;border-radius:18px;box-shadow:0 4px 16px #2c7a630d;animation:none}.profile-container .profile-section-card{padding:20px 22px;margin-bottom:18px}.profile-container .learning-overview-card{margin-bottom:18px}.profile-container .po-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-container .po-head h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:750;color:#26352f;margin:0}.profile-container .po-head svg{color:#3d8873}.profile-container .po-filter{font-size:12px;color:#8a968f}.profile-container .po-tabs{display:flex;gap:20px;padding-bottom:10px;border-bottom:1px solid #eef1f0;margin-bottom:14px}.profile-container .po-tab{font-size:12.5px;color:#8a968f;cursor:default}.profile-container .po-tab.active{color:#2f6e5a;font-weight:650;position:relative}.profile-container .po-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:#3d8873;border-radius:999px}.profile-container .po-overall-label{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:#5c6b64;margin-bottom:7px}.profile-container .po-overall-label b{font-size:14px;color:#2f6e5a;font-weight:750}.profile-container .po-overall-bar{height:8px;border-radius:999px;background:#e8f3ee;overflow:hidden;margin-bottom:18px}.profile-container .po-overall-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f6e5a,#4a9d86)}.profile-container .po-progress-list{display:flex;flex-direction:column;gap:10px}.profile-container .po-progress-row{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:14px;background:#f7faf9;border:1px solid #eef1f0}.profile-container .po-row-thumb{width:62px;height:62px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#fff}.profile-container .po-row-thumb img{width:100%;height:100%;object-fit:cover}.profile-container .po-row-info{flex:1;min-width:0}.profile-container .po-row-info strong{font-size:14px;font-weight:700;color:#26352f;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .po-row-info p{font-size:12px;color:#8a968f;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .po-row-progress{width:min(26%,150px);flex-shrink:0}.profile-container .po-row-label{font-size:11.5px;color:#8a968f;display:flex;justify-content:space-between;margin-bottom:5px}.profile-container .po-row-label b{color:#2f6e5a;font-weight:700}.profile-container .po-row-bar{height:6px;border-radius:999px;background:#e8f3ee;overflow:hidden}.profile-container .po-row-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3d8873,#6ba88f)}.profile-container .po-row-report{flex-shrink:0}.profile-container .po-report-pill{display:inline-flex;align-items:center;gap:3px;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:600}.profile-container .po-report-pill.done{background:#e8f3ee;color:#2f6e5a}.profile-container .po-report-pill.progress{background:#fdf6e3;color:#a8842c}.profile-container .po-report-pill.new{background:#f1f3f2;color:#8a968f}.profile-container .po-row-btn{flex-shrink:0;padding:7px 15px;background:#fff;border:1px solid #dce9e4;border-radius:999px;color:#2f6e5a;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.profile-container .po-row-btn:hover{border-color:#3d8873}.profile-container .recommend-card .po-head{margin-bottom:14px}.profile-container .pf-recommend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 1200px){.profile-container .pf-recommend-grid{grid-template-columns:repeat(2,1fr)}}.profile-container .pf-rec-card{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;border-radius:14px;background:#fff;border:1px solid #eef1f0;transition:transform .24s var(--ease-out),box-shadow .24s var(--ease-out)}.profile-container .pf-rec-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2c7a631a}.profile-container .pf-rec-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.profile-container .pf-rec-card h4{font-size:13.5px;font-weight:700;color:#26352f;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .pf-rec-card p{font-size:11.5px;color:#8a968f;margin:0}.profile-container .pf-rec-foot{margin-top:6px;display:flex;align-items:center;justify-content:space-between}.profile-container .pf-rec-tag{padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:600;background:#e8f3ee;color:#2f6e5a}.profile-container .pf-rec-tag.course{background:#e8eef6;color:#48648a}.profile-container .pf-rec-score{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:700;color:#c9a227}.profile-container .ai-report-card{margin-bottom:16px}.profile-container .ai-report-hero{display:flex;align-items:flex-end;gap:12px;background:linear-gradient(135deg,#f2faf7,#fff 60%);border:1px solid #e6f1ed;border-radius:14px;padding:16px 16px 14px}.profile-container .ai-report-copy{flex:1;min-width:0}.profile-container .ai-report-lead{font-size:13.5px;color:#26352f;margin:0 0 3px}.profile-container .ai-report-lead b{color:#2f6e5a;font-size:18px;font-weight:800}.profile-container .ai-report-sub{font-size:12px;color:#8a968f;margin:0 0 10px}.profile-container .ai-report-chips{display:flex;flex-wrap:wrap;gap:6px}.profile-container .ai-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;background:#fff;border:1px solid #e6f1ed;font-size:11px;color:#6b7a73}.profile-container .ai-chip b{color:#2f6e5a;font-weight:650}.profile-container .ai-report-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 4px 12px #3d88732e}.profile-container .ai-report-avatar img{width:100%;height:100%;object-fit:cover}.profile-container .pmb-icon{width:46px;height:46px;border-radius:14px;background:#fdf6e3;color:#c9a227}.profile-container .pmb-text h3{font-size:15.5px;font-weight:750;color:#26352f}.profile-container .pmb-bar{background:#fdf6e3}.profile-container .pmb-bar span{background:linear-gradient(90deg,#c9a227,#e3c65f)}.profile-container .pmb-btn{border:1px solid #dce9e4;color:#2f6e5a}.profile-container .membership-icon,.profile-container .invitation-icon{width:46px;height:46px;border-radius:14px}.profile-container .membership-icon{background:#e8f3ee;color:#3d8873}.profile-container .invitation-icon{background:#eef2f9;color:#5b7fb4}.profile-container .rail-card-head h3{font-size:15px;font-weight:750;color:#26352f}.profile-container .rail-card-head h3 svg{color:#3d8873}.profile-container .rail-more{color:#3d8873}.profile-container .account-item{background:#f7faf9;border-color:#eef1f0;border-radius:12px}.profile-container .account-icon{background:#e8f3ee;color:#3d8873}.profile-container .account-edit{border:1px solid #dce9e4;color:#2f6e5a}.profile-container .achievement-col{background:#f7faf9;border-color:#eef1f0;border-radius:14px}.profile-container .achievement-icon{background:#e8f3ee;color:#3d8873}.profile-container .achievement-icon.star{background:#fdf6e3;color:#c9a227}.profile-container .achievement-icon.bookmark{background:#eef2f9;color:#5b7fb4}.profile-container .profile-rail .lc-calendar{background:#fff;border:1px solid #eef1f0;box-shadow:none}.profile-container .benefit-item{background:#f7faf9;border-color:#eef1f0;border-radius:10px}.profile-container .benefit-name{color:#26352f}.profile-container .benefit-status.available{color:#2f6e5a}.profile-container .benefit-status.limited{color:#a8842c}.profile-container .benefit-status.locked{color:#9aa8a2}.profile-container .profile-stat{background:#fff;border:1px solid #e6f1ed;border-radius:16px;box-shadow:0 4px 16px #2c7a630d;animation:none}.profile-container .profile-stat:hover{transform:none;box-shadow:0 8px 22px #2c7a631a}.profile-container .profile-stat-icon{background:#e8f3ee;color:#3d8873;border-radius:12px}.profile-container .profile-stat-info strong{font-size:25px;font-weight:800;color:#26352f}.profile-container .profile-stat-info span{color:#8a968f}@media (min-width: 1100px){.profile-container .tab-content.overview{grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:20px}.profile-container .recommend-card{grid-column:1}}@media (max-width: 1100px){.profile-container .tab-content.overview{grid-template-columns:1fr}}.profile-container .guest-prompt{background:#fff;border:1px solid #eef1f0;border-left:4px solid #3d8873;box-shadow:none}.profile-container .settings-card{background:#fff;border:1px solid #eef1f0}.profile-container .setting-item{background:#f7faf9;border-color:#eef1f0}.profile-container .setting-btn{background:#fff;border-color:#dce9e4;color:#5c6b64}.profile-container .setting-btn.save{background:#3d8873;border-color:#3d8873;color:#fff}.profile-container .setting-btn.danger-outline{border-color:#ff3b3066;color:#e0483a}.profile-container .delete-card{border:1px solid rgba(255,59,48,.18);background:#fffaf9}@media (max-width: 640px){.profile-container{padding:20px 16px 56px}.profile-container .profile-header-card{flex-direction:column;text-align:center;padding:24px 20px}.profile-container .profile-actions{flex-direction:row;width:100%;justify-content:center}.profile-container .profile-tabs .tab-btn{padding:9px 8px;font-size:12px}}.profile-container .overview-stats{margin-bottom:18px;gap:16px}.profile-container .overview-duo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:18px;align-items:stretch;margin-bottom:18px}@media (max-width: 1100px){.profile-container .overview-duo{grid-template-columns:1fr}}.profile-container .overview-duo .profile-section-card{margin-bottom:0;display:flex;flex-direction:column}.profile-container .overview-duo .benefits-list{flex:1}.profile-container .benefit-item{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#f7faf9;border:1px solid #eef1f0;border-radius:12px}.profile-container .benefit-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f3ee;color:#3d8873;flex-shrink:0}.profile-container .benefit-name{flex:1;min-width:0;text-align:left}.profile-container .learning-paths-card .po-head{margin-bottom:14px}.profile-container .learning-paths-list{display:flex;flex-direction:column;gap:14px;flex:1}.profile-container .learning-path-row{display:flex;align-items:center;gap:12px}.profile-container .lp-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#e8f3ee;color:#3d8873;box-shadow:0 0 0 4px #f0f7f4}.profile-container .lp-info{flex:1;min-width:0}.profile-container .lp-info strong{font-size:13.5px;font-weight:700;color:#26352f;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .lp-info p{font-size:11.5px;color:#8a968f;margin:3px 0 0}.profile-container .lp-progress{display:flex;align-items:center;gap:10px;width:42%;min-width:120px;flex-shrink:0}.profile-container .lp-bar{flex:1;height:5px;border-radius:999px;background:#e8f3ee;overflow:hidden}.profile-container .lp-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3d8873,#6ba88f);min-width:8px}.profile-container .lp-progress b{font-size:12.5px;font-weight:700;color:#2f6e5a}.profile-container .recent-records-card{margin-bottom:18px}.profile-container .recent-records-list{display:flex;flex-direction:column;gap:10px}.profile-container .recent-record-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:14px;background:#f7faf9;border:1px solid #eef1f0}.profile-container .rr-thumb{width:58px;height:50px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#fff}.profile-container .rr-thumb img{width:100%;height:100%;object-fit:cover}.profile-container .rr-info{flex:1;min-width:0}.profile-container .rr-info strong{font-size:13.5px;font-weight:700;color:#26352f;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .rr-info p{font-size:11.5px;color:#8a968f;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-container .rr-time{flex-shrink:0;font-size:11.5px;color:#94a39c;white-space:nowrap}@media (min-width: 1100px){.profile-container .tab-content.overview{grid-template-columns:minmax(0,1fr) minmax(284px,300px);gap:18px}}.subscribe-container{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--bg-warm);width:100%}.sub-page{width:100%;max-width:1080px;margin:0 auto;padding:24px 24px 48px;animation:fadeIn .5s ease}.sub-sec-head{text-align:center;margin-bottom:22px}.sub-sec-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--primary);background:#0071e314;border-radius:var(--radius-full);padding:4px 12px;margin-bottom:10px}.sub-sec-head h2{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-dark)}.sub-sec-head p{margin:0;font-size:13px;color:var(--text-light)}.sub-hero{position:relative;padding:26px 28px 24px;border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);overflow:hidden;margin-bottom:22px;animation:fadeInUp .5s var(--ease-out)}.sub-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(480px 260px at 12% -6%,rgba(0,113,227,.09),transparent 60%),radial-gradient(520px 280px at 92% 0%,rgba(88,86,214,.08),transparent 60%),radial-gradient(360px 200px at 55% 110%,rgba(255,159,10,.05),transparent 60%)}.sub-hero-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.sub-hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--primary);background:#0071e314;border-radius:var(--radius-full);padding:5px 14px}.sub-hero-title{margin:0;font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.25;color:var(--text-dark);background:linear-gradient(135deg,#1d1d1f 55%,#5856d6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sub-hero-sub{margin:0;max-width:560px;font-size:14px;line-height:1.7;color:var(--text-light)}.sub-hero-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:780px;margin-top:8px}.sub-feat-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--border-light);box-shadow:var(--shadow-xs);transition:all var(--dur-normal) var(--ease-out);text-align:left}.sub-feat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.sub-feat-img{flex-shrink:0;width:52px;height:52px;border-radius:14px;background:var(--bg-card);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;overflow:hidden}.sub-feat-img img{width:34px;height:34px;object-fit:contain}.sub-feat-body{min-width:0}.sub-feat-body strong{display:block;font-size:13px;font-weight:700;color:var(--text-dark);margin-bottom:2px}.sub-feat-body span{font-size:11.5px;color:var(--text-light);line-height:1.5;display:block}.sub-status{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:7px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:600}.sub-status.pending{background:#0071e314;border:1px solid rgba(0,113,227,.25);color:var(--primary)}.sub-status.activated{background:#34c7591a;border:1px solid rgba(52,199,89,.28);color:#1d8a44}.sub-status.not-logged-in{background:#94a3b81f;border:1px solid rgba(148,163,184,.35);color:#64748b}.sub-plans{padding:28px 24px;border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin-bottom:20px}.sub-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.sub-plan-card{position:relative;display:flex;flex-direction:column;padding:24px 22px;border-radius:var(--radius-lg);background:var(--bg-subtle);border:1px solid var(--border-light);box-shadow:var(--shadow-xs);animation:fadeInUp .45s var(--ease-out);transition:transform var(--dur-normal) var(--ease-out),box-shadow var(--dur-normal) var(--ease-out)}.sub-plan-card:nth-child(2){animation-delay:.06s}.sub-plan-card:nth-child(3){animation-delay:.12s}.sub-plan-card.featured{background:linear-gradient(180deg,#fffffff2,#f6f7ff);border:1.5px solid transparent;background-clip:padding-box;box-shadow:0 0 0 1.5px transparent,var(--shadow-medium),0 18px 44px #0071e32e;transform:translateY(-6px) scale(1.015);z-index:1}.sub-plan-card.featured:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg),0 22px 52px #0071e338}.sub-plan-card.featured:before{content:"";position:absolute;top:-1.5px;right:-1.5px;bottom:-1.5px;left:-1.5px;border-radius:var(--radius-lg);padding:1.5px;background:linear-gradient(135deg,#0071e3,#5856d6 45%,#4da3ff);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:0}.sub-plan-chip{position:absolute;top:-12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),#5856d6);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #0071e359;z-index:2}.sub-plan-mini-tag{font-size:10.5px;font-weight:600;color:var(--text-light);background:#0000000d;padding:2px 8px;border-radius:var(--radius-full)}.sub-plan-head h3{margin:0 0 2px;font-size:16px;font-weight:700;color:var(--text-dark)}.sub-plan-price{display:flex;align-items:baseline;gap:7px;margin:10px 0 2px}.sub-plan-price strong{font-size:30px;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,var(--primary),#5856d6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sub-plan-card:not(.featured) .sub-plan-price strong{background:none;-webkit-text-fill-color:var(--text-dark);background-clip:unset}.sub-plan-price span{font-size:12px;color:var(--text-light)}.sub-plan-desc{margin:0;font-size:12.5px;color:var(--text-light);line-height:1.6}.sub-plan-feats{list-style:none;margin:16px 0 20px;padding:0;display:flex;flex-direction:column;gap:8px;flex:1}.sub-plan-feats li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-medium);line-height:1.5}.sub-plan-feats li svg{color:var(--success);flex-shrink:0}.sub-plan-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px 16px;border-radius:var(--radius-full);border:none;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.sub-plan-btn.primary{background:linear-gradient(135deg,var(--primary),#4d7cf0);color:#fff;box-shadow:0 4px 14px #0071e34d}.sub-plan-btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0071e36b}.sub-plan-btn.ghost{background:var(--bg-card);color:var(--text-medium);border:1px solid var(--border-light)}.sub-plan-btn.ghost:hover{background:#fff;color:var(--primary);border-color:var(--primary)}.sub-activate{padding:30px 32px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin-bottom:20px;scroll-margin-top:24px}.sub-input-section,.sub-activated-box,.sub-login-hint{text-align:center}.sub-input-section h3,.sub-activated-box h3,.sub-login-hint h3{margin:10px 0 8px;font-size:1.1rem;color:var(--text-dark);font-weight:700}.sub-activated-box p,.sub-login-hint p{margin:0 0 18px;font-size:.88rem;color:var(--text-light)}.sub-activated-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#0071e31f,#5856d61a);color:var(--primary);margin-bottom:4px}.sub-code-input{display:flex;gap:12px;max-width:560px;margin:18px auto 0}.sub-code-input input{flex:1;padding:13px 18px;border-radius:var(--radius-md);border:1px solid var(--border-light);font-size:16px;letter-spacing:.12em;background:#fff;color:var(--text-dark);outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:inherit;text-transform:uppercase}.sub-code-input input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0071e326}.sub-code-input input::placeholder{color:var(--text-muted);letter-spacing:normal}.sub-activate-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 28px;border:none;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary),#4d7cf0);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);font-family:inherit;white-space:nowrap;box-shadow:0 4px 14px #0071e34d}.sub-activate-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px #0071e366}.sub-activate-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.sub-referral{border-top:1px solid var(--border-light);margin-top:26px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.sub-ref-info h4{margin:0 0 4px;font-size:.95rem;color:var(--text-dark)}.sub-ref-info p{margin:0;font-size:.85rem;color:var(--text-light)}.sub-copy-btn{padding:11px 22px;border:1px solid var(--primary);border-radius:var(--radius-full);background:transparent;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast);font-family:inherit;flex-shrink:0}.sub-copy-btn:hover{background:#0071e314;transform:translateY(-1px)}.sub-compare{padding:28px 24px 20px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin-bottom:20px}.sub-compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sub-compare-table{min-width:640px;width:100%;border-collapse:collapse}.sub-cmp-header,.sub-cmp-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-light)}.sub-cmp-header{background:var(--bg-inset);font-weight:600;font-size:13px;color:var(--text-light);border-radius:var(--radius-md) var(--radius-md) 0 0;text-transform:uppercase;letter-spacing:.03em}.sub-cmp-row:last-child{border-bottom:none}.sub-cmp-row{transition:background var(--dur-fast)}.sub-cmp-row:hover{background:var(--bg-inset)}.sub-cmp-cell{text-align:center;font-size:14px;color:var(--text-medium)}.sub-cmp-cell.feature{text-align:left;font-weight:500;color:var(--text-dark)}.sub-cmp-cell.vip{color:var(--primary);font-weight:600}.sub-cmp-cell svg{vertical-align:middle}.sub-faq{padding:28px 24px;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);margin-bottom:20px}.sub-faq-list{display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto}.sub-faq-item{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-subtle);overflow:hidden;transition:box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.sub-faq-item.open{border-color:#0071e34d;box-shadow:var(--shadow-soft)}.sub-faq-q{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;background:transparent;border:none;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-dark);cursor:pointer;text-align:left}.sub-faq-q:hover{color:var(--primary)}.sub-faq-chevron{transition:transform var(--dur-normal) var(--ease-spring);flex-shrink:0;color:var(--text-muted)}.sub-faq-item.open .sub-faq-chevron{transform:rotate(90deg);color:var(--primary)}.sub-faq-a{margin:0;padding:0 18px 14px;font-size:13px;line-height:1.8;color:var(--text-light);animation:fadeInUp .3s var(--ease-out)}.sub-bottom-cta{padding:34px 28px;border-radius:var(--radius-xl);background:linear-gradient(135deg,#1d1d1f,#2c2c31);color:#f5f5f7;box-shadow:var(--shadow-lg);margin-bottom:20px;text-align:center}.sub-bottom-cta-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.sub-bottom-cta h2{margin:0;font-size:21px;font-weight:700;letter-spacing:-.02em}.sub-bottom-cta p{margin:0 0 6px;font-size:13px;color:#a1a1a6}.sub-trust{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--text-light)}.sub-trust svg{color:var(--primary)}@media (max-width: 900px){.sub-hero-cards{grid-template-columns:1fr;max-width:420px}.sub-plan-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.sub-plan-card.featured{transform:none}.sub-plan-card.featured:hover{transform:translateY(-4px)}.sub-hero-title{font-size:26px}}@media (max-width: 768px){.sub-page{padding:14px 14px 40px}.sub-hero{padding:30px 18px 22px}.sub-hero-title{font-size:24px}.sub-hero-sub{font-size:12.5px}.sub-feat-card{padding:12px 14px}.sub-plans,.sub-compare,.sub-faq{padding:22px 16px}.sub-plan-card{padding:20px 18px}.sub-code-input{flex-direction:column}.sub-code-input input{text-align:center}.sub-activate-btn{justify-content:center;padding:13px 24px;width:100%}.sub-referral{flex-direction:column;align-items:stretch;text-align:center}.sub-copy-btn{width:100%}.sub-compare-table{min-width:600px}.sub-faq-q{font-size:13px}}.boot-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;transition:opacity 1s cubic-bezier(.25,.46,.45,.94);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Noto Sans SC,sans-serif}.boot-screen.fade-out{opacity:0;pointer-events:none}.boot-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/design/login-bg.png) center / cover no-repeat}.boot-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ffffff29,#f0f4fa47)}.boot-orb-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.boot-orb{width:180px;height:180px;border-radius:50%;overflow:hidden;box-shadow:0 0 60px #3d887380,0 0 140px #5856d64d;transform:scale(1);animation:orbBreath 2s ease-in-out infinite;transition:transform 1.2s cubic-bezier(.25,.46,.45,.94),opacity 1.2s cubic-bezier(.25,.46,.45,.94)}.boot-orb img{width:100%;height:100%;object-fit:cover}.boot-orb.spread{transform:scale(6);opacity:0;pointer-events:none}@keyframes orbBreath{0%,to{transform:scale(1);box-shadow:0 0 60px #3d887380,0 0 140px #5856d64d}50%{transform:scale(1.04);box-shadow:0 0 80px #3d887394,0 0 180px #5856d666}}.boot-window{position:relative;z-index:2;width:400px;max-width:calc(100vw - 32px);background:#ffffffd1;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:0 20px 60px #0000002e,inset 0 1px #ffffff80;padding:28px 28px 24px;transform:scale(.9) translateY(16px);opacity:0;transition:transform .9s cubic-bezier(.34,1.56,.64,1),opacity .9s cubic-bezier(.25,.46,.45,.94)}.boot-window.open{transform:scale(1) translateY(0);opacity:1}.boot-user-select{display:flex;flex-direction:column;gap:18px}.boot-window-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.boot-logo{width:64px;height:64px;border-radius:50%;overflow:hidden;box-shadow:0 6px 20px #3d887352}.boot-logo img{width:100%;height:100%;object-fit:cover}.boot-window-head h1{font-size:20px;font-weight:800;color:var(--text-dark);margin:0;letter-spacing:-.02em}.boot-window-head p{font-size:12px;color:var(--text-muted);margin:0}.boot-user-options{display:flex;flex-direction:column;gap:10px}.boot-option-card{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:16px;background:var(--bg-card);border:1px solid var(--border-light);cursor:pointer;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.boot-option-card:hover{transform:translateY(-2px);border-color:#3d887352;box-shadow:var(--shadow-soft)}.boot-option-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.boot-option-icon.primary{background:#3d887324;color:var(--primary)}.boot-option-icon.neutral{background:#5ea48929;color:#2f6e5a}.boot-option-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.boot-option-text strong{font-size:14.5px;font-weight:700;color:var(--text-dark)}.boot-option-text span{font-size:12px;color:var(--text-muted)}.boot-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-muted);text-align:center}.boot-hint svg{color:var(--primary)}.boot-form-card{position:relative;display:flex;flex-direction:column;gap:12px}.boot-back-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-muted);font-size:12.5px;font-family:inherit;cursor:pointer;align-self:flex-start;padding:3px 6px;border-radius:8px}.boot-back-btn:hover{color:var(--text-dark);background:var(--bg-inset)}.boot-form-error{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);color:#c0392b;font-size:12.5px}.boot-form-error svg{flex-shrink:0;color:var(--danger)}.boot-form-panel{display:flex;flex-direction:column;gap:12px}.boot-form-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.boot-form-logo-mini{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#3d88731f;color:var(--primary)}.boot-form-head h2{font-size:17px;font-weight:800;color:var(--text-dark);margin:0}.boot-form-head p{font-size:12px;color:var(--text-muted);margin:0}.boot-role-toggle{display:flex;justify-content:center}.boot-field{display:flex;flex-direction:column;gap:5px}.boot-field-label{font-size:12px;color:var(--text-medium);font-weight:600}.boot-field-star{color:var(--danger);margin-left:2px}.boot-field-control{display:flex}.boot-field-row{display:flex;gap:12px}.boot-field-row>.boot-field{flex:1}.boot-input{width:100%;padding:10px 13px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-card);color:var(--text-dark);font-size:13.5px;font-family:inherit;outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.boot-input:focus{border-color:#3d88736b;box-shadow:var(--shadow-glow)}.boot-input::placeholder{color:var(--text-muted)}.boot-email-row{display:flex;gap:8px}.boot-email-row .boot-input{flex:1}.boot-code-btn{flex-shrink:0;border:1px solid rgba(61,136,115,.32);background:#3d88731a;color:var(--primary);font-size:12.5px;font-weight:600;font-family:inherit;padding:0 12px;border-radius:12px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.boot-code-btn:hover{background:#3d887324}.boot-code-btn:disabled{opacity:.5;cursor:not-allowed}.boot-submit-btn{width:100%;padding:12px;border:none;border-radius:13px;background:linear-gradient(135deg,#3d8873,#5c8f78);color:#fff;font-size:15px;font-weight:700;font-family:inherit;letter-spacing:.05em;cursor:pointer;box-shadow:0 6px 18px #3d887352;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.boot-submit-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #3d887366}.boot-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.boot-form-links{display:flex;justify-content:space-between;gap:8px}.boot-link{border:none;background:transparent;color:var(--primary);font-size:12.5px;font-family:inherit;cursor:pointer;padding:4px 6px}.boot-link.danger{color:var(--text-muted)}.boot-link:hover{text-decoration:underline}.boot-welcome{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0;text-align:center}.boot-welcome-avatar{width:76px;height:76px;border-radius:50%;overflow:hidden;box-shadow:0 10px 30px #3d887352}.boot-welcome-avatar img{width:100%;height:100%;object-fit:cover}.boot-welcome h2{font-size:20px;font-weight:800;color:var(--text-dark);margin:0}.boot-welcome-name{font-size:15px;color:var(--text-medium);margin:0}.boot-welcome-dots{display:flex;gap:4px}.boot-welcome-dots span{color:var(--primary);animation:welcomeDot 1.2s infinite}.boot-welcome-dots span:nth-child(2){animation-delay:.2s}.boot-welcome-dots span:nth-child(3){animation-delay:.4s}@keyframes welcomeDot{0%,to{opacity:.2}50%{opacity:1}}.boot-welcome-loading{font-size:12.5px;color:var(--text-muted);margin:0}.boot-toast{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;background:#22c55eeb;color:#fff;font-size:13px;font-weight:600;box-shadow:0 8px 24px #0003}.boot-toast.error{background:#ef4444eb}@media (max-height: 720px){.boot-window{padding:20px 22px}.boot-orb{width:140px;height:140px}}.mistakes-page{max-width:1120px;margin:0 auto;padding:32px 36px 80px;color:#183b42}.mistakes-hero{display:flex;justify-content:space-between;align-items:end;background:linear-gradient(135deg,#effcf9,#f7fffd);border:1px solid #d7efeb;border-radius:24px;padding:30px 34px;margin-bottom:20px}.eyebrow{font-size:13px;color:#2a9d8f}.mistakes-hero h1{font-size:28px;margin:10px 0 8px}.mistakes-hero p{color:#6d8589;margin:0}.hero-action{background:#1f9d8b;color:#fff;border:0;border-radius:12px;padding:13px 18px;font-weight:600}.hero-action b{font-size:20px;margin-left:6px}.mistake-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.mistake-stats div{background:#fff;border:1px solid #e2eeee;border-radius:16px;padding:18px 22px}.mistake-stats b{display:block;font-size:28px;color:#147d70}.mistake-stats span{font-size:13px;color:#789094}.mistake-toolbar{display:flex;gap:12px;margin:18px 0}.mistake-toolbar input,.mistake-toolbar select{border:1px solid #d8e8e7;border-radius:10px;background:#fff;padding:11px 14px;color:#34565b}.mistake-toolbar input{flex:1}.mistake-list{display:grid;gap:12px}.mistake-row{background:#fff;border:1px solid #e0eceb;border-radius:16px;padding:18px 20px;cursor:pointer;transition:.2s}.mistake-row:hover{border-color:#6fc9bc;box-shadow:0 8px 24px #1a8f7e14}.row-top,.row-bottom{display:flex;align-items:center;gap:12px;color:#809396;font-size:12px}.row-top em{margin-left:auto;font-style:normal}.tag{background:#e9f8f5;color:#178273;border-radius:6px;padding:4px 8px}.state.due{color:#e47740}.state.mastered{color:#159178}.mistake-row h3{font-size:16px;font-weight:600;margin:14px 0;color:#24484e}.row-bottom button{margin-left:auto;border:0;background:none;color:#168f80;font-weight:600}.review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#123c3d55;display:grid;place-items:center;padding:20px;z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.review-modal{background:#fff;border-radius:20px;max-width:560px;width:100%;max-height:min(80vh,680px);display:flex;flex-direction:column;box-shadow:0 24px 70px #133c3c4d}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid #eef3f2}.modal-head-title{display:flex;align-items:center;gap:10px}.modal-exp{font-size:12.5px;color:#809396}.modal-head button{border:0;background:none;font-size:26px;line-height:1;color:#8aa5a4;cursor:pointer;width:32px;height:32px;border-radius:8px}.modal-head button:hover{background:#f2f8f7;color:#34565b}.modal-body-inner{padding:20px 22px 22px;overflow-y:auto}.review-modal h2{margin:4px 0 10px;color:#24484e}.question{line-height:1.7;color:#36575c}.review-modal textarea{width:100%;min-height:120px;border:1px solid #d8e8e7;border-radius:12px;padding:13px;resize:vertical;color:#34565b;font-family:inherit}.review-modal details{margin:14px 0;background:#f5fbfa;padding:12px;border-radius:10px;color:#46666a}.review-modal summary{cursor:pointer;font-weight:600;color:#178273}.rating{display:flex;gap:10px;margin-top:18px}.rating button,.redo,.mistakes-empty button{flex:1;padding:11px;border-radius:9px;border:1px solid #cde3e0;background:#fff;color:#477;cursor:pointer}.rating .primary,.mistakes-empty button{background:#198f80;color:#fff;border-color:#198f80}.redo{width:100%;margin-top:12px}.mistakes-empty{text-align:center;padding:100px 20px}.mistakes-empty p{color:#799}.mistakes-empty button{padding:12px 24px;border-radius:10px;border:0}@media (max-width:700px){.mistakes-page{padding:20px 16px}.mistakes-hero{display:block}.hero-action{margin-top:20px}.mistake-toolbar{flex-wrap:wrap}.mistake-toolbar input{flex-basis:100%}}.reports-overview{width:100%;max-width:100%;display:flex;flex-direction:column;gap:18px;animation:lcContentIn .4s var(--lc-ease-out) both}.ro-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.ro-head-text h2{font-size:20px;font-weight:800;color:var(--m-text);margin:0 0 3px;letter-spacing:-.02em}.ro-head-text p{font-size:12.5px;color:var(--m-text-3);margin:0}.ro-head-actions{display:flex;gap:8px}.ro-select,.ro-date{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid var(--m-border);border-radius:999px;font-size:12.5px;font-weight:550;color:var(--m-text-2);cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.ro-select:hover,.ro-date:hover{border-color:var(--m-green-soft);color:var(--m-green-dark)}.ro-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width: 1180px){.ro-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.ro-stats{grid-template-columns:1fr}}.ro-stat{background:#fff;border:1px solid var(--m-border);border-radius:16px;padding:16px 16px 12px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;transition:transform var(--dur-normal) var(--ease-spring),box-shadow var(--dur-normal)}.ro-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.ro-stat-label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--m-text-2)}.ro-stat-label svg{color:var(--m-green)}.ro-stat-score{display:flex;align-items:center;gap:10px}.ro-ring{position:relative;width:54px;height:54px;flex-shrink:0}.ro-ring svg{width:100%;height:100%}.ro-ring strong{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:17px;font-weight:800;color:var(--m-text)}.ro-score-right{display:flex;flex-direction:column;gap:2px}.ro-score-grade{font-size:16px;font-weight:700;color:var(--m-green-dark)}.ro-score-hint{font-size:11px;color:var(--m-text-3)}.ro-stat-big{font-size:24px;font-weight:800;color:var(--m-text);letter-spacing:-.02em}.ro-stat-big i{font-size:13px;font-style:normal;font-weight:600;color:var(--m-text-3);margin:0 2px}.ro-stat-sub{font-size:11px;color:var(--m-text-3)}.ro-stat-sub b{color:var(--m-green);font-weight:650}.ro-spark{width:100%;height:26px;margin-top:auto}.ro-section{background:#fff;border:1px solid var(--m-border);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-card)}.ro-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ro-section-head h3{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;color:var(--m-text);margin:0}.ro-section-head h3 svg{color:var(--m-green)}.ro-more{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-size:12px;font-weight:550;color:var(--m-green);cursor:pointer;font-family:inherit}.ro-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 900px){.ro-progress-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.ro-progress-grid{grid-template-columns:1fr}}.ro-progress-card{border:1px solid var(--m-border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ro-pc-head{display:flex;align-items:center;gap:7px}.ro-pc-icon{width:30px;height:30px;border-radius:9px;background:var(--m-green-fill);color:var(--m-green);display:grid;place-items:center}.ro-pc-name{font-size:13.5px;font-weight:650;color:var(--m-text)}.ro-pc-body{display:flex;flex-direction:column;gap:6px}.ro-pc-pct{font-size:12px;color:var(--m-text-3)}.ro-trend{width:100%;height:44px}.ro-pc-done{font-size:11.5px;color:var(--m-text-3);padding-top:6px;border-top:1px solid var(--m-border)}.ro-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}@media (max-width: 900px){.ro-two-col{grid-template-columns:1fr}}.ro-activity{display:flex;flex-direction:column;gap:6px}.ro-activity-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background var(--dur-fast)}.ro-activity-item:hover{background:var(--m-green-fill)}.ro-activity-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.ro-activity-text{flex:1;min-width:0}.ro-activity-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:650;color:var(--m-text)}.ro-activity-acc{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:550;color:var(--m-green)}.ro-activity-cat{font-size:11.5px;color:var(--m-text-3);margin-top:2px}.ro-activity-dur{font-size:12px;color:var(--m-text-2);font-weight:550}.ro-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--m-text-3)}.ro-empty p{margin:0;font-size:13px}.ro-empty-btn{padding:7px 16px;background:var(--m-gradient);color:#fff;border:none;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.ro-radar{display:grid;place-items:center}.ro-radar-svg{width:100%;max-width:260px;height:auto}.ro-ai-banner{display:flex;align-items:center;gap:14px;width:100%;padding:16px 20px;background:linear-gradient(90deg,#3d88731a,#5ea4890f);border:1px solid rgba(61,136,115,.18);border-radius:16px;cursor:pointer;font-family:inherit;text-align:left;transition:transform var(--dur-normal) var(--ease-spring)}.ro-ai-banner:hover{transform:translateY(-2px)}.ro-ai-icon{width:46px;height:46px;border-radius:14px;background:var(--m-green-fill);color:var(--m-green);display:grid;place-items:center;flex-shrink:0}.ro-ai-text{flex:1;display:flex;flex-direction:column;gap:2px}.ro-ai-text strong{font-size:14.5px;font-weight:700;color:var(--m-text)}.ro-ai-text span{font-size:12px;color:var(--m-text-3)}.ro-ai-cta{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;background:#fff;border-radius:999px;font-size:12.5px;font-weight:550;color:var(--m-green-dark);flex-shrink:0}.ro-extra{display:flex;gap:10px}.ro-extra-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;background:var(--m-green-fill);color:var(--m-green-dark);border:none;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.ro-extra-btn:hover{background:var(--m-green-fill-2)}.reports-overview .ro-stat{border:1px solid #eef1f0;border-radius:14px;box-shadow:none;padding:14px 16px 12px}.reports-overview .ro-stat:hover{transform:translateY(-2px);box-shadow:0 6px 16px #30463c14}.reports-overview .ro-stat-label{font-size:12px;color:var(--m-text-2)}.reports-overview .ro-stat-label svg{color:var(--m-green)}.reports-overview .ro-stat-sub{font-size:11px;color:var(--m-text-3)}.reports-overview .ro-stat-sub b{color:var(--m-green)}.reports-overview .ro-section{background:#fff;border:1px solid #eef1f0;border-radius:14px;box-shadow:none}.reports-overview .ro-section-head h3{color:var(--m-text)}.reports-overview .ro-more{color:var(--m-text-2);font-weight:550}.reports-overview .ro-more:hover{color:var(--m-green-dark)}.reports-overview .ro-progress-card{border:1px solid #eef1f0;border-radius:12px}.reports-overview .ro-pc-done{border-top-color:#eef1f0}.reports-overview .ro-pc-name{color:var(--m-text)}.reports-overview .ro-activity-item:hover{background:#f4faf7}.reports-overview .ro-ai-banner{background:linear-gradient(90deg,#4a9d8614,#88bea824);border:1px solid rgba(74,157,134,.18);border-radius:14px}.reports-overview .ro-ai-icon{background:#dff0ea;color:#3f9d83}.reports-overview .ro-ai-cta{border:1px solid rgba(74,157,134,.3);color:var(--m-green-dark)}.reports-overview .ro-study-bar{display:flex;align-items:flex-end;gap:2px;height:22px;width:100%;margin-top:auto}.reports-overview .ro-study-bar i{flex:1;border-radius:2px;background:#dfe6e1}.reports-overview .ro-study-bar i.on{background:#4a9d86}.learning-center .lc-segmented{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:100%;max-width:560px;margin:0;padding:6px;background:#e6efe9;border:1px solid rgba(61,136,115,.12);border-radius:999px}.learning-center .dk-segmented.lc-segmented{background:#e6efe9;padding:6px}.learning-center .lc-segmented .dk-seg-item{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:none;background:transparent;border-radius:999px;color:var(--m-text-2, #5c6b64);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.learning-center .lc-segmented .dk-seg-item:hover{color:var(--m-green-dark, #2f6e5a)}.learning-center .lc-segmented .dk-seg-item.active{background:var(--m-gradient, linear-gradient(135deg, #2f6e5a 0%, #3d8873 55%, #6ba88f 100%));color:#fff;font-weight:650;box-shadow:0 3px 10px #3d887347}.learning-center .lc-segmented .dk-seg-item.active .dk-seg-icon{color:#fff!important}.learning-center .lc-segmented .dk-seg-badge{min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:#ef5350;color:#fff;font-size:11px;font-weight:700}.learning-center .lc-segmented .dk-seg-item.active .dk-seg-badge{background:#ffffffeb;color:#d63f3c}.learning-center{--lc-bg-start: #f5f5f7;--lc-bg-end: #e8e8ed;--lc-glass-bg: rgba(255, 255, 255, .62);--lc-glass-bg-strong: rgba(255, 255, 255, .85);--lc-glass-border: rgba(255, 255, 255, .45);--lc-glass-blur: blur(40px) saturate(180%);--lc-glass-shadow: 0 8px 32px rgba(0, 0, 0, .06);--lc-glass-shadow-hover: 0 16px 48px rgba(0, 0, 0, .1);--lc-text-primary: #1d1d1f;--lc-text-secondary: #6e6e73;--lc-text-muted: #86868b;--lc-accent-blue: #3d8873;--lc-accent-purple: #5c8f78;--lc-accent-green: #34c759;--lc-accent-red: #ff3b30;--lc-accent-orange: #ff9f0a;--lc-radius-xl: 20px;--lc-radius-lg: 14px;--lc-radius-md: 12px;--lc-radius-sm: 8px;--lc-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--lc-ease-out: cubic-bezier(.25, .46, .45, .94);--lc-dur-fast: .2s;--lc-dur-normal: .3s;--lc-dur-enter: .6s;--lc-stagger: 80ms}.learning-center{flex:1;display:flex;flex-direction:column;overflow:visible;min-height:0;position:relative;width:100%;max-width:100%;font-family:-apple-system,SF Pro Display,PingFang SC,Helvetica Neue,sans-serif}.lc-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:#eef1ef;z-index:0}.lc-navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;padding:14px 24px;background:#f5f5f7b8;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06)}.lc-back-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;background:#0000000a;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:var(--lc-text-secondary);font-size:13px;cursor:pointer;transition:all var(--lc-dur-fast)}.lc-back-btn:hover{background:#00000014;color:var(--lc-text-primary)}.lc-nav-title{flex:1}.lc-nav-title h1{font-size:18px;font-weight:700;color:var(--lc-text-primary);margin:0;letter-spacing:-.02em}.lc-nav-greeting{font-size:12px;color:var(--lc-text-muted)}.lc-vip-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;background:linear-gradient(135deg,var(--lc-accent-orange),#ff6723);color:#fff;border:none;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px #ff9f0a66;transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal)}.lc-vip-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 16px #ff9f0a80}.lc-tab-stack{display:flex;justify-content:center;gap:16px;padding:24px 24px 20px;perspective:1200px;position:relative;z-index:10}.lc-tab-card{flex:1;max-width:260px;display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);cursor:pointer;position:relative;transition:all .5s var(--lc-ease-spring);transform-style:preserve-3d;color:var(--lc-text-secondary)}.lc-tab-card.active{background:var(--lc-glass-bg-strong);color:var(--lc-text-primary);box-shadow:0 20px 60px #0000001f;transform:translateZ(40px) scale(1.02);z-index:10;border-color:#fffc}.lc-tab-card.offset-left{transform:translateZ(-20px) translate(-8px) rotateY(3deg) scale(.94);opacity:.6}.lc-tab-card.offset-right{transform:translateZ(-20px) translate(8px) rotateY(-3deg) scale(.94);opacity:.6}.lc-tab-card:hover:not(.active){background:#ffffffb8;opacity:.85;transform:translateZ(-10px) scale(.97)}.tab-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;flex-shrink:0;transition:box-shadow var(--lc-dur-normal)}.lc-tab-card.active .tab-card-icon{box-shadow:0 4px 14px #0003}.tab-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.tab-card-label{font-size:14px;font-weight:700;letter-spacing:-.01em}.tab-card-desc{font-size:11px;opacity:.6}.tab-card-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--lc-accent-red);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:0 5px;box-shadow:0 2px 6px #ff3b3066}.tab-card-vip{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;font-size:9px;font-weight:700;padding:2px 7px;border-radius:6px}.lc-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 26px 40px;scroll-behavior:smooth;position:relative;z-index:1}.lc-content-enter{animation:lcContentIn .4s var(--lc-ease-out) both}@keyframes lcContentIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lc-content>*{animation:lcSpringIn .6s var(--lc-ease-out) both}.lc-content>*:nth-child(1){animation-delay:0ms}.lc-content>*:nth-child(2){animation-delay:80ms}.lc-content>*:nth-child(3){animation-delay:.16s}.lc-content>*:nth-child(4){animation-delay:.24s}.lc-content>*:nth-child(5){animation-delay:.32s}.lc-content>*:nth-child(6){animation-delay:.4s}@keyframes lcSpringIn{0%{opacity:0;transform:translateY(40px) scale(.97)}60%{opacity:1;transform:translateY(-4px) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}.lc-animate{opacity:0;transform:translateY(40px) scale(.97);transition:opacity var(--lc-dur-enter) var(--lc-ease-out),transform var(--lc-dur-enter) var(--lc-ease-spring)}.lc-animate.lc-visible{opacity:1;transform:translateY(0) scale(1)}.lc-glass-card{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:24px;box-shadow:var(--lc-glass-shadow);transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal) var(--lc-ease-out);scroll-snap-align:start;margin-bottom:24px;position:relative;overflow:hidden}.lc-glass-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--lc-glass-shadow-hover)}.lc-glass-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease;pointer-events:none}.lc-glass-card:hover:after{left:100%}.lc-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.lc-card-header h3{font-size:16px;font-weight:700;color:var(--lc-text-primary);margin:0;display:flex;align-items:center;gap:8px}.lc-card-header .lc-header-meta{font-size:12px;color:var(--lc-text-muted)}.lc-guest-prompt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;animation:lcSpringIn .7s var(--lc-ease-out) both;position:relative;z-index:1}.guest-hero{text-align:center;margin-bottom:40px}.guest-icon-wrap{width:120px;height:120px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3d88731f,#5ea4891f);border-radius:32px;animation:floatIdle 3s ease-in-out infinite}@keyframes floatIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.guest-hero h2{font-size:28px;font-weight:800;color:var(--lc-text-primary);letter-spacing:-.03em;margin:0 0 10px}.guest-subtitle{font-size:15px;color:var(--lc-text-secondary);margin:0;letter-spacing:.02em}.guest-cards{display:flex;gap:16px;margin-bottom:36px;flex-wrap:wrap;justify-content:center}.guest-card{width:180px;padding:28px 20px 24px;background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);text-align:center;box-shadow:var(--lc-glass-shadow);transition:transform .4s var(--lc-ease-spring),box-shadow var(--lc-dur-normal);position:relative}.guest-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--lc-glass-shadow-hover)}.guest-card-icon{width:52px;height:52px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:#fff}.guest-card-icon.blue{background:linear-gradient(135deg,var(--m-green),var(--m-green-soft))}.guest-card-icon.red{background:linear-gradient(135deg,#ff3b30,#ff6b6b)}.guest-card-icon.purple{background:linear-gradient(135deg,var(--m-green),var(--m-green-soft))}.guest-card h4{font-size:15px;font-weight:700;color:var(--lc-text-primary);margin:0 0 6px}.guest-card p{font-size:12px;color:var(--lc-text-muted);margin:0}.guest-card.vip-card{border:2px solid rgba(94,164,137,.3)}.vip-chip{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:10px;box-shadow:0 2px 8px #5ea48966}.guest-actions{display:flex;gap:14px}.btn-primary-xl{padding:16px 40px;background:linear-gradient(135deg,var(--lc-accent-blue),var(--lc-accent-purple));color:#fff;border:none;border-radius:var(--lc-radius-lg);font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #3d887359;transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal)}.btn-primary-xl:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px #3d887373}.btn-ghost{padding:16px 32px;background:var(--lc-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--lc-text-secondary);border:1px solid rgba(0,0,0,.08);border-radius:var(--lc-radius-lg);font-size:16px;font-weight:500;cursor:pointer;transition:all var(--lc-dur-fast)}.btn-ghost:hover{background:#ffffffe6;color:var(--lc-text-primary)}.progress-page{max-width:900px;margin:0 auto;width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:20px;text-align:center;box-shadow:var(--lc-glass-shadow);transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal);position:relative;overflow:hidden}.stat-card .stat-content,.stat-card .stat-icon,.stat-card .stat-progress,.stat-card .stat-action{position:relative;z-index:1}.stat-card:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease;pointer-events:none}.stat-card:hover:after{left:100%}.stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--lc-glass-shadow-hover)}.stat-card .stat-icon{font-size:28px;margin-bottom:8px}.stat-card .stat-content{display:flex;flex-direction:column;align-items:center}.stat-card .stat-value{font-size:32px;font-weight:700;color:var(--lc-text-primary);letter-spacing:-.03em}.stat-card .stat-value span,.stat-card .stat-total,.stat-card .stat-unit{font-size:14px;color:var(--lc-text-muted);font-weight:400}.stat-card .stat-label{font-size:13px;color:var(--lc-text-secondary);margin-top:6px}.stat-card.blue,.stat-card.green{border-top:3px solid var(--lc-accent-blue)}.stat-card.orange{border-top:3px solid var(--lc-accent-orange)}.stat-card.red{border-top:3px solid var(--lc-accent-red)}.stat-action{display:inline-block;margin-top:8px;padding:4px 12px;background:#cf6b5a14;color:var(--lc-accent-red);border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:background var(--lc-dur-fast)}.stat-action:hover{background:#ff3b3026}.stat-progress{margin-top:8px}.progress-ring{position:relative;width:48px;height:48px;margin:0 auto}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring .ring-bg{fill:none;stroke:#0000000f;stroke-width:3}.progress-ring .ring-fill{fill:none;stroke:var(--lc-accent-blue);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray 1s var(--lc-ease-out)}.progress-ring span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--lc-text-primary)}.week-chart-card{scroll-snap-align:start}.chart-unit{font-size:12px;color:var(--lc-text-muted);font-weight:400}.week-chart-card .recharts-cartesian-grid-horizontal line,.week-chart-card .recharts-cartesian-grid-vertical line{stroke:#0000000a}.week-chart-card .recharts-text{fill:var(--lc-text-muted);font-size:12px}.chart-empty-hint{text-align:center;padding:24px;color:var(--lc-text-muted);font-size:14px}.chart-empty-hint .btn-start{margin-top:12px;padding:10px 24px;background:var(--lc-accent-blue);color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast)}.chart-empty-hint .btn-start:hover{opacity:.85}.exp-progress-card{scroll-snap-align:start;overflow:visible}.exp-list{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}.lc-card-header{position:relative;z-index:1}.exp-progress-item{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#ffffffe0;border:1px solid rgba(0,0,0,.06);border-radius:var(--lc-radius-lg);transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal)}.exp-progress-item:hover{transform:translate(4px);box-shadow:0 4px 16px #00000014}.exp-progress-item.complete{border-left:3px solid var(--lc-accent-green)}.exp-progress-item .exp-icon{width:44px!important;height:44px!important;min-width:44px;max-width:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;font-size:20px;flex-shrink:0;overflow:hidden;border-bottom:none}.exp-progress-item .exp-info{flex:1;min-width:0}.exp-progress-item .exp-info h4{font-size:14px!important;font-weight:700;color:#1a1a1a!important;margin:0!important}.exp-progress-item .exp-name-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}.exp-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.exp-badge.hot{background:#ff3b301f;color:#e02020}.exp-badge.must{background:#3d88731f;color:#2f6e5a}.exp-badge.hard{background:#ff9f0a1f;color:#c47800}.exp-progress-item .exp-desc,.exp-progress-item .exp-info p{font-size:12px!important;color:#555!important;margin:0;line-height:1.5!important}.exp-stats{display:flex;gap:16px}.exp-stat{text-align:center;min-width:48px}.exp-stat .stat-num{display:block;font-size:15px;font-weight:700;color:#1a1a1a}.exp-stat .stat-label{font-size:11px;color:#666}.exp-status{min-width:64px;text-align:center}.status-complete{color:#1b9e3e;font-size:13px;font-weight:600}.status-progress{color:#06c;font-size:13px;font-weight:600}.status-new{color:#777;font-size:13px}.exp-action-btn{padding:8px 16px;background:var(--lc-accent-blue);color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast);flex-shrink:0}.exp-action-btn:hover{opacity:.85}.achievements-card{scroll-snap-align:start}.achievement-count{font-size:13px;color:var(--lc-text-muted);font-weight:600}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.achievement-badge{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff6;border:1px solid rgba(255,255,255,.3);border-radius:var(--lc-radius-lg);transition:all var(--lc-dur-normal) var(--lc-ease-spring);position:relative}.achievement-badge:hover{transform:scale(1.02)}.achievement-badge.unlocked{background:#ffffffb3;border-color:#34c7594d}.achievement-badge.unlocked .badge-icon{background:linear-gradient(135deg,var(--lc-accent-green),#86efac);color:#fff}.achievement-badge.vip-locked{opacity:.5}.badge-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0000000f;border-radius:10px;flex-shrink:0}.badge-info{flex:1;min-width:0}.badge-name{display:block;font-size:13px;font-weight:600;color:var(--lc-text-primary)}.badge-desc{display:block;font-size:11px;color:var(--lc-text-muted)}.vip-tag{padding:2px 6px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;font-size:9px;font-weight:700;border-radius:4px}.unlocked-check{color:var(--lc-accent-green);font-weight:700}.vip-achievements-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 18px;background:linear-gradient(135deg,#3d88730f,#5ea4890f);border-radius:var(--lc-radius-lg);border:1px solid rgba(94,164,137,.12)}.vip-achievements-hint p{margin:0;font-size:13px;color:var(--lc-accent-purple);display:flex;align-items:center;gap:6px}.vip-achievements-hint button{padding:6px 16px;background:var(--lc-accent-purple);color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity var(--lc-dur-fast)}.vip-achievements-hint button:hover{opacity:.85}.mistakes-page{max-width:800px;margin:0 auto;width:100%}.mistakes-overview{display:flex;align-items:stretch;gap:16px;margin-bottom:20px}.overview-stats{display:flex;gap:14px;flex:1}.overview-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 12px;background:#fff;border-radius:var(--lc-radius-xl);border:1px solid rgba(61,136,115,.1);box-shadow:var(--lc-glass-shadow)}.overview-stat.main{border-color:#3d887347}.overview-stat .stat-number{font-size:32px;font-weight:800;color:var(--lc-text-primary);letter-spacing:-.02em}.overview-stat .stat-label{font-size:12px;color:var(--lc-text-muted);margin-top:4px}.review-now-btn{display:flex;align-items:center;gap:6px;padding:12px 22px;background:linear-gradient(135deg,#e0493f,#ef5350);color:#fff;border:none;border-radius:var(--lc-radius-lg);font-size:14px;font-weight:650;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px #ef535052;align-self:center;transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal)}.review-now-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef535066}.analysis-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.analysis-section{background:#fff;border:1px solid rgba(61,136,115,.1);border-radius:var(--lc-radius-xl);padding:22px;box-shadow:var(--lc-glass-shadow)}.analysis-section h4{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0 0 14px;display:flex;align-items:center;gap:6px}.type-bars{display:flex;flex-direction:column;gap:12px}.type-bar-item{cursor:pointer;padding:8px 10px;border-radius:var(--lc-radius-sm);transition:background var(--lc-dur-fast)}.type-bar-item:hover{background:#3d88730d}.type-bar-item.active{background:#3d88731a}.type-bar-header{display:flex;align-items:center;gap:8px;margin-bottom:7px}.type-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;color:var(--lc-accent-blue);background:#3d88731f}.type-name{flex:1;font-size:13px;color:var(--lc-text-primary);font-weight:500}.type-count{font-size:13px;font-weight:700;color:var(--lc-text-primary)}.type-bar-bg{height:8px;background:#3d88731a;border-radius:4px;overflow:hidden}.type-bar-fill{height:100%;border-radius:4px;transition:width .6s var(--lc-ease-out)}.no-data{font-size:13px;color:var(--lc-text-muted);text-align:center;padding:16px;margin:0}.exp-chips{display:flex;flex-wrap:wrap;gap:10px}.exp-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#3d88730f;border:1px solid rgba(61,136,115,.12);border-radius:20px;font-size:13px;color:var(--lc-text-secondary);cursor:pointer;transition:all var(--lc-dur-fast)}.exp-chip-icon{color:var(--lc-accent-blue);display:inline-flex}.exp-chip:hover{background:#3d88731f}.exp-chip.active{background:var(--lc-accent-blue);color:#fff;border-color:transparent}.exp-chip.active .exp-chip-icon{color:#fff}.chip-count{padding:1px 7px;background:#00000014;border-radius:8px;font-size:11px;font-weight:700}.exp-chip.active .chip-count{background:#ffffff4d}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-tabs{display:flex;gap:10px}.filter-tab{padding:8px 18px;background:#fff;border:1px solid rgba(61,136,115,.14);border-radius:999px;font-size:13px;font-weight:550;color:var(--lc-text-secondary);cursor:pointer;transition:all var(--lc-dur-fast)}.filter-tab:hover{background:#3d88730f}.filter-tab.active{background:var(--m-gradient, linear-gradient(135deg, #2f6e5a, #3d8873));color:#fff;border-color:transparent;box-shadow:0 3px 10px #3d887342}.clear-filter{padding:6px 12px;background:none;border:none;color:var(--lc-accent-red);font-size:13px;cursor:pointer;transition:opacity var(--lc-dur-fast)}.clear-filter:hover{opacity:.7}.mistakes-list{display:flex;flex-direction:column;gap:14px}.mistake-card{background:#fff;border:1px solid rgba(61,136,115,.1);border-radius:var(--lc-radius-xl);padding:18px 20px;cursor:pointer;transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal);position:relative;box-shadow:var(--lc-glass-shadow)}.mistake-card:hover{transform:translateY(-2px);box-shadow:var(--lc-glass-shadow-hover)}.mistake-card.resolved{opacity:.55}.mistake-card.due{border-left:3px solid var(--lc-accent-red)}.mistake-card.soon{border-left:3px solid var(--lc-accent-orange)}.mistake-card.scheduled{border-left:3px solid var(--lc-accent-blue)}.mistake-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.mistake-type{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:#fff;flex-shrink:0}.mistake-meta{flex:1;display:flex;align-items:center;gap:10px}.mistake-exp{font-size:13px;font-weight:600;color:var(--lc-text-primary)}.mistake-date{font-size:12px;color:var(--lc-text-muted)}.review-status{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600}.review-status.due{background:#ef53501a;color:#cf4240}.review-status.soon{background:#ff9f0a1f;color:#c47800}.review-status.scheduled{background:#3d88731a;color:var(--lc-accent-blue)}.review-status.resolved{background:#0000000a;color:var(--lc-text-muted)}.mistake-content{margin-bottom:12px}.mistake-content p{font-size:14px;color:var(--lc-text-primary);line-height:1.6;margin:0}.mistake-footer{display:flex;justify-content:space-between;align-items:center}.type-label{font-size:12px;color:var(--lc-text-muted)}.quick-resolve{padding:6px 14px;background:var(--m-green-fill, rgba(61,136,115,.1));color:var(--lc-accent-blue);border:none;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--lc-dur-fast)}.quick-resolve:hover{background:#3d887333}.list-empty{text-align:center;padding:40px;color:var(--lc-text-muted);font-size:14px}.empty-state-card{text-align:center;padding:48px 24px;background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);box-shadow:var(--lc-glass-shadow)}.empty-state-card h3{font-size:18px;font-weight:700;color:var(--lc-text-primary);margin:0 0 8px}.empty-state-card p{font-size:14px;color:var(--lc-text-muted);margin:0 0 20px}.empty-tips{margin-bottom:24px}.tip-item{display:flex;align-items:center;gap:10px;padding:10px 16px;margin-bottom:8px;background:#00000005;border-radius:var(--lc-radius-sm);font-size:13px;color:var(--lc-text-secondary)}.tip-item span{flex-shrink:0}.tip-item p{margin:0}.vip-analysis-prompt{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#3d88730f,#5ea48914);border:1px solid rgba(94,164,137,.15);border-radius:var(--lc-radius-xl);margin-top:24px}.prompt-content{display:flex;align-items:center;gap:12px;flex:1}.prompt-icon{font-size:32px}.vip-analysis-prompt h4{font-size:15px;font-weight:700;color:var(--lc-text-primary);margin:0 0 2px}.vip-analysis-prompt p{font-size:13px;color:var(--lc-text-muted);margin:0}.btn-vip{padding:10px 20px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity var(--lc-dur-fast)}.btn-vip:hover{opacity:.85}.mistake-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.mistake-modal{background:var(--lc-glass-bg-strong);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);box-shadow:0 32px 80px #0003;width:100%;max-width:520px;max-height:80vh;overflow-y:auto;animation:lcSpringIn .4s var(--lc-ease-spring) both}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.modal-type{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--lc-radius-sm);color:#fff;font-size:13px;font-weight:600}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0000000f;border:none;border-radius:50%;font-size:18px;color:var(--lc-text-muted);cursor:pointer;transition:background var(--lc-dur-fast)}.modal-close:hover{background:#0000001a}.modal-body{padding:24px}.modal-exp{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--lc-text-secondary);margin-bottom:16px}.modal-content{margin-bottom:20px}.modal-content h4{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0 0 8px}.modal-content p{font-size:14px;color:var(--lc-text-primary);line-height:1.7;margin:0}.modal-analysis{margin-bottom:20px}.modal-analysis h4{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0 0 12px;display:flex;align-items:center;gap:6px}.ai-suggestion{padding:14px;background:#3d88730a;border-radius:var(--lc-radius-md)}.ai-suggestion p{font-size:13px;color:var(--lc-text-secondary);margin:0 0 8px}.ai-suggestion ul{margin:0;padding-left:18px}.ai-suggestion li{font-size:13px;color:var(--lc-text-primary);line-height:1.8}.vip-locked{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#00000005;border-radius:var(--lc-radius-md);text-align:center}.vip-locked p{font-size:13px;color:var(--lc-text-muted);margin:0;display:flex;align-items:center;gap:4px}.vip-locked button{padding:6px 16px;background:var(--lc-accent-purple);color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer}.modal-review-info{font-size:13px;color:var(--lc-text-muted)}.modal-review-info p{margin:4px 0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid rgba(0,0,0,.06)}.reports-page{max-width:960px;margin:0 auto;width:100%}.rp-back-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;margin-bottom:16px;background:#fff;border:1px solid var(--m-border);border-radius:999px;font-size:12.5px;font-weight:550;color:var(--m-text-2);cursor:pointer;font-family:inherit;transition:all var(--dur-fast)}.rp-back-btn:hover{border-color:var(--m-green-soft);color:var(--m-green-dark)}.capability-report-cta{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#3d88730f,#5ea4891a);border:2px solid rgba(59,130,246,.2);border-radius:var(--lc-radius-xl);margin-bottom:24px}.capability-report-cta .cta-icon{font-size:36px;flex-shrink:0}.capability-report-cta .cta-text{flex:1}.capability-report-cta .cta-text h3{margin:0 0 4px;font-size:16px;font-weight:700;color:#1e40af}.capability-report-cta .cta-text p{margin:0;font-size:13px;color:var(--lc-accent-blue)}.capability-report-cta .cta-btn{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:opacity var(--lc-dur-fast)}.capability-report-cta .cta-btn:hover{opacity:.85}.capability-report-cta .cta-btn:disabled{opacity:.6;cursor:not-allowed}.exp-selector-card{margin-bottom:24px;overflow-x:auto}.exp-selector-card h3{font-size:16px;font-weight:700;color:var(--lc-text-primary);margin:0 0 16px}.exp-selector-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;max-width:100%;-ms-overflow-style:none;scrollbar-width:thin}.exp-selector-grid::-webkit-scrollbar{height:6px;display:block}.exp-selector-grid::-webkit-scrollbar-thumb{background:#3d887340;border-radius:999px}.exp-select-btn{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;background:#ffffff80;border:2px solid transparent;border-radius:var(--lc-radius-lg);cursor:pointer;transition:all var(--lc-dur-normal) var(--lc-ease-spring);scroll-snap-align:start;min-width:100px;position:relative}.exp-select-btn:hover{background:#fffc}.exp-select-btn.active{background:var(--lc-glass-bg-strong);border-color:var(--lc-accent-blue);box-shadow:0 4px 16px #3d887326;transform:translateY(-2px)}.exp-select-icon{font-size:24px}.exp-select-name{font-size:12px;font-weight:600;color:var(--lc-text-primary)}.vip-tag-mini{position:absolute;top:4px;right:4px;padding:1px 5px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;font-size:8px;font-weight:700;border-radius:4px}.exp-data-badge{font-size:11px;color:var(--lc-accent-blue);font-weight:600}.exp-complete-check{position:absolute;top:4px;left:4px;color:var(--lc-accent-green);font-size:12px;font-weight:700}.report-content{display:grid;grid-template-columns:360px 1fr;gap:24px}.report-left,.report-right{display:flex;flex-direction:column;gap:24px}.score-card-large{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:24px;box-shadow:var(--lc-glass-shadow);text-align:center}.score-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;text-align:left}.score-exp-icon{font-size:32px}.score-header h3{font-size:16px;font-weight:700;color:var(--lc-text-primary);margin:0}.score-textbook{font-size:12px;color:var(--lc-text-muted)}.score-main{margin-bottom:20px}.score-grade{font-size:56px;font-weight:800;letter-spacing:-.03em}.score-detail{margin-top:4px}.score-number{font-size:24px;font-weight:700;color:var(--lc-text-primary)}.score-divider{font-size:16px;color:var(--lc-text-muted);margin:0 2px}.score-max{font-size:16px;color:var(--lc-text-muted)}.score-unit{font-size:12px;color:var(--lc-text-muted);margin-left:4px}.score-percentage{font-size:13px;color:var(--lc-text-secondary);margin-top:8px}.score-meta{display:flex;justify-content:space-around;padding-top:16px;border-top:1px solid rgba(0,0,0,.06)}.meta-item{text-align:center}.meta-label{display:block;font-size:11px;color:var(--lc-text-muted);margin-bottom:2px}.meta-value{display:block;font-size:14px;font-weight:600;color:var(--lc-text-primary)}.radar-chart-container{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:24px;box-shadow:var(--lc-glass-shadow)}.radar-header{margin-bottom:16px}.radar-header h4{font-size:15px;font-weight:700;color:var(--lc-text-primary);margin:0 0 4px}.radar-subtitle{font-size:12px;color:var(--lc-text-muted)}.radar-svg{display:block;margin:0 auto}.radar-legend{display:flex;justify-content:center;gap:20px;margin:12px 0}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--lc-text-muted)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.full{background:#22c55e}.legend-dot.current{background:#3b82f6}.points-detail{display:flex;flex-direction:column;gap:10px}.point-row{display:flex;align-items:center;gap:12px}.point-row.mastered .point-name{color:var(--lc-accent-green)}.point-info{flex:1;min-width:0}.point-name{display:block;font-size:13px;font-weight:600;color:var(--lc-text-primary)}.point-desc{display:block;font-size:11px;color:var(--lc-text-muted)}.point-progress{display:flex;align-items:center;gap:8px;min-width:140px}.point-progress .progress-bar{flex:1;height:6px;background:#0000000a;border-radius:3px;overflow:hidden}.point-progress .progress-fill{height:100%;border-radius:3px;transition:width .8s var(--lc-ease-spring)}.point-score{font-size:12px;font-weight:600;color:var(--lc-text-primary);min-width:40px;text-align:right}.ai-comments-card{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:24px;box-shadow:var(--lc-glass-shadow);position:relative}.ai-comments-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-comments-card .card-header h4{font-size:15px;font-weight:700;color:var(--lc-text-primary);margin:0;display:flex;align-items:center;gap:6px}.ai-analyze-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;background:linear-gradient(135deg,var(--lc-accent-blue),var(--lc-accent-purple));color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast)}.ai-analyze-btn:hover{opacity:.85}.ai-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.comments-content{display:flex;flex-direction:column;gap:12px}.blur-content{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.ai-score-banner{padding:12px 16px;background:linear-gradient(135deg,#3d88730f,#5ea4890f);border-radius:var(--lc-radius-md);font-size:14px;color:var(--lc-text-primary)}.ai-score-banner strong{font-size:20px;font-weight:700;color:var(--lc-accent-blue)}.comment-section{margin-bottom:12px}.comment-section h5{font-size:13px;font-weight:700;color:var(--lc-text-primary);margin:0 0 8px;display:flex;align-items:center;gap:4px}.comment-section ul{margin:0;padding-left:18px}.comment-section li{font-size:13px;color:var(--lc-text-secondary);line-height:1.7}.comment-section.strengths{padding:12px;background:#34c7590a;border-radius:var(--lc-radius-md)}.comment-section.weaknesses{padding:12px;background:#ff3b300a;border-radius:var(--lc-radius-md)}.comment-section.plan{padding:12px;background:#3d88730a;border-radius:var(--lc-radius-md)}.comment-section.improvements{padding:12px;background:#ff9f0a0a;border-radius:var(--lc-radius-md)}.plan-term{margin-bottom:8px}.plan-term span{font-size:12px;font-weight:600;color:var(--lc-text-primary)}.plan-term ul{margin-top:4px}.ai-encouragement{padding:12px;background:#34c7590a;border-radius:var(--lc-radius-md);font-size:13px;color:var(--lc-text-secondary);line-height:1.6;font-style:italic}.comment-item{display:flex;align-items:flex-start;gap:8px}.comment-icon{font-size:16px}.comment-text{font-size:13px;color:var(--lc-text-secondary);line-height:1.6}.improvement-item{padding:10px 14px;background:#ff9f0a0a;border-radius:var(--lc-radius-sm);margin-bottom:8px}.imp-point{display:block;font-size:13px;font-weight:600;color:var(--lc-text-primary);margin-bottom:2px}.imp-tip{display:block;font-size:12px;color:var(--lc-text-muted)}.vip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffb3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:var(--lc-radius-xl)}.vip-overlay p{font-size:14px;color:var(--lc-text-secondary);margin:0}.data-preview-card{background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);padding:24px;box-shadow:var(--lc-glass-shadow)}.data-preview-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.data-preview-card .card-header h4{font-size:15px;font-weight:700;color:var(--lc-text-primary);margin:0;display:flex;align-items:center;gap:6px}.data-count{font-size:12px;color:var(--lc-text-muted)}.data-table-wrapper{overflow-x:auto}.data-table th{padding:10px 12px;background:#00000008;color:var(--lc-text-secondary);font-weight:600;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.data-table td{padding:10px 12px;color:var(--lc-text-primary);border-bottom:1px solid rgba(0,0,0,.03)}.data-table tr:nth-child(2n) td{background:#00000004}.data-placeholder{text-align:center;padding:24px;color:var(--lc-text-muted);font-size:14px}.data-placeholder .hint{font-size:12px;margin-top:4px}.data-more{text-align:center;padding:10px;color:var(--lc-text-muted);font-size:12px}.export-section{margin-top:4px}.export-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,var(--lc-accent-blue),var(--lc-accent-purple));color:#fff;border:none;border-radius:var(--lc-radius-lg);font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #3d88734d;transition:transform var(--lc-dur-normal) var(--lc-ease-spring),box-shadow var(--lc-dur-normal);position:relative}.export-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #3d887366}.export-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.export-btn .vip-badge{padding:2px 8px;background:#ffffff4d;border-radius:6px;font-size:11px}.export-tips{margin-top:12px}.export-tips p{margin:4px 0;font-size:12px;color:var(--lc-text-muted);display:flex;align-items:center;gap:6px}.no-data-state{text-align:center;padding:48px 24px;background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);box-shadow:var(--lc-glass-shadow)}.no-data-icon{margin-bottom:16px}.no-data-icon img{width:120px;opacity:.8}.no-data-state h3{font-size:18px;font-weight:700;color:var(--lc-text-primary);margin:0 0 8px}.no-data-state p{font-size:14px;color:var(--lc-text-muted);margin:0 0 20px}.no-data-state ul{text-align:left;margin:12px auto;max-width:400px;padding-left:20px}.no-data-state li{font-size:13px;color:var(--lc-text-secondary);line-height:1.8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.export-modal{background:var(--lc-glass-bg-strong);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-xl);box-shadow:0 32px 80px #0003;width:100%;max-width:480px;animation:lcSpringIn .4s var(--lc-ease-spring) both}.export-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.06)}.export-modal .modal-header h3{font-size:17px;font-weight:700;color:var(--lc-text-primary);margin:0}.export-modal .modal-body{padding:24px}.export-preview{display:flex;gap:16px;margin-bottom:20px;padding:16px;background:#00000005;border-radius:var(--lc-radius-lg)}.preview-cover{width:80px;height:100px;border-radius:var(--lc-radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0}.preview-cover .preview-icon{font-size:24px}.preview-cover h4{font-size:10px;color:#ffffffe6;margin:0;font-weight:600}.preview-cover p{font-size:8px;color:#fff9;margin:0}.preview-info{flex:1}.preview-info p{font-size:13px;color:var(--lc-text-secondary);margin:4px 0}.preview-info strong{color:var(--lc-text-primary)}.format-selector{display:flex;gap:12px;margin-bottom:20px}.format-option{flex:1;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ffffff80;border:2px solid transparent;border-radius:var(--lc-radius-lg);cursor:pointer;transition:all var(--lc-dur-fast)}.format-option:hover{background:#fffc}.format-option.active{border-color:var(--lc-accent-blue);background:#3d88730a}.format-option input{display:none}.format-icon{font-size:20px}.format-name{font-size:14px;font-weight:600;color:var(--lc-text-primary)}.format-desc{font-size:11px;color:var(--lc-text-muted)}.vip-prompt{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#5ea4890f;border-radius:var(--lc-radius-md);border:1px solid rgba(94,164,137,.12)}.vip-prompt span{font-size:18px}.vip-prompt p{flex:1;font-size:13px;color:var(--lc-accent-purple);margin:0}.vip-prompt button{padding:6px 14px;background:var(--lc-accent-purple);color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer}.export-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid rgba(0,0,0,.06)}.ai-insight-panel{background:#fff;border:1px solid rgba(61,136,115,.1);border-radius:var(--lc-radius-xl);padding:24px;margin-bottom:20px;box-shadow:var(--lc-glass-shadow)}.ai-insight-panel.minimal{padding:18px}.insight-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.header-left{display:flex;align-items:center;gap:10px}.insight-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#3d887324,#5ea48924);color:var(--lc-accent-blue);flex-shrink:0}.insight-icon svg{display:block}.sec-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:-2px;margin-right:6px;color:var(--lc-accent-blue)}.sec-icon svg{display:block}.weakness-badge{display:inline-flex;align-items:center;gap:5px}.badge-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.badge-dot.red{background:#ef4444}.badge-dot.amber{background:#f59e0b}.badge-dot.green{background:#22c55e}.mc-badge{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:1px}.mc-badge.wrong{background:#ef4444}.mc-badge.why{background:#a1a1a6}.mc-badge.right{background:#22c55e}.task-dot{width:6px;height:6px;border-radius:50%;background:var(--lc-accent-blue);display:inline-block}.phase-marker{display:inline-flex;align-items:center;color:var(--lc-accent-blue)}.insight-header h3{font-size:16px;font-weight:700;color:var(--lc-text-primary);margin:0}.cache-time{font-size:11px;color:var(--lc-text-muted)}.btn-analyze{display:flex;align-items:center;gap:6px;padding:9px 18px;background:var(--m-gradient, linear-gradient(135deg, #2f6e5a 0%, #3d8873 55%, #6ba88f 100%));color:#fff;border:none;border-radius:999px;font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 3px 12px #3d887342;transition:opacity var(--lc-dur-fast),transform var(--lc-dur-fast)}.btn-analyze:hover{opacity:.92;transform:translateY(-1px)}.btn-analyze:disabled{opacity:.5;cursor:not-allowed}.btn-vip-unlock{padding:8px 16px;background:#5ea4891a;color:var(--lc-accent-purple);border:1px solid rgba(94,164,137,.2);border-radius:var(--lc-radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--lc-dur-fast)}.btn-vip-unlock:hover{background:#5ea48926}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.insight-error{padding:10px 14px;background:#ff3b300f;color:var(--lc-accent-red);border-radius:var(--lc-radius-sm);font-size:13px;margin-bottom:12px}.insight-empty{text-align:center;padding:16px;color:var(--lc-text-muted);font-size:14px}.insight-empty .hint{font-size:12px;margin-top:4px}.insight-content{display:flex;flex-direction:column;gap:16px}.insight-section{border:1px solid rgba(0,0,0,.04);border-radius:var(--lc-radius-lg);overflow:hidden}.insight-section .section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;margin:0;transition:background var(--lc-dur-fast)}.insight-section .section-header:hover{background:#00000005}.insight-section .section-header h4{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0;display:flex;align-items:center;gap:6px}.toggle-icon{font-size:12px;color:var(--lc-text-muted)}.section-body{padding:0 16px 16px}.diagnosis-render p{font-size:14px;color:var(--lc-text-secondary);line-height:1.7;margin:6px 0}.diagnosis-render p.highlight{color:var(--lc-text-primary);font-weight:600}.patterns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.pattern-card{padding:14px;background:#00000005;border-radius:var(--lc-radius-md);border-left:3px solid var(--accent, #6b7280)}.pattern-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.pattern-icon{font-size:16px}.pattern-type{font-size:13px;font-weight:600;color:var(--lc-text-primary);flex:1}.pattern-freq{font-size:12px;font-weight:700;color:var(--lc-accent-red)}.pattern-cause{font-size:13px;color:var(--lc-text-secondary);line-height:1.5}.pattern-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.knowledge-tag{padding:2px 8px;background:#3d887314;color:var(--lc-accent-blue);border-radius:4px;font-size:11px}.weakness-list{display:flex;flex-direction:column;gap:12px}.weakness-item{padding:12px 14px;background:#00000005;border-radius:var(--lc-radius-md)}.weakness-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.weakness-name{font-size:14px;font-weight:600;color:var(--lc-text-primary)}.weakness-badge{font-size:12px}.weakness-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px}.weakness-fill{height:6px;border-radius:3px;transition:width .6s var(--lc-ease-out)}.weakness-score{font-size:12px;font-weight:600;color:var(--lc-text-primary);min-width:32px}.weakness-advice{font-size:13px;color:var(--lc-text-muted);margin:0;line-height:1.5}.pathway-timeline{position:relative;padding-left:24px}.pathway-phase{position:relative;margin-bottom:16px}.phase-marker{position:absolute;left:-24px;top:2px;font-size:16px}.phase-content h5{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0 0 8px}.phase-content ul{margin:0;padding-left:18px}.phase-content li{font-size:13px;color:var(--lc-text-secondary);line-height:1.7;margin-bottom:4px}.task-link{display:inline-block;margin-left:6px;padding:2px 8px;background:#3d887314;color:var(--lc-accent-blue);border:none;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer}.exp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.exp-card{padding:14px;background:#00000005;border-radius:var(--lc-radius-md)}.exp-card.priority-high{border-left:3px solid var(--lc-accent-red)}.exp-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.exp-card .exp-icon{font-size:20px}.exp-card .exp-name{font-size:14px;font-weight:600;color:var(--lc-text-primary);flex:1}.priority-tag{padding:2px 8px;background:#ff3b301a;color:var(--lc-accent-red);border-radius:4px;font-size:11px;font-weight:700}.exp-reason{font-size:13px;color:var(--lc-text-secondary);line-height:1.5;margin:0 0 8px}.exp-focus{font-size:12px;color:var(--lc-text-muted);margin-bottom:10px}.exp-focus strong{color:var(--lc-text-primary)}.btn-start-exp{padding:6px 14px;background:var(--lc-accent-blue);color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12px;font-weight:600;cursor:pointer}.teaching-content{display:flex;flex-direction:column;gap:16px}.teaching-block h5{font-size:14px;font-weight:700;color:var(--lc-text-primary);margin:0 0 10px}.concept-card{padding:12px 14px;background:#00000005;border-radius:var(--lc-radius-sm);margin-bottom:8px}.concept-title{font-size:14px;font-weight:600;color:var(--lc-text-primary);margin-bottom:6px}.concept-text{font-size:13px;color:var(--lc-text-secondary);line-height:1.6;margin:0 0 4px}.concept-example{font-size:12px;color:var(--lc-accent-blue);margin:4px 0 0}.concept-formula{display:block;margin-top:6px;padding:6px 10px;background:#0000000a;border-radius:4px;font-family:SF Mono,monospace;font-size:13px;color:var(--lc-text-primary)}.mistake-correct{padding:12px;background:#00000005;border-radius:var(--lc-radius-sm);margin-bottom:8px}.mc-row{font-size:13px;line-height:1.7}.mc-row.wrong{color:var(--lc-accent-red)}.mc-row.why{color:var(--lc-text-muted)}.mc-row.right{color:var(--lc-accent-green)}.tips-block ul{margin:0;padding-left:18px}.tips-block li{font-size:13px;color:var(--lc-text-secondary);line-height:1.8}.explore-questions{display:flex;flex-direction:column;gap:12px}.explore-item{padding:14px;background:#00000005;border-radius:var(--lc-radius-md)}.explore-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.explore-num{font-size:12px;font-weight:700;color:var(--lc-accent-blue)}.explore-diff{font-size:11px;color:var(--lc-text-muted)}.explore-q{font-size:14px;color:var(--lc-text-primary);line-height:1.6;margin:0 0 6px}.explore-hint{font-size:12px;color:var(--lc-accent-blue);margin:0 0 4px}.explore-related{font-size:11px;color:var(--lc-text-muted)}.teacher-advice p{font-size:14px;color:var(--lc-text-secondary);line-height:1.7;margin:0}.insight-preview{padding:20px 16px;background:#3d88730a;border-radius:16px;text-align:center}.insight-preview p{font-size:14px;color:var(--lc-text-secondary);margin:0 0 14px}.preview-items{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.preview-item{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid rgba(61,136,115,.12);border-radius:999px;font-size:13px;color:var(--lc-text-secondary);box-shadow:var(--lc-glass-shadow)}.preview-item svg{color:var(--lc-accent-blue)}.capability-report{max-width:800px;margin:0 auto;width:100%}.cap-report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cap-report-header h2{font-size:22px;font-weight:800;color:var(--lc-text-primary);margin:0}.cap-close-btn{background:none;border:none;cursor:pointer;color:var(--lc-text-muted);padding:4px 8px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background var(--lc-dur-fast)}.cap-close-btn:hover{background:#0000000f}.cap-summary{padding:16px 20px;background:linear-gradient(135deg,#3d88730f,#5ea4891a);border-radius:var(--lc-radius-lg);margin-bottom:24px}.cap-summary p{margin:0;font-size:15px;line-height:1.6;color:#1e40af}.cap-radar{text-align:center;margin-bottom:24px}.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.cap-highlights{padding:16px 20px;background:#34c7590f;border-radius:var(--lc-radius-lg)}.cap-improvements{padding:16px 20px;background:#ff9f0a0f;border-radius:var(--lc-radius-lg)}.cap-highlights h3,.cap-improvements h3{font-size:15px;font-weight:700;margin:0 0 10px;display:flex;align-items:center;gap:6px}.cap-highlights ul,.cap-improvements ul{margin:0;padding-left:20px}.cap-highlights li,.cap-improvements li{font-size:14px;line-height:1.8;color:var(--lc-text-secondary)}.cap-analysis-title{font-size:16px;font-weight:700;color:var(--lc-text-primary);margin:0 0 12px}.cap-session-list{display:flex;flex-direction:column;gap:12px}.cap-session{padding:16px;background:var(--lc-glass-bg);backdrop-filter:var(--lc-glass-blur);-webkit-backdrop-filter:var(--lc-glass-blur);border:1px solid var(--lc-glass-border);border-radius:var(--lc-radius-lg);cursor:pointer;transition:box-shadow var(--lc-dur-normal)}.cap-session:hover{box-shadow:var(--lc-glass-shadow-hover)}.cap-session-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cap-session-name{font-weight:600;color:var(--lc-text-primary)}.cap-session-score{font-weight:700;font-size:16px}.cap-session-reasoning{font-size:14px;color:var(--lc-text-secondary);line-height:1.6;margin:0}.cap-session ul{margin-top:10px;padding-left:20px}.cap-session li{font-size:13px;color:var(--lc-text-secondary)}.btn-primary{padding:10px 20px;background:var(--lc-accent-blue);color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast)}.btn-primary:hover{opacity:.85}.btn-secondary{padding:10px 20px;background:#0000000a;color:var(--lc-text-secondary);border:1px solid rgba(0,0,0,.08);border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:background var(--lc-dur-fast)}.btn-secondary:hover{background:#00000014}.btn-success{padding:10px 20px;background:var(--lc-accent-green);color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast)}.btn-success:hover{opacity:.85}.resolved-badge{font-size:14px;color:var(--lc-accent-green);font-weight:600}.btn-cancel{padding:10px 20px;background:none;border:1px solid rgba(0,0,0,.1);border-radius:var(--lc-radius-md);font-size:14px;color:var(--lc-text-secondary);cursor:pointer;transition:background var(--lc-dur-fast)}.btn-cancel:hover{background:#0000000a}.btn-export{padding:10px 24px;background:linear-gradient(135deg,var(--lc-accent-blue),var(--lc-accent-purple));color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:opacity var(--lc-dur-fast)}.btn-export:hover{opacity:.85}.btn-export:disabled{opacity:.5;cursor:not-allowed}.parent-share-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 24px;background:linear-gradient(135deg,#34c75912,#10b9811f);border:2px solid rgba(16,185,129,.25);border-radius:var(--lc-radius-xl);margin-bottom:24px}.parent-share-card .ps-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#3d887324,#5ea48924);color:var(--lc-accent-blue)}.parent-share-card .ps-icon svg{display:block}.parent-share-card .ps-text{flex:1;min-width:200px}.parent-share-card .ps-text h3{margin:0 0 4px;font-size:15px;font-weight:700;color:#065f46}.parent-share-card .ps-text p{margin:0;font-size:12.5px;color:#047857}.parent-share-card .ps-btn{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--lc-radius-md);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:opacity var(--lc-dur-fast)}.parent-share-card .ps-btn:hover{opacity:.85}.parent-share-card .ps-btn:disabled{opacity:.6;cursor:not-allowed}.ps-link-box{display:flex;align-items:center;gap:8px;flex:1;min-width:260px;background:#fff;border:1px solid rgba(16,185,129,.3);border-radius:var(--lc-radius-md);padding:6px 6px 6px 12px}.ps-link-box input{flex:1;min-width:0;border:none;outline:none;font-size:12.5px;color:#065f46;background:transparent;font-family:JetBrains Mono,monospace}.ps-link-box .ps-copy-btn{padding:7px 14px;background:#10b981;color:#fff;border:none;border-radius:var(--lc-radius-sm);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.ps-link-box .ps-copy-btn:hover{opacity:.85}.lc-tab-stack{display:flex;justify-content:flex-start;padding:18px 26px 14px}.lc-segmented{width:100%;max-width:560px;background:var(--bg-inset, rgba(120, 120, 128, .12));border-radius:var(--radius-full, 9999px);box-shadow:inset 0 1px 2px #00000008}.lc-segmented .dk-seg-item{flex:1;justify-content:center;padding:9px 16px;font-size:13.5px;border-radius:var(--radius-full, 9999px);transition:background var(--dur-fast, .18s) var(--ease-out, cubic-bezier(.25, .46, .45, .94)),color var(--dur-fast, .18s) var(--ease-out, cubic-bezier(.25, .46, .45, .94)),box-shadow var(--dur-fast, .18s) var(--ease-out, cubic-bezier(.25, .46, .45, .94)),transform var(--dur-fast, .18s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.lc-segmented .dk-seg-item:hover:not(.active){color:var(--text-dark, #1d1d1f)}.lc-segmented .dk-seg-item.active{background:#ffffffeb;box-shadow:var(--shadow-soft, 0 2px 8px rgba(0, 0, 0, .06));transform:translateY(-1px)}.lc-segmented .dk-seg-icon{display:inline-flex;color:var(--text-light, #6e6e73)}.lc-segmented .dk-seg-item.active .dk-seg-icon{color:var(--primary, #3d8873)}.lc-segmented .dk-seg-badge{font-size:10px;padding:2px 7px;background:var(--danger, #ff3b30);box-shadow:0 2px 6px #ff3b3059}.progress-page .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.lc-content{min-width:0}.progress-page{max-width:100%;color:#172235}.progress-page .dk-stat,.progress-page .lc-glass-card{background:#fff;border:1px solid #e8edf0;box-shadow:0 8px 28px #1e4c460f;-webkit-backdrop-filter:none;backdrop-filter:none}.progress-page .dk-stat{border-radius:16px}.progress-page .lc-glass-card{border-radius:18px}.progress-page .lc-card-header h3{color:#172235;font-weight:750}.progress-page .chart-unit{color:#8d9aa8}.progress-page .exp-progress-item{background:#fbfdfd;border:1px solid #edf2f1;border-radius:14px}.progress-page .exp-progress-item:hover{background:#f3faf8;box-shadow:0 6px 18px #259d811a}.progress-page .status-complete{color:#25a985}.progress-page .status-progress{color:#328fd0}.progress-page .exp-action-btn{border-radius:999px;color:#238f78;border-color:#b7e5d8;background:#f2fbf8}.progress-page .exp-action-btn:hover{background:#dff5ee}.progress-page .progress-ring .ring-fill{stroke:#3dbb9c}@media (max-width: 720px){.progress-page .lc-card-header{padding-inline:2px}.progress-page .exp-progress-item{grid-template-columns:auto 1fr auto;gap:10px}.progress-page .exp-stats{grid-column:2 / -1;justify-content:flex-start}.progress-page .exp-action-btn{grid-column:3;grid-row:1}}@media (max-width: 1024px){.progress-page .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.progress-page .stats-grid{grid-template-columns:1fr}}.progress-page .stats-grid .dk-stat{display:flex;align-items:center;gap:14px;min-width:0;padding:18px 20px;background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));border-radius:var(--radius-lg, 18px);box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03));position:relative;overflow:visible;transition:transform var(--dur-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow var(--dur-normal, .3s) var(--ease-out, cubic-bezier(.25, .46, .45, .94))}.progress-page .stats-grid .dk-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover, 0 8px 30px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .04))}.progress-page .stats-grid .dk-stat-value{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.progress-page .stats-grid .dk-stat-label{font-size:12px}.lc-stat-total,.lc-stat-unit{font-size:13px;font-weight:500;color:var(--text-muted, #86868b);margin-left:2px}.progress-page .stats-grid .dk-stat .lc-stat-progress{position:absolute;top:14px;right:14px}.progress-page .stats-grid .dk-stat .dk-stat-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.progress-page .stats-grid .dk-stat-ring .dk-stat-body{padding-right:52px}.progress-page .stats-grid .dk-stat-red .dk-stat-icon{background:#ff3b301a;color:var(--danger, #ff3b30)}.week-chart-card .recharts-area-curve{transition:opacity var(--dur-fast, .18s)}.exp-progress-item{transition:transform var(--dur-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow var(--dur-normal, .3s) var(--ease-out, cubic-bezier(.25, .46, .45, .94))}.report-content.dk-card{display:grid;grid-template-columns:360px 1fr;gap:24px;padding:24px;background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));border-radius:var(--radius-xl, 22px);box-shadow:var(--glass-shadow, 0 8px 32px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .4));animation:viewTransition .35s var(--ease-out, cubic-bezier(.25, .46, .45, .94))}@media (max-width: 900px){.report-content.dk-card{grid-template-columns:1fr}}.report-content .score-card-large,.report-content .radar-chart-container,.report-content .ai-comments-card,.report-content .data-preview-card,.report-content .export-section{border-color:var(--border-light, rgba(0, 0, 0, .06))}.advanced-summary{text-align:left;padding:0 20px}.advanced-summary ul{margin-top:8px}.lc-loading-hint{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:var(--text-muted, #86868b);font-size:14px}.lc-loading-hint svg{animation:floatIdle 2s ease-in-out infinite}.empty-state-card{padding:32px 24px}.empty-state-card .dk-empty{gap:6px}.empty-state-card .dk-empty h4{font-size:17px;margin-top:4px}.empty-state-card .btn-primary{display:inline-flex;align-items:center;gap:4px;padding:11px 26px;background:linear-gradient(135deg,var(--m-green),var(--m-green-dark));color:#fff;border:none;border-radius:var(--radius-full, 9999px);font-size:14px;font-weight:600;box-shadow:0 6px 18px #3d88734d}.empty-state-card .btn-primary:hover{opacity:.9;transform:translateY(-1px)}.lc-btn-with-arrow{display:inline-flex;align-items:center;gap:4px}.retention-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-md, 14px);margin-bottom:12px;font-size:13px;border:1px solid transparent}.retention-banner.guest{background:#ff3b3014;color:#dc2626;border-color:#ff3b3026}.retention-banner.free{background:#ff9f0a17;color:#c96f00;border-color:#ff9f0a2e}.retention-banner svg{flex-shrink:0}.retention-subscribe{margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--primary, #3d8873);background:none;border:none;padding:0;white-space:nowrap;transition:opacity var(--dur-fast, .18s)}.retention-subscribe:hover{opacity:.75}.capability-report{display:flex;flex-direction:column;gap:20px}.cap-report-header{margin-bottom:0}.cap-summary{background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));border-radius:var(--radius-xl, 22px);padding:18px 24px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03))}.cap-summary p{margin:0;font-size:14.5px;line-height:1.7;color:var(--text-medium, #424245)}.cap-radar{background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));border-radius:var(--radius-xl, 22px);padding:22px 24px 18px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03));margin-bottom:0}.cap-grid{gap:20px}.cap-highlights,.cap-improvements{background:var(--bg-card, rgba(255, 255, 255, .85));border:1px solid var(--border-light, rgba(0, 0, 0, .06));border-radius:var(--radius-lg, 18px);padding:18px 20px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03))}.cap-analysis-block{background:var(--glass-bg, rgba(255, 255, 255, .72));backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));-webkit-backdrop-filter:var(--glass-blur, blur(24px) saturate(180%));border:1px solid var(--glass-border, rgba(255, 255, 255, .5));border-radius:var(--radius-xl, 22px);padding:22px 24px;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03))}.cap-close-btn{width:34px;height:34px;background:#fff9;border-radius:50%}.cap-close-btn:hover{background:#ffffffe6}.toggle-icon{display:inline-flex;align-items:center;transition:transform var(--dur-fast, .18s) var(--ease-out, cubic-bezier(.25, .46, .45, .94));color:var(--text-muted, #86868b)}.toggle-icon.expanded{transform:rotate(90deg)}.no-data-icon svg{width:44px;height:44px;color:var(--text-light, #6e6e73)}.parent-share-card{transition:transform var(--dur-normal, .3s) var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow var(--dur-normal, .3s) var(--ease-out, cubic-bezier(.25, .46, .45, .94))}.parent-share-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover, 0 8px 30px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .04))}button.lc-btn-with-arrow svg,.btn-start-exp svg,.task-link svg,.btn-vip svg,.quick-resolve svg,.btn-success svg,.resolved-badge svg{flex-shrink:0}button.lc-btn-with-arrow,.btn-start-exp,.task-link,.btn-vip,.quick-resolve,.btn-success,.resolved-badge{gap:4px}.resolved-badge{display:inline-flex;align-items:center}.lc-inner-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:22px 26px 0;position:relative;z-index:10}.lc-inner-head .lc-nav-title{display:flex;flex-direction:column;gap:3px}.lc-inner-head .lc-nav-title h1{font-size:21px;font-weight:800;color:var(--text-dark);letter-spacing:-.02em;margin:0}.lc-inner-head .lc-nav-greeting{font-size:12.5px;color:var(--text-muted)}.lc-inner-head .lc-vip-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(240,134,10,.3);background:#ff9f0a1a;color:#c96000;font-size:12.5px;font-weight:650;font-family:inherit;padding:8px 14px;border-radius:999px;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.lc-inner-head .lc-vip-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.lc-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(272px,300px);gap:22px;padding:8px 26px 30px;position:relative;z-index:1;align-items:start}.lc-side{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding-right:2px;position:sticky;top:0;max-height:calc(100vh - 120px)}.lc-side-card{background:#fff;border:1px solid var(--m-border);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;flex-shrink:0}.lc-side-card{flex-shrink:0}.lc-side-card .ai-insight-panel{flex:none;margin-bottom:0}.lc-side-card .insight-body{flex:none;min-height:0}.lc-side-head{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid var(--m-border)}.lc-side-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(61,136,115,.22);box-shadow:0 3px 10px #3d88732e}.lc-side-avatar img{width:100%;height:100%;object-fit:cover;display:block}.lc-side-head-text{display:flex;flex-direction:column;gap:1px;min-width:0}.lc-side-head-text strong{font-size:14px;font-weight:700;color:var(--m-text)}.lc-side-head-text span{font-size:11px;color:var(--m-text-3)}.lc-side .ai-insight .lc-glass-card{border:none;box-shadow:none;background:transparent}.lc-calendar{background:#fff;border:1px solid var(--m-border);border-radius:16px;box-shadow:var(--shadow-card);padding:14px 16px}.lc-cal-head{display:flex;flex-direction:column;gap:1px;margin-bottom:10px}.lc-cal-head h4{font-size:14px;font-weight:700;color:var(--m-text);margin:0;display:flex;align-items:center;gap:6px}.lc-cal-head span{font-size:11px;color:var(--m-text-3)}.lc-cal-month{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;color:var(--m-text);margin-bottom:8px}.lc-cal-month button{border:none;background:var(--m-green-fill);color:var(--m-green-dark);width:24px;height:24px;border-radius:7px;cursor:pointer;display:grid;place-items:center}.lc-cal-week,.lc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.lc-cal-week span{text-align:center;font-size:11px;color:var(--m-text-3);padding:4px 0}.lc-cal-day{aspect-ratio:1;display:grid;place-items:center;font-size:11.5px;color:var(--m-text-2);border-radius:8px}.lc-cal-day.active{background:var(--m-green);color:#fff;font-weight:700}.lc-cal-day.today{box-shadow:inset 0 0 0 1.5px var(--m-green);font-weight:700;color:var(--m-green-dark)}.lc-cal-pad{aspect-ratio:1}.lc-cal-today{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11.5px;color:var(--m-text-3)}.lc-cal-today .dot{width:7px;height:7px;border-radius:50%;background:var(--m-green)}@media (max-width: 1080px){.lc-body{grid-template-columns:1fr}.lc-side{order:2}}footer.site-footer{background:radial-gradient(500px 60px at 8% 0%,rgba(0,113,227,.14),transparent 70%),linear-gradient(180deg,#1a1a1df0,#111114f7);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-top:1px solid rgba(255,255,255,.07);color:#ffffff8c;padding:28px 28px 14px;flex-shrink:0;font-size:12px;opacity:1}.footer-inner{max-width:1080px;margin:0 auto}.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.footer-brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#5856d6 100%);box-shadow:0 6px 16px #0071e34d;flex-shrink:0}.footer-brand-text{display:flex;flex-direction:column;line-height:1.3}.footer-brand-text strong{font-size:13.5px;font-weight:700;color:#f5f5f7;letter-spacing:-.01em}.footer-brand-text span{font-size:11px;color:#ffffff73}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.footer-col{display:flex;flex-direction:column;gap:7px}.footer-col-title{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff61;margin-bottom:3px}.footer-col .footer-link{font-size:12.5px;color:#fff9;text-decoration:none;width:fit-content}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 16px;padding-top:12px;font-size:11px;color:#fff6}.footer-bottom a{color:#ffffff80;text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.footer-bottom a:hover{color:var(--primary-light)}@media (max-width: 640px){.site-footer{padding:22px 16px 12px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:4px}}.tw-lp,.tw-lp-empty-shell{display:flex;flex-direction:column;gap:20px}.tw-lp-empty-head{padding:28px 32px;border-radius:24px;background:linear-gradient(135deg,#76a5ff1a,#ffffffa6);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 36px -20px #1421402e}.tw-lp-empty-head h2{margin:6px 0 4px;font-size:22px}.tw-lp-empty-head p{margin:0;color:#142140a6;font-size:14px}.tw-lp-progress{padding:24px 28px;border-radius:24px;background:linear-gradient(135deg,#ffffffeb,#f4f8ffd9);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 48px -32px #0f204040;display:flex;flex-direction:column;gap:14px}.tw-lp-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.tw-lp-progress-head h2{margin:4px 0 6px;font-size:22px;letter-spacing:-.4px}.tw-lp-progress-msg{margin:0;color:#142140b3;font-size:14px;line-height:1.6}.tw-lp-progress-cost{color:#14214080;font-size:12px;display:inline-block;margin-top:6px}.tw-lp-progress-actions{display:flex;gap:10px}.tw-lp-progress-bar{position:relative;width:100%;height:6px;border-radius:999px;overflow:hidden;background:#76a5ff1f}.tw-lp-progress-bar>span{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#4f8dff,#8a5cff);transition:width .4s ease}.tw-lp-tabs{display:inline-flex;width:fit-content;gap:4px;padding:4px;border:1px solid rgba(15,32,64,.08);border-radius:10px;background:#ffffffd9}.tw-lp-tabs button{min-height:34px;border-radius:8px;padding:0 14px;color:#142140ad;background:transparent;font-size:13px;font-weight:700}.tw-lp-tabs button.is-active{color:#fff;background:#1f6feb}.tw-lp-section{border-radius:18px;background:#ffffff8a;border:1px solid rgba(15,32,64,.06)}.tw-lp-section>summary{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 18px;cursor:pointer;color:#142140e6;font-weight:760}.tw-lp-section>summary small{margin-left:auto;color:#1421407a;font-size:12px;font-weight:650}.tw-lp-section>summary::marker{color:#1f6febb3}.tw-lp-section[open]>summary{border-bottom:1px solid rgba(15,32,64,.06)}.tw-lp-compact-section{background:transparent}.tw-lp-compact-section>.tw-lp-side-section{border-radius:0 0 18px 18px;border:0}.tw-lp-job-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.tw-lp-job{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#fff9;border:1px solid rgba(15,32,64,.06);font-size:12px}.tw-lp-job strong{font-size:13px}.tw-lp-job small{color:#1421408c}.tw-lp-job-completed{background:#4caf5a1a;border-color:#4caf5a40}.tw-lp-job-completed small{color:#2f8a4d}.tw-lp-job-running{background:#4f8dff1a;border-color:#4f8dff40}.tw-lp-job-running small{color:#2c64d6}.tw-lp-job-fallback{background:#ff9f431f;border-color:#ff9f434d}.tw-lp-job-fallback small{color:#c47120}.tw-lp-job-failed{background:#ff52521a;border-color:#ff525240}.tw-lp-job-failed small{color:#c43d3d}.tw-lp-fallback-grid{display:flex;flex-direction:column;gap:16px}.tw-lp-fallback-hint{padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#76a5ff14,#fff9);border:1px dashed rgba(118,165,255,.35);display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}.tw-lp-fallback-hint strong{color:#2c64d6}.tw-lp-fallback-hint span{color:#142140b3}.tw-lp-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:20px}@media (max-width: 1180px){.tw-lp-layout{grid-template-columns:1fr}}.tw-lp-main{display:flex;flex-direction:column;gap:20px}.tw-lp-aside{display:flex;flex-direction:column;gap:16px}.tw-lp-diagnosis{padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#fffffff2,#f8f4ffd9);border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 48px -32px #0f204038;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}.tw-lp-diagnosis h2{margin:4px 0 12px;font-size:22px;letter-spacing:-.5px}.tw-lp-diagnosis>p{margin:0;color:#142140c7;font-size:15px;line-height:1.7}.tw-lp-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}.tw-lp-summary-stats span{min-width:0;padding:10px 12px;border-radius:12px;background:#4f8dff14;border:1px solid rgba(79,141,255,.12)}.tw-lp-summary-stats strong{display:block;color:#1f6feb;font-size:18px;line-height:1.1}.tw-lp-summary-stats small{display:block;margin-top:4px;color:#1421408c;font-size:11px;font-weight:650}@media (max-width: 640px){.tw-lp-summary-stats{grid-template-columns:1fr}}.tw-lp-signal-list{margin:14px 0 0;padding:0 0 0 18px;color:#142140b3;font-size:13px;line-height:1.7}.tw-lp-cases{padding:24px 28px;border-radius:24px;background:#fffc;border:1px solid rgba(15,32,64,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:14px}.tw-lp-cases header{display:flex;align-items:baseline;gap:12px}.tw-lp-cases header h3{margin:0;font-size:18px}.tw-lp-cases header span{margin-left:auto;color:#14214080;font-size:12px}.tw-lp-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tw-lp-case-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#f4f8ffe6,#fffffff2);border:1px solid rgba(15,32,64,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tw-lp-case-card:hover{transform:translateY(-2px);border-color:#0f20401a;box-shadow:0 10px 28px -20px #0f204059}.tw-lp-case-evidence{display:inline-flex;align-items:center;color:#1421408c}.tw-lp-case-thumb{height:130px;border-radius:12px;overflow:hidden;background:#0f20400f;display:flex;align-items:center;justify-content:center}.tw-lp-case-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}.tw-lp-case-thumb-empty{color:#14214066;font-size:12px}.tw-lp-case-body strong{display:block;font-size:14px;margin-bottom:4px}.tw-lp-case-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#4f8dff1f;color:#2c64d6;font-size:11px;margin-bottom:6px}.tw-lp-case-body p{margin:0 0 4px;color:#142140c7;font-size:13px;line-height:1.5}.tw-lp-case-body small{color:#1421408c;font-size:11px}.tw-lp-flow{padding:24px 28px;border-radius:24px;background:#ffffffd9;border:1px solid rgba(15,32,64,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:14px}.tw-lp-flow header{display:flex;align-items:baseline;gap:12px}.tw-lp-flow header h3{margin:0;font-size:18px}.tw-lp-flow header span{margin-left:auto;color:#14214080;font-size:12px}.tw-lp-flow-grid{display:flex;flex-direction:column;gap:12px}.tw-lp-flow-card{position:relative;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#fffffff7,#f4f8ffd9);border:1px solid rgba(15,32,64,.05);display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 20px -16px #0f20402e}.tw-lp-flow-card.tw-lp-tone-warmup{border-left:4px solid #4f8dff}.tw-lp-flow-card.tw-lp-tone-wrong{border-left:4px solid #ff5252}.tw-lp-flow-card.tw-lp-tone-correct{border-left:4px solid #4caf50}.tw-lp-flow-card.tw-lp-tone-accent{border-left:4px solid #8a5cff}.tw-lp-flow-card.tw-lp-tone-exit{border-left:4px solid #ff9f43}.tw-lp-flow-head{display:flex;align-items:center;gap:12px}.tw-lp-step{width:30px;height:30px;border-radius:50%;background:#4f8dff1f;color:#2c64d6;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.tw-lp-flow-titles{display:flex;flex-direction:column;gap:2px}.tw-lp-flow-titles small{color:#1421408c;font-size:11px}.tw-lp-flow-titles h3{margin:0;font-size:16px}.tw-lp-fallback{margin-left:auto;padding:2px 10px;border-radius:999px;background:#ff9f432e;color:#c47120;font-size:11px}.tw-lp-flow-talk{margin:0;color:#142140c7;font-size:14px;line-height:1.6}.tw-lp-flow-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#14214099}.tw-lp-flow-tag{padding:2px 10px;border-radius:999px;background:#0f20400d}.tw-lp-flow-case{padding:10px 12px;border-radius:12px;background:#4f8dff0f;border:1px solid rgba(79,141,255,.18);font-size:12px}.tw-lp-flow-case strong{display:block;margin-bottom:4px;color:#2c64d6}.tw-lp-flow-case p{margin:0 0 4px;color:#142140c7}.tw-lp-flow-case small{color:#1421408c}.tw-lp-demo-section{padding:24px 28px;border-radius:24px;background:#ffffffd9;border:1px solid rgba(15,32,64,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:14px}.tw-lp-demo-section>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.tw-lp-demo-section>header h3{margin:0;font-size:18px}.tw-lp-demo-section>header span{margin-left:auto;color:#14214080;font-size:12px}.tw-lp-demo-list{display:flex;flex-direction:column;gap:12px}.tw-lp-demo-card{padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#fffffff5,#f4f8ffdb);border:1px solid rgba(15,32,64,.05);display:flex;flex-direction:column;gap:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tw-lp-demo-card:hover{transform:translateY(-1px);border-color:#0f20401a;box-shadow:0 10px 28px -20px #0f204059}.tw-lp-demo-card>header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.tw-lp-demo-card strong{display:block;font-size:15px;color:#142140eb}.tw-lp-demo-card p{margin:4px 0 0;color:#14214094;font-size:12px;line-height:1.5}.tw-lp-demo-card>header>span{flex:0 0 auto;padding:3px 9px;border-radius:999px;background:#4f8dff1a;color:#2c64d6;font-size:11px}.tw-lp-demo-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.tw-lp-demo-button{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,32,64,.06);background:#fffffff2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;text-align:left}.tw-lp-demo-mode{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:650}.tw-lp-demo-dot{display:inline-flex;align-items:center;justify-content:center;width:9px;height:9px;border-radius:999px;flex:0 0 auto;box-shadow:0 0 0 3px #0f20400d}.tw-lp-demo-button small{font-size:10px;color:#14214080}.tw-lp-demo-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 22px -16px #0f204066}.tw-lp-demo-button:disabled{opacity:.5;cursor:not-allowed}.tw-lp-demo-button.is-recommended{border-width:2px}.tw-lp-demo-danger.is-recommended{border-color:#ff5252}.tw-lp-demo-success.is-recommended{border-color:#4caf50}.tw-lp-demo-accent.is-recommended{border-color:#8a5cff}.tw-lp-demo-neutral.is-recommended{border-color:#2c64d6}.tw-lp-side-section{padding:18px 20px;border-radius:20px;background:#ffffffd9;border:1px solid rgba(15,32,64,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;flex-direction:column;gap:10px}.tw-lp-side-section header{display:flex;align-items:baseline;gap:10px}.tw-lp-side-section header h3{margin:0;font-size:15px}.tw-lp-side-section header span{margin-left:auto;color:#14214080;font-size:11px}.tw-lp-muted{color:#14214080;font-size:12px;margin:0}.tw-lp-tier{padding:12px;border-radius:14px;background:#0f204008;display:flex;flex-direction:column;gap:6px}.tw-lp-tier-accent{background:linear-gradient(135deg,#8a5cff14,#fff9)}.tw-lp-tier-success{background:linear-gradient(135deg,#4caf5014,#fff9)}.tw-lp-tier-danger{background:linear-gradient(135deg,#ff525214,#fff9)}.tw-lp-tier-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.tw-lp-tier-head strong{font-size:13px}.tw-lp-tier-head span{color:#1421408c;font-size:11px;margin-left:auto}.tw-lp-tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tw-lp-tier li{padding:8px 10px;border-radius:10px;background:#ffffffd9}.tw-lp-tier li p{margin:0 0 4px;font-size:13px;color:#142140d9;line-height:1.5}.tw-lp-tier li small{color:#1421408c;font-size:11px;display:block}.tw-lp-tier li em{font-style:normal;color:#2c64d6;font-size:11px}.tw-lp-eval-points{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.tw-lp-eval-points span{padding:1px 8px;border-radius:999px;background:#0f20400f;font-size:10px;color:#142140a6}.tw-lp-watch-item{padding:12px;border-radius:14px;background:linear-gradient(135deg,#f4f8fff2,#fffffff2);border:1px solid rgba(15,32,64,.05);display:flex;flex-direction:column;gap:6px}.tw-lp-watch-item header{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tw-lp-watch-item strong{font-size:14px}.tw-lp-watch-tag{padding:2px 8px;border-radius:999px;background:#ff52521a;color:#c43d3d;font-size:10px}.tw-lp-watch-pattern{margin:0;font-size:12px;color:#142140b3;line-height:1.5}.tw-lp-watch-question{font-size:12px}.tw-lp-watch-question summary{cursor:pointer;color:#142140d9}.tw-lp-watch-question p{margin:4px 0 2px;color:#142140b3}.tw-lp-watch-question small{color:#14214080}.tw-lp-watch-note{margin:0;font-size:11px;color:#c47120}.tw-lp-mistake{padding:8px 10px;border-radius:10px;background:#0f204008}.tw-lp-mistake summary{cursor:pointer;display:flex;align-items:baseline;gap:8px;font-size:13px}.tw-lp-mistake summary span{color:#142140d9}.tw-lp-mistake summary small{margin-left:auto;color:#1421408c;font-size:11px}.tw-lp-mistake p{margin:6px 0 0;font-size:12px;color:#142140a6;line-height:1.5}.tw-lp-fallback-banner{padding:8px 10px;border-radius:10px;background:#ff9f431a;color:#c47120;font-size:11px;display:flex;flex-wrap:wrap;gap:6px}.teacher-workbench{flex:1;min-height:0;overflow:auto;padding:28px clamp(16px,4vw,40px) 48px;background:radial-gradient(720px 460px at 12% -8%,rgba(61,136,115,.06),transparent 62%),radial-gradient(640px 420px at 88% 4%,rgba(94,164,137,.05),transparent 60%),radial-gradient(520px 380px at 55% 100%,rgba(61,136,115,.04),transparent 64%),var(--bg-warm);color:var(--text-dark)}.tw-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto 22px}.tw-eyebrow,.tw-section-kicker{margin:0 0 6px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tw-header h1{margin:0;font-size:34px;line-height:1.12;font-weight:700;letter-spacing:-.02em}.tw-subtitle{margin:10px 0 0;color:var(--text-light);font-size:15px}.tw-header-actions,.tw-upload-actions,.tw-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%}.tw-metrics{max-width:1440px;margin:0 auto 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tw-metrics-note{grid-column:1 / -1;margin:0;font-size:12px;color:var(--text-light)}.tw-metric{position:relative;padding:16px 18px;border:1px solid var(--glass-border);border-radius:16px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tw-metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.tw-metric-icon{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;color:var(--primary);background:#3d887317}.tw-metric-label{display:block;color:var(--text-light);font-size:13px}.tw-metric strong{display:block;margin-top:8px;font-size:30px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tw-metric small{margin-left:3px;color:var(--text-muted);font-size:14px}.tw-metric-warning .tw-metric-icon{color:var(--accent);background:#ff9f0a1f}.tw-metric-warning strong{color:#b45309}.tw-metric-accent .tw-metric-icon{color:var(--success);background:#34c7591f}.tw-metric-accent strong{color:var(--success)}.tw-shell{max-width:1440px;margin:0 auto;display:flex;align-items:flex-start;gap:18px}.tw-nav{position:sticky;top:-28px;z-index:5;flex:0 0 248px;max-height:calc(100vh - 28px);padding:14px;border:1px solid var(--glass-border);border-radius:20px;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);box-shadow:var(--glass-shadow);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.tw-nav-inner{display:flex;flex-direction:column;gap:12px}.tw-nav-head{display:flex;align-items:center;gap:10px;padding:6px 6px 2px}.tw-nav-head-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 auto;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--primary),#5c8f78);box-shadow:0 6px 16px #3d887347}.tw-nav-head-title{display:grid;gap:1px;min-width:0}.tw-nav-head-title strong{overflow:hidden;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tw-nav-head-title small{color:var(--text-light);font-size:12px}.tw-nav-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 6px}.tw-nav-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;background:#3d887314;color:var(--primary);font-size:11px;font-weight:650;white-space:nowrap}.tw-nav-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.tw-nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:14px;background:transparent;color:var(--text-medium);text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tw-nav-item:hover{background:#3d88730d;color:var(--text-dark)}.tw-nav-item.is-active{background:linear-gradient(135deg,#3d88731f,#5ea4891a);box-shadow:inset 0 0 0 1px #3d887329;color:var(--primary)}.tw-nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:10px;color:var(--text-light);background:#0000000d;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tw-nav-item.is-active .tw-nav-item-icon{color:#fff;background:linear-gradient(135deg,var(--primary),#4d7cf0);box-shadow:0 4px 12px #3d88734d}.tw-nav-item-text{display:grid;gap:1px;min-width:0}.tw-nav-item-text strong{font-size:13.5px;font-weight:700;white-space:nowrap}.tw-nav-item-text small{overflow:hidden;color:var(--text-light);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tw-nav-item-dot{position:absolute;right:10px;width:6px;height:6px;border-radius:999px;background:var(--primary)}@media (max-width: 1080px){.tw-shell{flex-direction:column}.tw-nav{position:static;flex:none;width:100%;max-height:none;overflow:visible}.tw-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.tw-nav{display:none}.tw-flow-tabs-mobile{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1440px;margin:0 auto 18px;border:1px solid var(--border-light);border-radius:999px;padding:4px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);overflow:hidden}.tw-flow-tabs-mobile .tw-flow-tab{min-height:40px;border-radius:999px;text-align:center;padding:0 10px}.tw-flow-tabs-mobile .tw-flow-tab span{font-size:13px}.tw-flow-tabs-mobile .tw-flow-tab.is-active{background:linear-gradient(135deg,var(--primary),#4d7cf0);color:#fff;box-shadow:0 4px 12px #3d88734d}}@media (max-width: 760px){.tw-flow-tabs-mobile .tw-flow-tab span{color:inherit}.tw-shell{gap:14px}}.tw-workspace{flex:1;min-width:0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}.tw-sidebar,.tw-main{min-width:0}.tw-sidebar{position:sticky;top:0;max-height:calc(100vh - 56px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.tw-panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);overflow:hidden;animation:fadeInUp .3s var(--ease-out)}.tw-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--border-soft);background:#fff6}.tw-panel-header h2{margin:0;font-size:19px;line-height:1.25;letter-spacing:-.01em;font-weight:700}.tw-count-pill,.tw-status,.tw-confidence{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 11px;background:var(--bg-inset);color:var(--text-medium);font-size:12px;font-weight:650;white-space:nowrap}.tw-class-list,.tw-batch-list,.tw-mistake-list{display:grid;gap:12px;padding:16px}.tw-batch-list{max-height:min(680px,calc(100vh - 320px));overflow-y:auto;overscroll-behavior:contain}.tw-class-item,.tw-review-item{width:100%;text-align:left;border:1px solid var(--border-light);border-radius:14px;background:#ffffffdb;box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tw-class-item{display:flex;align-items:flex-start;gap:10px;padding:14px}.tw-class-item:hover,.tw-review-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:#3d887333}.tw-class-main{flex:1;min-width:0;border:0;padding:0;text-align:left;background:transparent;cursor:pointer}.tw-class-main:hover .tw-class-name{color:var(--primary)}.tw-class-delete{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;min-height:32px;border-radius:10px;padding:0 10px;border:1px solid rgba(255,59,48,.22);background:#ff3b3012;color:#c31f16;font-size:12px;font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tw-class-delete:hover:not(:disabled){border-color:#ff3b3066;background:#ff3b301f}.tw-class-item.is-active,.tw-review-item.is-active{border-color:#3d887361;background:linear-gradient(135deg,#3d887314,#5ea4890f)}.tw-class-name,.tw-class-meta,.tw-class-foot{display:block}.tw-class-name{color:var(--text-dark);font-size:15px;font-weight:700}.tw-class-meta{margin-top:4px;color:var(--text-light);font-size:12px}.tw-class-progress,.tw-batch-progress,.tw-knowledge-meter{display:block;height:6px;overflow:hidden;border-radius:999px;background:var(--bg-inset)}.tw-class-progress{margin-top:12px}.tw-class-progress span,.tw-batch-progress span,.tw-knowledge-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#4d7cf0);transition:width .4s var(--ease-out)}.tw-class-foot{display:flex;justify-content:space-between;margin-top:10px;color:var(--text-muted);font-size:12px}.tw-form-section{border-top:1px solid var(--border-soft);background:#ffffff4d}.tw-create-assignment{display:grid;gap:10px;padding:16px}.tw-form-create+.tw-form-create{border-top:1px solid var(--border-soft)}.tw-form-hint{margin:0;color:var(--text-muted);font-size:11px;line-height:1.5}.tw-create-assignment label,.tw-answer-box label,.tw-issue-box label{color:var(--text-light);font-size:12px;font-weight:700}.tw-create-assignment input,.tw-upload-actions input,.tw-review-detail textarea{width:100%;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6;color:var(--text-dark);font:inherit;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-create-assignment input,.tw-upload-actions input{min-height:40px;padding:0 12px}.tw-inline-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.tw-upload-panel,.tw-review-panel,.tw-analysis-panel,.tw-mistake-panel{min-height:420px}.tw-upload-zone{display:grid;gap:16px;margin:16px;padding:22px;border:1px dashed rgba(61,136,115,.32);border-radius:16px;background:linear-gradient(180deg,#3d887308,#3d887303)}.tw-upload-zone h3,.tw-batch-card h3,.tw-review-detail h3,.tw-mistake-card h3,.tw-recommendations h3{margin:0;font-size:16px;line-height:1.3;font-weight:700;letter-spacing:-.01em}.tw-upload-zone p,.tw-batch-card p,.tw-review-detail p,.tw-mistake-card p{margin:6px 0 0;color:var(--text-light);font-size:13px;line-height:1.6}.tw-file-input{display:none}.tw-file-list{display:flex;flex-wrap:wrap;gap:8px}.tw-file-list span{max-width:220px;overflow:hidden;border:1px solid var(--border-light);border-radius:10px;padding:6px 10px;background:#ffffffe6;color:var(--text-light);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tw-upload-actions{display:grid;grid-template-columns:minmax(180px,1fr) auto auto}.tw-file-meta-table{display:grid;gap:8px}.tw-file-meta-head,.tw-file-meta-row{display:grid;grid-template-columns:minmax(180px,1.6fr) 74px minmax(120px,1fr) 74px;gap:8px;align-items:center}.tw-file-meta-head{color:var(--text-muted);font-size:12px;font-weight:700}.tw-file-meta-row span{overflow:hidden;color:var(--text-light);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tw-file-meta-row input{min-width:0;min-height:34px;border:1px solid var(--border-light);border-radius:10px;padding:0 10px;background:#ffffffe6;color:var(--text-dark)}.tw-batch-card,.tw-mistake-card{border:1px solid var(--border-light);border-radius:16px;padding:18px;background:#ffffffe6;box-shadow:var(--shadow-card);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tw-batch-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:#3d88732e}.tw-batch-top,.tw-mistake-top,.tw-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tw-status-grading,.tw-status-running{color:var(--primary);background:#3d88731a}.tw-status-uploaded,.tw-status-pending{color:var(--text-medium);background:var(--bg-inset)}.tw-status-review,.tw-status-review_required{color:#b45309;background:#ff9f0a1f}.tw-status-done,.tw-status-completed,.tw-status-accepted{color:#15803d;background:#34c7591f}.tw-status-failed{color:#c31f16;background:#ff3b301a}.tw-status-dot{width:6px;height:6px;margin-right:6px;border-radius:999px;background:currentColor;opacity:.85}.tw-status-dot-running{background:var(--primary);animation:twStatusPulse 1.4s ease-in-out infinite}.tw-status-dot-failed{background:var(--danger)}.tw-status-dot-warning{background:var(--accent)}.tw-status-dot-done{background:var(--success)}@keyframes twStatusPulse{0%,to{opacity:.45}50%{opacity:1}}.tw-batch-progress{margin-top:14px}.tw-batch-stats{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 14px;color:var(--text-light);font-size:13px}.tw-inline-warning,.tw-analysis-state{margin:10px 0 0;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,159,10,.24);background:#ff9f0a14;color:#8a5300;font-size:13px;line-height:1.6}.tw-analysis-accordion{border:1px solid var(--border-light);border-radius:14px;background:#ffffffdb;margin:0 16px 14px;overflow:hidden}.tw-analysis-accordion>summary{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 16px;cursor:pointer;font-weight:700;transition:background var(--dur-fast) var(--ease-out)}.tw-analysis-accordion>summary:hover{background:#3d88730a}.tw-analysis-accordion>summary small{margin-left:auto;color:var(--text-muted);font-size:12px}.tw-analysis-accordion[open]>summary{border-bottom:1px solid var(--border-soft)}.tw-analysis-accordion>.tw-ai-diagnosis,.tw-analysis-accordion>.tw-lesson-flow,.tw-analysis-accordion>.tw-question-insights,.tw-analysis-accordion>.tw-mistake-table,.tw-analysis-accordion>.tw-knowledge-list,.tw-analysis-accordion>.tw-group-grid,.tw-analysis-accordion>.tw-recommendations{margin:0;padding:14px;border:0;background:transparent}.tw-page-detail-list{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.tw-page-detail-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-subtle);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-page-detail-row:hover{border-color:#3d887338;background:#3d887308}.tw-page-detail-row img,.tw-page-thumb-placeholder{width:72px;height:54px;border-radius:10px;object-fit:cover;background:var(--bg-inset)}.tw-page-thumb-placeholder{display:grid;place-items:center;color:var(--text-muted);font-size:12px}.tw-page-detail-row strong,.tw-page-detail-row span,.tw-page-detail-row small{display:block}.tw-page-detail-row span,.tw-page-detail-row small{color:var(--text-light);font-size:12px}.tw-question-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tw-question-chips span,.tw-question-table-row .is-correct,.tw-question-table-row .is-wrong{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700}.tw-question-chips .is-correct,.tw-question-table-row .is-correct{color:#15803d;background:#34c7591f}.tw-question-chips .is-wrong,.tw-question-table-row .is-wrong{color:#b45309;background:#ff9f0a1f}.tw-review-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;padding:16px}.tw-review-list{display:grid;align-content:start;gap:10px;max-height:640px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.tw-review-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;cursor:pointer}.tw-student-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border-radius:999px;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(135deg,var(--primary),#5c8f78);box-shadow:0 3px 10px #3d88733d}.tw-student-avatar-sm{display:inline-flex;width:22px;height:22px;font-size:11px;vertical-align:middle;margin-right:6px;box-shadow:none}.tw-review-score{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 8px;border-radius:10px;background:#3d88731a;color:var(--primary);font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}.tw-review-item{grid-template-columns:auto minmax(0,1fr) auto}.tw-review-item-meta{min-width:0}.tw-review-item-meta strong,.tw-review-item-meta small{display:block}.tw-review-item-meta strong{overflow:hidden;color:var(--text-dark);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.tw-review-item-meta small{overflow:hidden;color:var(--text-light);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tw-review-item-side{display:grid;justify-items:end;gap:4px;flex:0 0 auto}.tw-review-item-side em{color:var(--text-muted);font-size:11px;font-style:normal}.tw-panel-sub{margin:6px 0 0;color:var(--text-light);font-size:13px}.tw-detail-sub{display:flex;align-items:center;color:var(--text-light);font-size:13px}.tw-return-block{margin-top:14px}.tw-return-block label{display:block;margin-bottom:6px;color:var(--text-light);font-size:12px;font-weight:700}.tw-review-item em,.tw-knowledge-row em{color:var(--text-muted);font-size:12px;font-style:normal}.tw-review-detail{min-height:360px;border:1px solid var(--border-light);border-radius:16px;padding:20px;background:var(--bg-subtle)}.tw-confidence{background:#ff9f0a1f;color:#b45309}.tw-answer-box,.tw-issue-box{margin-top:14px;padding:14px 16px;border:1px solid var(--border-light);border-radius:14px;background:#ffffffeb;box-shadow:var(--shadow-xs)}.tw-answer-box p,.tw-issue-box p{margin:8px 0 0;color:var(--text-medium);font-size:14px;line-height:1.7}.tw-original-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;width:100%;margin-top:14px;padding:10px;border:1px solid var(--border-light);border-radius:14px;background:#ffffffeb;color:var(--primary);text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-original-preview:hover{border-color:#3d887359;background:#3d88730a}.tw-original-preview img{width:112px;height:80px;border-radius:10px;object-fit:cover;background:var(--bg-inset)}.tw-original-preview span{font-weight:700}.tw-review-detail textarea{min-height:86px;margin:14px 0;padding:12px;resize:vertical;line-height:1.6}.tw-question-table{display:grid;gap:8px;margin-top:14px;padding:14px 16px;border:1px solid var(--border-light);border-radius:14px;background:#ffffffeb}.tw-question-table-head,.tw-question-table-row{display:grid;grid-template-columns:54px 78px 70px minmax(0,1fr);gap:10px;align-items:start}.tw-question-table-head{color:var(--text-muted);font-size:12px;font-weight:700;padding-bottom:6px;border-bottom:1px solid var(--border-soft)}.tw-question-table-row{color:var(--text-light);font-size:13px;padding:8px 6px;border-radius:8px;transition:background var(--dur-fast) var(--ease-out)}.tw-question-table-row:hover{background:var(--bg-subtle)}.tw-question-table-row strong{color:var(--text-dark)}.tw-original-modal{position:fixed;top:24px;right:24px;bottom:24px;left:24px;z-index:80;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px;border-radius:16px;background:#111827f5;box-shadow:var(--shadow-xl);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tw-original-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff}.tw-original-modal img{min-width:0;min-height:0;width:100%;height:100%;object-fit:contain;border-radius:12px;background:#111827}.tw-explain-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px}.tw-analysis-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.tw-mini-stat{padding:14px;border:1px solid var(--border-light);border-radius:14px;background:var(--glass-bg);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tw-mini-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.tw-mini-stat span{display:block;color:var(--text-light);font-size:13px}.tw-mini-stat strong{display:block;margin-top:8px;font-size:28px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tw-mini-stat small{margin-left:2px;color:var(--text-muted);font-size:13px}.tw-knowledge-list{display:grid;gap:12px;padding:0}.tw-analysis-section{margin:0 16px 16px}.tw-ai-diagnosis{margin:0 16px 16px;padding:16px;border:1px solid rgba(61,136,115,.16);border-radius:14px;background:linear-gradient(135deg,#3d88730d,#3d887305)}.tw-ai-diagnosis p{margin:8px 0 0;color:var(--text-medium);font-size:14px;line-height:1.7}.tw-subsection-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.tw-subsection-title h3{margin:0;color:var(--text-dark);font-size:15px}.tw-subsection-title span{color:var(--text-light);font-size:12px}.tw-mistake-table,.tw-question-insights,.tw-lesson-flow{display:grid;gap:10px}.tw-lesson-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-lesson-step:hover{border-color:#3d887333;background:#3d887308}.tw-lesson-step-index{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-inset);color:var(--text-dark);font-weight:800;font-size:13px}.tw-lesson-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tw-lesson-step-head strong{color:var(--text-dark);font-size:14px}.tw-lesson-step-head span{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:#3d887312;color:var(--primary);font-size:12px;font-weight:750}.tw-lesson-step p{margin:6px 0 0;color:var(--text-medium);font-size:13px;line-height:1.6}.tw-lesson-step small,.tw-lesson-step em{display:block;margin-top:5px;color:var(--text-light);font-size:12px;font-style:normal;line-height:1.5}.tw-demo-wrong_model{border-left:4px solid var(--danger)}.tw-demo-correct_demo{border-left:4px solid var(--success)}.tw-demo-extension_demo{border-left:4px solid #5c8f78}.tw-demo-practice,.tw-demo-script{border-left:4px solid var(--accent)}.tw-question-insight{display:grid;grid-template-columns:126px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-question-insight:hover{border-color:#3d887333;background:#3d887308}.tw-question-insight strong,.tw-question-insight small{display:block}.tw-question-insight small{margin-top:4px;color:var(--text-light);font-size:12px}.tw-question-insight p{margin:0;color:var(--text-medium);font-size:13px;line-height:1.6}.tw-priority-high{border-left:4px solid var(--danger)}.tw-priority-medium{border-left:4px solid var(--accent)}.tw-priority-low{border-left:4px solid var(--success)}.tw-mistake-table-row{display:grid;grid-template-columns:minmax(170px,1fr) 64px 64px minmax(104px,auto);align-items:center;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-mistake-table-row:hover{border-color:#3d887333;background:#3d887308}.tw-mistake-table-row strong,.tw-mistake-table-row small{display:block}.tw-mistake-table-row small{margin-top:3px;color:var(--text-light);font-size:12px}.tw-mistake-table-row span,.tw-mistake-table-row em{color:var(--text-light);font-size:12px;font-style:normal}.tw-mistake-table-row em{justify-self:end;border-radius:999px;padding:5px 9px;font-weight:750}.tw-level-high{color:#c31f16!important;background:#ff3b301a}.tw-level-medium{color:#b45309!important;background:#ff9f0a1f}.tw-level-low{color:var(--primary)!important;background:#3d887314}.tw-knowledge-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,220px) 42px;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-knowledge-row:hover{border-color:#3d887333;background:#3d887308}.tw-knowledge-row strong,.tw-knowledge-row small{display:block}.tw-knowledge-row strong{font-size:14px}.tw-knowledge-row small{margin-top:3px;color:var(--success);font-size:12px}.tw-knowledge-row small.is-warning{color:#b45309}.tw-recommendations{margin:0 16px 16px;padding:16px;border-radius:14px;background:var(--bg-subtle)}.tw-recommendations p{margin:10px 0 0;color:var(--text-medium);font-size:13px;line-height:1.7}.tw-recommendations p:first-child{margin-top:0}.tw-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tw-student-group{min-height:92px;padding:12px;border:1px solid var(--border-light);border-radius:14px;background:#ffffffd1;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tw-student-group:hover{transform:translateY(-2px);border-color:#3d887333}.tw-student-group>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.tw-student-group strong{color:var(--text-dark);font-size:14px}.tw-student-group span,.tw-student-group p{color:var(--text-light);font-size:12px}.tw-student-group p{margin:10px 0 0;line-height:1.6}.tw-mistake-top span{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;padding:0 10px;font-size:12px;font-weight:750}.tw-severity-high .tw-mistake-top span{color:#c31f16;background:#ff3b301a}.tw-severity-medium .tw-mistake-top span{color:#b45309;background:#ff9f0a1f}.tw-mistake-desc{margin-top:12px}.tw-demo-steps{margin:12px 0 14px;padding-left:20px;color:var(--text-light);font-size:13px}.tw-demo-steps li+li{margin-top:5px}.tw-practice-pack{margin:14px 16px 16px;padding:16px;border:1px solid var(--border-light);border-radius:16px;background:var(--bg-subtle)}.tw-practice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tw-practice-head h3{margin:2px 0 0;color:var(--text-dark);font-size:16px}.tw-practice-goal{margin:12px 0;color:var(--text-light);font-size:13px;line-height:1.6}.tw-practice-grid{display:grid;gap:10px}.tw-practice-item{padding:12px;border:1px solid var(--border-light);border-radius:12px;background:#ffffffe6}.tw-practice-item span{color:var(--success);font-size:12px;font-weight:750}.tw-practice-item p{margin:6px 0 0;color:var(--text-medium);font-size:13px;line-height:1.6}.tw-checkpoints{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tw-checkpoints span{border:1px solid var(--border-light);border-radius:999px;padding:5px 10px;color:var(--text-light);background:#ffffffe6;font-size:12px}.tw-empty{padding:26px;border:1px dashed var(--wood-light);border-radius:14px;color:var(--text-light);text-align:center;background:#fff6;line-height:1.6}.tw-skeleton-row{min-height:86px;border-radius:14px;background:linear-gradient(90deg,var(--bg-inset) 0%,#f7f8fb 45%,var(--bg-inset) 90%);background-size:240% 100%;animation:twSkeleton 1.2s ease-in-out infinite}.tw-skeleton-row.is-large{min-height:180px}@keyframes twSkeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.tw-alert{max-width:1440px;margin:0 auto 16px;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,59,48,.24);background:#ff3b3012;color:#a61d14;font-size:14px}.tw-notice{max-width:1440px;margin:0 auto 16px;padding:12px 16px;border-radius:12px;border:1px solid rgba(52,199,89,.24);background:#34c75912;color:#14651f;font-size:14px}.tw-primary-button,.tw-ghost-button,.tw-danger-button,.tw-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border-radius:999px;padding:0 16px;font-size:13px;font-weight:700;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);white-space:nowrap}.tw-primary-button{background:linear-gradient(135deg,var(--primary),#4d7cf0);color:#fff;box-shadow:0 6px 16px #3d887342}.tw-primary-button:hover:not(:disabled){box-shadow:0 10px 24px #3d887357;transform:translateY(-1px)}.tw-ghost-button{background:#ffffffb3;color:var(--text-dark);border:1px solid var(--border-light)}.tw-ghost-button:hover:not(:disabled){border-color:var(--wood-light);background:#fff;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.tw-danger-button{background:#ff3b3014;color:#c31f16;border:1px solid rgba(255,59,48,.24)}.tw-danger-button:hover:not(:disabled){border-color:#ff3b306b;background:#ff3b3024}.tw-text-button{color:var(--primary);background:transparent;padding-inline:6px}.tw-text-button:hover:not(:disabled){background:#3d88730f}.tw-small-button{min-height:34px;padding-inline:14px}.tw-full-button{width:100%;justify-content:center}.tw-primary-button:disabled,.tw-ghost-button:disabled,.tw-danger-button:disabled,.tw-text-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.tw-sm-panel{overflow:visible}.tw-sm-body{display:flex;flex-direction:column;gap:18px;padding:16px}.tw-sm-tabs{align-self:flex-start}@media (max-width: 860px){.tw-sm-tabs{align-self:stretch}}.tw-sm-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tw-sm-bar-note{margin:0;color:var(--text-light);font-size:13px}.tw-sm-table-scroll{overflow-x:auto;border:1px solid var(--border-light);border-radius:14px;background:#ffffffb3}.tw-sm-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}.tw-sm-table th{padding:12px 14px;color:var(--text-muted);font-size:12px;font-weight:700;text-align:left;background:var(--bg-subtle);border-bottom:1px solid var(--border-soft);white-space:nowrap}.tw-sm-table td{padding:11px 14px;color:var(--text-medium);border-bottom:1px solid var(--border-soft);transition:background var(--dur-fast) var(--ease-out)}.tw-sm-table tbody tr:hover td{background:#3d88730a}.tw-sm-table tbody tr:last-child td{border-bottom:0}.tw-sm-code{font-family:SF Mono,JetBrains Mono,ui-monospace,monospace;font-size:16px;font-weight:750;letter-spacing:.5px;color:var(--primary)}.tw-sm-opts{display:inline-flex;gap:8px}.tw-sm-opt{padding:4px 12px;border-radius:999px;border:1px solid var(--border-light);background:#fffc;color:var(--text-medium);font-size:12px;font-weight:650;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tw-sm-opt:hover{border-color:#3d88734d;color:var(--primary);background:#fff}.tw-sm-opt-danger{color:#c31f16}.tw-sm-opt-danger:hover{border-color:#ff3b3066;color:#c31f16;background:#ff3b300f}.tw-sm-student-list{display:grid;gap:10px;min-width:0}.tw-sm-student-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--border-light);border-radius:14px;background:#ffffffdb;text-align:left;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tw-sm-student-item:hover{transform:translateY(-2px);border-color:#3d887338;box-shadow:var(--shadow-card-hover)}.tw-sm-student-item.is-active{border-color:#3d887361;background:linear-gradient(135deg,#3d887314,#5ea4890f)}.tw-sm-student-meta{display:grid;gap:2px;min-width:0}.tw-sm-student-meta strong{color:var(--text-dark);font-size:14px}.tw-sm-student-meta small,.tw-sm-student-meta em{overflow:hidden;color:var(--text-light);font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.tw-sm-student-meta em{color:var(--text-muted);font-size:11px}.tw-sm-student-detail{min-width:0}.tw-sm-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.tw-sm-detail-head h4{margin:0;font-size:17px;font-weight:700}.tw-sm-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}@media (max-width: 860px){.tw-sm-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tw-sm-stat{padding:16px;border:1px solid var(--border-light);border-radius:14px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-card);text-align:center;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tw-sm-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.tw-sm-stat-value{font-size:24px;font-weight:750;line-height:1.1;letter-spacing:-.02em;color:var(--primary);font-variant-numeric:tabular-nums}.tw-sm-stat-label{margin-top:5px;color:var(--text-light);font-size:12px}.tw-sm-subhead{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-soft);color:var(--text-dark);font-size:14px;font-weight:700}.tw-sm-none{color:var(--text-muted);font-size:13px}.tw-sm-ellipsis{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 860px){.tw-sm-students{display:flex;flex-direction:column;gap:16px}}.tw-flow-tabs{display:none}.tw-flow-tab{min-height:40px;border-radius:999px;color:var(--text-light);text-align:center;padding:0 12px}.tw-flow-tab span{display:block;color:var(--text-medium);font-size:13px;font-weight:700}@media (max-width: 1180px){.tw-workspace,.tw-explain-grid{grid-template-columns:1fr}.tw-sidebar{position:static;max-height:none}.tw-class-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.teacher-workbench{padding:20px 14px 36px}.tw-header,.tw-batch-top,.tw-mistake-top,.tw-detail-head{flex-direction:column}.tw-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-class-list,.tw-analysis-summary,.tw-review-layout,.tw-upload-actions{grid-template-columns:1fr}.tw-file-meta-head{display:none}.tw-file-meta-row,.tw-question-table-head,.tw-question-table-row,.tw-inline-fields,.tw-knowledge-row,.tw-mistake-table-row,.tw-question-insight,.tw-group-grid{grid-template-columns:1fr}.tw-mistake-table-row em{justify-self:start}}.tracking-dashboard{max-width:1200px;margin:0 auto;padding:28px 24px 64px;position:relative}.tracking-dashboard:before,.tracking-dashboard:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}.tracking-dashboard:before{top:-60px;right:-80px;width:380px;height:380px;background:radial-gradient(circle,#3d88731a,#3d887300 70%)}.tracking-dashboard:after{top:320px;left:-120px;width:420px;height:420px;background:radial-gradient(circle,#5ea48917,#5ea48900 70%)}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;animation:fadeInUp .4s var(--ease-out) both}.dashboard-hero-title{display:flex;align-items:center;gap:14px;min-width:0}.dashboard-hero-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#3d8873,#5c8f78);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 18px #3d88734d}.dashboard-hero h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--text-dark);line-height:1.2}.dashboard-subtitle{margin:2px 0 0;font-size:13px;color:var(--text-light)}.dashboard-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.channel-selector{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:7px 30px 7px 14px;border:1px solid var(--border-light);border-radius:999px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236e6e73' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center no-repeat,var(--bg-card);font-size:12.5px;font-weight:500;color:var(--text-medium);cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.channel-selector:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #3d88731f}.dashboard-stats{margin-bottom:24px}.dashboard-stats .dk-stat{flex:1;min-width:200px;padding:18px 20px;border-radius:18px;animation:cardStackIn .5s var(--ease-out) both}.dashboard-stats .dk-stat:nth-child(1){animation-delay:0s}.dashboard-stats .dk-stat:nth-child(2){animation-delay:.05s}.dashboard-stats .dk-stat:nth-child(3){animation-delay:.1s}.dashboard-stats .dk-stat:nth-child(4){animation-delay:.15s}.dashboard-stats .dk-stat-value{font-size:34px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;position:relative}.dashboard-stats .dk-stat-label{font-size:13px}.dashboard-stats .dk-stat.dk-stat-blue .dk-stat-value:after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(100deg,transparent 30%,rgba(61,136,115,.12) 50%,transparent 70%);background-size:200% 100%;animation:shimmerSweep 3.2s ease-in-out infinite;pointer-events:none}.dashboard-stats .dk-stat.dk-stat-orange .dk-stat-value:after{content:"";position:absolute;left:0;top:0;height:100%;width:100%;background:linear-gradient(100deg,transparent 30%,rgba(255,159,10,.14) 50%,transparent 70%);background-size:200% 100%;animation:shimmerSweep 3.2s ease-in-out infinite;pointer-events:none}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.dashboard-chart-card{padding:22px 24px;display:flex;flex-direction:column;animation:cardStackIn .5s var(--ease-out) both}.charts-grid>.dashboard-chart-card:nth-child(1){animation-delay:.1s}.charts-grid>.dashboard-chart-card:nth-child(2){animation-delay:.16s}.dashboard-chart-card-wide{margin-bottom:20px;animation-delay:.22s}.dashboard-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-chart-head h3{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text-dark)}.dashboard-chart-head p{margin:3px 0 0;font-size:12px;color:var(--text-light)}.dashboard-chart-badge{font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;background:#78788014;white-space:nowrap}.chart-tooltip{background:#1d1d1feb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 14px;box-shadow:0 12px 32px #00000040;font-size:12px;color:var(--dark-text-primary);min-width:120px}.chart-tooltip-label{font-size:11px;font-weight:600;color:#ffffff8c;margin-bottom:6px}.chart-tooltip-row{display:flex;align-items:center;gap:7px;line-height:1.8}.chart-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-tooltip-name{color:#ffffffbf;flex:1}.chart-tooltip-value{color:#fff;font-variant-numeric:tabular-nums}.chart-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;width:100%}.chart-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-medium);font-weight:500}.chart-legend-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.chart-donut-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.chart-donut-center strong{display:block;font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--text-dark);font-variant-numeric:tabular-nums;line-height:1.2}.chart-donut-center span{font-size:11px;color:var(--text-light)}.dashboard-chart-card .recharts-responsive-container{position:relative}.table-wrapper{max-height:300px;overflow-y:auto;border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{position:sticky;top:0;background:var(--bg-subtle);color:var(--text-light);font-weight:600;font-size:12px;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-light);z-index:1}.data-table td{padding:9px 12px;border-bottom:1px solid var(--border-soft);color:var(--text-medium)}.data-table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.data-table tbody tr:hover{background:#3d88730b}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table code{background:#7878801a;padding:2px 7px;border-radius:6px;font-size:11.5px;color:var(--text-medium)}.empty-row{text-align:center;color:var(--text-light);padding:28px}.empty-row svg{vertical-align:-3px;margin-right:6px;color:var(--success)}.coverage-path{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:600;color:var(--text-dark)}.coverage-ok{color:var(--success)}.coverage-bad{color:var(--danger)}.coverage-warn{color:var(--warning)}.coverage-na{color:var(--text-muted)}.dashboard-footnote{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--text-muted);margin-top:8px}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;gap:12px;color:var(--text-light)}.spinner{width:36px;height:36px;border:3px solid rgba(120,120,128,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-error-icon{color:var(--warning)}.dashboard-error h3{margin:0;font-size:18px;font-weight:600;color:var(--text-dark)}.dashboard-error p{margin:0;font-size:13px}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}.dashboard-stats .dk-stat{min-width:150px}}@media (max-width: 768px){.tracking-dashboard{padding:20px 14px 48px}.dashboard-hero{flex-direction:column;align-items:flex-start}.dashboard-stats{flex-direction:column}.dashboard-stats .dk-stat{min-width:0;width:100%}.dashboard-stats .dk-stat-value{font-size:28px}.dashboard-chart-card{padding:16px 14px}.dashboard-toolbar{width:100%}}.parent-view{min-height:100vh;background:radial-gradient(900px 400px at 85% -5%,#5856d61f,#5856d600 65%),radial-gradient(700px 380px at 5% 30%,#0071e31a,#0071e300 60%),linear-gradient(180deg,#f4f3f9,#e9e8f1);padding:40px 20px 56px;position:relative;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Noto Sans SC,Helvetica Neue,sans-serif;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}.parent-view-glow{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.pv-glow-1{top:-80px;right:-100px;width:420px;height:420px;background:radial-gradient(circle,#0071e31f,#0071e300 70%)}.pv-glow-2{bottom:-120px;left:-80px;width:460px;height:460px;background:radial-gradient(circle,#5856d61a,#5856d600 70%)}.parent-view-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}.pv-header{text-align:center;margin-bottom:28px;animation:fadeInUp .5s var(--ease-out) both}.pv-header-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 14px;background:linear-gradient(135deg,#0071e3,#5856d6);color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px #0071e34d}.pv-header h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.03em;color:#1d1d1f}.pv-header p{margin:8px 0 0;color:var(--text-light, #6e6e73);font-size:13px}.pv-range-chip{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:5px 14px;border-radius:999px;background:#ffffffbf;border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .04));font-size:12px;color:var(--text-medium, #424245);font-weight:500}.pv-stats{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}.pv-stat-card{flex:1;min-width:220px;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;background:#fffc;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04)),0 4px 12px #00000008;transition:transform .25s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1)),box-shadow .25s ease;animation:cardStackIn .5s var(--ease-out) both}.pv-stat-card:nth-child(2){animation-delay:.06s}.pv-stat-card:nth-child(3){animation-delay:.12s}.pv-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover, 0 8px 30px rgba(0, 0, 0, .1))}.pv-stat-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.pv-stat-icon.blue{background:#0071e31a;color:#0071e3}.pv-stat-icon.green{background:#34c7591f;color:#248a3d}.pv-stat-icon.red{background:#ff3b301a;color:#ff3b30}.pv-stat-icon.purple{background:#5856d61f;color:#5856d6}.pv-stat-body{display:flex;flex-direction:column;gap:1px;min-width:0}.pv-stat-label{font-size:12px;color:var(--text-light, #6e6e73);font-weight:500}.pv-stat-value{font-size:26px;font-weight:700;letter-spacing:-.03em;color:#1d1d1f;line-height:1.25;font-variant-numeric:tabular-nums}.pv-stat-value.danger{color:#ff3b30}.pv-stat-value.ok{color:#248a3d}.pv-stat-sub{font-size:11.5px;color:var(--text-muted, #86868b)}.pv-report-card{background:#ffffffd9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04)),0 4px 12px #00000008;animation:cardStackIn .5s var(--ease-out) .15s both}.pv-card-head{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid rgba(0,0,0,.05);background:#fff6}.pv-card-head-icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#0071e31f,#5856d61f);color:#0071e3;display:grid;place-items:center;flex-shrink:0}.pv-card-head h2{margin:0;font-size:16px;font-weight:700;color:#1d1d1f}.pv-card-head p{margin:2px 0 0;font-size:12px;color:var(--text-light, #6e6e73)}.pv-table-wrap{overflow-x:auto}.pv-table{width:100%;border-collapse:collapse;font-size:13px}.pv-table th{background:#f4f3f9e6;color:var(--text-muted, #86868b);font-size:12px;font-weight:600;text-align:left;padding:12px 20px;white-space:nowrap}.pv-table td{padding:13px 20px;border-top:1px solid rgba(0,0,0,.045);color:var(--text-medium, #424245)}.pv-table tbody tr{transition:background .18s ease}.pv-table tbody tr:hover{background:#0071e30a}.pv-exp-name{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:#1d1d1f;white-space:nowrap}.pv-exp-icon{width:28px;height:28px;border-radius:9px;background:#0071e314;color:#0071e3;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pv-type-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;background:#7878801a;color:var(--text-medium, #424245);white-space:nowrap}.pv-type-chip.advanced{background:#5856d61f;color:#5856d6}.pv-time{color:var(--text-light, #6e6e73);white-space:nowrap}.pv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 20px;color:var(--text-muted, #86868b)}.pv-empty p{margin:0;font-size:13px}.pv-error-card{background:#ffffffd9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:20px;padding:52px 32px;text-align:center;box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .04)),0 4px 12px #00000008;animation:cardStackIn .4s var(--ease-out) both}.pv-error-icon{width:60px;height:60px;border-radius:18px;margin:0 auto 16px;background:#ff9f0a1f;color:var(--warning, #ff9f0a);display:grid;place-items:center}.pv-error-card h2{margin:0 0 8px;font-size:18px;font-weight:700;color:#1d1d1f}.pv-error-card p{margin:0;color:var(--text-light, #6e6e73);font-size:13px}.pv-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 0;color:var(--text-light, #6e6e73);font-size:13px}.pv-spinner{width:34px;height:34px;border:3px solid rgba(0,113,227,.15);border-top-color:#0071e3;border-radius:50%;animation:pv-spin .8s linear infinite}@keyframes pv-spin{to{transform:rotate(360deg)}}.pv-footer{display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;color:#b0b0b5;font-size:12px;margin-top:22px}@media (max-width: 640px){.parent-view{padding:28px 12px 40px}.pv-stat-card{min-width:100%}.pv-table th,.pv-table td{padding:11px 12px}.pv-card-head{padding:15px 16px}.pv-header h1{font-size:22px}}@media (prefers-reduced-motion: reduce){.pv-stat-card,.pv-report-card,.pv-header,.pv-error-card{animation:none}}:root{--m-green: #3d8873;--m-green-dark: #2f6e5a;--m-green-deep: #265247;--m-green-soft: #6ba88f;--m-green-fill: #e8f3ee;--m-green-fill-2: #d9ece4;--m-green-ring: #3d8873;--m-gold: #c9a227;--m-gold-soft: #efe6c8;--m-text: #2c3a35;--m-text-2: #5c6b64;--m-text-3: #8a968f;--m-card: rgba(255, 255, 255, .78);--m-card-solid: #ffffff;--m-bg: #f4f6f4;--m-border: rgba(61, 136, 115, .14);--m-gradient: linear-gradient(135deg, #2f6e5a 0%, #3d8873 55%, #6ba88f 100%);--m-gradient-soft: linear-gradient(135deg, #e8f3ee 0%, #f2f8f4 100%)}.app-container{background:var(--m-bg)}.app-shell{background:#eef1ef}.app-shell{flex:1;min-height:0;display:flex;overflow:hidden}.app-shell-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.app-shell-main.with-page-footer{overflow-y:auto}.app-shell-main.with-page-footer .view-transition{flex:0 0 auto;display:block}.app-shell-main .view-transition,.main-content .view-transition{flex:1;min-height:0;display:flex;flex-direction:column}@media (max-width: 900px){.app-shell-main{flex:1}}.app-container.lab-fullscreen .left-nav,.app-container.lab-fullscreen .navbar{display:none}.app-container.lab-fullscreen .app-shell{height:100vh}.learning-center{--lc-accent-blue: #3d8873;--lc-accent-purple: #5c8f78;--lc-accent-green: #3d8873;--lc-accent-red: #cf6b5a;--lc-accent-orange: #c9a227;--lc-bg-start: #f4f6f4;--lc-bg-end: #e9efe9}.explore-cat-tab.active{background:var(--m-gradient);box-shadow:0 4px 12px #3d887347}.explore-card.is-advanced{border-color:#5ea4893d}.explore-card:hover{border-color:#3d88735c}.explore-card:hover .explore-card-enter,.explore-card-enter{color:var(--m-green-dark)}.explore-lock-chip{background:var(--m-green-fill);color:var(--m-green-dark)}.explore-section-head h2{color:var(--m-text)}.explore-section-head span{color:var(--m-text-3)}.explore-vip-banner{background:linear-gradient(90deg,#5ea48924,#3d887314);border-color:#5ea4893d}.evb-icon{color:var(--m-green-dark);background:#5ea48929}.evb-text strong{color:var(--m-text)}.evb-text span{color:var(--m-text-3)}.evb-btn{background:var(--m-gradient);box-shadow:0 4px 14px #3d88734d}.lc-inner-head .lc-nav-title h1{color:var(--m-text)}.lc-inner-head .lc-nav-greeting{color:var(--m-text-3)}.lc-inner-head .lc-vip-btn{color:#8a6d12;background:var(--m-gold-soft);border-color:#c9a2274d}.app-container .navbar{background:#fff!important;border-bottom:1px solid #ecf2ef!important;box-shadow:0 1px #275b4a0d!important;height:60px;padding:0 22px}.app-container .brand-text h1{color:#26352f!important}.app-container .brand-text span{color:#8a9891!important}.app-container .nav-link{color:#41504a!important}.app-container .nav-link:hover{color:#2f6e5a!important;background:#eef7f3!important}.app-container .nav-link.active{color:#2f6e5a!important;background:#e6f1ec!important;font-weight:650}.app-container .nav-search{background:#f2f6f4!important;border-color:#e2ece8!important}.app-container .nav-user-chip{background:#fff!important;border-color:#dce9e4!important}.app-container .nav-user-name{color:#26352f!important}.app-container .nav-login-btn{color:#2f6e5a!important;background:#fff!important;border:1px solid #dce9e4!important}.app-container .nav-login-btn:hover{background:#eef7f3!important}.app-container .nav-cta-btn{background:linear-gradient(135deg,#2f6e5a,#3d8873 55%,#6ba88f)!important;box-shadow:0 5px 16px #3d88733d!important}.app-container .nav-cta-btn:hover{box-shadow:0 8px 22px #3d887352!important}.app-container .left-nav{background:#fcfdfc!important;border-right:1px solid #ecf2ef!important}.app-container .left-nav-item{color:#5c6b64!important}.app-container .left-nav-item.active{background:#e6f1ec!important;color:#2f6e5a!important}.app-container{--bg-warm: #f4f6f4}.app-shell .dk-btn-primary,.app-shell .dk-btn-primary:hover{background:var(--m-gradient)!important;box-shadow:0 5px 16px #3d887347;color:#fff!important;border-color:transparent!important}.app-shell .dk-btn-primary:hover{transform:translateY(-1px)}.app-shell .dk-segmented{background:#3d88731a;box-shadow:inset 0 1px 2px #00000008}.app-shell .dk-seg-item.active{background:var(--m-gradient);color:#fff}.app-shell .dk-seg-item.active .dk-seg-icon{color:#fff!important}.app-shell .dk-chip-blue{background:var(--m-green-fill);color:var(--m-green-dark)}.app-shell .dk-chip-orange{background:var(--m-gold-soft);color:#8a6d12}.app-shell .dk-chip-purple{background:#5ea4892e;color:var(--m-green-dark)}.app-shell .dk-chip .dk-chip-blue,.app-shell .dk-chip-blue,.app-shell .dk-chip-purple{box-shadow:none}.app-shell .dk-stat{background:#fff;border:1px solid var(--m-border)}.app-shell .dk-stat-blue .dk-stat-icon,.app-shell .dk-stat-green .dk-stat-icon{color:var(--m-green);background:var(--m-green-fill)}.app-shell .dk-stat-orange .dk-stat-icon{color:#8a6d12;background:var(--m-gold-soft)}.app-shell .dk-stat-purple .dk-stat-icon{color:var(--m-green);background:#5ea4892e}.app-shell .dk-section-title{color:var(--m-text)}.app-shell .dk-section-sub{color:var(--m-text-3)}.app-shell .dk-tag,.learning-center .guest-card-icon.blue{background:var(--m-green-fill);color:var(--m-green-dark)}.learning-center .guest-card-icon.purple{background:#5ea4892e;color:var(--m-green-dark)}.learning-center .guest-card-icon.red{background:#cf6b5a29;color:#b4593f}.learning-center .guest-card-icon.vip-card,.learning-center .vip-chip{background:var(--m-gold-soft);color:#8a6d12}.app-container{--primary: #3d8873;--primary-light: #6ba88f;--primary-dark: #2f6e5a;--bg-warm: #f4f6f4;--bg-card: rgba(255, 255, 255, .82);--bg-subtle: #f4f6f4;--text-dark: #2c3a35;--text-medium: #5c6b64;--text-light: #5c6b64;--text-muted: #8a968f;--border-light: rgba(61, 136, 115, .12);--border-soft: rgba(61, 136, 115, .08);--glass-border: rgba(61, 136, 115, .14)}.boot-screen{--primary: #3d8873;--bg-card: rgba(255, 255, 255, .85);--text-dark: #2c3a35;--text-medium: #5c6b64;--text-muted: #8a968f;--border-light: rgba(61, 136, 115, .14)}.app-shell .message.user{background:var(--m-gradient);box-shadow:0 2px 12px #3d88734d}.app-shell .message.ai{color:var(--m-text);border-color:var(--m-border)}.app-shell .chat-input-area input:focus{box-shadow:0 0 0 4px #3d887329}.app-shell .chat-header h3{color:var(--m-text)}.app-shell .chat-header-icon{color:var(--m-green);background:var(--m-green-fill)}.cln-canvas-shell{width:100%;min-height:320px;overflow:hidden;border:1px solid #dce5ef;border-radius:14px;background:#f8fbff;box-shadow:inset 0 1px #ffffffd9}.cln-canvas{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none}.cln-grid-minor{fill:none;stroke:#e8eef6;stroke-width:1}.cln-grid-major{fill:none;stroke:#dbe5f0;stroke-width:1.2}.cln-cable{fill:none;stroke:#344256;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.cln-cable.is-selected{stroke:#1677ff;stroke-width:5}.cln-cable-hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer}.cln-junction{fill:#344256;stroke:#f8fbff;stroke-width:2;cursor:grab}.cln-junction.is-selected,.cln-junction.is-active{fill:#1677ff;stroke:#dcecff}.cln-junction.is-connectable{cursor:crosshair}.cln-crossing{fill:#f8fbff;stroke:#344256;stroke-width:3;pointer-events:none}.cln-component{cursor:grab}.cln-component:active{cursor:grabbing}.cln-component.is-guided .cln-symbol{stroke:#ef4444;filter:drop-shadow(0 0 7px rgb(239 68 68 / 55%));animation:cln-guided-pulse .8s ease-in-out infinite alternate}@keyframes cln-guided-pulse{to{filter:drop-shadow(0 0 13px rgb(239 68 68 / 80%))}}.cln-symbol{fill:#f8fbff;stroke:#53657c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.cln-symbol text,.cln-component-label{fill:#2e3b4e;stroke:none;font-family:Inter,Microsoft YaHei,sans-serif}.cln-component-label{text-anchor:middle;font-size:17px;font-weight:650;pointer-events:none}.cln-meter text{text-anchor:middle;font-size:30px;font-weight:600}.cln-meter .cln-polarity{font-size:13px;font-weight:700}.cln-rheostat text,.cln-spdt text,.cln-power text{font-size:13px;font-weight:700}.cln-selection-box{fill:#1677ff0d;stroke:#1677ff;stroke-width:2;stroke-dasharray:7 5;pointer-events:none}.cln-terminal{fill:#f8fbff;stroke:#53657c;stroke-width:3}.cln-terminal.is-connectable{cursor:crosshair;fill:#fff;stroke:#1677ff}.cln-terminal.is-connectable:hover,.cln-terminal.is-active{fill:#1677ff;stroke:#eaf3ff;stroke-width:4}.cln-agent{display:flex;min-height:360px;flex-direction:column;overflow:hidden;border:1px solid #dbe4ef;border-radius:13px;background:#ffffffeb}.cln-agent>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid #e6edf5}.cln-agent>header h2{margin:1px 0 0;font-size:15px}.cln-agent>header small{color:#1677ff;font-size:10px;font-weight:800;letter-spacing:.08em}.cln-agent>header>span{color:#6b7c91;font-size:11px;text-align:right}.cln-agent-messages{display:flex;min-height:190px;max-height:330px;flex:1;flex-direction:column;gap:8px;overflow-y:auto;padding:10px}.cln-agent-messages article{max-width:92%;border-radius:12px 12px 12px 3px;background:#edf3f9;padding:9px 10px;color:#34465d;font-size:12px;line-height:1.55}.cln-agent-messages article.is-user{align-self:flex-end;border-radius:12px 12px 3px;background:#1677ff;color:#fff}.cln-agent-messages article.is-error{border:1px solid #ffd1d1;background:#fff1f1;color:#b63d3d}.cln-agent-messages p{margin:0;white-space:pre-wrap}.cln-agent-messages small{opacity:.75}.cln-agent-image{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:7px;margin:0 9px 8px;border:1px solid #dce7f2;border-radius:9px;padding:5px;font-size:10px}.cln-agent-image img{width:42px;height:36px;border-radius:5px;object-fit:cover}.cln-agent-image span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cln-agent-image button{border:0;background:transparent;color:#c44;cursor:pointer}.cln-agent-compose{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;padding:9px;border-top:1px solid #e6edf5}.cln-agent-compose textarea{resize:none;border:1px solid #d4dfeb;border-radius:10px;padding:8px;color:#304259;font:12px/1.45 Inter,Microsoft YaHei,sans-serif}.cln-agent-compose button,.cln-agent-upload{display:grid;min-width:48px;place-items:center;border:0;border-radius:9px;padding:0 9px;color:#fff;cursor:pointer;font:650 12px Inter,Microsoft YaHei,sans-serif}.cln-agent-upload{background:#e9f4ff;color:#146fc9}.cln-agent-upload input{display:none}.cln-agent-compose .is-send{background:#1677ff}.cln-agent-compose .is-stop{background:#ef4444}.cln-failure-backdrop{position:fixed;z-index:1100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0b142294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.cln-failure-alert{display:grid;width:min(650px,100%);grid-template-columns:62px minmax(0,1fr);gap:18px;border:1px solid rgb(255 91 91 / 40%);border-radius:20px;background:#172039;padding:26px;color:#eef4ff;box-shadow:0 28px 90px #00000061}.cln-failure-icon{display:grid;width:58px;height:58px;place-items:center;border:2px solid #ff5353;border-radius:50%;color:#ff5353;font-size:32px;font-weight:800}.cln-failure-alert small{color:#f77;font-weight:750;letter-spacing:.08em}.cln-failure-alert h2{margin:5px 0 12px;color:#ff5656;font-size:24px}.cln-failure-alert p{margin:0;color:#e1e8f5;line-height:1.75}.cln-failure-components{margin-top:12px;border-radius:8px;background:#ffffff12;padding:8px 10px;color:#bfcce0;font-size:12px}.cln-failure-alert footer{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:9px}.cln-failure-alert button{border:1px solid #41557a;border-radius:9px;background:#233252;padding:9px 14px;color:#dbe8ff;cursor:pointer}.cln-failure-alert button.is-primary{border-color:#ef3e45;background:#ef3e45;color:#fff}@media (max-width: 560px){.cln-failure-alert{grid-template-columns:1fr}.cln-failure-icon{width:46px;height:46px}}.cln-editor-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f1c2d6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cln-editor{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #d8e2ee;border-radius:20px;background:#fff;box-shadow:0 24px 70px #142a4638;color:#25364c;font-family:Inter,Microsoft YaHei,sans-serif}.cln-editor header,.cln-editor footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.cln-editor header{border-bottom:1px solid #e8eef5}.cln-editor footer{justify-content:flex-end;border-top:1px solid #e8eef5}.cln-editor h2{margin:2px 0 0;font-size:19px}.cln-editor small{color:#7a899b}.cln-editor button{border:1px solid #d4deea;border-radius:9px;background:#fff;padding:8px 14px;color:#34465d;cursor:pointer}.cln-editor header button{border:0;padding:4px 8px;font-size:25px}.cln-editor button.is-primary{border-color:#1677ff;background:#1677ff;color:#fff}.cln-editor-body{display:grid;gap:14px;padding:20px}.cln-field,.cln-meter-jacks label{display:grid;gap:7px;color:#52647a;font-size:13px;font-weight:650}.cln-field input,.cln-field select,.cln-meter-jacks select{min-height:40px;border:1px solid #ccd8e5;border-radius:9px;background:#fbfdff;padding:7px 10px;color:#26374d;font:inherit}.cln-number-input{display:flex;align-items:center}.cln-number-input input{width:100%;padding-right:48px}.cln-number-input em{width:42px;margin-left:-47px;color:#73839a;font-style:normal;text-align:right}.cln-toggle{display:flex;align-items:center;gap:8px;font-weight:650}.cln-slider-field{grid-template-columns:92px minmax(0,1fr) 45px;align-items:center}.cln-slider-field input{min-height:auto;padding:0}.cln-meter-jacks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cln-meter-preview{border:1px solid #e0e8f1;border-radius:14px;background:#f7faff;padding:8px 14px 12px;text-align:center}.cln-meter-preview svg{display:block;width:100%;max-height:230px}.cln-meter-preview line{stroke:#40516a;stroke-width:2}.cln-meter-preview line.is-major{stroke-width:5}.cln-dial-shell{fill:#fffdf6;stroke:#40516a;stroke-width:7}.cln-dial-number{fill:#34465e;font:650 13px Inter,sans-serif;text-anchor:middle}.cln-dial-number.is-inner{fill:#708099;font-size:11px}.cln-dial-unit{fill:#30425b;font:700 34px Georgia,serif;text-anchor:middle}.cln-dial-needle{stroke:#ef4444!important;stroke-width:5!important}.cln-dial-pivot{fill:#40516a}.cln-meter-preview strong{font-size:18px}@media (max-width: 560px){.cln-meter-jacks{grid-template-columns:1fr}}.cln-process-guide{border:1px solid #dce6f1;border-left:4px solid #4389e9;border-radius:11px;background:#f6faff;padding:11px}.cln-process-guide>header{display:flex;align-items:center;gap:8px}.cln-process-guide>header>span{border-radius:999px;background:#dcebff;padding:3px 7px;color:#176bc8;font-size:10px;font-weight:800}.cln-process-guide>header>strong{font-size:13px}.cln-process-guide>p{margin:8px 0;color:#53667d;font-size:12px;line-height:1.55}.cln-latest-action{display:block;margin-bottom:8px;color:#718198}.cln-process-guide ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.cln-process-guide li{display:flex;align-items:center;gap:7px;color:#8290a2;font-size:11px}.cln-process-guide li i{display:grid;width:17px;height:17px;place-items:center;border:1px solid #cbd7e4;border-radius:50%;font-style:normal}.cln-process-guide li.is-complete{color:#27835a}.cln-process-guide li.is-complete i{border-color:#7bd1a6;background:#e8f8ef}.cln-process-guide.is-ready{border-left-color:#2aab70;background:#f1fbf6}.cln-process-guide.is-danger{border-left-color:#ef4444;background:#fff5f5}.cln-process-guide.is-danger>header>span{background:#ffe2e2;color:#c93636}.cln-workbench{display:flex;min-height:640px;flex-direction:column;overflow:hidden;border:1px solid #dbe4ef;border-radius:18px;background:#eef3f8;color:#243247;font-family:Inter,Microsoft YaHei,sans-serif}.cln-toolbar{display:flex;min-height:58px;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid #dbe4ef;background:#ffffffeb}.cln-toolbar button,.cln-palette button{border:1px solid #d4deea;border-radius:9px;background:#fff;color:#314158;cursor:pointer;font:inherit}.cln-toolbar button{padding:8px 13px}.cln-toolbar button:hover:not(:disabled),.cln-toolbar button.is-active{border-color:#1677ff;background:#eaf3ff;color:#1263d4}.cln-toolbar button:disabled{cursor:not-allowed;opacity:.42}.cln-mode-group,.cln-history-group{display:flex;gap:7px}.cln-solver-state{margin-left:auto;padding:7px 11px;border-radius:999px;background:#edf1f6;color:#637187;font-size:13px}.cln-solver-state.is-ok{background:#e8f8ef;color:#20824c}.cln-solver-state.is-invalid{background:#fff0f0;color:#c23d3d}.cln-workbench-body{display:grid;flex:1;grid-template-columns:150px minmax(0,1fr) 310px;gap:12px;padding:12px}.cln-palette,.cln-inspector{overflow:auto;border:1px solid #dbe4ef;border-radius:13px;background:#ffffffe0;padding:12px}.cln-palette h2,.cln-inspector h2{margin:0 0 10px;font-size:14px}.cln-palette{display:flex;align-content:flex-start;flex-direction:column;gap:7px}.cln-palette button{padding:9px 8px;text-align:left}.cln-palette button:hover{border-color:#8cbcff;background:#f1f7ff}.cln-stage{min-width:0}.cln-stage-tip,.cln-empty{margin:8px 4px 0;color:#7b889b;font-size:12px}.cln-inspector section+section{margin-top:22px}.cln-reading{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f5;font-size:13px}.cln-finding{margin-top:8px;border-left:3px solid #86a0bd;border-radius:7px;background:#f5f8fb;padding:8px 9px}.cln-finding>span{color:#67788e;font-size:11px;font-weight:700}.cln-finding p{margin:3px 0 0;font-size:12px;line-height:1.5}.cln-finding.is-danger,.cln-finding.is-error{border-left-color:#e34b4b;background:#fff2f2}.cln-finding.is-warning{border-left-color:#e59b24;background:#fff8e9}@media (max-width: 980px){.cln-workbench-body{grid-template-columns:120px minmax(0,1fr)}.cln-inspector{grid-column:1 / -1}}.cln-page{min-height:100vh;padding:22px;background:radial-gradient(circle at 10% 0%,rgb(43 139 255 / 10%),transparent 35%),linear-gradient(180deg,#f8fbff,#edf3f8)}.cln-page-header{display:flex;max-width:1600px;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 auto 18px;color:#22344b}.cln-page-header h1{margin:3px 0 5px;font-size:clamp(25px,3vw,38px)}.cln-page-header p{margin:0;color:#65768c}.cln-page-kicker{color:#1677ff;font-size:12px;font-weight:800;letter-spacing:.16em}.cln-page-header a{flex:none;border:1px solid #cdd9e6;border-radius:10px;background:#fffc;padding:9px 14px;color:#38506d;text-decoration:none}.cln-page>.cln-workbench{max-width:1600px;margin:0 auto}@media (max-width: 720px){.cln-page{padding:12px}.cln-page-header{flex-direction:column}}.adv-lab{display:flex;flex-direction:column;height:100%;min-height:0;background:#f5f5f7}.adv-lab-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#1d1d1f;color:#fff;gap:20px;flex-shrink:0}.adv-header-left{display:flex;align-items:center;gap:12px}.adv-header-left h2{margin:0;font-size:18px;font-weight:600;color:#fff}.adv-header-center{flex:1}.adv-header-actions{display:flex;align-items:center;gap:12px}.question-context{background:#ffffff1a;padding:8px 16px;border-radius:8px;font-size:13px}.vip-tag{padding:3px 8px;background:#0071e3;border-radius:6px;font-size:11px;font-weight:600}.env-controls{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#ffffff1a;border-radius:8px;font-size:12px;color:#fff;white-space:nowrap}.env-controls select{padding:4px 8px;border-radius:4px;border:none;background:#ffffffe6;font-size:12px;color:#1d1d1f;cursor:pointer}.run-btn{padding:8px 20px;background:#34c759;border:none;border-radius:10px;color:#fff;font-weight:600;cursor:pointer;transition:all .15s}.run-btn:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 2px 8px #34c7594d}.run-btn:disabled{opacity:.5;cursor:not-allowed}.run-btn.pause-btn{background:#ff9f0a}.run-btn.stop-btn{background:#ff3b30}.back-btn{padding:6px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;cursor:pointer}.panel-toggle-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:12px;cursor:pointer}.panel-toggle-btn:hover{background:#fff3}.panel-toggle-btn.active{background:#0071e3;border-color:#0071e3}.adv-lab-body{display:flex;flex:1;min-height:0;overflow:hidden}.adv-console{flex-shrink:0;min-width:0;background:#fff;border-right:1px solid rgba(0,0,0,.08);overflow-y:auto;padding:16px;overflow-x:hidden;transition:width .3s cubic-bezier(.4,0,.2,1)}.adv-console.collapsed{width:0;padding:0;overflow:hidden;border-right:0}.adv-console::-webkit-scrollbar{width:6px}.adv-canvas-wrap{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff}.adv-preview{flex-shrink:0;min-width:0;display:flex;flex-direction:column;background:#dfe6ee}.adv-lab-footer{flex-shrink:0;padding:10px 20px;background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08)}.adv-lab-footer .formula-reminder{font-size:12px;color:#6e6e73;text-align:center;line-height:1.5}.adv-lab-footer .formula-reminder strong{color:#0071e3}.mobile-only,.adv-mobile-tabs{display:none}.adv-mobile-dropdown{background:#1e293b;padding:12px 16px;display:none;gap:12px;flex-wrap:wrap;border-bottom:1px solid #334155}.mobile-dropdown-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#cbd5e1}@media (max-width: 768px){.mobile-only{display:flex}.adv-lab{height:100vh;height:100dvh}.adv-lab-header{padding:10px 12px;gap:10px}.adv-header-left h2{font-size:14px}.adv-header-actions{display:flex}.adv-header-actions .env-controls{display:none}.adv-mobile-dropdown{display:flex}.adv-mobile-tabs{display:flex;background:#f1f5f9;padding:8px;gap:8px;flex-shrink:0}.adv-mobile-tabs button{flex:1;padding:10px;border:none;border-radius:8px;background:#fff;font-size:13px;font-weight:500;cursor:pointer}.adv-mobile-tabs button.active{background:#0071e3;color:#fff}.adv-lab-body{flex-direction:column;position:relative;overflow:hidden}.adv-console,.adv-canvas-wrap,.adv-preview{display:none;width:100%;min-width:0}.adv-console.mobile-show,.adv-canvas-wrap.mobile-show,.adv-preview.mobile-show{display:flex!important;flex-direction:column;flex:1;width:100%!important;min-height:0;overflow:auto;position:relative!important;transform:none!important}.adv-preview.mobile-show{min-height:300px}.adv-lab-footer{padding:8px 12px}}.adv-console :is(.stat-row,.info-row,.read-row,.data-row,.data-item,.result-data>div,.component-data,.comp-type,.comp-values,.label,.value){white-space:nowrap;flex-wrap:nowrap}.adv-console :is(h4,p,li,ul,ol,.help-list,.tip,.caption,.desc,.error-message,.exam-tip-box,.formula-reminder,.mode-hint){white-space:normal}.adv-console label,.adv-console output{white-space:nowrap}.adv-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px}.adv-guide-card{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:24px;box-shadow:0 24px 60px #00000040}.adv-guide-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:17px;color:#1d1d1f}.adv-guide-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:12px}.adv-guide-step{display:flex;gap:12px;align-items:flex-start}.adv-guide-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#0071e3;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.adv-guide-step strong{font-size:14px;color:#1d1d1f}.adv-guide-step p{margin:2px 0 0;font-size:13px;color:#6e6e73;line-height:1.5}.adv-guide-enter{width:100%;padding:12px;background:#0071e3;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.adv-guide-enter:hover{filter:brightness(1.05)}.resize-divider{width:6px;flex-shrink:0;cursor:col-resize;background:transparent;transition:background .15s;-webkit-user-select:none;user-select:none;touch-action:none}.resize-divider:hover{background:#0071e340}@media (max-width: 768px){.resize-divider{display:none}}:root{color-scheme:light;--primary: #0071e3;--primary-light: #4da3ff;--primary-dark: #0058b0;--accent: #ff9f0a;--accent-light: #ffb340;--danger: #ff3b30;--success: #34c759;--warning: #ff9f0a;--wood-dark: #6e6e73;--wood-medium: #86868b;--wood-light: #d2d2d7;--wood-pale: #f5f5f7;--text-dark: #1d1d1f;--text-medium: #424245;--text-light: #6e6e73;--text-muted: #86868b;--bg-warm: #f2f1f6;--bg-panel: rgba(255, 255, 255, .72);--bg-subtle: #faf9fe;--bg-inset: #eeedf2;--bg-card: rgba(255, 255, 255, .85);--bg-card-hover: rgba(255, 255, 255, .95);--border-soft: rgba(0, 0, 0, .05);--border-light: rgba(0, 0, 0, .06);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04), 0 0 1px rgba(0, 0, 0, .04);--shadow-soft: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-medium: 0 4px 20px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .06);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .15), 0 8px 20px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 4px rgba(0, 113, 227, .15);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .03);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .04);--focus-ring: 0 0 0 2px rgba(255, 255, 255, .9), 0 0 0 5px rgba(0, 113, 227, .55);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .5);--glass-blur: blur(24px) saturate(180%);--glass-bg-strong: rgba(255, 255, 255, .55);--glass-blur-heavy: blur(40px) saturate(200%);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .4);--dark-bg: #1d1d1f;--dark-bg-elevated: #2c2c2e;--dark-bg-secondary: #3a3a3c;--dark-text-primary: #f5f5f7;--dark-text-secondary: #a1a1a6;--dark-border: rgba(255, 255, 255, .08);--dark-glass-bg: rgba(28, 28, 30, .72);--dark-glass-border: rgba(255, 255, 255, .12);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 9999px;--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--dur-fast: .18s;--dur-normal: .3s;--dur-slow: .5s;--dur-entrance: .6s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes floatIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes cardStackIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viewTransition{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes glassShimmer{0%{left:-100%}to{left:200%}}@keyframes springBounce{0%{transform:scale(.9);opacity:0}60%{transform:scale(1.03);opacity:1}to{transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #0071e34d}50%{box-shadow:0 0 0 8px #0071e300}}@keyframes auroraDrift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(36px,24px,0) scale(1.08)}}@keyframes logoBreath{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.dark-section{background:var(--dark-bg);color:var(--dark-text-primary)}.dark-section a{color:var(--primary-light)}.dark-section .text-secondary{color:var(--dark-text-secondary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.glass-card{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);position:relative;overflow:hidden;transition:transform var(--dur-normal) var(--ease-spring),box-shadow var(--dur-normal) var(--ease-out)}.glass-card:hover{transform:translateY(-4px) scale(1.005);box-shadow:var(--shadow-card-hover)}.glass-card:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);pointer-events:none;transition:none}.glass-card:hover:after{animation:glassShimmer .8s ease forwards}.dark-section .glass-card{background:var(--dark-glass-bg);border-color:var(--dark-glass-border);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff0f}.dark-section .glass-card:hover{box-shadow:0 12px 40px #0006,inset 0 1px #ffffff1a}.stagger-children>*{animation:cardStackIn .5s var(--ease-out) both}.stagger-children>*:nth-child(1){animation-delay:0s}.stagger-children>*:nth-child(2){animation-delay:.06s}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.36s}.stagger-children>*:nth-child(8){animation-delay:.42s}.view-transition{animation:viewTransition .35s var(--ease-out);flex:1;display:flex;flex-direction:column;min-height:0}.headline-xl{font-size:48px;font-weight:700;letter-spacing:-.04em;line-height:1.1}.headline-lg{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1.2}.headline-md{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.3}.subhead{font-size:14px;font-weight:500;color:var(--text-light)}.dark-section .subhead{color:var(--dark-text-secondary)}.icon{display:inline-flex;vertical-align:middle;flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;gap:6px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Noto Sans SC,Helvetica Neue,sans-serif;background:var(--bg-warm);color:var(--text-dark);line-height:1.6;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1}button{font-family:inherit;cursor:pointer;border:none;background:none}button:focus-visible{outline:none;box-shadow:var(--shadow-glow)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary)!important;box-shadow:0 0 0 4px #0071e31f}a{transition:color var(--dur-fast) var(--ease-out)}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-warm)}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;animation:fadeIn .4s var(--ease-out);scroll-behavior:smooth}.main-content.with-page-footer .view-transition{flex:0 0 auto;display:block;min-height:0}.main-content.with-page-footer .profile-container,.main-content.with-page-footer .subscribe-container{min-height:calc(100dvh - 56px);overflow:visible}.site-footer{padding:8px 0;background:transparent;text-align:center;font-size:11px;color:var(--text-muted);flex-shrink:0;opacity:.6;transition:opacity .2s}.site-footer:hover{opacity:1}.site-footer a{color:var(--text-light);text-decoration:none;margin-top:4px;display:inline-block;transition:color .2s}.site-footer a:hover{color:var(--primary)}.navbar{height:56px;background:#161618d1;backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:300;flex-shrink:0;transition:all var(--dur-normal) var(--ease-out)}.brand{display:flex;align-items:center;gap:12px;cursor:pointer;transition:opacity .2s}.brand:hover{opacity:.8}.brand-logo{width:34px;height:34px;background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:var(--radius-sm);color:#fff;display:grid;place-items:center;font-size:18px}.brand-text h1{font-size:16px;font-weight:600;color:#f5f5f7;letter-spacing:-.01em}.brand-text span{font-size:11px;color:#ffffff73;display:block;margin-top:1px}.nav-controls{display:flex;gap:6px;align-items:center}.nav-btn{padding:7px 16px;border:none;background:transparent;border-radius:var(--radius-full);color:#ffffffa6;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.nav-btn:hover{background:#ffffff14;color:#f5f5f7}.nav-btn:active{background:#ffffff1f;transform:scale(.97)}.nav-btn.active{color:#f5f5f7;background:#ffffff1a}.nav-btn.premium{background:var(--primary);color:#fff;font-weight:600;position:relative;overflow:hidden}.nav-btn.premium:hover{background:var(--primary-dark)}.nav-btn.premium:after{display:none}@keyframes shimmer{0%{left:-100%}to{left:200%}}.nav-btn.icon-only{padding:0 10px}.settings-wrapper{position:relative}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#1e1e20eb;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:var(--radius-md);padding:4px;min-width:160px;box-shadow:0 12px 40px #0006,inset 0 1px #ffffff0f;border:1px solid rgba(255,255,255,.08);z-index:1000;display:flex;flex-direction:column;gap:1px;animation:dropdownIn var(--dur-fast) var(--ease-spring)}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-dropdown-title{padding:6px 12px;font-size:11px;color:#ffffff73;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.settings-option{background:transparent;color:#fffc;border:none;border-radius:8px;padding:8px 12px;font-size:13px;display:flex;align-items:center;justify-content:space-between;transition:background .12s}.settings-option:hover{background:#ffffff14}.settings-option.active{background:var(--primary);color:#fff}.nav-mobile-divider{height:1px;background:var(--border-light);margin:8px 16px}.mobile-quality-section{padding:8px 16px}.mobile-quality-label{font-size:12px;color:var(--text-muted);margin-bottom:8px}.mobile-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-quality-option{text-align:center;background:var(--bg-inset);color:var(--text-muted);font-size:13px;padding:8px;border:none;border-radius:var(--radius-sm);transition:all .2s}.mobile-quality-option.active{background:var(--primary);color:#fff}.chat-header{padding:14px 16px;background:#ffffff0a;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.chat-header-icon{width:32px;height:32px;background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:var(--radius-sm);display:grid;place-items:center;color:#fff;font-size:16px;flex-shrink:0}.chat-header h3{font-size:14px;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-header span{font-size:11px;color:var(--success);background:#34c75926;padding:3px 8px;border-radius:var(--radius-full);font-weight:500}.chat-window{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;background:var(--bg-subtle);min-height:0}.message{max-width:80%;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.65;animation:msgFadeIn .3s var(--ease-out)}.message.ai{background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light);border-bottom-left-radius:4px;align-self:flex-start;color:var(--text-dark);box-shadow:var(--shadow-xs)}.message.user{background:linear-gradient(135deg,var(--primary) 0%,#5856d6 100%);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;box-shadow:0 2px 12px #0071e34d}.chat-input-area{padding:12px 16px;background:#ffffff80;border-top:1px solid var(--border-light);display:flex;gap:10px}.chat-input-area input{flex:1;padding:10px 16px;border:1px solid var(--border-light);border-radius:var(--radius-full);font-size:14px;background:var(--bg-card);color:var(--text-dark);transition:all var(--dur-fast) var(--ease-out)}.chat-input-area input::placeholder{color:var(--text-muted)}.chat-input-area input:focus{border-color:var(--primary);background:var(--bg-card-hover);outline:none;box-shadow:0 0 0 4px #0071e326}.chat-input-area button{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#0064cc 100%);color:#fff;border:none;display:grid;place-items:center;font-size:16px;transition:all var(--dur-fast) var(--ease-out);box-shadow:0 2px 8px #0071e34d}.chat-input-area button:hover{background:linear-gradient(135deg,#0064cc 0%,var(--primary-dark) 100%);transform:scale(1.08)}.chat-input-area button:active{transform:scale(.93)}.chat-input-area button:disabled{opacity:.3;transform:none;box-shadow:none}.model-switcher{display:flex;gap:2px;background:var(--bg-inset);border-radius:var(--radius-sm);padding:2px;margin-left:auto;flex-shrink:0}.model-btn{padding:4px 6px;border:none;background:transparent;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s;color:var(--text-muted);font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.model-btn svg{width:12px;height:12px}.model-btn.active{background:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-xs);font-weight:600}.model-btn:hover:not(.active){color:var(--text-medium)}.model-status{transition:color .3s;white-space:nowrap;flex-shrink:0}.model-status.deepseek{color:#7c6ff0}.clear-chat-btn{background:none;border:none;font-size:16px;opacity:.4;transition:opacity .2s;padding:4px 6px;color:var(--text-muted);flex-shrink:0}.clear-chat-btn:hover{opacity:.8}.exp-card{background:#ffffff0a;border-radius:20px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 4px 24px #0003;animation:cardStackIn .5s var(--ease-out) both}.exp-card:nth-child(2){animation-delay:.06s}.exp-card:nth-child(3){animation-delay:.12s}.exp-card:nth-child(4){animation-delay:.18s}.exp-card:nth-child(5){animation-delay:.24s}.exp-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 20px 48px #00000059;border-color:#ffffff1f;background:#ffffff0f}.exp-card:active{transform:translateY(-2px) scale(.99)}.exp-icon{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#0a0a0f;border-bottom:1px solid rgba(255,255,255,.04);overflow:hidden;flex-shrink:0}.exp-icon img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s ease;filter:brightness(.85)}.exp-card:hover .exp-icon img{transform:scale(1.06);filter:brightness(1)}.exp-info{padding:20px 24px 24px}.exp-info h4{font-size:17px;font-weight:600;color:#f5f5f7;margin-bottom:6px;letter-spacing:-.01em}.exp-info p{font-size:13px;color:#ffffff73;line-height:1.6}.exp-badge{position:absolute;top:16px;right:16px;font-size:11px;padding:4px 10px;border-radius:var(--radius-full);font-weight:600;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2}.exp-badge.hot{background:#ff3b3033;color:#ff6b6b}.exp-badge.must{background:#34c75933;color:#6ee7b7}.exp-badge.hard{background:#ff9f0a26;color:#fbbf24}.lab-container{flex:1;display:flex;flex-direction:column;overflow:hidden;height:calc(100vh - 56px);max-height:calc(100vh - 56px)}.lab-content{flex:1;display:flex;overflow:hidden;min-height:0;position:relative}.sidebar{position:fixed;top:56px;left:0;width:320px;height:calc(100vh - 56px);z-index:200;background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #0000001f}.sidebar.right{left:auto;right:0;border-right:none;border-left:1px solid rgba(0,0,0,.06);transform:translate(100%);box-shadow:-4px 0 24px #0000001f}.sidebar.open{transform:translate(0)}.stage-wrapper{flex:1;position:relative;overflow:hidden;background:var(--bg-warm)}.stage-wrapper{transition:margin .3s cubic-bezier(.4,0,.2,1)}.stage-wrapper.inset-left{margin-left:var(--sidebar-w, 320px)}.stage-wrapper.inset-right{margin-right:var(--sidebar-w, 320px)}:root{--sidebar-w: 320px}@media (max-width: 1200px){:root{--sidebar-w: 280px}}@media (max-width: 768px){.stage-wrapper.inset-left,.stage-wrapper.inset-right{margin-left:0;margin-right:0}}.panel-section{padding:14px;border-bottom:1px solid rgba(0,0,0,.04)}.section-title{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.section-title:before{content:"";width:3px;height:10px;background:var(--primary);border-radius:1.5px}.canvas-2d-wrapper{background:#ffffffe6;border-radius:10px;border:1px solid rgba(0,0,0,.04);overflow:hidden;box-shadow:inset 0 1px 3px #00000008}.canvas-2d{width:100%;height:170px;display:block}.formula-box{background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:14px;border-radius:12px;font-family:JetBrains Mono,monospace}.formula-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.formula-main{font-size:18px;color:var(--accent);margin-bottom:10px;text-align:center;padding:8px;background:#ff98001a;border-radius:6px}.formula-calc{font-size:12px;color:#94a3b8;line-height:1.7}.formula-calc .val{color:var(--accent-light);font-weight:600}.formula-calc .result{color:#4ade80;font-weight:700;font-size:14px}.formula-divider{height:1px;background:#ffffff1a;margin:10px 0}.data-panel{background:#fffc;border-radius:10px;border:1px solid rgba(255,255,255,.5);overflow:hidden;box-shadow:var(--shadow-xs)}.data-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.data-row:last-child{border-bottom:none}.data-row .label{font-size:12px;color:var(--text-light)}.data-row .value{font-size:13px;font-weight:600;color:var(--text-dark);font-family:JetBrains Mono,monospace}.data-row .value.positive{color:var(--success)}.data-row .value.negative{color:var(--danger)}.dot-indicator{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none}.dot-indicator.on{background:var(--success);box-shadow:0 0 6px #34c759b3}.dot-indicator.off{background:var(--danger);box-shadow:0 0 6px #ff3b3080}.data-row .dot-indicator{margin-right:6px;vertical-align:1px}.action-btn .dot-indicator{margin-right:4px}.control-group{margin-bottom:10px;background:#ffffffb3;padding:10px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.5);box-shadow:0 1px 3px #00000005;transition:all var(--dur-fast) var(--ease-out)}.control-group:hover{background:#ffffffd9;box-shadow:var(--shadow-soft)}.control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.control-label{font-size:12px;color:var(--text-medium);font-weight:500}.control-value{font-size:13px;font-weight:700;color:var(--primary);background:#0071e314;padding:2px 8px;border-radius:5px;font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:4px;border-radius:2px;background:var(--bg-inset);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003,0 0 0 1px #0000000f;cursor:pointer}select{width:100%;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:#fff;font-size:12px;cursor:pointer;transition:border-color var(--dur-fast)}select:focus{border-color:var(--primary);outline:none}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:3px}.slider-ticks{position:relative;height:18px;margin:2px 9px 0;-webkit-user-select:none;user-select:none}.slider-tick{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px}.slider-tick i{display:block;width:1px;height:5px;background:var(--text-muted);opacity:.6}.slider-tick em{font-style:normal;font-size:9px;color:var(--text-muted);line-height:1}.preset-label{font-size:11px;color:var(--text-muted);margin-bottom:6px}.preset-section{margin-top:12px}.btn-neutral{background:var(--bg-inset)!important;color:var(--text-medium)!important;box-shadow:none!important}.btn-group-row{display:flex;gap:6px;margin-top:12px}.btn-group-row .action-btn{flex:1}.btn-inactive{background:var(--bg-inset)!important;color:var(--text-muted)!important;box-shadow:none!important}.mistake-list{display:flex;flex-direction:column;gap:6px}.mistake-item{padding:8px 10px;border-radius:var(--radius-sm);font-size:12px;display:flex;align-items:center;gap:6px}.mistake-item.critical{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:#dc2626}.mistake-item.warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);color:#d97706}.mistake-text{text-decoration:line-through;opacity:.85}.exam-check{color:var(--primary);margin-right:6px}.tips-box.info{background:#e0f2fe;border-color:#7dd3fc;margin-bottom:16px}.tips-box.info .tips-title{color:#0369a1;font-weight:700;margin-bottom:6px}.tips-box.info .tips-content{font-size:13px;color:#0c4a6e;line-height:1.6}.tips-box.exam{background:#fef3c7;border-color:#fcd34d;margin-bottom:16px}.tips-box.exam .tips-title{color:#92400e;font-weight:700;margin-bottom:4px}.tips-box.exam .tips-content{font-size:13px;color:#78350f}.position-indicator{margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:700}.position-indicator.far{background:#dbeafe;color:#1e40af}.position-indicator.mid{background:#fef3c7;color:#92400e}.position-indicator.near{background:#fee2e2;color:#991b1b}.quick-btn-camera{background:#dbeafe!important;color:#1e40af!important;border:1px solid #93c5fd!important}.quick-btn-projector{background:#fef3c7!important;color:#92400e!important;border:1px solid #fcd34d!important}.quick-btn-magnifier{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important}.float-status{padding:12px;border-radius:var(--radius-sm);margin-bottom:16px}.float-status.floating{background:#d1fae5}.float-status.sinking{background:#fee2e2}.float-status.suspended{background:#fef3c7}.float-status-title{font-size:14px;font-weight:700;margin-bottom:4px}.float-status-title.floating{color:#065f46}.float-status-title.sinking{color:#991b1b}.float-status-title.suspended{color:#92400e}.float-status-density{font-size:12px;color:var(--text-muted)}.density-info-box{margin-top:16px;padding:12px;background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.density-info-box .density-label{font-size:12px;color:var(--text-muted);margin-bottom:8px}.density-info-box .density-list{font-size:13px;line-height:1.8}.text-float{color:#22c55e;font-weight:700}.text-suspend{color:#f59e0b;font-weight:700}.text-sink{color:#ef4444;font-weight:700}.mode-label{font-size:13px;color:var(--text-muted);margin-bottom:10px;font-weight:500}.learning-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.learning-stat{padding:10px;border-radius:var(--radius-sm);text-align:center;background:var(--bg-subtle)}.learning-stat.records{background:#f0fdf4}.learning-stat.mistakes{background:#fef2f2;cursor:pointer}.learning-stat-value{font-size:18px;font-weight:700}.learning-stat-value.green{color:#16a34a}.learning-stat-value.red{color:#dc2626}.learning-stat-value.muted{color:var(--text-muted)}.learning-stat-label{font-size:10px;color:var(--text-muted)}.learning-center-btn{width:100%;margin-top:10px;padding:8px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:all var(--dur-fast)}.learning-center-btn:hover{border-color:var(--primary);color:var(--primary)}.advanced-lab-promo{padding:14px;text-align:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:var(--radius-sm);border:1.5px solid rgba(59,130,246,.3)}.advanced-lab-promo h4{font-size:14px;font-weight:700;color:#1e40af;margin-bottom:6px}.advanced-lab-promo p{font-size:12px;color:#1e3a8a;margin-bottom:10px}.data-row.highlight-green{background:#f0fdf4}.data-row.highlight-red{background:#fef2f2}.data-row.highlight-amber{background:#fffbeb}.value.accent-orange{color:#f59e0b}.value.accent-green{color:#22c55e;font-weight:700;font-size:16px}.value.accent-blue{color:#3b82f6;font-weight:700}.action-btn{width:100%;padding:10px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--dur-fast) var(--ease-out);position:relative;overflow:hidden}.action-btn.primary{background:linear-gradient(135deg,var(--primary) 0%,#0064cc 100%);color:#fff;box-shadow:0 2px 8px #0071e340}.action-btn.success{background:linear-gradient(135deg,var(--success) 0%,#2bb84a 100%);color:#fff;box-shadow:0 2px 8px #34c75940}.action-btn.danger{background:linear-gradient(135deg,var(--danger) 0%,#e62020 100%);color:#fff;box-shadow:0 2px 8px #ff3b3040}.action-btn.warning{background:linear-gradient(135deg,var(--warning) 0%,#e68a00 100%);color:#fff;box-shadow:0 2px 8px #ff9f0a40}.action-btn:hover{filter:brightness(1.06);transform:translateY(-1px) scale(1.01);box-shadow:0 4px 14px #0000001f}.action-btn:active{transform:translateY(0) scale(.97);transition-duration:.08s;box-shadow:none}.action-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.quick-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.quick-btns .action-btn{padding:6px;font-size:11px}.tips-box{background:linear-gradient(135deg,#ff980014,#ffc1070d);border:1px solid rgba(255,152,0,.2);border-radius:10px;padding:12px}.tips-box p{font-size:12px;line-height:1.6;color:var(--text-medium)}.exam-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#d32f2f1a;border:1px solid rgba(211,47,47,.2);border-radius:6px;font-size:11px;color:var(--danger);font-weight:600;margin-bottom:10px}.exam-points{display:flex;flex-direction:column;gap:6px}.exam-point-item{font-size:12px;color:var(--text-medium);padding:6px 10px;background:#1976d20d;border-radius:6px}.status-indicator{position:absolute;top:16px;left:16px;background:#1e293be6;padding:8px 16px;border-radius:10px;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-dot.running{background:var(--success)}.status-dot.paused{background:var(--warning)}.status-text{color:#fff;font-size:12px;font-weight:500}.exp-name{color:#ffffffb3;font-size:11px;margin-left:8px;padding-left:8px;border-left:1px solid rgba(255,255,255,.3)}.stage-overlay{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#1e293bd9;padding:8px 16px;border-radius:28px;display:flex;gap:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overlay-btn{width:38px;height:38px;background:transparent;border:2px solid rgba(255,255,255,.2);color:#fff;font-size:16px;cursor:pointer;border-radius:50%;transition:all .25s;display:grid;place-items:center}.overlay-btn:hover{background:#ffffff26;border-color:#fff6}.overlay-btn.active{background:var(--primary);border-color:var(--primary)}.sidebar-toggle-bar{position:fixed;bottom:20px;z-index:150;display:flex;gap:12px;left:50%;transform:translate(-50%)}.sidebar-toggle-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--primary);color:#fff;font-size:18px;box-shadow:var(--shadow-medium);cursor:pointer;transition:all .2s;display:grid;place-items:center}.sidebar-toggle-btn.active{background:var(--text-dark)}.sidebar-toggle-btn:hover{transform:scale(1.08)}.sidebar-toggle-btn:active{transform:scale(.95)}.sidebar-overlay{display:none;position:fixed;right:0;bottom:0;left:0;top:56px;background:#00000059;z-index:190;opacity:0;pointer-events:none;transition:opacity .3s}.sidebar-overlay.show{opacity:1;pointer-events:auto}.lab-webgl-fallback{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;text-align:center;background:var(--bg-warm);color:var(--text-medium)}.lab-webgl-fallback-icon{font-size:30px;line-height:1}.lab-webgl-fallback h3{font-size:18px;color:var(--text-dark)}.lab-webgl-fallback p{font-size:14px;color:var(--text-light)}.lab-webgl-fallback ul{text-align:left;font-size:13px;color:var(--text-light);line-height:2}.records-section{background:#ffffffb3;border-radius:10px;padding:12px;box-shadow:var(--shadow-xs)}.records-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.records-header span{font-size:12px;color:var(--text-light)}.clear-btn{padding:3px 10px;font-size:11px;background:transparent;border:1px solid var(--border-soft);border-radius:5px;color:var(--text-light);cursor:pointer}.clear-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.clear-btn:disabled{opacity:.4;cursor:not-allowed}.record-btn{margin-bottom:10px}.record-table{width:100%;font-size:11px;border-collapse:collapse;margin-top:10px}.record-table th,.record-table td{padding:6px 4px;border:1px solid var(--border-soft);text-align:center}.record-table th{background:var(--wood-pale);font-weight:600;color:var(--text-medium)}.record-table td{font-family:JetBrains Mono,monospace}.record-table td.highlight{color:var(--success);font-weight:700}.exam-card{padding:12px;background:var(--bg-card);border-radius:10px;border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-card)}.exam-card-header{display:flex;gap:6px;margin-bottom:10px;align-items:center}.exam-tag-red{background:#dc2626;color:#fff;font-size:10px;padding:2px 5px;border-radius:4px;font-weight:700}.exam-source{color:#64748b;font-size:11px;font-weight:700}.exam-question{font-size:13px;line-height:1.5;color:#1e293b;margin-bottom:12px}.exam-options{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.exam-option{text-align:left;padding:8px 10px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:12px;transition:all .2s}.exam-option:hover:not(.disabled){border-color:var(--primary);background:#1976d20d}.exam-option.correct{border:2px solid #22c55e;background:#f0fdf4}.exam-option.wrong{border:2px solid #ef4444;background:#fef2f2}.exam-option.disabled{cursor:default}.option-key{font-weight:700;margin-right:8px}.analysis-box{margin-top:16px;border-top:1px dashed #cbd5e1;padding-top:16px}.analysis-title{font-size:14px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:6px}.vip-badge{font-size:10px;background:#f59e0b;color:#fff;padding:1px 4px;border-radius:4px}.analysis-content{font-size:13px;color:#475569;line-height:1.6}.analysis-content p{margin-bottom:6px}.analysis-blur-wrapper{position:relative}.analysis-blur{filter:blur(4px);-webkit-user-select:none;user-select:none;opacity:.6;font-size:13px;line-height:1.6}.unlock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#fff0,#fff 80%)}.unlock-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:700;font-size:14px;box-shadow:0 4px 12px #f59e0b66;cursor:pointer}.unlock-btn:hover{transform:scale(1.05)}.vip-hub-container{flex:1;overflow-y:auto;padding:24px 32px;background:linear-gradient(180deg,var(--bg-warm) 0%,#e8e7ee 100%)}.vip-hub-header{text-align:center;margin-bottom:32px;animation:fadeInUp .5s var(--ease-out)}.vip-hub-header h1{font-size:28px;color:var(--text-dark);margin-bottom:6px;letter-spacing:-.02em;font-weight:700}.vip-hub-header p{color:var(--text-light);font-size:14px}.back-btn{background:#0000000a;border:none;padding:7px 16px;border-radius:var(--radius-full);cursor:pointer;font-size:13px;font-weight:500;color:var(--text-medium);margin-bottom:16px;transition:all var(--dur-fast) var(--ease-out)}.back-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translate(-2px)}.vip-promo-banner{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);padding:18px 24px;margin-bottom:24px;box-shadow:var(--shadow-card)}.promo-content{display:flex;align-items:center;gap:16px}.promo-icon{font-size:32px}.promo-text h3{font-size:16px;color:var(--text-dark);margin-bottom:3px;font-weight:600}.promo-text p{font-size:13px;color:var(--text-light)}.promo-text strong{font-size:18px;color:var(--primary)}.promo-btn{margin-left:auto;background:var(--primary);color:#fff;border:none;padding:10px 22px;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.exam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:32px}.exam-hub-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;border:1px solid rgba(255,255,255,.5);position:relative;transition:all var(--dur-normal) var(--ease-out);cursor:pointer;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeInUp .4s var(--ease-out) both}.exam-hub-card:nth-child(2){animation-delay:.05s}.exam-hub-card:nth-child(3){animation-delay:.1s}.exam-hub-card:nth-child(4){animation-delay:.15s}.exam-hub-card:hover:not(.locked){transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-card-hover);border-color:#fffc;background:var(--bg-card-hover)}.exam-hub-card.locked{opacity:.6;cursor:not-allowed}.lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffd9;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lock-icon{font-size:28px}.exam-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.exam-number{background:var(--primary);color:#fff;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.points-badge{background:#0071e314;color:var(--primary);padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600}.exam-title{font-size:16px;font-weight:600;color:var(--text-dark);margin-bottom:8px}.exam-difficulty{font-size:12px;color:var(--text-light);margin-bottom:6px}.stars{color:var(--accent)}.exam-desc{font-size:13px;color:var(--text-medium);line-height:1.6;margin-bottom:10px}.exam-task{background:#0071e30d;padding:10px 12px;border-radius:var(--radius-sm);font-size:12px;margin-bottom:14px}.task-label{font-weight:600;color:var(--primary)}.start-exam-btn{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.start-exam-btn:hover{background:var(--primary-dark)}.vip-features{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-card)}.vip-features h2{text-align:center;font-size:20px;margin-bottom:20px;color:var(--text-dark);font-weight:600}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-item{text-align:center;padding:18px 12px;background:var(--bg-warm);border-radius:var(--radius-md);transition:transform var(--dur-fast)}.feature-item:hover{transform:translateY(-2px)}.feature-icon{font-size:28px;display:block;margin-bottom:10px}.feature-item h4{font-size:13px;color:var(--text-dark);margin-bottom:4px;font-weight:600}.feature-item p{font-size:11px;color:var(--text-light)}.circuit-builder-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-warm)}.builder-header{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light)}.builder-header .exam-info{display:flex;align-items:center;gap:10px}.builder-header h2{font-size:16px;color:var(--text-dark);font-weight:600}.question-panel{background:#0071e30a;padding:16px 20px;border-bottom:1px solid var(--border-light)}.question-content h3{font-size:14px;color:var(--primary);margin-bottom:8px;font-weight:600}.question-content p{font-size:13px;color:var(--text-medium);line-height:1.6}.task-highlight{background:#fff;padding:10px 14px;border-radius:var(--radius-sm);margin-top:10px;font-size:13px;border-left:3px solid var(--primary)}.builder-main{flex:1;display:flex;overflow:hidden}.components-panel{width:200px;background:#fff9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid rgba(0,0,0,.04);padding:14px;display:flex;flex-direction:column}.components-panel h3{font-size:13px;color:var(--text-dark);margin-bottom:10px;font-weight:600}.components-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.component-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-inset);border-radius:var(--radius-sm);cursor:grab;border:1px solid transparent;transition:all .15s}.component-item:hover{border-color:var(--primary);background:#0071e30f}.component-item:active{cursor:grabbing}.comp-icon{font-size:20px}.comp-name{font-size:13px;color:var(--text-medium)}.tools-section{margin-top:auto}.tools-section h4{font-size:12px;color:var(--text-light);margin-bottom:10px}.tool-btn{width:100%;padding:9px;margin-bottom:6px;background:var(--bg-inset);border:none;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all .15s;color:var(--text-medium)}.tool-btn:hover{background:#0071e314;color:var(--primary)}.tool-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tool-btn.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.tool-btn.warning:hover{background:var(--warning);color:#fff;border-color:var(--warning)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.circuit-board{flex:1;position:relative;background:#ffffffd9;margin:12px;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.04);overflow:hidden;box-shadow:inset 0 1px 3px #00000005}.circuit-board.wire-mode{cursor:crosshair;border-color:var(--primary);box-shadow:var(--shadow-glow)}.board-grid{position:absolute;top:0;left:0;pointer-events:none}.board-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-light)}.board-placeholder p{margin:4px 0;font-size:14px}.placed-component{position:absolute;background:#fff;border:1.5px solid var(--border-light);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:move;transition:all .15s}.placed-component:hover{border-color:var(--primary);box-shadow:var(--shadow-soft)}.placed-component.selected{border-color:var(--primary);box-shadow:0 0 0 4px #0071e326}.placed-component .comp-icon{font-size:18px}.placed-component .comp-label{font-size:10px;color:var(--text-light);white-space:nowrap}.connection-point{position:absolute;width:8px;height:8px;background:#ef4444;border-radius:50%;opacity:0;transition:opacity .2s}.placed-component:hover .connection-point{opacity:1}.connection-point.left{left:-4px;top:50%;transform:translateY(-50%)}.connection-point.right{right:-4px;top:50%;transform:translateY(-50%)}.pulse-dot{animation:pulse 1s infinite}.action-panel{width:220px;background:#fff9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-left:1px solid rgba(0,0,0,.04);padding:14px;display:flex;flex-direction:column}.action-panel h3{font-size:13px;color:var(--text-dark);margin-bottom:10px;font-weight:600}.circuit-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.stat-item{background:var(--bg-inset);padding:10px;border-radius:var(--radius-sm);text-align:center}.stat-item span{font-size:10px;color:var(--text-muted);display:block;margin-bottom:3px}.stat-item strong{font-size:18px;color:var(--primary);font-weight:600}.placed-list{flex:1;overflow-y:auto}.placed-list h4{font-size:12px;color:var(--text-light);margin-bottom:8px}.placed-list ul{list-style:none;font-size:13px}.placed-list li{padding:6px 0;border-bottom:1px solid var(--border-soft)}.empty-hint{font-size:12px;color:var(--text-light)}.submit-section{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-soft)}.submit-btn{width:100%;padding:12px;background:var(--success);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.submit-btn:hover{filter:brightness(1.08)}.submit-hint{text-align:center;font-size:11px;color:var(--text-light);margin-top:8px}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--wood-light);border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--wood-medium)}@media (max-width: 1200px){.features-grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:280px}}@media (max-width: 768px){.features-grid,.exam-grid{grid-template-columns:1fr}}.tab-switcher-wrapper{display:flex;justify-content:center;margin-bottom:20px}.tab-switcher{display:flex;background:var(--bg-inset);border-radius:var(--radius-sm);padding:3px;border:none}.tab-switcher.large{padding:3px}.tab-btn{padding:8px 20px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:var(--text-muted);transition:all .18s;display:flex;align-items:center;gap:6px}.tab-btn:hover{color:var(--text-dark)}.tab-btn.active{background:#fff;color:var(--text-dark);box-shadow:var(--shadow-xs);font-weight:600}.vip-badge-small{background:var(--primary);color:#fff;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600}.vip-hub-container.full-height{display:flex;flex-direction:column;height:calc(100vh - 56px)}.vip-hub-header.compact{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light)}.lab-wrapper{flex:1;overflow:hidden}.feature-item.highlight{background:#0071e30f;border:1px solid rgba(0,113,227,.15)}.question-view-container{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-warm)}.question-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light)}.question-meta{display:flex;align-items:center;gap:12px}.question-title{font-size:18px;font-weight:600;color:var(--text-dark)}.question-points{background:#0071e314;color:var(--primary);padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600}.question-body{flex:1;display:flex;gap:24px;padding:24px;overflow:hidden}.question-main{flex:1;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.question-content-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:22px;border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-card)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-tag{font-size:14px;font-weight:600;color:var(--primary)}.difficulty{color:var(--accent);font-size:13px}.question-text{font-size:15px;line-height:1.8;color:var(--text-dark);margin-bottom:16px}.question-task-box{background:#0071e30a;border-left:3px solid var(--primary);padding:14px 16px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.question-task-box strong{color:var(--primary);display:block;margin-bottom:8px}.question-task-box p{margin:0;font-size:14px;color:var(--text-medium)}.answer-section{display:flex;flex-direction:column;gap:16px}.answer-card,.calculation-card{background:var(--bg-card);border-radius:var(--radius-md);padding:18px;border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-xs)}.answer-card h4,.calculation-card h4{font-size:14px;color:var(--text-dark);margin:0 0 12px}.answer-card textarea,.calculation-card textarea{width:100%;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;resize:vertical;transition:all .15s}.answer-card textarea:focus,.calculation-card textarea:focus{border-color:var(--primary);outline:none}.answer-card textarea:disabled,.calculation-card textarea:disabled{background:var(--bg-warm);cursor:not-allowed}.submit-answer-btn{padding:12px 28px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.submit-answer-btn:hover{background:var(--primary-dark)}.submitted-badge{padding:14px;background:#34c75914;border:1px solid rgba(52,199,89,.2);border-radius:var(--radius-md);text-align:center;font-size:14px;font-weight:600;color:var(--success)}.analysis-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-card)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.analysis-header h4{font-size:16px;margin:0;color:var(--text-dark)}.vip-lock{background:var(--primary);color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.analysis-content{display:flex;flex-direction:column;gap:16px}.correct-answer{padding:16px;background:#22c55e1a;border-radius:10px;font-size:15px}.correct-answer strong{color:var(--success);margin-right:8px}.analysis-text{font-size:14px;line-height:1.8;color:var(--text-medium)}.analysis-text p{margin:0 0 8px}.key-points{padding:12px 14px;background:#0071e30d;border-radius:var(--radius-sm);font-size:13px}.key-points strong{color:var(--primary);margin-right:8px}.analysis-locked{position:relative}.blur-content{filter:blur(6px);-webkit-user-select:none;user-select:none;padding:16px;font-size:14px;line-height:1.8}.unlock-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#fff;padding:20px 28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.unlock-prompt p{margin:0 0 14px;font-size:13px;color:var(--text-medium)}.unlock-prompt .unlock-btn{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.unlock-prompt .unlock-btn:hover{background:var(--primary-dark)}.question-sidebar{width:300px;display:flex;flex-direction:column;gap:16px;flex-shrink:0}.tool-card{background:#fff;border-radius:var(--radius-md);padding:18px;border:1px solid var(--border-light)}.tool-card h4{font-size:14px;margin:0 0 12px;color:var(--text-dark)}.lab-entry{text-align:center;background:#0071e30a;border-color:#0071e31f}.lab-entry .tool-icon{font-size:36px;margin-bottom:8px}.lab-entry p{font-size:13px;color:var(--text-medium);margin:0 0 16px}.open-lab-btn{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.formula-card .formula-list{display:flex;flex-direction:column;gap:10px}.formula-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-warm);border-radius:8px}.formula-item .formula{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--primary);font-weight:600}.formula-item .desc{font-size:11px;color:var(--text-light)}.tips-card ul{margin:0;padding-left:20px}.tips-card li{font-size:13px;color:var(--text-medium);line-height:2}.vip-hub-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--bg-warm);max-width:1200px;width:100%;margin:0 auto;padding:20px 28px 48px}.vip-benefits-slim{display:flex;align-items:center;justify-content:center;gap:6px;margin:20px auto 0;padding:10px 20px;max-width:560px;border-radius:20px;background:linear-gradient(135deg,#5856d614,#0071e314);border:1px solid rgba(88,86,214,.25);color:#5856d6;font-size:13px;font-weight:600}.vip-hero{display:flex;align-items:center;gap:24px;padding:20px 24px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.vip-hero .back-btn{padding:8px 16px;background:#0000000d;border:none;border-radius:var(--radius-full);color:var(--text-medium);cursor:pointer;font-size:13px;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out)}.vip-hero .back-btn:hover{background:#0000001a}.vip-hero-title{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.vip-hero-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0071e3,#4da3ff);color:#fff;flex-shrink:0;box-shadow:0 6px 16px #0071e347}.vip-hero-title h1{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-dark);letter-spacing:-.02em;line-height:1.2}.vip-hero-title p{margin:2px 0 0;font-size:.85rem;color:var(--text-light)}.vip-status-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#34c7591a;border:1px solid rgba(52,199,89,.28);border-radius:var(--radius-full);color:#1d8a44;font-size:13px;font-weight:600;white-space:nowrap}.vip-status-badge em{font-style:normal;color:var(--text-light);font-weight:500}.vip-hero-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.vip-progress-chip{display:flex;align-items:baseline;gap:6px;padding:8px 14px;background:#0071e314;border:1px solid rgba(0,113,227,.25);border-radius:var(--radius-full);white-space:nowrap}.vip-progress-chip .chip-label{font-size:12px;color:var(--text-light)}.vip-progress-chip strong{font-size:16px;color:var(--primary);font-weight:700}.vip-progress-chip .chip-sub{font-size:12px;color:var(--text-light)}.vip-status-badge.expiring{background:#ff9f0a1f;border-color:#ff9f0a73;color:#b45309}.vip-status-badge.locked{background:#94a3b81f;border-color:#94a3b859;color:#64748b}.vip-status-badge.expired{background:#ef44441f;border-color:#ef444473;color:#b91c1c}.vip-promo{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;padding:16px 22px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-card);transition:all var(--dur-normal) var(--ease-out)}.vip-promo:hover{box-shadow:var(--shadow-soft)}.promo-left{display:flex;align-items:center;gap:14px}.promo-tag{padding:4px 10px;background:var(--primary);border-radius:var(--radius-full);color:#fff;font-weight:600;font-size:12px}.promo-left h3{margin:0;color:var(--text-dark);font-size:15px;font-weight:600}.promo-left p{margin:0;color:var(--text-light);font-size:13px}.promo-left strong{font-size:16px;color:var(--primary);font-weight:700}.promo-btn{padding:9px 22px;background:var(--primary);border:none;border-radius:var(--radius-full);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.promo-btn:hover{background:var(--primary-dark)}.sections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.section-card{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--dur-normal) var(--ease-out);overflow:hidden;background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-card);animation:fadeInUp .4s var(--ease-out) both}.section-card:nth-child(1){animation-delay:0s}.section-card:nth-child(2){animation-delay:.05s}.section-card:nth-child(3){animation-delay:.1s}.section-card:nth-child(4){animation-delay:.15s}.section-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);border-color:#0071e34d}.section-card:active{transform:translateY(0) scale(.99)}.section-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;flex-shrink:0;overflow:hidden;border:1px solid rgba(255,255,255,.7)}.section-card-icon img{width:32px;height:32px;object-fit:contain}.section-card-content{flex:1;min-width:0}.section-card-content h3{margin:0 0 4px;font-size:1.15rem;color:var(--text-dark)}.section-exam-count{margin:0;color:var(--text-light);font-size:.85rem}.section-lab-info{margin-top:8px}.lab-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#0000000d;border-radius:var(--radius-full);font-size:.78rem;color:var(--text-medium)}.section-card-arrow{margin-left:auto;color:var(--text-muted);flex-shrink:0}.section-card.all-done{border-color:#22c55e80}.section-done-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:#22c55e;border-radius:var(--radius-full);color:#fff;font-size:11px;font-weight:600}.section-pct{color:var(--primary);font-weight:700}.section-lab-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lab-quick-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border:none;border-radius:var(--radius-full);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity var(--dur-fast)}.lab-quick-btn:hover{opacity:.85}.section-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#0000000f}.progress-bar{height:100%;border-radius:2px;transition:width .3s}.section-progress .progress-bar{border-radius:0 2px 2px 0}.vip-features-panel{margin-top:28px;padding:28px 24px 8px;background:linear-gradient(135deg,#1d1d1f,#2c2c31);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.vip-features-panel h2{margin:0 0 6px;text-align:center;font-size:1.2rem;color:#f5f5f7;display:flex;align-items:center;justify-content:center;gap:8px}.vip-features-panel h2 svg{color:#ffd60a}.features-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-box{text-align:center;padding:20px 14px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-xs);transition:all var(--dur-normal) var(--ease-out)}.feature-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.feature-box-img{width:56px;height:56px;object-fit:contain;margin-bottom:4px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.1))}.feature-box span{font-size:2rem}.feature-box h4{margin:12px 0 6px;color:var(--text-dark)}.feature-box p{margin:0;font-size:.85rem;color:var(--text-light)}.vip-section-view{min-height:100vh;background:var(--bg-warm)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 30px}.section-header .back-btn{padding:8px 16px;background:#00000014;border:none;border-radius:8px;cursor:pointer}.section-title{display:flex;align-items:center;gap:12px}.section-icon{font-size:1.8rem}.section-title h2{margin:0;color:var(--text-dark)}.open-lab-direct-btn{padding:10px 20px;background:#00000014;border:2px solid rgba(0,0,0,.15);border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.open-lab-direct-btn:hover{background:#0000001f}.lab-intro-card{display:flex;align-items:center;gap:16px;margin:16px 24px;padding:18px 22px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-card);transition:all var(--dur-normal) var(--ease-out)}.lab-intro-card:hover{box-shadow:var(--shadow-soft)}.lab-intro-icon{font-size:2.5rem}.lab-intro-content h3{margin:0 0 4px;color:var(--text-dark)}.lab-intro-content p{margin:0;color:var(--text-light)}.lab-intro-btn{margin-left:auto;padding:10px 24px;border:none;border-radius:20px;color:#fff;font-weight:600;cursor:pointer}.section-exams{padding:20px 30px}.section-exams h3{margin:0 0 16px;color:var(--text-medium)}.exam-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.exam-card-item{position:relative;padding:20px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--dur-normal) var(--ease-out);animation:fadeInUp .4s var(--ease-out) both}.exam-card-item:nth-child(2){animation-delay:.04s}.exam-card-item:nth-child(3){animation-delay:.08s}.exam-card-item:nth-child(4){animation-delay:.12s}.exam-card-item:nth-child(5){animation-delay:.16s}.exam-card-item:nth-child(6){animation-delay:.2s}.exam-card-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover);background:var(--bg-card-hover)}.exam-card-item.locked{opacity:.7}.card-lock{position:absolute;top:16px;right:16px;font-size:1.2rem}.card-top{display:flex;justify-content:space-between;margin-bottom:10px}.card-difficulty{color:#f59e0b;font-size:.9rem}.card-points{padding:2px 8px;background:#0071e314;border-radius:10px;color:var(--primary);font-size:.8rem;font-weight:600}.card-source-badge{font-size:11px;padding:1px 6px;border-radius:3px;font-weight:600}.exam-badge{background:#0071e314;color:var(--primary)}.ai-badge{background:#dcfce7;color:#16a34a}.agent-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#3b82f60d;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;pointer-events:none;z-index:10;animation:agentFadeIn .3s ease}.agent-overlay span{background:#3b82f6e6;color:#fff;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;pointer-events:auto}@keyframes agentFadeIn{0%{opacity:0}to{opacity:1}}.exam-card-item h4{margin:0 0 8px;color:var(--text-dark);font-size:1rem}.card-desc{margin:0 0 10px;color:var(--text-light);font-size:.85rem;line-height:1.5}.card-tip{margin-bottom:10px;padding:6px 10px;background:#0071e30f;border-radius:6px;color:var(--text-medium);font-size:.8rem}.card-task{margin-bottom:12px;padding:10px;background:var(--bg-inset);border-radius:8px;font-size:.85rem;color:var(--text-medium)}.card-btn{width:100%;padding:10px;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.question-view{background:var(--bg-warm)}.qv-header{display:flex;align-items:center;gap:20px;padding:16px 30px;background:#ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.04)}.qv-header .back-btn{padding:8px 16px;background:var(--bg-inset);border:none;border-radius:8px;cursor:pointer}.qv-title{display:flex;align-items:center;gap:12px}.qv-tag{color:#f59e0b}.qv-title h2{margin:0;font-size:1.1rem;color:var(--text-dark)}.qv-points{padding:4px 10px;background:#0071e314;border-radius:12px;color:var(--primary);font-size:.85rem;font-weight:600}.qv-body{display:flex;gap:24px;padding:24px 30px}.qv-main{flex:1;display:flex;flex-direction:column;gap:20px}.qv-question-card{padding:24px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:fadeInUp .4s var(--ease-out)}.card-label{margin-bottom:12px;color:var(--text-light);font-weight:600}.question-text{margin:0 0 16px;font-size:1.05rem;line-height:1.7;color:var(--text-dark)}.task-box{padding:16px;background:#0071e30a;border-radius:10px;border-left:4px solid #3b82f6}.task-box strong{color:var(--primary)}.task-box p{margin:8px 0 0;color:var(--primary)}.hint-box{margin-top:12px;padding:12px 16px;background:#0071e30f;border-radius:8px;font-size:.9rem}.hint-box strong{color:var(--text-medium)}.hint-box span{color:var(--text-light)}.qv-answer-section{padding:24px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.answer-input-group{margin-bottom:16px}.answer-input-group label{display:block;margin-bottom:8px;color:var(--text-medium);font-weight:600}.answer-input-group textarea{width:100%;padding:12px;border:1px solid var(--border-light);border-radius:10px;font-size:.95rem;resize:vertical}.answer-input-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #0071e31f}.submit-btn{width:100%;padding:12px;background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.submit-btn:hover{background:var(--primary-dark)}.submitted-tag{text-align:center;padding:12px;background:#34c75914;border-radius:var(--radius-sm);color:var(--success);font-weight:600}.qv-analysis{padding:24px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.analysis-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.analysis-header h4{margin:0;color:var(--text-dark)}.vip-lock{padding:4px 10px;background:#0071e30f;border-radius:12px;color:var(--text-medium);font-size:.8rem}.correct-answer{padding:14px;background:#34c75914;border-radius:var(--radius-sm);margin-bottom:14px}.correct-answer strong{color:var(--success)}.answer-text{margin-left:8px;color:var(--success);font-weight:600}.analysis-steps{margin-bottom:16px}.analysis-steps ol{margin:8px 0 0 20px;color:var(--text-medium);line-height:1.8}.key-points-box{padding:12px 16px;background:var(--bg-inset);border-radius:8px}.key-points-box strong{color:var(--text-medium)}.key-points-box span{color:var(--text-light)}.analysis-locked{text-align:center;padding:30px}.blur-text{margin-bottom:16px;color:#d1d5db;filter:blur(4px);-webkit-user-select:none;user-select:none}.unlock-btn{padding:10px 24px;background:var(--primary);border:none;border-radius:var(--radius-full);color:#fff;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.unlock-btn:hover{background:var(--primary-dark)}.qv-sidebar{width:300px;display:flex;flex-direction:column;gap:16px}.tool-card{padding:20px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--dur-normal) var(--ease-out)}.tool-card:hover{box-shadow:var(--shadow-soft)}.tool-card h4{margin:0 0 12px;color:var(--text-dark)}.lab-card{text-align:center;background:#0071e308;border:1px solid rgba(0,113,227,.1)}.tool-icon{font-size:2.5rem;margin-bottom:8px}.lab-card p{margin:0 0 16px;color:var(--text-light)}.open-lab-btn{width:100%;padding:10px;background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;font-weight:600;cursor:pointer;transition:all var(--dur-fast)}.open-lab-btn:hover{background:var(--primary-dark)}.formula-list{display:flex;flex-direction:column;gap:10px}.formula-row{display:flex;justify-content:space-between;align-items:center;padding:8px;background:var(--bg-warm);border-radius:8px}.formula-row code{font-family:JetBrains Mono,monospace;color:var(--primary);font-size:.85rem}.formula-row span{color:var(--text-light);font-size:.8rem}.tips-card ul{margin:0;padding-left:20px;color:var(--text-light);line-height:1.8}.tips-card li{margin-bottom:4px}@media (max-width: 1024px){.sections-grid{grid-template-columns:1fr}.features-row{grid-template-columns:repeat(2,1fr)}.qv-body{flex-direction:column}.qv-sidebar{width:100%;flex-direction:row;flex-wrap:wrap}.qv-sidebar .tool-card{flex:1;min-width:200px}}.auth-page{padding:20px;min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--bg-warm) 0%,#e8e7ee 100%)}.auth-card{width:100%;max-width:480px;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:36px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.5);animation:scaleIn .4s var(--ease-out)}.auth-header{text-align:center;margin-bottom:24px}.auth-header h2{font-size:24px;color:var(--text-dark);margin-bottom:8px}.auth-header p{font-size:14px;color:var(--text-light)}.auth-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.auth-tab{flex:1;min-width:70px;padding:8px 12px;border:none;background:var(--bg-inset);border-radius:8px;font-size:13px;cursor:pointer;transition:all .15s;color:var(--text-muted)}.auth-tab.active{background:#fff;color:var(--text-dark);box-shadow:var(--shadow-xs);font-weight:600}.auth-error{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:var(--danger);font-size:13px;margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form label{font-size:14px;color:var(--text-medium);display:flex;flex-direction:column;gap:6px}.auth-form input{padding:11px 14px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:14px;transition:all .15s}.auth-form input:focus{border-color:var(--primary);outline:none}.auth-submit{padding:12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-full);font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:all var(--dur-fast)}.auth-submit:hover{background:var(--primary-dark)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-soft)}.auth-back,.auth-logout{padding:10px 16px;border:1px solid var(--border-soft);background:#ffffffb3;border-radius:8px;font-size:13px;cursor:pointer;transition:all var(--dur-fast) var(--ease-out)}.auth-back:hover,.auth-logout:hover{background:#fffffff2}.auth-logout{color:var(--danger);border-color:var(--danger)}.auth-vip-panel{padding:16px 0}.auth-vip-unlogin{text-align:center;padding:32px 0}.auth-vip-unlogin p{margin-bottom:16px;color:var(--text-light)}.auth-vip-unlogin button{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer}.vip-status{padding:16px;background:var(--bg-warm);border-radius:12px;margin-bottom:20px}.vip-status p{margin:6px 0;font-size:14px}.vip-active{color:var(--success);font-weight:600}.vip-inactive{color:var(--text-light)}.vip-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vip-plan-card{position:relative;padding:18px 12px;background:var(--bg-card);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--dur-normal) var(--ease-out);box-shadow:var(--shadow-xs)}.vip-plan-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.vip-plan-card.recommend{border-color:var(--primary);background:#0071e30a}.vip-plan-card .badge{position:absolute;top:-10px;right:-10px;padding:4px 8px;background:var(--accent);color:#fff;font-size:10px;border-radius:10px}.vip-plan-card h4{font-size:14px;margin-bottom:8px}.vip-plan-card .price{font-size:24px;font-weight:700;color:var(--accent);margin:8px 0}.vip-plan-card .desc{font-size:12px;color:var(--text-light)}@media (max-width: 768px){.navbar{height:56px;padding:0 12px}.brand-logo{width:36px;height:36px;font-size:18px}.brand-text h1{font-size:14px}.brand-text span,.nav-controls.nav-desktop{display:none}.exp-icon{height:150px}.exp-info{padding:14px 16px 18px}.exp-info h4{font-size:15px}.sidebar{width:85vw;max-width:320px}.stage-wrapper{flex:1}.sidebar-overlay{display:block}.stage-overlay{bottom:80px;padding:6px 10px}.overlay-btn{width:36px;height:36px;font-size:15px}.status-indicator{top:10px;left:10px;padding:6px 12px;font-size:11px}.nav-mobile-toggle{display:block;width:44px;height:44px;border:none;background:transparent;font-size:22px;cursor:pointer;color:var(--text-dark)}.nav-mobile-menu{display:block;position:absolute;top:56px;left:0;right:0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border-light);box-shadow:var(--shadow-lg);z-index:300;padding:8px 0}.nav-mobile-item{display:block;width:100%;padding:14px 20px;border:none;background:transparent;text-align:left;font-size:15px;color:var(--text-dark);cursor:pointer}.nav-mobile-item:active{background:var(--bg-warm)}.nav-mobile-item.premium{color:var(--accent);font-weight:600}.auth-page{padding:16px}.auth-card{padding:24px 20px}.auth-header h2{font-size:20px}.auth-tabs{gap:6px}.auth-tab{padding:8px 10px;font-size:12px;min-width:60px}.vip-plans{grid-template-columns:1fr;gap:10px}.vip-plan-card{padding:16px}.vip-hub-main{padding:12px 14px 32px}.vip-hero{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.vip-hero-title{gap:12px}.vip-hero-icon{width:40px;height:40px}.vip-hero-title h1{font-size:1.15rem}.vip-hero-title p{font-size:.8rem}.vip-status-badge{align-self:flex-start}.vip-hero-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.vip-promo{flex-direction:column;margin:0 0 12px;padding:16px;gap:16px;text-align:center}.promo-left{flex-direction:column;gap:8px}.promo-btn{width:100%}.sections-grid{grid-template-columns:1fr;gap:12px}.section-card{padding:16px}.section-card-content h3{font-size:1.05rem}.features-row{grid-template-columns:repeat(2,1fr);gap:12px}.feature-box{padding:16px 12px}.feature-box span{font-size:1.5rem}.feature-box h4{font-size:13px}.feature-box p{font-size:11px}.section-header{flex-direction:column;align-items:flex-start;padding:16px;gap:12px}.open-lab-direct-btn{width:100%;text-align:center}.lab-intro-card{flex-direction:column;margin:16px;padding:16px;text-align:center;gap:12px}.lab-intro-btn{width:100%;margin-left:0}.section-exams{padding:16px}.exam-cards-grid{grid-template-columns:1fr}.qv-header{flex-direction:column;align-items:flex-start;padding:12px 16px;gap:12px}.qv-title{flex-wrap:wrap;gap:8px}.qv-title h2{font-size:1rem}.qv-body{flex-direction:column;padding:16px}.qv-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;gap:12px}.qv-sidebar .tool-card{flex:1 1 calc(50% - 6px);min-width:140px}.qv-sidebar .lab-card{flex:1 1 100%}.qv-question-card{padding:16px}.question-text{font-size:14px}.qv-answer-section{padding:16px}.panel-section{padding:12px}.section-title{font-size:10px;margin-bottom:10px}.control-group{padding:10px}.formula-box{padding:12px}.formula-main{font-size:16px}.formula-calc{font-size:11px}.data-row{padding:8px 10px}.data-row .label{font-size:11px}.data-row .value{font-size:12px}}@media (max-width: 480px){.navbar{padding:0 8px}.brand-logo{width:32px;height:32px;font-size:16px}.brand-text h1{font-size:13px}.exp-icon{height:160px}.chat-header{padding:12px 16px}.chat-header h3{font-size:14px}.chat-window{padding:16px;gap:12px}.message{max-width:92%;padding:10px 14px;font-size:13px}.chat-input-area{padding:10px;gap:8px}.chat-input-area input{padding:10px 14px;font-size:13px}.chat-input-area button{width:40px;height:40px;font-size:16px}.exp-card{padding:12px;gap:10px}.exp-icon{width:40px;height:40px;font-size:20px}.exp-info h4{font-size:13px}.exp-info p{font-size:11px;line-height:1.4}.exp-badge{font-size:10px;padding:2px 6px;top:8px;right:8px}.sidebar{width:90vw;max-width:280px}.sidebar-toggle-btn{width:42px;height:42px;font-size:16px}.auth-card{padding:20px 16px;border-radius:16px}.auth-header h2{font-size:18px}.auth-tab{padding:8px;font-size:11px}.auth-form input{padding:10px 12px;font-size:13px}.auth-submit{padding:12px;font-size:14px}.auth-footer{flex-direction:column;gap:10px}.auth-back,.auth-logout{width:100%;text-align:center}.vip-promo{margin:12px;padding:14px}.sections-grid{padding:12px}.section-card{padding:16px;gap:12px}.features-row{grid-template-columns:1fr}.qv-sidebar .tool-card{flex:1 1 100%}.formula-row{flex-direction:column;align-items:flex-start;gap:4px}}@media (min-width: 769px){.nav-mobile-toggle,.nav-mobile-menu{display:none!important}.nav-controls.nav-desktop{display:flex}.sidebar-toggle-bar{bottom:auto;left:auto;right:auto;transform:none;flex-direction:column;gap:8px}.sidebar-toggle-btn{border-radius:0 10px 10px 0;width:28px;height:48px}.sidebar-toggle-btn.right-toggle{border-radius:10px 0 0 10px}.left-toggle{position:fixed;left:0;top:50%;transform:translateY(-50%)}.right-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%)}.sidebar-overlay{pointer-events:none!important;opacity:0!important}}.clear-chat-btn{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:16px;opacity:.6;margin-left:auto}.clear-chat-btn:hover{opacity:1}.vip-hub-container,.question-view-container{overflow-y:auto;-webkit-overflow-scrolling:touch}.lab-container{overflow:hidden}.vip-hub-main,.vip-section-view,.question-view{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.vip-section-view{height:calc(100vh - 64px);display:flex;flex-direction:column}.section-exams{flex:1;overflow-y:auto;padding-bottom:40px}.question-view{height:calc(100vh - 64px);display:flex;flex-direction:column}.qv-body{flex:1;overflow-y:auto}@media (max-width: 768px){.vip-hub-main,.vip-section-view,.question-view{height:calc(100vh - 56px)}.qv-body{flex-direction:column;padding:12px;gap:16px}.qv-main{width:100%}.qv-sidebar{width:100%;flex-direction:column}.qv-sidebar .tool-card{width:100%}.section-header{flex-wrap:wrap;padding:12px 16px}.section-title h2{font-size:1.1rem}.open-lab-direct-btn{width:100%;margin-top:8px}.lab-intro-card{flex-direction:column;text-align:center;margin:12px;padding:16px}.lab-intro-btn{width:100%;margin:0}.section-exams{padding:12px}.exam-cards-grid{grid-template-columns:1fr;gap:12px}}.think-block{margin-bottom:12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-subtle)}.think-header{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);-webkit-user-select:none;user-select:none;background:transparent;transition:background .15s}.think-header:hover{background:var(--bg-inset)}.think-toggle{font-size:10px;transition:transform .2s}.think-hint{margin-left:auto;font-size:10px;color:var(--text-muted);opacity:.7}.think-content{padding:12px;font-size:13px;color:var(--text-light);line-height:1.7;border-top:1px solid var(--border-light);max-height:400px;overflow-y:auto;background:#fff}.think-content p{margin:0 0 8px}.think-content::-webkit-scrollbar{width:6px}.think-content::-webkit-scrollbar-thumb{background:#fbbf24;border-radius:3px}.answer-content{line-height:1.7}.answer-content p{margin:0 0 10px}.answer-content h1,.answer-content h2,.answer-content h3{margin:16px 0 8px;font-weight:600}.answer-content ul,.answer-content ol{margin:8px 0;padding-left:20px}.answer-content code{background:var(--bg-inset);padding:2px 6px;border-radius:4px;font-size:13px;color:var(--text-medium)}.answer-content pre{background:#1e293b;color:#e2e8f0;padding:12px;border-radius:8px;overflow-x:auto;margin:10px 0}.answer-content pre code{background:none;padding:0}.model-tag{font-size:10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light);color:var(--text-muted)}.typing-indicator{display:inline-block;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.vip-main-tabs{display:flex;justify-content:center;gap:6px;padding:6px;margin:16px auto 20px;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-full);width:fit-content}.vip-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 22px;border:none;background:transparent;border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;transition:all .18s var(--ease-out);color:var(--text-medium)}.vip-tab-btn:hover{color:var(--text-dark)}.vip-tab-btn.active{background:var(--primary);color:#fff;font-weight:600;box-shadow:0 3px 10px #0071e359}@media (max-width: 768px){.vip-main-tabs{width:100%;margin:12px 0 16px}.vip-tab-btn{flex:1;justify-content:center;padding:10px 12px;font-size:14px}}.exp-card-wrapper{position:relative}.exp-quick-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.quick-action-btn{padding:6px 12px;border-radius:var(--radius-lg);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid}.quick-action-btn.vip-btn{background:var(--primary);border-color:var(--primary);color:#fff}.quick-action-btn.vip-btn:hover{background:var(--primary-dark)}.quick-action-btn.summary-btn{background:#fff;border-color:var(--border-light);color:var(--text-medium)}.quick-action-btn.summary-btn:hover{background:var(--bg-inset);border-color:var(--text-muted)}@media (max-width: 768px){.exp-quick-actions{gap:6px}.quick-action-btn{padding:5px 10px;font-size:11px}}.exp-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.exp-quick-entry{display:flex;gap:8px}.quick-entry-btn{padding:8px 14px;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:2px solid}.quick-entry-btn.vip{background:var(--primary);border-color:var(--primary);color:#fff}.quick-entry-btn.vip:hover{background:var(--primary-dark)}.quick-entry-btn.summary{background:#fff;border-color:var(--border-light);color:var(--text-medium)}.quick-entry-btn.summary:hover{background:var(--bg-inset);border-color:var(--text-muted);color:var(--text-dark)}@media (max-width: 768px){.exp-menu-header{flex-direction:column;align-items:flex-start}.exp-quick-entry{width:100%}.quick-entry-btn{flex:1;text-align:center;padding:10px 12px;font-size:12px}}.ai-generate-card{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:12px 20px;background:#0071e30a;border-radius:var(--radius-md);border-left:3px solid var(--primary)}.ai-icon{font-size:32px}.ai-content h3{margin:0 0 4px;font-size:16px}.ai-content p{margin:0;font-size:13px;color:#666}.ai-generate-btn{margin-left:auto;padding:10px 20px;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.ai-generate-btn:disabled{opacity:.6;cursor:wait}.ai-check-result{padding:16px;border-radius:12px;margin-top:16px}.ai-check-result.correct{background:#34c7590f;border:1px solid rgba(52,199,89,.2)}.ai-check-result.incorrect{background:#ff3b300f;border:1px solid rgba(255,59,48,.2)}.result-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}.result-icon{font-size:18px;font-weight:700}.result-score{font-size:16px;font-weight:600;color:#374151}.result-feedback{margin:8px 0;color:#1f2937;font-size:15px}.correct-answer-box{margin-top:12px;padding:12px;background:#ffffffb3;border-radius:8px}.result-analysis{margin-top:12px;padding:12px;background:#ffffff80;border-radius:8px;font-size:14px;line-height:1.6}.auth-links{margin-top:16px;display:flex;flex-direction:column;gap:8px;align-items:center}.auth-links p{font-size:13px;color:var(--primary);cursor:pointer;transition:opacity .2s}.auth-links p:hover{opacity:.8;text-decoration:underline}.question-bank-tab{padding:16px 0}.qbank-filters{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.qbank-filters select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.qbank-count{margin-left:auto;color:#94a3b8;font-size:13px}.qbank-loading,.qbank-empty{text-align:center;padding:48px 16px;color:#94a3b8}.qbank-empty-hint{font-size:13px;margin-top:8px}.qbank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.qbank-card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:all var(--dur-normal) var(--ease-out);border:1px solid rgba(255,255,255,.5);border-left:3px solid var(--text-muted);box-shadow:var(--shadow-card)}.qbank-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);background:var(--bg-card-hover)}.qbank-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.qbank-diff{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--bg-inset);color:var(--text-light)}.qbank-diff[data-diff=困难]{background:#fef2f2;color:#ef4444}.qbank-diff[data-diff=中等]{background:#fffbeb;color:#f59e0b}.qbank-diff[data-diff=基础]{background:#f0fdf4;color:#22c55e}.qbank-type{font-size:12px;color:#94a3b8}.qbank-card-title{font-size:15px;font-weight:600;margin:0 0 8px;color:#1e293b}.qbank-card-desc{font-size:13px;color:var(--text-light);line-height:1.5;margin:0 0 12px}.qbank-card-bottom{display:flex;justify-content:space-between;align-items:center}.qbank-points{font-size:12px;color:#94a3b8}.qbank-start-btn{border:none;color:#fff;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer}.qbank-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0}.qbank-pagination button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:14px}.qbank-pagination button:disabled{opacity:.4;cursor:not-allowed}.qbank-pagination span{color:var(--text-light);font-size:14px}.experiment-toasts{position:absolute;top:16px;right:16px;z-index:350;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none}.experiment-toast{padding:10px 16px;border-radius:10px;font-size:13px;line-height:1.5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toastSlideIn .3s ease-out;pointer-events:auto}.toast-hint{background:#3b82f61f;color:var(--primary);border:1px solid rgba(59,130,246,.2)}.toast-warning{background:#f59e0b1f;color:var(--text-medium);border:1px solid rgba(245,158,11,.2)}.toast-danger{background:#ef44441f;color:#991b1b;border:1px solid rgba(239,68,68,.2)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.agent-tool-status{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#6366f114;border-radius:8px;font-size:13px;color:#6366f1;animation:toolPulse 1.5s ease-in-out infinite}@keyframes toolPulse{0%,to{opacity:.7}50%{opacity:1}}.highlight-pulse{animation:highlightFlash .6s ease-in-out 5}@keyframes highlightFlash{0%,to{box-shadow:0 0 #f440}50%{box-shadow:0 0 20px 8px #f446}}.ai-smart-pick-card{border:1.5px dashed var(--primary)!important;background:#0071e308!important}.ai-smart-pick-card .card-progress{font-size:.85em;color:var(--primary);margin-top:4px}.exp-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.exp-mode-toggle{display:flex;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:12px;padding:3px;gap:2px}.toggle-btn{display:flex;align-items:center;gap:5px;padding:7px 16px;background:none;border:none;border-radius:10px;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative}.toggle-btn:hover{color:var(--text-medium)}.toggle-btn.active{background:var(--bg-card);color:var(--text-dark);box-shadow:var(--shadow-xs)}.toggle-vip-dot{font-size:9px;font-weight:700;padding:1px 5px;background:linear-gradient(135deg,#a78bfa,#6366f1);color:#fff;border-radius:4px;line-height:1.2}.idle-hint-bubble{position:fixed;bottom:80px;right:20px;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:14px 18px;border-radius:14px;box-shadow:0 4px 24px #00000014,0 1px 3px #0000000f;font-size:13px;line-height:1.5;color:#1e293b;max-width:300px;cursor:pointer;animation:idleHintSlideIn .35s cubic-bezier(.22,1,.36,1);z-index:999;border:1px solid rgba(0,0,0,.06);transition:opacity .2s ease,transform .2s ease}.idle-hint-bubble:hover{transform:translateY(-2px);box-shadow:0 6px 28px #0000001a,0 2px 4px #0000000f}.idle-hint-bubble .idle-hint-prefix{font-weight:600;color:#f59e0b;margin-right:6px}.idle-hint-bubble .idle-hint-dismiss{position:absolute;top:6px;right:8px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#94a3b8;cursor:pointer;border-radius:50%;transition:color .15s}.idle-hint-bubble .idle-hint-dismiss:hover{color:#475569}@keyframes idleHintSlideIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-chat-header-actions{display:flex;align-items:center;gap:4px}.ai-chat-header-actions .ai-chat-clear-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:#ffffff26;color:inherit;border-radius:8px;cursor:pointer;opacity:.85;transition:background .15s ease,opacity .15s ease,transform .15s ease}.ai-chat-header-actions .ai-chat-clear-btn:hover{background:#ffffff47;opacity:1;transform:translateY(-1px)}.ai-chat-header-actions .ai-chat-clear-btn:active{transform:translateY(0) scale(.95)}.avatar-bubble{position:fixed;bottom:38px;right:120px;max-width:320px;min-width:200px;padding:12px 32px 12px 14px;border-radius:16px;background:#fffffff0;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 32px #0f172a26,0 2px 6px #0f172a14;border:1px solid rgba(15,23,42,.06);font-size:13px;line-height:1.55;color:#1e293b;cursor:pointer;z-index:10400;animation:avatarBubbleIn .32s cubic-bezier(.34,1.56,.64,1);transition:opacity .2s ease,transform .2s ease}.avatar-bubble:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0f172a2e,0 4px 8px #0f172a1a}.avatar-bubble-arrow{position:absolute;right:-8px;bottom:22px;width:14px;height:14px;background:#fffffff0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-right:1px solid rgba(15,23,42,.06);border-top:1px solid rgba(15,23,42,.06);transform:rotate(45deg)}.avatar-bubble-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#4f7cf7;background:#4f7cf71a;padding:2px 8px;border-radius:999px;margin-bottom:6px}.avatar-bubble-text{color:#0f172a;font-weight:450;word-break:break-word}.avatar-bubble-close{position:absolute;top:6px;right:8px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#94a3b8;cursor:pointer;border-radius:50%;transition:color .15s,background .15s}.avatar-bubble-close:hover{color:#475569;background:#0f172a0f}.avatar-bubble-warning .avatar-bubble-tag{color:#d97706;background:#d977061f}.avatar-bubble-warning .avatar-bubble-text{color:#92400e;font-weight:500}.avatar-bubble-milestone .avatar-bubble-tag{color:#059669;background:#0596691f}.avatar-bubble-milestone .avatar-bubble-text{color:#064e3b}.avatar-bubble-mentor .avatar-bubble-tag{color:#7c3aed;background:#7c3aed1f}@keyframes avatarBubbleIn{0%{opacity:0;transform:translate(12px) scale(.94)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-width: 768px){.avatar-bubble{right:86px;bottom:26px;max-width:calc(100vw - 110px);min-width:160px;font-size:12px}}.milestone-banner{position:fixed;top:24px;right:24px;display:flex;align-items:flex-start;gap:12px;max-width:420px;padding:16px 20px;background:linear-gradient(135deg,#34c7591f,#30d15814);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(52,199,89,.25);border-radius:16px;box-shadow:0 8px 32px #34c75926,0 2px 8px #0000000f;z-index:10000;animation:milestoneBannerIn .4s cubic-bezier(.22,1,.36,1) forwards,milestoneBannerOut .35s ease 2.6s forwards}.milestone-banner-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#34c759,#30d158);border-radius:10px;color:#fff;box-shadow:0 2px 8px #34c75959}.milestone-banner-text{font-size:13px;line-height:1.6;color:var(--text-dark, #1d1d1f);font-weight:500;letter-spacing:-.01em}@keyframes milestoneBannerIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes milestoneBannerOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.92)}}.system-hint-card{position:relative;display:flex;width:100%;align-self:stretch;flex-shrink:0;margin:8px 0;border-radius:12px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 24px #00000014;overflow:visible;animation:systemHintIn .35s cubic-bezier(.22,1,.36,1) forwards}.system-hint-stripe{flex-shrink:0;width:4px;background:var(--hint-accent, #007aff);border-radius:4px 0 0 4px}.system-hint-body{flex:1;padding:12px 14px;min-width:0}.system-hint-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.system-hint-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hint-accent, #007aff)}.system-hint-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:#0000000a;border-radius:6px;cursor:pointer;color:#86868b;transition:background .15s,color .15s}.system-hint-close:hover{background:#00000014;color:#1d1d1f}.system-hint-text{font-size:13px;line-height:1.6;color:#1d1d1f;font-weight:450;letter-spacing:-.01em;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;display:block}.system-hint-expand-btn{display:inline-block;margin-top:8px;padding:0;border:none;background:none;font-size:12px;font-weight:500;color:var(--hint-accent, #007aff);cursor:pointer;transition:opacity .15s}.system-hint-expand-btn:hover{opacity:.7}.system-hint-correction{margin-top:8px;padding:10px 12px;background:#00000008;border-radius:8px;animation:systemHintIn .25s cubic-bezier(.22,1,.36,1) forwards}.system-hint-correction-label{font-size:11px;font-weight:600;color:#34c759;margin-bottom:4px;letter-spacing:.02em}.system-hint-correction-text{font-size:12.5px;line-height:1.55;color:#3a3a3c}.system-hint-actions{display:flex;justify-content:flex-end;margin-top:8px}.system-hint-dismiss-btn{padding:5px 14px;border:none;border-radius:8px;font-size:12px;font-weight:500;color:var(--hint-accent, #007aff);background:#007aff14;cursor:pointer;transition:background .15s}.system-hint-dismiss-btn:hover{background:#007aff24}.system-hint-collapsed{background:#ffffff80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:none;border-color:#0000000a}.system-hint-collapsed-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:11px;color:#86868b;font-weight:450}@keyframes systemHintIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.floating-contact-root{position:fixed;right:24px;bottom:24px;z-index:9000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.floating-contact-btn{position:relative;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#0071e3,#5856d6 60%,#ff9f0a 140%);box-shadow:0 10px 30px #0071e359,0 2px 8px #5856d640,inset 0 1px #ffffff40;backdrop-filter:saturate(140%) blur(20px);-webkit-backdrop-filter:saturate(140%) blur(20px);transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease;animation:fcBreath 4s ease-in-out infinite}.floating-contact-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 40px #0071e373,0 4px 12px #5856d64d,inset 0 1px #ffffff4d}.floating-contact-btn:active{transform:translateY(0) scale(.98)}.floating-contact-btn.is-open{animation:none;background:linear-gradient(135deg,#3a3a3c,#1c1c1e);box-shadow:0 8px 24px #0000004d}.floating-contact-btn-icon{display:inline-flex;align-items:center;justify-content:center}.floating-contact-tooltip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(6px);padding:6px 12px;font-size:12px;font-weight:500;color:#1d1d1f;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.06);border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;box-shadow:0 4px 14px #00000014}.floating-contact-btn:hover .floating-contact-tooltip{opacity:1;transform:translateY(-50%) translate(0)}.floating-contact-btn.is-open .floating-contact-tooltip{opacity:0}@keyframes fcBreath{0%,to{box-shadow:0 10px 30px #0071e359,0 2px 8px #5856d640,inset 0 1px #ffffff40}50%{box-shadow:0 14px 38px #0071e37a,0 2px 10px #5856d652,inset 0 1px #ffffff4d}}.floating-contact-popup{position:absolute;right:0;bottom:72px;width:300px;padding:20px 20px 16px;border-radius:24px;background:#ffffffd1;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.6);box-shadow:0 20px 60px #0000002e,0 8px 20px #00000014,inset 0 1px #fffc;transform-origin:bottom right;animation:fcPopIn .3s cubic-bezier(.22,1,.36,1)}@keyframes fcPopIn{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-contact-close{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#86868b;background:#0000000a;transition:background .18s ease,color .18s ease}.floating-contact-close:hover{background:#00000014;color:#1d1d1f}.floating-contact-header{text-align:center;margin-bottom:14px}.floating-contact-title{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#1d1d1f;background:linear-gradient(135deg,#0071e3,#5856d6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.floating-contact-title .icon{color:#5856d6;-webkit-text-fill-color:currentColor}.floating-contact-subtitle{margin-top:4px;font-size:12px;color:#86868b;font-weight:450}.floating-contact-qr{width:100%;border-radius:16px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 12px #0000000f;display:flex;align-items:center;justify-content:center;padding:6px}.floating-contact-qr img{width:100%;height:auto;max-height:360px;object-fit:contain;display:block}.floating-contact-tags{list-style:none;margin:14px 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.floating-contact-tags li{display:flex;align-items:center;gap:8px;font-size:12px;color:#3a3a3c;font-weight:450}.fc-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.fc-dot-blue{background:#0071e3}.fc-dot-violet{background:#5856d6}.fc-dot-amber{background:#ff9f0a}.floating-contact-footer{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);font-size:11px;color:#86868b;font-weight:450}.floating-contact-footer .icon{color:#86868b}@media (max-width: 768px){.floating-contact-root{right:16px;bottom:16px}.floating-contact-btn{width:48px;height:48px}.floating-contact-btn-icon .icon{width:20px;height:20px}.floating-contact-tooltip{display:none}.floating-contact-popup{width:min(280px,calc(100vw - 32px));right:0;bottom:60px;padding:16px 16px 14px;border-radius:20px}}.lab-hint-stack{position:absolute;top:12px;right:16px;z-index:900;display:flex;flex-direction:column;align-items:stretch;width:min(400px,calc(100% - 32px));max-height:calc(100% - 100px);overflow-y:auto;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,black 88%,transparent 100%);mask-image:linear-gradient(to bottom,black 88%,transparent 100%)}.lab-hint-stack .system-hint-card{margin:4px 0;box-shadow:0 4px 24px #0f172a2e;pointer-events:auto}@media (max-width: 768px){.lab-hint-stack{top:8px;right:8px;width:calc(100% - 16px);max-height:45%}}
