/* 重置默认 margin 和 padding */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}

/* 使用 Flexbox 布局 */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* 确保 body 至少占满整个视口高度 */
}

h2 {
    padding: 0;
    margin: 0 0 0.5rem 0;
    border-bottom: 1px lightgray solid;
    font-size: 1.2rem;
}

header {
    padding: 0.5rem;
    text-align: center;
}

main {
    flex: 1;
    /* 占据剩余空间，使内容可滚动 */
    padding: 0.5rem;
    overflow-y: auto;
    /* 允许垂直滚动 */
}

footer {
    bottom: 0;
    left: 0;
    width: 100%;
    font-size: 0.8em;
    height: 30px;
    line-height: 30px;
    background-color: rgb(240, 240, 240, 0.7);
    position: fixed;
    text-align: center;
}

.message {
    position: fixed;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    width: fit-content;
    height: fit-content;
    text-align: center;
    padding: 10px 15px;
    border-radius: 2px;
    border: 1px solid;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.message.hint {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.message.error {
    background-color: #fcf7d9;
    color: #ff0202;
    border-color: #fdf1f1;
}