:root{--bg-color: #0d1117;--surface-color: #161b22;--surface-hover: #21262d;--text-primary: #f0f6fc;--text-secondary: #8b949e;--text-muted: #484f58;--accent-color: #58a6ff;--accent-hover: #79c0ff;--border-color: #30363d;--success-color: #3fb950;--error-color: #f85149;--sidebar-width: 320px;--header-height: 100px;--footer-height: 80px;--transition-speed: .3s;--font-main: "Inter", system-ui, -apple-system, sans-serif}[data-theme=light]{--bg-color: #f6f8fa;--surface-color: #ffffff;--surface-hover: #f3f4f6;--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #8c959f;--accent-color: #0969da;--accent-hover: #0550ae;--border-color: #d0d7de;--success-color: #1a7f37;--error-color: #d1242f}[data-theme=pink]{--bg-color: #fff0f6;--surface-color: #ffffff;--surface-hover: #ffdeeb;--text-primary: #a61e4d;--text-secondary: #c2255c;--text-muted: #f06595;--accent-color: #d6336c;--accent-hover: #e64980;--border-color: #fcc2d7;--success-color: #2f9e44;--error-color: #e03131}[data-theme=sci-fi]{--bg-color: #030712;--surface-color: #0f172a;--surface-hover: #1e293b;--text-primary: #38bdf8;--text-secondary: #94a3b8;--text-muted: #475569;--accent-color: #22d3ee;--accent-hover: #67e8f9;--border-color: #334155;--success-color: #4ade80;--error-color: #f87171}[data-theme=comic-book]{--bg-color: #fef08a;--surface-color: #ffffff;--surface-hover: #fef9c3;--text-primary: #000000;--text-secondary: #1e293b;--text-muted: #64748b;--accent-color: #ef4444;--accent-hover: #dc2626;--border-color: #000000;--success-color: #22c55e;--error-color: #7f1d1d;--font-main: "Bangers", cursive, system-ui}[data-theme=midnight]{--bg-color: #020617;--surface-color: #0f172a;--surface-hover: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #475569;--accent-color: #818cf8;--accent-hover: #a5b4fc;--border-color: #1e293b;--success-color: #22c55e;--error-color: #ef4444}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:none}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);transition:background-color var(--transition-speed),color var(--transition-speed)}button{cursor:pointer;font-family:inherit}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@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,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) 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;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.28"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.app-container{display:grid;grid-template-areas:"banner banner" "header header" "sidebar main" "footer footer";grid-template-columns:auto 1fr;grid-template-rows:auto var(--header-height) minmax(0,1fr) var(--footer-height);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;transition:grid-template-columns .3s ease;overflow-x:hidden;max-width:100vw}.banner-area{grid-area:banner}.sidebar-overlay{display:none}.header{grid-area:header;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:auto 1fr;align-items:center;padding:0 1.5rem;position:sticky;top:0;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-left{display:flex;justify-content:flex-start}.header-center{display:flex;justify-content:center}.header-right{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem}.lesson-search{position:relative;min-width:340px}.lesson-search-input-wrap{display:flex;align-items:center;background:var(--surface-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:16px;padding:calc(4px + .6rem) 1.5rem;gap:.6rem;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 30px -10px #0003;cursor:text}.lesson-search-input-wrap:hover,.lesson-search-input-wrap:focus-within{background:var(--surface-hover);border-color:var(--accent-color);box-shadow:0 15px 40px -10px #0000004d,0 0 0 1px var(--accent-color);transform:translateY(-1px)}.lesson-search-icon{color:var(--text-muted);flex-shrink:0;opacity:.7}.lesson-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.95rem;font-weight:600;padding:0;min-width:160px}.lesson-search-input::placeholder{color:var(--text-muted);font-weight:400}.lesson-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px}.lesson-search-clear:hover{color:var(--text-primary)}.lesson-search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000040;max-height:380px;overflow-y:auto;z-index:9999}.search-group{padding:.5rem 0}.search-group+.search-group{border-top:1px solid var(--border-color)}.search-group-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-color);padding:.35rem .85rem}.search-result-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;background:none;border:none;padding:.45rem .85rem;cursor:pointer;text-align:left;gap:1px;transition:background .1s}.search-result-item:hover{background:var(--bg-color)}.search-result-topic{font-size:.72rem;color:var(--text-muted)}.search-result-subtopic{font-size:.88rem;color:var(--text-primary);font-weight:500}.search-empty{padding:1rem .85rem;font-size:.85rem;color:var(--text-muted)}.logo{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.5rem;letter-spacing:-.5px}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);padding:.5rem;margin-right:.5rem;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;transition:background-color .2s}.mobile-menu-btn:hover{background-color:var(--surface-hover)}.logo-svg{height:48px;width:auto;display:block}@media(max-width:768px){.logo-svg{height:48px}}.icon-btn{background:none;border:none;color:var(--text-secondary);padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center}.icon-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.app-footer{grid-area:footer;height:var(--footer-height);min-height:var(--footer-height);background-color:var(--surface-color);border-top:1px solid var(--border-color);display:flex;align-items:center;padding:1rem 2rem;color:var(--text-muted);font-size:.85rem;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.footer-content{width:100%;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.footer-attribution a{color:var(--accent-color);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.25rem;transition:color .2s}.footer-attribution a:hover{color:var(--accent-hover);text-decoration:underline}@media(max-width:768px){.footer-content{flex-direction:column;text-align:center;gap:1rem}}.sidebar{grid-area:sidebar;background-color:var(--surface-color);border-right:1px solid var(--border-color);height:100%;position:relative;overflow-y:auto;padding:1.5rem .5rem;display:flex;flex-direction:column;width:var(--sidebar-width);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;overscroll-behavior:contain}.sidebar-loading{padding:1rem;color:var(--text-muted);font-size:.9rem}.sidebar-stationary{position:sticky;top:-1.5rem;background-color:var(--surface-color);padding-top:1.5rem;margin-top:-1.5rem;z-index:10}.sidebar-divider{height:1px;background:var(--border-color);margin:1rem .75rem;opacity:.5}.sidebar-section-label{font-size:.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin-bottom:1rem;padding-left:.75rem}.sidebar-link{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem .75rem .75rem 1rem;border-radius:8px;border:none;background:none;color:var(--text-secondary);font-weight:500;transition:all .2s;margin-bottom:.25rem;text-align:left;gap:.5rem}.sidebar-link:hover{background-color:var(--surface-hover);color:var(--text-primary)}.sidebar-link.active{color:var(--text-primary)}.sidebar-link-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.sidebar-link-text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;white-space:normal;flex:1}.sidebar-chevron{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sidebar-icon{flex-shrink:0}.sidebar-subtopics{padding-left:2.75rem;margin-bottom:.5rem;overflow:hidden}.subview-link{display:flex;align-items:center;padding:.5rem 1rem .5rem 0;font-size:.9rem;color:var(--text-secondary);transition:color .2s;line-height:1.4;overflow-wrap:break-word}.subview-link:hover{color:var(--accent-color)}.subview-link.active{color:var(--accent-color);font-weight:600}.sidebar-footer{margin-top:auto;padding-top:2rem;font-size:.8rem;color:var(--text-muted);text-align:center}.header-subject-selector{display:flex;align-items:center;background:var(--surface-color);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);padding:4px;border-radius:16px;gap:0;transition:all .4s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 30px -10px #0003}.header-subject-selector:hover{background:var(--surface-hover);border-color:var(--accent-color);box-shadow:0 15px 40px -10px #0000004d,0 0 0 1px var(--accent-color);transform:translateY(-1px)}.subject-label{font-size:.65rem;font-weight:800;color:var(--accent-color);text-transform:uppercase;letter-spacing:.2em;padding:0 1.25rem;opacity:.7;border-right:1px solid var(--border-color);-webkit-user-select:none;user-select:none}.subject-selector-container{position:relative}.subject-selector-trigger{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary);padding:.6rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:240px;position:relative}.current-subject-name{background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.subject-chevron{position:absolute;right:1.25rem;transition:transform .4s cubic-bezier(.16,1,.3,1);color:var(--accent-color);opacity:.5}.subject-selector-trigger.active .subject-chevron{transform:rotate(180deg);opacity:1}.subject-menu{position:absolute;top:calc(100% + 12px);right:0;width:280px;background:var(--surface-color);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 25px 50px -12px #0006;padding:.75rem;z-index:1100;overflow:hidden}.subject-item{width:100%;display:flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);cursor:pointer;text-align:center}.subject-item:hover{background:#ffffff0d;color:var(--text-primary);transform:translate(4px)}.subject-item.active{background:#58a6ff1a;border-color:#58a6ff33;color:var(--accent-color);font-weight:600}.sidebar-mobile-header{display:none}.main-content{grid-area:main;padding:2rem;margin:0 auto;width:100%;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;max-width:100%;overflow-x:hidden}.welcome-section{text-align:left;margin-bottom:3rem;border-left:4px solid var(--accent-color);padding-left:1.5rem;padding-top:.5rem;padding-bottom:.5rem}.welcome-title{font-size:2.5rem;font-weight:800;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}.welcome-subtitle{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;max-width:800px}.quick-tips-section{margin-bottom:1rem}.tips-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.tip-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#58a6ff0d,#58a6ff05);border:1px solid var(--border-color);border-radius:12px;transition:all .3s ease}.tip-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.tip-icon{font-size:1.75rem;line-height:1;flex-shrink:0}.tip-content{display:flex;flex-direction:column;gap:.25rem}.tip-content strong{font-size:1rem;color:var(--text-primary);font-weight:600}.tip-content span{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;margin-top:3rem}.subject-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease;display:flex;flex-direction:column;align-items:center}.subject-card:hover{transform:translateY(-5px);border-color:var(--accent-color);box-shadow:0 10px 30px #0003}.subject-icon-wrapper{width:64px;height:64px;background:#58a6ff1a;color:var(--accent-color);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.subject-card h3{font-size:1.5rem;margin-bottom:.5rem}.subject-card p{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.subtopics-list{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.subtopic-tag{font-size:.75rem;padding:4px 10px;background:var(--bg-color);color:var(--text-muted);border-radius:12px;border:1px solid var(--border-color)}.card-btn{margin-top:auto;display:flex;align-items:center;gap:.5rem;color:var(--accent-color);font-weight:600;font-size:.95rem;transition:gap .2s}.card-btn:hover{gap:.75rem}.home-container{display:flex;flex-direction:column;width:100%}.progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:.5rem}.progress-card{border-radius:16px;padding:1.4rem 1.5rem;cursor:pointer;border:2px solid transparent;display:flex;flex-direction:column;gap:.75rem;transition:box-shadow .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none;outline:none}.progress-card:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.progress-card--empty{background:#fff;border-color:#e0e0e0;color:#1a1a2e;box-shadow:0 2px 10px #0000000f}.progress-card--empty:hover{border-color:#bdbdbd;box-shadow:0 6px 20px #0000001f}.progress-card--empty .progress-card-title{color:#1a1a2e}.progress-card--empty .progress-card-subtopics,.progress-card--empty .progress-card-pct{color:#555}.progress-card--empty .progress-bar-track{background:#e0e0e0}.progress-card--empty .progress-bar-fill{background:#bdbdbd}.progress-card--partial{background:#fffde7;border-color:#f9ca24;color:#4a3800;box-shadow:0 2px 10px #f9ca242e}.progress-card--partial:hover{border-color:#f0b90b;box-shadow:0 6px 22px #f9ca2447}.progress-card--partial .progress-card-title{color:#3d2e00}.progress-card--partial .progress-card-subtopics{color:#7a5c00}.progress-card--partial .progress-card-pct{color:#7a5c00;font-weight:700}.progress-card--partial .progress-bar-track{background:#fff3a3}.progress-card--partial .progress-bar-fill{background:linear-gradient(90deg,#f9ca24,#f0b90b)}.progress-card--complete{background:#e8f5e9;border-color:#43a047;color:#1b3a1e;box-shadow:0 2px 10px #43a0472e}.progress-card--complete:hover{border-color:#2e7d32;box-shadow:0 6px 22px #43a04742}.progress-card--complete .progress-card-title{color:#1b3a1e}.progress-card--complete .progress-card-subtopics{color:#2e7d32}.progress-card--complete .progress-card-pct{color:#2e7d32;font-weight:700}.progress-card--complete .progress-bar-track{background:#c8e6c9}.progress-card--complete .progress-bar-fill{background:linear-gradient(90deg,#66bb6a,#43a047)}.progress-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.progress-card-title{font-size:1rem;font-weight:700;line-height:1.35;flex:1}.progress-card-pct{font-size:1.2rem;font-weight:600;white-space:nowrap}.progress-card-subtopics{font-size:.8rem;opacity:.85}.progress-bar-track{width:100%;height:7px;border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:99px;min-width:0}.progress-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--text-muted)}.progress-empty{text-align:center;padding:4rem 2rem;color:var(--text-muted);font-size:1rem}.practice-container{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;box-shadow:0 10px 30px #0000001a;min-height:400px}.practice-breadcrumb{display:flex;align-items:center;gap:4px;margin-bottom:1rem;flex-wrap:wrap}.breadcrumb-item{font-size:.78rem;color:var(--text-muted);letter-spacing:.02em}.breadcrumb-current{color:var(--accent-color);font-weight:600}.breadcrumb-sep{color:var(--text-muted);opacity:.5;flex-shrink:0}.header-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.problem-counter{font-size:.85rem;color:var(--text-muted)}.problem-card{display:flex;flex-direction:column}.feedback-message{margin-top:1.5rem;padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-weight:500}.feedback-message.correct{background:#3fb9501a;color:var(--success-color);border:1px solid rgba(63,185,80,.2)}.feedback-message.incorrect{background:#f851491a;color:var(--error-color);border:1px solid rgba(248,81,73,.2)}.btn-next{margin-left:auto;background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;display:flex;align-items:center;gap:.5rem;font-size:.9rem;transition:opacity .2s}.input-field.correct{border-color:var(--success-color);background:#3fb9500d}.input-field.incorrect{border-color:var(--error-color);background:#f851490d}.problem-header{margin-bottom:2rem}.topic-tag{background:#58a6ff1a;color:var(--accent-color);padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.problem-text{font-size:1.5rem;margin:1.5rem 0;line-height:1.6}.answer-area{display:flex;gap:1rem;margin-top:2rem}.input-field{flex:1;background:#fff;border:2px solid var(--border-color);color:#000;padding:.8rem 1.2rem;border-radius:12px;font-size:1.1rem;transition:all .2s ease}.input-field:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #58a6ff1a}.btn-primary{background-color:var(--accent-color);color:#fff;border:none;padding:.8rem 2rem;border-radius:40px;font-weight:700;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 12px #58a6ff4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #58a6ff66;filter:brightness(1.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.modal-root{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;z-index:2000;padding:1rem;padding-top:5vh;overflow-y:auto;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container{position:relative;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:450px;box-shadow:0 20px 50px #00000080;z-index:10}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25rem;font-weight:600}.title-with-icon{display:flex;align-items:center;gap:1rem}.header-icon-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.header-icon-circle.accent{background:#58a6ff1a;color:var(--accent-color)}.signup-modal{max-width:550px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.signup-form{display:flex;flex-direction:column;gap:1.5rem}.label-optional{font-weight:400;opacity:.6;font-size:.75rem}.field-note{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.password-rules-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.3rem}.password-rule{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted);transition:color .2s}.password-rule .rule-icon{flex-shrink:0;opacity:.3;transition:opacity .2s,color .2s}.password-rule.passed{color:#43a047}.password-rule.passed .rule-icon{opacity:1;color:#43a047}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.profile-header-display{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#58a6ff0d,#58a6ff05);border-radius:16px;border:1px solid var(--border-color);margin-bottom:2rem}.profile-display-name{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:.25rem}.profile-display-username{color:var(--text-muted);font-size:1rem;font-family:monospace;letter-spacing:1px}.avatar-info h4{font-size:1.1rem;color:var(--text-primary)}.avatar-info p{font-size:.9rem;color:var(--text-muted)}.form-textarea{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:1rem;border-radius:12px;font-size:1rem;resize:vertical}.form-textarea:focus{outline:none;border-color:var(--accent-color)}.modal-content{padding:1.5rem}.settings-group{margin-bottom:2rem}.settings-label{display:block;font-size:.8rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:.5rem}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-item span{font-weight:500;color:var(--text-primary)}.toggle-switch{width:44px;height:24px;background:var(--surface-hover);border:1px solid var(--border-color);border-radius:12px;position:relative;transition:all .2s;cursor:pointer}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all .2s cubic-bezier(.4,0,.2,1)}.toggle-switch.disabled{opacity:.5;cursor:not-allowed}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.theme-card{background:var(--bg-color);border:2px solid var(--border-color);color:var(--text-secondary);padding:1rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all .2s;cursor:pointer}.theme-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.theme-card.selected{border-color:var(--accent-color);color:var(--accent-color);background:#58a6ff0d}.theme-preview{width:24px;height:24px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}.theme-card span{font-size:.9rem;font-weight:500}.theme-dropdown-container{position:relative}.theme-dropdown-trigger{display:flex;align-items:center;gap:.75rem;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500;transition:all .2s;cursor:pointer;min-width:220px;justify-content:space-between}.theme-dropdown-trigger:hover{border-color:var(--accent-color);background:var(--surface-hover)}.theme-dropdown-trigger.active{border-color:var(--accent-color);box-shadow:0 0 0 3px #58a6ff1a}.trigger-content{display:flex;align-items:center;gap:.75rem}.current-theme-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{transition:transform .2s;color:var(--text-muted)}.chevron.rotate{transform:rotate(180deg)}.theme-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;width:200px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 25px #0000004d;padding:.5rem;z-index:1100;overflow:hidden}.dropdown-header{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;padding:.5rem .75rem;margin-bottom:.25rem;letter-spacing:.05em}.theme-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:8px;border:none;background:none;color:var(--text-secondary);font-size:.9rem;transition:all .2s;cursor:pointer}.theme-dropdown-item:hover{background:var(--surface-hover);color:var(--text-primary)}.theme-dropdown-item.active{background:#58a6ff1a;color:var(--accent-color);font-weight:500}.item-left{display:flex;align-items:center;gap:.75rem}.theme-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.check-icon{color:var(--accent-color)}.profile-dropdown-container{position:relative}.profile-trigger{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid transparent;padding:.25rem;border-radius:50px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.profile-trigger:hover,.profile-trigger.active{color:var(--text-primary)}.avatar-circle{width:36px;height:36px;background:var(--accent-color);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;box-shadow:0 4px 12px #0003;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.2)}.profile-trigger:hover .avatar-circle{transform:translateY(-1px) scale(1.05);box-shadow:0 6px 15px #0000004d;filter:brightness(1.1)}.profile-menu{position:absolute;top:calc(100% + 10px);right:0;width:220px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 25px #0000004d;padding:.5rem;z-index:1100}.profile-menu-header{padding:.75rem 1rem}.profile-name{font-weight:600;font-size:.95rem;color:var(--text-primary);margin:0}.profile-email{font-size:.8rem;color:var(--text-muted);margin:0}.menu-divider{height:1px;background:var(--border-color);margin:.5rem 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;border:none;background:none;color:var(--text-secondary);font-size:.9rem;transition:all .2s;cursor:pointer}.profile-menu-item:hover{background:var(--surface-hover);color:var(--text-primary)}.profile-menu-item.logout{color:var(--error-color)}.profile-menu-item.logout:hover{background:#f851491a}.settings-trigger{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid transparent;padding:.25rem .5rem;border-radius:50px;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.settings-trigger:hover{background:var(--surface-hover);border-color:var(--border-color);color:var(--text-primary)}.settings-icon-wrapper{width:32px;height:32px;background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary);border-radius:50%;display:flex;align-items:center;justify-content:center}@media(max-width:768px){:root{--header-height: 120px;--footer-height: 60px;--sidebar-width: 280px}.app-container{grid-template-areas:"banner" "header" "main" "footer";grid-template-columns:1fr;grid-template-rows:auto var(--header-height) 1fr var(--footer-height);min-height:100vh;height:auto}.mobile-menu-btn{display:flex}.header{display:flex;flex-direction:column;height:var(--header-height);padding:.75rem 1rem;gap:.75rem;align-items:center;justify-content:center;width:100%;overflow:visible}.header-left{display:flex;justify-content:center;align-items:center;width:100%;position:relative;padding:0}.mobile-menu-btn{position:static;transform:none;display:flex;margin:0}.header-right{display:flex;justify-content:space-between;align-items:center;width:100%;gap:.5rem}.header-subject-selector{flex:1;justify-content:center;margin:0 .25rem}.logo-svg{height:32px}.header-subject-selector{padding:2px;border-radius:12px}.subject-label{display:none}.subject-selector-trigger{min-width:140px;padding:.5rem 1rem;font-size:.85rem}.subject-chevron{right:.75rem}.header-right{gap:.75rem}.sidebar-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:999;padding-top:1rem;box-shadow:10px 0 30px #0000004d}.sidebar:not(.open){width:var(--sidebar-width);transform:translate(-100%);border-right-width:0}.sidebar.open{width:var(--sidebar-width);transform:translate(0);border-right:1px solid var(--border-color);background-color:var(--surface-color);box-shadow:15px 0 50px #0009}.subject-menu{width:220px;right:-10px}.sidebar:not(.open) .sidebar-link-text,.sidebar:not(.open) .sidebar-chevron,.sidebar:not(.open) .sidebar-section-label,.sidebar:not(.open) .sidebar-subtopics,.sidebar:not(.open) .sidebar-footer p{display:block}.sidebar:not(.open) .sidebar-link{justify-content:space-between;padding:.75rem 1rem}.sidebar.open .sidebar-link-text,.sidebar.open .sidebar-chevron,.sidebar.open .sidebar-section-label,.sidebar.open .sidebar-footer p{display:block}.sidebar-mobile-header{display:flex;padding:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.sidebar-close-btn{display:flex;align-items:center;gap:.75rem;background:var(--surface-hover);border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem 1rem;border-radius:12px;width:100%;cursor:pointer;font-weight:600;font-size:.9rem}.main-content{padding:1.25rem;overflow-y:visible;height:auto}.welcome-title{font-size:1.75rem}.welcome-section{margin-bottom:2rem}.subjects-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:2rem;width:100%}.tips-container{grid-template-columns:1fr;width:100%}.practice-container{padding:1.25rem}.answer-area{flex-direction:column;gap:1rem}.btn-primary{width:100%;padding:1rem}.login-card{width:100%;max-width:100%;padding:1.5rem;margin-top:1rem;border-radius:16px}.landing-bg-glow{width:100vw;height:100vw;background:radial-gradient(circle,rgba(88,166,255,.08) 0%,transparent 80%)}}.landing-wrapper{display:flex;flex-direction:column;min-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:100vw}.landing-container{--lp-bg: #0f172a;--lp-surface: #1e293b;--lp-accent: #2dd4bf;--lp-secondary: #6366f1;--lp-text: #ffffff;--lp-text-muted: #94a3b8;--lp-border: #334155;--bg-color: var(--lp-bg);--surface-color: var(--lp-surface);--accent-color: var(--lp-accent);--text-primary: var(--lp-text);--text-secondary: var(--lp-text-muted);--text-muted: #64748b;--border-color: var(--lp-border);--success-color: var(--lp-secondary);flex:1;min-height:min-content;background-color:var(--lp-bg);color:var(--lp-text);overflow:visible;position:relative;font-family:Inter,system-ui,sans-serif;display:flex;flex-direction:column;max-width:100vw}.landing-hero{padding:80px 5% 0;flex:1;min-height:min-content;display:flex;flex-direction:column;justify-content:center;padding-bottom:2rem;overflow:visible}.landing-nav{position:absolute;top:0;left:0;right:0;height:140px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;z-index:10}.landing-logo{max-width:100%;height:auto;max-height:120px}@media(max-width:768px){.landing-nav{height:auto;min-height:140px;padding:2rem 1.5rem 1rem;position:relative;flex-direction:column;gap:1.5rem}.landing-logo{height:auto;width:85%;max-width:320px}.landing-nav-links{width:100%;justify-content:center;gap:1rem}}.landing-nav-links{display:flex;gap:2rem}.hero-content{width:100%;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:1.5rem;z-index:2;margin-top:0}.hero-text{position:relative}.hero-title{font-size:3.5rem;line-height:1.1;font-weight:800;margin-bottom:1.5rem;color:var(--text-primary)}.text-gradient{background:linear-gradient(135deg,var(--accent-color),var(--success-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description{font-size:1.15rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.hero-features-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem}.hero-feature-pill{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,#58a6ff1f,#58a6ff0a);border:1px solid rgba(88,166,255,.25);border-radius:50px;transition:all .3s ease}.hero-feature-pill:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #58a6ff33}.hero-feature-pill svg{color:var(--accent-color);flex-shrink:0}.hero-feature-pill span{font-size:.9rem;font-weight:500;color:var(--text-primary)}.hero-highlights{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.5rem;background:#ffffff08;border:1px solid var(--border-color);border-radius:12px}.highlight-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;flex:1}.highlight-label{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.highlight-sublabel{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.highlight-divider{width:1px;height:32px;background:var(--border-color)}@media(max-width:768px){.hero-title{font-size:2.25rem;text-align:center;margin-top:2rem}.hero-description{font-size:1rem;text-align:center}.hero-features-row{justify-content:center;margin-bottom:2rem}.hero-feature-pill{padding:.5rem .875rem}.hero-feature-pill span{font-size:.8rem}.hero-highlights{flex-wrap:wrap;justify-content:center;gap:1rem;padding:1rem}.highlight-divider{display:none}.hero-content{margin-top:2rem;padding-bottom:2rem;display:flex;flex-direction:column}.login-card{padding:2rem 1.5rem;margin-top:1rem}}.stat-item{display:flex;flex-direction:column}.stat-value{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.8rem;letter-spacing:1px}.stat-divider{width:1px;height:40px;background:var(--border-color)}.login-card{background:var(--surface-color);border:1px solid var(--border-color);padding:2.5rem;border-radius:24px;box-shadow:0 40px 100px #0006;position:relative;z-index:2;width:100%;max-width:520px;margin:0 auto}.login-card h3{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.login-card p{color:var(--text-secondary);margin-bottom:2.5rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.form-group input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:1rem;border-radius:12px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #58a6ff1a}.btn-login-submit{background:var(--accent-color);color:#fff;border:none;padding:1.25rem;border-radius:12px;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .2s;margin-top:1rem}.btn-login-submit:hover{filter:brightness(1.1);transform:translateY(-2px)}.login-footer{margin-top:2rem;text-align:center;font-size:.9rem;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--accent-color);font-weight:600;margin-left:.5rem;cursor:pointer}.login-error-message{background:#f851491a;border:1px solid rgba(248,81,73,.2);color:#ff7b72;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.landing-features{padding:8rem 5%;background:#161b2280;border-top:1px solid var(--border-color)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1200px;margin:0 auto}.feature-card{padding:2.5rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:20px;transition:all .3s ease}.feature-icon-wrapper{width:50px;height:50px;background:#58a6ff1a;color:var(--accent-color);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.feature-icon-svg{width:24px;height:24px}.feature-card h4{font-size:1.25rem;margin-bottom:1rem;color:#fff}.feature-card p{color:#94a3b8;line-height:1.6}.landing-bg-glow{position:absolute;top:0;right:0;width:600px;height:600px;background:radial-gradient(circle,rgba(88,166,255,.1) 0%,transparent 70%);z-index:1;pointer-events:none}.btn-ghost{background:none;border:none;color:var(--text-secondary);font-weight:500;transition:color .2s;cursor:pointer}.btn-ghost:hover{color:var(--text-primary)}.landing-container .app-footer{flex-shrink:0}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center;gap:3rem}.hero-title{font-size:3.5rem}.hero-description{margin:0 auto 3rem}.hero-stats{justify-content:center}.features-grid{grid-template-columns:1fr;gap:1.5rem}}.mission-text-content{display:flex;flex-direction:column;gap:2rem;padding:1rem 0}.mission-highlight{font-size:1.25rem;font-weight:500;color:var(--text-primary);line-height:1.6;border-left:4px solid var(--accent-color);padding-left:1.5rem}.mission-grid{display:grid;gap:2rem}.mission-item{display:flex;gap:1.25rem;align-items:flex-start}.mission-icon{color:var(--accent-color);flex-shrink:0;margin-top:.25rem}.mission-item h4{color:var(--text-primary);font-size:1.1rem;margin-bottom:.5rem}.mission-item p{color:var(--text-secondary);line-height:1.5;font-size:.95rem}.mission-footer{font-style:italic;color:var(--text-muted);font-size:.95rem;text-align:center;margin-top:1rem;padding:1.5rem;background:var(--surface-hover);border-radius:12px}.lesson-card-container{background-color:#fff;border:1px solid var(--border-color);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#000!important}.lesson-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--accent-color);border-bottom:1px solid #e2e8f0;padding-bottom:1rem}.lesson-content{line-height:1.7;color:#000}.lesson-content h2,.lesson-content h3{margin-top:1.5rem;margin-bottom:.75rem;color:#000!important;font-weight:700}.lesson-content p,.lesson-content li,.lesson-content strong,.lesson-content em{color:#000}.lesson-content .math-block{background:#f8fafc;padding:1rem;border-radius:8px;margin:1rem 0;overflow-x:auto;border:1px solid #e2e8f0;color:#000}.problems-section h2{margin-bottom:1.5rem;font-size:1.5rem}.problems-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem}.problem-grid-item{background-color:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:2.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);min-height:180px;font-weight:700;box-shadow:0 2px 10px #0000000f;position:relative;overflow:hidden;color:#1a1a2e}.problem-grid-item--todo{background:#fff;border-color:#e0e0e0;color:#1a1a2e}.problem-grid-item--todo .problem-icon{color:#888}.problem-grid-item--todo:hover{border-color:#bdbdbd;box-shadow:0 8px 24px #00000021;transform:translateY(-5px) scale(1.02)}.problem-grid-item--done{background:#e8f5e9;border-color:#43a047;color:#1b3a1e;box-shadow:0 2px 10px #43a0472e}.problem-grid-item--done .problem-icon{color:#43a047}.problem-grid-item--done:hover{border-color:#2e7d32;box-shadow:0 8px 24px #43a04742;transform:translateY(-5px) scale(1.02)}.problem-icon{color:var(--accent-color)}.problem-modal-content{background-color:var(--surface-color);width:90%;max-width:600px;border-radius:20px;padding:3rem;position:relative;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--border-color)}.close-modal-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-modal-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.math-problem-container{background-color:#fff;color:#000;padding:1rem;border-radius:12px}.math-problem-container h3{color:var(--accent-color)}.math-display{color:#000;margin:2rem 0}.explanation-box{margin-top:1.5rem;padding:1.5rem;background-color:#fff;border:1px solid var(--accent-color);border-radius:12px;color:#000;box-shadow:0 4px 6px -1px #0000001a}.explanation-box h3{font-size:1.1rem;margin-bottom:.75rem;margin-top:1rem;color:var(--accent-color)}.explanation-box p,.explanation-box li{color:#000}.explanation-box h3:first-child{margin-top:0}.hint-box{background-color:var(--bg-color);border:1px dashed var(--border-color);padding:1rem;border-radius:8px;margin-top:1rem;color:var(--text-secondary);font-style:italic}.no-problems{text-align:center;color:var(--text-muted);padding:3rem;background:var(--surface-color);border-radius:12px;border:1px dashed var(--border-color)}.loader{display:flex;align-items:center;justify-content:center;height:100%;color:var(--accent-color);font-weight:600}.help-section{margin-top:2.5rem;border-top:1px solid #f1f5f9;padding-top:1.5rem}.modal-overlay{display:flex;align-items:center;justify-content:center;z-index:3000}.center-modal{margin:0 auto;max-height:90vh;overflow-y:auto}.btn-explain{background-color:#58a6ff1a;color:var(--accent-color);padding:.5rem 1rem;border-radius:8px;font-weight:500;transition:all .2s;border:1px solid transparent}.btn-explain:hover{background-color:var(--accent-color);color:#fff}.lesson-content h2,.lesson-content h3{color:var(--text-primary);margin-top:1.5rem}.lesson-content ul{margin-left:1.5rem;margin-bottom:1rem}.lesson-content li{margin-bottom:1rem}.lesson-content li .katex-display{margin:.5rem 0;display:inline-block;vertical-align:middle;width:auto}.lesson-content li br{display:none}.math-definition{background:#f8fafc;border-left:4px solid var(--accent-color);padding:1rem;margin:1.5rem 0;border-radius:0 8px 8px 0;color:#000}.math-definition p{color:#64748b!important;font-size:.9rem;margin-bottom:.5rem}
