pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-keyword,.hljs-operator,.hljs-pattern-match{color:#f92672}.hljs-function,.hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-function .hljs-params{color:#a6e22e}.hljs-function .hljs-params .hljs-typing{color:#fd971f}.hljs-module-access .hljs-module{color:#7e57c2}.hljs-constructor{color:#e2b93d}.hljs-constructor .hljs-string{color:#9ccc65}.hljs-comment,.hljs-quote{color:#b18eb1;font-style:italic}.hljs-doctag,.hljs-formula{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}

.katex {
	font:
		normal 1.21em KaTeX_Main,
		Times New Roman,
		serif;
	line-height: 1.2;
	text-indent: 0;
	text-rendering: auto;
}
.katex * {
	-ms-high-contrast-adjust: none !important;
	border-color: currentColor;
}
.katex .katex-version:after {
	content: "0.16.11";
}
.katex .katex-mathml {
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
	height: 1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.katex .katex-html > .newline {
	display: block;
}
.katex .base {
	position: relative;
	white-space: nowrap;
	width: -webkit-min-content;
	width: -moz-min-content;
	width: min-content;
}
.katex .base,
.katex .strut {
	display: inline-block;
}
.katex .textbf {
	font-weight: 700;
}
.katex .textit {
	font-style: italic;
}
.katex .textrm {
	font-family: KaTeX_Main;
}
.katex .textsf {
	font-family: KaTeX_SansSerif;
}
.katex .texttt {
	font-family: KaTeX_Typewriter;
}
.katex .mathnormal {
	font-family: KaTeX_Math;
	font-style: italic;
}
.katex .mathit {
	font-family: KaTeX_Main;
	font-style: italic;
}
.katex .mathrm {
	font-style: normal;
}
.katex .mathbf {
	font-family: KaTeX_Main;
	font-weight: 700;
}
.katex .boldsymbol {
	font-family: KaTeX_Math;
	font-style: italic;
	font-weight: 700;
}
.katex .amsrm,
.katex .mathbb,
.katex .textbb {
	font-family: KaTeX_AMS;
}
.katex .mathcal {
	font-family: KaTeX_Caligraphic;
}
.katex .mathfrak,
.katex .textfrak {
	font-family: KaTeX_Fraktur;
}
.katex .mathboldfrak,
.katex .textboldfrak {
	font-family: KaTeX_Fraktur;
	font-weight: 700;
}
.katex .mathtt {
	font-family: KaTeX_Typewriter;
}
.katex .mathscr,
.katex .textscr {
	font-family: KaTeX_Script;
}
.katex .mathsf,
.katex .textsf {
	font-family: KaTeX_SansSerif;
}
.katex .mathboldsf,
.katex .textboldsf {
	font-family: KaTeX_SansSerif;
	font-weight: 700;
}
.katex .mathitsf,
.katex .textitsf {
	font-family: KaTeX_SansSerif;
	font-style: italic;
}
.katex .mainrm {
	font-family: KaTeX_Main;
	font-style: normal;
}
.katex .vlist-t {
	border-collapse: collapse;
	display: inline-table;
	table-layout: fixed;
}
.katex .vlist-r {
	display: table-row;
}
.katex .vlist {
	display: table-cell;
	position: relative;
	vertical-align: bottom;
}
.katex .vlist > span {
	display: block;
	height: 0;
	position: relative;
}
.katex .vlist > span > span {
	display: inline-block;
}
.katex .vlist > span > .pstrut {
	overflow: hidden;
	width: 0;
}
.katex .vlist-t2 {
	margin-right: -2px;
}
.katex .vlist-s {
	display: table-cell;
	font-size: 1px;
	min-width: 2px;
	vertical-align: bottom;
	width: 2px;
}
.katex .vbox {
	align-items: baseline;
	display: inline-flex;
	flex-direction: column;
}
.katex .hbox {
	width: 100%;
}
.katex .hbox,
.katex .thinbox {
	display: inline-flex;
	flex-direction: row;
}
.katex .thinbox {
	max-width: 0;
	width: 0;
}
.katex .msupsub {
	text-align: left;
}
.katex .mfrac > span > span {
	text-align: center;
}
.katex .mfrac .frac-line {
	border-bottom-style: solid;
	display: inline-block;
	width: 100%;
}
.katex .hdashline,
.katex .hline,
.katex .mfrac .frac-line,
.katex .overline .overline-line,
.katex .rule,
.katex .underline .underline-line {
	min-height: 1px;
}
.katex .mspace {
	display: inline-block;
}
.katex .clap,
.katex .llap,
.katex .rlap {
	position: relative;
	width: 0;
}
.katex .clap > .inner,
.katex .llap > .inner,
.katex .rlap > .inner {
	position: absolute;
}
.katex .clap > .fix,
.katex .llap > .fix,
.katex .rlap > .fix {
	display: inline-block;
}
.katex .llap > .inner {
	right: 0;
}
.katex .clap > .inner,
.katex .rlap > .inner {
	left: 0;
}
.katex .clap > .inner > span {
	margin-left: -50%;
	margin-right: 50%;
}
.katex .rule {
	border: 0 solid;
	display: inline-block;
	position: relative;
}
.katex .hline,
.katex .overline .overline-line,
.katex .underline .underline-line {
	border-bottom-style: solid;
	display: inline-block;
	width: 100%;
}
.katex .hdashline {
	border-bottom-style: dashed;
	display: inline-block;
	width: 100%;
}
.katex .sqrt > .root {
	margin-left: 0.2777777778em;
	margin-right: -0.5555555556em;
}
.katex .fontsize-ensurer.reset-size1.size1,
.katex .sizing.reset-size1.size1 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size1.size2,
.katex .sizing.reset-size1.size2 {
	font-size: 1.2em;
}
.katex .fontsize-ensurer.reset-size1.size3,
.katex .sizing.reset-size1.size3 {
	font-size: 1.4em;
}
.katex .fontsize-ensurer.reset-size1.size4,
.katex .sizing.reset-size1.size4 {
	font-size: 1.6em;
}
.katex .fontsize-ensurer.reset-size1.size5,
.katex .sizing.reset-size1.size5 {
	font-size: 1.8em;
}
.katex .fontsize-ensurer.reset-size1.size6,
.katex .sizing.reset-size1.size6 {
	font-size: 2em;
}
.katex .fontsize-ensurer.reset-size1.size7,
.katex .sizing.reset-size1.size7 {
	font-size: 2.4em;
}
.katex .fontsize-ensurer.reset-size1.size8,
.katex .sizing.reset-size1.size8 {
	font-size: 2.88em;
}
.katex .fontsize-ensurer.reset-size1.size9,
.katex .sizing.reset-size1.size9 {
	font-size: 3.456em;
}
.katex .fontsize-ensurer.reset-size1.size10,
.katex .sizing.reset-size1.size10 {
	font-size: 4.148em;
}
.katex .fontsize-ensurer.reset-size1.size11,
.katex .sizing.reset-size1.size11 {
	font-size: 4.976em;
}
.katex .fontsize-ensurer.reset-size2.size1,
.katex .sizing.reset-size2.size1 {
	font-size: 0.8333333333em;
}
.katex .fontsize-ensurer.reset-size2.size2,
.katex .sizing.reset-size2.size2 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size2.size3,
.katex .sizing.reset-size2.size3 {
	font-size: 1.1666666667em;
}
.katex .fontsize-ensurer.reset-size2.size4,
.katex .sizing.reset-size2.size4 {
	font-size: 1.3333333333em;
}
.katex .fontsize-ensurer.reset-size2.size5,
.katex .sizing.reset-size2.size5 {
	font-size: 1.5em;
}
.katex .fontsize-ensurer.reset-size2.size6,
.katex .sizing.reset-size2.size6 {
	font-size: 1.6666666667em;
}
.katex .fontsize-ensurer.reset-size2.size7,
.katex .sizing.reset-size2.size7 {
	font-size: 2em;
}
.katex .fontsize-ensurer.reset-size2.size8,
.katex .sizing.reset-size2.size8 {
	font-size: 2.4em;
}
.katex .fontsize-ensurer.reset-size2.size9,
.katex .sizing.reset-size2.size9 {
	font-size: 2.88em;
}
.katex .fontsize-ensurer.reset-size2.size10,
.katex .sizing.reset-size2.size10 {
	font-size: 3.4566666667em;
}
.katex .fontsize-ensurer.reset-size2.size11,
.katex .sizing.reset-size2.size11 {
	font-size: 4.1466666667em;
}
.katex .fontsize-ensurer.reset-size3.size1,
.katex .sizing.reset-size3.size1 {
	font-size: 0.7142857143em;
}
.katex .fontsize-ensurer.reset-size3.size2,
.katex .sizing.reset-size3.size2 {
	font-size: 0.8571428571em;
}
.katex .fontsize-ensurer.reset-size3.size3,
.katex .sizing.reset-size3.size3 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size3.size4,
.katex .sizing.reset-size3.size4 {
	font-size: 1.1428571429em;
}
.katex .fontsize-ensurer.reset-size3.size5,
.katex .sizing.reset-size3.size5 {
	font-size: 1.2857142857em;
}
.katex .fontsize-ensurer.reset-size3.size6,
.katex .sizing.reset-size3.size6 {
	font-size: 1.4285714286em;
}
.katex .fontsize-ensurer.reset-size3.size7,
.katex .sizing.reset-size3.size7 {
	font-size: 1.7142857143em;
}
.katex .fontsize-ensurer.reset-size3.size8,
.katex .sizing.reset-size3.size8 {
	font-size: 2.0571428571em;
}
.katex .fontsize-ensurer.reset-size3.size9,
.katex .sizing.reset-size3.size9 {
	font-size: 2.4685714286em;
}
.katex .fontsize-ensurer.reset-size3.size10,
.katex .sizing.reset-size3.size10 {
	font-size: 2.9628571429em;
}
.katex .fontsize-ensurer.reset-size3.size11,
.katex .sizing.reset-size3.size11 {
	font-size: 3.5542857143em;
}
.katex .fontsize-ensurer.reset-size4.size1,
.katex .sizing.reset-size4.size1 {
	font-size: 0.625em;
}
.katex .fontsize-ensurer.reset-size4.size2,
.katex .sizing.reset-size4.size2 {
	font-size: 0.75em;
}
.katex .fontsize-ensurer.reset-size4.size3,
.katex .sizing.reset-size4.size3 {
	font-size: 0.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: 0.5555555556em;
}
.katex .fontsize-ensurer.reset-size5.size2,
.katex .sizing.reset-size5.size2 {
	font-size: 0.6666666667em;
}
.katex .fontsize-ensurer.reset-size5.size3,
.katex .sizing.reset-size5.size3 {
	font-size: 0.7777777778em;
}
.katex .fontsize-ensurer.reset-size5.size4,
.katex .sizing.reset-size5.size4 {
	font-size: 0.8888888889em;
}
.katex .fontsize-ensurer.reset-size5.size5,
.katex .sizing.reset-size5.size5 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size5.size6,
.katex .sizing.reset-size5.size6 {
	font-size: 1.1111111111em;
}
.katex .fontsize-ensurer.reset-size5.size7,
.katex .sizing.reset-size5.size7 {
	font-size: 1.3333333333em;
}
.katex .fontsize-ensurer.reset-size5.size8,
.katex .sizing.reset-size5.size8 {
	font-size: 1.6em;
}
.katex .fontsize-ensurer.reset-size5.size9,
.katex .sizing.reset-size5.size9 {
	font-size: 1.92em;
}
.katex .fontsize-ensurer.reset-size5.size10,
.katex .sizing.reset-size5.size10 {
	font-size: 2.3044444444em;
}
.katex .fontsize-ensurer.reset-size5.size11,
.katex .sizing.reset-size5.size11 {
	font-size: 2.7644444444em;
}
.katex .fontsize-ensurer.reset-size6.size1,
.katex .sizing.reset-size6.size1 {
	font-size: 0.5em;
}
.katex .fontsize-ensurer.reset-size6.size2,
.katex .sizing.reset-size6.size2 {
	font-size: 0.6em;
}
.katex .fontsize-ensurer.reset-size6.size3,
.katex .sizing.reset-size6.size3 {
	font-size: 0.7em;
}
.katex .fontsize-ensurer.reset-size6.size4,
.katex .sizing.reset-size6.size4 {
	font-size: 0.8em;
}
.katex .fontsize-ensurer.reset-size6.size5,
.katex .sizing.reset-size6.size5 {
	font-size: 0.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: 0.4166666667em;
}
.katex .fontsize-ensurer.reset-size7.size2,
.katex .sizing.reset-size7.size2 {
	font-size: 0.5em;
}
.katex .fontsize-ensurer.reset-size7.size3,
.katex .sizing.reset-size7.size3 {
	font-size: 0.5833333333em;
}
.katex .fontsize-ensurer.reset-size7.size4,
.katex .sizing.reset-size7.size4 {
	font-size: 0.6666666667em;
}
.katex .fontsize-ensurer.reset-size7.size5,
.katex .sizing.reset-size7.size5 {
	font-size: 0.75em;
}
.katex .fontsize-ensurer.reset-size7.size6,
.katex .sizing.reset-size7.size6 {
	font-size: 0.8333333333em;
}
.katex .fontsize-ensurer.reset-size7.size7,
.katex .sizing.reset-size7.size7 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size7.size8,
.katex .sizing.reset-size7.size8 {
	font-size: 1.2em;
}
.katex .fontsize-ensurer.reset-size7.size9,
.katex .sizing.reset-size7.size9 {
	font-size: 1.44em;
}
.katex .fontsize-ensurer.reset-size7.size10,
.katex .sizing.reset-size7.size10 {
	font-size: 1.7283333333em;
}
.katex .fontsize-ensurer.reset-size7.size11,
.katex .sizing.reset-size7.size11 {
	font-size: 2.0733333333em;
}
.katex .fontsize-ensurer.reset-size8.size1,
.katex .sizing.reset-size8.size1 {
	font-size: 0.3472222222em;
}
.katex .fontsize-ensurer.reset-size8.size2,
.katex .sizing.reset-size8.size2 {
	font-size: 0.4166666667em;
}
.katex .fontsize-ensurer.reset-size8.size3,
.katex .sizing.reset-size8.size3 {
	font-size: 0.4861111111em;
}
.katex .fontsize-ensurer.reset-size8.size4,
.katex .sizing.reset-size8.size4 {
	font-size: 0.5555555556em;
}
.katex .fontsize-ensurer.reset-size8.size5,
.katex .sizing.reset-size8.size5 {
	font-size: 0.625em;
}
.katex .fontsize-ensurer.reset-size8.size6,
.katex .sizing.reset-size8.size6 {
	font-size: 0.6944444444em;
}
.katex .fontsize-ensurer.reset-size8.size7,
.katex .sizing.reset-size8.size7 {
	font-size: 0.8333333333em;
}
.katex .fontsize-ensurer.reset-size8.size8,
.katex .sizing.reset-size8.size8 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size8.size9,
.katex .sizing.reset-size8.size9 {
	font-size: 1.2em;
}
.katex .fontsize-ensurer.reset-size8.size10,
.katex .sizing.reset-size8.size10 {
	font-size: 1.4402777778em;
}
.katex .fontsize-ensurer.reset-size8.size11,
.katex .sizing.reset-size8.size11 {
	font-size: 1.7277777778em;
}
.katex .fontsize-ensurer.reset-size9.size1,
.katex .sizing.reset-size9.size1 {
	font-size: 0.2893518519em;
}
.katex .fontsize-ensurer.reset-size9.size2,
.katex .sizing.reset-size9.size2 {
	font-size: 0.3472222222em;
}
.katex .fontsize-ensurer.reset-size9.size3,
.katex .sizing.reset-size9.size3 {
	font-size: 0.4050925926em;
}
.katex .fontsize-ensurer.reset-size9.size4,
.katex .sizing.reset-size9.size4 {
	font-size: 0.462962963em;
}
.katex .fontsize-ensurer.reset-size9.size5,
.katex .sizing.reset-size9.size5 {
	font-size: 0.5208333333em;
}
.katex .fontsize-ensurer.reset-size9.size6,
.katex .sizing.reset-size9.size6 {
	font-size: 0.5787037037em;
}
.katex .fontsize-ensurer.reset-size9.size7,
.katex .sizing.reset-size9.size7 {
	font-size: 0.6944444444em;
}
.katex .fontsize-ensurer.reset-size9.size8,
.katex .sizing.reset-size9.size8 {
	font-size: 0.8333333333em;
}
.katex .fontsize-ensurer.reset-size9.size9,
.katex .sizing.reset-size9.size9 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size9.size10,
.katex .sizing.reset-size9.size10 {
	font-size: 1.2002314815em;
}
.katex .fontsize-ensurer.reset-size9.size11,
.katex .sizing.reset-size9.size11 {
	font-size: 1.4398148148em;
}
.katex .fontsize-ensurer.reset-size10.size1,
.katex .sizing.reset-size10.size1 {
	font-size: 0.2410800386em;
}
.katex .fontsize-ensurer.reset-size10.size2,
.katex .sizing.reset-size10.size2 {
	font-size: 0.2892960463em;
}
.katex .fontsize-ensurer.reset-size10.size3,
.katex .sizing.reset-size10.size3 {
	font-size: 0.337512054em;
}
.katex .fontsize-ensurer.reset-size10.size4,
.katex .sizing.reset-size10.size4 {
	font-size: 0.3857280617em;
}
.katex .fontsize-ensurer.reset-size10.size5,
.katex .sizing.reset-size10.size5 {
	font-size: 0.4339440694em;
}
.katex .fontsize-ensurer.reset-size10.size6,
.katex .sizing.reset-size10.size6 {
	font-size: 0.4821600771em;
}
.katex .fontsize-ensurer.reset-size10.size7,
.katex .sizing.reset-size10.size7 {
	font-size: 0.5785920926em;
}
.katex .fontsize-ensurer.reset-size10.size8,
.katex .sizing.reset-size10.size8 {
	font-size: 0.6943105111em;
}
.katex .fontsize-ensurer.reset-size10.size9,
.katex .sizing.reset-size10.size9 {
	font-size: 0.8331726133em;
}
.katex .fontsize-ensurer.reset-size10.size10,
.katex .sizing.reset-size10.size10 {
	font-size: 1em;
}
.katex .fontsize-ensurer.reset-size10.size11,
.katex .sizing.reset-size10.size11 {
	font-size: 1.1996142719em;
}
.katex .fontsize-ensurer.reset-size11.size1,
.katex .sizing.reset-size11.size1 {
	font-size: 0.2009646302em;
}
.katex .fontsize-ensurer.reset-size11.size2,
.katex .sizing.reset-size11.size2 {
	font-size: 0.2411575563em;
}
.katex .fontsize-ensurer.reset-size11.size3,
.katex .sizing.reset-size11.size3 {
	font-size: 0.2813504823em;
}
.katex .fontsize-ensurer.reset-size11.size4,
.katex .sizing.reset-size11.size4 {
	font-size: 0.3215434084em;
}
.katex .fontsize-ensurer.reset-size11.size5,
.katex .sizing.reset-size11.size5 {
	font-size: 0.3617363344em;
}
.katex .fontsize-ensurer.reset-size11.size6,
.katex .sizing.reset-size11.size6 {
	font-size: 0.4019292605em;
}
.katex .fontsize-ensurer.reset-size11.size7,
.katex .sizing.reset-size11.size7 {
	font-size: 0.4823151125em;
}
.katex .fontsize-ensurer.reset-size11.size8,
.katex .sizing.reset-size11.size8 {
	font-size: 0.578778135em;
}
.katex .fontsize-ensurer.reset-size11.size9,
.katex .sizing.reset-size11.size9 {
	font-size: 0.6945337621em;
}
.katex .fontsize-ensurer.reset-size11.size10,
.katex .sizing.reset-size11.size10 {
	font-size: 0.8336012862em;
}
.katex .fontsize-ensurer.reset-size11.size11,
.katex .sizing.reset-size11.size11 {
	font-size: 1em;
}
.katex .delimsizing.size1 {
	font-family: KaTeX_Size1;
}
.katex .delimsizing.size2 {
	font-family: KaTeX_Size2;
}
.katex .delimsizing.size3 {
	font-family: KaTeX_Size3;
}
.katex .delimsizing.size4 {
	font-family: KaTeX_Size4;
}
.katex .delimsizing.mult .delim-size1 > span {
	font-family: KaTeX_Size1;
}
.katex .delimsizing.mult .delim-size4 > span {
	font-family: KaTeX_Size4;
}
.katex .nulldelimiter {
	display: inline-block;
	width: 0.12em;
}
.katex .delimcenter,
.katex .op-symbol {
	position: relative;
}
.katex .op-symbol.small-op {
	font-family: KaTeX_Size1;
}
.katex .op-symbol.large-op {
	font-family: KaTeX_Size2;
}
.katex .accent > .vlist-t,
.katex .op-limits > .vlist-t {
	text-align: center;
}
.katex .accent .accent-body {
	position: relative;
}
.katex .accent .accent-body:not(.accent-full) {
	width: 0;
}
.katex .overlay {
	display: block;
}
.katex .mtable .vertical-separator {
	display: inline-block;
	min-width: 1px;
}
.katex .mtable .arraycolsep {
	display: inline-block;
}
.katex .mtable .col-align-c > .vlist-t {
	text-align: center;
}
.katex .mtable .col-align-l > .vlist-t {
	text-align: left;
}
.katex .mtable .col-align-r > .vlist-t {
	text-align: right;
}
.katex .svg-align {
	text-align: left;
}
.katex svg {
	fill: currentColor;
	stroke: currentColor;
	fill-rule: nonzero;
	fill-opacity: 1;
	stroke-width: 1;
	stroke-linecap: butt;
	stroke-linejoin: miter;
	stroke-miterlimit: 4;
	stroke-dasharray: none;
	stroke-dashoffset: 0;
	stroke-opacity: 1;
	display: block;
	height: inherit;
	position: absolute;
	width: 100%;
}
.katex svg path {
	stroke: none;
}
.katex img {
	border-style: none;
	max-height: none;
	max-width: none;
	min-height: 0;
	min-width: 0;
}
.katex .stretchy {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}
.katex .stretchy:after,
.katex .stretchy:before {
	content: "";
}
.katex .hide-tail {
	overflow: hidden;
	position: relative;
	width: 100%;
}
.katex .halfarrow-left {
	left: 0;
	overflow: hidden;
	position: absolute;
	width: 50.2%;
}
.katex .halfarrow-right {
	overflow: hidden;
	position: absolute;
	right: 0;
	width: 50.2%;
}
.katex .brace-left {
	left: 0;
	overflow: hidden;
	position: absolute;
	width: 25.1%;
}
.katex .brace-center {
	left: 25%;
	overflow: hidden;
	position: absolute;
	width: 50%;
}
.katex .brace-right {
	overflow: hidden;
	position: absolute;
	right: 0;
	width: 25.1%;
}
.katex .x-arrow-pad {
	padding: 0 0.5em;
}
.katex .cd-arrow-pad {
	padding: 0 0.55556em 0 0.27778em;
}
.katex .mover,
.katex .munder,
.katex .x-arrow {
	text-align: center;
}
.katex .boxpad {
	padding: 0 0.3em;
}
.katex .fbox,
.katex .fcolorbox {
	border: 0.04em solid;
	box-sizing: border-box;
}
.katex .cancel-pad {
	padding: 0 0.2em;
}
.katex .cancel-lap {
	margin-left: -0.2em;
	margin-right: -0.2em;
}
.katex .sout {
	border-bottom-style: solid;
	border-bottom-width: 0.08em;
}
.katex .angl {
	border-right: 0.049em solid;
	border-top: 0.049em solid;
	box-sizing: border-box;
	margin-right: 0.03889em;
}
.katex .anglpad {
	padding: 0 0.03889em;
}
.katex .eqn-num:before {
	content: "(" counter(katexEqnNo) ")";
	counter-increment: katexEqnNo;
}
.katex .mml-eqn-num:before {
	content: "(" counter(mmlEqnNo) ")";
	counter-increment: mmlEqnNo;
}
.katex .mtr-glue {
	width: 50%;
}
.katex .cd-vert-arrow {
	display: inline-block;
	position: relative;
}
.katex .cd-label-left {
	display: inline-block;
	position: absolute;
	right: calc(50% + 0.3em);
	text-align: left;
}
.katex .cd-label-right {
	display: inline-block;
	left: calc(50% + 0.3em);
	position: absolute;
	text-align: right;
}
.katex-display {
	display: block;
	margin: 1em 0;
	text-align: center;
}
.katex-display > .katex {
	display: block;
	text-align: center;
	white-space: nowrap;
}
.katex-display > .katex > .katex-html {
	display: block;
	position: relative;
}
.katex-display > .katex > .katex-html > .tag {
	position: absolute;
	right: 0;
}
.katex-display.leqno > .katex > .katex-html > .tag {
	left: 0;
	right: auto;
}
.katex-display.fleqn > .katex {
	padding-left: 2em;
	text-align: left;
}
body {
	counter-reset: katexEqnNo mmlEqnNo;
}

:root {
    --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
    --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --text-color: oklch(0.145 0 0);
    --dimmed-text-color: #777;
    --background-color: #fff;
    --link-color: #0066cc;
    --link-hover-color: #0056b3;
    --border-color: #aaa;
}

[data-theme="dark"] {
    --text-color: #ddd;
    --dimmed-text-color: #aaa;
    --background-color: #0e0e11;
    --link-color: #65a0ff;
    --border-color: #454545;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 18px;
    -webkit-font-smoothing: antialiased;
}

body {
    color: var(--text-color);
    font-family: var(--font-serif);
    background-color: var(--background-color);
    line-height: 1.5;
}

h1 {
    font-size: 1.875rem; /* 30px */
    line-height: 2.25rem; /* 36px */
}

h2 {
    font-size: 1.5rem; /* 24px */
    line-height: 2rem; /* 32px */
}

h3 {
    font-size: 1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
}

h4 {
    font-size: 1.125rem; /* 18px */
    line-height: 1.75rem; /* 28px */
}

h1, h2, h3, h4 {
    font-family: var(--font-sans);
    font-weight: 800;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

p {
    margin-bottom: 1.5rem;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
}

a {
    color: var(--text-color);
    text-decoration: none;
}

ul {
    list-style-type: disc;
    padding-left: 1.5rem;
}

ol {
    list-style-type: decimal;
    padding-left: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
}

li > p {
    margin-bottom: 1rem;
}

.icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon > svg {
    width: 100%;
    height: 100%;
}

.post-list > a > div > :last-child{
    color: var(--link-color);
}

.media-links a {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: var(--border-color);
}

article {
    display: flex;
    flex-direction: column;
}

article a {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: var(--border-color);
}

article img {
    width: 100%;
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid var(--border-color);
}

article > figure {
    margin-bottom: 1.5rem;
}

article > figure > img {
    margin-bottom: 0rem;
}

article > figure > figcaption {
    font-size: 0.75rem; /* 12px */
    line-height: 1rem; /* 16px */
    text-align: center;
}

article canvas {
    border-radius: 0.5rem;
    border: 1px solid var(--border-color);
}

article color-band > canvas {
    border-radius: 0;
    border: none;
}

article blockquote {
    border-left: 4px solid var(--border-color);
    padding-left: 1rem;
    margin-bottom: 1rem;
    font-style: italic;
}

article blockquote > p {
    margin-bottom: 0;
}

article h1, article h2, article h3, article h4 {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

article pre {
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
}

article code {
    border: 1px solid var(--border-color);
    border-radius: 0.25rem;
    padding: 0 0.25em;
    font-style: italic;
    font-size: 14px;
    line-height: 1.2rem;
}

article pre code {
    font-style: normal;
    border-radius: 0.5rem;
}

article video {
    max-width: 100%;
    max-height: 70vh;
    width: auto;
    height: auto;
    border-radius: 0.5rem;
    margin-bottom: 1.5rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

article p > video {
    margin-bottom: -0.4rem;
}

.katex-display {
    margin-top: 0;
}

.toc-header {
    margin-bottom: 0.5rem;
    font-size: 1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
}

.toc {
    margin-bottom: 1.5rem;
    padding: 0;
    padding-left: 1.5rem;
    font-family: var(--font-sans);
}

.toc ul {
    list-style-type: none;
    padding-inline-start: 0;
    line-height: 1.5;
    margin: 0;
}

.toc ul li {
    margin-top: 0;
}

.toc > ul > li {
    margin: 0;
    font-weight: 500;
    margin-bottom: 0.375rem;
}

.toc > ul > li:last-child {
    margin-bottom: 0;
}

.toc > ul > li > a {
    color: var(--text-color);
    text-decoration: none;
    transition: color 0.2s ease;
    display: inline-block;
    padding: 0.125rem 0;
    border-bottom-width: 0px;
}

.toc > ul > li > a:hover {
    color: var(--link-color);
}

.toc ul li > ul {
    margin-top: 0;
    padding-left: 1.25rem;
    font-size: 0.95em;
    line-height: 1.3;
}

.toc ul li > ul li {
    font-weight: normal;
    margin-bottom: 0.375rem;
}

.toc ul li > ul li:last-child {
    margin-bottom: 0;
}

.toc ul li > ul a {
    color: var(--dimmed-text-color);
    text-decoration: none;
    transition: color 0.2s ease;
    padding: 0.125rem 0;
    display: inline-block;
    border-bottom-width: 0px;
}

.toc ul li > ul a:hover {
    color: var(--link-color);
}
/* Flex */
.flex {
  display: flex;
}
.flex-col {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-8 {
  gap: 1.5rem;
}

.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}

.inline-flex {
  display: inline-flex;
}

/* Dimensions */
.w-full {
  width: 100%;
}

.w-4 {
  width: 1rem;
}

.w-6 {
  width: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.w-12 {
  width: 3rem;
}

.w-16 {
  width: 4rem;
}

.h-full {
  height: 100%;
}

.h-4 {
  height: 1rem;
}

.h-6 {
  height: 1.5rem;
}

.h-8 {
  height: 2rem;
}

.h-12 {
  height: 3rem;
}

.h-16 {
  height: 4rem;
}

/* Margins */
.m-0 {
  margin: 0;
}
.m-1 {
  margin: 0.25rem;
}
.m-2 {
  margin: 0.5rem;
}
.m-3 {
  margin: 0.75rem;
}
.m-4 {
  margin: 1rem;
}
.m-5 {
  margin: 1.25rem;
}
.m-6 {
  margin: 1.5rem;
}
.m-8 {
  margin: 2rem;
}
.m-10 {
  margin: 2.5rem;
}
.m-12 {
  margin: 3rem;
}
.m-16 {
  margin: 4rem;
}

.mt-0 {
  margin-top: 0;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}

.ml-0 {
  margin-left: 0;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-4 {
  margin-left: 1rem;
}
.ml-5 {
  margin-left: 1.25rem;
}
.ml-6 {
  margin-left: 1.5rem;
}
.ml-8 {
  margin-left: 2rem;
}
.ml-10 {
  margin-left: 2.5rem;
}
.ml-12 {
  margin-left: 3rem;
}
.ml-16 {
  margin-left: 4rem;
}

.mb-0 {
  margin-bottom: 0;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-16 {
  margin-bottom: 4rem;
}

.mr-0 {
  margin-right: 0;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mr-5 {
  margin-right: 1.25rem;
}
.mr-6 {
  margin-right: 1.5rem;
}
.mr-8 {
  margin-right: 2rem;
}
.mr-10 {
  margin-right: 2.5rem;
}
.mr-12 {
  margin-right: 3rem;
}
.mr-16 {
  margin-right: 4rem;
}

.ml-auto {
  margin-left: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

/* Padding */
.p-0 {
  padding: 0;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-10 {
  padding: 2.5rem;
}
.p-12 {
  padding: 3rem;
}
.p-16 {
  padding: 4rem;
}

.pt-0 {
  padding-top: 0;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-16 {
  padding-top: 4rem;
}

.pl-0 {
  padding-left: 0;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-16 {
  padding-left: 4rem;
}

.pb-0 {
  padding-bottom: 0;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}

.pr-0 {
  padding-right: 0;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-16 {
  padding-right: 4rem;
}

.px-0 {
    padding-right: 0;
    padding-left: 0;
}

.px-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
}

.px-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

.px-3 {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

.px-4 {
    padding-right: 1rem;
    padding-left: 1rem;
}

.px-8 {
    padding-right: 2rem;
    padding-left: 2rem;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* Text Size */
.text-xs {
  font-size: 0.75rem; /* 12px */
  line-height: 1rem; /* 16px */
}

.text-sm {
  font-size: 0.875rem; /* 14px */
  line-height: 1.25rem; /* 20px */
}

.text-base {
  font-size: 1rem; /* 16px */
  line-height: 1.5rem; /* 24px */
}

.text-lg {
  font-size: 1.125rem; /* 18px */
  line-height: 1.75rem; /* 28px */
}

.text-xl {
  font-size: 1.25rem; /* 20px */
  line-height: 1.75rem; /* 28px */
}

.text-2xl {
  font-size: 1.5rem; /* 24px */
  line-height: 2rem; /* 32px */
}

.text-3xl {
  font-size: 1.875rem; /* 30px */
  line-height: 2.25rem; /* 36px */
}

.text-4xl {
  font-size: 2.25rem; /* 36px */
  line-height: 2.5rem; /* 40px */
}

.text-5xl {
  font-size: 3rem; /* 48px */
  line-height: 1;
}

.text-6xl {
  font-size: 3.75rem; /* 60px */
  line-height: 1;
}

.text-7xl {
  font-size: 4.5rem; /* 72px */
  line-height: 1;
}

.text-8xl {
  font-size: 6rem; /* 96px */
  line-height: 1;
}

.text-9xl {
  font-size: 8rem; /* 128px */
  line-height: 1;
}

.text-center {
  text-align: center;
}

.text-muted {
  color: var(--dimmed-text-color)
}

.italic {
  font-style: italic;
}

.font-thin {
  font-weight: 100;
}
.font-extralight {
  font-weight: 200;
}
.font-light {
  font-weight: 300;
}
.font-normal {
  font-weight: 400;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-black {
  font-weight: 900;
}

.imw {
  max-width: 320px;
}

.whitespace-nowrap {
  white-space: nowrap;
}

/* Code preview with scrollable height and fade */
.code-preview {
  max-height: 400px;
  overflow-y: auto;
  position: relative;
  margin-bottom: 1.5em;
  border-radius: 8px;
}
.code-preview pre {
  margin: 0;
  border-radius: 8px;
}
.code-preview::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, transparent, var(--color-background));
  pointer-events: none;
}
/* Custom styles for shittycodingagent.ai */

:root {
    --accent: #f97316;
    --accent-dim: #c2410c;
    --terminal-bg: #1a1a1f;
    --terminal-border: #2a2a30;
    --code-green: #4ade80;
    --code-blue: #60a5fa;
    --code-yellow: #fbbf24;
    --code-purple: #c084fc;
}

/* Force dark theme */
html {
    color-scheme: dark;
}

body {
    background: linear-gradient(180deg, #0a0a0c 0%, #0e0e12 100%);
    min-height: 100vh;
}

/* Hero section */
.hero {
    text-align: center;
    padding: 4rem 0 3rem 0;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
    color: #fff;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: var(--dimmed-text-color);
    max-width: 500px;
    margin: 0 auto 2rem auto;
    line-height: 1.6;
}

/* Terminal window */
.terminal {
    background: var(--terminal-bg);
    border: 1px solid var(--terminal-border);
    border-radius: 12px;
    overflow: hidden;
    margin: 2rem 0;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.terminal-header {
    background: #1f1f24;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--terminal-border);
}

.terminal-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.terminal-dot.red { background: #ff5f56; }
.terminal-dot.yellow { background: #ffbd2e; }
.terminal-dot.green { background: #27ca40; }

.terminal-title {
    flex: 1;
    text-align: center;
    font-size: 13px;
    color: #666;
    font-family: var(--font-mono);
}

.terminal-body {
    padding: 1.5rem;
    font-family: var(--font-mono);
    font-size: 14px;
    line-height: 1.6;
    overflow-x: auto;
}

.terminal-line {
    margin-bottom: 0.5rem;
}

.terminal-prompt {
    color: var(--code-green);
}

.terminal-command {
    color: #fff;
}

.terminal-output {
    color: var(--dimmed-text-color);
}

.terminal-accent {
    color: var(--accent);
}

/* Demo player */
#demo {
    margin: 2rem 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--terminal-border);
}

/* Install box */
.install-box {
    background: var(--terminal-bg);
    border: 1px solid var(--terminal-border);
    border-radius: 8px;
    padding: 1rem 1.5rem;
    font-family: var(--font-mono);
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.5rem 0;
}

.install-box code {
    border: none;
    padding: 0;
    background: none;
    font-style: normal;
    color: #fff;
    white-space: nowrap;
}

.install-box .prefix {
    color: var(--dimmed-text-color);
}

.copy-btn {
    background: none;
    border: 1px solid var(--terminal-border);
    border-radius: 6px;
    padding: 6px 12px;
    color: var(--dimmed-text-color);
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
    flex-shrink: 0;
}

.copy-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
}

/* Section styling */
.section {
    margin: 4rem 0;
}

.section-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--accent);
    margin-bottom: 0.75rem;
    font-family: var(--font-mono);
}

.section-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

/* Feature columns */
.section-intro {
    color: var(--dimmed-text-color);
    margin-bottom: 2rem;
    font-size: 1.1rem;
}

.feature-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

@media (max-width: 600px) {
    .feature-columns {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

.feature-col h3 {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #fff;
    margin-bottom: 1rem;
    font-family: var(--font-mono);
}

.feature-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-col li {
    padding: 0.5rem 0;
    line-height: 1.5;
    font-size: 0.95rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.feature-col li > a {
    color: var(--accent);
    font-weight: 600;
}

.feature-col li > span {
    color: var(--dimmed-text-color);
    font-size: 0.9rem;
}



.docs-link {
    margin-top: 2rem;
    color: var(--dimmed-text-color);
}

.docs-link a {
    color: var(--accent);
}

.feature-col code {
    background: var(--terminal-bg);
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
    font-size: 0.85em;
}

/* Hero links */
.hero-links {
    margin-top: 1.5rem;
    display: flex;
    gap: 1.5rem;
    justify-content: center;
}

.hero-links a {
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.hero-links a:hover {
    color: var(--accent);
}

/* Provider logos */
.providers {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-top: 1rem;
}

.provider {
    background: rgba(255, 255, 255, 0.05);
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.85rem;
    color: var(--dimmed-text-color);
    font-family: var(--font-mono);
}

/* Command table */
.command-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.command-table th,
.command-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--terminal-border);
}

.command-table th {
    font-weight: 600;
    color: var(--dimmed-text-color);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.command-table code {
    background: var(--terminal-bg);
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    font-size: 0.85rem;
    border: none;
}

/* Philosophy section */
.section > p a {
    color: var(--accent);
}

/* Responsive */
@media (max-width: 640px) {
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
    }
    
    .terminal-body {
        font-size: 12px;
        padding: 1rem;
    }
    
    .install-box {
        overflow-x: auto;
    }
    
    .cta-links {
        flex-direction: column;
        align-items: center;
    }
}

