
	.lightbox.svelte-1fqjtck {
		/* Fixed dimensions: the dialog must not resize while stepping
		   through images of varying sizes and caption lengths. */
		width: min(60rem, calc(100vw - 2rem));
		height: min(45rem, calc(100vh - 2rem));
		margin: auto;
		padding: 0;
		overflow: hidden;

		background: transparent;
		border: 1px solid var(--border-color);
		border-radius: 0.5em;
		color: var(--text-primary);

		&::backdrop {
			background: rgba(0, 0, 0, 0.6);
		}
	}

	.lightbox-content.svelte-1fqjtck {
		height: 100%;
	}

	.lightbox.svelte-1fqjtck figure:where(.svelte-1fqjtck) {
		min-height: 0;
		margin: 0;

		img:where(.svelte-1fqjtck) {
			flex: 1;
			min-height: 0;
			width: 100%;

			-o-object-fit: contain;

			   object-fit: contain;
		}

		figcaption:where(.svelte-1fqjtck) {
			color: var(--text-secondary);
			font-size: 0.875em;
			text-align: center;
		}
	}

	.lightbox-counter.svelte-1fqjtck {
		color: var(--text-secondary);
	}

	.references.svelte-1uz3g8u {
		font-size: 0.875em;
		line-height: 1.7;
	}

	.sources-heading.svelte-1uz3g8u {
		font-size: 1em;
	}

	cite.svelte-1uz3g8u {
		font-style: normal;
	}

	.source-location.svelte-1uz3g8u {
		font-weight: normal;
		font-size: 0.85em;
		color: var(--text-secondary);
	}

	.last-retrieved.svelte-1uz3g8u {
		color: var(--text-secondary);
		font-size: 0.875em;
	}

	.ref-credit.svelte-1uz3g8u {
		display: inline-flex;
		align-items: center;
		gap: 0.25em;
		vertical-align: middle;

		img:where(.svelte-1uz3g8u) {
			block-size: 1em;
			inline-size: 1em;
			-o-object-fit: contain;
			   object-fit: contain;
		}

		cite:where(.svelte-1uz3g8u) {
			font-style: normal;
		}
	}

	.inline-image.svelte-1uz3g8u {
		margin: 0;

		img:where(.svelte-1uz3g8u) {
			display: block;
			max-inline-size: 100%;
			max-block-size: 20em;

			border: 1px solid var(--border-color);
			border-radius: 0.5em;
		}
	}

	.code-snippet.svelte-1uz3g8u {
		margin: 0;
		inline-size: 100%;
		max-inline-size: 100%;
		min-inline-size: 0;

		pre:where(.svelte-1uz3g8u) {
			margin: 0;
			contain: inline-size;
			inline-size: 100%;
			max-inline-size: 100%;
			min-inline-size: 0;
			/* About 12 lines; the box scrolls itself to the highlighted lines when first shown. */
			max-block-size: 20em;
			overflow: auto;

			padding: 0.75em 1em;
			border: 1px solid light-dark(#d1d9e0, #3d444d);
			border-radius: 0.5em;
			background-color: light-dark(#fff, #0d1117);

			font-size: 0.8125em;
			line-height: 1.6;

			scrollbar-width: none;

			&:hover {
				scrollbar-width: thin;
			}

			&::-webkit-scrollbar {
				inline-size: 0.5em;
				block-size: 0.5em;
			}

			&::-webkit-scrollbar-thumb {
				background-color: transparent;
				border-radius: 0.25em;
			}

			&:hover::-webkit-scrollbar-thumb {
				background-color: var(--border-color);
			}

			&:focus-visible {
				outline: 2px solid var(--accent);
				outline-offset: 2px;
				scrollbar-width: thin;
			}

			&:focus-visible::-webkit-scrollbar-thumb {
				background-color: var(--border-color);
			}
		}

		code:where(.svelte-1uz3g8u) {
			display: block;
			inline-size: -moz-max-content;
			inline-size: max-content;
			min-inline-size: 100%;
		}

		.row:where(.svelte-1uz3g8u) {
			display: flex;
			white-space: pre;
		}

		.row.line.highlighted:where(.svelte-1uz3g8u) {
			inline-size: calc(100% + 2em);
			margin-inline: -1em;
			padding-inline: 1em;
			background-color: light-dark(#fff8c5, #bb800926);
			box-shadow: inset 3px 0 0 light-dark(#9a6700, #9e6a03);
		}

		.row.gap:where(.svelte-1uz3g8u) {
			justify-content: center;

			.line-number:where(.svelte-1uz3g8u) {
				min-inline-size: 0;
				margin-inline-end: 0;
			}

			.line-content:where(.svelte-1uz3g8u) {
				display: none;
			}
		}

		.line-number:where(.svelte-1uz3g8u) {
			flex-shrink: 0;
			min-inline-size: 4ch;
			margin-inline-end: 1.25em;

			text-align: end;
			color: var(--text-secondary);
			-webkit-user-select: none;
			   -moz-user-select: none;
			        user-select: none;
		}

		.line-content:where(.svelte-1uz3g8u) {
			flex: 1;
		}
	}

	.references-toggle.svelte-1uz3g8u {
		align-self: start;
		margin-block-start: 0.75em;
		padding-inline: 1em;
		border-radius: 999em;
		font-weight: 600;
	}

	.thumbnail.svelte-1uz3g8u {
		display: block;
		flex-shrink: 0;

		img:where(.svelte-1uz3g8u) {
			display: block;
			/* Every thumbnail occupies the same fixed box regardless of
			   the underlying image's aspect ratio. */
			inline-size: 8em;
			block-size: 6em;

			-o-object-fit: cover;

			   object-fit: cover;
			border: 1px solid var(--border-color);
			border-radius: 0.5em;
		}
	}
