@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.3dqqgop8d9q74.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.3s3485bbs_y9t.woff)format("woff"),url(../media/KaTeX_AMS-Regular.06540o8ttgt08.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.0x398dszol8ix.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0i0ys3pk95qm_.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.071y7fj7dknco.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.3ittfn7d21b9w.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.3-a7ahrnv-1p0.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.2a29kziuqmcwj.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.3rq09ohrtely_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.1m6-2-v71aefh.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.2c272neyw5p5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.1jvgec053-2og.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.1pa447q_ni5m2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0_16ta522mcvb.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.22wkahef0u3fd.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.1fyzqvxw_mkks.woff)format("woff"),url(../media/KaTeX_Main-Bold.3q46h05c4j0cw.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.40drhxm0mwrzz.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0g_mm5w89az4z.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.2r19jqj9qb5v7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.1ck6crdmp78cu.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.3h-lyz6-tj-5j.woff)format("woff"),url(../media/KaTeX_Main-Italic.07vrczmwpvimc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.29zz7337tzymc.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0r86ux5c2_9jc.woff)format("woff"),url(../media/KaTeX_Main-Regular.0cm4nk2aib81i.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0u_6s571--hh0.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.1-f92ydojzao_.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0m2qm2_orz99k.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.18dmviy-uianu.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.2d-roszuwfrpn.woff)format("woff"),url(../media/KaTeX_Math-Italic.1vw7gcigzv33_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.19n5ohjzvq40z.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.1ad0dh55v7-4h.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.3ojskmd7zv_b8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.38w085lqrghwm.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0_21g6aey40vy.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.0abd80e_ako5h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.3w8wtfek3qsk6.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0v2olaztuqa1v.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0xkeldfcfvj58.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.10h737unm2jp7.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.2m7-0wua2lvnq.woff)format("woff"),url(../media/KaTeX_Script-Regular.1hw1d7omwtnoy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.3xype_vsmmjgw.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.3aliq3yd-ja9b.woff)format("woff"),url(../media/KaTeX_Size1-Regular.44z_qgcc9t0a_.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.2-wakugslvf3a.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.3u0df62zf5guy.woff)format("woff"),url(../media/KaTeX_Size2-Regular.3eprswoc9v3fh.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.1nfuh3l6nzhjv.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.3n7wm08wz2r2g.woff)format("woff"),url(../media/KaTeX_Size3-Regular.2kp2izz6g7r-7.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.13pyt7zi482pb.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.37jvrh2wknf5u.woff)format("woff"),url(../media/KaTeX_Size4-Regular.2ltjhs9xhaefy.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.2vfnlegjq9l42.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0xi5kyeeydv4z.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.34aedpl-_o3h3.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.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;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.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{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.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;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.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:.833333em}.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.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.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.66667em}.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.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.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.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.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:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.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.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.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.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.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:.416667em}.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:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.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:.833333em}.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.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.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:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.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.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.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.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.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.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.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{width:.12em;display:inline-block}.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{min-width:1px;display:inline-block}.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;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.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{box-sizing:border-box;border:.04em solid}.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{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;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{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.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{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
.pch-viz{background:radial-gradient(120% 90% at 50% -20%, color-mix(in srgb, var(--pch-fn,#c599ff) 10%, transparent), transparent 55%), var(--pch-ink,#0d1117);border:1px solid #ffffff17;border-radius:1.1rem;margin:2rem 0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 30px 60px -34px #000000d9}.pch-viz__bar{background:color-mix(in srgb, var(--pch-surface,#161b22) 50%, transparent);font-family:var(--font-sans);border-bottom:1px solid #ffffff0f;align-items:center;gap:.7rem;padding:.75rem .9rem;font-size:.85rem;display:flex}.pch-viz__dots{display:none}.pch-viz__tag{--tag:var(--pch-blue-bright,#6ba9dd);background:color-mix(in srgb, var(--tag) 16%, transparent);border:1px solid color-mix(in srgb, var(--tag) 32%, transparent);color:var(--tag);letter-spacing:.09em;text-transform:uppercase;border-radius:.6rem;flex-shrink:0;align-items:center;gap:.35rem;padding:.24rem .6rem;font-family:Source Code Pro,monospace;font-size:.64rem;font-weight:700;display:inline-flex}.pch-viz__tag:before{content:"";width:.9em;height:.9em;-webkit-mask:var(--tag-icon) center / contain no-repeat;-webkit-mask:var(--tag-icon) center / contain no-repeat;mask:var(--tag-icon) center / contain no-repeat;--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='6' r='2.4'/%3E%3Ccircle cx='18' cy='6' r='2.4'/%3E%3Ccircle cx='12' cy='18' r='2.4'/%3E%3Cpath d='M6 8v1a3 3 0 003 3h6a3 3 0 003-3V8' stroke='black' stroke-width='1.6' fill='none'/%3E%3Cpath d='M12 13v3' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E");background:currentColor;flex-shrink:0}.pch-p5 .pch-viz__tag{--tag:var(--pch-fn,#c599ff)}.pch-p5 .pch-viz__tag:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l1.7 5.3L19 9l-5.3 1.7L12 16l-1.7-5.3L5 9l5.3-1.7z'/%3E%3C/svg%3E")}.pch-viz__title{color:#e7ecf2;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.pch-viz__lib{color:#6b7683;flex-shrink:0;font-family:Source Code Pro,monospace;font-size:.72rem}.pch-viz__controls{flex-shrink:0;gap:.45rem;display:inline-flex}.pch-viz__btn{cursor:pointer;background:color-mix(in srgb, var(--pch-surface,#161b22) 88%, #000);color:#cdd6e0;font-family:var(--font-sans);border:1px solid #ffffff1a;border-radius:.6rem;align-items:center;gap:.4rem;padding:.44rem .8rem;font-size:.8rem;font-weight:600;transition:transform .15s,border-color .15s,color .15s,background .15s;display:inline-flex}.pch-viz__btn:hover{border-color:color-mix(in srgb, var(--pch-fn,#c599ff) 55%, transparent);background:color-mix(in srgb, var(--pch-fn,#c599ff) 14%, var(--pch-surface,#161b22));color:#fff;transform:translateY(-1px)}.pch-viz__btn:focus-visible{outline:2px solid var(--pch-fn,#c599ff);outline-offset:2px}.pch-viz__btn[data-p5-toggle]:before,.pch-viz__btn[data-p5-restart]:before{content:"";width:1em;height:1em;-webkit-mask:var(--i) center / contain no-repeat;-webkit-mask:var(--i) center / contain no-repeat;mask:var(--i) center / contain no-repeat;background:currentColor;flex-shrink:0}.pch-viz__btn[data-p5-toggle]:before{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 5h3v14H7zm7 0h3v14h-3z'/%3E%3C/svg%3E")}.pch-p5.is-paused .pch-viz__btn[data-p5-toggle]:before{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pch-viz__btn[data-p5-restart]:before{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5V2L8 6l4 4V7a5 5 0 11-5 5H5a7 7 0 107-7z'/%3E%3C/svg%3E")}@media (prefers-reduced-motion:reduce){.pch-viz__btn{transition:none}.pch-viz__btn:hover{transform:none}}.pch-viz__cap{border:1px solid color-mix(in srgb, var(--pch-fn,#c599ff) 24%, transparent);background:color-mix(in srgb, var(--pch-fn,#c599ff) 8%, transparent);color:#bcc5d0;text-align:left;border-radius:.75rem;margin:.9rem;padding:.75rem .95rem .75rem 2.5rem;font-family:Atkinson Hyperlegible,Atkinson Fallback,sans-serif;font-size:.9rem;line-height:1.55;position:relative}.pch-viz__cap:before{content:"";background:var(--pch-fn,#c599ff);width:1rem;height:1rem;position:absolute;top:.85rem;left:.9rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21h6v-1.5H9V21zm3-19a7 7 0 00-4.2 12.6c.5.4.8.9.9 1.4h6.6c.1-.5.4-1 .9-1.4A7 7 0 0012 2z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21h6v-1.5H9V21zm3-19a7 7 0 00-4.2 12.6c.5.4.8.9.9 1.4h6.6c.1-.5.4-1 .9-1.4A7 7 0 0012 2z'/%3E%3C/svg%3E") 50%/contain no-repeat}.pch-p5__stage{background-color:var(--pch-ink,#0d1117);background-image:radial-gradient(#8b949e29 1px,#0000 1px);background-size:22px 22px;place-items:center;min-height:200px;padding:1.25rem;display:grid}.pch-p5__stage canvas{border-radius:.5rem;max-width:100%;height:auto;display:block;box-shadow:0 10px 30px -18px #000c}.pch-p5.is-paused .pch-viz__tag:after{content:" paused";color:#6b7683}.pch-p5__error{color:#ff8f8f;white-space:pre-wrap;margin:0;font-family:Source Code Pro,monospace;font-size:.85rem}.mermaid-diagram .mermaid-diagram__stage{background-color:var(--pch-ink,#0d1117);background-image:radial-gradient(#8b949e24 1px,#0000 1px);background-size:22px 22px;padding:1.5rem 1rem;overflow-x:auto}.mermaid-diagram .mermaid{all:initial;justify-content:center;align-items:center;width:100%;font-family:Atkinson Hyperlegible,Atkinson Fallback,sans-serif;display:flex}.mermaid-diagram .mermaid svg{max-width:100%;height:auto}.mermaid-error{color:#ff8f8f;border:1px solid #ff8f8f66;border-radius:.6rem;padding:.75rem 1rem}.sl-markdown-content [data-rehype-pretty-code-figure],.sl-markdown-content [data-rehype-pretty-code-fragment]{border-radius:.75rem;overflow:hidden}.sl-markdown-content .line-highlight,.sl-markdown-content [data-highlighted-line]{background:color-mix(in srgb, var(--pch-blue,#4b8bbe) 14%, transparent);box-shadow:inset 3px 0 0 var(--pch-blue,#4b8bbe)}.sl-markdown-content [data-highlighted-chars]{background:color-mix(in srgb, var(--pch-amber,#ffd343) 22%, transparent);border-radius:.25rem;padding:.05rem .1rem}:root[data-theme=light] .pch-viz{box-shadow:0 18px 40px -30px #00000059}@media (max-width:34rem){.pch-viz__lib{display:none}}@media (prefers-reduced-motion:reduce){.pch-viz__btn{transition:none}}.pch-fs-btn{justify-content:center;align-items:center;padding:.28rem .44rem;display:inline-flex}.pch-code-fs-btn{margin-left:auto}.pch-fs-stage{box-sizing:border-box;background:radial-gradient(#8b949e1f 1px, transparent 1px) 0 0 / 22px 22px, var(--pch-ink,#0d1117);place-items:center;width:100%;height:100%;padding:1.25rem;display:grid;overflow:auto}.pch-fs-stage--diagram svg{width:auto;max-width:96%;height:auto;max-height:92%}.pch-fs-stage--p5 canvas{border-radius:.5rem;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 10px 40px -18px #000000d9}.pch-fs-stage--code{background:0 0;place-items:start stretch;padding:0}.pch-fs-stage--code pre{border-radius:0;width:100%;height:100%;margin:0;font-size:1rem;overflow:auto}.pch-viz__btn[data-p5-toggle]:before{background:var(--pch-amber,#ffd343)}.pch-viz__btn[data-p5-toggle].is-paused:before{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pch-p5.is-paused .pch-viz__btn[data-p5-toggle]:before,.pch-viz__btn[data-p5-toggle].is-paused:before{background:#35c94a}.pch-viz__btn[data-p5-restart]:before{background:currentColor}.pch-viz__btn:active{transform:translateY(.5px)}
.pch-vz{--tone-active:var(--pch-blue-bright,#6ba9dd);--tone-good:#56d364;--tone-bad:#ff8f8f;--tone-warn:var(--pch-amber,#ffd343);--tone-muted:var(--pch-comment,#828f9c);--tone-info:#8b949e}.pch-vz .tone-active{--t:var(--tone-active)}.pch-vz .tone-good{--t:var(--tone-good)}.pch-vz .tone-bad{--t:var(--tone-bad)}.pch-vz .tone-warn{--t:var(--tone-warn)}.pch-vz .tone-muted{--t:var(--tone-muted)}.pch-vz .tone-info{--t:var(--tone-info)}.pch-vz:focus-visible{outline:2px solid var(--pch-blue-bright,#6ba9dd);outline-offset:3px}.pch-vz__tag--array,.pch-vz__tag--sort,.pch-vz__tag--search{--tag:var(--pch-blue-bright,#6ba9dd)}.pch-vz__tag--tree,.pch-vz__tag--trie,.pch-vz__tag--segtree{--tag:#56d364}.pch-vz__tag--graph,.pch-vz__tag--grid,.pch-vz__tag--dsu{--tag:var(--pch-fn,#c599ff)}.pch-vz__tag--dp,.pch-vz__tag--state{--tag:var(--pch-amber,#ffd343)}.pch-vz__tag--recursion,.pch-vz__tag--stack,.pch-vz__tag--heap,.pch-vz__tag--list,.pch-vz__tag--interval,.pch-vz__tag--bits,.pch-vz__tag--chart{--tag:#f0883e}.pch-vz__tag--array:before,.pch-vz__tag--sort:before,.pch-vz__tag--list:before,.pch-vz__tag--interval:before,.pch-vz__tag--bits:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='9' width='6' height='6' rx='1'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1'/%3E%3Crect x='16' y='9' width='6' height='6' rx='1'/%3E%3C/svg%3E")}.pch-vz__tag--tree:before,.pch-vz__tag--trie:before,.pch-vz__tag--segtree:before,.pch-vz__tag--recursion:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='4' r='2.4'/%3E%3Ccircle cx='6' cy='14' r='2.4'/%3E%3Ccircle cx='18' cy='14' r='2.4'/%3E%3Cpath d='M12 6.5 7 11.5M12 6.5l5 5' stroke='black' stroke-width='1.7' fill='none'/%3E%3C/svg%3E")}.pch-vz__tag--graph:before,.pch-vz__tag--dsu:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='6' r='2.2'/%3E%3Ccircle cx='19' cy='8' r='2.2'/%3E%3Ccircle cx='11' cy='18' r='2.2'/%3E%3Cpath d='M6.7 7.2 17.3 7.6M18 10l-6 6M9.6 16.2 6 8.2' stroke='black' stroke-width='1.6' fill='none'/%3E%3C/svg%3E")}.pch-vz__tag--dp:before,.pch-vz__tag--grid:before,.pch-vz__tag--state:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h18v18H3z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 3v18M15 3v18M3 9h18M3 15h18' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E")}.pch-vz__tag--stack:before,.pch-vz__tag--heap:before,.pch-vz__tag--search:before,.pch-vz__tag--chart:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='15' width='4' height='6' rx='1'/%3E%3Crect x='10' y='10' width='4' height='11' rx='1'/%3E%3Crect x='16' y='4' width='4' height='17' rx='1'/%3E%3C/svg%3E")}.pch-vz__stage{background-color:var(--pch-ink,#0d1117);background-image:radial-gradient(#8b949e24 1px,#0000 1px);background-size:22px 22px;padding:1.4rem 1.1rem 1.1rem;overflow-x:auto}.pch-vz__error{color:#ff8f8f;margin:0;padding:1rem 1.1rem;font-family:Source Code Pro,monospace;font-size:.85rem}.pch-vz__error code{background:#ff8f8f24;border-radius:.3rem;padding:.1em .35em}.pch-vz__caption{background:color-mix(in srgb, var(--pch-surface,#161b22) 55%, transparent);color:#cdd6e0;border-top:1px solid #ffffff0f;align-items:baseline;gap:.6rem;min-height:3.4rem;padding:.85rem 1.1rem;font-family:Atkinson Hyperlegible,Atkinson Fallback,sans-serif;font-size:.93rem;line-height:1.55;display:flex}.pch-vz__phase{color:#9fb0c3;letter-spacing:.07em;text-transform:uppercase;background:#ffffff0d;border:1px solid #ffffff24;border-radius:.45rem;flex-shrink:0;padding:.12rem .5rem;font-family:Source Code Pro,monospace;font-size:.66rem;font-weight:700}.pch-vz__result{color:#b7f0bd;background:#56d3641a;border-top:1px solid #56d36442;padding:.6rem 1.1rem;font-family:Source Code Pro,monospace;font-size:.85rem}.pch-vz__result b{color:#56d364;text-transform:uppercase;letter-spacing:.09em;margin-right:.5rem;font-size:.68rem}.pch-vz__watch{background:color-mix(in srgb, var(--pch-ink,#0d1117) 70%, transparent);border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:.4rem;padding:.7rem 1.1rem;display:flex}.pch-vz__var{border:1px solid color-mix(in srgb, var(--t,#8b949e) 34%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 10%, transparent);border-radius:.5rem;align-items:center;gap:.4rem;padding:.2rem .55rem;font-family:Source Code Pro,monospace;font-size:.78rem;display:inline-flex}.pch-vz__var b{color:var(--t,#8b949e);font-weight:700}.pch-vz__var span{color:#e7ecf2}.pch-vz__code{background:color-mix(in srgb, var(--pch-ink,#0d1117) 92%, #000);color:#9fb0c3;tab-size:4;border-top:1px solid #ffffff0f;max-height:15rem;margin:0;padding:.8rem 0;font-family:Source Code Pro,monospace;font-size:.78rem;line-height:1.6;overflow:auto}.pch-vz__codeline{white-space:pre;padding:0 1.1rem 0 0;transition:background .18s,color .18s;display:block}.pch-vz__codeline.is-here{background:color-mix(in srgb, var(--pch-blue,#4b8bbe) 18%, transparent);box-shadow:inset 3px 0 0 var(--pch-blue-bright,#6ba9dd);color:#eaf2fa}.pch-vz__gutter{text-align:right;color:#4d5765;-webkit-user-select:none;user-select:none;width:2.4rem;padding-right:.7rem;display:inline-block}.pch-vz__codeline.is-here .pch-vz__gutter{color:var(--pch-blue-bright,#6ba9dd)}.pch-vz__transport{background:color-mix(in srgb, var(--pch-surface,#161b22) 50%, transparent);border-top:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1.1rem;display:flex}.pch-vz__play{justify-content:center;min-width:5.4rem}.pch-vz__icon{padding:.36rem .62rem;font-family:Source Code Pro,monospace;font-size:1rem;line-height:1}.pch-vz__transport .pch-viz__btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.pch-vz__scrub{appearance:none;cursor:pointer;background:0 0;flex:8rem;min-width:6rem;height:1.5rem;margin:0 .2rem}.pch-vz__scrub::-webkit-slider-runnable-track{background:#ffffff1f;border-radius:999px;height:.38rem}.pch-vz__scrub::-moz-range-track{background:#ffffff1f;border-radius:999px;height:.38rem}.pch-vz__scrub::-webkit-slider-thumb{appearance:none;border:2px solid var(--pch-ink,#0d1117);background:var(--pch-blue-bright,#6ba9dd);border-radius:50%;width:1rem;height:1rem;margin-top:-.31rem}.pch-vz__scrub::-moz-range-thumb{border:2px solid var(--pch-ink,#0d1117);background:var(--pch-blue-bright,#6ba9dd);border-radius:50%;width:1rem;height:1rem}.pch-vz__scrub:focus-visible{outline:2px solid var(--pch-blue-bright,#6ba9dd);outline-offset:2px}.pch-vz__count{text-align:center;color:#9fb0c3;flex-shrink:0;min-width:4.2rem;font-family:Source Code Pro,monospace;font-size:.78rem}.pch-vz__count i{color:#4d5765;margin:0 .15rem;font-style:normal}.pch-vz__speed select{background:color-mix(in srgb, var(--pch-surface,#161b22) 88%, #000);color:#cdd6e0;border:1px solid #ffffff1a;border-radius:.5rem;padding:.32rem .4rem;font-family:Source Code Pro,monospace;font-size:.76rem}.pch-vz-arr{flex-direction:column;gap:.3rem;min-width:min-content;display:flex}.pch-vz-arr__grid{grid-template-columns:repeat(var(--n,1), minmax(2.3rem, 3.4rem));gap:.3rem;display:grid}.pch-vz-arr__bands{min-height:1.35rem}.pch-vz-arr__band{border:1px solid color-mix(in srgb, var(--t,#8b949e) 55%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 12%, transparent);color:var(--t,#8b949e);letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;border-bottom:none;border-radius:.45rem .45rem 0 0;place-items:center;padding:0 .2rem;font-family:Source Code Pro,monospace;font-size:.66rem;font-weight:700;display:grid;overflow:hidden}.pch-vz-arr__cell{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--t,#8b949e) 45%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 13%, var(--pch-surface,#161b22));border-radius:.5rem;flex-direction:column;justify-content:center;align-items:center;min-height:2.6rem;transition:background .2s,border-color .2s,transform .2s;display:flex;position:relative}.pch-vz-arr__cell.tone-active,.pch-vz-arr__cell.tone-good,.pch-vz-arr__cell.tone-bad{transform:translateY(-1px)}.pch-vz-arr__val{z-index:1;color:#eaf2fa;font-family:Source Code Pro,monospace;font-size:.92rem;font-weight:700;line-height:1;position:relative}.pch-vz-arr__cell.tone-muted .pch-vz-arr__val{color:#7d8794}.pch-vz-arr__idx{z-index:1;color:#5c6672;margin-top:.12rem;font-family:Source Code Pro,monospace;font-size:.6rem;font-style:normal;position:relative}.pch-vz-arr.is-bars .pch-vz-arr__cell{aspect-ratio:auto;justify-content:flex-end;height:6.5rem;padding-bottom:.2rem}.pch-vz-arr__bar{inset-inline:.18rem;background:color-mix(in srgb, var(--t,#8b949e) 55%, transparent);border-radius:.3rem .3rem .2rem .2rem;position:absolute;bottom:.18rem}.pch-vz-arr__ptrs{align-items:start;min-height:1.5rem}.pch-vz-arr__ptrstack{flex-direction:column;align-items:center;gap:.12rem;display:flex}.pch-vz-arr__ptr{background:color-mix(in srgb, var(--t,#8b949e) 22%, transparent);border:1px solid color-mix(in srgb, var(--t,#8b949e) 55%, transparent);color:var(--t,#8b949e);white-space:nowrap;border-radius:.35rem;padding:.1rem .36rem;font-family:Source Code Pro,monospace;font-size:.62rem;font-weight:700;position:relative}.pch-vz-arr__ptrstack>.pch-vz-arr__ptr:first-child:before{content:"";border:.22rem solid #0000;border-bottom-color:color-mix(in srgb, var(--t,#8b949e) 70%, transparent);position:absolute;top:-.35rem;left:50%;translate:-50%}.pch-vz-arr__aux{align-items:center;gap:.55rem;margin-top:.45rem;display:flex}.pch-vz-arr__auxlabel{color:#7d8794;flex-shrink:0;font-family:Source Code Pro,monospace;font-size:.68rem;font-weight:700}.pch-vz-arr__cells.is-aux .pch-vz-arr__cell{aspect-ratio:auto;height:2.1rem;min-height:2.1rem}.pch-vz-arr__cells.is-aux .pch-vz-arr__val{font-size:.76rem}.pch-vz-arr__cells.is-aux .pch-vz-arr__idx{display:none}.pch-vz-arr__chips{border-top:1px dashed #ffffff17;flex-wrap:wrap;gap:.32rem;margin-top:.7rem;padding-top:.6rem;display:flex}.pch-vz-arr__chip{border:1px solid color-mix(in srgb, var(--t,#8b949e) 40%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 11%, transparent);border-radius:.4rem;align-items:center;gap:.3rem;padding:.16rem .45rem;font-family:Source Code Pro,monospace;font-size:.72rem;display:inline-flex}.pch-vz-arr__chip b{color:var(--t,#8b949e);font-weight:700}.pch-vz-arr__chip span{color:#cdd6e0}.pch-vz-tree{flex-direction:column;gap:.75rem;display:flex}.pch-vz-tree__main{align-items:flex-start;gap:1rem;display:flex}.pch-vz-tree__svg{flex:auto;min-width:0;height:auto;max-height:22rem;overflow:visible}.pch-vz-tree__edge{stroke:color-mix(in srgb, var(--t,#8b949e) 65%, transparent);stroke-width:2px;stroke-linecap:round}.pch-vz-tree__node circle{fill:color-mix(in srgb, var(--t,#8b949e) 20%, var(--pch-surface,#161b22));stroke:color-mix(in srgb, var(--t,#8b949e) 75%, transparent);stroke-width:2px;transition:fill .2s,stroke .2s}.pch-vz-tree__node text{fill:#eaf2fa;font-family:Source Code Pro,monospace;font-size:.86rem;font-weight:700}.pch-vz-tree__node.tone-muted text{fill:#7d8794}.pch-vz-tree__node.tone-active circle,.pch-vz-tree__node.tone-good circle,.pch-vz-tree__node.tone-bad circle{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--t,#8b949e) 70%, transparent))}.pch-vz-tree__note{fill:var(--t,#8b949e);font-family:Source Code Pro,monospace;font-size:.6rem;font-weight:700}.pch-vz-tree__edgelabel{fill:#cdd6e0;paint-order:stroke;stroke:var(--pch-ink,#0d1117);stroke-width:3px;stroke-linejoin:round;font-family:Source Code Pro,monospace;font-size:.62rem;font-weight:700}.pch-vz-tree__panel{background:color-mix(in srgb, var(--pch-surface,#161b22) 78%, #000);border:1px solid #ffffff1a;border-radius:.65rem;flex:none;min-width:5.2rem;padding:.5rem .55rem}.pch-vz-tree__panellabel{color:#6b7683;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.4rem;font-family:Source Code Pro,monospace;font-size:.6rem;font-weight:700;display:block}.pch-vz-tree__panelitems{gap:.22rem;display:flex}.pch-vz-tree__panel.is-stack .pch-vz-tree__panelitems{flex-direction:column}.pch-vz-tree__panel.is-queue .pch-vz-tree__panelitems{flex-flow:wrap}.pch-vz-tree__empty{color:#4d5765;font-family:Source Code Pro,monospace;font-size:.68rem;font-style:italic}.pch-vz-tree__slot{border:1px solid color-mix(in srgb, var(--t,#8b949e) 50%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 14%, transparent);color:#e7ecf2;border-radius:.35rem;place-items:center;min-width:1.7rem;padding:.2rem .4rem;font-family:Source Code Pro,monospace;font-size:.74rem;font-weight:700;display:grid}.pch-vz-tree__slot.tone-muted{color:#8b949e}.pch-vz-tree__out{border-top:1px dashed #ffffff17;flex-wrap:wrap;align-items:center;gap:.25rem;padding-top:.6rem;display:flex}.pch-vz-tree__outlabel,.pch-vz-tree__auxlabel{color:#6b7683;letter-spacing:.08em;text-transform:uppercase;margin-right:.35rem;font-family:Source Code Pro,monospace;font-size:.62rem;font-weight:700}@media (max-width:44rem){.pch-vz-tree__main{flex-direction:column}.pch-vz-tree__panel{width:100%}.pch-vz-tree__panel.is-stack .pch-vz-tree__panelitems{flex-flow:wrap}}@media (prefers-reduced-motion:reduce){.pch-vz-tree__node circle{transition:none}}.pch-vz-graph{flex-direction:column;gap:.75rem;display:flex}.pch-vz-graph__main{align-items:flex-start;gap:1rem;display:flex}.pch-vz-graph__svg{flex:auto;min-width:0;height:auto;max-height:24rem;overflow:visible}.pch-vz-graph__edge line{stroke:color-mix(in srgb, var(--t,#8b949e) 62%, transparent);stroke-width:2px;stroke-linecap:round;transition:stroke .2s,stroke-width .2s}.pch-vz-graph__edge.tone-good line,.pch-vz-graph__edge.tone-bad line{stroke-width:3px}.pch-vz-graph__head{fill:color-mix(in srgb, var(--t,#8b949e) 80%, transparent)}.pch-vz-graph__weight{fill:#9fb0c3;paint-order:stroke;stroke:var(--pch-ink,#0d1117);stroke-width:3px;stroke-linejoin:round;font-family:Source Code Pro,monospace;font-size:.62rem;font-weight:700}.pch-vz-graph__node circle{fill:color-mix(in srgb, var(--t,#8b949e) 22%, var(--pch-surface,#161b22));stroke:color-mix(in srgb, var(--t,#8b949e) 78%, transparent);stroke-width:2px;transition:fill .2s,stroke .2s}.pch-vz-graph__node text{fill:#eaf2fa;font-family:Source Code Pro,monospace;font-size:.84rem;font-weight:700}.pch-vz-graph__node.tone-muted text{fill:#7d8794}.pch-vz-graph__node.tone-active circle,.pch-vz-graph__node.tone-good circle,.pch-vz-graph__node.tone-bad circle{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--t,#8b949e) 70%, transparent))}.pch-vz-graph__note{fill:var(--t,#8b949e);font-family:Source Code Pro,monospace;font-size:.6rem;font-weight:700}@media (max-width:44rem){.pch-vz-graph__main{flex-direction:column}.pch-vz-graph__main .pch-vz-tree__panel{width:100%}}.pch-vz-grid{flex-direction:column;gap:.7rem;display:flex}.pch-vz-grid__main{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.pch-vz-grid__board{grid-template-columns:repeat(var(--cols,1), minmax(1.8rem, 2.5rem));flex:none;gap:.22rem;display:grid}.pch-vz-grid__cell{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--t,#8b949e) 42%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 14%, var(--pch-surface,#161b22));color:#e7ecf2;border-radius:.3rem;place-items:center;font-family:Source Code Pro,monospace;font-size:.72rem;font-weight:700;transition:background .2s,border-color .2s;display:grid}.pch-vz-grid__cell.is-blocked{background:repeating-linear-gradient(45deg,#8b949e29 0 3px,#0000 3px 6px);border-color:#8b949e2e}.pch-vz-grid__cell.is-cursor{border-color:var(--pch-amber,#ffd343);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--pch-amber,#ffd343) 55%, transparent));border-width:2px}.pch-vz-grid__cell.tone-muted{color:#6b7683}.pch-vz-grid__legend{flex-wrap:wrap;gap:.32rem;display:flex}@media (max-width:44rem){.pch-vz-grid__main .pch-vz-tree__panel{width:100%}}.pch-vz-list{flex-direction:column;gap:.6rem;display:flex}.pch-vz-list__svg{width:100%;height:auto;max-height:16rem;overflow:visible}.pch-vz-list__node rect{fill:color-mix(in srgb, var(--t,#8b949e) 20%, var(--pch-surface,#161b22));stroke:color-mix(in srgb, var(--t,#8b949e) 72%, transparent);stroke-width:2px;transition:fill .2s,stroke .2s}.pch-vz-list__node text{fill:#eaf2fa;font-family:Source Code Pro,monospace;font-size:.8rem;font-weight:700}.pch-vz-list__node.tone-muted text{fill:#7d8794}.pch-vz-list__node.tone-active rect,.pch-vz-list__node.tone-good rect,.pch-vz-list__node.tone-bad rect,.pch-vz-list__node.tone-warn rect{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--t,#8b949e) 65%, transparent))}.pch-vz-list__link{stroke:color-mix(in srgb, var(--t,#8b949e) 70%, transparent);stroke-width:2px;stroke-linecap:round;transition:stroke .2s}.pch-vz-list__link.tone-good{stroke-width:2.6px}.pch-vz-list__head{fill:color-mix(in srgb, var(--t,#8b949e) 85%, transparent)}.pch-vz-list__null{fill:#4d5765;font-family:Source Code Pro,monospace;font-size:1rem;font-weight:700}.pch-vz-list__cursor text{fill:var(--t,#8b949e);font-family:Source Code Pro,monospace;font-size:.66rem;font-weight:700}.pch-vz-list__caret{fill:color-mix(in srgb, var(--t,#8b949e) 80%, transparent)}.pch-vz-list__second{border-top:1px dashed #ffffff17;flex-wrap:wrap;align-items:center;gap:.25rem;padding-top:.55rem;display:flex}.pch-vz-dp{flex-direction:column;gap:.5rem;display:flex}.pch-vz-dp__axes{flex-wrap:wrap;gap:.9rem;display:flex}.pch-vz-dp__axis{color:#7d8794;font-family:Source Code Pro,monospace;font-size:.68rem;font-weight:700}.pch-vz-dp__svg{width:100%;height:auto;max-height:24rem;overflow:visible}.pch-vz-dp__head{fill:#6b7683;font-family:Source Code Pro,monospace;font-size:.64rem;font-weight:700}.pch-vz-dp__cell rect{fill:color-mix(in srgb, var(--t,#8b949e) 15%, var(--pch-surface,#161b22));stroke:color-mix(in srgb, var(--t,#8b949e) 42%, transparent);stroke-width:1px;transition:fill .2s,stroke .2s}.pch-vz-dp__cell.is-empty rect{fill:#ffffff05;stroke:#ffffff0f;stroke-dasharray:3 3}.pch-vz-dp__cell text{fill:#e7ecf2;font-family:Source Code Pro,monospace;font-size:.76rem;font-weight:700}.pch-vz-dp__cell.tone-muted text{fill:#808b98}.pch-vz-dp__cell.is-cursor rect{stroke:var(--pch-amber,#ffd343);stroke-width:2.4px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--pch-amber,#ffd343) 55%, transparent))}.pch-vz-dp__cell.is-path rect{stroke:#56d364;stroke-width:2.2px}.pch-vz-dp__dep{stroke:var(--pch-amber,#ffd343);stroke-width:1.8px;stroke-dasharray:4 3;opacity:.85}.pch-vz-dp__arrowhead{fill:var(--pch-amber,#ffd343)}@media (prefers-reduced-motion:reduce){.pch-vz-graph__node circle,.pch-vz-graph__edge line,.pch-vz-dp__cell rect{transition:none}}.pch-vz-stack{flex-direction:column;gap:.7rem;display:flex}.pch-vz-stack__main{flex-wrap:wrap;align-items:flex-start;gap:1.1rem;display:flex}.pch-vz-stack__tape{flex:16rem;min-width:0}.pch-vz-stack__col{background:color-mix(in srgb, var(--pch-surface,#161b22) 78%, #000);text-align:center;border:1px solid #ffffff1a;border-radius:.65rem;flex:none;min-width:4.6rem;padding:.5rem .55rem}.pch-vz-stack__slots{flex-direction:column;justify-content:flex-end;gap:.2rem;min-height:2rem;display:flex}.pch-vz-stack__slot{border:1px solid color-mix(in srgb, var(--t,#8b949e) 52%, transparent);background:color-mix(in srgb, var(--t,#8b949e) 15%, transparent);border-radius:.35rem;justify-content:center;align-items:center;gap:.3rem;padding:.22rem .4rem;font-family:Source Code Pro,monospace;font-size:.74rem;display:flex}.pch-vz-stack__slot b{color:#eaf2fa;font-weight:700}.pch-vz-stack__slot i{color:var(--t,#8b949e);font-size:.6rem;font-style:normal}.pch-vz-stack__floor{color:#4d5765;letter-spacing:.08em;text-transform:uppercase;border-top:2px solid #ffffff24;margin-top:.35rem;padding-top:.3rem;font-family:Source Code Pro,monospace;font-size:.58rem;display:block}.pch-vz-heap,.pch-vz-heap__faces{flex-direction:column;gap:.9rem;display:flex}.pch-vz-heap__face{flex-direction:column;gap:.35rem;display:flex}.pch-vz-heap__svg{width:100%;height:auto;max-height:14rem;overflow:visible}.pch-vz-heap__idx{fill:#5c6672;font-family:Source Code Pro,monospace;font-size:.56rem}.pch-vz-heap__empty{color:#4d5765;margin:0;font-family:Source Code Pro,monospace;font-size:.76rem;font-style:italic}.pch-vz-iv{flex-direction:column;gap:.7rem;display:flex}.pch-vz-iv__svg{width:100%;height:auto;max-height:18rem;overflow:visible}.pch-vz-iv__bar rect{fill:color-mix(in srgb, var(--t,#8b949e) 32%, var(--pch-surface,#161b22));stroke:color-mix(in srgb, var(--t,#8b949e) 72%, transparent);stroke-width:1.5px;transition:fill .2s,stroke .2s}.pch-vz-iv__bar text{fill:#e7ecf2;font-family:Source Code Pro,monospace;font-size:.64rem;font-weight:700}.pch-vz-iv__bar.tone-muted text{fill:#7d8794}.pch-vz-iv__bar.is-result rect{stroke-width:2px}.pch-vz-iv__axis{stroke:#8b949e66;stroke-width:1.5px}.pch-vz-iv__tick{stroke:#8b949e80;stroke-width:1.5px}.pch-vz-iv__ticklabel{fill:#6b7683;font-family:Source Code Pro,monospace;font-size:.58rem}.pch-vz-iv__sweep{stroke:var(--pch-amber,#ffd343);stroke-width:2px;stroke-dasharray:4 3}.pch-vz-iv__band{fill:#6b7683;letter-spacing:.08em;text-transform:uppercase;font-family:Source Code Pro,monospace;font-size:.58rem;font-weight:700}.pch-vz-cx{flex-direction:column;gap:.8rem;display:flex}.pch-vz-cx__svg{width:100%;height:auto;max-height:18rem;overflow:visible}.pch-vz-cx__grid{stroke:#8b949e24;stroke-width:1px}.pch-vz-cx__axislabel{fill:#6b7683;font-family:Source Code Pro,monospace;font-size:.58rem}.pch-vz-cx__axislabel.is-here{fill:var(--pch-amber,#ffd343);font-weight:700}.pch-vz-cx__budget{stroke:var(--pch-amber,#ffd343);stroke-width:1.6px;stroke-dasharray:6 4;opacity:.85}.pch-vz-cx__budgetlabel{fill:var(--pch-amber,#ffd343);font-family:Source Code Pro,monospace;font-size:.58rem;font-weight:700}.pch-vz-cx__cursor{stroke:#ffffff29;stroke-width:1.5px}.pch-vz-cx__curve polyline{stroke:color-mix(in srgb, var(--t,#8b949e) 85%, transparent);stroke-width:2.2px;stroke-linejoin:round}.pch-vz-cx__curve circle{fill:color-mix(in srgb, var(--t,#8b949e) 90%, transparent)}.pch-vz-cx__curvelabel{fill:color-mix(in srgb, var(--t,#8b949e) 92%, transparent);paint-order:stroke;stroke:var(--pch-ink,#0d1117);stroke-width:3px;stroke-linejoin:round;font-family:Source Code Pro,monospace;font-size:.6rem;font-weight:700}.pch-vz-cx__tablewrap{overflow-x:auto}.pch-vz-cx__table{border-collapse:collapse;min-width:100%;font-family:Source Code Pro,monospace;font-size:.7rem}.pch-vz-cx__table th,.pch-vz-cx__table td{text-align:right;white-space:nowrap;border:1px solid #ffffff12;padding:.24rem .5rem}.pch-vz-cx__table thead th{color:#9fb0c3;font-weight:700}.pch-vz-cx__table tbody th{color:#eaf2fa;text-align:left}.pch-vz-cx__table td{color:var(--t,#8b949e);font-weight:700}.pch-vz .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.pch-vz-arr__cell,.pch-vz__codeline{transition:none}.pch-vz-arr__cell.tone-active,.pch-vz-arr__cell.tone-good,.pch-vz-arr__cell.tone-bad{transform:none}}@media (max-width:50rem){.pch-vz__code{max-height:11rem;font-size:.72rem}.pch-vz-arr__grid{grid-template-columns:repeat(var(--n,1), minmax(2rem, 2.8rem))}}@media (max-width:34rem){.pch-vz__transport{gap:.35rem;padding:.6rem .7rem}.pch-vz__play{min-width:4.4rem;font-size:.74rem}.pch-vz__scrub{flex-basis:100%;order:10}.pch-vz__stage{padding:1rem .7rem .8rem}.pch-vz__caption{padding:.7rem .8rem;font-size:.86rem}}
.pch-vz__tag--matrix{--tag:var(--pch-blue-bright,#6ba9dd)}.pch-vz__tag--vector{--tag:#56d364}.pch-vz__tag--field{--tag:var(--pch-fn,#c599ff)}.pch-vz__tag--dist{--tag:var(--pch-amber,#ffd343)}.pch-vz__tag--opt{--tag:#f0883e}.pch-vz__tag--fit{--tag:#e86e6e}.pch-vz__tag--matrix:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3H3v18h3M18 3h3v18h-3' fill='none' stroke='black' stroke-width='1.8'/%3E%3Crect x='8' y='7' width='3.2' height='3.2' rx='.6'/%3E%3Crect x='13' y='7' width='3.2' height='3.2' rx='.6'/%3E%3Crect x='8' y='13' width='3.2' height='3.2' rx='.6'/%3E%3Crect x='13' y='13' width='3.2' height='3.2' rx='.6'/%3E%3C/svg%3E")}.pch-vz__tag--vector:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20L18 6M4 20l10 1' fill='none' stroke='black' stroke-width='1.9'/%3E%3Cpath d='M18 6l-5 .4L17.6 11z'/%3E%3Cpath d='M14 21l-3.4-3.1L13.2 16z'/%3E%3C/svg%3E")}.pch-vz__tag--field:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='11' cy='13' rx='8' ry='5.5' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cellipse cx='11' cy='13' rx='4.4' ry='3' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M11 13l6-7' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M17 6l-3.6.5 2.6 2.2z'/%3E%3C/svg%3E")}.pch-vz__tag--dist:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 19h20' stroke='black' stroke-width='1.6' fill='none'/%3E%3Cpath d='M3 19c4 0 4.4-13 9-13s5 13 9 13' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")}.pch-vz__tag--opt:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4c0 9 3 14 9 14s9-5 9-14' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='6.5' cy='9' r='1.8'/%3E%3Ccircle cx='9.5' cy='14.5' r='1.8'/%3E%3Ccircle cx='12' cy='17.6' r='2.2'/%3E%3C/svg%3E")}.pch-vz__tag--fit:before{--tag-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 19L21 5' fill='none' stroke='black' stroke-width='1.9'/%3E%3Ccircle cx='6' cy='15' r='1.7'/%3E%3Ccircle cx='10' cy='14' r='1.7'/%3E%3Ccircle cx='13' cy='9' r='1.7'/%3E%3Ccircle cx='17.5' cy='9.5' r='1.7'/%3E%3C/svg%3E")}.pch-mz__matrix{font-variant-numeric:tabular-nums;gap:.22rem;padding:.35rem .7rem;font-family:Source Code Pro,monospace;font-size:.86rem;display:inline-grid;position:relative}.pch-mz__matrix:before,.pch-mz__matrix:after{content:"";border:1.6px solid var(--pch-line,#30363d);width:.38rem;position:absolute;top:0;bottom:0}.pch-mz__matrix:before{border-right:none;left:0}.pch-mz__matrix:after{border-left:none;right:0}.pch-mz__cell{text-align:right;min-width:2.9ch;color:var(--pch-text,#c9d1d9);background:0 0;border-radius:.24rem;padding:.16rem .34rem;transition:background-color .14s,color .14s}.pch-mz__cell--active{background:color-mix(in srgb, var(--pch-amber,#ffd343) 22%, transparent);color:var(--pch-amber,#ffd343)}.pch-mz__cell--good{color:#7ee787;background:#56d36433}.pch-mz__cell--bad{color:#ff9d9d;background:#e86e6e33}.pch-mz__cell--warn{color:#ffab70;background:#f0883e33}.pch-mz__cell--info{background:color-mix(in srgb, var(--pch-blue-bright,#6ba9dd) 18%, transparent);color:#9fd0f5}.pch-mz__cell--muted{color:var(--pch-dim,#828f9c)}.pch-mz__cell--pivot{outline:1.6px solid var(--pch-amber,#ffd343);outline-offset:1px}.pch-mz__op{color:var(--pch-dim,#828f9c);white-space:nowrap;font-family:Source Code Pro,monospace;font-size:.78rem}.pch-mz__row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;display:flex}.pch-mz__named{flex-direction:column;align-items:center;gap:.3rem;display:flex}.pch-mz__namedLabel{color:var(--pch-dim,#828f9c);white-space:nowrap;font-family:Source Code Pro,monospace;font-size:.72rem}.pch-mz__scalars{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.7rem;font-family:Source Code Pro,monospace;font-size:.78rem;display:flex}.pch-mz__scalar{border:1px solid var(--pch-line,#30363d);color:var(--pch-text,#c9d1d9);border-radius:.35rem;padding:.18rem .5rem}.pch-mz__scalar b{color:var(--pch-amber,#ffd343);font-weight:700}.pch-mz__axis{stroke:var(--pch-line,#30363d);stroke-width:1px}.pch-mz__gridline{stroke:color-mix(in srgb, var(--pch-line,#30363d) 60%, transparent);stroke-width:1px}.pch-mz__tick{fill:var(--pch-dim,#828f9c);font-family:Source Code Pro,monospace;font-size:9px}.pch-mz__label{fill:var(--pch-text,#c9d1d9);font-family:Source Code Pro,monospace;font-size:11px}@media (prefers-reduced-motion:reduce){.pch-mz__cell{transition:none}}
.pch-pl .tone-easy,.pch-pl .tone-medium,.pch-pl .tone-hard{--t:var(--sl-color-gray-3)}.pch-pl .tone-easy{--t:#2e9e4f}.pch-pl .tone-medium{--t:#b8860b}.pch-pl .tone-hard{--t:#c33d3d}:root[data-theme=dark] .pch-pl .tone-easy{--t:#56d364}:root[data-theme=dark] .pch-pl .tone-medium{--t:#e3b341}:root[data-theme=dark] .pch-pl .tone-hard{--t:#f85149}.pch-pl{border:1px solid var(--sl-color-gray-5);background:var(--sl-color-black);border-radius:.85rem;margin:1.5rem 0;overflow:hidden}.pch-pl__head{border-bottom:1px solid var(--sl-color-gray-5);background:var(--sl-color-gray-6);flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.pch-pl__meter{flex:12rem;align-items:center;gap:.7rem;min-width:0;display:flex}.pch-pl__bar{background:var(--sl-color-gray-5);border-radius:999px;flex:auto;min-width:4rem;height:.5rem;overflow:hidden}.pch-pl__fill{background:linear-gradient(90deg, var(--pch-blue,#4b8bbe), #56d364);border-radius:999px;height:100%;transition:width .3s;display:block}.pch-pl__count{color:var(--sl-color-gray-2);flex-shrink:0;font-family:Source Code Pro,monospace;font-size:.8rem}.pch-pl__count b{color:var(--sl-color-white)}.pch-pl__mix{flex-shrink:0;gap:.5rem;display:flex}.pch-pl__mix i{color:var(--t);font-family:Source Code Pro,monospace;font-size:.72rem;font-style:normal;font-weight:700}.pch-pl__caption{border-bottom:1px solid var(--sl-color-gray-5);color:var(--sl-color-gray-2);margin:0;padding:.7rem 1rem;font-size:.88rem}.pch-pl__filters{border-bottom:1px solid var(--sl-color-gray-5);flex-wrap:wrap;align-items:center;gap:.8rem;padding:.6rem 1rem;display:flex}.pch-pl__seg{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;display:inline-flex;overflow:hidden}.pch-pl__segbtn{color:var(--sl-color-gray-2);cursor:pointer;background:0 0;border:none;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.pch-pl__segbtn+.pch-pl__segbtn{border-left:1px solid var(--sl-color-gray-5)}.pch-pl__segbtn:hover{background:var(--sl-color-gray-6)}.pch-pl__segbtn.is-on{background:var(--sl-color-accent);color:var(--sl-color-white)}.pch-pl__check{color:var(--sl-color-gray-2);cursor:pointer;align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.pch-pl__io{gap:.5rem;margin-inline-start:auto;display:inline-flex}.pch-pl__linkbtn{color:var(--sl-color-accent-high);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;border-radius:.35rem;padding:.2rem .4rem;font-size:.76rem;font-weight:600;text-decoration:underline}.pch-pl__linkbtn:hover{background:var(--sl-color-gray-6)}.pch-pl__linkbtn.is-danger{color:#c33d3d}:root[data-theme=dark] .pch-pl__linkbtn.is-danger{color:#f85149}.pch-pl__linkbtn:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}.pch-pl__io-msg{border-bottom:1px solid var(--sl-color-gray-5);background:color-mix(in srgb, var(--sl-color-accent) 10%, transparent);color:var(--sl-color-gray-1);margin:0;padding:.5rem 1rem;font-size:.8rem}.pch-pl__empty,.pch-pl__missing{color:var(--sl-color-gray-3);margin:0;padding:1rem;font-size:.88rem}.pch-pl__missing{color:var(--sl-color-gray-1);background:#c33d3d14;border:1px dashed #c33d3d;border-radius:.6rem}.pch-pl__group+.pch-pl__group{border-top:1px solid var(--sl-color-gray-5)}.pch-pl__grouphead{background:var(--sl-color-gray-6);color:var(--sl-color-white);align-items:center;gap:.6rem;margin:0;padding:.55rem 1rem;font-size:.86rem;font-weight:700;display:flex}.pch-pl__toggle{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.4rem;padding:0;display:inline-flex}.pch-pl__chev{width:.8em;color:var(--sl-color-gray-3)}.pch-pl__groupcount{color:var(--sl-color-gray-3);margin-inline-start:auto;font-family:Source Code Pro,monospace;font-size:.74rem;font-weight:600}.pch-pl__list{margin:0;padding:0;list-style:none}.pch-pl__row{border-top:1px solid color-mix(in srgb, var(--sl-color-gray-5) 55%, transparent);grid-template-columns:1.9rem 2.6rem minmax(8rem,1fr) auto;align-items:center;gap:.5rem .6rem;padding:.4rem 1rem;display:grid}.pch-pl__row:first-child{border-top:none}.pch-pl__row.is-solved{background:#2e9e4f12}.pch-pl__row.is-review{background:#b8860b14}.pch-pl__status{border:1px solid var(--sl-color-gray-5);width:1.65rem;height:1.65rem;color:var(--sl-color-gray-3);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:.95rem;line-height:1;transition:color .15s,border-color .15s;display:grid}.pch-pl__status:hover{border-color:var(--sl-color-accent)}.pch-pl__status.is-attempted{color:#b8860b;border-color:#b8860b}.pch-pl__status.is-solved{color:#2e9e4f;border-color:#2e9e4f}.pch-pl__status.is-review{color:#c33d3d;border-color:#c33d3d}:root[data-theme=dark] .pch-pl__status.is-attempted{color:#e3b341;border-color:#e3b341}:root[data-theme=dark] .pch-pl__status.is-solved{color:#56d364;border-color:#56d364}:root[data-theme=dark] .pch-pl__status.is-review{color:#f85149;border-color:#f85149}.pch-pl__status:disabled{opacity:.4;cursor:progress}.pch-pl__lc{color:var(--sl-color-gray-3);text-align:end;font-family:Source Code Pro,monospace;font-size:.76rem}.pch-pl__title{color:var(--sl-color-white);font-size:.9rem;font-weight:600;text-decoration:none}.pch-pl__title:hover{color:var(--sl-color-accent-high);text-decoration:underline}.pch-pl__row.is-solved .pch-pl__title{color:var(--sl-color-gray-2)}.pch-pl__premium{color:#8a6508;text-transform:uppercase;background:#b8860b38;border-radius:.25rem;margin-inline-start:.4rem;padding:.05rem .3rem;font-family:Source Code Pro,monospace;font-size:.6rem;font-style:normal;font-weight:700}:root[data-theme=dark] .pch-pl__premium{color:#e3b341}.pch-pl__diff{border:1px solid color-mix(in srgb, var(--t) 40%, transparent);background:color-mix(in srgb, var(--t) 12%, transparent);color:var(--t);text-transform:uppercase;border-radius:.3rem;justify-self:end;padding:.1rem .4rem;font-family:Source Code Pro,monospace;font-size:.66rem;font-weight:700}.pch-pl__note{color:var(--sl-color-gray-3);grid-column:3/-1;font-size:.8rem}.pch-pl__tags{flex-wrap:wrap;grid-column:3/-1;gap:.25rem;display:flex}.pch-pl__sheet,.pch-pl__co{letter-spacing:.02em;border-radius:.25rem;padding:.05rem .32rem;font-family:Source Code Pro,monospace;font-size:.6rem;font-style:normal;font-weight:700}.pch-pl__sheet{background:color-mix(in srgb, var(--pch-blue,#4b8bbe) 16%, transparent);color:var(--sl-color-accent-high)}.pch-pl__co{background:var(--sl-color-gray-6);color:var(--sl-color-gray-2);text-transform:uppercase}.pch-sheet{margin:1.5rem 0}.pch-sheet__head{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.pch-sheet__name{margin:0;font-size:1.15rem}.pch-sheet__by{color:var(--sl-color-gray-3);margin:.2rem 0 0;font-size:.82rem}.pch-sheet__count{background:var(--sl-color-gray-6);color:var(--sl-color-gray-2);border-radius:.4rem;margin-inline-start:auto;padding:.2rem .55rem;font-family:Source Code Pro,monospace;font-size:.76rem;font-weight:700}.pch-sheet__blurb{margin:.6rem 0 0;font-size:.92rem}.pch-sheet__note,.pch-co__caveat{background:#b8860b17;border-inline-start:3px solid #b8860b;border-radius:0 .5rem .5rem 0;margin:.9rem 0 0;padding:.7rem .9rem;font-size:.86rem;line-height:1.55}.pch-co__blurb{font-size:1rem}.pch-co__rounds{gap:.5rem;display:grid}.pch-co__round{border:1px solid var(--sl-color-gray-5);background:var(--sl-color-black);border-radius:.55rem;grid-template-columns:minmax(8rem,auto) minmax(6rem,auto) 1fr;gap:.3rem .8rem;padding:.55rem .8rem;display:grid}.pch-co__roundname{color:var(--sl-color-white);font-size:.9rem;font-weight:700}.pch-co__roundmeta{color:var(--sl-color-accent-high);font-family:Source Code Pro,monospace;font-size:.76rem}.pch-co__roundfocus{color:var(--sl-color-gray-2);font-size:.86rem}.pch-co__bar{font-size:.94rem}.pch-co__patternnote{color:var(--sl-color-gray-2);font-size:.9rem}.pch-co__patterns{font-family:Source Code Pro,monospace;font-size:.84rem}.pch-co__quirks li{margin-bottom:.35rem;font-size:.92rem}@media (max-width:34rem){.pch-pl__row{grid-template-columns:1.7rem 2.2rem 1fr;row-gap:.3rem}.pch-pl__diff{grid-column:3;justify-self:start}.pch-pl__note,.pch-pl__tags{grid-column:2/-1}.pch-pl__io{margin-inline-start:0}.pch-co__round{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pch-pl__fill,.pch-pl__status{transition:none}}
.py-playground{gap:.75rem;margin-top:.75rem;display:grid}.py-playground[hidden],.py-playground__cm[hidden]{display:none}.py-playground__cm{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--sl-color-gray-5,#ccc) 60%, transparent);border-radius:.75rem;width:100%;min-height:11rem;display:block;position:relative;overflow:hidden}.py-playground__cm .monaco-editor,.py-playground__cm .monaco-editor-background,.py-playground__cm .monaco-editor .overflow-guard,.py-playground__cm .margin{border-radius:.75rem}.py-playground__cm *{margin-top:0!important}.py-playground__toolbar{align-items:center;gap:.4rem;display:inline-flex}.py-playground__title{justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.py-playground__toolbar--in-title{justify-content:flex-end;align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.py-playground__icon-btn{border:1px solid var(--pch-line,#8b949e38);background:color-mix(in srgb, var(--pch-surface,#161b22) 70%, transparent);width:28px;height:28px;color:var(--pch-blue-bright,#6ba9dd);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:transform .15s,border-color .15s,color .15s;display:inline-flex}.py-playground__icon-btn svg{fill:currentColor;width:16px;height:16px}.py-playground__icon-btn:hover{border-color:color-mix(in srgb, var(--pch-blue,#4b8bbe) 60%, transparent);color:var(--pch-amber,#ffd343);transform:translateY(-1px)}.py-playground__icon-btn:active{transform:translateY(.5px)}.py-playground__icon-btn--primary{background:linear-gradient(135deg, var(--pch-fn,#c599ff), color-mix(in srgb, var(--pch-fn,#c599ff) 65%, var(--pch-blue,#4b8bbe)));color:#14101f;border-color:#0000}.py-playground__btn{border:1px solid color-mix(in srgb, var(--sl-color-gray-5,#3a3a3a) 70%, transparent);background:color-mix(in srgb, var(--sl-color-gray-6,#1f2937) 88%, transparent);color:var(--sl-color-gray-1,#f9fafb);cursor:pointer;border-radius:.5rem;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.9rem;line-height:1.2;display:inline-flex;box-shadow:0 1px #00000026}.py-playground__btn svg{flex:none;width:18px;height:18px}.py-playground__btn span{display:inline-block}.py-playground__btn:hover{filter:brightness(1.05)}.py-playground__btn:active{transform:translateY(1px)}html[data-theme=light] .py-playground__btn{background:var(--sl-color-gray-7,#fff);color:var(--sl-color-gray-1,#111827)}.py-playground__btn--primary{background:linear-gradient(135deg, var(--pch-fn,#c599ff), color-mix(in srgb, var(--pch-fn,#c599ff) 65%, var(--pch-blue,#4b8bbe)));color:#14101f;border-color:#0000}.py-playground__status{display:none}.py-playground__editor{resize:vertical;border:1px solid color-mix(in srgb, var(--sl-color-gray-5,#ccc) 60%, transparent);background:var(--sl-color-gray-6,#0b1220);width:100%;min-height:11rem;color:var(--sl-color-gray-1,#f9fafb);border-radius:.75rem;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95rem;line-height:1.4;box-shadow:10px 24px 50px 17px #0000000f}html[data-theme=light] .py-playground__editor{background:var(--sl-color-gray-6,#f8fafc);color:var(--sl-color-gray-1,#0f172a)}.py-playground__editor--readonly{opacity:.85}.py-playground__output-wrap{border:1px solid color-mix(in srgb, var(--sl-color-gray-5,#ccc) 60%, transparent);border-radius:.75rem;overflow:hidden}.py-playground__output-label{background:var(--sl-color-gray-6,#0b1220);border-bottom:1px solid var(--sl-color-gray-5,#ccc);padding:.4rem .75rem;font-size:.85rem}html[data-theme=light] .py-playground__output-label{background:var(--sl-color-gray-6,#f1f5f9)}.py-playground__output{white-space:pre-wrap;word-break:break-word;background:var(--sl-color-gray-7,#0f172a);color:var(--sl-color-gray-1,#f1f5f9);margin:0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;line-height:1.35}html[data-theme=light] .py-playground__output{background:var(--sl-color-gray-7,#fff);color:var(--sl-color-gray-1,#0f172a)}
:root{--ef-backdrop:#000000b8;--ef-panel-bg:var(--sl-color-gray-7,#0d1117);--ef-header-bg:var(--sl-color-gray-6,#161b22);--ef-header-border:color-mix(in srgb, var(--sl-color-gray-5,#30363d) 70%, transparent);--ef-title-color:var(--sl-color-gray-1,#f0f6fc);--ef-btn-bg:var(--sl-color-gray-6,#21262d);--ef-btn-hover:var(--sl-color-gray-5,#30363d);--ef-btn-color:var(--sl-color-gray-1,#c9d1d9);--ef-radius:12px;--ef-header-h:52px;--ef-anim:.24s cubic-bezier(.4, 0, .2, 1)}html[data-theme=light]{--ef-backdrop:#0000008c;--ef-panel-bg:#fff;--ef-header-bg:#f6f8fa;--ef-header-border:#d0d7de;--ef-title-color:#1f2328;--ef-btn-bg:#f6f8fa;--ef-btn-hover:#eaeef2;--ef-btn-color:#24292f}.ef-overlay{z-index:99999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ef-overlay[hidden]{display:none!important}.ef-backdrop{background:var(--ef-backdrop);animation:ef-fade-in var(--ef-anim) forwards;position:absolute;inset:0}.ef-panel{z-index:1;background:var(--ef-panel-bg);border-radius:var(--ef-radius);width:min(96vw,1280px);height:min(88vh,900px);animation:ef-slide-up var(--ef-anim) forwards;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000008c}.ef-header{height:var(--ef-header-h);background:var(--ef-header-bg);border-bottom:1px solid var(--ef-header-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:0 1rem;display:flex}.ef-title{color:var(--ef-title-color);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:600;overflow:hidden;margin:0!important}.ef-close-btn{border:1px solid var(--ef-header-border);background:var(--ef-btn-bg);width:34px;height:34px;color:var(--ef-btn-color);cursor:pointer;transition:background var(--ef-anim), color var(--ef-anim);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ef-close-btn:hover{background:var(--ef-btn-hover);color:var(--ef-title-color)}.ef-close-btn svg{width:18px;height:18px}.ef-body{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.ef-body .py-playground{flex-direction:column;flex:1;gap:0;margin:0;padding:.75rem;display:flex;overflow:hidden}.ef-body .py-playground__cm{border-radius:.5rem;flex:1;min-height:0;height:100%!important}.ef-body .py-playground__output-wrap{flex-shrink:0;max-height:180px;overflow-y:auto}.ef-body .dcl-frame{border:none;border-radius:0;flex:1;width:100%;height:100%;min-height:0}.ef-body .datacamp-exercise-iframe{flex-direction:column;flex:1;height:100%;margin:0;display:flex}.ef-expand-btn{border:1px solid var(--ef-header-border,#7d7d7d4d);background:var(--ef-btn-bg,#ffffff0f);width:28px;height:28px;color:var(--ef-btn-color,inherit);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.ef-expand-btn:hover{background:var(--ef-btn-hover,#ffffff1f)}.ef-expand-btn svg{width:15px;height:15px}.datacamp-exercise-iframe{position:relative}.datacamp-exercise-iframe .ef-expand-btn{z-index:10;width:32px;height:32px;position:absolute;top:10px;right:14px}@keyframes ef-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ef-slide-up{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ef-body *{margin-top:0!important}@media (max-width:640px){.ef-panel{border-radius:0;width:100vw;height:100dvh}}.ef-panel{transition:box-shadow var(--ef-anim)}.ef-panel.ef-floating{margin:0;animation:none;position:fixed}.ef-panel.ef-grabbing,.ef-panel.ef-resizing{-webkit-user-select:none;user-select:none;transition:none}.ef-panel.ef-grabbing{box-shadow:0 40px 120px #000000a6}.ef-panel.ef-max{border-radius:var(--ef-radius);width:auto!important;height:auto!important;position:fixed!important;inset:1.5vh 1.5vw!important}.ef-panel.ef-min{resize:none;height:auto!important}.ef-panel.ef-min .ef-body,.ef-panel.ef-min .ef-grips{display:none}.ef-panel.ef-min .ef-controls{opacity:.35;pointer-events:none}.ef-header{height:var(--ef-header-h);background:var(--ef-header-bg);border-bottom:1px solid var(--ef-header-border);cursor:grab;touch-action:none;flex-shrink:0;align-items:center;gap:.75rem;padding:0 .9rem;display:flex}.ef-panel.ef-grabbing .ef-header{cursor:grabbing}.ef-panel.ef-min .ef-header{border-bottom:none}.ef-title{text-align:center;color:var(--ef-title-color);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;flex:1;font-size:.85rem;font-weight:600;overflow:hidden;margin:0!important}.ef-traffic{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.ef-dot{cursor:pointer;border:none;border-radius:50%;width:13px;height:13px;padding:0;transition:filter .12s;position:relative;box-shadow:inset 0 0 0 .5px #00000040}.ef-dot--close{background:#ff5f57}.ef-dot--min{background:#febc2e}.ef-dot--max{background:#28c840}.ef-dot:hover{filter:brightness(.92)}.ef-dot:active{filter:brightness(.8)}.ef-dot:focus-visible{outline:2px solid var(--ef-title-color);outline-offset:2px}.ef-dot:before{color:#0000008c;opacity:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;transition:opacity .12s;display:flex;position:absolute;inset:0}.ef-dot--close:before{content:"×";font-size:12px}.ef-dot--min:before{content:"–"}.ef-dot--max:before{content:"+"}.ef-traffic:hover .ef-dot:before,.ef-traffic:focus-within .ef-dot:before{opacity:1}.ef-controls{cursor:auto;flex-shrink:0;align-items:center;gap:.45rem;display:inline-flex}.ef-controls:empty{display:none}.ef-stage{flex:1;min-height:0;display:flex}.ef-stage>.pch-fs-stage{flex:1;height:auto;min-height:0}.ef-caption{border:1px solid color-mix(in srgb, var(--pch-fn,#c599ff) 24%, transparent);background:color-mix(in srgb, var(--pch-fn,#c599ff) 9%, transparent);color:#bcc5d0;border-radius:.7rem;flex-shrink:0;margin:.75rem;padding:.7rem .9rem .7rem 2.4rem;font-family:Atkinson Hyperlegible,sans-serif;font-size:.9rem;line-height:1.5;position:relative}.ef-caption:before{content:"";background:var(--pch-fn,#c599ff);width:.95rem;height:.95rem;position:absolute;top:.8rem;left:.85rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21h6v-1.5H9V21zm3-19a7 7 0 00-4.2 12.6c.5.4.8.9.9 1.4h6.6c.1-.5.4-1 .9-1.4A7 7 0 0012 2z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 21h6v-1.5H9V21zm3-19a7 7 0 00-4.2 12.6c.5.4.8.9.9 1.4h6.6c.1-.5.4-1 .9-1.4A7 7 0 0012 2z'/%3E%3C/svg%3E") 50%/contain no-repeat}html[data-theme=light] .ef-caption{color:#57606a}.ef-grips{pointer-events:none;position:absolute;inset:0}.ef-grip{pointer-events:auto;position:absolute}.ef-grip--e{cursor:ew-resize;width:7px;height:100%;top:0;right:0}.ef-grip--s{cursor:ns-resize;width:100%;height:7px;bottom:0;left:0}.ef-grip--se{cursor:nwse-resize;width:18px;height:18px;bottom:0;right:0}.ef-grip--se:after{content:"";background:linear-gradient(135deg, transparent 45%, var(--ef-header-border) 45%, var(--ef-header-border) 60%, transparent 60%), linear-gradient(135deg, transparent 70%, var(--ef-header-border) 70%, var(--ef-header-border) 85%, transparent 85%);width:9px;height:9px;position:absolute;bottom:3px;right:3px}@media (prefers-reduced-motion:reduce){.ef-panel,.ef-dot,.ef-dot:before{transition:none}}
.article__body figure[data-rehype-pretty-code-figure],.article__body div[data-rehype-pretty-code-fragment]{border:1px solid var(--line);box-shadow:none;border-radius:.85rem;margin-block:1.75rem;overflow:hidden}.code__bar,.article__body [data-rehype-pretty-code-title]{border-block-end:1px solid var(--line);background:var(--muted-surface);font-family:var(--font-mono);color:var(--muted);cursor:default;border-radius:0;align-items:center;gap:.6rem;margin:0;padding:.5rem .55rem .5rem .9rem;font-size:.78rem;font-weight:500;display:flex}.article__body [data-rehype-pretty-code-title]{color:var(--foreground);font-weight:600}.code__lang{letter-spacing:.01em}figure[data-lang=python] .code__lang:before,figure[data-lang=py] .code__lang:before{content:">>> ";color:var(--color-python-blue);font-weight:700}.code__copy{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.45rem;align-items:center;gap:.35rem;margin-inline-start:auto;padding:.25rem .55rem;font-size:.75rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.code__copy:hover{border-color:var(--line);background:var(--background);color:var(--foreground)}.code__copy[data-copied=true]{color:var(--color-token-string);border-color:color-mix(in srgb, var(--color-token-string) 45%, transparent)}.article__body pre{font-family:var(--font-code);tab-size:4;border-radius:0;margin:0;padding-block:.9rem;font-size:.875rem;line-height:1.65}.article__body pre>code{font-size:inherit;background:0 0;padding:0;display:grid}.article__body pre>code>[data-line]{border-inline-start:2px solid #0000;padding-inline:.9rem}.article__body pre>code>[data-line]:before{color:color-mix(in srgb, var(--color-token-comment) 75%, transparent);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;margin-inline-end:1.1rem}.article__body [data-highlighted-line],.article__body .line-highlight{border-inline-start-color:var(--color-python-blue);background:color-mix(in srgb, var(--color-python-blue) 12%, transparent)}.article__body [data-highlighted-chars]{background:color-mix(in srgb, var(--color-python-amber) 26%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-python-amber-deep) 35%, transparent);border-radius:.3rem;margin-inline:-.05em;padding:.1em .25em}.article__body [data-line].diff-add,.article__body [data-line].diff.add{border-inline-start-color:var(--color-token-string);background:color-mix(in srgb, var(--color-token-string) 14%, transparent)}.article__body [data-line].diff-remove,.article__body [data-line].diff.remove{border-inline-start-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 14%, transparent)}.article__body :not(pre)>code{border:1px solid var(--line);background:var(--muted-surface);font-family:var(--font-code);word-break:break-word;border-radius:.35rem;padding:.12em .36em;font-size:.875em}.article__body table{border:1px solid var(--line);border-collapse:separate;border-spacing:0;scrollbar-width:thin;border-radius:.85rem;max-width:100%;display:block;overflow-x:auto}.article__body th,.article__body td{border:0;border-block-end:1px solid var(--line)}.article__body thead th{background:var(--muted-surface);font-family:var(--font-display);white-space:nowrap}.article__body tbody tr:last-child td{border-block-end:0}.article__body :is(h2,h3,h4){position:relative}.article__body :is(h2,h3,h4)>a.heading-anchor:before{content:"#"}.article__body :is(h2,h3,h4)>a.heading-anchor{opacity:0;color:var(--color-python-blue);font-family:var(--font-mono);font-weight:600;text-decoration:none;transition:opacity .12s;position:absolute;inset-inline-start:-1.1rem}.article__body :is(h2,h3,h4):hover>a.heading-anchor,.article__body a.heading-anchor:focus-visible{opacity:1}.article__body :is(p,figure)>img{border:1px solid var(--line);background:#fff;border-radius:.85rem;max-width:100%;height:auto;margin-inline:auto;display:block}.article__body figure>figcaption{color:var(--muted);text-align:center;margin-block-start:.5rem;font-size:.875rem}.article__meta{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-block-start:1rem;font-size:.78rem;display:flex}.article__meta span{align-items:center;gap:.35rem;display:inline-flex}.article__body>h2{border-block-start:1px solid var(--line);padding-block-start:1.25rem}.article__body>h2:first-child{border-block-start:0;padding-block-start:0}.code__bar .py-playground__toolbar,[data-rehype-pretty-code-title] .py-playground__toolbar{gap:.3rem;margin-inline-start:auto}.code__bar .py-playground__toolbar>*,[data-rehype-pretty-code-title] .py-playground__toolbar>*{margin:0}.code__bar .py-playground__icon-btn,[data-rehype-pretty-code-title] .py-playground__icon-btn,.ef-panel .py-playground__icon-btn,.pch-fs-btn{border:1px solid var(--line);background:var(--background);width:1.75rem;height:1.75rem;color:var(--muted);border-radius:.45rem;transition:color .15s,border-color .15s,background .15s}.code__bar .py-playground__icon-btn:hover,[data-rehype-pretty-code-title] .py-playground__icon-btn:hover,.ef-panel .py-playground__icon-btn:hover,.pch-fs-btn:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--foreground);background:var(--muted-surface);transform:none}.code__bar .py-playground__icon-btn--primary,[data-rehype-pretty-code-title] .py-playground__icon-btn--primary,.ef-panel .py-playground__icon-btn--primary{background:var(--color-python-blue);color:var(--color-ink);border-color:#0000}.code__bar .py-playground__icon-btn--primary:hover,[data-rehype-pretty-code-title] .py-playground__icon-btn--primary:hover,.ef-panel .py-playground__icon-btn--primary:hover{background:var(--color-python-blue-bright);color:var(--color-ink)}.code__bar .py-playground__icon-btn svg,[data-rehype-pretty-code-title] .py-playground__icon-btn svg,.ef-panel .py-playground__icon-btn svg{width:14px;height:14px}.code__bar .py-playground__icon-btn--labelled,[data-rehype-pretty-code-title] .py-playground__icon-btn--labelled,.ef-panel .py-playground__icon-btn--labelled{width:auto;font-family:var(--font-mono);gap:.3rem;padding-inline:.5rem .65rem;font-size:.75rem;font-weight:600}figure[data-rehype-pretty-code-figure] .pch-fs-btn{opacity:1;box-shadow:none;margin-inline-start:.35rem;position:static}.py-playground__output-wrap{border:1px solid var(--line);border-inline-start:3px solid var(--line);border-radius:.6rem;margin-block-start:.6rem;overflow:hidden}.py-playground__output-label{border-block-end:1px solid var(--line);background:var(--muted-surface);font-family:var(--font-mono);color:var(--muted);align-items:center;gap:.6rem;padding:.4rem .55rem .4rem .75rem;font-size:.75rem;display:flex}.py-playground__clear{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;margin-inline-start:auto;padding:.15rem .5rem}.py-playground__clear:hover{border-color:var(--line);background:var(--background);color:var(--foreground)}.py-playground__output{color:var(--foreground);font-family:var(--font-code);white-space:pre-wrap;word-break:break-word;background:0 0;margin:0;padding:.7rem .75rem;font-size:.85rem;line-height:1.55}.py-playground__output-wrap[data-state=running]{border-inline-start-color:var(--color-python-blue)}.py-playground__output-wrap[data-state=done]{border-inline-start-color:var(--color-token-string)}.py-playground__output-wrap[data-state=error]{border-inline-start-color:var(--color-danger)}.py-playground__output-wrap[data-state=error] .py-playground__output{color:var(--color-danger)}.py-playground__state:before{content:"";vertical-align:.05em;background:currentColor;border-radius:999px;width:.45rem;height:.45rem;margin-inline-end:.45rem;display:inline-block}.py-playground__output-wrap[data-state=running] .py-playground__state{color:var(--color-python-blue)}.py-playground__output-wrap[data-state=done] .py-playground__state{color:var(--color-token-string)}.py-playground__output-wrap[data-state=error] .py-playground__state{color:var(--color-danger)}@keyframes pch-pulse{50%{opacity:.25}}.py-playground__output-wrap[data-state=running] .py-playground__state:before{animation:1s ease-in-out infinite pch-pulse}.py-playground__icon-btn[data-busy=true]{opacity:1;cursor:progress}.py-playground__icon-btn[data-busy=true] svg{animation:1s ease-in-out infinite pch-pulse}@media (prefers-reduced-motion:reduce){.py-playground__output-wrap[data-state=running] .py-playground__state:before,.py-playground__icon-btn[data-busy=true] svg{animation:none}}figure[data-long=true] pre{max-height:34rem;overflow:hidden;-webkit-mask-image:linear-gradient(#000 82%,#0000 100%);mask-image:linear-gradient(#000 82%,#0000 100%)}.code__more{border:0;border-block-start:1px solid var(--line);background:var(--muted-surface);width:100%;font-family:var(--font-mono);color:var(--muted);cursor:pointer;padding:.5rem;font-size:.75rem;display:block}.code__more:hover{color:var(--foreground);background:var(--background)}
.ex{border:1px solid var(--line);background:var(--card);border-radius:14px;margin:1.5rem 0;position:relative;overflow:hidden}.ex>.ex__bar{background:var(--pch-ink)}.ex__icon{color:#e7ecf2;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:.5rem;place-items:center;width:2rem;height:2rem;margin-inline-start:auto;display:inline-grid}.ex__icon:hover{background:#ffffff24}.ex__body{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}@media (max-width:48rem){.ex__body{grid-template-columns:1fr}}.ex__pane{flex-direction:column;min-width:0;display:flex}.ex__pane--out{border-inline-start:1px solid var(--line);background:var(--muted-surface)}@media (max-width:48rem){.ex__pane--out{border-inline-start:0;border-top:1px solid var(--line)}}.ex__label{font-family:var(--font-mono);color:var(--muted);padding:.5rem .9rem .3rem;font-size:.75rem;font-weight:600}.ex__editor{width:100%;color:var(--foreground);font-family:var(--font-code,var(--font-mono));tab-size:4;white-space:pre;resize:vertical;background:0 0;border:0;flex:1;padding:.35rem .9rem .9rem;font-size:.9rem;line-height:1.6;overflow:auto}.ex__editor:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ex__output{min-height:7rem;max-height:24rem;font-family:var(--font-code,var(--font-mono));white-space:pre;flex:1;margin:0;padding:.35rem .9rem .9rem;font-size:.85rem;line-height:1.55;overflow:auto}.ex__status{white-space:pre-wrap;color:var(--muted);font-style:italic}.ex__error{color:var(--color-danger);display:block}.ex__verdict{border-top:1px solid var(--line);margin:0;padding:.8rem 1rem;font-size:.95rem}.ex[data-state=passed] .ex__verdict{background:color-mix(in srgb, var(--color-token-string) 22%, var(--card))}.ex[data-state=failed] .ex__verdict{background:color-mix(in srgb, var(--color-danger) 10%, var(--card))}.ex__notice{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:.55rem 1rem;font-size:.85rem}.ex__hint,.ex__solution,.ex__expected{border-top:1px solid var(--line);margin:0;padding:.8rem 1rem;font-size:.92rem}.ex__hint{color:var(--muted)}.ex__hint:before{content:"Hint: ";color:var(--foreground);font-weight:700}.ex__solution pre,.ex__expected pre{background:var(--muted-surface);font-family:var(--font-code,var(--font-mono));white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.6rem;margin:.4rem 0 .6rem;padding:.7rem .9rem;font-size:.85rem}.ex__solution .ex__label{padding:0}.ex__expected summary{cursor:pointer;font-weight:600}.ex__controls{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.ex__aux,.ex__main{flex-wrap:wrap;gap:.5rem;display:flex}.ex__main .button{min-height:2.4rem;padding:.4rem 1rem}.ex__small{border:1px solid var(--line);color:var(--foreground);cursor:pointer;background:0 0;border-radius:.55rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600}.ex__small:hover:not(:disabled){border-color:color-mix(in srgb, var(--foreground) 35%, transparent)}.ex__small:disabled,.ex__main .button:disabled{opacity:.5;cursor:default}.ex[data-full=true]{z-index:60;flex-direction:column;margin:0;display:flex;position:fixed;inset:.75rem;box-shadow:0 30px 80px -20px #00000080}.ex[data-full=true] .ex__body{flex:1;min-height:0}.ex[data-full=true] .ex__output{max-height:none}
