.header { position: sticky; top: 0; z-index: 100; background: rgba(133, 14, 53, 0.85); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border-subtle); } .header-inner { max-width: 1200px; margin: 0 auto; padding: 0.75rem 1.5rem; display: flex; align-items: center; justify-content: space-between; } .header-brand { display: flex; align-items: center; gap: 0.625rem; text-decoration: none; } .header-logo { display: flex; align-items: center; position: relative; width: 32px; height: 32px; } .thread-logo { width: 100%; height: 100%; } .thread-path-outer { stroke: var(--accent-primary); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 80; stroke-dashoffset: 80; animation: thread-unfold 4s ease-in-out infinite alternate; } .thread-core { fill: var(--text-primary); } .thread-line { stroke: var(--accent-secondary); stroke-width: 1; stroke-dasharray: 28; stroke-dashoffset: 28; animation: thread-line-flow 4s linear infinite; opacity: 0.6; } @keyframes thread-unfold { 0% { stroke-dashoffset: 80; opacity: 0.3; } 50% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: -80; opacity: 0.3; } } @keyframes core-pulse { 0% { transform: scale(0.8); opacity: 0.6; } 100% { transform: scale(1.2); opacity: 1; } } @keyframes thread-line-flow { 0% { stroke-dashoffset: 28; } 100% { stroke-dashoffset: -28; } } .header-title { font-size: 1.25rem; font-weight: 700; background: var(--accent-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -0.02em; } .header-badge { font-size: 0.6rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; padding: 0.125rem 0.4rem; border-radius: 4px; background: var(--accent-gradient); color: white; } .header-nav { display: flex; align-items: center; gap: 0.25rem; } .header-link { display: flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.75rem; border-radius: var(--radius-sm); font-size: 0.8rem; font-weight: 500; color: var(--text-muted); text-decoration: none; transition: all var(--transition-fast); } .header-link:hover { color: var(--text-secondary); background: rgba(255, 255, 255, 0.04); } .header-link.active { color: var(--accent-secondary); background: rgba(238, 105, 131, 0.1); } .header-status { display: flex; align-items: center; gap: 0.4rem; font-size: 0.7rem; color: var(--text-muted); margin-left: 0.75rem; padding-left: 0.75rem; border-left: 1px solid var(--border-subtle); } .status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--success); box-shadow: 0 0 8px var(--success); animation: pulse-glow-green 2s infinite; } @keyframes pulse-glow-green { 0%, 100% { box-shadow: 0 0 4px var(--success); } 50% { box-shadow: 0 0 12px var(--success); } } @media (max-width: 600px) { .header-nav { gap: 0; } .header-link span, .header-link svg+* { display: none; } .header-link { padding: 0.4rem; } .header-status { display: none; } }