@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-0cdd387c.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-30da91e8.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-68534840.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-3398dd02.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-74444efd.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-9163df9c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-51814d27.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-5e28753b.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-0f60d1b8.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-c76c5d69.woff) format("woff"),url(/assets/KaTeX_Main-Bold-138ac28d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-97479ca6.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-f1d6ef86.woff) format("woff"),url(/assets/KaTeX_Main-Italic-0d85ae7c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-c2342cd8.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-c6368d87.woff) format("woff"),url(/assets/KaTeX_Main-Regular-d0332f52.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-dc47344d.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-850c0af5.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-7af58c5e.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-8a8d2445.woff) format("woff"),url(/assets/KaTeX_Math-Italic-08ce98e5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-e99ae511.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-ece03cfd.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-91ee6750.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-3931dd81.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-f36ea897.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-036d4e95.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-d96cdf2b.woff) format("woff"),url(/assets/KaTeX_Script-Regular-1c67f068.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-6b47c401.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-c943cc98.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-95b6d2f1.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-d04c5421.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-2014c523.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-a6b2099f.ttf) format("truetype")}@font-face{font-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-6ab6b62e.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-500e04d5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-a4af7d41.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-99f9c675.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-c647367d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-71d517d6.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-e14fed02.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;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.45"}.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 .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}.search-level-popup{position:absolute;top:calc(100% + 6px);right:0;z-index:999}.search-level-popup__dropdown{min-width:150px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0006;overflow:hidden;animation:search-level-fade-in .15s ease}@keyframes search-level-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.search-level-popup__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:transparent;color:var(--text);font-size:13px;cursor:pointer;text-align:left;transition:background .15s}.search-level-popup__item:hover{background:var(--accent-bg)}.search-level-popup__icon{font-size:14px;width:18px;text-align:center}.tree-browser{font-family:var(--sans);font-size:13px;color:var(--text);padding:6px}.tree-browser__search{display:flex;gap:4px;margin-bottom:8px}.tree-browser__search-input{flex:1;padding:6px 8px 6px 10px;min-width:0;border-radius:6px;border:1px solid var(--border);background:var(--bg, #030712);color:var(--text, #e5e7eb);font-size:13px;box-sizing:border-box;transition:border-color .2s}.tree-browser__search-input:focus{outline:none;border-color:var(--accent, #7c3aed)}.tree-browser__search-input::placeholder{color:var(--text-secondary, #9ca3af)}.tree-browser__sort-select{padding:4px;border-radius:5px;border:1px solid var(--border);background:var(--bg, #030712);color:var(--text-secondary, #9ca3af);font-size:11px;cursor:pointer;flex-shrink:0;min-width:48px}.tree-browser__sort-select:focus{outline:none;border-color:var(--accent, #7c3aed)}.tree-browser__search-clear{background:none;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:3px}.tree-browser__search-clear:hover{color:var(--text, #e5e7eb);background:var(--border, #374151)}.tree-browser__add-orphan{background:none;border:1px solid var(--border, #374151);color:var(--text-secondary, #9ca3af);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:4px;transition:all .15s}.tree-browser__add-orphan:hover{color:var(--accent-light, #a78bfa);border-color:var(--accent, #7c3aed);background:var(--accent-bg, rgba(139,92,246,.1))}.tree-empty{color:var(--text-secondary);padding:24px 16px;text-align:center;font-size:13px;line-height:1.8}.tree-node{padding:1px 0}.tree-node__row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.tree-node__row:hover{background:rgba(139,92,246,.06)}.tree-node__expand{width:18px;height:18px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.tree-node__expand:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-light)}.tree-node__title{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;transition:color var(--transition-fast)}.tree-node__title:hover{color:var(--accent-light)}.tree-node--selected>.tree-node__row{background:var(--accent-bg);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--accent-border)}.tree-node--selected>.tree-node__row .tree-node__title{color:var(--accent-light);font-weight:500}.tree-node--selected>.tree-node__row .tree-node__actions{opacity:1}.tree-node__children{margin-left:6px;border-left:1px solid var(--border);padding-left:10px}.tree-node__actions{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.tree-node__row:hover .tree-node__actions{opacity:1}.tree-node__expand-search,.tree-node__create-empty,.tree-node__edit-card{width:24px;height:24px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:var(--radius-xs);transition:all var(--transition-fast);flex-shrink:0}.tree-node__expand-search{background:var(--accent);color:#fff;border-radius:var(--radius-full);font-weight:700}.tree-node__expand-search:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow-sm);transform:scale(1.1)}.tree-node__expand-search:active{transform:scale(.92)}.tree-node__create-empty{border:1.5px solid var(--accent);background:transparent;color:var(--accent-light)}.tree-node__create-empty:hover{background:var(--accent);color:#fff;box-shadow:var(--shadow-glow-sm);transform:scale(1.1)}.tree-node__create-empty:active{transform:scale(.92)}.tree-node__edit-card{background:transparent;color:var(--text-muted)}.tree-node__edit-card:hover{color:var(--accent-light);background:var(--accent-bg);transform:scale(1.1)}.tree-node__edit-card:active{transform:scale(.92)}.tree-node--management .tree-node__row{cursor:default}.tree-node__checkbox{width:15px;height:15px;margin-right:2px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.tree-node--management .tree-node__title{cursor:default}.tree-node--management .tree-node__title:hover{color:inherit}.graph-view-wrapper{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg)}.graph-view-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:var(--bg)}.graph-view-container canvas{outline:none}.graph-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;background:var(--bg);color:var(--text-secondary);animation:fadeInUp .5s ease both}.graph-view-empty-icon{font-size:52px;margin-bottom:16px;opacity:.4}.graph-view-empty-text{font-size:14px;margin-bottom:8px;color:var(--text-secondary)}.graph-view-empty-hint{font-size:12px;opacity:.6;color:var(--text-muted)}.agent-drawer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;z-index:100;opacity:0;transform:translate3d(0,30%,0);will-change:transform,opacity}.agent-drawer--open{animation:agentSlideUp .6s cubic-bezier(.16,1,.3,1) both}.agent-drawer--closing{animation:agentSlideDown .4s cubic-bezier(.16,1,.3,1) both}.agent-drawer__panel{height:50%;display:flex;flex-direction:column;background:rgba(10,10,26,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);border-radius:14px 14px 0 0;box-shadow:0 -4px 24px #0006;overflow:hidden}@keyframes agentSlideUp{0%{transform:translate3d(0,30%,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes agentSlideDown{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,30%,0);opacity:0}}.agent-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.agent-drawer__title{font-size:13px;font-weight:600;color:#ffffffd9}.agent-drawer__actions{display:flex;gap:8px}.agent-drawer__btn{padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.04);color:#fff9;font-size:12px;cursor:pointer;transition:all .15s}.agent-drawer__btn:hover{background:rgba(255,255,255,.1);color:#ffffffe6}.agent-drawer__messages{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.agent-msg{max-width:90%;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.55;animation:agentMsgIn .25s ease-out;color:#ffffffe6}@keyframes agentMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.agent-msg--user{align-self:flex-end;background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.2)}.agent-msg--agent{align-self:flex-start;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.agent-msg--agent h1{font-size:16px;margin:8px 0 4px;color:#ffffffe6}.agent-msg--agent h2{font-size:14px;margin:8px 0 4px;color:#ffffffd9}.agent-msg--agent h3{font-size:13px;margin:6px 0 3px;color:#fffc}.agent-msg--agent p{margin:4px 0}.agent-msg--agent ul,.agent-msg--agent ol{margin:4px 0;padding-left:18px}.agent-msg--agent li{margin:2px 0}.agent-msg--agent code{background:rgba(255,255,255,.08);padding:1px 5px;border-radius:3px;font-size:12px}.agent-msg--agent pre{background:rgba(0,0,0,.3);padding:8px 10px;border-radius:6px;overflow-x:auto;font-size:12px;margin:6px 0}.agent-msg--agent pre code{background:none;padding:0}.agent-msg--agent a{color:#8b5cf6e6}.agent-msg--agent blockquote{border-left:2px solid rgba(139,92,246,.5);padding-left:10px;margin:6px 0;color:#ffffff8c}.agent-msg--agent strong{color:#fffffff2}.agent-msg__table-wrap{overflow-x:auto;margin:6px 0}.agent-msg__table-wrap table{border-collapse:collapse;font-size:12px;width:100%}.agent-msg__table-wrap th,.agent-msg__table-wrap td{border:1px solid rgba(255,255,255,.1);padding:4px 8px;text-align:left}.agent-msg__table-wrap th{background:rgba(255,255,255,.06);font-weight:600}.agent-msg__table-wrap tr:nth-child(2n){background:rgba(255,255,255,.02)}.agent-msg--tool{align-self:flex-start;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);font-size:12px;color:#ffffff8c}.agent-msg--error{align-self:flex-start;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.2);color:#fca5a5e6}.agent-msg--streaming .agent-msg__cursor{display:inline-block;width:7px;height:14px;background:rgba(139,92,246,.8);margin-left:2px;vertical-align:text-bottom;animation:agentBlink .8s step-end infinite}@keyframes agentBlink{0%,to{opacity:1}50%{opacity:0}}.agent-drawer__input-area{display:flex;gap:8px;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.agent-drawer__input{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);color:#ffffffd9;font-size:13px;outline:none;transition:border .15s}.agent-drawer__input:focus{border-color:#8b5cf666}.agent-drawer__input::placeholder{color:#ffffff40}.agent-drawer__send{padding:8px 16px;border:none;border-radius:8px;background:rgba(139,92,246,.35);color:#ffffffe6;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.agent-drawer__send:hover:not(:disabled){background:rgba(139,92,246,.5)}.agent-drawer__send:disabled{opacity:.35;cursor:not-allowed}[data-theme=light] .agent-drawer__panel{background:rgba(255,255,255,.92);border-top-color:#0000000f;box-shadow:0 -4px 24px #0000001a}[data-theme=light] .agent-drawer__title{color:#000000bf}[data-theme=light] .agent-drawer__input{background:rgba(0,0,0,.03);color:#000c;border-color:#0000001a}[data-theme=light] .agent-msg{color:#000c}[data-theme=light] .agent-msg--user{background:rgba(139,92,246,.08);border-color:#8b5cf626}[data-theme=light] .agent-msg--agent{background:rgba(0,0,0,.03);border-color:#0000000f}[data-theme=light] .agent-msg--tool{background:rgba(0,0,0,.02);color:#00000073}[data-theme=light] .agent-msg--agent h1,[data-theme=light] .agent-msg--agent h2,[data-theme=light] .agent-msg--agent h3{color:#000c}[data-theme=light] .agent-msg--agent code{background:rgba(0,0,0,.06)}[data-theme=light] .agent-msg--agent pre{background:rgba(0,0,0,.04)}[data-theme=light] .agent-msg--agent blockquote{color:#00000080;border-left-color:#8b5cf64d}[data-theme=light] .agent-msg--agent strong{color:#000000e6}[data-theme=light] .agent-msg__table-wrap th{background:rgba(0,0,0,.03)}[data-theme=light] .agent-msg__table-wrap th,[data-theme=light] .agent-msg__table-wrap td{border-color:#0000001a}[data-theme=light] .agent-msg__table-wrap tr:nth-child(2n){background:rgba(0,0,0,.02)}[data-theme=light] .agent-msg--error{background:rgba(239,68,68,.06);color:#b91c1ce6}.gap-analysis-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gap-analysis--open{opacity:1}.gap-analysis--closing{opacity:0}.gap-analysis-panel{width:90%;max-width:480px;max-height:80vh;background:rgba(15,15,35,.95);border:1px solid rgba(139,92,246,.3);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.gap-analysis-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.gap-analysis-title{font-size:18px;font-weight:600;color:#fff}.gap-analysis-close{width:32px;height:32px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s}.gap-analysis-close:hover{background:rgba(255,255,255,.2)}.gap-analysis-content{flex:1;overflow-y:auto;padding:20px}.gap-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:#fff9}.gap-spinner{width:32px;height:32px;border:3px solid rgba(139,92,246,.3);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gap-error{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#fca5a5;font-size:14px}.gap-error button{padding:4px 12px;border:none;background:rgba(239,68,68,.4);color:#fff;border-radius:4px;cursor:pointer}.gap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.gap-stat-item{text-align:center;padding:12px;background:rgba(255,255,255,.05);border-radius:8px}.gap-stat-value{font-size:24px;font-weight:700;color:#fff}.gap-stat-value--warn{color:#f59e0b}.gap-stat-label{font-size:12px;color:#ffffff80;margin-top:4px}.gap-averages{margin-bottom:20px}.gap-score-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gap-score-label{width:80px;font-size:12px;color:#fff9}.gap-score-track{flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.gap-score-fill{height:100%;border-radius:4px;transition:width .3s ease}.gap-score-value{width:50px;text-align:right;font-size:12px;color:#fffc;font-weight:500}.gap-threshold-control{margin-bottom:20px;padding:12px;background:rgba(255,255,255,.05);border-radius:8px}.gap-threshold-control label{display:flex;align-items:center;gap:12px;font-size:14px;color:#fffc}.gap-threshold-control input[type=range]{flex:1;accent-color:#8b5cf6}.gap-threshold-control span{width:40px;text-align:right;font-weight:500;color:#a78bfa}.gap-card-section{margin-bottom:16px}.gap-card-section h4{font-size:14px;font-weight:600;color:#fffc;margin-bottom:8px}.gap-card-list{display:flex;flex-direction:column;gap:8px}.gap-card-item{padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.gap-card-item--weak{border-color:#ef44444d}.gap-card-item--good{border-color:#10b9814d}.gap-card-title{font-size:14px;font-weight:500;color:#fff;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-card-scores{display:flex;gap:8px}.gap-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500}.gap-badge[data-type=gap]{background:rgba(239,68,68,.2);color:#fca5a5}.gap-badge[data-type=structure]{background:rgba(59,130,246,.2);color:#93c5fd}.gap-badge[data-type=semantic]{background:rgba(139,92,246,.2);color:#c4b5fd}.gap-actions{margin-top:20px;text-align:center}.gap-btn{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.gap-btn:disabled{opacity:.5;cursor:not-allowed}.gap-btn--primary{background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);color:#fff}.gap-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.gap-action-hint{font-size:12px;color:#fff6;margin-top:8px}.gap-all-good{text-align:center;padding:24px;font-size:16px;color:#10b981;font-weight:500}.profile-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.profile-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--glass-bg);flex-shrink:0}.profile-back-btn{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.profile-back-btn:hover{border-color:var(--border-light);color:var(--text)}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.profile-body{flex:1;display:flex;overflow:hidden}.profile-sidebar{width:260px;flex-shrink:0;padding:24px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:12px}.profile-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid var(--border);background:var(--bg-tertiary)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:var(--accent-light);background:var(--accent-bg)}.profile-username{font-size:20px;font-weight:600;color:var(--text-h);margin:0}.profile-stats{display:flex;gap:24px;margin-top:4px}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.profile-stat-value{font-size:18px;font-weight:700;color:var(--text)}.profile-stat-label{font-size:11px;color:var(--text-muted)}.profile-edit-hint{font-size:12px;color:var(--text-muted);text-align:center;margin-top:8px}.profile-content{flex:1;overflow-y:auto;padding:0}.profile-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--glass-bg);padding:0 16px;position:sticky;top:0;z-index:5}.profile-tab{padding:10px 16px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.profile-tab:hover{color:var(--text)}.profile-tab--active{color:var(--accent-light);border-bottom-color:var(--accent);font-weight:600}.profile-empty{padding:40px 16px;text-align:center;color:var(--text-muted)}.profile-session-list{display:flex;flex-direction:column}.profile-session-item{display:flex;align-items:flex-start;gap:16px;padding:16px;border-bottom:1px solid var(--border);transition:background var(--transition-fast);cursor:pointer}.profile-session-item:hover{background:var(--hover-overlay)}.profile-session-main{flex:1;min-width:0}.profile-session-name{font-size:15px;font-weight:600;color:var(--text-h);margin:0 0 4px}.profile-session-desc{font-size:13px;color:var(--text-secondary);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-session-meta{display:flex;flex-direction:column;gap:4px}.topic-tag{display:inline-block;padding:1px 7px;margin-right:4px;margin-bottom:2px;border-radius:9999px;background:var(--accent-bg);color:var(--accent-light);font-size:11px;font-weight:500}.topic-tag--empty{background:transparent;color:var(--text-muted)}.profile-session-info{font-size:11px;color:var(--text-muted)}.profile-session-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.profile-action-btn{padding:5px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-bg);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.profile-action-btn:hover{border-color:var(--accent-border);color:var(--accent-light);background:var(--accent-bg)}.profile-action-btn--danger:hover{border-color:#ef444466;color:#ef4444;background:var(--danger-bg)}.profile-action-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.profile-body{flex-direction:column;overflow-y:auto}.profile-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:16px;padding:16px;border-right:none;border-bottom:1px solid var(--border)}.profile-avatar{width:64px;height:64px}.profile-avatar-fallback{font-size:28px}.profile-username{font-size:16px}.profile-stats{gap:20px}.profile-session-item{flex-direction:column}.profile-session-actions{flex-direction:row}}.bottom-nav{display:flex;justify-content:space-around;align-items:center;height:56px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--glass-border);padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 12px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);min-width:56px;position:relative}.bottom-nav__item:hover{color:var(--text-secondary);background:var(--hover-overlay)}.bottom-nav__item--active{color:var(--accent-light);background:var(--accent-bg)}.bottom-nav__item--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:var(--accent);border-radius:0 0 2px 2px}.bottom-nav__icon{font-size:19px;line-height:1;transition:transform var(--transition-fast)}.bottom-nav__item--active .bottom-nav__icon{transform:scale(1.1)}.bottom-nav__label{font-size:10px;font-weight:500}.mobile-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.mobile-page__header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:space-between;align-items:center}.mobile-page__title{font-size:16px;font-weight:600;color:var(--text-h);margin:0}.mobile-page__content{flex:1;overflow:auto;padding:10px}.mobile-page__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;padding:20px;animation:fadeInUp .4s ease both}.mobile-page__empty-icon{font-size:48px;margin-bottom:12px;opacity:.7}.mobile-header-btn{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.mobile-header-btn:hover{border-color:var(--border-light);color:var(--text)}.mobile-header-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.mobile-header-btn--primary:hover{background:var(--accent-hover)}.mobile-action-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:rgba(239,68,68,.06);border-bottom:1px solid rgba(239,68,68,.15);font-size:13px;color:var(--text-secondary)}.mobile-delete-btn{padding:6px 16px;border-radius:var(--radius-sm);border:none;background:var(--danger);color:#fff;font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.mobile-delete-btn:hover:not(:disabled){background:#dc2626;box-shadow:0 0 16px #ef44444d}.mobile-delete-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-input-row{display:flex;gap:8px;margin-bottom:10px}.mobile-input{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-size:14px;transition:all var(--transition-fast)}.mobile-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.mobile-input--small{padding:6px 8px;font-size:13px}.mobile-add-btn{padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-size:16px;cursor:pointer;transition:all var(--transition-fast)}.mobile-add-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow-sm)}.mobile-add-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-list{display:flex;flex-direction:column;gap:1px}.mobile-list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--glass-bg);border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:6px;cursor:pointer;transition:all var(--transition-fast)}.mobile-list-item:hover{border-color:var(--border-light);background:var(--hover-overlay)}.mobile-list-item--active{background:var(--accent-bg);border-color:var(--accent-border);box-shadow:var(--shadow-glow-sm)}.mobile-list-item__content{flex:1;min-width:0}.mobile-list-item__title{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-item__subtitle{font-size:11px;color:var(--text-muted);margin-top:2px}.mobile-checkbox{width:17px;height:17px;margin:0;accent-color:var(--accent)}.mobile-edit-row{display:flex;gap:6px;align-items:center}.mobile-small-btn{padding:4px 8px;border-radius:var(--radius-xs);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.mobile-small-btn:hover{border-color:var(--border-light);color:var(--text)}.mobile-small-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.mobile-edit-btn{padding:4px 8px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.mobile-edit-btn:hover{color:var(--accent-light);background:var(--accent-bg)}.mobile-search-bar{display:flex;gap:8px;padding:12px 14px;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.mobile-search-btn{padding:10px 20px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.mobile-search-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-glow-sm)}.mobile-search-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-collector-list{display:flex;flex-direction:column;gap:12px}.mobile-collector-item{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.mobile-markdown{color:var(--text);line-height:1.7}.mobile-markdown h1,.mobile-markdown h2,.mobile-markdown h3{margin-top:16px;margin-bottom:8px;color:var(--text-h)}.mobile-markdown p{margin:8px 0}.mobile-markdown pre{overflow-x:auto;border-radius:var(--radius-sm)}.mobile-metadata{margin-top:20px;padding:12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.mobile-metadata__title{font-size:11px;color:var(--text-muted);margin-bottom:8px;font-weight:500;letter-spacing:.05em}.mobile-metadata__item{font-size:13px;color:var(--text);margin-bottom:4px}.mobile-metadata__key{color:var(--accent-light)}.streaming-output{display:flex;flex-direction:column;gap:10px;width:100%;padding:10px;box-sizing:border-box;height:100%;overflow:hidden}.terminal{background:var(--terminal-bg);color:var(--text);border-radius:var(--radius-sm);padding:10px 14px;min-height:60px;max-height:90px;font-family:var(--mono);font-size:12px;overflow:auto;border:1px solid var(--border);white-space:pre-wrap;flex-shrink:0;line-height:1.5}.progress-area{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0}.pi-item{display:flex;align-items:center;gap:8px}.pi-label{font-family:var(--sans);font-size:11px;color:var(--text-secondary);min-width:28px;font-weight:500}.pi-bar{flex:1;height:5px;background:var(--progress-track);border-radius:var(--radius-full);overflow:hidden}.pi-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width .4s cubic-bezier(.4,0,.2,1)}.pi-fill--error{background:#ef4444}.pi-fill--complete{background:#10b981}.ai-outputs-container{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;min-height:0}.ai-output-panel{background:var(--panel-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.ai-output-header{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;padding:5px 12px;font-size:11px;font-weight:600}.ai-output-content{padding:10px;margin:0;font-family:var(--mono);font-size:12px;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto}.error-line{color:#fca5a5;background:var(--danger-bg);padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.25);flex-shrink:0;font-size:13px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;flex:1;overflow-y:auto;min-height:0;align-content:start}.cancel-btn{align-self:flex-end;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;transition:all var(--transition-fast)}.cancel-btn:hover{background:var(--danger-bg);border-color:#ef44444d;color:#fca5a5}.generated-card{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);padding:12px;border:1px solid var(--glass-border);color:var(--text);cursor:pointer;transition:all var(--transition-base)}.generated-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-border)}.card-title{font-weight:600;margin-bottom:6px;font-size:14px;color:var(--text-h)}.card-content{font-family:var(--sans);color:var(--text-secondary);font-size:12px;line-height:1.5}.card-meta{margin-top:8px;font-size:10px;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:4px}.card-meta-item{background:var(--accent-bg);padding:2px 6px;border-radius:var(--radius-xs);color:var(--accent-light)}.hub-layout{flex:1;display:flex;overflow:hidden}.hub-sidebar{display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}.hub-sidebar--left{width:280px;min-width:200px;border-right:1px solid var(--border)}.hub-sidebar--right{width:350px;min-width:250px;border-left:1px solid var(--border)}.hub-sidebar__header{padding:12px 16px;font-weight:600;font-size:14px;color:var(--text-h);border-bottom:1px solid var(--border)}.hub-search{display:flex;padding:10px 12px;gap:6px}.hub-search__input{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:rgba(10,10,26,.6);color:var(--text);font-size:13px;outline:none;transition:border-color .2s}.hub-search__input:focus{border-color:var(--accent)}.hub-search__btn{padding:6px 12px;border-radius:6px;border:none;background:var(--accent);color:#fff;font-size:12px;cursor:pointer;white-space:nowrap}.hub-sort{display:flex;gap:4px;padding:0 12px 8px}.hub-sort__btn{flex:1;padding:4px 0;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .2s}.hub-sort__btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.hub-session-list{flex:1;overflow-y:auto;padding:4px 8px}.hub-session-item{padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:2px}.hub-session-item:hover{background:rgba(139,92,246,.1)}.hub-session-item--active{background:rgba(139,92,246,.15);border:1px solid var(--accent)}.hub-session-item__name{font-size:13px;font-weight:600;color:var(--text-h)}.hub-session-item__creator{font-size:11px;color:var(--text-secondary);margin-top:2px}.hub-creator-link{color:var(--accent-light);cursor:pointer;transition:color var(--transition-fast)}.hub-creator-link:hover{color:var(--accent);text-decoration:underline}.hub-session-item__meta{display:flex;gap:12px;margin-top:4px;font-size:11px;color:var(--text-secondary)}.hub-center{flex:1;overflow-y:auto;padding:20px;background:var(--bg)}.hub-placeholder,.hub-loading,.hub-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:14px}.hub-detail__title{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--text-h)}.hub-detail__creator{margin:0 0 12px;font-size:13px;color:var(--text-secondary)}.hub-detail__desc{font-size:14px;color:var(--text);line-height:1.6;margin-bottom:12px}.hub-detail__topics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.hub-tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;background:rgba(139,92,246,.15);color:var(--accent-light)}.hub-detail__cards h4{margin:0 0 8px;font-size:13px;color:var(--text-secondary)}.hub-card-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.hub-card-item{padding:4px 10px;border-radius:4px;font-size:12px;color:var(--text);background:var(--glass-bg);border:1px solid var(--border);cursor:pointer;transition:all .15s}.hub-card-item:hover{border-color:var(--accent)}.hub-card-item--active{border-color:var(--accent);background:rgba(139,92,246,.15)}.hub-actions{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.hub-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--glass-bg);color:var(--text);font-size:13px;cursor:pointer;transition:all .2s}.hub-btn:hover{background:rgba(139,92,246,.1)}.hub-btn-like,.hub-btn-dislike{min-width:60px}.hub-btn-import{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.hub-btn-import:disabled{opacity:.5;cursor:not-allowed}.hub-btn-comment{background:var(--accent);color:#fff;border-color:var(--accent)}.hub-comments{border-top:1px solid var(--border);padding-top:16px}.hub-comments h4{margin:0 0 10px;font-size:13px;color:var(--text-secondary)}.hub-comments__list{margin-bottom:12px}.hub-comment{padding:8px 0;border-bottom:1px solid rgba(55,65,81,.3)}.hub-comment__user{font-size:12px;font-weight:600;color:var(--text-h);margin-right:8px}.hub-comment__time{font-size:11px;color:var(--text-secondary);margin-right:8px}.hub-comment__delete{font-size:11px;color:var(--accent-light);background:none;border:none;cursor:pointer;padding:0}.hub-comment__delete:hover{text-decoration:underline}.hub-comment__content{margin:4px 0 0;font-size:13px;color:var(--text);line-height:1.5}.hub-comment-form{display:flex;gap:8px;align-items:flex-start}.hub-comment-form__input{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:rgba(10,10,26,.6);color:var(--text);font-size:13px;resize:vertical;outline:none}.hub-comment-form__input:focus{border-color:var(--accent)}.hub-login-hint{font-size:12px;color:var(--text-secondary);margin-top:8px}.hub-graph-container{flex:1;position:relative}.hub-mobile{flex:1;display:flex;flex-direction:column;overflow:hidden}.hub-mobile .hub-search{padding:10px 14px}.hub-mobile .hub-sort{padding:0 14px 10px}.hub-mobile .hub-session-list{padding:4px 10px}.hub-mobile .hub-placeholder,.hub-mobile .hub-loading,.hub-mobile .hub-empty{height:auto;padding:40px 20px}.hub-mobile .hub-detail{padding:0}.hub-mobile .hub-detail__title{font-size:18px}.hub-mobile .hub-graph-container{height:100%}.avatar-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:avatar-crop-fadein .2s ease}@keyframes avatar-crop-fadein{0%{opacity:0}to{opacity:1}}.avatar-crop-modal{background:var(--bg-elevated, #1e1c3a);border:1px solid var(--border, rgba(255,255,255,.08));border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 16px 64px #0009;max-width:360px;width:90vw}.avatar-crop-title{margin:0;font-size:16px;font-weight:600;color:var(--text-h, #f5f3ff)}.avatar-crop-canvas{border-radius:50%;cursor:grab;touch-action:none}.avatar-crop-canvas:active{cursor:grabbing}.avatar-crop-hint{font-size:11px;color:var(--text-muted, #5c5878)}.avatar-crop-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border, rgba(255,255,255,.08));border-radius:2px;outline:none}.avatar-crop-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent, #8b5cf6);cursor:pointer}.avatar-crop-actions{display:flex;gap:10px;width:100%}.avatar-crop-btn{flex:1;padding:10px 0;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.avatar-crop-btn--cancel{background:rgba(255,255,255,.08);color:var(--text, #e4e2f0)}.avatar-crop-btn--cancel:hover{background:rgba(255,255,255,.14)}.avatar-crop-btn--confirm{background:var(--accent, #8b5cf6);color:#fff}.avatar-crop-btn--confirm:hover{background:var(--accent-hover, #7c3aed)}.usermenu{position:relative;flex-shrink:0}.usermenu__avatar-btn{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);background:var(--glass-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;transition:border-color .2s}.usermenu__avatar-btn:hover{border-color:var(--accent)}.usermenu__avatar-img{width:100%;height:100%;object-fit:cover}.usermenu__avatar-initial{font-size:14px;font-weight:700;color:var(--accent-light)}.usermenu__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0006;z-index:1000;overflow:hidden;animation:usermenu-fade-in .15s ease}@keyframes usermenu-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.usermenu__dropdown-header{padding:10px 14px 6px;border-bottom:1px solid var(--border)}.usermenu__dropdown-name{font-size:13px;font-weight:600;color:var(--text-h)}.usermenu__dropdown-item{display:block;width:100%;text-align:left;padding:8px 14px;border:none;background:transparent;color:var(--text);font-size:13px;cursor:pointer;transition:background .15s}.usermenu__dropdown-item:hover{background:var(--accent-bg)}.usermenu__dropdown-item--danger{color:#f87171}.usermenu__dropdown-item--danger:hover{background:rgba(248,113,113,.1)}.usermenu__dropdown-sep{height:1px;background:var(--border);margin:4px 0}.points-display{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);cursor:default;-webkit-user-select:none;user-select:none;transition:background .2s}.points-display:hover{background:rgba(255,255,255,.06)}.points-display__stars{display:flex;gap:2px;line-height:1}.points-display__star{font-size:12px;transition:color .3s,transform .3s}.points-display__star--filled{color:#f59e0b;text-shadow:0 0 6px rgba(245,158,11,.4)}.points-display__star--empty{color:#ffffff26}.points-display__star--unlimited{color:#a78bfa;text-shadow:0 0 8px rgba(167,139,250,.5)}.points-display__text{font-size:10px;color:var(--text-secondary);white-space:nowrap;line-height:1}.points-display__text--unlimited{color:#a78bfa;font-weight:600;font-size:11px}.tutorial-popover{position:fixed;bottom:80px;right:20px;z-index:9999;max-width:320px;width:calc(100vw - 40px);background:var(--bg-secondary, #111827);border:1px solid var(--border, #374151);border-left:3px solid var(--accent, #7c3aed);border-radius:8px;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d;overflow:hidden;animation:tutorial-popover-enter .3s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.tutorial-popover--exit{animation:tutorial-popover-exit .25s ease-in forwards}@keyframes tutorial-popover-enter{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tutorial-popover-exit{to{opacity:0;transform:translateY(8px) scale(.96)}}.tutorial-popover__body{padding:14px 16px 12px}.tutorial-popover__text{margin:0;font-size:13px;line-height:1.6;color:var(--text, #e5e7eb)}.tutorial-popover__footer{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 10px;border-top:1px solid var(--border, #374151);background:var(--bg, #030712)}.tutorial-popover__counter{font-size:11px;color:var(--text-secondary, #6b7280);min-width:32px}.tutorial-popover__actions{display:flex;gap:8px}.tutorial-popover__btn{padding:5px 14px;border-radius:5px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s;line-height:1.4}.tutorial-popover__btn--next{background:var(--accent, #7c3aed);color:#fff}.tutorial-popover__btn--next:hover{background:var(--accent-hover, #6d28d9)}.tutorial-popover__btn--close{background:transparent;color:var(--text-secondary, #9ca3af);border:1px solid var(--border, #374151)}.tutorial-popover__btn--close:hover{background:var(--border, #374151);color:var(--text, #e5e7eb)}@media (max-width: 768px){.tutorial-popover{bottom:76px;right:12px;max-width:280px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 20%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(139,92,246,.05) 0%,transparent 50%),var(--bg);padding:20px}.auth-container{width:100%;max-width:420px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 0 1px var(--glass-border);padding:36px 32px;animation:fadeInUp .5s cubic-bezier(.4,0,.2,1) both}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand__icon{font-size:44px;display:block;margin-bottom:10px;filter:drop-shadow(0 0 12px rgba(139,92,246,.4))}.auth-brand__name{margin:0 0 6px;font-size:26px;font-weight:700;background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-brand__tagline{margin:0;font-size:13px;color:var(--text-muted)}.auth-tabs{display:flex;gap:6px;margin-bottom:24px;background:rgba(0,0,0,.25);border-radius:var(--radius-md);padding:4px;border:1px solid var(--border)}.auth-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;transition:all var(--transition-base)}.auth-tab:hover:not(:disabled){background:rgba(255,255,255,.04)}.auth-tab:disabled{opacity:.5;cursor:not-allowed}.auth-tab--active{background:var(--accent);box-shadow:var(--shadow-glow-sm)}.auth-tab__icon{font-size:20px;transition:transform var(--transition-base)}.auth-tab--active .auth-tab__icon{transform:scale(1.15)}.auth-tab__label{font-size:15px;font-weight:600;color:var(--text-secondary);transition:color var(--transition-fast)}.auth-tab--active .auth-tab__label{color:#fff}.auth-tab__desc{font-size:10px;color:var(--text-muted);transition:color var(--transition-fast)}.auth-tab--active .auth-tab__desc{color:#ffffffa6}.auth-mode-title{text-align:center;font-size:20px;font-weight:600;color:var(--text-h);margin-bottom:20px}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:500;color:var(--text)}.auth-field input{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:rgba(10,10,26,.6);color:var(--text);font-size:14px;transition:all var(--transition-fast)}.auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-field input:disabled{opacity:.6;cursor:not-allowed}.auth-hint{font-size:11px;color:var(--text-muted)}.auth-error{padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:13px;animation:fadeIn .2s ease}.auth-submit{padding:12px 16px;border-radius:var(--radius-sm);border:none;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-top:4px;position:relative;overflow:hidden}.auth-submit--login{background:linear-gradient(135deg,var(--accent),var(--accent-hover))}.auth-submit--login:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-1px)}.auth-submit--register{background:linear-gradient(135deg,#059669,#047857)}.auth-submit--register:hover:not(:disabled){box-shadow:0 0 24px #05966959;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-switch{margin-top:20px;text-align:center;font-size:13px;color:var(--text-secondary)}.auth-switch button{background:none;border:none;color:var(--accent-light);cursor:pointer;font-size:13px;font-weight:500;padding:0;transition:color var(--transition-fast)}.auth-switch button:hover:not(:disabled){color:#c4b5fd}.auth-switch button:disabled{opacity:.6;cursor:not-allowed}:root{--bg: #05050f;--bg-secondary: rgba(15, 15, 35, .75);--bg-tertiary: rgba(22, 22, 48, .6);--bg-elevated: rgba(30, 28, 58, .8);--text: #e4e2f0;--text-secondary: #8b87a8;--text-h: #f5f3ff;--text-muted: #5c5878;--border: rgba(255, 255, 255, .07);--border-light: rgba(255, 255, 255, .12);--code-bg: rgba(15, 15, 35, .6);--accent: #8b5cf6;--accent-light: #a78bfa;--accent-glow: rgba(139, 92, 246, .35);--accent-bg: rgba(139, 92, 246, .12);--accent-border: rgba(139, 92, 246, .4);--accent-hover: #7c3aed;--success: #10b981;--success-bg: rgba(16, 185, 129, .12);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .12);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-glow: 0 0 24px var(--accent-glow);--shadow-glow-sm: 0 0 12px rgba(139, 92, 246, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Consolas, monospace;--glass-bg: rgba(15, 15, 35, .65);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 12px;--input-bg: rgba(10, 10, 26, .6);--hover-overlay: rgba(255, 255, 255, .04);--panel-bg: rgba(15, 15, 35, .6);--terminal-bg: rgba(5, 5, 15, .8);--progress-track: rgba(255, 255, 255, .06);font:15px/1.5 var(--sans);letter-spacing:.01em;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--bg: #f8f8fa;--bg-secondary: rgba(255, 255, 255, .9);--bg-tertiary: rgba(245, 245, 250, .8);--bg-elevated: rgba(255, 255, 255, .95);--text: #1e1e2e;--text-secondary: #6b7280;--text-h: #111827;--text-muted: #9ca3af;--border: rgba(0, 0, 0, .06);--border-light: rgba(0, 0, 0, .12);--code-bg: rgba(0, 0, 0, .04);--accent: #f97316;--accent-light: #fb923c;--accent-glow: rgba(249, 115, 22, .3);--accent-bg: rgba(249, 115, 22, .1);--accent-border: rgba(249, 115, 22, .35);--accent-hover: #ea580c;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-glow: 0 0 24px var(--accent-glow);--shadow-glow-sm: 0 0 12px rgba(249, 115, 22, .15);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(0, 0, 0, .06);--input-bg: rgba(0, 0, 0, .04);--hover-overlay: rgba(0, 0, 0, .04);--panel-bg: rgba(0, 0, 0, .03);--terminal-bg: rgba(0, 0, 0, .03);--progress-track: rgba(0, 0, 0, .06)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.15)}[data-theme=light] ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.22)}::-webkit-scrollbar-corner{background:transparent}::selection{background:var(--accent);color:#fff}body{margin:0;background:var(--bg);overflow:hidden}h1,h2,h3,h4{font-family:var(--heading);font-weight:600;color:var(--text-h);letter-spacing:-.01em}p{margin:0}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow);border-radius:var(--radius-xs)}.app-shell{height:100vh;display:flex;flex-direction:column;background:var(--bg);background-image:radial-gradient(ellipse at 20% 0%,var(--accent-glow) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,var(--accent-bg) 0%,transparent 60%)}.app-header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:48px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);flex-shrink:0;position:relative;z-index:100}.app-title{font-family:var(--heading);font-size:16px;font-weight:700;color:var(--text-h);margin:0;background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.workspace-toggle{display:flex;align-items:center;gap:0;margin-left:var(--space-3);border-radius:6px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.workspace-toggle__btn{padding:3px 10px;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.workspace-toggle__btn:hover{color:var(--text)}.workspace-toggle__btn--active{background:var(--accent);color:#fff}.workspace-toggle__btn--active:hover{color:#fff}.spacer{flex:1}.app-btn{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:all var(--transition-fast)}.app-btn:hover{border-color:var(--border-light);color:var(--text);background:var(--hover-overlay)}.app-btn:active{transform:scale(.97)}.app-btn-ghost{background:transparent;border:1px solid var(--border)}input[type=text],input[type=password],input[type=number],textarea{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--text);font-family:var(--sans);font-size:14px;transition:all var(--transition-fast)}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:fadeInUp .35s cubic-bezier(.4,0,.2,1) both}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:500;background:var(--accent-bg);color:var(--accent-light);border:1px solid var(--accent-border)}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,rgba(255,255,255,.04) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}*{transition:background-color var(--transition-fast),border-color var(--transition-fast)}
