body { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", sans-serif; background: #f4f4f2; color: #333; padding: 15px; line-height: 1.6; }
.container { max-width: 900px; margin: 0 auto; background: #fff; padding: 25px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
h1 { text-align: center; font-size: 1.4rem !important; margin-bottom: 30px; border-bottom: 2px solid #333; padding-bottom: 10px; line-height: 1.4; }
.field { margin-bottom: 25px; }
label { display: block; font-weight: bold; margin-bottom: 10px; font-size: 0.95rem; }
input[type="text"], input[type="number"] { width: 100%; padding: 14px; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box; font-size: 16px; transition: border 0.3s; }
input:focus { border-color: #007aff; outline: none; }
.checkbox-group { display: flex; flex-wrap: wrap; gap: 8px; }
.checkbox-group label { background: #eee; padding: 10px 16px; border-radius: 30px; font-size: 0.9rem; cursor: pointer; transition: 0.2s; }
.checkbox-group input:checked + span { background: #333; color: #fff; } /* カスタム用 */

.game-input-group { background: #fdfdfd; border: 1px solid #e0e0e0; border-radius: 10px; padding: 20px; margin-bottom: 15px; position: relative; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.remove-btn { position: absolute; top: 12px; right: 12px; background: #ff3b30; color: #fff; border: none; border-radius: 5px; padding: 6px 12px; font-size: 12px; font-weight: bold; cursor: pointer; }
#add-game-btn { width: 100%; padding: 15px; background: #fff; border: 2px dashed #007aff; color: #007aff; border-radius: 10px; cursor: pointer; font-weight: bold; transition: 0.3s; }
#add-game-btn:hover { background: #f0f7ff; }

.generate-btn { width: 100%; padding: 20px; background: #1a1a1a; color: #fff; border: none; border-radius: 10px; font-size: 1.2rem; font-weight: bold; margin-top: 30px; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
canvas { width: 100%; height: auto; border: 1px solid #ddd; margin-top: 30px; background: #fff; }
.actions { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-top: 25px; }
.actions button { padding: 15px; cursor: pointer; border-radius: 8px; border: 1px solid #333; background: #fff; font-weight: bold; font-size: 0.9rem; transition: 0.2s; }
.actions button:hover { background: #333; color: #fff; }

@media (max-width: 600px) {
    .actions { grid-template-columns: 1fr; }
}