:root { color-scheme: dark; }
* { -webkit-tap-highlight-color: transparent; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif; }
.loading { text-align: center; padding: 4rem 1rem; color: #94a3b8; }

/* フェーズ背景 */
.phase-night { background: linear-gradient(180deg, #0f172a 0%, #1e1b4b 100%); }
.phase-day { background: linear-gradient(180deg, #1e293b 0%, #334155 100%); }
.phase-vote { background: linear-gradient(180deg, #1e293b 0%, #422006 100%); }

/* ボタン共通 */
.btn { transition: transform .08s ease, opacity .15s ease; }
.btn:active { transform: scale(0.97); }
.btn:disabled { opacity: .45; cursor: not-allowed; }

/* 選択カード */
.select-card { transition: all .12s ease; }
.select-card.selected { outline: 3px solid #38bdf8; background: rgba(56,189,248,.15); }

/* ログのフェードイン */
.log-item { animation: fadeIn .3s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(4px);} to { opacity:1; transform:none;} }

/* チャットスクロール */
.chat-box { max-height: 200px; overflow-y: auto; }
.chat-box::-webkit-scrollbar { width: 6px; }
.chat-box::-webkit-scrollbar-thumb { background: #475569; border-radius: 3px; }

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

/* オンライン/オフラインドット */
.online-dot, .offline-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:5px; vertical-align:middle; }
.online-dot { background:#34d399; box-shadow:0 0 4px #34d399; }
.offline-dot { background:#64748b; }

/* 自役職パネル */
.role-panel { position: sticky; top: 52px; z-index: 5; }

/* ローディング */
.loading { text-align:center; padding:4rem 1rem; color:#94a3b8; }
