body{font-family:Arial,sans-serif;margin:0;background:#f3f6f9;color:#17202a}header{background:#102a43;color:white;padding:22px;text-align:center;position:sticky;top:0;z-index:3}nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}button{padding:9px 12px;border:0;border-radius:8px;cursor:pointer}.primary{background:#1f6f8b;color:white}.page{display:none;max-width:1050px;margin:auto;padding:20px}.page.active{display:block}.card{background:white;border:1px solid #d9e2ec;border-radius:14px;padding:20px;margin:16px 0}.tip{background:#eaf4f8;padding:13px;border-radius:9px}.ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ladder>div{padding:12px;border:1px solid #d7e1ea;border-radius:9px}.timer{font-size:28px;font-weight:800}.cue li{margin:8px}.fullbook p{line-height:1.65}.fullbook table{width:100%;border-collapse:collapse;margin:12px 0}.fullbook td{border:1px solid #ccd6e0;padding:7px}.flow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.flow span{background:white;border:1px solid #b8c7d5;padding:10px;border-radius:8px}@media(max-width:700px){.ladder{grid-template-columns:1fr}}
.modelanswer{line-height:1.75;padding:15px;background:#f8fafc;border-left:4px solid #54758f}
#cueanswers table{width:100%;border-collapse:collapse;margin:10px 0}#cueanswers td{border:1px solid #d5dee7;padding:8px}

.audioLab{margin-top:18px;padding:16px;border:1px solid #c8d6e3;border-radius:12px;background:#f7fafc}
.audioButtons{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.recstatus{font-weight:700;margin-top:8px}
.rectime{font-size:24px;font-weight:800;margin:6px 0}.saveAudio{display:inline-block;margin-top:10px;padding:8px 12px;border:1px solid #9eb3c5;border-radius:8px;text-decoration:none}
.selfReview{display:grid;gap:7px;margin-top:15px;padding-top:12px;border-top:1px solid #d6e0e8}.selfReview label{display:block}

.reportgrid,.scoregrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}.reportgrid label,.scoregrid label{font-weight:700}
.reportgrid input,.reportgrid select,.scoregrid select,#report textarea{display:block;width:100%;box-sizing:border-box;padding:9px;margin-top:5px;border:1px solid #c7d3df;border-radius:7px}
#report textarea{min-height:100px}.reportactions{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.historytable{width:100%;border-collapse:collapse}.historytable th,.historytable td{border:1px solid #ccd7e1;padding:7px;text-align:left;font-size:13px}
@media(max-width:700px){.reportgrid,.scoregrid{grid-template-columns:1fr}.historytable{display:block;overflow-x:auto}}
@media print{header,nav,.reportactions,#reportHistory{display:none!important}.page{display:none!important}#report{display:block!important}.card{box-shadow:none;border:0}}

.qaBlock{padding:13px 0;border-bottom:1px solid #e1e8ee}.qaBlock:last-child{border-bottom:0}
.qaBlock details{margin:7px 0}.qaBlock summary{cursor:pointer;font-weight:700;color:#1f5f7a}
.exampleAnswer{margin-top:9px;padding:12px;background:#f5f9fc;border-left:4px solid #4f7f98;line-height:1.6}
.microTip{font-size:13px;margin-top:7px}.qaBlock textarea{width:100%;box-sizing:border-box;min-height:80px;margin-top:9px;padding:9px;border:1px solid #c9d5df;border-radius:7px}

.p1Audio{padding:10px;margin:8px 0 12px;background:#f7fafc;border:1px solid #d6e0e8;border-radius:9px}
.p1time{font-weight:800;margin-left:10px}.p1listen{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px}.p1listen label{white-space:nowrap}

.listenModel{margin:10px 0;padding:9px 13px;border-radius:8px;border:1px solid #9bb3c5;background:#fff;font-weight:800;cursor:pointer}
.listenModel:hover{background:#eef5f8}

.pronModule{margin-bottom:18px}.shadowLine{padding:12px;margin:9px 0;border:1px solid #d9e2ea;border-radius:9px;background:#fafcfd}
.shadowLine span{display:block;font-size:17px;line-height:1.5;margin-bottom:8px}.shadowLine button{margin:3px 5px 3px 0}
.pronChecks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pronChecks label{padding:7px;background:#f5f8fa;border-radius:6px}
@media(max-width:700px){.pronChecks{grid-template-columns:1fr}}

.bankSearch{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bccbd7;border-radius:9px;margin:12px 0}
.bankItem{padding:12px 0;border-bottom:1px solid #e0e7ed}.bankItem>b{display:block;font-size:18px}.bankItem>span,.wordCard>span{display:block;color:#526573;font-size:13px;margin-top:3px}
.bankListen{padding:6px 9px;border:1px solid #aabdc9;border-radius:7px;background:white;font-weight:700}.wordGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.wordCard{padding:12px;border:1px solid #dce4ea;border-radius:9px}.wordCard>b{font-size:18px}@media(max-width:700px){.wordGrid{grid-template-columns:1fr}}

.authors{font-weight:800;margin-top:6px;letter-spacing:.2px}

.devTag{display:inline-block;font-weight:800;font-size:12px;padding:5px 8px;border-radius:999px;background:#edf4f7;margin-bottom:7px}
.devSteps{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.devStep{border:1px solid #d8e2e9;border-radius:9px;padding:11px;background:#fafcfd}.devStep p{line-height:1.55}
.devCard textarea{width:100%;box-sizing:border-box;min-height:110px;padding:10px;border:1px solid #c9d5df;border-radius:8px}.devChecklist{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}.labTabs button{margin:8px 8px 0 0}
@media(max-width:700px){.devSteps,.devChecklist{grid-template-columns:1fr}}
