body {
    font-family: sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #5c95ea; /* 背景色を動画に寄せる */
    margin: 0;
    padding: 0;
}
.game-wrapper {
    background-color: #f0e6d2; /* 紙のような背景 */
    margin: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    border: 5px solid #d4c0a1;
    height: calc(100vh - 50px);
    width: calc(100vw - 50px);

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.info-bar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    margin: 10px;
    color: #333;
    align-self: center;
}
.timer, .level-display, .reset-button-container {
    font-size: 1.5em;
    font-weight: bold;
}
.stage-select {
    display: flex;
}
.level-display {
    color: #00bcd4; /* レベル表示の色 */
}
#grid-container {
    display: grid;
    border: 1px solid #ccc;
    object-fit: contain;
    max-height: calc(85% - 20px);
    max-width: 85%;
}
.spacer { flex-grow: 1; }

.cell {
    display: none;
    opacity: 0;
    background-size: 100%;
    width: 100%; height: 100%;
    border: none;
    box-sizing: border-box;
}
#grid-container .cell { display: block; }
.cell .path { opacity: 0; }
.cell.left .path.left { opacity: 1; }
.cell.right .path.right { opacity: 1; }
.cell.top .path.top { opacity: 1; }
.cell.bottom .path.bottom { opacity: 1; }
.cell.battery .bulb { display: none }
.cell.bulb .battery { display: none }
.cell.bulb, .cell.battery {
    opacity: 1;
}
.cell.empty {
    background-color: transparent; /* 壁は背景のドットが見えるように */
    border: none;
}
.bulb.lit {
    background-color: #FFEB3B !important; /* 点灯時の電球の色 */
    box-shadow: 0 0 10px #FFEB3B;
}
#reset-button {
    background-color: #f44336;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.8em;
}
#reset-button:hover {
    background-color: #d32f2f;
}

#time-records {
    margin: 10px;
    & .mode {
        display: flex;
        list-style: none;
        flex-wrap: wrap;
        & li { margin-left: 1em; }
    }
}
