/* ═══════════════════════════════════════════
   SCREENS (shared)
   ═══════════════════════════════════════════ */
.screen {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity var(--t-slow);
  z-index: var(--z-overlay);
}

.screen[hidden] { display: none; }

.screen--blurred {
  filter: blur(4px) brightness(0.4);
  pointer-events: none;
}

.screen--dead {
  filter: blur(6px) brightness(0.2) grayscale(0.6);
}

/* ─── Game Screen ─── */
.screen--game {
  background: transparent;
  justify-content: flex-start;
  align-items: stretch;
  padding: 10px 16px;
  gap: 10px;
  filter:
    brightness(var(--depth-brightness, 1))
    saturate(var(--depth-saturation, 1))
    hue-rotate(var(--depth-hue, 0deg));
  transition: filter 1.5s ease;
}

/* ═══════════════════════════════════════════
   GAME AREA — 3-column layout
   ═══════════════════════════════════════════ */
.game-area {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 16px;
  flex: 1;
  min-height: 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.game-area__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  width: 180px;
  align-self: stretch;
}

.game-area__right {
  width: 240px;
  flex-shrink: 0;
  align-self: stretch;
  min-height: 200px;
  display: flex;
  flex-direction: column;
}

/* ═══════════════════════════════════════════
   GRID CONTAINER
   ═══════════════════════════════════════════ */
.grid-container {
  position: relative;
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

/* ═══════════════════════════════════════════
   D-PAD
   ═══════════════════════════════════════════ */
.dpad__btn--empty {
  background: transparent;
  border: none;
  pointer-events: none;
  box-shadow: none;
}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 700px) {
  .game-area {
    flex-direction: column;
    gap: 8px;
  }
  .game-area__left {
    order: 2;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
  }
  .game-area__left .sidebar__section { width: auto; flex: 1; min-width: 120px; }
  .game-area__right {
    order: 3;
    width: 100%;
    min-height: 80px;
    max-height: 130px;
  }
  .screen--title h1 { font-size: 2rem; }
}

@media (min-width: 1024px) {
  .game-area__right { width: 250px; }
}
