/* Custom styles */
html, body { -webkit-tap-highlight-color: transparent; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif; }

/* スコア入力ボタンのタップ感 */
.score-btn:active { transform: scale(0.92); }

/* バナー点滅 */
@keyframes pulse-lime {
  0%, 100% { box-shadow: 0 0 0 0 rgba(163, 230, 53, 0.7); }
  50% { box-shadow: 0 0 0 10px rgba(163, 230, 53, 0); }
}
.next-banner { animation: pulse-lime 2s infinite; }

/* セーフエリア */
.safe-bottom { padding-bottom: env(safe-area-inset-bottom); }
.safe-top { padding-top: env(safe-area-inset-top); }

/* スクロール抑制 */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* タイマーが赤くなる */
.timer-warning { color: #fca5a5; }
.timer-danger { color: #ef4444; animation: blink 0.6s steps(2, start) infinite; }
@keyframes blink {
  to { visibility: hidden; }
}
