:root {
  color-scheme: dark;
  font-family: "Microsoft YaHei", "Noto Sans SC", sans-serif;
  background: #06111f;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: #eef7ff;
  background:
    linear-gradient(rgba(88, 152, 202, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88, 152, 202, .055) 1px, transparent 1px),
    radial-gradient(circle at 50% 36%, rgba(19, 167, 206, .17), transparent 38%),
    #06111f;
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.portal-shell {
  display: grid;
  min-height: 100vh;
  padding: clamp(24px, 5vw, 96px);
  place-items: center;
}

.portal-card {
  width: min(100%, 1120px);
  padding: clamp(36px, 6vw, 100px);
  text-align: center;
  border: 1px solid rgba(74, 211, 239, .35);
  box-shadow: 0 0 45px rgba(24, 184, 222, .1), inset 0 0 52px rgba(12, 80, 126, .13);
  background: rgba(8, 24, 43, .78);
}

.brand-mark { color: #84cff2; font-size: clamp(17px, 1.7vw, 28px); letter-spacing: 3px; }
.brand-mark span { display: inline-block; width: .6em; height: .6em; margin-right: .45em; border-radius: 50%; background: #35e3bd; box-shadow: 0 0 16px #35e3bd; }
h1 { margin: clamp(30px, 5vh, 66px) 0 20px; color: #c6f5ff; font-size: clamp(34px, 4vw, 72px); letter-spacing: 10px; }
#portalMessage { margin: 0; color: #fff; font-size: clamp(21px, 2.2vw, 38px); }
.status-line { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 28px; color: #55dff7; font-size: clamp(16px, 1.5vw, 25px); }
.status-line i { width: 11px; height: 11px; border-radius: 50%; background: #37e4be; box-shadow: 0 0 18px #37e4be; animation: blink 1.4s ease-in-out infinite; }
.portal-help { margin: clamp(50px, 8vh, 100px) 0 0; color: #8faac7; font-size: clamp(14px, 1.25vw, 22px); }
.portal-help strong { color: #f8c548; font-weight: 600; }
@keyframes blink { 50% { opacity: .28; transform: scale(.8); } }
