@font-face {
	font-family: "Laco";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("https://raw.githubusercontent.com/paul-go/Laco/25a234891fdc9209099585988a3fb708711b7beb/build/Laco-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "Laco";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("https://raw.githubusercontent.com/paul-go/Laco/25a234891fdc9209099585988a3fb708711b7beb/build/Laco-Bold.woff2") format("woff2");
}

.root {
	--editor-ink: hsl(220 18% 14%);
	--editor-muted: hsl(220 9% 46%);
	--editor-blue: hsl(216 88% 43%);
	--editor-violet: hsl(263 72% 39%);
	--editor-green: hsl(151 44% 34%);
	--editor-line: hsl(216 20% 84%);
	--editor-line-height: 1.75;
	--editor-surface: hsl(216 24% 98%);
	color: var(--editor-ink);
	display: block;
	font-family: "Laco", sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: var(--editor-line-height);
	text-rendering: geometricPrecision;
	padding: 1rem;
}

:root[data-theme="dark"] .root {
	--editor-ink: hsl(220 22% 92%);
	--editor-muted: hsl(220 10% 66%);
	--editor-blue: hsl(213 100% 68%);
	--editor-violet: hsl(265 86% 76%);
	--editor-green: hsl(151 54% 62%);
	--editor-line: hsl(220 10% 35%);
	--editor-surface: hsl(220 12% 15%);
}

.words {
	color: var(--editor-blue);
}

.primitives {
	color: var(--editor-blue);
	font-weight: 700;
}

.constants {
	color: var(--editor-blue);
	font-weight: 700;
}

.prefixes {
	color: var(--editor-blue);
}

.suffixes {
	color: var(--editor-blue);
}

.type-expression {
	font-weight: 700;
}

.named-type-expression {
	font-weight: 700;
}

.operators {
	color: var(--editor-violet);
}

.assigners {
	color: var(--editor-muted);
}

.return {
	color: var(--editor-blue);
}

.function {
	display: block;
}

.function + .function {
	margin-top: 1.75rem;
}

.function > .entity-token {
	font-weight: 500;
}

.parameter > .entity-token {
	font-weight: 500;
}

.parameter + .parameter::before {
	color: var(--editor-muted);
	content: ", ";
}

.function > .paren:last-child {
	border-left: 1px solid var(--editor-line);
	display: block;
	padding: 0.2rem 0.2rem 0.4rem 1rem;
}

.function > .paren:last-child > .paren-left {
	display: none;
}

.function > .paren:last-child > .paren-right {
	display: none;
}

.simple-assignment {
	display: block;
}

.return-statement {
	display: block;
}

.each:not(.token) {
	border-color: var(--editor-line);
	border-style: solid;
	border-width: 0 1px 1px 0;
	clip-path: inset(-100vmax 0);
	display: block;
	margin-block: 0.85rem 0.65rem;
	padding: 0 0.75rem 0.55rem 0;
	position: relative;
}

.each:not(.token)::before {
	border-left: 1px solid var(--editor-line);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 1.5ch;
}

.each:not(.token) > :not(.enclosure) {
	position: relative;
	top: -0.875em;
}

.each:not(.token) > .entity-token::after {
	border-top: 1px solid var(--editor-line);
	content: "";
	left: calc(100% + 0.35rem);
	position: absolute;
	top: 50%;
	width: 100vw;
}

.each > .paren:last-child {
	display: block;
	margin-top: -0.875em;
	padding: 0 0 0.1rem 1rem;
}

.each > .paren:last-child > .paren-left {
	display: none;
}

.each > .paren:last-child > .paren-right {
	display: none;
}

.paren-left {
	opacity: 0.5;
	padding: 0 0.08rem;
}

.paren-right {
	opacity: 0.5;
	padding: 0 0.08rem;
}
