:root {
	--custom-green: #03f96e;
	--custom-green-lighter: #c0ebd3;
	--custom-dark: #1a1a1a;
	font-family: 'Inter', sans-serif;
}
[data-bs-theme="light"] {
	--bs-primary: var(--custom-green);
	--bs-primary-rgb: 3, 249, 110;
	--bs-body-bg: #f0f2f5;
	--bs-body-color: #1c1e21;
	--bs-link-color: #1c1e21;
	--bs-link-hover-color: var(--custom-green);
	--card-bg-rgba: 255, 255, 255, 0.6;
	--card-border-color: rgba(0, 0, 0, 0.1);
	--aurora-color-1: rgba(3, 249, 110, 0.2);
	--aurora-color-2: rgba(0, 123, 255, 0.15);
}
[data-bs-theme="dark"] {
	--bs-primary: var(--custom-green);
	--bs-primary-rgb: 3, 249, 110;
	--bs-body-bg: var(--custom-dark);
	--bs-body-color: #e4e6eb;
	--bs-link-color: #e4e6eb;
	--bs-link-hover-color: var(--custom-green);
	--card-bg-rgba: 38, 38, 38, 0.5;
	--card-border-color: rgba(255, 255, 255, 0.1);
	--aurora-color-1: rgba(3, 249, 110, 0.15);
	--aurora-color-2: rgba(88, 28, 135, 0.2);
}
body::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: radial-gradient(circle at 10% 20%, var(--aurora-color-1), transparent 40%),
				radial-gradient(circle at 80% 70%, var(--aurora-color-2), transparent 50%);
	filter: blur(100px);
	z-index: -1;
	animation: moveAurora 20s infinite alternate;
}
@keyframes moveAurora {
	from { transform: translate(0, 0) rotate(0deg); }
	to { transform: translate(50px, -50px) rotate(20deg); }
}
.navbar-brand .brand-accent { color: var(--bs-primary); }
.brand-logo { font-weight: 900; font-size: 1.75rem; }
.navbar {
	background-color: rgba(var(--card-bg-rgba), 0.5) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--card-border-color);
}
.hero-section { padding: 8rem 0; }
.hero-section .display-3 { font-weight: 900; }
.hero-section .brand-accent { color: var(--bs-primary); }
.card {
	background-color: rgba(var(--card-bg-rgba));
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid var(--card-border-color);
	border-radius: 1rem;
	transition: transform 0.3s ease, border-color 0.3s ease;
}
.card:hover {
	transform: translateY(-8px);
	border-color: rgba(var(--bs-primary-rgb), 0.5);
}
.card-title { font-weight: 700; }
.card-img-top { border-top-left-radius: 1rem; border-top-right-radius: 1rem; }
.footer { background-color: transparent; }

.post-container {
	background-color: rgba(var(--card-bg-rgba));
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid var(--card-border-color);
	border-radius: 1rem;
	font-size: 1.1rem;
	line-height: 1.7;
}
.post-container h1, .post-container h2, .post-container h3 {
	font-weight: 700;
}
.post-container h2 {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--card-border-color);
	padding-bottom: 0.5rem;
}
.post-container img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
}
.post-container .ratio {
		border-radius: 0.5rem;
		overflow: hidden;
}
.post-container blockquote {
	border-left: 4px solid var(--bs-primary);
	padding-left: 1rem;
	margin: 1.5rem 0;
	font-style: italic;
	color: var(--bs-body-secondary);
}
pre[class*="language-"] {
	border-radius: 0.5rem;
	border: 1px solid var(--card-border-color);
}

.project-links a {
	text-decoration: none;
	font-weight: 500;
}

.btn-outline-primary {
	--bs-btn-color: var(--custom-green);
	--bs-btn-border-color: var(--custom-green);
	--bs-btn-hover-color: var(--custom-dark);
	--bs-btn-hover-bg: var(--custom-green);
	--bs-btn-hover-border-color: var(--custom-green);
	--bs-btn-active-color: var(--custom-dark);
	--bs-btn-active-bg: var(--custom-green);
	--bs-btn-active-border-color: var(--custom-green);
	--bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-outline-primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 20px rgba(var(--bs-primary-rgb), 0.2);
}

a {
	color: var(--custom-green-lighter) !important;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease-in-out; /* Adiciona transição suave */
}
a:hover, a:focus {
	color: var(--custom-green) !important;
}

.btn-primary {
	--bs-btn-bg: var(--custom-green);
	--bs-btn-border-color: var(--custom-green);
	--bs-btn-hover-bg: #02d15f; /* Um pouco mais escuro no hover */
	--bs-btn-hover-border-color: #02d15f;
	--bs-btn-color: var(--custom-dark); /* Texto escuro para contraste */
	--bs-btn-hover-color: var(--custom-dark);
	--bs-btn-active-color: var(--custom-dark);
	--bs-btn-active-bg: #02b854;
	--bs-btn-active-border-color: #02b854;
	font-weight: 700;
}

.btn-light {
	--bs-btn-bg: rgba(var(--card-bg-rgba)); /* Fundo de vidro */
	--bs-btn-color: var(--bs-body-color);
	--bs-btn-border-color: var(--card-border-color);
	--bs-btn-hover-bg: rgba(var(--bs-primary-rgb), 0.1);
	--bs-btn-hover-border-color: var(--bs-primary);
	--bs-btn-hover-color: var(--bs-primary);
}