|
|
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap"); |
|
|
|
|
|
|
|
|
* { |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
box-sizing: border-box; |
|
|
} |
|
|
|
|
|
:root { |
|
|
--bg-primary: #f8fafc; |
|
|
--bg-secondary: #ffffff; |
|
|
--text-primary: #1e293b; |
|
|
--text-secondary: #64748b; |
|
|
--accent: #3b82f6; |
|
|
--accent-hover: #2563eb; |
|
|
--gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
|
|
--glass-bg: rgba(255, 255, 255, 0.7); |
|
|
--glass-border: rgba(255, 255, 255, 0.18); |
|
|
--shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15); |
|
|
} |
|
|
|
|
|
[data-theme="dark"] { |
|
|
--bg-primary: #0f172a; |
|
|
--bg-secondary: #1e293b; |
|
|
--text-primary: #f1f5f9; |
|
|
--text-secondary: #94a3b8; |
|
|
--glass-bg: rgba(30, 41, 59, 0.7); |
|
|
--glass-border: rgba(255, 255, 255, 0.1); |
|
|
--shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); |
|
|
} |
|
|
|
|
|
body { |
|
|
font-family: "Inter", sans-serif; |
|
|
background: var(--bg-primary); |
|
|
color: var(--text-primary); |
|
|
line-height: 1.6; |
|
|
transition: all 0.3s ease; |
|
|
overflow-x: hidden; |
|
|
} |
|
|
|
|
|
html { |
|
|
scroll-behavior: smooth; |
|
|
} |
|
|
|
|
|
|
|
|
body::before { |
|
|
content: ""; |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
background: var(--gradient); |
|
|
opacity: 0.05; |
|
|
z-index: -1; |
|
|
animation: gradientShift 15s ease infinite; |
|
|
} |
|
|
|
|
|
@keyframes gradientShift { |
|
|
0%, |
|
|
100% { |
|
|
transform: translateY(0) scale(1); |
|
|
} |
|
|
50% { |
|
|
transform: translateY(-20px) scale(1.05); |
|
|
} |
|
|
} |
|
|
|
|
|
@keyframes fadeInUp { |
|
|
from { |
|
|
opacity: 0; |
|
|
transform: translateY(30px); |
|
|
} |
|
|
to { |
|
|
opacity: 1; |
|
|
transform: translateY(0); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
nav { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
width: 100%; |
|
|
background: var(--glass-bg); |
|
|
backdrop-filter: blur(10px); |
|
|
-webkit-backdrop-filter: blur(10px); |
|
|
border-bottom: 1px solid var(--glass-border); |
|
|
z-index: 1000; |
|
|
padding: 1rem 0; |
|
|
} |
|
|
|
|
|
.nav-container { |
|
|
max-width: 1200px; |
|
|
margin: 0 auto; |
|
|
padding: 0 2rem; |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
} |
|
|
|
|
|
.logo { |
|
|
font-size: 1.5rem; |
|
|
font-weight: 700; |
|
|
background: var(--gradient); |
|
|
-webkit-background-clip: text; |
|
|
-webkit-text-fill-color: transparent; |
|
|
background-clip: text; |
|
|
} |
|
|
|
|
|
.nav-links { |
|
|
display: flex; |
|
|
gap: 2rem; |
|
|
list-style: none; |
|
|
} |
|
|
|
|
|
.nav-links a { |
|
|
color: var(--text-primary); |
|
|
text-decoration: none; |
|
|
font-weight: 500; |
|
|
transition: color 0.3s ease; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.nav-links a::after { |
|
|
content: ""; |
|
|
position: absolute; |
|
|
bottom: -5px; |
|
|
left: 0; |
|
|
width: 0; |
|
|
height: 2px; |
|
|
background: var(--accent); |
|
|
transition: width 0.3s ease; |
|
|
} |
|
|
|
|
|
.nav-links a:hover::after { |
|
|
width: 100%; |
|
|
} |
|
|
|
|
|
.theme-toggle { |
|
|
background: var(--glass-bg); |
|
|
border: 1px solid var(--glass-border); |
|
|
padding: 0.5rem 1rem; |
|
|
border-radius: 50px; |
|
|
cursor: pointer; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: 0.5rem; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.theme-toggle:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: var(--shadow); |
|
|
} |
|
|
|
|
|
.mobile-menu-btn { |
|
|
display: none; |
|
|
background: none; |
|
|
border: none; |
|
|
font-size: 1.5rem; |
|
|
cursor: pointer; |
|
|
color: var(--text-primary); |
|
|
} |
|
|
|
|
|
|
|
|
.container { |
|
|
max-width: 1200px; |
|
|
margin: 0 auto; |
|
|
padding: 6rem 2rem 2rem; |
|
|
} |
|
|
|
|
|
|
|
|
.hero { |
|
|
min-height: 90vh; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
text-align: center; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.hero-content { |
|
|
background: var(--glass-bg); |
|
|
backdrop-filter: blur(10px); |
|
|
-webkit-backdrop-filter: blur(10px); |
|
|
border-radius: 30px; |
|
|
border: 1px solid var(--glass-border); |
|
|
padding: 3rem; |
|
|
box-shadow: var(--shadow); |
|
|
max-width: 800px; |
|
|
animation: fadeInUp 1s ease; |
|
|
} |
|
|
|
|
|
.profile-image { |
|
|
width: 288px; |
|
|
height: 288px; |
|
|
border-radius: 50%; |
|
|
margin: 0 auto 2rem; |
|
|
border: 5px solid var(--glass-border); |
|
|
box-shadow: var(--shadow); |
|
|
object-fit: cover; |
|
|
} |
|
|
|
|
|
.hero h1 { |
|
|
font-size: 3rem; |
|
|
margin-bottom: 0.5rem; |
|
|
background: var(--gradient); |
|
|
-webkit-background-clip: text; |
|
|
-webkit-text-fill-color: transparent; |
|
|
background-clip: text; |
|
|
} |
|
|
|
|
|
.hero .subtitle { |
|
|
font-size: 1.5rem; |
|
|
color: var(--text-secondary); |
|
|
margin-bottom: 1rem; |
|
|
} |
|
|
|
|
|
.hero .description { |
|
|
color: var(--text-secondary); |
|
|
max-width: 600px; |
|
|
margin: 0 auto 2rem; |
|
|
line-height: 1.8; |
|
|
} |
|
|
|
|
|
.social-links { |
|
|
display: flex; |
|
|
gap: 1rem; |
|
|
justify-content: center; |
|
|
margin-top: 2rem; |
|
|
} |
|
|
|
|
|
.social-link { |
|
|
background: var(--glass-bg); |
|
|
border: 1px solid var(--glass-border); |
|
|
padding: 0.75rem 1.5rem; |
|
|
border-radius: 50px; |
|
|
text-decoration: none; |
|
|
color: var(--text-primary); |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: 0.5rem; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.social-link:hover { |
|
|
transform: translateY(-3px); |
|
|
box-shadow: var(--shadow); |
|
|
background: var(--accent); |
|
|
color: white; |
|
|
} |
|
|
|
|
|
|
|
|
section { |
|
|
margin-bottom: 4rem; |
|
|
} |
|
|
|
|
|
.section-title { |
|
|
font-size: 2.5rem; |
|
|
margin-bottom: 2rem; |
|
|
text-align: center; |
|
|
background: var(--gradient); |
|
|
-webkit-background-clip: text; |
|
|
-webkit-text-fill-color: transparent; |
|
|
background-clip: text; |
|
|
} |
|
|
|
|
|
|
|
|
.glass-card { |
|
|
background: var(--glass-bg); |
|
|
backdrop-filter: blur(10px); |
|
|
-webkit-backdrop-filter: blur(10px); |
|
|
border-radius: 20px; |
|
|
border: 1px solid var(--glass-border); |
|
|
padding: 2rem; |
|
|
margin-bottom: 1.5rem; |
|
|
box-shadow: var(--shadow); |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.glass-card:hover { |
|
|
transform: translateY(-5px); |
|
|
box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.2); |
|
|
} |
|
|
|
|
|
|
|
|
.education-stats { |
|
|
display: flex; |
|
|
justify-content: space-around; |
|
|
margin-top: 2rem; |
|
|
flex-wrap: wrap; |
|
|
gap: 1rem; |
|
|
} |
|
|
|
|
|
.stat-item { |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.stat-number { |
|
|
font-size: 2.5rem; |
|
|
font-weight: 700; |
|
|
background: var(--gradient); |
|
|
-webkit-background-clip: text; |
|
|
-webkit-text-fill-color: transparent; |
|
|
background-clip: text; |
|
|
} |
|
|
|
|
|
.stat-label { |
|
|
color: var(--text-secondary); |
|
|
font-size: 0.9rem; |
|
|
} |
|
|
|
|
|
|
|
|
.publication-item { |
|
|
margin-bottom: 1.5rem; |
|
|
} |
|
|
|
|
|
.publication-item h4 { |
|
|
color: var(--text-primary); |
|
|
margin-bottom: 0.5rem; |
|
|
line-height: 1.6; |
|
|
} |
|
|
|
|
|
.publication-meta { |
|
|
color: var(--text-secondary); |
|
|
font-size: 0.9rem; |
|
|
font-style: italic; |
|
|
} |
|
|
|
|
|
.doi-link { |
|
|
color: var(--accent); |
|
|
text-decoration: none; |
|
|
font-weight: 500; |
|
|
} |
|
|
|
|
|
.doi-link:hover { |
|
|
text-decoration: underline; |
|
|
} |
|
|
|
|
|
|
|
|
.timeline { |
|
|
position: relative; |
|
|
padding-left: 2rem; |
|
|
} |
|
|
|
|
|
.timeline::before { |
|
|
content: ""; |
|
|
position: absolute; |
|
|
left: 0; |
|
|
top: 0; |
|
|
height: 100%; |
|
|
width: 2px; |
|
|
background: var(--accent); |
|
|
} |
|
|
|
|
|
.timeline-item { |
|
|
position: relative; |
|
|
margin-bottom: 2rem; |
|
|
padding-left: 2rem; |
|
|
} |
|
|
|
|
|
.timeline-item::before { |
|
|
content: ""; |
|
|
position: absolute; |
|
|
left: -2.5rem; |
|
|
top: 0; |
|
|
width: 12px; |
|
|
height: 12px; |
|
|
border-radius: 50%; |
|
|
background: var(--accent); |
|
|
border: 3px solid var(--bg-primary); |
|
|
} |
|
|
|
|
|
.timeline-item h3 { |
|
|
color: var(--text-primary); |
|
|
margin-bottom: 0.5rem; |
|
|
} |
|
|
|
|
|
.timeline-date { |
|
|
color: var(--accent); |
|
|
font-weight: 600; |
|
|
margin-bottom: 0.5rem; |
|
|
} |
|
|
|
|
|
.timeline-content { |
|
|
color: var(--text-secondary); |
|
|
} |
|
|
|
|
|
|
|
|
.skills-grid { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); |
|
|
gap: 1.5rem; |
|
|
} |
|
|
|
|
|
.skill-category h3 { |
|
|
color: var(--accent); |
|
|
margin-bottom: 1rem; |
|
|
} |
|
|
|
|
|
.skill-list { |
|
|
list-style: none; |
|
|
} |
|
|
|
|
|
.skill-list li { |
|
|
padding: 0.5rem 0; |
|
|
color: var(--text-secondary); |
|
|
position: relative; |
|
|
padding-left: 1.5rem; |
|
|
} |
|
|
|
|
|
.skill-list li::before { |
|
|
content: "▹"; |
|
|
position: absolute; |
|
|
left: 0; |
|
|
color: var(--accent); |
|
|
} |
|
|
|
|
|
|
|
|
.awards-grid { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
|
|
gap: 1.5rem; |
|
|
} |
|
|
|
|
|
.award-item { |
|
|
display: flex; |
|
|
gap: 1rem; |
|
|
align-items: start; |
|
|
} |
|
|
|
|
|
.award-icon { |
|
|
font-size: 2rem; |
|
|
flex-shrink: 0; |
|
|
} |
|
|
|
|
|
.award-info h4 { |
|
|
color: var(--text-primary); |
|
|
margin-bottom: 0.25rem; |
|
|
} |
|
|
|
|
|
.award-date { |
|
|
color: var(--accent); |
|
|
font-size: 0.9rem; |
|
|
font-weight: 600; |
|
|
} |
|
|
|
|
|
|
|
|
.contact-info { |
|
|
text-align: center; |
|
|
font-size: 1.2rem; |
|
|
} |
|
|
|
|
|
.contact-info a { |
|
|
color: var(--accent); |
|
|
text-decoration: none; |
|
|
font-weight: 600; |
|
|
} |
|
|
|
|
|
.contact-info a:hover { |
|
|
text-decoration: underline; |
|
|
} |
|
|
|
|
|
|
|
|
footer { |
|
|
text-align: center; |
|
|
padding: 2rem; |
|
|
color: var(--text-secondary); |
|
|
border-top: 1px solid var(--glass-border); |
|
|
} |
|
|
|
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.nav-links { |
|
|
display: none; |
|
|
position: absolute; |
|
|
top: 100%; |
|
|
left: 0; |
|
|
right: 0; |
|
|
background: var(--glass-bg); |
|
|
backdrop-filter: blur(10px); |
|
|
flex-direction: column; |
|
|
padding: 1rem; |
|
|
border-bottom: 1px solid var(--glass-border); |
|
|
} |
|
|
|
|
|
.nav-links.active { |
|
|
display: flex; |
|
|
} |
|
|
|
|
|
.mobile-menu-btn { |
|
|
display: block; |
|
|
} |
|
|
|
|
|
.hero h1 { |
|
|
font-size: 2rem; |
|
|
} |
|
|
|
|
|
.hero .subtitle { |
|
|
font-size: 1.2rem; |
|
|
} |
|
|
|
|
|
.skills-grid, |
|
|
.awards-grid { |
|
|
grid-template-columns: 1fr; |
|
|
} |
|
|
|
|
|
.social-links { |
|
|
flex-direction: column; |
|
|
} |
|
|
|
|
|
.container { |
|
|
padding: 5rem 1rem 1rem; |
|
|
} |
|
|
|
|
|
.hero-content { |
|
|
padding: 2rem; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.theme-toggle i { |
|
|
color: var(--text-primary); |
|
|
} |
|
|
|
|
|
|
|
|
.experience-tabs { |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
gap: 1rem; |
|
|
margin-bottom: 2rem; |
|
|
flex-wrap: wrap; |
|
|
} |
|
|
|
|
|
.tab-btn { |
|
|
background: var(--glass-bg); |
|
|
border: 1px solid var(--glass-border); |
|
|
padding: 0.75rem 1.5rem; |
|
|
border-radius: 50px; |
|
|
cursor: pointer; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: 0.5rem; |
|
|
color: var(--text-primary); |
|
|
font-family: "Inter", sans-serif; |
|
|
font-size: 1rem; |
|
|
font-weight: 500; |
|
|
transition: all 0.3s ease; |
|
|
} |
|
|
|
|
|
.tab-btn i { |
|
|
font-size: 1.2rem; |
|
|
} |
|
|
|
|
|
.tab-btn:hover { |
|
|
transform: translateY(-2px); |
|
|
box-shadow: var(--shadow); |
|
|
} |
|
|
|
|
|
.tab-btn.active { |
|
|
background: var(--accent); |
|
|
color: white; |
|
|
border-color: var(--accent); |
|
|
} |
|
|
|
|
|
.tab-content { |
|
|
display: none; |
|
|
} |
|
|
|
|
|
.tab-content.active { |
|
|
display: block; |
|
|
animation: fadeInUp 0.5s ease; |
|
|
} |
|
|
|