/* Blog prose typography */
.blog-prose {
	font-size: 16px;
	line-height: 1.75;
	color: #525252;
}

.dark .blog-prose {
	color: #a3a3a3;
}

.blog-prose h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0a0a0a;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	line-height: 1.3;
}
.dark .blog-prose h2 {
	color: #fafafa;
}

.blog-prose h3 {
	font-size: 1.25rem;
	font-weight: 600;
	color: #0a0a0a;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	line-height: 1.4;
}
.dark .blog-prose h3 {
	color: #fafafa;
}

.blog-prose p {
	margin-bottom: 1.25rem;
}

.blog-prose ul,
.blog-prose ol {
	margin-bottom: 1.25rem;
	padding-left: 1.5rem;
}

.blog-prose ul {
	list-style-type: disc;
}

.blog-prose ol {
	list-style-type: decimal;
}

.blog-prose li {
	margin-bottom: 0.375rem;
}

.blog-prose li::marker {
	color: #6366f1;
}

.blog-prose blockquote {
	border-left: 3px solid #6366f1;
	padding-left: 1rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: #737373;
}
.dark .blog-prose blockquote {
	color: #a3a3a3;
	border-left-color: #6366f1;
}

.blog-prose code {
	font-size: 0.875em;
	background: #f5f5f5;
	padding: 0.125rem 0.375rem;
	border-radius: 4px;
	color: #0a0a0a;
}
.dark .blog-prose code {
	background: #1a1a1a;
	color: #fafafa;
}

.blog-prose pre {
	background: #0a0a0a;
	color: #fafafa;
	padding: 1rem;
	border-radius: 8px;
	overflow-x: auto;
	margin-bottom: 1.5rem;
}
.dark .blog-prose pre {
	background: #1a1a1a;
}

.blog-prose pre code {
	background: transparent;
	padding: 0;
	color: inherit;
}

.blog-prose a {
	color: #6366f1;
	text-decoration: underline;
	text-decoration-color: #e0e7ff;
	text-underline-offset: 2px;
}
.dark .blog-prose a {
	text-decoration-color: #3730a3;
}
.blog-prose a:hover {
	text-decoration-color: #6366f1;
}

.blog-prose strong {
	font-weight: 600;
	color: #0a0a0a;
}
.dark .blog-prose strong {
	color: #fafafa;
}

.blog-prose hr {
	border: none;
	border-top: 1px solid #e5e5e5;
	margin: 2rem 0;
}
.dark .blog-prose hr {
	border-top-color: #2a2a2a;
}

/* Tables */
.blog-prose .table-wrap {
	overflow-x: auto;
	margin-bottom: 1.5rem;
	-webkit-overflow-scrolling: touch;
}

.blog-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.875rem;
	line-height: 1.5;
}

.blog-prose thead {
	border-bottom: 2px solid #e5e5e5;
}
.dark .blog-prose thead {
	border-bottom-color: #2a2a2a;
}

.blog-prose th {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #737373;
	text-align: left;
	padding: 0.5rem 0.75rem;
	white-space: nowrap;
}
.dark .blog-prose th {
	color: #a3a3a3;
}

.blog-prose td {
	padding: 0.5rem 0.75rem;
	color: #0a0a0a;
	border-bottom: 1px solid #f0f0f0;
}
.dark .blog-prose td {
	color: #fafafa;
	border-bottom-color: #1f1f1f;
}

.blog-prose tbody tr:last-child td {
	border-bottom: none;
}

/* Callout boxes */
.blog-callout {
	padding: 1rem 1.25rem;
	border-left: 3px solid #6366f1;
	border-radius: 0 6px 6px 0;
	margin: 1.5rem 0;
	background: #eef2ff;
}
.dark .blog-callout {
	background: rgba(99, 102, 241, 0.08);
}

.blog-callout p:last-child {
	margin-bottom: 0;
}

.blog-callout-tip {
	background: #eef2ff;
	border-left-color: #6366f1;
}
.dark .blog-callout-tip {
	background: rgba(99, 102, 241, 0.08);
}

.blog-callout-warning {
	background: #fef3c7;
	border-left-color: #f59e0b;
}
.dark .blog-callout-warning {
	background: rgba(245, 158, 11, 0.08);
}

/* Calculator inputs & outputs */
.calc-input {
	border: none;
	border-bottom: 2px dashed #6366f1;
	background: transparent;
	color: #0a0a0a;
	font-size: 0.875rem;
	font-weight: 600;
	width: 7ch;
	text-align: right;
	padding: 0.125rem 0;
	outline: none;
	-moz-appearance: textfield;
}
.calc-input::-webkit-inner-spin-button,
.calc-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.calc-input:focus {
	border-bottom-style: solid;
}
.dark .calc-input {
	color: #fafafa;
	border-bottom-color: #818cf8;
}

.calc-select {
	border: none;
	border-bottom: 2px dashed #6366f1;
	background: transparent;
	color: #0a0a0a;
	font-size: 0.875rem;
	font-weight: 600;
	width: auto;
	padding: 0.125rem 0.25rem;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236366f1'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.25rem center;
	padding-right: 1.25rem;
}
.calc-select:focus {
	border-bottom-style: solid;
}
.dark .calc-select {
	color: #fafafa;
	border-bottom-color: #818cf8;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23818cf8'/%3E%3C/svg%3E");
}

.calc-output {
	font-weight: 700;
	color: #6366f1;
}
.dark .calc-output {
	color: #818cf8;
}

.calc-adorn {
	font-size: 0.75rem;
	color: #737373;
	font-weight: 400;
}
.dark .calc-adorn {
	color: #a3a3a3;
}

/* Article cards - line clamp */
.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
