:root {
  --navy: #002653;
  --navy-deep: #001a3b;
  --pink: #f73582;
  --white: #ffffff;
}

* { box-sizing: border-box; }

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--navy-deep);
}

button { font: inherit; }

.rotation-shell {
  position: relative;
  width: 100vw;
  height: 100vh;
  isolation: isolate;
  background: var(--navy-deep);
}

.rotation-screen {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 360ms ease, visibility 0s linear 360ms;
}

.rotation-screen[hidden] { display: block; }

.rotation-screen.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transition: opacity 360ms ease;
}

.rotation-screen iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.live-screen { background: var(--navy); }

.club-screen {
  background: var(--navy-deep);
}

.club-screen iframe {
  background: var(--navy-deep);
}

.preview-hud {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 10px 9px 15px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(0, 20, 49, 0.9);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  font: 700 12px/1 "Avenir Next", "Trebuchet MS", sans-serif;
  backdrop-filter: blur(16px);
}

.preview-hud[hidden] { display: none; }
.preview-hud strong { color: var(--white); }
.preview-hud span { margin-right: 5px; color: #ff8ebb; }

.preview-hud button {
  min-width: 34px;
  height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: var(--white);
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
}

.preview-hud button:hover { background: rgba(247, 53, 130, 0.32); }
.preview-hud button:focus-visible { outline: 3px solid #ff9fc5; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .rotation-screen { transition: none; }
}
