@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Lora:ital,wght@0,400;0,700;1,400&display=swap');
body {
	font-family: 'Lora', serif;
}
h1,
h2,
h3 {
	font-family: 'Playfair Display', serif;
}
mark.shared-highlight {
	background-color: #e5e7eb;
	color: #111827;
	padding: 2px 0;
	border-radius: 2px;
	box-shadow: 0 0 0 2px #e5e7eb;
	animation: pulse-highlight 2s ease-out;
	display: inline;
}
@keyframes pulse-highlight {
	0% {
		background-color: #d1d5db;
		box-shadow: 0 0 0 4px #d1d5db;
	}
	100% {
		background-color: #e5e7eb;
		box-shadow: 0 0 0 2px #e5e7eb;
	}
}
.legal-sheet {
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}
.alpha-list {
	list-style-type: lower-alpha;
}
.alpha-list li::marker {
	font-weight: 400;
}
::selection {
	background: #e2e8f0;
	color: #1a202c;
}
.toc-line {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.toc-line::after {
	content: "";
	flex: 1;
	border-bottom: 1px dotted #d1d5db;
	order: 2;
}
.toc-link {
	order: 1;
	text-decoration: none;
}
.toc-link:hover {
	text-decoration: underline;
	color: #4b5563;
}
.marker-col {
	width: 2rem;
	flex-shrink: 0;
	text-align: right;
	font-weight: 400;
	margin-right: 1rem;
}
.indent-level-1 {
	margin-left: 2rem;
}
.indent-level-2 {
	margin-left: 4rem;
}
.indent-level-3 {
	margin-left: 6rem;
}
.legal-table {
	width: 85%;
	border-collapse: collapse;
	margin: 2rem auto;
	font-family: 'Lora', serif;
	border: 2px solid #374151;
}
.legal-table th,
.legal-table td {
	border: 1px solid #d1d5db;
	padding: 1rem;
	text-align: center;
}
.legal-table th {
	background-color: #f9fafb;
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1rem;
	letter-spacing: 0.05em;
	border-bottom: 2px solid #374151;
}
.legal-table-subheader {
	background-color: #f9fafb;
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1rem;
	letter-spacing: 0.05em;
	color: #1f2937;
}
.legal-table tr:nth-child(even) {
	background-color: #fcfcfc;
}
.fade-in {
	animation: fadeIn 0.2s ease-in-out;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
#searchInput {
	font-family: 'Lora', serif;
}
.search-highlight {
	background-color: #e5e7eb;
	color: #111827;
	font-weight: 700;
	padding: 0 2px;
	border-radius: 2px;
	box-shadow: 0 0 0 1px #9ca3af;
}
.custom-scrollbar::-webkit-scrollbar {
	width: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
	background: #f9fafb;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 3px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
	background: #9ca3af;
}
.result-title {
	font-family: 'Playfair Display', serif;
}
.result-snippet {
	font-family: 'Lora', serif;
}
.mode-content {
	transition: opacity 0.3s ease-in-out;
}
.btn-mode {
	transition: all 0.2s ease;
}
.checkbox-box {
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid #000;
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.5rem;
}