/*
Theme Name: Tolinku
Theme URI: https://tolinku.com
Description: Standalone blog theme for tolinku.com/blog
Author: Tolinku
Author URI: https://tolinku.com
Version: 1.1.0
Text Domain: tolinku
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: blog, custom-colors, custom-logo, featured-images, threaded-comments
*/

/*
 * NOTE: Base resets (box-sizing, margin, padding, body, img, a) and
 * line-clamp utilities are handled by Tailwind CSS (css/main.css).
 * Do NOT add unlayered resets here; they override Tailwind's @layer utilities.
 */

html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ── Post content prose ── */

.tolinku-content h2,
.tolinku-content h3,
.tolinku-content h4,
.tolinku-content h5,
.tolinku-content h6 {
	scroll-margin-top: 7rem;
	line-height: 1.3;
}

.tolinku-content h2 {
	font-size: 1.75rem;
	font-weight: 600;
	color: #000000;
	margin-top: 3rem;
	margin-bottom: 1rem;
}

.tolinku-content h3 {
	font-size: 1.5rem;
	font-weight: 500;
	color: #000000;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.tolinku-content h4 {
	font-size: 1.25rem;
	font-weight: 500;
	color: #000000;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
}

.tolinku-content h5 {
	font-size: 1.1rem;
	font-weight: 500;
	color: #000000;
	margin-top: 1.25rem;
	margin-bottom: 0.5rem;
}

.tolinku-content h6 {
	font-size: 1rem;
	font-weight: 500;
	color: #000000;
	margin-top: 1rem;
	margin-bottom: 0.5rem;
}

.tolinku-content p,
.tolinku-content li {
	color: #333333;
	line-height: 1.8;
}

.tolinku-content p + p {
	margin-top: 1.25rem;
}

.tolinku-content strong {
	color: #000000;
	font-weight: 600;
}

.tolinku-content ul,
.tolinku-content ol {
	margin: 1rem 0;
	padding-left: 1.5rem;
}

.tolinku-content ul {
	list-style-type: disc;
}

.tolinku-content ol {
	list-style-type: decimal;
}

.tolinku-content li {
	margin-bottom: 0.5rem;
}

.tolinku-content img {
	border-radius: 0.75rem;
	margin: 1.5rem 0;
}

.tolinku-content figure {
	margin: 2rem 0;
}

.tolinku-content figure img {
	margin-bottom: 0;
}

.tolinku-content figcaption {
	font-size: 0.875rem;
	color: #6b7280;
	text-align: center;
	margin-top: 0.5rem;
	line-height: 1.5;
}

.tolinku-content ul.checklist {
	list-style: none;
	padding-left: 0;
}

.tolinku-content blockquote {
	border-left: 3px solid #C4B1F9;
	background: rgba(232, 223, 254, 0.2);
	border-radius: 0 0.5rem 0.5rem 0;
	padding: 1rem 1.25rem;
	margin: 1.5rem 0;
}

.tolinku-content pre {
	background: #1B1B1B;
	border: 1px solid #2e2e2e;
	border-radius: 0.75rem;
	padding: 0 1.5rem 1.25rem;
	overflow-x: auto;
	margin: 1.5rem 0;
	position: relative;
}

.tolinku-content pre::before {
	content: '';
	display: block;
	height: 2.5rem;
	margin: 0 -1.5rem 0.75rem;
	padding: 0 1.5rem;
	background: #161616;
	border-bottom: 1px solid #2e2e2e;
	border-radius: 0.75rem 0.75rem 0 0;
	background-image:
		radial-gradient(circle at 1rem 50%, #ff5f57 5px, transparent 5px),
		radial-gradient(circle at 2.25rem 50%, #ffbd2e 5px, transparent 5px),
		radial-gradient(circle at 3.5rem 50%, #28c840 5px, transparent 5px);
}

.tolinku-content pre::-webkit-scrollbar {
	height: 6px;
}

.tolinku-content pre::-webkit-scrollbar-track {
	background: transparent;
}

.tolinku-content pre::-webkit-scrollbar-thumb {
	background: #3a3a3a;
	border-radius: 3px;
}

.tolinku-content pre::-webkit-scrollbar-thumb:hover {
	background: #555;
}

.tolinku-content pre code {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.875rem;
	line-height: 1.7;
	color: #e4e4e7;
	background: none;
	border: none;
	padding: 0;
	border-radius: 0;
}

.tolinku-content code {
	font-family: 'JetBrains Mono', monospace;
}

.tolinku-content p code,
.tolinku-content li code,
.tolinku-content td code,
.tolinku-content th code,
.tolinku-content h2 code,
.tolinku-content h3 code,
.tolinku-content h4 code {
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	border-radius: 0.25rem;
	padding: 0.15rem 0.4rem;
	font-size: 0.85em;
	color: #1B1B1B;
	word-break: break-word;
}

.tolinku-content a {
	color: #7C3AED;
	text-decoration: none;
}

.tolinku-content a:hover {
	text-decoration: underline;
}

.tolinku-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
}

.tolinku-content th,
.tolinku-content td {
	border: 1px solid #e5e7eb;
	padding: 0.75rem 1rem;
	text-align: left;
}

.tolinku-content th {
	background: #f9fafb;
	font-weight: 600;
}

/* ── Hide scrollbar utility ── */

.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* Thin subtle scrollbar for category nav */
#tolinku-catbar-nav::-webkit-scrollbar {
	height: 3px;
}

#tolinku-catbar-nav::-webkit-scrollbar-track {
	background: transparent;
}

#tolinku-catbar-nav::-webkit-scrollbar-thumb {
	background: #d1d5db;
	border-radius: 3px;
}

#tolinku-catbar-nav::-webkit-scrollbar-thumb:hover {
	background: #9ca3af;
}

#tolinku-catbar-nav {
	scrollbar-width: thin;
	scrollbar-color: #d1d5db transparent;
}

/* ── TOC active highlight ── */

#tolinku-toc a {
	transition: color 0.15s, border-color 0.15s;
	border-left: 2px solid transparent;
}

#tolinku-toc a.text-dark {
	border-left-color: #7C3AED;
}
