:root{
  --bg0:#0b1220;
  --bg1:#0f1a33;
  --card:#0f172a;
  --stroke:rgba(255,255,255,.10);
  --stroke2:rgba(255,255,255,.14);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.68);
  --muted2:rgba(255,255,255,.52);
  --shadow: 0 24px 60px rgba(0,0,0,.45);
  --r:22px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 20% 10%, #162a57 0%, rgba(22,42,87,0) 55%),
              radial-gradient(1100px 700px at 80% 20%, #2a1b57 0%, rgba(42,27,87,0) 60%),
              linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow:hidden;
}

.bg{position:fixed; inset:0; pointer-events:none;}
.grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(60% 55% at 50% 35%, #000 60%, transparent 100%);
  opacity:.45;
}
.blob{
  position:absolute;
  width:520px; height:520px;
  filter: blur(30px);
  opacity:.55;
  transform: translate3d(0,0,0);
  animation: float 12s ease-in-out infinite;
}
.b1{
  left:-120px; top:-140px;
  background: radial-gradient(circle at 30% 30%, rgba(120,255,203,.75), rgba(120,255,203,0) 60%);
}
.b2{
  right:-160px; bottom:-180px;
  background: radial-gradient(circle at 30% 30%, rgba(140,120,255,.72), rgba(140,120,255,0) 60%);
  animation-duration: 14s;
  animation-delay: -3s;
}

@keyframes float{
  0%,100%{transform: translate3d(0,0,0) scale(1)}
  50%{transform: translate3d(0,-18px,0) scale(1.03)}
}

.wrap{
  height:100%;
  display:grid;
  place-items:center;
  padding: 28px 18px;
}

.card{
  width:min(720px, 100%);
  border-radius: var(--r);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid var(--stroke);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 26px 26px 18px;
}

.header{
  display:flex;
  gap:16px;
  align-items:flex-start;
}

.mark{
  width:46px; height:46px;
  border-radius: 14px;
  border:1px solid var(--stroke2);
  background: radial-gradient(70% 70% at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}
.dot{
  width:12px; height:12px; border-radius:999px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 0 0 6px rgba(255,255,255,.10), 0 0 18px rgba(255,255,255,.24);
}

.kicker{
  margin:0;
  letter-spacing:.18em;
  font-weight:600;
  font-size:.78rem;
  color:var(--muted2);
}
h1{
  margin:.15rem 0 .35rem;
  font-size: clamp(2.0rem, 3.3vw, 2.65rem);
  line-height:1.08;
  letter-spacing:-.02em;
}
.sub{
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-size: 1rem;
  max-width: 62ch;
}

.status{
  margin-top: 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border: 1px solid var(--stroke);
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(0,0,0,.14);
}
.ping{
  width:10px; height:10px;
  border-radius:999px;
  background: rgba(120,255,203,.95);
  box-shadow: 0 0 0 0 rgba(120,255,203,.55);
  animation: pulse 1.7s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow: 0 0 0 0 rgba(120,255,203,.55)}
  65%{box-shadow: 0 0 0 10px rgba(120,255,203,0)}
  100%{box-shadow: 0 0 0 0 rgba(120,255,203,0)}
}
.pill .text{font-weight:600; color:rgba(255,255,255,.88)}

.meta{
  display:flex;
  align-items:baseline;
  gap:10px;
  padding: 10px 14px;
  border:1px solid var(--stroke);
  border-radius: 14px;
  background: rgba(0,0,0,.10);
}
.label{color:var(--muted2); font-size:.86rem}
.value{color:rgba(255,255,255,.90); font-weight:600}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}

.divider{
  margin: 18px 0 14px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}

.info{
  display:grid;
  gap:10px;
}
.row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.row .value{
  text-align:right;
  font-weight:600;
  max-width: 70%;
}

.footer{
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
  color:var(--muted2);
  font-size: .86rem;
}

@media (max-width:520px){
  .card{padding: 22px 18px 16px}
  .row{flex-direction:column; align-items:flex-start}
  .row .value{text-align:left; max-width: 100%}
}

/* Aksesibilitas: hormati preferensi pengguna yang mengurangi animasi */
@media (prefers-reduced-motion: reduce){
  .blob, .ping{animation:none}
}