body {
    font-family: 'Roboto', sans-serif; /* よりモダンなフォントに変更 */
    background-color: #f0f0f0; /* 背景色を軽くして明るい印象に */
    color: #333; /* テキスト色を少し暗めに設定 */
}

#timer {
    text-align: center;
    padding: 20px;
    font-family: inherit; /* bodyからフォントを継承 */
}

#timeDisplay {
    font-size: 80px; /* サイズを大きくして注目を集める */
    color: #2c3e50; /* より深みのある色に */
    margin-bottom: 20px;
    font-weight: bold; /* 文字を太く */
}

#bellSettings div {
    margin-bottom: 10px;
}

label {
    margin-right: 10px;
}

input[type="number"], #bellSettings input {
    border-radius: 5px; /* 入力フィールドも角を丸く */
    border: 1px solid #ccc; /* 細いボーダー */
    padding: 5px; /* パディングを追加 */
    width: 60px; /* 幅の指定を維持 */
}

button {
    font-size: 20px;
    padding: 10px 20px;
    margin: 5px;
    cursor: pointer;
    background-color: #3498db; /* 明るい青色 */
    color: white; /* ボタンのテキストを白色に */
    border: none; /* ボーダーを取り除く */
    border-radius: 5px; /* 角を丸く */
    transition: background-color 0.3s; /* 背景色の変化にアニメーションを追加 */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 軽いシャドウを追加 */
}

button:hover {
    background-color: #2980b9; /* ホバー時は少し暗い色に */
}

button:disabled {
    background-color: #bdc3c7; /* グレー色 */
    cursor: not-allowed; /* カーソルを禁止マークに */
    opacity: 0.5; /* 半透明にすることで無効状態を強調 */
}

/* スタートボタン（緑色） */
#startButton {
    background-color: #2ecc71; /* 明るい緑 */
}

#startButton:hover:not(:disabled) {
    background-color: #27ae60; /* 濃い緑 */
}

/* 一時停止ボタン（黄色） */
#pauseButton {
    background-color: #f1c40f; /* 明るい黄色 */
}

#pauseButton:hover:not(:disabled) {
    background-color: #f39c12; /* オレンジ */
}

/* 停止ボタン（赤色） */
#stopButton {
    background-color: #e74c3c; /* 明るい赤 */
}

#stopButton:hover:not(:disabled) {
    background-color: #c0392b; /* 濃い赤 */
}

#resetButton {
    font-size: 17px;
}

#manualBellButton {
    font-size: 17px;
}


#debugControl {
    margin-top: 20px;
    display: normal;
}


/* 基本的な使い方を説明するテキスト枠のスタイル */
#instructions {
    max-width: 400px;
    margin: 20px auto;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
    background-color: #f9f9f9;
    text-align: left;
    line-height: 110%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 軽いシャドウを追加 */
}

/* タイトルのスタイル */
#instructions h4 {
    margin-top: 0;
}

/* リストアイテムのスタイル */
#instructions ul {
    padding-left: 20px;
}

#instructions li {
    margin-bottom: 10px;
}

#copyright {
    font-size: 10pt;
    color: #666;
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

.blinking-text {
    animation: blink 1s infinite; /* 点滅の速さを調整可能 */
}

@media (max-width: 768px) {
    #timer {
        padding: 5% 10px; /* 画面の幅に応じて動的に調整 */
        margin: 0 auto; /* 中央揃え */
        max-width: 100%; /* 画面幅いっぱいに広がらせない */
        text-align: center;
    }

    #timeDisplay {
        margin-bottom: 20px; /* 要素間のスペースを確保 */
        font-size: 420%;
    }

    #bellSettings {
        font-size: 16px;
        padding: 0 10px; /* 内側の余白を調整 */
    }

    #instructions {
        font-size: 12px;
    }

    #bellSettings div,
    #instructions ul {
        margin: 10px 0; /* 要素間の間隔を適切に設定 */
    }

    button {
        font-size: 17px;
        padding: 12px 24px; /* ボタンを大きくしてタップしやすくする */
        margin: 5px auto; /* ボタン間のマージンを適切に設定 */
        width: 100%; /* ボタンを幅いっぱいに広げる */
        box-sizing: border-box; /* パディングを幅に含める */
    }

    input[type="number"] {
        font-size: 16px; /* 入力しやすいフォントサイズに */
        padding: 10px; /* タッチしやすいようにパディングを調整 */
        margin: 5px 0; /* マージンを適切に設定 */
        box-sizing: border-box; /* パディングを幅に含める */
    }

    /* コピーライト表示の調整 */
    #copyright {
        font-size: 10px; /* テキストサイズを小さくしてスペースを節約 */
        padding: 10px 0; /* 余白の調整 */
        text-align: center; /* 中央揃えで見やすく */
    }
}
