@font-face {
	font-family: "Inter";
	src: url("Inter-Variable.ttf");
	font-style: normal;
	font-display: swap;
}

:root {
	/* Slate */
	--slate-50: hsl(210 40% 98%);
	--slate-100: hsl(210 40% 96.1%);
	--slate-200: hsl(214.3 31.8% 91.4%);
	--slate-300: hsl(212.7 26.8% 83.9%);
	--slate-400: hsl(215 20.2% 65.1%);
	--slate-500: hsl(215.4 16.3% 46.9%);
	--slate-600: hsl(215.3 19.3% 34.5%);
	--slate-700: hsl(215.3 25% 26.7%);
	--slate-800: hsl(217.2 32.6% 17.5%);
	--slate-900: hsl(222.2 47.4% 11.2%);
	--slate-950: hsl(228.6 84% 4.9%);

	/* Gray */
	--gray-50: hsl(210 20% 98%);
	--gray-100: hsl(220 14.3% 95.9%);
	--gray-200: hsl(220 13% 91%);
	--gray-300: hsl(216 12.2% 83.9%);
	--gray-400: hsl(217.9 10.6% 64.9%);
	--gray-500: hsl(220 8.9% 46.1%);
	--gray-600: hsl(215 13.8% 34.1%);
	--gray-700: hsl(216.9 19.1% 26.7%);
	--gray-800: hsl(215 27.9% 16.9%);
	--gray-900: hsl(220.9 39.3% 11%);
	--gray-950: hsl(224 71.4% 4.1%);

	/* Zinc */
	--zinc-50: hsl(0 0% 98%);
	--zinc-100: hsl(240 4.8% 95.9%);
	--zinc-200: hsl(240 5.9% 90%);
	--zinc-300: hsl(240 4.9% 83.9%);
	--zinc-400: hsl(240 5% 64.9%);
	--zinc-500: hsl(240 3.8% 46.1%);
	--zinc-600: hsl(240 5.2% 33.9%);
	--zinc-700: hsl(240 5.3% 26.1%);
	--zinc-800: hsl(240 3.7% 15.9%);
	--zinc-900: hsl(240 5.9% 10%);
	--zinc-950: hsl(240 10% 3.9%);

	/* Neutral */
	--neutral-50: hsl(0 0% 98%);
	--neutral-100: hsl(0 0% 96.1%);
	--neutral-200: hsl(0 0% 89.8%);
	--neutral-300: hsl(0 0% 83.1%);
	--neutral-400: hsl(0 0% 63.9%);
	--neutral-500: hsl(0 0% 45.1%);
	--neutral-600: hsl(0 0% 32.2%);
	--neutral-700: hsl(0 0% 25.1%);
	--neutral-800: hsl(0 0% 14.9%);
	--neutral-900: hsl(0 0% 9%);
	--neutral-950: hsl(0 0% 3.9%);

	/* Stone */
	--stone-50: hsl(60 9.1% 97.8%);
	--stone-100: hsl(60 4.8% 95.9%);
	--stone-200: hsl(20 5.9% 90%);
	--stone-300: hsl(24 5.7% 82.9%);
	--stone-400: hsl(24 5.4% 63.9%);
	--stone-500: hsl(25 5.3% 44.7%);
	--stone-600: hsl(33.3 5.5% 32.4%);
	--stone-700: hsl(30 6.3% 25.1%);
	--stone-800: hsl(12 6.5% 15.1%);
	--stone-900: hsl(24 9.8% 10%);
	--stone-950: hsl(20 14.3% 4.1%);

	/* Red */
	--red-50: hsl(0 85.7% 97.3%);
	--red-100: hsl(0 93.3% 94.1%);
	--red-200: hsl(0 96.3% 89.4%);
	--red-300: hsl(0 93.5% 81.8%);
	--red-400: hsl(0 90.6% 70.8%);
	--red-500: hsl(0 84.2% 60.2%);
	--red-600: hsl(0 72.2% 50.6%);
	--red-700: hsl(0 73.7% 41.8%);
	--red-800: hsl(0 70% 35.3%);
	--red-900: hsl(0 62.8% 30.6%);
	--red-950: hsl(0 74.7% 15.5%);

	/* Orange */
	--orange-50: hsl(33.3 100% 96.5%);
	--orange-100: hsl(34.3 100% 91.8%);
	--orange-200: hsl(32.1 97.7% 83.1%);
	--orange-300: hsl(30.7 97.2% 72.4%);
	--orange-400: hsl(27 96% 61%);
	--orange-500: hsl(24.6 95% 53.1%);
	--orange-600: hsl(20.5 90.2% 48.2%);
	--orange-700: hsl(17.5 88.3% 40.4%);
	--orange-800: hsl(15 79.1% 33.7%);
	--orange-900: hsl(15.3 74.6% 27.8%);
	--orange-950: hsl(13 81.1% 14.5%);

	/* Amber */
	--amber-50: hsl(48 100% 96.1%);
	--amber-100: hsl(48 96.5% 88.8%);
	--amber-200: hsl(48 96.6% 76.7%);
	--amber-300: hsl(45.9 96.7% 64.5%);
	--amber-400: hsl(43.3 96.4% 56.3%);
	--amber-500: hsl(37.7 92.1% 50.2%);
	--amber-600: hsl(32.1 94.6% 43.7%);
	--amber-700: hsl(26 90.5% 37.1%);
	--amber-800: hsl(22.7 82.5% 31.4%);
	--amber-900: hsl(21.7 77.8% 26.5%);
	--amber-950: hsl(20.9 91.7% 14.1%);

	/* Yellow */
	--yellow-50: hsl(54.5 91.7% 95.3%);
	--yellow-100: hsl(54.9 96.7% 88%);
	--yellow-200: hsl(52.8 98.3% 76.9%);
	--yellow-300: hsl(50.4 97.8% 63.5%);
	--yellow-400: hsl(47.9 95.8% 53.1%);
	--yellow-500: hsl(45.4 93.4% 47.5%);
	--yellow-600: hsl(40.6 96.1% 40.4%);
	--yellow-700: hsl(35.5 91.7% 32.9%);
	--yellow-800: hsl(31.8 81% 28.8%);
	--yellow-900: hsl(28.4 72.5% 25.7%);
	--yellow-950: hsl(26 83.3% 14.1%);

	/* Lime */
	--lime-50: hsl(78.3 92% 95.1%);
	--lime-100: hsl(79.6 89.1% 89.2%);
	--lime-200: hsl(80.9 88.5% 79.6%);
	--lime-300: hsl(82 84.5% 67.1%);
	--lime-400: hsl(82.7 78% 55.5%);
	--lime-500: hsl(83.7 80.5% 44.3%);
	--lime-600: hsl(84.8 85.2% 34.5%);
	--lime-700: hsl(85.9 78.4% 27.3%);
	--lime-800: hsl(86.3 69% 22.7%);
	--lime-900: hsl(87.6 61.2% 20.2%);
	--lime-950: hsl(89.3 80.4% 10%);

	/* Green */
	--green-50: hsl(138.5 76.5% 96.7%);
	--green-100: hsl(140.6 84.2% 92.5%);
	--green-200: hsl(141 78.9% 85.1%);
	--green-300: hsl(141.7 76.6% 73.1%);
	--green-400: hsl(141.9 69.2% 58%);
	--green-500: hsl(142.1 70.6% 45.3%);
	--green-600: hsl(142.1 76.2% 36.3%);
	--green-700: hsl(142.4 71.8% 29.2%);
	--green-800: hsl(142.8 64.2% 24.1%);
	--green-900: hsl(143.8 61.2% 20.2%);
	--green-950: hsl(144.9 80.4% 10%);

	/* Emerald */
	--emerald-50: hsl(151.8 81% 95.9%);
	--emerald-100: hsl(149.3 80.4% 90%);
	--emerald-200: hsl(152.4 76% 80.4%);
	--emerald-300: hsl(156.2 71.6% 66.9%);
	--emerald-400: hsl(158.1 64.4% 51.6%);
	--emerald-500: hsl(160.1 84.1% 39.4%);
	--emerald-600: hsl(161.4 93.5% 30.4%);
	--emerald-700: hsl(162.9 93.5% 24.3%);
	--emerald-800: hsl(163.1 88.1% 19.8%);
	--emerald-900: hsl(164.2 85.7% 16.5%);
	--emerald-950: hsl(165.7 91.3% 9%);

	/* Teal */
	--teal-50: hsl(166.2 76.5% 96.7%);
	--teal-100: hsl(167.2 85.5% 89.2%);
	--teal-200: hsl(168.4 83.8% 78.2%);
	--teal-300: hsl(170.6 76.9% 64.3%);
	--teal-400: hsl(172.5 66% 50.4%);
	--teal-500: hsl(173.4 80.4% 40%);
	--teal-600: hsl(174.7 83.9% 31.6%);
	--teal-700: hsl(175.3 77.4% 26.1%);
	--teal-800: hsl(176.1 69.4% 21.8%);
	--teal-900: hsl(175.9 60.8% 19%);
	--teal-950: hsl(178.6 84.3% 10%);

	/* Cyan */
	--cyan-50: hsl(183.2 100% 96.3%);
	--cyan-100: hsl(185.1 95.9% 90.4%);
	--cyan-200: hsl(186.2 93.5% 81.8%);
	--cyan-300: hsl(187 92.4% 69%);
	--cyan-400: hsl(187.9 85.7% 53.3%);
	--cyan-500: hsl(188.7 94.5% 42.7%);
	--cyan-600: hsl(191.6 91.4% 36.5%);
	--cyan-700: hsl(192.9 82.3% 31%);
	--cyan-800: hsl(194.4 69.6% 27.1%);
	--cyan-900: hsl(196.4 63.6% 23.7%);
	--cyan-950: hsl(197 78.9% 14.9%);

	/* Sky */
	--sky-50: hsl(204 100% 97.1%);
	--sky-100: hsl(204 93.8% 93.7%);
	--sky-200: hsl(200.6 94.4% 86.1%);
	--sky-300: hsl(199.4 95.5% 73.9%);
	--sky-400: hsl(198.4 93.2% 59.6%);
	--sky-500: hsl(198.6 88.7% 48.4%);
	--sky-600: hsl(200.4 98% 39.4%);
	--sky-700: hsl(201.3 96.3% 32.2%);
	--sky-800: hsl(201 90% 27.5%);
	--sky-900: hsl(202 80.3% 23.9%);
	--sky-950: hsl(204 80.2% 15.9%);

	/* Blue */
	--blue-50: hsl(213.8 100% 96.9%);
	--blue-100: hsl(214.3 94.6% 92.7%);
	--blue-200: hsl(213.3 96.9% 87.3%);
	--blue-300: hsl(211.7 96.4% 78.4%);
	--blue-400: hsl(213.1 93.9% 67.8%);
	--blue-500: hsl(217.2 91.2% 59.8%);
	--blue-600: hsl(221.2 83.2% 53.3%);
	--blue-700: hsl(224.3 76.3% 48%);
	--blue-800: hsl(225.9 70.7% 40.2%);
	--blue-900: hsl(224.4 64.3% 32.9%);
	--blue-950: hsl(226.2 57% 21%);

	/* Indigo */
	--indigo-50: hsl(225.9 100% 96.7%);
	--indigo-100: hsl(226.5 100% 93.9%);
	--indigo-200: hsl(228 96.5% 88.8%);
	--indigo-300: hsl(229.7 93.5% 81.8%);
	--indigo-400: hsl(234.5 89.5% 73.9%);
	--indigo-500: hsl(238.7 83.5% 66.7%);
	--indigo-600: hsl(243.4 75.4% 58.6%);
	--indigo-700: hsl(244.5 57.9% 50.6%);
	--indigo-800: hsl(243.7 54.5% 41.4%);
	--indigo-900: hsl(242.2 47.4% 34.3%);
	--indigo-950: hsl(243.8 47.1% 20%);

	/* Violet */
	--violet-50: hsl(250 100% 97.6%);
	--violet-100: hsl(251.4 91.3% 95.5%);
	--violet-200: hsl(250.5 95.2% 91.8%);
	--violet-300: hsl(252.5 94.7% 85.1%);
	--violet-400: hsl(255.1 91.7% 76.3%);
	--violet-500: hsl(258.3 89.5% 66.3%);
	--violet-600: hsl(262.1 83.3% 57.8%);
	--violet-700: hsl(263.4 70% 50.4%);
	--violet-800: hsl(263.4 69.3% 42.2%);
	--violet-900: hsl(263.5 67.4% 34.9%);
	--violet-950: hsl(261.2 72.6% 22.9%);

	/* Purple */
	--purple-50: hsl(270 100% 98%);
	--purple-100: hsl(268.7 100% 95.5%);
	--purple-200: hsl(268.6 100% 91.8%);
	--purple-300: hsl(269.2 97.4% 85.1%);
	--purple-400: hsl(270 95.2% 75.3%);
	--purple-500: hsl(270.7 91% 65.1%);
	--purple-600: hsl(271.5 81.3% 55.9%);
	--purple-700: hsl(272.1 71.7% 47.1%);
	--purple-800: hsl(272.9 67.2% 39.4%);
	--purple-900: hsl(273.6 65.6% 32%);
	--purple-950: hsl(273.5 86.9% 21%);

	/* Fuchsia */
	--fuchsia-50: hsl(289.1 100% 97.8%);
	--fuchsia-100: hsl(287 100% 95.5%);
	--fuchsia-200: hsl(288.3 95.8% 90.6%);
	--fuchsia-300: hsl(291.1 93.1% 82.9%);
	--fuchsia-400: hsl(292 91.4% 72.5%);
	--fuchsia-500: hsl(292.2 84.1% 60.6%);
	--fuchsia-600: hsl(293.4 69.5% 48.8%);
	--fuchsia-700: hsl(294.7 72.4% 39.8%);
	--fuchsia-800: hsl(295.4 70.2% 32.9%);
	--fuchsia-900: hsl(296.7 63.6% 28%);
	--fuchsia-950: hsl(296.8 90.2% 16.1%);

	/* Pink */
	--pink-50: hsl(327.3 73.3% 97.1%);
	--pink-100: hsl(325.7 77.8% 94.7%);
	--pink-200: hsl(325.9 84.6% 89.8%);
	--pink-300: hsl(327.4 87.1% 81.8%);
	--pink-400: hsl(328.6 85.5% 70.2%);
	--pink-500: hsl(330.4 81.2% 60.4%);
	--pink-600: hsl(333.3 71.4% 50.6%);
	--pink-700: hsl(335.1 77.6% 42%);
	--pink-800: hsl(335.8 74.4% 35.3%);
	--pink-900: hsl(335.9 69% 30.4%);
	--pink-950: hsl(336.2 83.9% 17.1%);

	/* Rose */
	--rose-50: hsl(355.7 100% 97.3%);
	--rose-100: hsl(355.6 100% 94.7%);
	--rose-200: hsl(352.7 96.1% 90%);
	--rose-300: hsl(352.6 95.7% 81.8%);
	--rose-400: hsl(351.3 94.5% 71.4%);
	--rose-500: hsl(349.7 89.2% 60.2%);
	--rose-600: hsl(346.8 77.2% 49.8%);
	--rose-700: hsl(345.3 82.7% 40.8%);
	--rose-800: hsl(343.4 79.7% 34.7%);
	--rose-900: hsl(341.5 75.5% 30.4%);
	--rose-950: hsl(343.1 87.7% 15.9%);
}

