/* ============================================================
 * reading-comp-kids.css —— 小学阅读理解练习器
 * 视觉主题：小小阅读台（奶油纸 + 天青 + 珊瑚 + 荧光黄依据高亮）
 * ============================================================ */

.neo.rck {
    --rc-paper: #fdf7ec;
    --rc-paper-2: #fffdf8;
    --rc-ink: #23343b;
    --rc-ink-soft: #556a73;
    --rc-ink-faint: #93a6ae;
    --rc-sky: #1f7a90;
    --rc-sky-2: #35a3bb;
    --rc-coral: #ef7d5a;
    --rc-leaf: #4fa06a;
    --rc-mark: #ffe58a;

    --neo-accent: #1f7a90;
    --neo-accent-2: #ef7d5a;
    --neo-grad: linear-gradient(135deg, #155e72 0%, #1f7a90 45%, #3aa8b5 100%);
    --neo-bg: #f6efe3;
    --neo-surface: rgba(255, 253, 248, 0.94);
    --neo-surface-solid: #fffdf8;
    --neo-card-bd: rgba(31, 122, 144, 0.16);
    --neo-text: #23343b;
    --neo-text-soft: #556a73;
    --neo-text-faint: #93a6ae;
    --neo-shadow: 0 12px 28px -16px rgba(21, 94, 114, 0.32);
    --neo-shadow-lg: 0 26px 56px -26px rgba(21, 94, 114, 0.42);
}

[data-theme="dark"] .neo.rck {
    --rc-paper: #16222a;
    --rc-paper-2: #1c2b34;
    --rc-ink: #e6f0f4;
    --rc-ink-soft: #adc1ca;
    --rc-ink-faint: #748c97;
    --rc-sky: #4fc3d8;
    --rc-sky-2: #7ad6e6;
    --rc-coral: #ff9b7a;
    --rc-leaf: #6dc089;
    --rc-mark: #7a6320;

    --neo-bg: #0d1519;
    --neo-surface: rgba(28, 43, 52, 0.88);
    --neo-surface-solid: #16222a;
    --neo-card-bd: rgba(79, 195, 216, 0.16);
    --neo-text: #e6f0f4;
    --neo-text-soft: #adc1ca;
    --neo-text-faint: #748c97;
    --neo-shadow: 0 14px 34px -16px rgba(0, 0, 0, 0.7);
    --neo-shadow-lg: 0 28px 60px -26px rgba(0, 0, 0, 0.8);
}

/* ---------- 首屏 ---------- */
.neo.rck .rck-hero {
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 229, 138, .35), transparent 42%),
        linear-gradient(135deg, #155e72 0%, #1f7a90 48%, #4bb0a6 100%);
    padding: 28px 30px 24px;
}
.neo.rck .rck-hero h1 {
    font-size: 26px;
    font-style: normal;
    letter-spacing: .5px;
}
.neo.rck .rck-hero p { max-width: 780px; font-size: 14.5px; line-height: 1.85; }
.neo.rck .rck-hero b { color: #ffe9a8; }
.neo.rck .rck-hero-acts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.neo.rck .rck-kpis {
    display: flex; gap: 24px; flex-wrap: wrap; margin-top: 14px;
}
.neo.rck .rck-kpis div { font-size: 12px; color: rgba(255, 255, 255, .8); }
.neo.rck .rck-kpis b {
    display: block; font-size: 20px; color: #fff;
    font-family: Georgia, "Songti SC", serif;
}
.neo.rck .rck-book-ico {
    position: absolute; right: 22px; bottom: 14px; opacity: .28; pointer-events: none;
}

/* ---------- 布局：左窄书架 + 右宽阅读/答题 ---------- */
.neo.rck .rck-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}
.neo.rck .rck-col { min-width: 0; }
.neo.rck .rck-main {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

/* ---------- 书架 ---------- */
.neo.rck .rck-shelf { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.neo.rck .rck-book-btn {
    width: 100%;
    text-align: left;
    border: 1px solid var(--neo-card-bd);
    background: var(--rc-paper-2);
    border-radius: 12px;
    padding: 10px 12px;
    cursor: pointer;
    font-family: inherit;
    transition: transform .16s, border-color .16s, box-shadow .16s;
}
.neo.rck .rck-book-btn:hover { transform: translateX(3px); border-color: var(--rc-sky); }
.neo.rck .rck-book.is-cur .rck-book-btn {
    border-color: var(--rc-sky);
    box-shadow: 0 10px 22px -14px var(--rc-sky);
    background: color-mix(in srgb, var(--rc-sky) 8%, var(--rc-paper-2));
}
.neo.rck .rck-book-t {
    display: block; font-size: 14.5px; font-weight: 700; color: var(--rc-ink);
    margin: 5px 0 3px; line-height: 1.4;
}
.neo.rck .rck-book-m { display: block; font-size: 11.5px; color: var(--rc-ink-faint); }
.neo.rck .rck-book-genre {
    display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 999px;
}
.neo.rck .rck-book-genre.g-nar { background: color-mix(in srgb, var(--rc-coral) 16%, transparent); color: var(--rc-coral); }
.neo.rck .rck-book-genre.g-exp { background: color-mix(in srgb, var(--rc-leaf) 18%, transparent); color: var(--rc-leaf); }

/* ---------- 阅读纸 ---------- */
.neo.rck .rck-doc {
    background: var(--rc-paper);
    border: 1px solid var(--neo-card-bd);
    border-radius: 16px;
    padding: 18px 20px;
    position: relative;
    background-image: repeating-linear-gradient(180deg, transparent 0 33px, rgba(31, 122, 144, .06) 33px 34px);
}
.neo.rck .rck-doc-head { border-bottom: 1px dashed var(--neo-card-bd); padding-bottom: 12px; margin-bottom: 12px; }
.neo.rck .rck-doc-t { font-size: 19px; font-weight: 800; color: var(--rc-ink); font-style: normal; }
.neo.rck .rck-doc-m { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 8px; font-size: 12px; color: var(--rc-ink-faint); }
.neo.rck .rck-pill { padding: 2px 9px; border-radius: 999px; font-weight: 700; }
.neo.rck .rck-pill.nar { background: color-mix(in srgb, var(--rc-coral) 16%, transparent); color: var(--rc-coral); }
.neo.rck .rck-pill.exp { background: color-mix(in srgb, var(--rc-leaf) 18%, transparent); color: var(--rc-leaf); }
.neo.rck .rck-timer { margin-left: auto; font-family: Georgia, serif; color: var(--rc-sky); }
.neo.rck .rck-tip {
    margin-top: 10px; font-size: 12.5px; color: var(--rc-ink-soft);
    background: color-mix(in srgb, var(--rc-mark) 55%, transparent);
    border-radius: 9px; padding: 7px 11px; line-height: 1.7;
}
.neo.rck .rck-para {
    display: flex; gap: 10px; margin: 0 0 10px;
    font-size: 15px; line-height: 2.05; color: var(--rc-ink);
    text-indent: 0; border-radius: 8px; padding: 3px 6px;
    transition: background .25s;
}
.neo.rck .rck-pno {
    flex: none; width: 22px; height: 22px; margin-top: 4px; border-radius: 50%;
    background: color-mix(in srgb, var(--rc-sky) 14%, transparent);
    color: var(--rc-sky); font-size: 12px; font-weight: 700;
    display: grid; place-items: center;
}
.neo.rck .rck-ptext { flex: 1; min-width: 0; }
.neo.rck .rck-para.is-evid {
    background: color-mix(in srgb, var(--rc-mark) 70%, transparent);
    box-shadow: inset 3px 0 0 var(--rc-coral);
}

/* ---------- 题目 ---------- */
.neo.rck .rck-questions { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.neo.rck .rck-q {
    border: 1px solid var(--neo-card-bd);
    border-radius: 13px;
    padding: 13px 15px;
    background: var(--rc-paper-2);
}
.neo.rck .rck-q.is-right { border-color: color-mix(in srgb, var(--rc-leaf) 55%, transparent); }
.neo.rck .rck-q.is-wrong { border-color: color-mix(in srgb, var(--rc-coral) 60%, transparent); }
.neo.rck .rck-qhead { display: flex; gap: 9px; align-items: flex-start; margin-bottom: 10px; }
.neo.rck .rck-qno {
    flex: none; width: 22px; height: 22px; border-radius: 7px; background: var(--rc-sky);
    color: #fff; font-size: 12px; font-weight: 700; display: grid; place-items: center;
}
.neo.rck .rck-qstem { flex: 1; font-size: 14.5px; line-height: 1.75; color: var(--rc-ink); font-weight: 600; }
.neo.rck .rck-qtype { flex: none; font-size: 11.5px; color: var(--rc-ink-faint); }
.neo.rck .rck-opts { display: grid; gap: 7px; }
.neo.rck .rck-opt {
    display: flex; gap: 9px; align-items: flex-start;
    border: 1px solid var(--neo-card-bd);
    background: var(--rc-paper);
    border-radius: 10px;
    padding: 9px 11px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--rc-ink-soft);
    text-align: left;
    transition: border-color .16s, background .16s;
}
.neo.rck .rck-opt:hover { border-color: var(--rc-sky); }
.neo.rck .rck-opt.on {
    border-color: var(--rc-sky);
    background: color-mix(in srgb, var(--rc-sky) 10%, var(--rc-paper));
    color: var(--rc-ink);
    font-weight: 600;
}
.neo.rck .rck-ol {
    flex: none; width: 21px; height: 21px; border-radius: 50%;
    border: 1.5px solid var(--neo-card-bd); color: var(--rc-ink-faint);
    font-size: 12px; font-weight: 700; display: grid; place-items: center;
}
.neo.rck .rck-opt.on .rck-ol { background: var(--rc-sky); border-color: var(--rc-sky); color: #fff; }
.neo.rck .rck-judge { display: flex; gap: 10px; }
.neo.rck .rck-jbtn {
    flex: 1;
    border: 1px solid var(--neo-card-bd);
    background: var(--rc-paper);
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
    font-family: inherit;
    font-size: 13.5px;
    color: var(--rc-ink-soft);
}
.neo.rck .rck-jbtn.on { border-color: var(--rc-sky); background: color-mix(in srgb, var(--rc-sky) 12%, var(--rc-paper)); color: var(--rc-ink); font-weight: 700; }
.neo.rck .rck-fb { margin-top: 10px; font-size: 13px; display: none; }
.neo.rck .rck-q.is-right .rck-fb, .neo.rck .rck-q.is-wrong .rck-fb { display: block; }
.neo.rck .rck-fb-ok { color: var(--rc-leaf); font-weight: 700; }
.neo.rck .rck-fb-bad { color: var(--rc-coral); font-weight: 700; }
.neo.rck .rck-fb-exp { margin-top: 5px; color: var(--rc-ink-soft); line-height: 1.8; }
.neo.rck .rck-evid-btn {
    margin-top: 7px;
    border: 1px solid color-mix(in srgb, var(--rc-sky) 40%, transparent);
    background: color-mix(in srgb, var(--rc-sky) 8%, transparent);
    color: var(--rc-sky);
    border-radius: 999px;
    padding: 3px 12px;
    font-size: 12px;
    font-family: inherit;
    cursor: pointer;
}
.neo.rck .rck-evid-btn:hover { background: color-mix(in srgb, var(--rc-sky) 16%, transparent); }
.neo.rck .rck-empty { font-size: 13.5px; color: var(--rc-ink-faint); padding: 20px 6px; text-align: center; line-height: 1.9; }

/* ---------- 判分 ---------- */
.neo.rck .rck-score-num {
    font-size: 40px; font-weight: 800; color: var(--rc-sky);
    font-family: Georgia, serif; line-height: 1.1;
}
.neo.rck .rck-score-num small { font-size: 17px; color: var(--rc-ink-faint); }
.neo.rck .rck-score-t { font-size: 13.5px; color: var(--rc-ink-soft); margin-top: 4px; }
.neo.rck .rck-scorebar {
    height: 10px; border-radius: 999px; background: color-mix(in srgb, var(--rc-ink) 8%, transparent);
    overflow: hidden; margin: 12px 0;
}
.neo.rck .rck-scorebar i { display: block; height: 100%; background: linear-gradient(90deg, var(--rc-sky), var(--rc-leaf)); }
.neo.rck .rck-score-acts { display: flex; gap: 9px; flex-wrap: wrap; }

/* ---------- 自定义 ---------- */
.neo.rck .rck-custom-box { margin-top: 14px; border-top: 1px dashed var(--neo-card-bd); padding-top: 14px; }
.neo.rck .rck-cmsg { margin-top: 10px; font-size: 13px; line-height: 1.9; border-radius: 10px; padding: 9px 12px; }
.neo.rck .rck-cmsg.bad { background: color-mix(in srgb, var(--rc-coral) 12%, transparent); color: var(--rc-coral); }
.neo.rck .rck-cmsg.ok { background: color-mix(in srgb, var(--rc-leaf) 14%, transparent); color: var(--rc-leaf); }
.neo.rck .rck-fmt {
    font-size: 12px; color: var(--rc-ink-faint); background: var(--rc-paper);
    border-radius: 9px; padding: 9px 11px; line-height: 1.9; margin-top: 8px;
    font-family: ui-monospace, Menlo, Consolas, monospace;
}

/* 底部通用块 */
.neo.rck .rck-note-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.neo.rck .rck-note-table th, .neo.rck .rck-note-table td {
    padding: 11px 12px; border-bottom: 1px solid var(--neo-card-bd); text-align: left; vertical-align: top; line-height: 1.85;
}
.neo.rck .rck-note-table th {
    width: 128px; white-space: nowrap; color: var(--rc-sky); font-weight: 700;
    background: color-mix(in srgb, var(--rc-sky) 8%, transparent);
}
.neo.rck .rck-note-table td { color: var(--rc-ink-soft); }
.neo.rck .rck-note-table b { color: var(--rc-ink); }
.neo.rck .neo-tab.active { color: var(--rc-sky); }
.neo.rck .neo-tab.active::after { background: var(--rc-sky); }
.neo.rck .neo-rel:hover { border-color: var(--rc-sky); }

/* ---------- 响应式 ---------- */
@media (max-width: 1180px) {
    .neo.rck .rck-main { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .neo.rck .rck-layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .neo.rck .rck-hero { padding: 22px 18px; }
    .neo.rck .rck-hero h1 { font-size: 21px; }
    .neo.rck .rck-doc { padding: 14px 14px; }
    .neo.rck .rck-para { font-size: 14px; }
    .neo.rck .rck-kpis { gap: 14px; }
    .neo.rck .rck-note-table th { width: 92px; }
}

/* ---------- 打印 ---------- */
.rck-print { display: none; }

@media print {
    body * { visibility: hidden !important; }
    .rck-print, .rck-print * { visibility: visible !important; }
    .rck-print { display: block; position: absolute; left: 0; top: 0; width: 100%; }
    .rck-doc-print { color: #000; font-family: "Songti SC", "SimSun", serif; }
    .rck-doc-print h1 { font-size: 20px; text-align: center; margin: 0 0 6px; }
    .rck-dp-sub { text-align: center; font-size: 13px; margin: 0 0 14px; }
    .rck-dp-item { page-break-inside: avoid; margin-bottom: 18px; }
    .rck-dp-item h2 { font-size: 15px; margin: 0 0 6px; }
    .rck-dp-item h2 small { font-size: 12px; font-weight: 400; color: #555; }
    .rck-dp-item h3 { font-size: 14px; margin: 10px 0 4px; }
    .rck-dp-para { font-size: 14px; line-height: 1.9; margin: 0 0 4px; text-indent: 2em; }
    .rck-dp-no { color: #666; font-size: 12px; margin-right: 4px; }
    .rck-dp-qs { font-size: 14px; line-height: 1.9; padding-left: 20px; margin: 0; }
    .rck-dp-ans { font-size: 13px; line-height: 1.8; margin-top: 8px; }
}
