<!DOCTYPE html> <html lang="en" data-theme="dark"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Cybersecurity Professor Portfolio</title> <!-- Modern Font Imports --> <link href="https://f...content-available-to-author-only...s.com/css2?family=Fira+Code:wght@400;500&family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet"> <style> /* CSS Variables for Dynamic Dark/Light Theme Switching */ :root[data-theme="dark"] { --bg-color: #0f172a; --surface-color: rgba(30, 41, 59, 0.7); --border-color: rgba(255, 255, 255, 0.1); --text-primary: #f8fafc; --text-secondary: #94a3b8; --accent-color: #38bdf8; --accent-glow: rgba(56, 189, 248, 0.25); --grid-line: rgba(255, 255, 255, 0.03); --card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5); } :root[data-theme="light"] { --bg-color: #f8fafc; --surface-color: rgba(255, 255, 255, 0.8); --border-color: rgba(0, 0, 0, 0.08); --text-primary: #0f172a; --text-secondary: #64748b; --accent-color: #0284c7; --accent-glow: rgba(2, 132, 199, 0.15); --grid-line: rgba(0, 0, 0, 0.03); --card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08); } * { box-sizing: border-box; margin: 0; padding: 0; transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; } body { font-family: 'Inter', sans-serif; background-color: var(--bg-color); color: var(--text-primary); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; /* Subtle modern grid background pattern */ background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px); background-size: 30px 30px; } .portfolio-card { background: var(--surface-color); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--border-color); border-radius: 20px; width: 100%; max-width: 480px; padding: 2.5rem 2rem; box-shadow: var(--card-shadow); position: relative; text-align: center; } /* Dark/Light Mode Switcher Button */ .theme-toggle { position: absolute; top: 1.25rem; right: 1.25rem; background: transparent; border: 1px solid var(--border-color); color: var(--text-secondary); padding: 0.4rem 0.8rem; border-radius: 20px; cursor: pointer; font-size: 0.85rem; font-family: 'Fira Code', monospace; display: flex; align-items: center; gap: 0.4rem; } .theme-toggle:hover { color: var(--accent-color); border-color: var(--accent-color); } /* Profile & Header Elements */ .avatar-wrapper { position: relative; width: 90px; height: 90px; margin: 0 auto 1.5rem auto; } .avatar { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; background: rgba(255, 255, 255, 0.05); padding: 8px; border: 2px solid var(--border-color); } .badge { display: inline-block; font-family: 'Fira Code', monospace; font-size: 0.75rem; color: var(--accent-color); background: var(--accent-glow); padding: 0.25rem 0.75rem; border-radius: 12px; margin-bottom: 0.75rem; border: 1px solid var(--accent-color); } h1 { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 0.4rem; } .subtitle { color: var(--text-secondary); font-size: 0.95rem; margin-bottom: 2rem; } /* Interactive Link & Action Buttons */ .actions { display: flex; flex-direction: column; gap: 0.8rem; } .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 0.85rem 1.2rem; border-radius: 12px; font-weight: 600; font-size: 0.95rem; text-decoration: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; } .btn:hover { transform: translateY(-2px); } .btn-primary { background-color: var(--accent-color); color: #ffffff; border: none; box-shadow: 0 4px 14px var(--accent-glow); } .btn-secondary { background-color: transparent; color: var(--text-primary); border: 1px solid var(--border-color); } .btn-secondary:hover { border-color: var(--text-secondary); } </style> </head> <body> <div class="portfolio-card"> <!-- Theme Toggle --> <button class="theme-toggle" id="themeToggle" aria-label="Toggle Theme"> <span id="themeIcon">☀️</span> <span id="themeText">Light</span> </button> <div class="avatar-wrapper"> <img src="https://s...content-available-to-author-only...c.ma/_next/image?url=%2Fimages%2Fsummer_school_logo.jpeg&w=256&q=75" alt="ENSEM Profile Logo" class="avatar" > </div> <span class="badge">ENSEM Faculty</span> <h1 id="headline">My Professional Portfolio</h1> <p class="subtitle">Cybersecurity Professor at ENSEM</p> <!-- Actions --> <div class="actions"> <button id="button" class="btn btn-primary"> Send Encrypted Message </button> <a href="https://g...content-available-to-author-only...b.com" target="_blank" class="btn btn-secondary"> Visit GitHub </a> </div> </div> <script> // Original Functionality const title = document.getElementById("headline"); const button = document.getElementById("button"); button.onclick = function () { title.innerText = "Interactivity Unlocked!"; title.style.color = "var(--accent-color)"; }; // Dark / Light Theme Toggle Logic const themeToggle = document.getElementById("themeToggle"); const themeIcon = document.getElementById("themeIcon"); const themeText = document.getElementById("themeText"); const html = document.documentElement; themeToggle.onclick = function () { const currentTheme = html.getAttribute("data-theme"); if (currentTheme === "dark") { html.setAttribute("data-theme", "light"); themeIcon.innerText = "🌙"; themeText.innerText = "Dark"; } else { html.setAttribute("data-theme", "dark"); themeIcon.innerText = "☀️"; themeText.innerText = "Light"; } }; </script> </body> </html>
Standard input is empty
<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cybersecurity Professor Portfolio</title>
<!-- Modern Font Imports -->
<link rel="preconnect" href="https://f...content-available-to-author-only...s.com">
<link rel="preconnect" href="https://f...content-available-to-author-only...c.com" crossorigin>
<link href="https://f...content-available-to-author-only...s.com/css2?family=Fira+Code:wght@400;500&family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<style>
/* CSS Variables for Dynamic Dark/Light Theme Switching */
:root[data-theme="dark"] {
--bg-color: #0f172a;
--surface-color: rgba(30, 41, 59, 0.7);
--border-color: rgba(255, 255, 255, 0.1);
--text-primary: #f8fafc;
--text-secondary: #94a3b8;
--accent-color: #38bdf8;
--accent-glow: rgba(56, 189, 248, 0.25);
--grid-line: rgba(255, 255, 255, 0.03);
--card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
}
:root[data-theme="light"] {
--bg-color: #f8fafc;
--surface-color: rgba(255, 255, 255, 0.8);
--border-color: rgba(0, 0, 0, 0.08);
--text-primary: #0f172a;
--text-secondary: #64748b;
--accent-color: #0284c7;
--accent-glow: rgba(2, 132, 199, 0.15);
--grid-line: rgba(0, 0, 0, 0.03);
--card-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
body {
font-family: 'Inter', sans-serif;
background-color: var(--bg-color);
color: var(--text-primary);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem 1rem;
/* Subtle modern grid background pattern */
background-image:
linear-gradient(var(--grid-line) 1px, transparent 1px),
linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
background-size: 30px 30px;
}
.portfolio-card {
background: var(--surface-color);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid var(--border-color);
border-radius: 20px;
width: 100%;
max-width: 480px;
padding: 2.5rem 2rem;
box-shadow: var(--card-shadow);
position: relative;
text-align: center;
}
/* Dark/Light Mode Switcher Button */
.theme-toggle {
position: absolute;
top: 1.25rem;
right: 1.25rem;
background: transparent;
border: 1px solid var(--border-color);
color: var(--text-secondary);
padding: 0.4rem 0.8rem;
border-radius: 20px;
cursor: pointer;
font-size: 0.85rem;
font-family: 'Fira Code', monospace;
display: flex;
align-items: center;
gap: 0.4rem;
}
.theme-toggle:hover {
color: var(--accent-color);
border-color: var(--accent-color);
}
/* Profile & Header Elements */
.avatar-wrapper {
position: relative;
width: 90px;
height: 90px;
margin: 0 auto 1.5rem auto;
}
.avatar {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 50%;
background: rgba(255, 255, 255, 0.05);
padding: 8px;
border: 2px solid var(--border-color);
}
.badge {
display: inline-block;
font-family: 'Fira Code', monospace;
font-size: 0.75rem;
color: var(--accent-color);
background: var(--accent-glow);
padding: 0.25rem 0.75rem;
border-radius: 12px;
margin-bottom: 0.75rem;
border: 1px solid var(--accent-color);
}
h1 {
font-size: 1.6rem;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 0.4rem;
}
.subtitle {
color: var(--text-secondary);
font-size: 0.95rem;
margin-bottom: 2rem;
}
/* Interactive Link & Action Buttons */
.actions {
display: flex;
flex-direction: column;
gap: 0.8rem;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
width: 100%;
padding: 0.85rem 1.2rem;
border-radius: 12px;
font-weight: 600;
font-size: 0.95rem;
text-decoration: none;
cursor: pointer;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
transform: translateY(-2px);
}
.btn-primary {
background-color: var(--accent-color);
color: #ffffff;
border: none;
box-shadow: 0 4px 14px var(--accent-glow);
}
.btn-secondary {
background-color: transparent;
color: var(--text-primary);
border: 1px solid var(--border-color);
}
.btn-secondary:hover {
border-color: var(--text-secondary);
}
</style>
</head>
<body>
<div class="portfolio-card">
<!-- Theme Toggle -->
<button class="theme-toggle" id="themeToggle" aria-label="Toggle Theme">
<span id="themeIcon">☀️</span> <span id="themeText">Light</span>
</button>
<!-- Profile Header -->
<div class="avatar-wrapper">
<img
src="https://s...content-available-to-author-only...c.ma/_next/image?url=%2Fimages%2Fsummer_school_logo.jpeg&w=256&q=75"
alt="ENSEM Profile Logo"
class="avatar"
>
</div>
<span class="badge">ENSEM Faculty</span>
<h1 id="headline">My Professional Portfolio</h1>
<p class="subtitle">Cybersecurity Professor at ENSEM</p>
<!-- Actions -->
<div class="actions">
<button id="button" class="btn btn-primary">
Send Encrypted Message
</button>
<a href="https://g...content-available-to-author-only...b.com" target="_blank" class="btn btn-secondary">
Visit GitHub
</a>
</div>
</div>
<script>
// Original Functionality
const title = document.getElementById("headline");
const button = document.getElementById("button");
button.onclick = function () {
title.innerText = "Interactivity Unlocked!";
title.style.color = "var(--accent-color)";
};
// Dark / Light Theme Toggle Logic
const themeToggle = document.getElementById("themeToggle");
const themeIcon = document.getElementById("themeIcon");
const themeText = document.getElementById("themeText");
const html = document.documentElement;
themeToggle.onclick = function () {
const currentTheme = html.getAttribute("data-theme");
if (currentTheme === "dark") {
html.setAttribute("data-theme", "light");
themeIcon.innerText = "🌙";
themeText.innerText = "Dark";
} else {
html.setAttribute("data-theme", "dark");
themeIcon.innerText = "☀️";
themeText.innerText = "Light";
}
};
</script>
</body>
</html>