/* ── ANNOUNCEMENT BAR ── */
.announce-bar{
  background:linear-gradient(90deg,#020c18,#041828,#020c18);
  border-bottom:1px solid rgba(0,212,255,.18);
  padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:14px;
  position:relative;z-index:3000;overflow:hidden;
}
.announce-bar::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);}
.announce-tag{background:var(--cyan);color:var(--bg);font-family:var(--mono);font-size:10px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:1.5px;flex-shrink:0;}
.announce-text{font-family:var(--mono);font-size:12px;color:var(--muted);}
.announce-text strong{color:var(--text);}
.announce-link{color:var(--cyan);text-decoration:none;font-family:var(--mono);font-size:11px;border:1px solid rgba(0,212,255,.3);padding:3px 12px;border-radius:20px;flex-shrink:0;transition:all .2s;letter-spacing:.5px;}
.announce-link:hover{background:var(--cyan);color:var(--bg);}
@media(max-width:640px){.announce-text{display:none;}.announce-bar{justify-content:space-between;}}

/* ── TOP BAR ── */
.top-bar{background:linear-gradient(90deg,#020c18,#041828);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:46px;position:relative;z-index:200;}
.top-left{display:flex;align-items:center;gap:10px;}
.top-brand-name{font-family:var(--head);font-size:1rem;font-weight:700;color:var(--cyan);letter-spacing:2px;text-transform:uppercase;}
.top-right{display:flex;align-items:center;gap:20px;}
.top-item{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:none;transition:color .2s;}
.top-item:hover{color:var(--cyan);}
@media(max-width:600px){.top-bar{padding:0 12px;}.addr-hide{display:none;}.top-brand-name{font-size:.85rem;}.top-item{font-size:10px;}.top-right{gap:10px;}}

/* ── NAVBAR ── */
.site-header{background:rgba(4,12,28,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:500;}
.site-inner{max-width:1300px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;}
.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;}
.nav-list{display:flex;align-items:center;gap:4px;list-style:none;flex-wrap:wrap;}
.nav-link{font-family:var(--head);font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:4px;border:1px solid transparent;transition:all .2s;white-space:nowrap;cursor:pointer;background:none;}
.nav-link:hover{color:var(--cyan);border-color:var(--border);background:rgba(0,212,255,.06);}
.nav-login{background:transparent!important;border:1.5px solid var(--cyan)!important;color:var(--cyan)!important;}
.nav-login:hover{background:var(--cyan)!important;color:var(--bg)!important;}
.nav-ticket{background:linear-gradient(135deg,#e53935,#b71c1c)!important;border-color:transparent!important;color:#fff!important;border-radius:50px!important;}
.nav-ticket:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(229,57,53,.4);}
.nav-sub{display:block;font-size:9px;color:var(--gold);font-weight:400;letter-spacing:0;}
.has-dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:var(--panel2);border:1px solid var(--border);border-radius:10px;width:240px;max-height:65vh;overflow-y:auto;z-index:9999;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.dropdown-menu a{display:block;padding:10px 16px;font-family:var(--body);font-size:13px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--border2);transition:all .2s;}
.dropdown-menu a:hover{background:rgba(0,212,255,.08);color:var(--cyan);padding-left:22px;}
.dropdown-menu a:last-child{border-bottom:none;}
.nav-toggle{display:none;background:rgba(0,212,255,.08);border:1px solid var(--border);padding:10px;border-radius:6px;cursor:pointer;flex-direction:column;gap:4px;}
.ham-line{width:20px;height:2px;background:var(--cyan);border-radius:2px;transition:.3s;}
@media(max-width:900px){
  .nav-toggle{display:flex;}
  .nav-list{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);padding:12px;gap:4px;z-index:600;}
  .nav-list.open{display:flex;}
  .nav-link{width:100%;padding:10px 14px;}
  .dropdown-menu{position:static;box-shadow:none;border-radius:0;width:100%;}
}

/* Logo animation (required for header) */
.logo-anim-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}
.logo-anim-wrap::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px dashed rgba(0,212,255,0.55);
  animation: logoOrbitSpin 5s linear infinite;
  z-index: 0;
}
.logo-anim-wrap::after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00d4ff;
  box-shadow: 0 0 8px #00d4ff, 0 0 16px rgba(0,212,255,.6);
  top: -3px;
  left: 50%;
  margin-left: -4px;
  transform-origin: 4px calc(50% + 3px);
  animation: logoOrbitSpin 5s linear infinite;
  z-index: 3;
}
.logo-anim-wrap img {
  position: relative;
  z-index: 2;
  border-radius: 50%;
  object-fit: cover;
  animation: logoPulseGlow 2.8s ease-in-out infinite;
  border: 1.5px solid rgba(0,212,255,.35) !important;
  box-shadow: 0 0 14px rgba(0,212,255,.45) !important;
}
@keyframes logoOrbitSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes logoPulseGlow {
  0%,100% { box-shadow: 0 0 14px rgba(0,212,255,.45); }
  50%     { box-shadow: 0 0 28px rgba(0,212,255,.8), 0 0 45px rgba(0,229,160,.3); }
}