body {
	background-color: var(--slate-950);
	color: var(--slate-100);
	padding: 32px;
	display: flex;
	gap: 16px;
	flex-direction: column;
}

* {
	font-family: "Inter";
}

h1 {
	margin: 0;
}

h1 .material-symbols-outlined {
	font-size: 12px;
	cursor: pointer;
}

section {
	display: flex;
	gap: 16px;
	flex-direction: column;
}

main {
	display: grid;
	gap: 16px;
}

main {
	grid-template-columns: 0fr;
	grid-auto-rows: 0fr;
}

@media (min-width: 825px) {
	main {
		grid-template-columns: 0fr 0fr;
	}
}

@media (min-width: 1225px) {
	main {
		grid-template-columns: 0fr 0fr 0fr;
	}
}

ul {
	display: flex;
	flex-direction: column;
	list-style-type: none;
	margin: 0;
	padding: 0;
	gap: 8px;
	width: fit-content;
}

button,
a {
	background-color: var(--slate-900);
	color: var(--slate-100);
	border: none;
	padding: 8px 12px;
	text-align: center;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	display: flex;
	font-size: 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.15s ease-in-out;
	width: fit-content;
	height: fit-content;
}

button:hover,
a:hover {
	background-color: var(--slate-800);
}

button:active,
a:active {
	background-color: var(--slate-700);
}

