html,body,#root{margin:0;height:100%;background:#000;color:#fff;font-family:system-ui,sans-serif;overflow:hidden}button,a{color:inherit}.pairing{height:100vh;display:grid;place-items:center;background:radial-gradient(circle at center,#0b1f3d,#000 70%)}.pairing-card{text-align:center;padding:4rem}.pairing-eyebrow{text-transform:uppercase;letter-spacing:.4em;color:#93c5fd;font-size:1rem;margin:0 0 1rem}.pairing-code{font-size:12rem;letter-spacing:.1em;margin:0;font-variant-numeric:tabular-nums;font-weight:700}.pairing-instructions{font-size:1.5rem;margin:1rem 0 .5rem;opacity:.85}.pairing-timer{font-size:1rem;opacity:.6;font-variant-numeric:tabular-nums}.standby{height:100vh;display:grid;place-items:center;background:#000;text-align:center}.standby h1{font-size:3rem;margin:0 0 .5rem}.standby p{opacity:.7}.stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000}.slot-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.occupancy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:6vh 8vw;background:linear-gradient(135deg,#0f172a,#020617)}.occupancy-title{font-size:4vw;text-transform:uppercase;letter-spacing:.2em;margin:0 0 4vh;color:#cbd5f5}.occupancy-grid{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4vw}.occupancy-zone{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:4vh 3vw;display:flex;flex-direction:column;gap:2vh;--accent: #22c55e}.zone-label{font-size:2vw;text-transform:uppercase;letter-spacing:.15em;opacity:.7}.zone-numbers{display:flex;align-items:baseline;gap:.5rem}.zone-free{font-size:12vw;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.zone-total{font-size:3vw;opacity:.5;font-variant-numeric:tabular-nums}.zone-bar{height:.6rem;background:#ffffff14;border-radius:999px;overflow:hidden}.zone-bar-fill{height:100%;background:var(--accent);transition:width .6s ease}.occupancy-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.occupancy-empty h2{font-size:4vw;margin:0 0 1rem}.offline-badge{position:absolute;bottom:1.5vh;right:1.5vw;background:#ef4444cc;color:#fff;padding:.4rem .8rem;border-radius:999px;font-size:.85rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}
