@font-face {
  font-family: Switzer;
  src: url('/assets/Switzer-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}
:root { color-scheme: light; font-family: Switzer, 'Segoe UI', sans-serif; color: #0a2a30; background: #f4fbfc; }
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; min-height: 100svh; padding: 48px 20px 28px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: radial-gradient(ellipse at 8% 10%, #04d9d93d, transparent 55%),
    radial-gradient(ellipse at 95% 15%, #b35fed30, transparent 55%),
    radial-gradient(ellipse at 65% 95%, #86c9ce40, transparent 55%);
}
.card {
  width: 100%; max-width: 840px; padding: 56px 64px 0; text-align: center; overflow: hidden;
  background: #ffffffc9; border: 1px solid #fff; border-radius: 36px;
  box-shadow: 0 24px 90px #02687314; backdrop-filter: blur(20px);
}
.brand { display: inline-flex; border-radius: 8px; }
.brand img { display: block; max-width: 100%; height: auto; }
.eyebrow { margin: 34px 0 20px; font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: #026873; }
.eyebrow > span { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #0396a8; }
h1 { margin: 0; font-size: clamp(36px, 5.5vw, 62px); font-weight: 650; line-height: 1.08; letter-spacing: -.045em; }
.gradient { color: #026873; background: linear-gradient(105deg, #0396a8, #b35fed); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.intro { margin: 24px auto 30px; color: #4a6a70; font-size: 17px; line-height: 1.65; max-width: 610px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 17px 25px; border-radius: 999px; color: #0a2a30; background: linear-gradient(105deg, #04d9d9, #9c8cdc); font-size: 16px; font-weight: 650; text-decoration: none; box-shadow: 0 8px 25px #0396a825; }
.button > span { font-size: 22px; line-height: 1; }
.button:hover { filter: brightness(1.04); }
a:focus-visible { outline: 3px solid #026873; outline-offset: 5px; }
.redirect { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 38px 0 30px; text-align: left; }
.countdown { display: flex; align-items: baseline; justify-content: center; min-width: 59px; padding: 12px 9px; border: 1px solid #0396a82b; background: #f4fbfc; border-radius: 18px; color: #026873; font-size: 27px; font-weight: 650; font-variant-numeric: tabular-nums; }
.unit { font-size: 13px; margin-left: 3px; }
.redirect p { margin: 0; }
.redirect-title { font-size: 14px; font-weight: 600; }
.redirect-detail { margin-top: 4px !important; font-size: 12px; color: #4a6a70; }
.progress { height: 4px; margin: 0 -64px; background: #e5eff2; }
.progress > span { display: block; width: 100%; height: 100%; transform-origin: left; background: linear-gradient(105deg, #04d9d9, #b35fed); }
footer { margin-top: 26px; text-align: center; font-size: 12px; color: #4a6a70; }
footer > span { margin: 0 7px; }
.fallback { font-size: 13px; color: #4a6a70; }
@media (max-width: 540px) {
  body { padding: 24px 16px; }
  .card { padding: 34px 22px 0; border-radius: 26px; }
  .brand img { width: 166px; }
  .eyebrow { font-size: 10px; line-height: 1.6; margin: 25px 0 16px; }
  .intro { font-size: 15px; margin: 21px 0 25px; }
  .desktop { display: none; }
  .button { font-size: 14px; gap: 14px; padding: 16px 20px; }
  .redirect { gap: 10px; margin-top: 28px; }
  .redirect-title { font-size: 12px; }
  .redirect-detail { font-size: 11px; }
  .progress { margin: 0 -22px; }
  footer { font-size: 10px; }
}
