:root{
  --bg-a:#1264ad;
  --bg-b:#0d9bc0;
  --blue:#0894d5;
  --blue-dark:#0f7dc1;
  --blue-deep:#166ac4;
  --cyan:#04a8be;
  --text:#31415a;
  --muted:#7d8ca3;
  --line:#a6dcff;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 50% 16%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(135deg,var(--bg-a),var(--bg-b));
}

.page-shell{width:min(450px,100%)}

.verify-card{
  position:relative;
  width:100%;
  min-height:560px;
  padding:58px 34px 32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.58);
  border-radius:28px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 26px 70px rgba(5,61,113,.28),inset 0 1px 0 rgba(255,255,255,.95);
  text-align:center;
  animation:cardIn .55s cubic-bezier(.18,.89,.32,1.08) both;
}

.verify-card::before{
  content:"";
  position:absolute;
  inset:-120px auto auto 50%;
  width:330px;
  height:330px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,175,235,.16),rgba(0,175,235,.045) 50%,transparent 72%);
  pointer-events:none;
}

.status-chip{
  position:absolute;
  top:18px;
  right:18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:26px;
  padding:5px 11px;
  border:1px solid #b9e4ff;
  border-radius:999px;
  background:#eff9ff;
  color:#168ac5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.55px;
}
.status-dot{display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#1da9dd;color:#fff;font-size:9px}

.robot-wrap{position:relative;display:grid;place-items:center;width:150px;height:150px;margin:4px auto 8px}
.robot-glow{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,rgba(26,189,241,.28),rgba(26,189,241,.09) 48%,transparent 72%);filter:blur(3px);animation:glow 2.5s ease-in-out infinite}
.robot{position:relative;width:104px;height:104px;color:#0d9bd8;filter:drop-shadow(0 8px 14px rgba(0,140,200,.14));animation:robotFloat 3.2s ease-in-out infinite}

h1{margin:8px 0 10px;color:#078ed1;font-size:24px;font-weight:900;line-height:1.12;letter-spacing:-.5px;text-shadow:0 3px 14px rgba(0,143,209,.14)}
.intro{max-width:330px;margin:0 auto 24px;color:#65748a;font-size:13.5px;line-height:1.55;font-weight:600}

.check-panel{
  display:grid;
  grid-template-columns:44px 1fr 64px;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:80px;
  padding:13px 16px;
  border:2px solid #b8e3ff;
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 8px 20px rgba(16,124,193,.08);
  color:var(--text);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.check-panel:hover{transform:translateY(-1px);border-color:#84d2ff;box-shadow:0 12px 26px rgba(16,124,193,.12)}
.check-panel:active{transform:scale(.995)}

.check-box{display:grid;place-items:center;width:30px;height:30px;border:2px solid #20aef2;border-radius:8px;background:#fff;transition:.2s ease}
.check-icon{width:20px;height:20px;fill:#fff;opacity:0;transform:scale(.55);transition:.22s ease}
.check-label{text-align:left;font-size:14px;font-weight:800;color:#3d4656}
.shield{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#16a2dc}
.shield svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.shield small{color:#8796aa;font-size:7px;font-weight:800;letter-spacing:.3px}

.check-panel.is-checked{border-color:#53c7ff;background:linear-gradient(180deg,#f8fdff,#eef9ff);box-shadow:0 12px 28px rgba(0,151,213,.15),0 0 0 6px rgba(83,199,255,.06)}
.check-panel.is-checked .check-box{border-color:#0b9fe5;background:linear-gradient(180deg,#39bdf4,#0a93d8);box-shadow:0 5px 12px rgba(0,145,210,.18)}
.check-panel.is-checked .check-icon{opacity:1;transform:scale(1)}

.primary-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:58px;
  margin-top:14px;
  overflow:hidden;
  border:0;
  border-radius:17px;
  background:linear-gradient(90deg,#2578ef,#157bd6 55%,#07a1b6);
  color:#fff;
  box-shadow:0 11px 20px rgba(13,107,195,.24),inset 0 1px 0 rgba(255,255,255,.22);
  font-size:15.5px;
  font-weight:900;
  letter-spacing:.15px;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,opacity .18s ease;
}
.primary-btn::after{content:"";position:absolute;top:0;left:-36%;width:22%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-20deg);animation:sweep 3s ease-in-out infinite}
.primary-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}
.primary-btn:active:not(:disabled){transform:translateY(1px)}
.primary-btn:disabled{opacity:.46;cursor:not-allowed;filter:saturate(.7);box-shadow:none}
.primary-btn:disabled::after{display:none}
.button-dot{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#ffcc27;color:#fff;font-size:11px;box-shadow:0 2px 5px rgba(0,0,0,.10)}

.foot-copy{margin-top:18px;color:#9aa6b8;font-size:11px;line-height:1.55}
.foot-copy p{margin:2px 0}

.redirect-state{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(248,252,255,.99));animation:fadeIn .28s ease both}
.redirect-state[hidden]{display:none}
.count-ring{display:grid;place-items:center;width:118px;height:118px;margin-bottom:18px;border-radius:50%;background:conic-gradient(#159ad7 0deg,#159ad7 0deg,#ddecf8 0deg);box-shadow:0 12px 28px rgba(17,143,203,.15);position:relative}
.count-ring::after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px rgba(14,144,205,.08)}
.count-ring span{position:relative;z-index:2;color:#078ed1;font-size:34px;font-weight:900}
.redirect-state h2{margin:0 0 8px;color:#078ed1;font-size:20px;font-weight:900}
.redirect-state p{margin:0 auto 8px;max-width:310px;color:#6f7f95;font-size:13px;line-height:1.55;font-weight:600}
.redirect-state small{color:#9aa8ba;font-size:11px}

@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes robotFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes glow{0%,100%{transform:scale(.94);opacity:.7}50%{transform:scale(1.06);opacity:1}}
@keyframes sweep{0%{left:-36%;opacity:0}12%{opacity:1}46%{left:116%;opacity:1}100%{left:116%;opacity:0}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

@media(max-width:480px){
  body{padding:14px}
  .verify-card{min-height:540px;padding:54px 20px 26px;border-radius:24px}
  .status-chip{top:14px;right:14px;font-size:9px}
  .robot-wrap{width:132px;height:132px}.robot{width:94px;height:94px}
  h1{font-size:21px}.intro{font-size:12.5px;margin-bottom:20px}
  .check-panel{grid-template-columns:38px 1fr 54px;gap:9px;min-height:74px;padding:12px 12px}.check-label{font-size:12.5px}.shield svg{width:27px;height:27px}
  .primary-btn{min-height:54px;font-size:13.5px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
