/* Authentik-like boot overlay — hides as soon as /boot.json is ready or times out. */
.pd-boot {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #071730;
  color: #fff;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.pd-boot.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.pd-boot__panel {
  display: grid;
  justify-items: center;
  gap: 1.1rem;
  text-align: center;
  padding: 2rem;
}
.pd-boot__mark {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.6rem;
  letter-spacing: -0.04em;
}
.pd-boot__mark span { color: #ffd166; }
.pd-boot__ring {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 3px solid rgba(255, 209, 102, 0.18);
  border-top-color: #ffd166;
  animation: pd-boot-spin 0.8s linear infinite;
}
.pd-boot__status {
  font-size: 0.85rem;
  color: #94aac8;
  min-height: 1.2em;
}
.pd-boot__steps {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 22rem;
}
.pd-boot__step {
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  border: 1px solid #1a3560;
  color: #6b8ab5;
}
.pd-boot__step.is-ok { color: #22c55e; border-color: rgba(34, 197, 94, 0.35); }
.pd-boot__step.is-degraded { color: #f59e0b; border-color: rgba(245, 158, 11, 0.35); }
@keyframes pd-boot-spin { to { transform: rotate(360deg); } }

.pd-freshness {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  padding: 0.65rem 0.9rem;
  border-radius: 12px;
  border: 1px solid var(--pd-border, #1a3560);
  background: var(--pd-bg-card, #0d2147);
  font-size: 0.85rem;
}
.pd-freshness--degraded,
.pd-freshness--fallback {
  border-color: rgba(245, 158, 11, 0.4);
}
.pd-freshness__mode {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.72rem;
}

.pd-live-board {
  display: grid;
  gap: 0.75rem;
}
.pd-park-wait {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem 1rem;
  align-items: center;
  padding: 0.95rem 1.05rem;
  border-radius: 14px;
  border: 1px solid var(--pd-border, #1a3560);
  background: var(--pd-bg-card, #0d2147);
  color: inherit;
  text-decoration: none;
}
.pd-park-wait:hover { border-color: var(--pd-brand, #ffd166); }
.pd-park-wait__name { font-weight: 750; font-size: 1.05rem; }
.pd-park-wait__meta { color: var(--pd-text-muted, #94aac8); font-size: 0.82rem; margin-top: 0.15rem; }
.pd-park-wait__longest { color: var(--pd-text-muted, #94aac8); font-size: 0.78rem; margin-top: 0.35rem; }
.pd-hero-search { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 1.1rem; max-width: 34rem; }
.pd-hero-search .pd-field { flex: 1; min-width: 12rem; }
.pd-auth__sso { display: grid; gap: 0.65rem; margin-bottom: 1rem; }
.pd-auth__divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0.75rem;
  align-items: center;
  color: var(--pd-text-muted, #94aac8);
  font-size: 0.78rem;
  margin: 0.4rem 0 1rem;
}
.pd-auth__divider::before,
.pd-auth__divider::after {
  content: "";
  height: 1px;
  background: var(--pd-border, #1a3560);
}
