/* 10-Foot Big Screen TV Safe Area, Glowing Focus Rings & 16:9 Pillarboxing */
:root {
  --tv-safe-top: 48px;
  --tv-safe-bottom: 48px;
  --tv-safe-left: 64px;
  --tv-safe-right: 64px;
  --focus-glow: 0 0 0 4px #00f5d4, 0 0 24px rgba(0, 245, 212, 0.6);
  --focus-glow-gold: 0 0 0 4px #facc15, 0 0 24px rgba(250, 204, 21, 0.7);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #080512;
  color: #f8fafc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  user-select: none;
  -webkit-user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 16:9 Aspect Ratio Pillarboxed Viewport */
.game-viewport {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, #1b0f38 0%, #080512 100%);
}

canvas#game-canvas {
  width: min(100vw, calc(100vh * (16 / 9)));
  height: min(100vh, calc(100vw * (9 / 16)));
  aspect-ratio: 16 / 9;
  object-fit: contain;
  box-shadow: 0 12px 60px rgba(0, 0, 0, 0.95);
  border-radius: 4px;
}

/* TV Focusable elements */
.tv-focusable {
  outline: none;
  transition: transform 0.15s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.15s ease;
}

.tv-focusable:focus,
.tv-focusable.tv-focused {
  transform: scale(1.08);
  box-shadow: var(--focus-glow);
  z-index: 10;
}

/* Xbox Controller Badges */
.xbox-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-family: 'Arial Black', sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.xbox-badge.btn-a { background: #107c10; }
.xbox-badge.btn-b { background: #e81123; }
.xbox-badge.btn-x { background: #0078d7; }
.xbox-badge.btn-y { background: #eab308; color: #111; }
