@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(./KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(./KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(./KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(./KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(./KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(./KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(./KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(./KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(./KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(./KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(./KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(./KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(./KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(./KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(./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(./KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(./KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(./KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(./KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(./KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(./KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(./KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(./KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(./KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(./KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(./KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(./KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(./KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(./KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(./KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(./KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(./KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(./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(./KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(./KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(./KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(./KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(./KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(./KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(./KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(./KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(./KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(./KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(./KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(./KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(./KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(./KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(./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(./KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(./KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(./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(./KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(./KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(./KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(./KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(./KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(./KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(./KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(./KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .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 .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;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 .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .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 .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .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 .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .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 .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>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--electric-blue: #4C59D3;--electric-cyan: #55AAFF;--electric-glow: rgba(76, 89, 211, .4);--electric-shadow: 0 0 20px rgba(85, 170, 255, .25);--term-amber: #FFB454;--term-cmd: #e8e8f0;--term-out: #b8b8cc;--term-key: #6f7bd6;--term-val: #55AAFF;--term-titlebar: #0c0c30;--term-bg: #070622;--rf-body-bg: #040320;--rf-panel-bg: #0a0a2e;--rf-panel-bg-elevated: #0d0d38;--rf-panel-gradient: linear-gradient(145deg, rgba(17, 18, 58, .96) 0%, rgba(10, 10, 46, .94) 52%, rgba(6, 14, 42, .96) 100%);--rf-panel-gradient-elevated: linear-gradient(145deg, rgba(26, 27, 78, .96) 0%, rgba(13, 14, 55, .97) 100%);--term-gradient: linear-gradient(145deg, rgba(9, 8, 38, .98) 0%, rgba(6, 12, 39, .98) 100%);--rf-header-start: #1a1a50;--rf-header-end: #0e0e38;--rf-border: #2a2a58;--rf-border-dark: #1a1a45;--rf-border-subtle: #1e1e48;--glow-subtle: rgba(85, 170, 255, .08);--glow-border: rgba(85, 170, 255, .15);--glow-border-strong: rgba(85, 170, 255, .25);--glow-panel: 0 0 0 1px var(--glow-border), 0 4px 16px rgba(76, 89, 211, .15);--rf-text: #e8e8f0;--rf-text-muted: #9898b0;--rf-text-faint: #8888aa;--rf-link: #55AAFF;--rf-link-hover: #7BC0FF;--rf-table-header-bg: linear-gradient(180deg, #1a1a55 0%, #0e0e3d 100%);--rf-table-row-even: #0d0d35;--rf-table-row-odd: #0a0a2e;--rf-table-row-hover: #15154a;--rf-tab-active-bg: linear-gradient(180deg, #0a0a2e 0%, #0d0d35 100%);--rf-tab-inactive-bg: linear-gradient(180deg, #080830 0%, #060625 100%);--rf-tab-border: #2a2a58;--rf-sidebar-bg: linear-gradient(180deg, #0a0a2e 0%, #060625 100%);--rf-sidebar-item-hover: #15154a;--rf-sidebar-item-active: #1a1a55;--card-accent-bg: rgba(76, 89, 211, .12);--card-accent-bg-light: rgba(76, 89, 211, .06);--font-primary: "Space Grotesk", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-mono: "Space Mono", "Consolas", "Monaco", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 15px;--font-size-xl: 16px;--font-size-2xl: 18px;--font-size-3xl: clamp(20px, 3vw, 26px);--font-size-4xl: clamp(28px, 5vw, 42px);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-section: 64px;--border-radius-sm: 3px;--border-radius-md: 5px;--border-radius-lg: 8px;--border-radius-xl: 12px;--border-radius-panel: 6px 6px 0 0;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .35s ease}body{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--rf-text);line-height:1.55}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--electric-cyan)}.stat-number{font-family:var(--font-mono);font-size:var(--font-size-4xl);font-weight:600;line-height:1;color:var(--electric-cyan)}.stat-label{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:1px;color:var(--rf-text-muted)}.date-mono{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--rf-text-muted)}.editorial{line-height:1.65;font-size:var(--font-size-base);color:var(--rf-text)}.section-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--rf-text);margin-bottom:var(--space-xl)}.tech-tag{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500}@keyframes grid-drift{0%{transform:translate(0)}50%{transform:translate(-8px,4px)}to{transform:translate(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #55aaff4d,0 0 0 1px #5af3}50%{box-shadow:0 0 20px #55aaff80,0 0 0 1px #5af6}}@keyframes scan-line{0%{transform:translateY(-100%);opacity:.04}to{transform:translateY(100vh);opacity:.04}}@keyframes line-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-glow-pulse{animation:glow-pulse 2.5s ease-in-out infinite}.animate-fade-in-up{animation:fade-in-up .4s ease-out forwards}.dark-mountain-bg:before,.dark-mountain-bg:after{animation-play-state:running}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(85,170,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(85,170,255,.03) 1px,transparent 1px);background-size:48px 48px;animation:grid-drift 45s linear infinite}.bg-scan-line{position:absolute;inset:0;overflow:hidden;pointer-events:none}.bg-scan-line:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(85,170,255,.06),transparent);animation:scan-line 8s linear infinite}@media(prefers-reduced-motion:reduce){.animate-electric-pulse,.animate-glow-pulse,.animate-fade-in-up,.bg-grid,.bg-scan-line:after,.dark-mountain-bg:before,.dark-mountain-bg:after{animation:none!important}.bg-grid{opacity:.4}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--rf-text);background:var(--rf-body-bg);line-height:1.5;min-height:100vh}.rf-panel{background:var(--rf-panel-gradient, var(--rf-panel-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000004d;margin-bottom:var(--space-lg);overflow:hidden}.rf-panel-header{background:var(--rf-panel-gradient-elevated, var(--rf-panel-bg-elevated, #0d0d38));color:var(--rf-text);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-lg);font-weight:600;border-bottom:1px solid var(--rf-border);display:flex;align-items:center;gap:var(--space-sm)}.rf-panel-header.electric{border-bottom-color:var(--electric-blue);box-shadow:0 1px #55aaff1a}.rf-panel-body{padding:var(--space-md)}.rf-tabpanel{background:var(--rf-panel-gradient, var(--rf-panel-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-md);overflow:hidden}.rf-tabpanel-tabs{display:flex;background:linear-gradient(180deg,#080828,#060620);border-bottom:1px solid var(--rf-border);padding:var(--space-xs) var(--space-sm) 0}.rf-tab{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid transparent;border-bottom:none;border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;background:var(--rf-tab-inactive-bg);color:var(--rf-text);margin-right:2px;transition:all .15s ease;position:relative;top:1px}.rf-tab:hover{background:linear-gradient(180deg,#12123a,#0d0d35)}.rf-tab.active{background:var(--rf-tab-active-bg);border-color:var(--rf-border);color:var(--electric-blue);font-weight:600;z-index:1}.rf-tabpanel-content{padding:var(--space-md);background:var(--rf-panel-gradient, var(--rf-panel-bg))}.rf-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);border:1px solid var(--rf-border)}.rf-table th{background:var(--rf-table-header-bg);color:#fff;padding:var(--space-sm) var(--space-md);text-align:left;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--rf-border-dark);text-shadow:0 1px 1px rgba(0,0,0,.2)}.rf-table td{padding:var(--space-sm) var(--space-md);border:1px solid var(--rf-border);vertical-align:top}.rf-table tr:nth-child(2n){background:var(--rf-table-row-even)}.rf-table tr:nth-child(odd){background:var(--rf-table-row-odd)}.rf-table tr:hover td{background:var(--rf-table-row-hover)}.rf-sidebar{background:var(--rf-sidebar-bg);border:1px solid var(--rf-border);border-radius:var(--border-radius-md);padding:var(--space-sm);min-width:200px;box-shadow:0 12px 30px #00000038,inset 0 1px #ffffff0a}.rf-sidebar-header{background:linear-gradient(180deg,var(--rf-header-start) 0%,var(--rf-header-end) 100%);color:#fff;padding:var(--space-sm) var(--space-md);margin:calc(-1 * var(--space-sm));margin-bottom:var(--space-sm);font-weight:600;font-size:var(--font-size-lg);border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.rf-sidebar-header.electric{background:linear-gradient(180deg,var(--electric-blue) 0%,#0e0e38 100%);box-shadow:var(--electric-shadow)}.sidebar-header-mark{color:var(--term-amber);font-size:12px;text-shadow:0 0 10px rgba(255,180,84,.8)}.sidebar-header-status{width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--electric-cyan);box-shadow:0 0 0 3px #55aaff24,0 0 12px #55aaffd9}.sidebar-nav{display:grid;gap:3px}.rf-tree-item{min-width:0;padding:9px var(--space-md);cursor:pointer;border-radius:var(--border-radius-sm);display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--rf-text);text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.rf-tree-item:hover{background:linear-gradient(90deg,#4c59d333,#55aaff0f);border-color:#55aaff29;transform:translate(2px)}.rf-tree-item.active{background:linear-gradient(90deg,#4c59d357,#55aaff17);border-color:#55aaff3d;color:var(--electric-blue);font-weight:600;box-shadow:inset 3px 0 0 var(--electric-cyan),0 0 18px #4c59d321}.sidebar-nav-link .rf-tree-icon,.sidebar-site-icon{width:27px;height:27px;flex:0 0 27px;border:1px solid rgba(85,170,255,.14);border-radius:6px;background:#03031557}.sidebar-nav-link.active .rf-tree-icon{border-color:#55aaff4d;background:#55aaff1a}.rf-tree-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:14px}.sidebar-sites{position:relative;overflow:hidden;margin-top:24px;padding:13px 10px 10px;border:1px solid rgba(85,170,255,.2);border-radius:var(--border-radius-lg);background:linear-gradient(145deg,#131442eb,#080824fa);box-shadow:inset 0 1px #ffffff0a,0 10px 22px #0000002e}.sidebar-sites:before{content:"";position:absolute;top:0;left:12px;right:12px;height:1px;background:linear-gradient(90deg,transparent,var(--electric-cyan),transparent);opacity:.7}.sidebar-sites-glow{opacity:.55;pointer-events:none}.sidebar-sites-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 8px}.sidebar-sites-heading .eyebrow{margin:0;color:var(--electric-cyan);letter-spacing:1.2px}.sidebar-sites-count{color:var(--rf-text-faint);font-family:var(--font-mono);font-size:9px;white-space:nowrap}.sidebar-site-link{position:relative;min-height:39px;padding:6px 7px;font-size:12px;border-color:transparent}.sidebar-site-link:hover{transform:translate(2px)}.sidebar-site-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-site-badge{flex:0 0 auto;margin-left:auto;padding:2px 5px;border:1px solid rgba(255,180,84,.4);border-radius:5px;background:#f59e0bc7;color:#080619;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.2px;line-height:1.1}.rf-button{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:500;letter-spacing:.3px;cursor:pointer;border:1px solid transparent;border-radius:var(--border-radius-sm);background:transparent;color:var(--rf-text-muted);transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.rf-button:hover{color:var(--electric-cyan);background:#55aaff12;border-color:var(--glow-border)}.rf-button:active{background:#55aaff1f}.rf-button.primary{color:var(--electric-cyan);border-color:var(--glow-border-strong)}.rf-button.primary:hover{color:#fff;background:#55aaff26;border-color:var(--electric-cyan);box-shadow:var(--electric-shadow)}.rf-tag{display:inline-block;padding:2px var(--space-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--border-radius-sm);background:linear-gradient(180deg,#0d0d35,#080828);border:1px solid var(--rf-border);color:var(--rf-text);margin-right:var(--space-xs);margin-bottom:var(--space-xs)}.rf-tag.electric{background:linear-gradient(180deg,#4c59d326,#4c59d340);border-color:var(--electric-blue);color:var(--electric-cyan)}.rf-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.rf-card{background:var(--rf-panel-gradient, var(--rf-panel-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-md);overflow:hidden;transition:all .2s ease}.rf-card:hover{box-shadow:0 4px 12px #4c59d34d;border-color:var(--electric-blue)}.rf-card-header{background:linear-gradient(180deg,var(--rf-header-start) 0%,var(--rf-header-end) 100%);color:#fff;padding:var(--space-sm) var(--space-md);font-weight:600;font-size:var(--font-size-base)}.rf-card-body{padding:var(--space-md)}.rf-timeline{position:relative;padding-left:var(--space-xl)}.rf-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--electric-blue) 0%,var(--electric-cyan) 100%)}.rf-timeline-item{position:relative;margin-bottom:var(--space-xl);padding-bottom:var(--space-md)}.rf-timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--space-xl) + 4px);top:4px;width:10px;height:10px;border-radius:50%;background:var(--electric-blue);border:2px solid #0a0a2e;box-shadow:0 0 0 2px var(--electric-blue)}.rf-timeline-date{font-size:var(--font-size-xs);color:var(--rf-text-muted);margin-bottom:var(--space-xs)}.rf-timeline-title{font-size:var(--font-size-lg);font-weight:600;color:var(--electric-blue);margin-bottom:var(--space-xs)}.rf-timeline-subtitle{font-size:var(--font-size-sm);color:var(--rf-text);font-weight:500;margin-bottom:var(--space-sm)}.rf-timeline-content{font-size:var(--font-size-sm);color:var(--rf-text-muted)}.rf-layout{display:flex;min-height:100vh}.rf-layout-sidebar{width:248px;flex-shrink:0;background:var(--rf-sidebar-bg);border-right:1px solid var(--rf-border);padding:var(--space-md);position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.rf-layout-main{flex:1;padding:var(--space-lg);overflow-x:hidden}.rf-header-bar{background:linear-gradient(180deg,#0a0a2e,#060620);color:#fff;padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--electric-blue);box-shadow:0 2px 8px #0006}.rf-header-bar.electric{background:linear-gradient(180deg,#080830,#040318);border-bottom-color:var(--electric-cyan)}.rf-header-title{font-size:var(--font-size-2xl);font-weight:700;display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.rf-header-title .header-subtitle{white-space:nowrap}.rf-header-title .electric-text{background:linear-gradient(90deg,var(--electric-blue) 0%,var(--electric-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rf-header-nav{display:flex;gap:var(--space-sm)}a{color:var(--rf-link);text-decoration:none}a:hover{color:var(--rf-link-hover);text-decoration:underline}a:focus-visible,button:focus-visible,.rf-button:focus-visible,.rf-tab:focus-visible,.rf-tree-item:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--electric-cyan);outline-offset:2px;border-radius:var(--border-radius-sm)}footer a{color:#5af!important}footer a:hover{color:#7bc0ff!important;text-decoration:underline}.text-electric{color:var(--electric-blue)}.bg-electric{background:var(--electric-blue)}.glow-electric{box-shadow:var(--electric-shadow)}.sidebar-drawer-bar,.sidebar-drawer-backdrop{display:none}@media(max-width:768px){.sidebar-drawer-bar{display:flex;position:sticky;top:0;z-index:40;padding:var(--space-sm);background:color-mix(in srgb,var(--rf-body-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rf-border)}.sidebar-drawer-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;color:var(--rf-text);font-family:var(--font-mono);font-size:var(--font-size-sm, 13px);background:var(--rf-panel-bg);border:1px solid var(--rf-border);border-radius:var(--border-radius-sm);cursor:pointer}.sidebar-drawer-toggle:hover{border-color:var(--electric-blue)}.sidebar-drawer-toggle:focus-visible{outline:2px solid var(--electric-cyan);outline-offset:2px}.sidebar-drawer-burger{display:flex;flex-direction:column;justify-content:space-between;width:16px;height:12px}.sidebar-drawer-burger span{display:block;height:2px;background:var(--electric-cyan);border-radius:1px}.sidebar-drawer-backdrop{display:block;position:fixed;inset:0;z-index:50;background:#04032099}.rf-layout-sidebar.rf-layout-sidebar--drawer{position:fixed;top:0;left:0;z-index:60;width:min(300px,85vw);height:100dvh;padding:var(--space-md);border-right:1px solid var(--rf-border);border-bottom:none;overflow-y:auto;transform:translate(-100%);transition:transform .28s ease}.rf-layout-sidebar.rf-layout-sidebar--drawer.is-open{transform:translate(0)}@media(prefers-reduced-motion:reduce){.rf-layout-sidebar.rf-layout-sidebar--drawer{transition:none}}}@media(max-width:768px){.rf-layout{flex-direction:column}.rf-layout-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--rf-border);padding:var(--space-sm);position:static;height:auto;overflow:visible}.rf-layout-main{padding:var(--space-sm)}.rf-cards-grid{grid-template-columns:1fr}.rf-header-bar{flex-direction:column;gap:var(--space-sm);text-align:center;padding:var(--space-sm) var(--space-md)}.rf-header-title{flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-xl)}.rf-header-title span:last-child{font-size:var(--font-size-xs);display:block;margin-top:var(--space-xs)}.rf-header-nav{flex-wrap:wrap;justify-content:center;gap:var(--space-xs)}.rf-button{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.rf-panel{margin-bottom:var(--space-md)}.rf-panel-header{font-size:var(--font-size-base);padding:var(--space-xs) var(--space-sm)}.rf-panel-body{padding:var(--space-sm)}.rf-table{font-size:var(--font-size-xs);display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.rf-table th,.rf-table td{padding:var(--space-xs) var(--space-sm);white-space:nowrap}.rf-tabpanel-tabs{overflow-x:visible;flex-wrap:wrap;gap:2px;padding-bottom:var(--space-xs)}.rf-tab{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;margin-right:0;top:0;border-radius:var(--border-radius-sm);border:1px solid var(--rf-border)}.rf-tab.active{border-color:var(--electric-blue)}.rf-timeline{padding-left:var(--space-lg)}.rf-timeline-item{margin-bottom:var(--space-lg)}.rf-timeline-title{font-size:var(--font-size-base)}.rf-timeline-subtitle{font-size:var(--font-size-sm)}.rf-timeline-content{font-size:var(--font-size-xs)}.rf-card{margin-bottom:var(--space-md)}.rf-card-header{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.rf-card-body{padding:var(--space-sm)}.rf-sidebar-header{font-size:var(--font-size-base);padding:var(--space-xs) var(--space-sm)}.sidebar-sites{margin-top:16px}.rf-tree-item{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}}@media(min-width:769px)and (max-width:1024px){.rf-layout-sidebar{width:208px}.rf-layout-main{padding:var(--space-md)}.rf-cards-grid{grid-template-columns:repeat(2,1fr)}.rf-header-title span:last-child{display:none}}@media(max-width:480px){body{font-size:var(--font-size-sm)}.rf-header-title{font-size:var(--font-size-lg)}.rf-header-title .electric-text{display:block}.rf-panel-header{font-size:var(--font-size-sm)}.rf-table{font-size:10px}.rf-table th,.rf-table td{padding:4px 6px}.rf-tag{font-size:10px;padding:1px 6px}.rf-button{padding:6px 12px;font-size:11px}.rf-panel-body a{word-break:break-all;overflow-wrap:break-word;font-size:11px}.rf-panel-body h2,.rf-panel-body h3,.rf-panel-body h4{font-size:clamp(14px,4vw,18px)}.rf-panel-body p{font-size:var(--font-size-xs)}}@supports (-webkit-touch-callout: none){.rf-table{-webkit-overflow-scrolling:touch}}@keyframes electric-pulse{0%,to{box-shadow:0 0 5px #4c59d34d}50%{box-shadow:0 0 20px #4c59d380,0 0 40px #55aaff26}}.dark-mountain-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 0%,rgba(34,45,112,.2),transparent 42%),linear-gradient(180deg,#050522 0%,var(--rf-body-bg) 58%,#020214 100%)}.dark-mountain-bg:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse 80% 50% at 20% 80%,rgba(76,89,211,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 80% 20%,rgba(85,170,255,.08) 0%,transparent 50%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(123,104,238,.06) 0%,transparent 50%);z-index:0;animation:mountain-drift 45s ease-in-out infinite alternate}.dark-mountain-bg:after{content:"";position:absolute;top:-30%;left:-30%;width:160%;height:160%;background:radial-gradient(ellipse 50% 80% at 70% 60%,rgba(76,89,211,.08) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 30% 40%,rgba(85,170,255,.05) 0%,transparent 45%);z-index:0;animation:mountain-drift-reverse 55s ease-in-out infinite alternate}.cosmic-nebula{position:absolute;inset:-18%;z-index:0;background:radial-gradient(ellipse 34% 28% at 73% 18%,rgba(85,170,255,.11),transparent 68%),radial-gradient(ellipse 31% 40% at 18% 64%,rgba(123,104,238,.1),transparent 70%),radial-gradient(ellipse 26% 22% at 72% 78%,rgba(34,211,198,.06),transparent 72%);filter:blur(14px);animation:cosmic-nebula-drift 32s ease-in-out infinite alternate}.cosmic-planet{position:absolute;z-index:1;border-radius:50%;pointer-events:none;mix-blend-mode:screen}.cosmic-planet--violet{top:11vh;right:5vw;width:clamp(130px,16vw,245px);aspect-ratio:1;border:1px solid rgba(143,153,255,.16);background:radial-gradient(circle at 31% 25%,rgba(255,255,255,.42) 0 1.2%,transparent 1.8%),radial-gradient(circle at 34% 31%,#6bd9ff8a,#4c59d333 40%,#1d19540f 73%);box-shadow:0 0 70px #4c59d333,inset -22px -18px 38px #02021480;opacity:.46;animation:cosmic-planet-float 18s ease-in-out infinite alternate}.cosmic-planet-ring{position:absolute;top:50%;left:50%;width:146%;height:36%;border:1px solid rgba(116,201,255,.22);border-radius:50%;transform:translate(-50%,-50%) rotate(-17deg);box-shadow:0 0 24px #55aaff14}.cosmic-planet--cyan{bottom:7vh;left:7vw;width:clamp(70px,8vw,118px);aspect-ratio:1;border:1px solid rgba(85,224,216,.12);background:radial-gradient(circle at 32% 26%,#c8fffb66,#258b9d2e 38%,#082c480d 76%);box-shadow:0 0 48px #2cbcbe1f,inset -14px -12px 24px #0202148c;opacity:.38;animation:cosmic-planet-float 23s ease-in-out -8s infinite alternate-reverse}.cosmic-moon{position:absolute;top:48%;right:28%;z-index:1;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#e4f6ff,#6076c4 48%,#15163c);box-shadow:0 0 20px #74c9ff47;opacity:.5;animation:cosmic-moon-drift 26s linear infinite}.dark-mountain-bg .bg-grid{z-index:2;opacity:.58;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 92%)}.dark-mountain-bg #tsparticles{z-index:3!important}@keyframes mountain-drift{0%{transform:translate(0) rotate(0)}to{transform:translate(-3%,2%) rotate(1deg)}}@keyframes mountain-drift-reverse{0%{transform:translate(0) rotate(0)}to{transform:translate(2%,-1.5%) rotate(-.5deg)}}@keyframes cosmic-nebula-drift{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.04)}}@keyframes cosmic-planet-float{0%{transform:translate3d(0,-7px,0) rotate(-1deg)}to{transform:translate3d(-10px,13px,0) rotate(2deg)}}@keyframes cosmic-moon-drift{0%{transform:rotate(0) translate(22px) rotate(0)}to{transform:rotate(360deg) translate(22px) rotate(-360deg)}}.animate-electric-pulse{animation:electric-pulse 2s ease-in-out infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in .3s ease-out}.bento-grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(12,1fr)}.bento-col-12{grid-column:span 12}.bento-col-8{grid-column:span 8}.bento-col-6{grid-column:span 6}.bento-col-4{grid-column:span 4}.bento-col-3{grid-column:span 3}@media(max-width:768px){.bento-col-12,.bento-col-8,.bento-col-6,.bento-col-4,.bento-col-3{grid-column:span 12}}@media(min-width:769px)and (max-width:1024px){.bento-col-8{grid-column:span 12}.bento-col-4,.bento-col-3{grid-column:span 6}}.glow-card{background:var(--rf-panel-gradient, var(--rf-panel-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-lg);padding:var(--space-xl);position:relative;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.glow-card:hover{border-color:var(--glow-border-strong, rgba(85, 170, 255, .25));box-shadow:var(--glow-panel)}.stat-card{background:var(--rf-panel-gradient, var(--rf-panel-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base);cursor:default}.stat-card:hover{border-color:var(--glow-border-strong, rgba(85, 170, 255, .25));box-shadow:var(--glow-panel)}.avatar-glow{border-radius:50%;box-shadow:0 0 0 2px var(--electric-blue),0 0 0 4px #4c59d333;animation:glow-pulse 2.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.avatar-glow{animation:none}}.page-shell{--shell-pad-x: var(--space-xl);max-width:1200px;margin:0 auto;padding:var(--space-2xl) var(--shell-pad-x)}@media(max-width:768px){.page-shell{--shell-pad-x: var(--space-md);padding:var(--space-lg) var(--shell-pad-x)}}.page-section{margin-bottom:var(--space-section, 64px)}.page-section-title{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:var(--electric-cyan);margin-bottom:var(--space-lg)}.portfolio-hero-section{margin-bottom:clamp(44px,6vw,76px)}.portfolio-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:stretch;gap:clamp(18px,2.4vw,30px)}.portfolio-hero-grid>.terminal{height:100%}.ai-orbit-scene{position:relative;min-height:360px;overflow:hidden;isolation:isolate;border:1px solid rgba(85,170,255,.18);border-radius:var(--border-radius-xl);background:radial-gradient(circle at 50% 48%,rgba(64,178,211,.14),transparent 25%),radial-gradient(circle at 75% 18%,rgba(76,89,211,.18),transparent 38%),linear-gradient(145deg,#0d0f38f5,#050822f7);box-shadow:0 0 0 1px #4c59d31c,0 18px 50px #00000061}.ai-orbit-scene:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,rgba(85,170,255,.035) 47%,transparent 72%);transform:translate(-65%);animation:ai-orbit-sheen 11s ease-in-out infinite}.ai-orbit-grid{position:absolute;inset:7%;z-index:-2;border-radius:50%;background-image:radial-gradient(rgba(153,211,255,.44) .8px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse,#000 12%,transparent 72%);mask-image:radial-gradient(ellipse,#000 12%,transparent 72%);opacity:.25}.ai-orbit-aurora{position:absolute;inset:22% 20%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(61,210,213,.18),rgba(76,89,211,.1) 36%,transparent 70%);filter:blur(13px);animation:ai-core-breathe 6s ease-in-out infinite}.ai-orbit-map{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform-origin:50% 50%;animation:ai-orbit-drift 34s linear infinite}.ai-orbit-line{fill:none;stroke:url(#orbit-line-gradient);stroke-width:1;stroke-dasharray:4 8}.ai-orbit-line--secondary{stroke-dasharray:2 10;opacity:.62}.ai-signal-line{fill:none;stroke:#55aaff2e;stroke-width:.8;stroke-dasharray:3 13;animation:ai-signal-flow 7s linear infinite}.ai-signal-line--delay{animation-delay:-3.5s}.ai-core-planet{position:absolute;top:50%;left:50%;display:flex;width:112px;height:112px;align-items:center;justify-content:center;flex-direction:column;gap:2px;border:1px solid rgba(190,231,255,.64);border-radius:50%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.9) 0 2%,transparent 3%),radial-gradient(circle at 34% 28%,#6ee5de,#4c59d3 38%,#20205f 71%,#0a0a2e);box-shadow:0 0 0 12px #55aaff0e,0 0 46px #4c59d380,inset -16px -13px 24px #05061e6b;color:#fff;transform:translate(-50%,-50%);animation:ai-core-breathe 5.5s ease-in-out infinite}.ai-core-planet strong{font-family:var(--font-mono);font-size:1.9rem;line-height:.95;letter-spacing:-.08em}.ai-core-planet small{color:#ebf8ffbf;font-family:var(--font-mono);font-size:.54rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.ai-core-spark{position:absolute;top:17px;right:22px;color:#fff4c9;font-size:.72rem;text-shadow:0 0 9px rgba(255,223,145,.9)}.ai-core-orbit{position:absolute;inset:-25px;border:1px solid rgba(85,170,255,.14);border-radius:50%;animation:ai-satellite-orbit 10s linear infinite}.ai-core-orbit i{position:absolute;top:4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--term-amber);box-shadow:0 0 12px #ffb454d9}.ai-orbit-node{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(143,181,255,.23);border-radius:999px;background:#0a0d31c2;box-shadow:0 8px 18px #0204183d;color:#dceeff;font-family:var(--font-mono);font-size:.64rem;font-weight:700;letter-spacing:.015em;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ai-node-float 5.2s ease-in-out infinite}.ai-orbit-node i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--node-color, var(--electric-cyan));box-shadow:0 0 10px var(--node-color, var(--electric-cyan))}.ai-orbit-node--agents{top:11%;left:8%;--node-color: #ffb454;animation-delay:-.7s}.ai-orbit-node--fullstack{top:9%;right:7%;--node-color: #79c8ff;animation-delay:-2.2s}.ai-orbit-node--data{top:47%;right:3%;--node-color: #6ee5de;animation-delay:-3.4s}.ai-orbit-node--research{right:10%;bottom:12%;--node-color: #b49cff;animation-delay:-1.5s}.ai-orbit-node--education{bottom:10%;left:9%;--node-color: #ff91b8;animation-delay:-4.1s}.ai-orbit-node--opensource{top:47%;left:3%;--node-color: #a9f2bc;animation-delay:-2.8s}.ai-orbit-caption{position:absolute;right:14px;bottom:10px;display:flex;align-items:center;gap:6px;color:#a6c3dc80;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}.ai-orbit-caption i{width:5px;height:5px;border-radius:50%;background:#54ddd5;box-shadow:0 0 7px #54ddd5cc}@keyframes ai-orbit-drift{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ai-signal-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-64}}@keyframes ai-node-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ai-core-breathe{0%,to{filter:saturate(1)}50%{filter:saturate(1.16) brightness(1.06)}}@keyframes ai-satellite-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ai-orbit-sheen{0%,22%{transform:translate(-70%);opacity:0}45%{opacity:1}70%,to{transform:translate(72%);opacity:0}}@media(max-width:1080px){.portfolio-hero-grid{grid-template-columns:1fr}.ai-orbit-scene{min-height:330px}}@media(max-width:560px){.ai-orbit-scene{min-height:290px}.ai-core-planet{width:92px;height:92px}.ai-core-planet strong{font-size:1.55rem}.ai-orbit-node{gap:5px;padding:6px 8px;font-size:.55rem}.ai-orbit-caption{display:none}.cosmic-planet--violet{right:-14vw;opacity:.32}.cosmic-planet--cyan{left:-8vw}}@media(prefers-reduced-motion:reduce){.cosmic-nebula,.cosmic-planet,.cosmic-moon,.ai-orbit-scene:after,.ai-orbit-aurora,.ai-orbit-map,.ai-signal-line,.ai-core-planet,.ai-core-orbit,.ai-orbit-node{animation:none!important}}.terminal{font-family:var(--font-mono);background:var(--term-gradient, var(--term-bg));border:1px solid var(--rf-border);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 0 0 1px var(--glow-border),0 18px 50px #00000073}.terminal-titlebar{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:var(--term-titlebar);border-bottom:1px solid var(--rf-border)}.terminal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.terminal-dot.a{background:var(--term-amber)}.terminal-dot.live{animation:term-dot-pulse 2.4s ease-in-out infinite}@keyframes term-dot-pulse{0%,to{box-shadow:0 0 #ffb4548c}50%{box-shadow:0 0 0 5px #ffb45400}}@media(prefers-reduced-motion:reduce){.terminal-dot.live{animation:none}}.brand-mark{font-family:var(--font-mono);font-weight:700;font-size:17px;line-height:1;letter-spacing:-1px;color:var(--term-amber);background:#ffb4541a;border:1px solid rgba(255,180,84,.35);border-radius:6px;padding:3px 8px 5px}.terminal-path{margin-left:var(--space-sm);font-size:var(--font-size-xs);color:var(--rf-text-muted);letter-spacing:.3px}.terminal-shell{margin-left:auto;font-size:var(--font-size-xs);color:var(--rf-text-faint)}.terminal-body{padding:var(--space-xl) var(--space-xl) var(--space-2xl);font-size:clamp(13px,1.5vw,15px);line-height:1.9;min-height:280px}.term-line{white-space:pre-wrap;word-break:break-word}.term-line.gap{height:var(--space-md)}.term-prompt{color:var(--term-amber);font-weight:700;margin-right:8px}.term-cmd{color:var(--term-cmd);font-weight:700}.term-out{color:var(--term-out)}.term-out .accent{color:var(--electric-cyan);font-weight:700}.term-kv{display:flex;gap:10px}.term-kv .k{color:var(--term-key);font-weight:700;min-width:92px;flex-shrink:0}.term-kv .v{color:var(--term-val)}.term-cursor{display:inline-block;width:.6em;height:1.05em;vertical-align:text-bottom;background:var(--term-amber);margin-left:2px;animation:term-blink 1.05s steps(1) infinite}@keyframes term-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.term-cursor{animation:none;opacity:1}}@media(max-width:480px){.terminal-body{padding:var(--space-lg);min-height:240px}.terminal-shell{display:none}.term-kv .k{min-width:76px}}.cmd-header{font-family:var(--font-mono);background:var(--term-bg);border:1px solid var(--rf-border);border-left:3px solid var(--term-amber);border-radius:var(--border-radius-md);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-2xl)}.cmd-header-line{font-size:clamp(14px,1.6vw,17px)}.cmd-header-out{margin-top:var(--space-md);font-family:var(--font-primary);font-size:var(--font-size-base);line-height:1.65;color:var(--rf-text-muted)}.cmd-header-out a{color:var(--electric-cyan)}.skill-group{padding:var(--space-lg);background:var(--card-accent-bg-light);border:1px solid var(--rf-border);border-left:2px solid var(--electric-blue);border-radius:var(--border-radius-md)}.panel-icon{width:52px;height:52px;min-width:52px;border-radius:var(--border-radius-md);background:var(--card-accent-bg);border:1px solid var(--glow-border-strong);color:var(--electric-cyan);display:flex;align-items:center;justify-content:center;flex-shrink:0}.panel-note{margin-top:12px;padding:10px 12px;background:var(--card-accent-bg-light);border-left:2px solid var(--electric-blue);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;font-size:var(--font-size-xs);color:var(--rf-text-muted)}.panel-note strong{color:var(--electric-cyan)}.panel-note ul{margin-top:6px;padding-left:18px;line-height:1.8}.term-stats{font-family:var(--font-mono);background:var(--term-bg);border:1px solid var(--rf-border);border-radius:var(--border-radius-md);padding:var(--space-lg) var(--space-xl);font-size:var(--font-size-sm);line-height:2.1}.term-stats .prompt-row{color:var(--rf-text-muted);margin-bottom:4px}.term-stats .prompt-row .term-prompt{color:var(--term-amber)}.term-stats .row{display:flex;gap:14px;align-items:baseline}.term-stats .k{color:var(--rf-text-muted);min-width:150px}.term-stats .v{color:var(--electric-cyan);font-weight:700}.btn-cmd{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.3px;padding:9px 16px;color:var(--electric-cyan);background:#55aaff0f;border:1px solid var(--glow-border-strong);border-radius:var(--border-radius-md);text-decoration:none;cursor:pointer;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.btn-cmd:before{content:"▸";color:var(--term-amber);font-weight:700}.btn-cmd .ext{font-size:.9em;opacity:.55;transition:transform var(--transition-base)}.btn-cmd:hover{color:#fff;background:linear-gradient(180deg,#55aaff38,#4c59d338);border-color:var(--electric-cyan);box-shadow:var(--electric-shadow);transform:translateY(-1px);text-decoration:none}.btn-cmd:hover .ext{transform:translate(2px,-2px);opacity:.9}.btn-cmd:active{transform:translateY(0)}.btn-cmd:focus-visible{outline:2px solid var(--electric-cyan);outline-offset:2px}@media(prefers-reduced-motion:reduce){.btn-cmd,.btn-cmd .ext{transition:none}.btn-cmd:hover,.btn-cmd:hover .ext{transform:none}}:root{--retro-shadow-inset: inset 1px 1px 2px rgba(0, 0, 0, .4), inset -1px -1px 2px rgba(255, 255, 255, .04);--retro-shadow-raised: 1px 1px 0 rgba(255, 255, 255, .06), -1px -1px 0 rgba(0, 0, 0, .5), 2px 2px 0 rgba(0, 0, 0, .3);--retro-shadow-pressed: inset 1px 1px 2px rgba(0, 0, 0, .5), inset -1px -1px 1px rgba(255, 255, 255, .03);--retro-border-raised: 2px outset #2a2a4a;--retro-border-inset: 2px inset #1a1a3a;--retro-border-thin-raised: 1px outset #2a2a5a;--retro-border-thin-inset: 1px inset #141438;--retro-gray-light: #2a2a4a;--retro-gray-medium: #1e1e48;--retro-gray-dark: #141438;--retro-white: #0a0a2e;--retro-black: #000000}.retro-icon{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;filter:contrast(1.1) brightness(.98)}.rf-panel.retro-enhanced{box-shadow:var(--retro-shadow-raised);border:var(--retro-border-thin-raised)}.rf-panel-header.retro-enhanced{box-shadow:var(--retro-shadow-inset);border-bottom:2px solid var(--retro-gray-dark)}.rf-button.retro-enhanced{box-shadow:var(--retro-shadow-raised);border:var(--retro-border-raised)}.rf-button.retro-enhanced:active{box-shadow:var(--retro-shadow-pressed);border:var(--retro-border-inset)}.rf-tab.retro-enhanced{box-shadow:var(--retro-shadow-raised);border:var(--retro-border-thin-raised)}.rf-tab.retro-enhanced.active{box-shadow:var(--retro-shadow-inset);border-bottom:2px solid var(--rf-panel-bg)}.retro-icon-small{width:16px;height:16px;min-width:16px;min-height:16px}.retro-icon-medium{width:24px;height:24px;min-width:24px;min-height:24px}.retro-icon-large{width:32px;height:32px;min-width:32px;min-height:32px}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.retro-icon{image-rendering:auto}}@-moz-document url-prefix(){.retro-icon{image-rendering:-moz-crisp-edges}}@supports (-webkit-appearance: none){.retro-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@supports not (image-rendering: crisp-edges){.retro-icon{image-rendering:optimizeQuality}}.retro-icon img,.retro-icon svg{max-width:100%;height:auto;display:block}@supports not (image-rendering: crisp-edges){.retro-icon{image-rendering:auto;-ms-interpolation-mode:nearest-neighbor}}@media(max-width:768px){.retro-icon{max-width:22px;max-height:22px}.rf-tab .retro-icon,.rf-tree-icon .retro-icon{width:14px!important;height:14px!important}.rf-header-title .retro-icon{width:20px!important;height:20px!important}}@media(max-width:480px){.retro-icon{max-width:18px;max-height:18px}.rf-tab .retro-icon,.rf-tree-icon .retro-icon{width:12px!important;height:12px!important}.rf-header-title .retro-icon{width:18px!important;height:18px!important}.rf-panel-icon .retro-icon{width:16px!important;height:16px!important}}@media(min-width:769px)and (max-width:1024px){.retro-icon{max-width:24px;max-height:24px}}.retro-icon-contrast{filter:contrast(1.2) brightness(1.05)}.retro-hover-effect:hover .retro-icon{filter:brightness(1.1) contrast(1.15);transition:filter .2s ease}Escala de tres tramos en vez de un salto directo texto -> completo: texto (~578px) / ancho (900px,1.55x) / completo (1152px). Reservar el tramo extremo mantiene la jerarquia legible — si todo desborda al maximo,ese maximo deja de significar nada. */ .markdown-content{--measure: min(68ch, 100%);--wide: 900px;display:grid;grid-template-columns:[full-start] minmax(0,1fr) [wide-start] minmax(0,max(0px,(var(--wide) - var(--measure)) / 2)) [text-start] var(--measure) [text-end] minmax(0,max(0px,(var(--wide) - var(--measure)) / 2)) [wide-end] minmax(0,1fr) [full-end];word-wrap:break-word}.markdown-content>*{grid-column:text;min-width:0}.markdown-content>.markdown-breakout,.markdown-content>iframe,.markdown-content>pre{grid-column:wide}.markdown-content>.katex-display{grid-column:text;overflow-x:auto;overflow-y:hidden;padding-block:4px}.lazy-frame{position:relative;width:100%;margin:24px 0;overflow:hidden;background:var(--rf-panel-bg, #0a0a2e);border-radius:8px;border:0}@media(max-width:768px){.markdown-content>.lazy-frame{margin-inline:calc(-1 * (var(--shell-pad-x, 0px) + var(--space-sm)));width:auto;border-radius:0}}.katex,.katex *{box-sizing:content-box}.markdown-content img{max-width:100%;height:auto;border-radius:8px;margin:20px 0;border:1px solid rgba(85,170,255,.15);box-shadow:0 2px 8px #0006}.markdown-content pre{overflow-x:auto}.markdown-content table{font-size:14px}.markdown-content table tbody tr:last-child{border-bottom:none}.markdown-content a:focus{outline:2px solid var(--electric-cyan);outline-offset:2px}@media(max-width:768px){.markdown-content{font-size:14px}.markdown-content h1{font-size:24px!important}.markdown-content h2{font-size:20px!important}.markdown-content h3{font-size:18px!important}.markdown-content table{font-size:12px}.markdown-content th,.markdown-content td{padding:8px 12px!important}}
