/* 昭叙国学 B+ 壳页 · 20260919-home4 */
.zx-bplus-page {
    margin: 0;
    min-height: 100vh;
    background: #fbf7f0;
    color: #333;
    font-family: -apple-system, "PingFang SC", "Noto Sans SC", sans-serif;
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
}
.zx-bplus-page header {
    padding: 16px 16px 8px;
}
.zx-bplus-page h1 {
    margin: 0;
    font-size: 22px;
    letter-spacing: 0.04em;
}
.zx-bplus-page .sub {
    margin: 6px 0 0;
    color: #8a7355;
    font-size: 13px;
    line-height: 1.5;
}
.zx-bplus-page .warn {
    margin: 12px 16px;
    padding: 10px 12px;
    background: #fff8e8;
    border: 1px solid #e6d3a8;
    border-radius: 10px;
    font-size: 12px;
    color: #6b5428;
    line-height: 1.55;
}
.zx-bplus-tabs, .zx-bplus-segs {
    display: flex;
    gap: 8px;
    padding: 0 16px 12px;
    overflow-x: auto;
}
.zx-bplus-tabs button, .zx-bplus-segs button {
    border: 1px solid #e6d3a8;
    background: #fff;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 13px;
    color: #5c4a32;
}
.zx-bplus-tabs button.on, .zx-bplus-segs button.on {
    background: #8b4513;
    color: #fff;
    border-color: #8b4513;
}
.zx-bplus-card {
    margin: 0 16px 12px;
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 4px 16px rgba(90, 60, 20, 0.06);
}
.zx-bplus-card h2 {
    margin: 0 0 8px;
    font-size: 16px;
}
.zx-bplus-card p, .zx-bplus-card li {
    font-size: 13px;
    line-height: 1.55;
    color: #444;
}
.zx-bplus-card label {
    display: block;
    font-size: 13px;
    margin: 10px 0 4px;
}
.zx-bplus-card input, .zx-bplus-card select, .zx-bplus-card textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e6d3a8;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 14px;
}
.zx-bplus-card textarea { min-height: 88px; }
.zx-bplus-actions { display: flex; gap: 8px; margin-top: 12px; }
.zx-bplus-actions button, .zx-bplus-primary {
    border: 0;
    border-radius: 10px;
    padding: 10px 14px;
    background: #8b4513;
    color: #fff;
    font-size: 14px;
}
.zx-bplus-actions button.ghost {
    background: #fff;
    color: #8b4513;
    border: 1px solid #e6d3a8;
}
.zx-bplus-lock {
    color: #999;
    font-size: 13px;
}
#bottomNav.zx-guoxue-bplus-nav {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: calc(56px + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: #fff;
    border-top: 1px solid #D5E4F0;
    z-index: 40;
}
#bottomNav.zx-guoxue-bplus-nav .zx-bplus-item {
    flex: 1;
    border: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: #6A7C8A;
    gap: 2px;
}
#bottomNav.zx-guoxue-bplus-nav .zx-bplus-item.active {
    color: #5B9BD8;
    font-weight: 600;
}
.zx-gx-home { margin: 0 0 14px; }
.zx-gx-home h2 { margin: 0 0 10px; font-size: 18px; color: #5c3b1e; letter-spacing: 0.04em; }
.zx-gx-card {
    background: #fff;
    border: 1px solid #efe4d4;
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 10px;
    box-shadow: 0 4px 16px rgba(90, 60, 20, 0.06);
}
.zx-gx-card h3 { margin: 0 0 6px; font-size: 16px; color: #3d2a16; line-height: 1.35; }
.zx-gx-line { margin: 0 0 6px; font-size: 14px; line-height: 1.55; color: #444; }
.zx-gx-why { margin: 0 0 10px; font-size: 12px; color: #8a7355; line-height: 1.45; }
.zx-gx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.zx-gx-chip {
    border: 1px solid #e6d3a8;
    background: #fff8e8;
    color: #5c4a32;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
}
.zx-gx-chip:active { background: #8b4513; color: #fff; border-color: #8b4513; }
.zx-gx-ctas { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.zx-gx-cta {
    display: inline-block;
    background: #8b4513;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    padding: 9px 12px;
    font-size: 13px;
}
.zx-gx-cta.ghost {
    background: #fff;
    color: #8b4513;
    border: 1px solid #e6d3a8;
}
.zx-gx-date { display: block; margin-top: 10px; font-size: 13px; color: #5c4a32; }
.zx-gx-date input {
    display: block;
    margin-top: 6px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e6d3a8;
    border-radius: 8px;
    padding: 8px 10px;
}
.zx-gx-weak { display: flex; gap: 14px; margin: 4px 2px 0; }
.zx-gx-weak a { font-size: 12px; color: #8a7355; text-decoration: none; }
.zx-bplus-primary.ghost, a.zx-bplus-primary.ghost {
    background: #fff;
    color: #8b4513;
    border: 1px solid #e6d3a8;
    text-decoration: none;
    display: inline-block;
}
a.zx-bplus-primary { text-decoration: none; display: inline-block; }

.zx-gx-card[data-kind="G"],
.zx-gx-card[data-kind="H"],
.zx-gx-card[data-kind^="Q"] {
    background: #fffdf8;
    border-color: #e6d3a8;
}

.zx-gx-pools { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.zx-gx-pool {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px 12px;
    padding: 10px 12px;
    border: 1px solid #efe4d0;
    border-radius: 10px;
    background: #fffdf8;
}
.zx-gx-pool .n { font-size: 13px; color: #5c4a32; }
.zx-gx-pool .a { color: #8b4513; font-weight: 700; font-size: 14px; }
.zx-gx-pool .m, .zx-gx-pool .d { font-size: 11px; color: #8a7355; }
.zx-gx-gifts { padding-left: 18px; margin: 8px 0 0; }
.zx-gx-gifts a { color: #8b4513; }
.zx-gx-now-meta { margin: 0 0 4px; font-size: 13px; color: #8a7355; line-height: 1.6; }
.zx-gx-now-meta b { color: #5c4a32; font-weight: 600; }
.zx-gx-mod { margin-top: 14px; padding-top: 12px; border-top: 1px solid #efe4d0; }
.zx-gx-mod h3 { margin: 0 0 6px; font-size: 14px; color: #5c4a32; }
.zx-gx-tag {
    display: inline-block;
    font-size: 11px;
    color: #8b4513;
    border: 1px solid #e6d3a8;
    border-radius: 999px;
    padding: 1px 8px;
    margin: 0 6px 4px 0;
    vertical-align: middle;
}
.zx-gx-cert {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #efe4d0;
    border-radius: 10px;
    background: #fffdf8;
}
.zx-gx-cert strong { display: block; font-size: 14px; color: #5c4a32; }
.zx-gx-cert .lv { font-size: 12px; color: #8b4513; margin: 4px 0; }
.zx-gx-cert p { margin: 0; font-size: 12px; color: #6b5428; }
.zx-gx-lesson h2 {
    margin: 16px 0 8px;
    font-size: 15px;
    color: #5c4a32;
}
.zx-gx-lesson p, .zx-gx-lesson li { font-size: 14px; line-height: 1.7; color: #3d2a16; }
.zx-bplus-card a { color: #8b4513; }
.zx-bplus-card a.zx-bplus-primary { color: #fff; }
.zx-bplus-card a.zx-bplus-primary.ghost { color: #8b4513; }
.zx-gx-eg { display: grid; gap: 8px; margin: 10px 0 14px; }
.zx-gx-eg .bad, .zx-gx-eg .good {
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.55;
}
.zx-gx-eg .bad { background: #fff5f3; border-left: 3px solid #c45c26; }
.zx-gx-eg .good { background: #f3f8f4; border-left: 3px solid #2f7d4a; }
.zx-gx-eg span { display: block; font-size: 11px; font-weight: 600; margin-bottom: 4px; }
.zx-gx-eg .bad span { color: #a33; }
.zx-gx-eg .good span { color: #2f7d4a; }
.zx-gx-eg p { margin: 0; font-size: 13px; }
.zx-gx-script {
    margin: 10px 0 0;
    font-size: 18px;
    line-height: 1.85;
    color: #3d2a16;
    padding: 14px 12px;
    background: #fffdf8;
    border: 1px solid #efe4d0;
    border-radius: 10px;
    white-space: pre-wrap;
}
.zx-gx-readn {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #8b4513;
}
