/* Shared masthead based on the home page. Keep every public page in sync. */
#site-header {
    box-sizing: border-box; width: 100%; margin: 0; padding: 20px 0;
    position: relative; overflow: hidden; flex: 0 0 auto; text-align: left;
    background: linear-gradient(180deg, #050507, #1a0a2e);
    border: 0; border-bottom: 2px solid #6b2fa0;
    font-size: 16px; line-height: 1.4;
}
#site-header::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(107,47,160,.2), transparent 70%);
}
#site-header .site-header-inner {
    box-sizing: border-box; max-width: 1400px; width: 100%; margin: 0 auto; padding: 0 20px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    position: relative; z-index: 1;
}
#site-header .site-brand { display: flex; flex: 0 0 auto; align-items: center; gap: 15px; text-decoration: none; }
#site-header .site-brand-icon {
    box-sizing: border-box; display: block; width: 60px; height: 60px; overflow: hidden;
    border: 2px solid #b8960b; border-radius: 8px;
    animation: site-logo-pulse 2s ease-in-out infinite;
}
#site-header .site-brand-icon img { display: block; width: 60px; height: 60px; max-width: none; object-fit: cover; margin: 0; }
#site-header .site-brand-text {
    font-family: 'Creepster', cursive; font-size: 2.5rem; font-weight: 400;
    color: #ffd700; letter-spacing: 2px; text-transform: none;
    text-shadow: 0 0 10px #ff0040, 0 0 20px #ff0040, 3px 3px 0 #8b0000;
    animation: site-text-glitch 3s infinite;
}
#site-header .site-nav { display: block; margin: 0; padding: 0; width: auto; }
#site-header .site-nav ul { display: flex; align-items: center; gap: 30px; list-style: none; margin: 0; padding: 0; }
#site-header .site-nav li { display: block; margin: 0; padding: 0; }
#site-header .site-nav a {
    box-sizing: border-box; display: block; margin: 0; padding: 10px 15px;
    position: relative; border: 1px solid transparent; border-radius: 0;
    font-family: 'Russo One', sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.4;
    color: #e8e8e8; text-decoration: none; text-transform: uppercase; letter-spacing: 1px;
    white-space: nowrap; background: transparent; text-shadow: none;
    transition: color .2s, border-color .2s, background .2s;
}
#site-header .site-nav a:hover, #site-header .site-nav a:focus-visible {
    color: #ffd700; border-color: #6b2fa0; background: rgba(107,47,160,.2);
    text-shadow: 0 0 10px #ffd700;
}
#site-header .site-nav a::before {
    content: '>'; position: absolute; left: 0; opacity: 0;
    transform: translateX(-10px); transition: opacity .2s, transform .2s; color: #ff0040;
}
#site-header .site-nav a:hover::before { opacity: 1; transform: translateX(-5px); }
#site-header a:focus-visible { outline: 2px solid #ffd700; outline-offset: 3px; }
@keyframes site-logo-pulse { 0%,100% { box-shadow: 0 0 20px rgba(139,0,0,.5); } 50% { box-shadow: 0 0 40px rgba(255,0,64,.8); } }
@keyframes site-text-glitch { 0%,94%,100% { transform: translate(0); } 95% { transform: translate(-2px,1px); } 96% { transform: translate(2px,-1px); } }
@media (max-width: 1000px) {
    #site-header .site-header-inner { flex-direction: column; gap: 20px; }
    #site-header .site-nav ul { gap: 15px; flex-wrap: wrap; justify-content: center; }
}
@media (max-width: 600px) {
    #site-header .site-brand-text { font-size: 1.8rem; }
    #site-header .site-nav { width: 100%; max-width: 430px; }
    #site-header .site-nav ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 12px; }
    #site-header .site-nav a { text-align: center; padding: 10px 8px; }
}
@media (prefers-reduced-motion: reduce) {
    #site-header .site-brand-icon, #site-header .site-brand-text { animation: none; }
    #site-header .site-nav a, #site-header .site-nav a::before { transition: none; }
}
/* The error page previously centered the entire body and had no masthead. */
body.site-error { display: block; padding: 0; }
.site-error .error-container { margin: 48px auto; padding: 0 20px; }
