@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800&display=swap');

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

body {
  background: #07101e;   /* 秋田の冬の夜空 */
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
  overflow: hidden;
  touch-action: none;
  font-family: 'M PLUS Rounded 1c', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', sans-serif;
  /* iOS safe area (ノッチ・ホームインジケーター対応) */
  padding: env(safe-area-inset-top) env(safe-area-inset-right)
           env(safe-area-inset-bottom) env(safe-area-inset-left);
}

.game-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100dvh;
}

#gameCanvas {
  display: block;
  cursor: crosshair;
  /* Let JS handle exact dimensions based on window size, but CSS enforces max boundaries */
  width: 100%;
  height: 100%;
  max-width: 100dvw;
  max-height: 100dvh;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* タッチデバイスではクロスヘアカーソル不要 */
@media (hover: none) and (pointer: coarse) {
  #gameCanvas {
    cursor: default;
  }
}
