:root {
	--bs-link-color-rgb: 0, 225, 0;
	--bs-link-hover-color-rgb: 0, 128, 0;
}
body {
	font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	scroll-behavior: smooth;
	background-color: #0d1117;
	color: #e6edf3;
}
section {
	padding: 120px 0;
}
.fade-in {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s ease, transform 1s ease;
}
.fade-in.visible {
	opacity: 1;
	transform: none;
}
.navbar {
	background-color: #161b22 !important;
}
.navbar-brand, .nav-link {
	color: #e6edf3 !important;
}
/* Hamburger to X animation (System 01 Green) */
.navbar-toggler {
	border: none;
	outline: none;
	padding: 0.5rem 0.75rem; /* ensures a larger clickable area */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px; /* fixed touch-friendly size */
	height: 48px;
	cursor: pointer;
	border-radius: 8px; /* optional rounded feel */
	transition: box-shadow 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
/* Hover / focus effect */
.navbar-toggler:hover,
.navbar-toggler:focus {
	background-color: rgba(0,176,80,0.1); /* soft green background */
	box-shadow: 0 0 8px rgba(0,176,80,0.5); /* glowing green */
}
/* Hamburger bars */
.navbar-toggler-icon {
	width: 30px;
	height: 2px;
	background-color: #00b050; /* System 01 green */
	background-image: none !important;
	flex-shrink: 0;
	display: block;
	position: relative;
	transition: all 0.3s ease-in-out;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
	content: '';
	width: 30px;
	height: 2px;
	background-color: #00b050; /* System 01 green */
	position: absolute;
	left: 0;
	transition: all 0.3s ease-in-out;
}
.navbar-toggler-icon::before {
	top: -8px;
}
.navbar-toggler-icon::after {
	top: 8px;
}
/* When expanded, turn into an X */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	background-color: transparent;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
	transform: rotate(45deg);
	top: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
	transform: rotate(-45deg);
	top: 0;
}
.hero {
	position: relative;
	background: #0d1117;
	color: #e6edf3;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
}
.bootlog {
	position: absolute;
	inset: 0;
	padding-top: 48px;
	font-family: monospace;
	font-size: 0.9rem;
	line-height: 1.2rem;
	color: #00ff66; /* green terminal look */
	opacity: 0.20; /* faint background effect */
	overflow-y: hidden;
	scrollbar-width: none; /* hide scrollbar (Firefox) */
	-ms-overflow-style: none; /* hide scrollbar (IE/Edge) */
	z-index: 1;
	text-align: left; /* align text to the left */
	white-space: pre-wrap; /* preserve spacing and wrapping */
	user-select: none;
	pointer-events: none;
}
.bootlog::-webkit-scrollbar {
	display: none; /* hide scrollbar (Chrome/Safari) */
}
#boot-sequence {
	margin: 0;
	white-space: pre-line;
	padding-top: 0;
	padding-bottom: 25px;
}
pre {
	font-size: 1.1em;
}
/* blinking cursor */
.cursor {
	display: inline-block;
	width: 1ch;
	height: 2ch;
	background: #00ff00; /* green block */
	vertical-align: bottom;
	animation: blink 0.5s step-start infinite;
}
@keyframes blink {
	50% { opacity: 0; }
}
.overlay-text {
	position: relative;
	z-index: 2;
}
.hero h1 {
	font-size: 2rem;
	font-weight: 700;
}
.hero p {
	font-size: 1.25rem;
}
.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: #0d1117;
	z-index: 0;
}
.icon {
	width: 60px;
	height: 60px;
	margin-bottom: 20px;
	stroke: #00ed00;
	fill: none;
	stroke-width: 2;
	transition: stroke 0.3s ease;
}
.carousel-item h1 {
	font-size: 2rem;
	font-weight: 700;
}
.carousel-item p {
	font-size: 1.25rem;
	margin-top: 0.5rem;
}
.icon:hover {
	stroke: #00a600;
}
.footer {
	background-color: #161b22;
	padding: 30px 0;
	text-align: center;
	color: #8b949e;
}
