172 lines
3.2 KiB
CSS
172 lines
3.2 KiB
CSS
/* Header */
|
|
header {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
z-index: var(--z-sticky);
|
|
background: rgba(var(--bg-primary), 0.8);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
border-bottom: 1px solid var(--border-color);
|
|
transition: all var(--transition-base);
|
|
}
|
|
|
|
/* Main Navigation */
|
|
.main-nav {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
height: 70px;
|
|
padding: 0 var(--space-xl);
|
|
max-width: 1400px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* Logo */
|
|
.logo {
|
|
font-size: var(--font-size-2xl);
|
|
font-weight: 700;
|
|
color: var(--text-color);
|
|
text-decoration: none;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-xs);
|
|
}
|
|
|
|
.logo-text {
|
|
color: var(--accent-color);
|
|
}
|
|
|
|
.logo-sys {
|
|
background: linear-gradient(
|
|
135deg,
|
|
var(--accent-color) 0%,
|
|
var(--accent-purple) 100%
|
|
);
|
|
-webkit-background-clip: text;
|
|
background-clip: text;
|
|
color: transparent;
|
|
}
|
|
|
|
/* Navigation Controls */
|
|
.nav-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--space-md);
|
|
}
|
|
|
|
/* Theme Toggle */
|
|
#theme-toggle {
|
|
background: transparent;
|
|
border: none;
|
|
color: var(--text-color);
|
|
width: 40px;
|
|
height: 40px;
|
|
border-radius: var(--border-radius-full);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: all var(--transition-base);
|
|
}
|
|
|
|
#theme-toggle:hover {
|
|
background: var(--card-bg);
|
|
}
|
|
|
|
#theme-toggle i {
|
|
font-size: var(--font-size-lg);
|
|
transition: transform var(--transition-base);
|
|
}
|
|
|
|
#theme-toggle:hover i {
|
|
transform: rotate(15deg);
|
|
}
|
|
|
|
/* Scroll Progress */
|
|
.scroll-progress {
|
|
position: absolute;
|
|
bottom: -2px;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 2px;
|
|
background: var(--accent-color);
|
|
transform-origin: left;
|
|
transform: scaleX(0);
|
|
transition: transform var(--transition-base);
|
|
}
|
|
|
|
/* Header Scroll State */
|
|
header.scrolled {
|
|
box-shadow: var(--shadow-md);
|
|
background: var(--bg-primary);
|
|
}
|
|
|
|
/* Skip Link */
|
|
.skip-link {
|
|
position: fixed;
|
|
top: -100%;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
background: var(--accent-color);
|
|
color: white;
|
|
padding: var(--space-sm) var(--space-md);
|
|
border-radius: 0 0 var(--border-radius-md) var(--border-radius-md);
|
|
text-decoration: none;
|
|
z-index: var(--z-maximum);
|
|
transition: top var(--transition-base);
|
|
}
|
|
|
|
.skip-link:focus {
|
|
top: 0;
|
|
}
|
|
|
|
/* Responsive Design */
|
|
@media (max-width: 768px) {
|
|
.main-nav {
|
|
padding: 0 var(--space-md);
|
|
}
|
|
|
|
.logo {
|
|
font-size: var(--font-size-xl);
|
|
}
|
|
}
|
|
|
|
/* High Contrast Mode */
|
|
@media (forced-colors: active) {
|
|
header {
|
|
border-bottom: 1px solid CanvasText;
|
|
}
|
|
|
|
.logo-text,
|
|
.logo-sys {
|
|
background: none;
|
|
color: CanvasText;
|
|
}
|
|
}
|
|
|
|
/* Reduced Motion */
|
|
@media (prefers-reduced-motion: reduce) {
|
|
header,
|
|
.scroll-progress,
|
|
#theme-toggle,
|
|
.skip-link {
|
|
transition: none;
|
|
}
|
|
|
|
#theme-toggle:hover i {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
/* Dark Theme Specific */
|
|
.dark-theme header {
|
|
background: rgba(10, 10, 10, 0.8);
|
|
}
|
|
|
|
/* Light Theme Specific */
|
|
.light-theme header {
|
|
background: rgba(242, 242, 242, 0.8);
|
|
}
|