/* Lesson reading: content and controls retain the existing server and JS contracts. */
.learn-page { --learn-ink:#102445; --learn-muted:#607a98; --learn-line:#deebf7; max-width:1200px; margin:0 auto 48px; }
body.site-body.wisdom-shell .site-container .learn-page .learn-hero {
    display:block; margin:0 0 22px; padding:32px 36px; min-height:210px;
}
.learn-hero-copy { max-width:70%; }
.learn-back { display:inline-flex; align-items:center; margin-bottom:15px; color:#1269c8; font-weight:700; font-size:13px; text-decoration:none; }
body.site-body.wisdom-shell .site-container .learn-page .learn-hero h1 { margin:0 0 12px; font-size:clamp(27px,3vw,40px); line-height:1.12; max-width:100%; }
.learn-byline { margin:0 0 15px!important; font-size:14px; }
.learn-meta { display:flex; flex-wrap:wrap; gap:7px; }
.learn-meta span { display:inline-flex; align-items:center; padding:6px 11px; border:1px solid rgba(255,255,255,.85); border-radius:9px; color:#215c92; background:rgba(255,255,255,.76); font-size:12px; font-weight:700; }
.learn-toolbar { display:flex; flex-wrap:wrap; gap:18px 30px; padding:18px 20px; margin-bottom:20px; background:#fff; border:1px solid var(--learn-line); border-radius:16px; box-shadow:0 7px 24px rgba(32,90,151,.04); }
.learn-toolbar-group { min-width:0; }
.learn-toolbar-label { display:block; margin-bottom:9px; color:#5e7692; font-size:12px; font-weight:700; }
.learn-toolbar-actions { display:flex; flex-wrap:wrap; gap:8px; }
.learn-toolbar-actions .btn { min-height:40px; padding:8px 13px; font-size:13px; }
.learn-export-group { margin-left:auto; }
#reading-status { flex-basis:100%; margin:0; }
#reading-status:empty { display:none; }
.learn-page .learning-content { max-width:none; padding:30px 34px; border:1px solid var(--learn-line); border-radius:18px; box-shadow:0 8px 28px rgba(32,90,151,.05); line-height:1.75; color:#425f7c; }
.learn-introduction { padding-bottom:22px; border-bottom:1px solid #e6eef7; }
.learn-kicker { color:#2c72b9; font-size:11px; font-weight:800; letter-spacing:.1em; }
.learn-introduction > p:first-of-type { margin:8px 0 0; color:#294966; font-size:16px; }
.learn-media { margin:28px 0; padding:20px; border:1px solid #dcecf9; border-radius:16px; background:#f5fbff; }
.learn-section-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
.learn-section-icon { display:grid; place-items:center; width:42px; height:42px; flex:none; border-radius:12px; background:#e1f2ff; color:#0872d5; }
.learn-section-icon svg { width:21px; height:21px; }
.learn-page .learning-content .learn-section-heading h2 { margin:0; color:var(--learn-ink); font-size:19px; }
.learn-section-heading p { margin:2px 0 0; font-size:13px; color:var(--learn-muted); }
.learn-player + .learn-player { margin-top:18px; }
.learn-player video { display:block; width:100%; max-height:560px; aspect-ratio:16/9; object-fit:contain; border-radius:12px; background:#10243a; }
.learn-player audio { display:block; width:100%; }
.learn-player-caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; padding-top:10px; font-size:13px; overflow-wrap:anywhere; }
.learn-player-caption strong { color:#345470; }
.learn-player-caption a { color:#0869cf; font-weight:700; text-decoration:none; }
.learn-block { padding-top:26px; }
.learn-page .learning-content .learn-block h2 { margin:0 0 10px; color:var(--learn-ink); font-size:20px; line-height:1.3; }
.learn-block p { margin:0; }
.learn-page .learning-steps { padding-left:24px; margin:0; }
.learn-page .learning-steps>li { padding:7px 0 8px 4px; }
.learn-page .learning-steps h3 { margin:0 0 5px; color:#254464; font-size:16px; }
.learn-attachments .teacher-file-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:14px; margin-top:10px; border:1px solid #dfebf6; border-radius:12px; background:#fbfdff; overflow-wrap:anywhere; }
.learn-note { margin-top:25px; padding:15px 17px; border:1px solid #dfebf6; border-radius:12px; background:#f7fbff; color:#647d96; font-size:12px; }
.learn-note p { margin:0; }.learn-note p+p { margin-top:6px; }
/* Keep the existing reading controls effective after page-specific styling. */
body.reading-large .learn-page .learning-content { font-size:1.3rem; line-height:2; }
body.reading-large .learn-page .learning-content .learn-introduction > p:first-of-type { font-size:inherit; }
body.reading-focus .learn-page .learning-content { max-width:850px; }
body.reading-focus .dm-footer { display:none; }
@media(max-width:850px) { .learn-hero-copy { max-width:100%; } .learn-export-group { margin-left:0; } }
@media(max-width:575px) {
    body.site-body.wisdom-shell .site-container .learn-page .learn-hero { padding:22px 18px; min-height:160px; }
    body.site-body.wisdom-shell .site-container .learn-page .learn-hero h1 { font-size:26px; }
    .learn-toolbar { gap:16px; padding:16px; }.learn-toolbar-group { width:100%; }
    .learn-toolbar-actions .btn { min-height:40px; font-size:12px; }
    .learn-page .learning-content { padding:20px 17px; }
    .learn-media { padding:14px; margin:22px 0; }
    .learn-page .learning-content .learn-block h2 { font-size:18px; }
}
@media print {
    .learn-toolbar,.learn-back,.learn-player-caption a { display:none!important; }
    .teacher-section-nav { display:none!important; }
    body.site-body.wisdom-shell .site-container .learn-page .learn-hero { min-height:0; padding:0 0 14px; border:0; box-shadow:none; background:#fff!important; }
    .learn-page .learning-content { padding:0; border:0; box-shadow:none; }
    .learn-media { border:0; background:#fff; }
    .learn-player video,.learn-player audio { display:none; }
}
