html, body, #app { margin: 0; min-height: 100%; }
/* body background handled by opc-site.css */
a { color: inherit; text-decoration: none; }
svg { display: block; }
img { max-width: 100%; }
input, textarea, button { font: inherit; }
.site-switcher {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 36px;
  padding: 6px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  color: #111827;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
  backdrop-filter: blur(18px);
  box-sizing: border-box;
}
.site-link {
  height: 24px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font: 700 12px/1 -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  background: rgba(17, 24, 39, 0.04);
}
.site-link.active { color: #fff; background: #111827; }
.site-link:hover { background: rgba(17, 24, 39, 0.08); }
.site-link:focus-visible { outline: 2px solid #0f5c4f; outline-offset: 2px; }
.static-toast {
  position: fixed;
  left: 50%;
  bottom: 36px;
  z-index: 9999;
  max-width: min(420px, calc(100vw - 40px));
  padding: 11px 16px;
  border-radius: 999px;
  color: #fff;
  background: rgba(17, 24, 39, 0.88);
  font: 700 14px/1.35 -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.static-toast.show { opacity: 1; transform: translate(-50%, 0); }
.checkbox-group { display: block; }
.agree-cb { width: 18px; height: 18px; accent-color: #0f5c4f; flex: 0 0 auto; }
@media (max-width: 720px) {
  .site-switcher { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .site-link { white-space: nowrap; }
}