button:focus,
a:focus,
textarea:focus,
button:focus-visible,
a:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--slate-400);
}

section h1 {
	display: flex;
	gap: 8px;
}

section .section-buttons {
	align-items: center;
	display: flex;
	gap: 8px;
}

li.snippet {
	display: flex;
	align-items: start;
	gap: 8px;
	background-color: var(--slate-900);
	padding: 8px;
	border-radius: 16px;
	width: fit-content;
	position: relative;
	height: fit-content;
}

li.snippet textarea {
	background-color: var(--slate-800);
	color: var(--slate-100);
	border-radius: 8px;
	resize: none;
	border: none;
	padding: 8px;
	font-size: 14px;
}

li.snippet .buttons {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

li.snippet button {
	padding: 8px;
	background-color: var(--slate-800);
}

li.snippet button#copy {
	position: absolute;
	top: 8px;
	left: 8px;
	width: calc(100% - 64px);
	height: calc(100% - 16px);
	padding: 8px 12px;
	border-radius: 8px;
	opacity: 0;
	cursor: copy;
	border: none;
	visibility: visible;
}

li.snippet button:hover {
	background-color: var(--slate-700);
}

li.snippet button:active {
	background-color: var(--slate-600);
}

.hidden {
	display: none;
}

#copied {
	background-color: var(--slate-900);
	display: flex;
	width: fit-content;
	gap: 8px;
	margin: 0 auto;
	position: fixed;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	align-items: center;
	padding: 8px 16px;
	border-radius: 8px;
	transition: top 0.2s ease-in-out;
	z-index: 10;
	box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.4);
}

#copied.hidden {
	display: flex;
	top: -48px;
}
