:root {
  --night: #0d0b14;
  --ink: #f3ead8;
  --muted: #a49cb4;
  --ember: #ff8a3d;
  --panel: #1a1626;
  --line: #2d2740;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; }
body {
  background: radial-gradient(circle at 50% 22%, #3a1f12 0, var(--night) 55%) var(--night);
  color: var(--ink);
  font: 16px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif;
}
.stage {
  min-height: 100dvh;
  max-width: 480px;
  margin: 0 auto;
  padding: max(20px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.back { align-self: flex-start; color: var(--muted); font-size: 14px; text-decoration: none; padding: 8px 0; }
.back:hover { color: var(--ink); }
.lantern { width: 96px; height: 96px; margin: 40px 0 16px; display: grid; place-items: center; }
.lantern span {
  width: 34px; height: 46px;
  background: linear-gradient(#ffd38a, var(--ember));
  clip-path: polygon(50% 0, 100% 40%, 70% 100%, 30% 100%, 0 40%);
  box-shadow: 0 0 60px 20px #ff8a3d55;
  filter: drop-shadow(0 0 18px var(--ember));
  animation: glow 3.2s ease-in-out infinite;
}
@keyframes glow { 50% { opacity: .75; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .lantern span { animation: none; } }
h1 { font: 700 40px/1.1 Georgia, "Times New Roman", serif; letter-spacing: 1px; margin: 0 0 8px; }
.tagline { color: var(--muted); margin: 0 0 32px; }
.panel { width: 100%; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 20px; }
#status { margin: 0; }
dl { margin: 0; display: grid; gap: 12px; text-align: left; }
dl div { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding-bottom: 10px; }
dl div:last-child { border: 0; padding: 0; }
dt { color: var(--muted); }
dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.button {
  display: inline-block; margin-top: 16px; min-height: 44px; padding: 11px 20px; border-radius: 12px;
  background: var(--ember); color: #1d0e05; font-weight: 700; text-decoration: none;
}
.note { color: var(--muted); font-size: 13px; margin-top: auto; padding-top: 32px; }
