/* Shared listening-to-speaking Homework, responsive across course shells. */
.lani-hw{display:grid;gap:12px;margin:18px 0;padding:clamp(14px,3vw,22px);background:#fffdf8;border:1px solid #eddcbb;border-radius:20px;color:#27465e;line-height:1.6}
.lani-hw h2{margin:0;font-size:clamp(1.22rem,3vw,1.65rem);line-height:1.32;color:#204764}
.lani-hw-kicker{font-size:.78rem;font-weight:850;letter-spacing:.09em;color:#946822;margin:0}
.lani-hw-mission{font-size:1.07rem;font-weight:780;color:#23466b;margin:0}
.lani-hw-vi{color:#5f6470;font-size:.95rem;margin:0}
.lani-hw-try,.lani-hw-speak,.lani-hw-reflect{padding:10px 12px;margin:0;background:#f0f7fc;border-radius:10px}
.lani-hw-hints{display:grid;gap:8px}
.lani-hw-hints details{border:1px solid #c9dce9;background:white;border-radius:12px;padding:0 12px}
.lani-hw-hints summary{cursor:pointer;font-size:.94rem;font-weight:750;padding:12px 0;min-height:44px}
.lani-hw-hints details[open] summary{border-bottom:1px solid #e4ebf3}
.lani-hw-hints ol,.lani-hw-hints ul{margin:10px 0 14px;padding-left:24px}
.lani-hw-hints li{margin:4px 0;overflow-wrap:anywhere}
.lani-hw-hints p{margin:10px 0}.lani-hw-hints small{display:block;color:#687a8d;margin-bottom:12px}
.lani-hw-check{display:flex;align-items:start;gap:10px;cursor:pointer;padding:13px 12px;border-radius:12px;background:#e9f7ee;font-weight:670;font-size:.94rem}
.lani-hw-check input{margin:4px 0 0;flex:none;width:21px;height:21px;accent-color:#378d65}
.lani-hw-submit{display:grid;gap:11px;border-top:1px solid #e7d6b6;padding-top:15px}
.lani-hw-submit>p{margin:0}
.lani-hw-self{background:#eef7f3;padding:12px;border-radius:12px;color:#356753}
@media(max-width:650px){.lani-hw{padding:14px;border-radius:16px}.lani-hw-hints details{padding:0 10px}}

/* Author display rules must not override the hidden attribute in self-paced mode. */
.lani-hw [hidden]{display:none!important}

/* Three-part Homework and five-answer formative feedback. */
.ef-homework-stage{display:grid;gap:16px;max-width:920px;margin:auto}
.ef-homework-part{border:1px solid #cbdde9;border-radius:15px;background:#f9fcff;padding:6px 14px}
.ef-homework-part>summary{min-height:48px;display:list-item;cursor:pointer;font-size:1rem;padding:10px 0}
.ef-homework-part>.ef-apply-head{margin-top:14px}
.ef-homework-knowledge{padding:16px;border:1px solid #d5e5ed;border-radius:16px;background:#fff}
.ef-quiz-review{margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:#f0f7fa;line-height:1.55}
.lani-knowledge-answers{display:grid;gap:10px;margin:14px 0;padding-left:24px}
.lani-knowledge-answers li{padding:12px;border:1px solid #d3e4e8;border-radius:12px;background:white}
.lani-knowledge-answers li.is-right{border-color:#a7d6b9;background:#f5fcf7}
.lani-knowledge-answers li.is-wrong{border-color:#e6c6a7;background:#fffaf3}
.lani-knowledge-answers p{margin:6px 0 0;overflow-wrap:anywhere}

/* Local, privacy-first Homework recorder shared by Everyday, EFRL and Speak Clearly. */
.lani-rec{display:grid;gap:12px;margin:12px 0;padding:clamp(15px,3vw,22px);border:1px solid #b6d9d0;border-radius:18px;background:#f6fffb;color:#254354;max-width:100%;min-width:0;box-sizing:border-box}
.lani-rec h3{margin:0;color:#164f55;font-size:clamp(1.05rem,3vw,1.3rem);line-height:1.35}
.lani-rec p{margin:0;line-height:1.55;font-size:.95rem;overflow-wrap:anywhere}
.lani-rec-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lani-rec-btn,.lani-rec-zalo{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;min-width:0;max-width:100%;padding:11px 15px;box-sizing:border-box;border-radius:12px;border:1px solid #8eb8b0;background:#fff;color:#174e55;font:inherit;font-size:1rem;font-weight:750;line-height:1.35;text-align:center;text-decoration:none;cursor:pointer;overflow-wrap:anywhere}
.lani-rec-btn:hover,.lani-rec-zalo:hover{background:#edf9f5}
.lani-rec-btn:focus-visible,.lani-rec-zalo:focus-visible,.lani-rec-fallback summary:focus-visible{outline:3px solid #4b9ab2;outline-offset:3px}
.lani-rec-primary{background:#176d60;border-color:#176d60;color:white}
.lani-rec-primary:hover{background:#115a50;color:white}
.lani-rec-stop{background:#fff0ed;border-color:#dc9e91;color:#973c2d}
.lani-rec-zalo{justify-self:start;background:#e8f4ff;border-color:#a8cde8;color:#154c78}
.lani-rec audio{width:100%;max-width:100%;min-height:44px}
.lani-rec-status{padding:10px 12px;border-radius:10px;background:#e7f5f0;color:#245c56;font-weight:650}
.lani-rec-private{font-size:.84rem!important;color:#57716c}
.lani-rec-next{font-weight:650}
.lani-rec [hidden],.lani-rec-fallback [hidden]{display:none!important}
.lani-rec-fallback{margin:10px 0 14px;padding:0 14px;border:1px solid #c7d9e1;border-radius:13px;background:#fff;color:#25465c}
.lani-rec-fallback>summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:.95rem;font-weight:700;line-height:1.5}
.lani-rec-fallback[open]>summary{border-bottom:1px solid #dde9ed}
.lani-rec-fallback-body{display:grid;gap:12px;padding:14px 0}
.lani-rec-fallback a,.lani-rec-fallback button,.lani-rec-fallback input{max-width:100%}
@media(max-width:540px){
 .lani-rec{padding:14px;gap:10px}
 .lani-rec-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
 .lani-rec-btn,.lani-rec-zalo{width:100%;font-size:.95rem}
 .lani-rec-zalo{justify-self:stretch}
}
