.terminal-container {
	max-width: 1200px;
	margin: 1.5rem auto;
	background: var(--bg-secondary);
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	overflow: hidden;
	position: relative;
	transition: opacity 0.3s, transform 0.3s, box-shadow 0.2s;
}

.terminal-container.dragging {
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.6);
	transition: box-shadow 0.2s;
}

.terminal-container.floating {
	position: fixed;
	margin: 0;
	z-index: 50;
}

.terminal-header {
	background: var(--bg-tertiary);
	padding: 0.75rem 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid var(--border-color);
	cursor: grab;
	user-select: none;
}

.terminal-header:active {
	cursor: grabbing;
}

.terminal-dots {
	display: flex;
	gap: 0.5rem;
}

.terminal-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	cursor: pointer;
	transition: filter 0.2s ease;
}

.terminal-dot:hover {
	filter: brightness(1.2);
}

.dot-red { background: #ff5f56; }
.dot-yellow { background: #ffbd2e; }
.dot-green { background: #27c93f; }

.terminal-title {
	margin-left: 1rem;
	font-size: 0.9rem;
	color: var(--text-secondary);
	font-family: 'Courier New', monospace;
}

.terminal-body {
	padding: 1.5rem 2rem;
	font-family: 'Courier New', monospace;
	font-size: 0.95rem;
	line-height: 1.6;
}

.prompt {
	color: var(--accent-green);
	font-weight: 600;
}

.path {
	color: var(--link-color);
}

.command {
	color: var(--accent-orange);
}

.output {
	color: var(--text-primary);
	margin: 0.5rem 0 1rem 0;
}

.cursor {
	color: var(--accent-green);
	animation: blink 1s infinite;
}

@keyframes blink {
	0%, 49% { opacity: 1; }
	50%, 100% { opacity: 0; }
}

.blog-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-item {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--border-color);
}

.blog-item:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.blog-line-1 {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 0.25rem;
}

.blog-line-2 {
	margin-bottom: 0.25rem;
	padding-left: 1rem;
}

.blog-line-3 {
	padding-left: 1rem;
}

.blog-link {
	color: var(--link-color);
	text-decoration: none;
	transition: color 0.2s;
	font-family: 'Courier New', monospace;
}

.blog-link:hover {
	color: var(--link-hover);
	text-decoration: underline;
}

.blog-date {
	color: var(--text-secondary);
	font-size: 0.85rem;
}

.blog-title {
	color: var(--accent-orange);
	font-size: 0.9rem;
}

.blog-tags {
	color: var(--accent-green);
	font-size: 0.85rem;
}

.contact-links {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.contact-links a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--link-color);
	text-decoration: none;
	transition: color 0.2s;
	padding: 0.5rem;
	border-radius: 4px;
}

.contact-links a:hover {
	color: var(--link-hover);
	background: rgba(88, 166, 255, 0.1);
}

.contact-links svg {
	flex-shrink: 0;
}

/* ===========================================
   Static Blog Page Styles (SEO-friendly pages)
   =========================================== */

.blog-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 2rem;
	min-height: 100vh;
}

.blog-nav {
	margin-bottom: 2rem;
}

.back-link {
	color: var(--link-color);
	text-decoration: none;
	font-family: 'Courier New', monospace;
	font-size: 0.9rem;
	transition: color 0.2s;
}

.back-link:hover {
	color: var(--link-hover);
	text-decoration: underline;
}

.blog-article {
	background: var(--bg-secondary);
	border-radius: 8px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	overflow: hidden;
}

.article-header {
	padding: 2rem 2rem 1.5rem;
	border-bottom: 1px solid var(--border-color);
}

.article-header h1 {
	color: var(--accent-green);
	font-size: 1.75rem;
	margin: 0 0 1rem 0;
	line-height: 1.3;
	font-family: 'Atkinson', sans-serif;
}

.article-meta {
	color: var(--text-secondary);
	font-size: 0.9rem;
	margin-bottom: 1rem;
	font-family: 'Courier New', monospace;
}

.article-meta .author {
	color: var(--accent-orange);
}

.article-meta .separator {
	margin: 0 0.5rem;
	color: var(--border-color);
}

.article-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.article-tags .tag {
	background: var(--bg-tertiary);
	color: var(--accent-green);
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
	font-size: 0.8rem;
	font-family: 'Courier New', monospace;
}

.article-content {
	padding: 2rem;
}

.article-content.prose {
	color: var(--text-primary);
	line-height: 1.8;
	font-size: 1rem;
}

.article-content.prose p {
	margin-bottom: 1.5rem;
}

.article-content.prose h2 {
	color: var(--accent-green);
	font-size: 1.4rem;
	margin: 2rem 0 1rem;
}

.article-content.prose h3 {
	color: var(--link-color);
	font-size: 1.2rem;
	margin: 1.5rem 0 0.75rem;
}

.article-content.prose a {
	color: var(--link-color);
	text-decoration: none;
}

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

.article-content.prose code {
	background: var(--code-bg);
	padding: 0.2rem 0.4rem;
	border-radius: 4px;
	font-family: 'Courier New', monospace;
	font-size: 0.9em;
}

.article-content.prose strong {
	color: var(--accent-orange);
}

.article-footer {
	border-top: 1px solid var(--border-color);
	padding: 2rem;
}

.comments-section h2 {
	color: var(--accent-green);
	font-size: 1.2rem;
	margin: 0 0 1.5rem 0;
	font-family: 'Courier New', monospace;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.blog-page {
		padding: 1rem;
	}

	.article-header,
	.article-content,
	.article-footer {
		padding: 1.5rem;
	}

	.article-header h1 {
		font-size: 1.4rem;
	}
}

