
/* Import Fonts */
@import url(fontawesome-all.min.css);
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600&family=Roboto:wght@400;700&display=swap');

/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }
body { -webkit-text-size-adjust: none; }
input, select, textarea { -moz-appearance: none; -webkit-appearance: none; -ms-appearance: none; appearance: none; }

/* Basic */
html { box-sizing: border-box; font-size: 16pt; }
*, *:before, *:after { box-sizing: inherit; }
@media screen and (max-width: 1680px) { html { font-size: 12pt; } }
@media screen and (max-width: 1280px) { html { font-size: 11pt; } }
@media screen and (max-width: 360px) { html { font-size: 10pt; } }

body {
	background-color: #121212;
	background-image: radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 20px 20px;
	color: #EAEAEA;
	transition: background-position 0.5s ease-out;
}
body.is-preload *, body.is-preload *:before, body.is-preload *:after { animation: none !important; transition: none !important; }

/* Typography */
body, input, select, textarea { font-family: 'Roboto', sans-serif; font-size: 1rem; line-height: 1.8; font-weight: 400; }
p { margin: 0 0 1.5rem 0; }
h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; font-weight: 600; color: #FFFFFF; line-height: 1.5; }
h1 { font-size: 4rem; }
h2 { font-size: 1.5rem; }
a { color: #00D1B2; text-decoration: none; transition: color 0.2s ease; }
a:hover { color: #FFFFFF; }

/* Intro */
#intro { padding: 10rem 2rem 8rem 2rem; text-align: center; }
#intro p { color: #A0A0A0; font-size: 1.25rem; }
#intro .button { background-color: transparent; border: 1px solid #A0A0A0; color: #A0A0A0 !important; }
#intro .button:hover { border-color: #FFFFFF; color: #FFFFFF !important; }

/* Main Content */
#main { background: #121212; padding: 4rem 2rem; }
.posts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media screen and (max-width: 980px) { .posts { grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 736px) { .posts { grid-template-columns: 1fr; } }


article {
	background: #1E1E1E;
	border: 1px solid #333;
	padding: 1.5rem;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	border-radius: 8px;
}
article:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
article h2 { margin-bottom: 0.5rem; }
article p { color: #A0A0A0; margin-top: 1rem; font-size: 0.9rem; }

/* Tech Tags */
.tech-tags { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tech-tags span {
	background: #333;
	color: #A0A0A0;
	font-family: 'Roboto', sans-serif;
	font-size: 0.75rem;
	padding: 0.25rem 0.75rem;
	border-radius: 4px;
}

/* Footer */
#footer { background: transparent; }
#copyright { border-top: 1px solid #333; color: #555; padding: 2rem; text-align: center; }
#copyright a { color: #555; border-bottom: 1px dotted #555; }
#copyright a:hover { color: #A0A0A0; border-color: #A0A0A0; }

/* Hidden Terminal (Easter Egg) */
#hidden-terminal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
#hidden-terminal.hidden { opacity: 0; visibility: hidden; }
#hidden-terminal:not(.hidden) { opacity: 1; visibility: visible; }
.terminal-window { width: 80%; max-width: 800px; height: 70%; background: #0A0A0A; border: 1px solid #333; border-radius: 8px; box-shadow: 0 0 50px rgba(0, 209, 178, 0.2); display: flex; flex-direction: column; }
.terminal-header { background: #1E1E1E; padding: 0.5rem; border-top-left-radius: 8px; border-top-right-radius: 8px; display: flex; align-items: center; }
.terminal-buttons { display: flex; gap: 0.5rem; }
.terminal-close, .terminal-min, .terminal-max { width: 12px; height: 12px; border-radius: 50%; }
.terminal-close { background: #FF5F56; }
.terminal-min { background: #FFBD2E; }
.terminal-max { background: #27C93F; }
.terminal-title { color: #888; margin: 0 auto; }
.terminal-body { padding: 1.5rem; font-family: 'Courier New', Courier, monospace; color: #00D1B2; overflow-y: auto; flex-grow: 1; }
.terminal-body p { margin: 0 0 0.5rem 0; color: #EAEAEA; }
.terminal-body .terminal-highlight { color: #00D1B2; font-weight: bold; }
.terminal-cursor { display: inline-block; background: #00D1B2; width: 10px; height: 1.2rem; animation: blink 1s steps(2) infinite; vertical-align: bottom; }
@keyframes blink { to { background: transparent; } }

/* Certifications & Topology */
#certifications {
	padding: 4rem 0 2rem 0;
	text-align: center;
}
#certifications .major h2 {
	margin-bottom: 2rem;
}
#certifications article {
	text-align: left;
	max-width: 800px;
	margin: 0 auto;
}
.network-topology {
	background: #1E1E1E;
	border: 1px solid #333;
	border-radius: 8px;
	padding: 1.5rem;
	margin-top: 1rem;
	color: #A0A0A0;
	font-family: 'Courier New', Courier, monospace;
	font-size: 1rem;
	line-height: 1.5;
	text-align: center;
	white-space: pre;
	overflow-x: auto;
}
.certificate-image {
	max-width: 80%; 
	height: auto;
	border-radius: 8px;
	border: 1px solid #333;
	margin-top: 1rem;
	margin-left: auto;  
	margin-right: auto; 
	display: block;
	transition: box-shadow 0.3s ease;
}
.certificate-image:hover {
	box-shadow: 0 0 15px rgba(0, 209, 178, 0.3);
}