section#comments {
	#load-comments {
		cursor: pointer;
	}

	#comments-wrapper {
		display: flex;
		flex-direction: column;
		gap: 2rem;
		margin-top: 2rem;
	}

	.comment {
		display: grid;
		column-gap: 1rem;
		grid-template-areas:
			"avatar name        "
			"avatar time        "
			"avatar post        "
			"...... interactions";
		grid-template-columns: min-content;
		justify-items: start;

		&.comment-reply {
			border-left: 0.25rem solid var(--fg-muted-2);
			border-radius: 0.2rem;
			padding-left: 1rem;
		}

		.avatar-link {
			grid-area: avatar;
			height: 4rem;
			position: relative;
			width: 4rem;

			.avatar {
				all: unset;
				background-color: var(--fg-muted-1);
				background-position: 50%;
				background-size: cover;
				border-radius: var(--rounded-corner);
				box-shadow: var(--edge-highlight), var(--shadow);
				height: 100%;
				overflow: hidden;
				transition: var(--transition);
				width: 100%;

				&:hover {
					box-shadow: var(--edge-highlight), var(--shadow-raised);
					transform: rotate(10deg) scale(1.1);
				}

				&:active {
					box-shadow: var(--edge-highlight), var(--shadow);
					transform: scale(var(--active));
				}
			}
		}

		.author {
			align-items: center;
			display: flex;
			font-weight: bold;
			gap: 0.25rem;
			grid-area: name;

			.instance {
				background-color: var(--fg-muted-1);
				border-radius: 999px;
				box-shadow: var(--edge-highlight);
				color: var(--fg-color);
				font-size: 0.8rem;
				padding: 0.25rem 0.75rem;
				text-decoration: none;
				transition: var(--transition);

				&:hover {
					background-color: var(--fg-muted-2);
					text-decoration: none;
				}

				&:active {
					transform: scale(var(--active));
				}

				&.op {
					-webkit-backdrop-filter: unset;
					backdrop-filter: unset;
					background-color: transparent;
					box-shadow: none;
					color: var(--primary-color);

					&:hover {
						background-color: var(--primary-color-alpha);
						box-shadow: var(--edge-highlight);
					}

					&::before {
						content: "✔";
						margin-inline-end: 0.25rem;
					}
				}
			}
		}

		.emoji {
			all: unset;
			display: inline;
			height: 1.5em;
			vertical-align: middle;
			width: 1.5em;
		}

		time {
			color: var(--fg-muted-5);
			font-size: 0.8rem;
			grid-area: time;
		}

		main {
			grid-area: post;

			p:last-child {
				margin-bottom: 0;
			}
		}

		footer {
			grid-area: interactions;
			margin-top: 1rem;

			.boosts,
			.faves {
				background-color: transparent;
				border-radius: 999px;
				display: inline-block;
				font-variant-numeric: tabular-nums;
				margin-right: 0.25rem;
				padding: 0.25rem 0.75rem;
				text-decoration: none;
				transition: var(--transition);

				svg {
					margin-inline-end: 0.25rem;
					transition: var(--transition-long);
					vertical-align: -0.125em;
				}

				&:hover {
					box-shadow: var(--edge-highlight);
					text-decoration: none;

					svg {
						rotate: 360deg;
					}
				}

				&:active {
					transform: scale(var(--active));
				}
			}

			.boosts {
				color: var(--purple-fg);

				&:hover {
					background-color: var(--purple-bg);
				}
			}

			.faves {
				color: var(--orange-fg);

				&:hover {
					background-color: var(--orange-bg);
				}
			}
		}
	}
}
