/* 自定义样式：儿童友好的淡蓝 + 浅绿配色 */

:root {
    --brand-blue: #6ec6ff;
    --brand-green: #a8e6cf;
    --brand-soft: #f4fbff;
    --brand-dark: #2b6cb0;
}

body {
    background-color: var(--brand-soft);
    color: #34495e;
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}

.navbar-custom {
    background: linear-gradient(90deg, var(--brand-blue), var(--brand-green));
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.navbar-custom .navbar-brand,
.navbar-custom .nav-link {
    color: #1a4d6e !important;
    font-weight: 600;
}

.navbar-custom .nav-link:hover {
    color: #ffffff !important;
}

.text-nav {
    color: #1a4d6e;
}

.footer-custom {
    background: linear-gradient(90deg, var(--brand-green), var(--brand-blue));
    color: #1a4d6e;
}

/* 卡片圆角与柔和阴影 */
.card {
    border: none;
    border-radius: 18px;
    box-shadow: 0 6px 18px rgba(110, 198, 255, 0.18);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(110, 198, 255, 0.28);
}

.card-title {
    color: var(--brand-dark);
    font-weight: 700;
}

.btn-primary {
    background-color: var(--brand-blue);
    border-color: var(--brand-blue);
    color: #1a4d6e;
    font-weight: 600;
    border-radius: 12px;
}

.btn-primary:hover {
    background-color: #57b6f5;
    border-color: #57b6f5;
    color: #ffffff;
}

.btn-success {
    background-color: var(--brand-green);
    border-color: var(--brand-green);
    color: #1a4d6e;
    font-weight: 600;
    border-radius: 12px;
}

.btn-success:hover {
    background-color: #93dcc0;
    border-color: #93dcc0;
    color: #ffffff;
}

/* 学科图标徽标 */
.subject-badge {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--brand-soft);
    color: var(--brand-dark);
}

/* 练习反馈 */
.feedback-correct {
    color: #2e9e5b;
}

.feedback-wrong {
    color: #d9534f;
}

/* 防沉迷提醒弹窗 */
#antiAddictModal .modal-content {
    border-radius: 18px;
    border: none;
}

.alert-icon {
    color: var(--brand-dark);
}

/* 通用圆角 */
.rounded-soft {
    border-radius: 16px;
}

.shadow-soft {
    box-shadow: 0 6px 18px rgba(110, 198, 255, 0.18);
}

.table-custom th {
    background-color: var(--brand-soft);
    color: var(--brand-dark);
}
