:root { -webkit-tap-highlight-color: transparent; }
* { box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif; }

.fade-in { animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px);} to {opacity:1; transform:none;} }

.btn {
  transition: transform .08s ease, background-color .15s ease, opacity .15s;
  user-select: none;
}
.btn:active { transform: scale(.97); }
.btn:disabled { opacity: .45; cursor: not-allowed; }

/* 選択リストの選択状態 */
.sel-item.selected {
  outline: 2px solid #38bdf8;
  background-color: rgba(56,189,248,.15) !important;
}

/* 役職バッジ */
.role-badge { letter-spacing: .05em; }

/* フェーズごとの背景アクセント */
.phase-night { background: linear-gradient(180deg,#0f172a,#1e1b4b); }
.phase-day   { background: linear-gradient(180deg,#0f172a,#334155); }

/* チャットスクロール */
.chat-scroll { scrollbar-width: thin; }
.chat-scroll::-webkit-scrollbar { width: 6px; }
.chat-scroll::-webkit-scrollbar-thumb { background:#475569; border-radius:3px; }

/* 死亡プレイヤー */
.dead { opacity: .4; text-decoration: line-through; }

/* トースト */
#toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
  background: #1e293b; border: 1px solid #475569; color: #f1f5f9;
  padding: 10px 16px; border-radius: 10px; font-size: 14px; z-index: 50;
  opacity: 0; transition: opacity .2s; pointer-events: none; max-width: 90%;
}
#toast.show { opacity: 1; }
