.site-startup {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 100vh;
  padding: 24px;
  color: #374151;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-align: center;
}
/* 与 RouteProgressBar 相同的顶部进度条；React 接管后从当前进度继续。 */
.site-startup-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 2100;
  pointer-events: none;
}
.site-startup-progress-fill {
  height: 100%;
  background: #319795;
  box-shadow: 0 0 6px #38b2ac;
  transform-origin: left;
  transform: scaleX(0.82);
  animation: site-startup-progress-in 8s cubic-bezier(0.1, 0.6, 0.2, 1);
}
.site-startup[aria-busy="false"] .site-startup-progress { display: none; }
/* 正常加载只显示进度条；超过 8 秒或失败时才显示说明与操作。 */
.site-startup:not([data-attention]) .site-startup-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.site-startup-text { margin: 0; line-height: 1.5; }
.site-startup-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.site-startup [hidden] { display: none !important; }
.site-startup button {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.site-startup button:hover { background: #f1f5f9; }
.site-startup button:focus-visible { outline: 2px solid #0f766e; outline-offset: 3px; }
.dark .site-startup { color: #d1d5db; }
.dark .site-startup button { border-color: #64748b; }
.dark .site-startup button:hover { background: #334155; }
.dark .site-startup button:focus-visible { outline-color: #5eead4; }
@keyframes site-startup-progress-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(0.82); }
}
@media (prefers-reduced-motion: reduce) {
  .site-startup-progress-fill { animation: none; }
}
