/* 图片在 Cocos 后方，只有两侧透明按钮在前方；不裁剪 Cocos 的烟花。 */
#pc-game-wall {
  display: contents;
  pointer-events: none;
  user-select: none;
}
#pc-game-wall[hidden] { display: none; }
.has-desktop-game-wall { z-index: 1; }
.game-wall-side, .game-wall-control { position: fixed; top: 0; bottom: 0; }
.game-wall-side {
  z-index: 0; overflow: hidden; background: #0b131c;
}
.game-wall-control {
  z-index: 2; background: transparent; overflow: hidden;
  margin: 0; padding: 0; border: 0; border-radius: 0; appearance: none;
  pointer-events: auto; cursor: pointer; color: rgba(255, 255, 255, .65);
}
.game-wall-control:focus-visible { outline: 1px solid currentColor; outline-offset: -4px; }
.game-wall-left {
  left: 0; width: var(--left-width); --duration: var(--left-duration); --fade-direction: 90deg;
  --board-width: var(--left-board-width); --board-height: var(--left-board-height);
}
.game-wall-right {
  right: 0; width: var(--right-width); --duration: var(--right-duration); --fade-direction: 270deg;
  --board-width: var(--right-board-width); --board-height: var(--right-board-height);
}
.game-wall-board {
  pointer-events: none;
  position: absolute;
  left: 50%; top: 50%; width: var(--board-width); height: var(--board-height);
  display: grid;
  gap: var(--tile-gap);
  align-items: start;
  transform: translate(-50%, -50%) rotate(-12deg);
}
.game-wall-track {
  display: flex; flex-direction: column; gap: var(--tile-gap); width: 100%;
  animation: game-wall-drift var(--duration) linear infinite;
}
.game-wall-tile {
  flex: 0 0 var(--tile-height);
  border-radius: 10px; opacity: .72;
  /* 与参考站相同，卡片底色始终保留，图片未就绪时直接作为占位。 */
  background-color: #3f3f46;
  background-image: var(--atlas-image);
  background-size: var(--atlas-size);
  background-repeat: no-repeat;
}
.game-wall-side::after {
  pointer-events: none;
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 13, 20, .48), rgba(7, 13, 20, .08) 45%, rgba(7, 13, 20, .7)),
    linear-gradient(var(--fade-direction), rgba(15, 26, 36, .2), rgba(15, 26, 36, .92));
}
/* 内侧各绘制一条分隔线，不改变照片墙宽度和大厅边界。 */
.game-wall-left::after { box-shadow: inset -1px 0 0 #050a0f; }
.game-wall-right::after { box-shadow: inset 1px 0 0 #050a0f; }
#pc-game-wall.is-paused .game-wall-track { animation-play-state: paused; }
@keyframes game-wall-drift { to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .game-wall-track { animation: none; }
}
