.learning-hub{--learning-ink:#18382f;--learning-line:#d9dfda;color:#172320}
.learning-hub [hidden]{display:none!important}
.learning-toolbar,.learning-list-head,.learning-practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.learning-toolbar{margin-bottom:18px;flex-wrap:wrap}
.learning-view-switch{display:flex;gap:5px;padding:5px;background:#e0e5df;border-radius:13px}
.learning-view-switch button,.learning-student-tabs button{border:0;background:none;color:#61716a;font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:11px 18px;border-radius:9px}
.learning-view-switch button[aria-pressed=true]{background:#173b30;color:#fff;box-shadow:0 3px 8px #173b3020}
.learning-date,.learning-hint,.learning-practice-status{font-size:12px;line-height:1.8;color:#68756f}
.learning-summary{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 22px;margin-bottom:16px;border:1px solid var(--learning-line);border-radius:15px;background:#fbfbf7;font-size:12px;color:#68756f}
.learning-summary strong{font:700 27px Georgia,serif;color:var(--learning-ink);padding-right:5px}
.learning-summary small{margin-left:auto}
.learning-student-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:start}
.learning-students{position:sticky;top:90px;padding:14px 8px;background:#f4f5ef;border:1px solid var(--learning-line);border-radius:17px;min-width:0}
.learning-list-head{padding:0 6px 14px}
.learning-list-head h2{margin:0;font-size:16px}
.learning-list-head .ghost-button{font-size:11px;padding:6px 10px}
.learning-students .filter-input{width:100%;min-width:0;font-size:12px;margin-bottom:12px}
.learning-student-list{max-height:65vh;overflow:auto;scrollbar-width:thin}
.learning-student{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:8px 5px;padding:13px 8px;text-align:left;background:transparent;border:1px solid transparent;border-bottom-color:#e0e5df;border-radius:10px;color:#263d34;cursor:pointer}
.learning-student:hover{background:#fff}
.learning-student.is-active{background:#fff3ed;border-color:#edbcae;box-shadow:inset 3px 0 #e95235}
.learning-student-name{font-size:14px;font-weight:750;overflow-wrap:anywhere}
.learning-student-name small{display:block;margin-top:5px;font-weight:400;font-size:11px;color:#7c8981}
.learning-plan-count{font:700 20px Georgia,serif;white-space:nowrap}
.learning-plan-count small{font:400 10px 'Microsoft YaHei UI',sans-serif;color:#7c8981}
.learning-last-seen{grid-column:1/-1;font-size:10px;color:#718077;line-height:1.6}
.learning-student-content{min-width:0;border:1px solid var(--learning-line);background:#fbfbf7;border-radius:18px;padding:24px;min-height:500px}
.learning-student-header h2{margin:6px 0;font-size:25px;overflow-wrap:anywhere}
.learning-student-header p{margin:0;color:#718077;font-size:12px}
.learning-kicker{color:#718077;font-size:11px;letter-spacing:.12em}
.learning-student-tabs{display:flex;gap:12px;border-bottom:1px solid var(--learning-line);margin:20px 0 24px}
.learning-student-tabs button{border-radius:0;padding:12px 4px;border-bottom:3px solid transparent;margin-bottom:-1px}
.learning-student-tabs button[aria-pressed=true]{color:#c94c32;border-bottom-color:#e95235}
.learning-overview-head strong{display:block;font:700 48px Georgia,serif;color:var(--learning-ink);margin-top:12px}
.learning-overview-head strong small{font:400 14px 'Microsoft YaHei UI',sans-serif;color:#718077}
.learning-overview-head p{font-size:13px;color:#718077;margin:10px 0 22px;line-height:1.8}
.learning-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.learning-plan-grid>div{display:grid;gap:12px;padding:17px 13px;border:1px solid #e0e5df;border-radius:12px;color:#7c8981;background:#f4f5f0;font-size:12px}
.learning-plan-grid strong{font-size:13px;font-weight:500}
.learning-plan-grid .is-done{background:#eaf3ed;border-color:#b9d3c2;color:#266048}
.learning-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:28px 0;margin-top:12px;border-bottom:1px solid var(--learning-line)}
.learning-overview-metrics span{font-size:12px;color:#718077}
.learning-overview-metrics strong{display:block;margin-top:12px;font:700 28px Georgia,serif}
.learning-practice-toolbar{flex-wrap:wrap;justify-content:flex-start}
.learning-practice-toolbar .filter-input{flex:1;min-width:120px;width:auto}
.learning-practice-toolbar .filter-select{min-width:110px}
.learning-practice-status{margin:12px 0}
.learning-practice-table,.learning-answer-table{max-height:65vh;overflow:auto;scrollbar-width:thin}
.learning-hub table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}
.learning-hub th{font-size:11px;font-weight:600;color:#718077;background:#f0f3ed;position:sticky;top:0;white-space:nowrap}
.learning-hub td,.learning-hub th{padding:14px 10px;border-bottom:1px solid #e3e7e0;vertical-align:top}
.learning-practice-table td:first-child{min-width:140px;width:38%}
.learning-practice-table td small{display:block;color:#89958d;margin-top:6px}
.learning-record-link,.mock-record-open{border:0;padding:0;background:none;color:#244c3b;text-align:left;font:inherit;font-weight:700;cursor:pointer;line-height:1.7}
.learning-record-link:hover,.mock-record-open:hover{text-decoration:underline;color:#c94c32}
.learning-answer-table td{white-space:pre-wrap;overflow-wrap:anywhere;min-width:70px}
.learning-answer-table td:last-child{min-width:180px}
.learning-practice-answer{margin-top:24px}
.learning-practice-answer h3{font-size:20px;line-height:1.5}
.learning-hub .learning-mocks{height:auto;min-height:0;overflow:visible;display:block}
.learning-hub .learning-mocks .mock-record-layout{display:block;overflow:visible}
.learning-hub .learning-mocks .mock-student-list{max-height:65vh;overflow:auto;padding:2px 4px 2px 0}
.learning-hub .learning-mocks .mock-detail-panel{display:none;overflow:visible}
.learning-hub .learning-mocks.is-detail .mock-student-list,.learning-hub .learning-mocks.is-detail .mock-filter-bar{display:none}
.learning-hub .learning-mocks.is-detail .mock-detail-panel{display:block;margin-top:18px;min-width:0}
.learning-hub .learning-mocks .mock-filter-bar{padding:0;border:0;box-shadow:none;background:none;gap:8px}
.learning-hub .learning-mocks .filter-input{min-width:130px;flex:1}
.learning-hub .learning-mocks .filter-select{min-width:110px;font-size:12px}
.learning-hub .learning-mocks .mock-student-card{text-align:left}
.learning-hub .learning-mocks .mock-record-item{padding:15px 18px}
.learning-hub .learning-mocks .mock-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.learning-hub .learning-mocks .record-meta{font-size:12px;overflow-wrap:anywhere}
.learning-hub button:focus-visible,.learning-hub a:focus-visible,.learning-hub input:focus-visible,.learning-hub select:focus-visible{outline:2px solid #1d6850;outline-offset:3px}
.learning-hub button:disabled{opacity:.55;cursor:wait}
.learning-student-layout:has([data-student-panel="mocks"]:not([hidden]) .is-detail),.learning-student-layout:has([data-student-panel="practice"]:not([hidden]) .learning-practice-detail:not([hidden])){grid-template-columns:minmax(0,1fr)}
.learning-student-layout:has([data-student-panel="mocks"]:not([hidden]) .is-detail)>.learning-students,.learning-student-layout:has([data-student-panel="practice"]:not([hidden]) .learning-practice-detail:not([hidden]))>.learning-students{display:none}
@media(max-width:1150px){.learning-student-layout{grid-template-columns:180px minmax(0,1fr)}.learning-student-content{padding:18px}.learning-hub .learning-mocks .mock-record-list{grid-template-columns:1fr}}
@media(max-width:780px){.learning-student-layout{grid-template-columns:1fr}.learning-students{position:static}.learning-student-list{max-height:220px}.learning-student-content{min-height:350px}.learning-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-date{display:none}.learning-summary{gap:15px;padding:15px}.learning-summary small{margin-left:0;width:100%}.learning-summary strong{font-size:23px}.learning-hub .learning-mocks .detail-grid{grid-template-columns:1fr}.learning-view-switch{width:100%}.learning-view-switch button{flex:1;padding:10px 8px;font-size:12px}.learning-overview-metrics{gap:10px}.learning-overview-metrics span{font-size:11px}.learning-overview-metrics strong{font-size:23px}}
