.study-tools{margin:-8px 0 24px}
.review-entry{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px 20px;background:#fff8ed;border:1px solid #f1e3c8;border-radius:12px;transition:background .15s}
.review-entry:hover{background:#fff1d9}.review-entry>span:nth-child(2){flex:1;min-width:0}
.review-entry-icon{display:grid;place-items:center;background:#ffe7bc;color:#a77827;width:42px;height:42px;border-radius:11px;flex-shrink:0}
.review-entry strong{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:#65503b}
.review-entry strong b{display:inline-grid;place-items:center;min-width:24px;height:24px;font-size:13px;border-radius:7px;background:#f4dfb9;color:#805b28}
.review-entry small{display:block;margin-top:5px;font-size:13px;color:#8a7557;line-height:1.6}
.review-entry>.icon{color:#a98a5d;width:18px}
.mastery-list{padding:4px 20px;background:#fff;border:1px solid var(--line);border-radius:13px}
.mastery-row{display:flex;align-items:center;gap:14px;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}
.mastery-row:last-child{border-bottom:0}.mastery-row>.icon{width:17px;color:#a296b1}.mastery-row:hover .mastery-info strong{color:var(--subject)}
.mastery-info{flex:1;min-width:0}.mastery-info>span:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.mastery-info strong{font-size:15px;font-weight:600}.mastery-info small{font-size:12px;color:#84768f;line-height:1.5}
.mastery-info .progress-track{display:block;margin:12px 0 0}.mastery-info .progress-track>span{background:var(--subject)}
.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.review-filters{display:flex;gap:9px;flex-wrap:wrap}.filter-button{background:#fff;border:1px solid #e5deed;border-radius:9px;padding:11px 15px;color:#7e718d;font-size:14px;min-height:44px}
.filter-button span{font-size:12px;color:#a598b4;margin-left:5px}.filter-button.selected{border-color:#a28ad7;color:#7655ac;background:#f0e8fd}.filter-button.selected span{color:#8867b8}
.review-note{font-size:14px;line-height:1.8;color:#85738f;margin:0 0 22px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card{padding:23px;border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0}.review-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#9c839f}
.review-card-meta>span:last-child{color:#a57836;background:#fff3df;padding:3px 7px;border-radius:5px}.review-card h2{font-size:19px;line-height:1.7;margin:18px 0 12px;overflow-wrap:anywhere}
.review-card>p{font-size:13px;line-height:1.8;color:#948199}.review-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:23px}
.review-card-actions .primary-button{font-size:14px;gap:14px}.review-empty{grid-column:1/-1;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:55px 25px}
.review-empty-icon{display:grid;place-items:center;background:#e9f4ed;color:#639878;border-radius:18px;width:64px;height:64px;margin:0 auto 24px}.review-empty-icon .icon{width:30px;height:30px}
.review-empty h2{font-size:23px}.review-empty p{font-size:16px;color:#8c7a96;line-height:1.9;margin:14px 0 25px}
.quiz-track{height:5px;background:#efebf7;border-radius:5px;overflow:hidden;margin:0 0 25px}.quiz-track span{height:100%;display:block;background:#a08adc;transition:width .2s}
.inline-error{font-size:14px!important;line-height:1.8!important;padding:12px 15px;color:#a14942!important;background:#fff1ed;border-radius:8px;margin:14px 0!important}
.result-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}.result-actions .primary-button{margin:0}
.answer-option>span:last-child{min-width:0;overflow-wrap:anywhere}
button.primary-button:disabled{cursor:default}.answer-option:disabled{cursor:default}.small-button{min-height:44px}
@media(max-width:700px){
 .page-heading{margin-bottom:18px}.page-heading h1{font-size:22px}.page-heading p{font-size:14px}.stats-grid{margin-bottom:20px}
 .study-tools{margin-bottom:18px}.review-entry{padding:14px;gap:11px}.review-entry small{font-size:12px}.review-entry-icon{width:36px;height:36px}
 .review-toolbar{gap:14px}.review-filters{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.filter-button{padding:10px 7px;font-size:14px}.filter-button span{margin-left:3px}
 .review-toolbar>.primary-button{width:100%}.review-grid{grid-template-columns:1fr}.review-card{padding:20px}.review-card h2{font-size:18px}.review-card-actions{gap:8px}.review-card-actions .primary-button{gap:10px;padding:12px 15px}
 .review-empty{padding:36px 20px}.review-empty h2{font-size:21px}.mastery-list{padding:0 15px}.mastery-row{gap:11px}.mastery-row .stat-icon{width:36px;height:36px;margin:0}.mastery-info>span:first-child{gap:4px}
 .quiz-sticky-actions{position:sticky;bottom:-24px;background:#fff;padding:16px 0 calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);margin-bottom:-20px;z-index:2;box-shadow:0 -12px 20px #ffffffeb}
 .quiz-sticky-actions>span{display:none}.quiz-action-buttons{width:100%}.quiz-action-buttons .primary-button{flex:1;min-height:49px}.quiz-action-buttons .small-button{min-height:49px}
 .lesson-body{padding-bottom:25px}.lesson-header{position:sticky;top:0;z-index:3;background:#fff}.icon-button{width:40px;height:40px;flex-shrink:0}.lesson-header>span{font-size:13px;line-height:1.6}
 .result-actions{flex-direction:column}.result-actions>button{width:100%}.review-note{font-size:14px}.answer-feedback{padding:16px;font-size:16px}
.nav-item[data-nav=ranking]{font-size:12px}
}

/* A small autumn note, keeping the familiar study-room palette. */
.season-banner{display:flex;align-items:flex-start;gap:18px;padding:21px 24px;margin:0 0 22px;border:1px solid #eae0cf;border-radius:14px;background:#faf6ed;color:#655743}
.season-moon{display:grid;place-items:center;flex-shrink:0;width:51px;height:51px;border-radius:50%;background:#ead9b2;color:#806934;box-shadow:inset -8px -3px 0 #e0c898;font:24px "Songti SC",SimSun,serif}
.season-kicker{font-size:11px;letter-spacing:1.5px;color:#998264;margin-bottom:6px}.season-banner h2{font-size:18px;font-weight:650;line-height:1.5}
.season-banner p{font-size:13px;line-height:1.8;margin-top:7px;color:#86765f}.season-details{font-size:12px;margin-top:10px}.season-details summary{cursor:pointer;color:#8b7657;width:fit-content;line-height:1.7}.season-details span{display:block;color:#9d8b72;font-size:11px;margin-top:7px}
.seasonal-tag{display:inline-block;padding:4px 7px;white-space:nowrap;color:#907136;background:#fbf0d9;border-radius:5px;font-size:11px;font-weight:500;line-height:1.2}.task-text strong .seasonal-tag{margin-left:8px;vertical-align:middle}
.lesson-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-card.seasonal-lesson{border-top:3px solid #d5bc89}.lesson-card .lesson-context{font-size:12px;line-height:1.8;margin-top:8px;color:#927954}.curriculum-note{font-size:13px;line-height:1.8;margin:-3px 0 22px;color:#8a7c94}.autumn-formula{font-family:"Songti SC",SimSun,serif;font-style:normal;letter-spacing:5px}.autumn-formula small{letter-spacing:1px}

/* Each subject contributes to a clear, attainable first step. */
.mic-card{margin-bottom:24px;padding:23px 25px;border:1px solid #e3dbf2;background:#fff;border-radius:14px;box-shadow:0 3px 12px #3c285303}.mic-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.mic-kicker{display:block;color:#8d7fa4;font-size:12px;letter-spacing:.6px;margin-bottom:6px}.mic-heading h2{font-size:20px;line-height:1.6;font-weight:650}
.mic-pill{white-space:nowrap;background:#f3eefc;color:#896bac;padding:7px 10px;border-radius:7px;font-size:12px}.mic-pill.ready{background:#e8f4ec;color:#3f7c57}.mic-ready{border-color:#d5e5d9}.mic-ready .mic-kicker{color:#72957b}
.mic-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0 15px}.mic-subject{display:flex;align-items:center;gap:10px;background:var(--surface);color:#756780;border:1px solid transparent;border-radius:10px;padding:12px;font-size:14px}.mic-subject-icon{color:var(--subject)}.mic-subject-icon .icon{width:19px;height:19px}.mic-subject b{font-size:13px;font-weight:600;color:var(--subject);margin-left:auto;white-space:nowrap}.mic-subject.achieved{border-color:#d5e5d9;background:#f0f7f2}.mic-subject.achieved b{color:#538461}
.mic-next{display:flex;justify-content:space-between;align-items:center;gap:14px}.mic-next p{font-size:13px;color:#84758f;line-height:1.8}.mic-next .small-button{display:inline-flex;align-items:center;gap:9px}.mic-next .icon{width:15px;height:15px}
.mic-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.mic-note{display:block;font-size:11px;line-height:1.8;color:#9b8ea4}.text-action{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#887299;padding:8px 0;font-size:12px;white-space:nowrap;min-height:38px}.text-action:hover{color:#644789}.text-action .icon{width:14px;height:14px}
.rank-mic{display:inline-block;color:#9b895e;background:#faf4e8;padding:3px 5px;border-radius:4px;font-size:10px;line-height:1.3;white-space:nowrap}.rank-mic.ready{color:#568268;background:#edf6ef}.rank-row .rank-name small{display:flex;align-items:center;gap:5px;flex-wrap:wrap}

/* Personal card: independent avatar and nickname saves. */
.avatar{overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-button{min-width:44px;min-height:44px;display:grid;place-items:center}.profile-avatar{width:82px;height:82px;border:4px solid #fff;box-shadow:0 0 0 1px #e8dff1;font-size:28px}.profile-content{padding:25px 28px 28px}#profile-dialog{max-width:540px}
.avatar-editor{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.avatar-editor h3{font-size:14px;font-weight:500;margin-bottom:17px}.avatar-editor-row{display:flex;gap:20px;align-items:center}.avatar-editor-copy{min-width:0;flex:1}.avatar-editor-copy strong{font-size:14px;font-weight:550;color:#7c658d}.profile-content .avatar-editor-copy p{font-size:12px;line-height:1.8;color:#9d8faa;margin:6px 0 10px}.profile-content .avatar-editor-copy input[hidden]{display:none}
.profile-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-actions .primary-button{min-height:42px;padding:11px 17px;font-size:13px}.profile-actions .text-action{margin-left:auto}.profile-content .profile-status{min-height:22px;margin:11px 0 16px;font-size:12px;line-height:1.8;color:#9a87a9}
.profile-status[data-state=available],.profile-status[data-state=success]{color:#4e8b69}.profile-status[data-state=error],.profile-status[data-state=taken],.profile-status[data-state=reserved],.profile-status[data-state=invalid]{color:#b16755}.profile-content .nickname-rules{font-size:12px;line-height:1.9;color:#8d789c;margin:0 0 12px;padding:12px 14px;border-radius:8px;background:#f7f3fc}.profile-content .identity-note{font-size:12px;color:#a195ac;line-height:1.9;margin:0 0 20px}.profile-content input[aria-invalid=true]{border-color:#c79584}.profile-content input:disabled{background:#f5f2f9;color:#a394af}

/* Search includes every student, beyond the first fifty in the leaderboard. */
.student-search-section{border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:24px}.student-search-section h2{font-size:19px;font-weight:650;line-height:1.6}.student-search-section>p{font-size:13px;line-height:1.8;color:#928299;margin-top:7px}.student-search-form{display:flex;gap:10px;margin-top:16px}.student-search-form input{flex:1;min-width:0;border:1px solid #dfd4ea;border-radius:8px;padding:12px 14px;font-size:15px;background:#fdfbff;color:#5d4c6c}.student-search-form .primary-button{padding-left:23px;padding-right:23px}
.student-search-section .search-status{font-size:12px;line-height:1.8;margin-top:12px;color:#9985a7}.student-search-section .search-status:empty{display:none}.student-search-section .search-error{color:#b0755c}.student-search-results{display:grid;gap:10px;margin-top:14px}.student-result{border:1px solid #eae2f1;border-radius:10px;padding:15px;background:#fdfbff}.student-result-main{display:flex;align-items:center;gap:10px}.student-result-main strong{font-size:14px;font-weight:550;overflow-wrap:anywhere;flex:1;min-width:0}.student-result-main>b{font-size:18px;font-weight:650;color:#826798;white-space:nowrap}.student-result-main>b small{font-size:11px;font-weight:400}.student-result-details{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;margin-top:11px;border-top:1px solid #eee8f4}.student-subject-scores{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#9a88a9}.student-subject-scores b{font-weight:550;color:#826d96}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){
 .season-banner{padding:17px;gap:13px;margin-bottom:17px}.season-moon{width:39px;height:39px;font-size:20px}.season-banner h2{font-size:17px}.season-banner p{font-size:12px}.season-kicker{font-size:10px;letter-spacing:.7px}
 .mic-card{padding:18px 16px;margin-bottom:18px}.mic-heading{align-items:flex-start;gap:9px}.mic-heading h2{font-size:17px}.mic-kicker{font-size:11px}.mic-pill{font-size:11px;padding:6px 8px;margin-top:3px}.mic-subjects{gap:6px;margin:15px 0 12px}.mic-subject{padding:10px 7px;gap:5px;flex-wrap:wrap;font-size:12px}.mic-subject-icon .icon{width:15px;height:15px}.mic-subject b{width:100%;margin-left:20px;font-size:12px}.mic-next{flex-wrap:wrap;gap:9px}.mic-next p{font-size:12px}.mic-footer{display:block;margin-top:9px}.mic-footer .text-action{font-size:12px;padding-bottom:0}.mic-note{font-size:11px}
 .task-text strong .seasonal-tag{margin:4px 0 0;display:table}.profile-content{padding:22px 20px}.avatar-editor-row{gap:15px}.profile-avatar{width:70px;height:70px}.profile-actions{gap:9px}.profile-actions .text-action{font-size:12px}.avatar-editor{padding-bottom:22px;margin-bottom:22px}
 .student-search-section{padding-bottom:19px;margin-bottom:20px}.student-search-section h2{font-size:18px}.student-search-form{gap:8px}.student-search-form input{font-size:16px;padding:12px 10px}.student-search-form .primary-button{padding-left:17px;padding-right:17px}.student-result{padding:12px}.student-result-main .avatar{width:31px;height:31px}.student-result-main>b{font-size:17px}.student-result-main>b small{display:block;font-size:10px;text-align:right}.student-subject-scores{gap:11px;font-size:12px}.student-result-details{gap:7px}
}
