/* 常驻页头外壳：正文各自运行，顶部 DOM 在菜单切换时保留。 */
html.szh-app-shell, .szh-app-shell body { height: 100%; margin: 0; overflow: hidden; }
.szh-app-shell body { display: flex; flex-direction: column; background: #f2f5fa; color: #193456; font-family: system-ui, sans-serif; }
.szh-app-shell body > .szh { z-index: 10; }
/* 选中底色直接画在按钮上，避免滑动底板与悬停层交叠时露出浅色圆角。 */
.szh-app-shell body > .szh .szh-nav[data-indicator]::before { content: none; }
.szh-app-shell body > .szh .szh-nav a {
  overflow: hidden;
  border-radius: 8px;
  transition: none;
  -webkit-tap-highlight-color: transparent;
}
.szh-app-shell body > .szh .szh-nav a:hover { background: rgba(102, 166, 255, .16); }
.szh-app-shell body > .szh .szh-nav[data-indicator] a.on { background: #2160d3; }
.szh-app-shell .szh-tbtn:disabled { opacity: .35; cursor: default; }
#szhContent { position: relative; flex: 1; min-height: 0; overflow: hidden; padding: 0; margin: 0; max-width: none; width: 100%; }
.szh-content-frame { position: absolute; left: 0; width: 100%; border: 0; background: #f2f5fa; }
.szh-content-frame[hidden] { display: none; }
.szh-content-frame.is-loading, .szh-content-frame.is-inactive { visibility: hidden; pointer-events: none; }
#szhContentLoading { position: absolute; inset: 0; display: grid; place-content: center; font-size: 14px; color: #607089; }
#szhContentLoading[hidden], #szhContentError[hidden] { display: none; }
#szhContentError { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #f6f8fc; padding: 24px; text-align: center; }
#szhContentError h2 { font-size: 20px; margin: 0; }
#szhContentError p { color: #607089; margin: 0; line-height: 1.6; }
#szhContentRetry { border: 1px solid #2160d3; border-radius: 6px; background: #2160d3; color: white; padding: 9px 22px; font: inherit; cursor: pointer; }
#szhContentRetry:focus-visible { outline: 3px solid #9cddff; outline-offset: 3px; }

/* 首页的专区入口成为常驻顶栏的一部分，原图标与入口保持可用。 */
.szh .zone-hbtn { gap: 7px; }
.szh .zone-hbtn .zmarq { overflow: hidden; width: 88px; border-radius: 5px; mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.szh .zone-hbtn .zrail { display: flex; width: max-content; animation: szh-zone-scroll 34s linear infinite; }
.szh .zone-hbtn:hover .zrail { animation-play-state: paused; }
.szh .zone-hbtn .zt { display: flex; align-items: center; gap: 5px; padding-right: 5px; }
.szh .zone-hbtn .zt img { display: block; height: 17px; width: auto; border-radius: 4px; background: #fff; }
@keyframes szh-zone-scroll { to { transform: translateX(-50%); } }
@media (max-width: 1460px) { .szh-app-shell .szh .zone-hbtn .zmarq { display: none; } }
@media (max-width: 800px) { .szh-app-shell .szh .szh-sslot { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) {
  .szh .zone-hbtn .zrail { animation: none; }
}

/* 首次打开保持原正文可见；小提示提供反馈，缓存命中不闪现加载提示。 */
#szhContentLoading.over-content {
  inset: 12px 18px auto auto; z-index: 3; display: block; padding: 8px 14px;
  border: 1px solid #c8d8ef; border-radius: 8px; background: #fff; color: #245a93;
  box-shadow: 0 3px 14px rgba(22, 57, 105, .12); pointer-events: none;
}
#szhContentLoading[hidden] { display: none; }
