body {
    background-color: #000;
    color: #fff;
    font-family: sans-serif;
    margin: 0;
    padding: 20px;
}

.container {
    text-align: center;
}

h1, h2 {
    font-size: 3em;
}

#sync-status {
    display: inline-block;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #ffc107; /* 黄色: 正在同步 */
    vertical-align: middle;
    margin-left: 15px;
}

#sync-status.synced {
    background-color: lightgreen; /* 绿色: 已同步 */
}

#sync-status.error {
    background-color: salmon; /* 红色: 同步失败 */
}

.large-btn {
    font-size: 2.5em;
    padding: 20px 40px;
    margin: 20px;
    cursor: pointer;
    background-color: #333;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 10px;
}

.large-btn:focus {
    outline: 5px solid #ffc107; /* 亮黄色高亮 */
    background-color: #555;
}

.records {
    margin-top: 40px;
}

#record-list {
    list-style: none;
    padding: 0;
    font-size: 2em;
}

#record-list li {
    margin: 10px 0;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #222;
    padding: 40px;
    border-radius: 15px;
    text-align: center;
    border: 2px solid #fff;
}

.input-group {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

#amount-input {
    font-size: 2.5em;
    padding: 10px;
    width: 60%;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 10px 0 0 10px;
    background-color: #333;
    color: #fff;
}

.mic-btn {
    font-size: 2em;
    padding: 12px 20px;
    cursor: pointer;
    background-color: #4CAF50; /* 绿色 */
    color: white;
    border: 2px solid #fff;
    border-left: none;
    border-radius: 0 10px 10px 0;
}

.mic-btn:focus, .mic-btn.recording {
    outline: 5px solid #ffc107;
    background-color: #E53935; /* 红色表示录音中 */
}

#chart-view {
    width: 90%;
    margin: 0 auto;
}