/* 基本的なスタイル */
body { font-family: sans-serif; line-height: 1.6; margin: 20px; background-color: #f4f4f4; color: #333; }
header, main { max-width: 800px; margin: 0 auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
h1, h2 { text-align: center; }
button { font-size: 1.2em; padding: 10px 20px; cursor: pointer; display: block; margin: 20px auto; border: none; background-color: #007bff; color: white; border-radius: 5px; }
button:hover { background-color: #0056b3; }

/* 総合ステータス表示 */
.status-box { font-size: 2em; padding: 20px; border-radius: 8px; text-align: center; font-weight: bold; margin: 20px 0; }
.status-box.ok { background-color: #d4edda; color: #155724; }
.status-box.error { background-color: #f8d7da; color: #721c24; }
.status-box.pending { background-color: #e2e3e5; color: #383d41; }

/* プレイヤー数表示 */
.player-count-box { text-align: center; font-size: 1.5em; margin-top: -10px; margin-bottom: 20px; color: #555; }

/* 診断結果 */
.result-item { margin-top: 10px; padding: 10px; border: 1px solid #ccc; border-radius: 4px; }
.result-item span { font-weight: bold; }

.result-item > div:first-child {
    padding: 10px;
}

.advice {
    display: none; /* 初期状態では非表示 */
    margin-top: 8px;
    padding: 10px;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    font-size: 0.9em;
    color: #495057;
    line-height: 1.5;
}

/* フッター */
footer { text-align: center; margin-top: 20px; color: #777; }