
:root{
  --bg:#070a12;
  --card: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.12);
  --txt:#eaf2ff;
  --muted: rgba(234,242,255,.72);
  --glow: rgba(0,255,255,.22);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background: radial-gradient(1200px 800px at 20% 10%, rgba(0,255,255,.12), transparent 55%),
              radial-gradient(900px 700px at 80% 20%, rgba(0,120,255,.14), transparent 55%),
              var(--bg);
  color:var(--txt);
}
.overlay{
  min-height:100vh;
  padding:40px 16px 28px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.hero{
  max-width:920px;
  margin:0 auto;
  text-align:center;
  padding-top:14px;
}
.badge{
  display:inline-block;
  padding:6px 12px;
  border:1px solid var(--stroke);
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.3px;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.03);
}
h1{
  margin:14px 0 6px;
  font-size:34px;
  line-height:1.15;
}
.subtitle{
  margin:0 auto;
  max-width:720px;
  color:var(--muted);
  font-size:15px;
}
.card{
  max-width:520px;
  margin:10px auto 0;
  width:100%;
  padding:22px;
  border-radius:22px;
  background: var(--card);
  border: 1px solid var(--stroke);
  box-shadow: 0 18px 55px rgba(0,0,0,.55), 0 0 0 1px rgba(0,255,255,.06);
  backdrop-filter: blur(14px);
}
label{display:block; text-align:left; font-weight:600; margin:10px 0 8px}
label.mini{font-size:12px; color:var(--muted); font-weight:600; margin:0 0 6px}
select,input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
  color:var(--txt);
  outline:none;
}
select:focus,input:focus{border-color: rgba(0,255,255,.35); box-shadow: 0 0 0 4px rgba(0,255,255,.10)}
.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:8px;
}
@media (max-width:560px){
  .grid2{grid-template-columns:1fr}
  h1{font-size:28px}
}
.cta{
  margin-top:14px;
  width:100%;
  border:none;
  padding:12px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
  color:#00121a;
  background: linear-gradient(135deg, #00f5ff, #3b82f6);
  box-shadow: 0 10px 30px rgba(0,255,255,.18);
}
.cta:hover{filter:brightness(1.05)}
.legal{
  margin-top:12px;
  font-size:12px;
  color:var(--muted);
  text-align:left;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:12px;
}
.footer{
  text-align:center;
  color:rgba(234,242,255,.55);
  font-size:12px;
  margin-top:6px;
}
/* result */
.result-card h2{margin:0 0 12px; text-align:left}
.meta{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-start; margin-bottom:12px}
.pill{
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  padding:6px 10px;
  border-radius:999px;
}
.numbers{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:10px 0 6px;
  justify-content:flex-start;
}
.numbers span{
  width:44px; height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: linear-gradient(135deg, rgba(0,255,255,.95), rgba(59,130,246,.95));
  color:#00121a;
  font-weight:800;
  box-shadow: 0 8px 18px rgba(0,255,255,.14);
}
.explain{
  margin-top:12px;
  text-align:left;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:12px;
}
.explain summary{
  cursor:pointer;
  font-weight:700;
  color:var(--txt);
  margin-bottom:8px;
}
.explain ul{margin:10px 0 0 18px; color:var(--muted); font-size:13px}
.actions{margin-top:16px}
.btn{
  display:inline-block;
  width:100%;
  text-align:center;
  padding:12px 14px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  color:var(--txt);
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.22);
}
.btn:hover{border-color: rgba(0,255,255,.35)}
