.site-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-topbar > .nav {
  position: relative;
  top: auto;
  z-index: auto;
}

.site-announcement {
  background: linear-gradient(110deg, #d8edf4 0%, #edf4ff 48%, #d8f1ed 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .16);
  color: #0a2036;
  font-family: 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', 'Noto Sans SC', sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.45;
}

.site-announcement[hidden] { display: none; }

.site-announcement-inner {
  max-width: 1120px;
  min-height: 35px;
  margin: 0 auto;
  padding: 5px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.site-announcement-text {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  text-align: center;
  overflow-wrap: anywhere;
}

.site-announcement-link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 24px;
  padding: 2px 9px;
  border-radius: 4px;
  background: #0e7490;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
}

.site-announcement-link:hover { background: #0a5a70; color: #fff; }

.site-announcement-link svg { width: 14px; height: 14px; }

.site-announcement-close {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 0;
  min-height: 0;
  padding: 2px;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #365e69;
  cursor: pointer;
}

.site-announcement-close:hover { background: rgba(14, 116, 144, .1); color: #0a2036; }
.site-announcement-close svg { width: 16px; height: 16px; }
.site-announcement-link:focus-visible,
.site-announcement-close:focus-visible { outline: 2px solid #0e7490; outline-offset: 2px; }

@media (max-width: 390px) {
  .site-announcement-inner { padding-left: 16px; padding-right: 16px; gap: 7px; }
  .site-announcement-text { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
