/* Picture Bingo — theme styles */
.scene.themed { background:linear-gradient(180deg,#FDF3E2 0%, #F7E6C8 55%, #E9D0A4 100%); }

.turn-bar { position:absolute; left:50%; transform:translateX(-50%); top:8px; z-index:9;
  background:rgba(255,251,245,.94); border-radius:999px; padding:6px 16px; font-weight:800;
  color:var(--navy); font-size:.92rem; box-shadow:0 3px 10px rgba(30,42,74,.18); }

.board-wrap { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center;
  padding:14px; padding-top:48px; padding-bottom:128px; }
.bingo-grid { grid-template-columns:repeat(3,1fr); max-width:min(92vw,440px); }
@media (min-aspect-ratio:5/4) { .bingo-grid { max-width:min(58vh,440px); } }

.bingo-cell { background:#fff; }
.bingo-cell img { width:100%; height:100%; object-fit:cover; }
.bingo-cell .cell-lab { position:absolute; left:0; right:0; bottom:0; background:rgba(255,251,245,.94);
  font-weight:700; font-size:clamp(.6rem,2.4vw,.82rem); color:var(--navy); padding:2px 3px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; }
.bingo-cell .chip { position:absolute; inset:8%; width:84%; height:84%; object-fit:contain;
  animation:chip-drop .38s cubic-bezier(.34,1.56,.64,1); pointer-events:none; }
@keyframes chip-drop { 0%{transform:scale(1.7) translateY(-20px); opacity:0} 100%{transform:none; opacity:1} }
.bingo-cell.covered { border-color:var(--coral); }
.bingo-cell.winline { animation:win-flash .7s ease-in-out 3; }
@keyframes win-flash { 0%,100%{ box-shadow:none } 50%{ box-shadow:0 0 0 5px var(--gold) } }
.bingo-cell.wobble { animation:cell-wob .38s ease-in-out; }
@keyframes cell-wob { 0%,100%{transform:rotate(0)} 30%{transform:rotate(-4deg)} 70%{transform:rotate(4deg)} }

.call-row { position:absolute; left:50%; transform:translateX(-50%); bottom:max(12px, env(safe-area-inset-bottom));
  z-index:8; display:flex; flex-direction:column; align-items:center; gap:6px; }
.caller { width:clamp(72px,17vw,104px); aspect-ratio:1; }
.caller img, .caller svg { width:100%; height:100%; object-fit:contain; }
.caller.rolling { animation:caller-roll .7s ease-in-out; }
@keyframes caller-roll { 0%,100%{transform:rotate(0) scale(1)} 25%{transform:rotate(-6deg) scale(1.05)} 75%{transform:rotate(6deg) scale(1.05)} }

.pcount { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.pcount .big-btn { flex:1; min-width:130px; }

@media (prefers-reduced-motion:reduce) { .bingo-cell.winline, .caller.rolling, .bingo-cell.chip { animation:none } }
@media (max-height:640px) { .board-wrap { padding-bottom:112px; padding-top:42px; } .caller { width:64px; } }
