.student-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px;margin-bottom:28px;border-radius:16px;background:linear-gradient(135deg,#183c34,#476b61);color:#fff}.student-hero p,.student-hero h1{margin:0}.student-hero h1{font-size:34px}.student-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.student-summary article{min-width:115px;padding:14px 18px;border-radius:10px;background:#ffffff18}.student-summary span,.library-panel span,.tool-card span,.task-card span{display:block}.student-summary strong{font-size:23px}.library-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.library-panel>strong{display:block;font-size:32px;color:#183c34}.library-panel .progress-bar{margin:12px 0 20px}.home-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.task-card strong,.tool-card strong{display:block;font-size:30px;color:#183c34}.tool-card{color:inherit;text-decoration:none}.tool-card:hover{border-color:#476b61;transform:translateY(-2px)}.ranking-card .section-title{margin-bottom:8px}.current-student{background:#e8f3ec;font-weight:700}.ranking-gap{text-align:center;color:#89938f}.jump-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:800px;margin:0 auto 18px;padding:12px 16px;border:1px solid #ddd7c9;border-radius:9px;background:#fff}.jump-form input{width:90px;text-align:center}.jump-form small{color:#6c7773}.review-note{margin:14px 0}.review-note details{cursor:pointer}@media(max-width:700px){.student-hero{align-items:stretch;flex-direction:column}.student-summary{grid-template-columns:repeat(3,1fr)}.student-summary article{min-width:0;padding:10px}.student-summary strong{font-size:18px}.library-panels,.home-tools{grid-template-columns:1fr}.jump-form{align-items:flex-start;flex-direction:column}}
.competition-form .form-field{display:grid;gap:6px}.competition-form ul{columns:3;list-style:none;margin:4px 0;padding:0}.competition-form textarea{padding:9px;border:1px solid #b9c0bc;border-radius:6px;font:inherit}.competition-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.competition-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 18px;border-radius:10px;background:#183c34;color:#fff;font-size:18px}.competition-question h2{font-size:24px}.competition-options{display:grid;gap:10px;margin:20px 0}.competition-options>div{padding:13px;border:1px solid #d9d3c6;border-radius:7px}.live-answer{display:grid;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid #e3ded0}.live-answer label{display:flex;gap:12px;align-items:center}.answer-buttons,.competition-controls{display:flex;gap:10px;flex-wrap:wrap}.competition-controls{margin-bottom:22px}.competition-controls form{margin:0}.score-board div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #ece8df}.score-board strong{font-size:24px;color:#a54f32}.compact-form{margin-top:16px}.event-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;border-bottom:1px solid #ece8df;padding-bottom:8px}.event-row small{grid-column:1/-1;color:#6c7773}@media(max-width:800px){.competition-layout{grid-template-columns:1fr}.competition-form ul{columns:1}.answer-buttons button{flex:1}}
.group-buttons{display:flex;gap:10px;flex-wrap:wrap}.group-button{background:#eef2ef;color:#183c34;border:2px solid transparent}.group-button.active{background:#183c34;color:#fff;border-color:#a54f32;box-shadow:0 0 0 3px #a54f3233}.answer-result{margin-top:20px;padding:18px;border-radius:9px;border-left:5px solid}.answer-result.correct{background:#e8f3ec;border-color:#207544}.answer-result.wrong{background:#fff0e8;border-color:#a52f2f}.answer-result h3{margin-top:0}.danger{background:#9b3030}
.fill-examples{display:grid;gap:10px;margin:18px 0}.fill-examples>div{padding:12px 16px;border-left:4px solid #476b61;background:#f5f7f5}.fill-examples p{margin:0}.fill-examples small{color:#6c7773}.fill-answer-panel{padding:16px;border-radius:8px;background:#eef5ed}.feedback-box{margin-top:18px;padding:12px;border:1px solid #d9d3c6;border-radius:8px}.feedback-box summary{cursor:pointer;color:#a54f32;font-weight:700}.feedback-box form{margin-top:12px}.feedback-box textarea{padding:9px;border:1px solid #b9c0bc;border-radius:6px;font:inherit}
.display-controls{position:sticky;top:8px;z-index:20;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 14px;padding:8px 10px;border:1px solid #d9d3c6;border-radius:9px;background:#fffffff2;box-shadow:0 3px 10px #183c3418}.display-controls button{padding:7px 11px;background:#eef2ef;color:#183c34}.display-controls button.active{background:#183c34;color:#fff}.answer-display main{font-size:calc(16px * var(--answer-scale,1))}.answer-display .question h2,.answer-display .competition-question h2{font-size:calc(26px * var(--answer-scale,1));line-height:1.55}.answer-display .choices label,.answer-display .competition-options>div,.answer-display .fill-examples p{font-size:calc(18px * var(--answer-scale,1))}.answer-display .explanation,.answer-display .answer-result p,.answer-display .wrong-card>p{font-size:calc(16px * var(--answer-scale,1))}.answer-display .competition-question{max-width:none}.projector-mode header{display:none}.projector-mode main{max-width:1700px;margin:10px auto;padding:0 18px}.projector-mode .section-title{margin-bottom:8px}.projector-mode .competition-layout{grid-template-columns:minmax(0,3fr) minmax(280px,1fr)}.projector-mode .competition-question h2{font-size:calc(34px * var(--answer-scale,1))}.projector-mode .competition-options>div,.projector-mode .fill-examples p{font-size:calc(23px * var(--answer-scale,1))}.projector-mode .competition-question{padding:30px}.projector-mode .score-board{font-size:1.15em}@media(max-width:800px){.display-controls{position:static;justify-content:flex-start;flex-wrap:wrap}}
.word-summary{grid-template-columns:repeat(3,1fr)}.word-summary strong{display:block;font-size:30px;color:#183c34}.assignment-list{display:grid;gap:10px}.assignment-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #ece8df}.assignment-list small{display:block;color:#6c7773}.word-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-height:430px;overflow:auto;margin:12px 0 18px;padding:12px;border:1px solid #ded8cc;border-radius:8px}.word-picker label{display:flex;align-items:center;gap:6px;padding:7px;background:#f6f7f5;border-radius:5px}.word-picker.compact{max-height:260px}.word-link-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;max-height:300px;overflow:auto}.word-link-grid a{padding:7px;text-align:center;background:#eef2ef;border-radius:5px;color:#183c34;text-decoration:none}.sense-card{margin:18px 0;padding:16px;border-left:5px solid #476b61;background:#f7f8f6}.sense-card h2{margin-top:0}.sense-card h2 small{margin-left:12px;color:#6c7773;font-size:14px}.example-row{padding:9px 0;border-top:1px solid #e4e0d7}.example-row p{margin:0 0 4px;font-size:18px}.example-row small{display:block;color:#6c7773}.large-action{display:block;width:100%;margin-top:18px;padding:14px;font-size:18px}.matching-board{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0}.match-column{display:grid;align-content:start;gap:10px}.match-column button{position:relative;text-align:left;background:#f4f6f3;color:#183c34;border:2px solid transparent}.match-column button.selected{border-color:#a54f32}.match-column button.matched{background:#dfeee5}.match-column button.matched::after{content:'→ ' attr(data-matched);position:absolute;right:10px;font-weight:700}.match-column small{display:block;color:#6c7773}.match-sense span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:#183c34;color:#fff}.stage-question label{display:block;margin:8px 0;padding:10px;border:1px solid #ddd7c9;border-radius:6px}.stage-result{padding:12px 0;border-bottom:1px solid #ece8df}.check-list{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 16px}@media(max-width:800px){.word-summary,.matching-board{grid-template-columns:1fr}.word-picker{grid-template-columns:repeat(3,1fr)}.word-link-grid{grid-template-columns:repeat(5,1fr)}}
.auto-learning-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:6px solid #a54f32}.auto-learning-card h2{margin:5px 0}.auto-learning-card form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.auto-learning-card label{display:grid;gap:5px}@media(max-width:700px){.auto-learning-card{align-items:stretch;flex-direction:column}.auto-learning-card form{align-items:stretch;flex-direction:column}}
.matching-results{display:grid;gap:12px;margin:18px 0}.matching-results article{padding:14px;border-radius:8px;background:#fff}.matching-results .correct-row{border-left:5px solid #207544}.matching-results .wrong-row{border-left:5px solid #a52f2f}.matching-results p{margin:4px 0}.result-actions{display:flex;gap:12px;flex-wrap:wrap}.result-actions .button{display:inline-block}
.match-sense.used{opacity:.55}.match-sense.used::after{content:'已使用';position:absolute;right:10px;color:#476b61;font-weight:700}

/* ===== 积分排名：紧凑行列表 ===== */
.ranking-list { display: flex; flex-direction: column; }
.ranking-row {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-bottom: 1px solid #ece8df;
  font-size: 15px;
}
.ranking-row:last-child { border-bottom: 0; }
.ranking-row.current-student { background: #e8f3ec; font-weight: 700; }
.ranking-rank {
  width: 36px; text-align: center; color: #596761; font-weight: 600;
}
.ranking-name {
  flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ranking-score {
  text-align: right; white-space: nowrap; color: #183c34; font-weight: 600;
}
.ranking-score small { color: #6c7773; font-weight: 400; margin-left: 4px; }
.ranking-gap {
  text-align: center; padding: 6px 0; color: #89938f;
  border-bottom: 1px solid #ece8df;
}
