.ann-banner{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--ban-h);background:#e85d00;background-size:200% 100%;display:flex;align-items:center;justify-content:center;font-size:clamp(.66rem,2vw,.8rem);font-weight:700;letter-spacing:.03em;color:#fff;gap:6px;border-bottom:1px solid rgba(0,0,0,.15);padding:0 40px;}
@keyframes ban-shimmer{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.ann-banner a{color:#fff;font-weight:900;text-decoration:underline;white-space:nowrap;}
.banner-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.15);border:none;cursor:pointer;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:900;transition:background .2s;}
.banner-close:hover{background:rgba(0,0,0,.28);}
.ann-banner.hidden{display:none;}
nav{position:fixed;left:0;right:0;z-index:100;top:var(--ban-h);display:flex;align-items:center;height:var(--nav-h);padding:0;background:rgba(10,6,0,.94);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);transition:border-color .3s,top .2s;}
nav.ban-gone{top:0;}
nav.scrolled{border-color:rgba(255,112,20,.22);}
.nav-logo-wrap{padding:0 clamp(14px,3vw,32px);flex-shrink:0;}
.logo{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(.95rem,2vw,1.25rem);letter-spacing:-.03em;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px;}
.logo-icon{width:28px;height:28px;border-radius:7px;object-fit:cover;}
.nav-links{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.75rem);list-style:none;flex:1;justify-content:center;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:clamp(.78rem,1.4vw,.88rem);font-weight:500;transition:color .2s;white-space:nowrap;display:flex;align-items:center;gap:6px;}
.nav-links a:hover{color:var(--text);}
.nav-right{display:flex;align-items:stretch;height:var(--nav-h);flex-shrink:0;margin-left:auto;}
.nav-panel-btn{background:#1c1c1c;color:#fff;padding:0 clamp(14px,2vw,26px);display:flex;align-items:center;gap:7px;font-weight:700;font-size:.86rem;text-decoration:none;white-space:nowrap;border-left:1px solid rgba(255,255,255,.07);transition:background .2s;}
.nav-panel-btn:hover{background:#2d2d2d;color:#fff;}
.nav-discord-btn{background:#ff2626;color:#fff;padding:0 clamp(14px,2vw,24px);display:flex;align-items:center;gap:6px;font-weight:700;font-size:.86rem;text-decoration:none;white-space:nowrap;transition:background .2s;}
.nav-discord-btn:hover{background:#e74c3c;color:#fff;}
.hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--muted);padding:8px;transition:color .2s;margin-right:10px;}
.hamburger:hover{color:var(--text);}
.hamburger i{font-size:1.3rem;}
.mob-menu{display:none;position:fixed;left:0;right:0;z-index:99;top:calc(var(--ban-h) + var(--nav-h));background:rgba(6,3,0,.98);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1rem 5vw 1.5rem;flex-direction:column;max-height:calc(100svh - var(--ban-h) - var(--nav-h));overflow-y:auto;}
.mob-menu.open{display:flex;}
.mob-menu.ban-gone{top:var(--nav-h);}
.mob-menu a{color:var(--muted);text-decoration:none;font-size:1rem;font-weight:600;padding:.75rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;transition:color .2s;}
.mob-menu a:last-child{border-bottom:none;}
.mob-menu a:hover{color:var(--text);}
.mob-menu a i{width:18px;text-align:center;color:var(--accent);font-size:.9rem;}
.mob-panel-btn{margin-top:.85rem;background:#1c1c1c;color:#fff!important;border-radius:8px;text-align:center;padding:.7rem!important;font-weight:800!important;border:none!important;justify-content:center!important;}
.mob-discord-btn{background:#ff2626;color:#fff!important;border-radius:8px;text-align:center;padding:.7rem!important;font-weight:800!important;margin-top:.4rem;border:none!important;justify-content:center!important;}
.page-top{height:calc(var(--ban-h) + var(--nav-h));}
.page-top.ban-gone{height:var(--nav-h);}
@media(max-width:860px){.nav-links{display:none;}.nav-right{display:none;}.hamburger{display:flex;}}
@media(max-width:560px){.ann-banner{font-size:.64rem;padding:0 32px;}}