*{box-sizing:border-box}html,body{margin:0;height:100%;color:#162c43;background:#fff;font:15px/1.5 'Nunito',Arial,sans-serif}button,select{font:inherit;color:inherit;cursor:pointer}button{background:#fff;border:1px solid #dce2e9;border-radius:7px;padding:7px 12px;font-weight:700}button:hover{background:#f3f7fb}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #287fc5;outline-offset:2px}button:disabled{cursor:default;opacity:.55}button.primary{background:#124d8c;color:white;border-color:#124d8c}.student-header{height:48px;display:flex;align-items:center;gap:14px;padding:5px 12px;border-bottom:1px solid #e3e7ee}.student-header strong{color:#ae1239;white-space:nowrap}.student-header nav{display:flex;gap:6px}.student-header #account-name{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.student-header #account-button{white-space:nowrap}#student-status{position:fixed;z-index:20;left:50%;top:50px;transform:translateX(-50%);margin:0;padding:10px 18px;background:#fff6d5;border:1px solid #d5b666;border-radius:8px;max-width:95%;box-shadow:0 5px 20px #17273c20}#student-app{height:calc(100% - 48px);overflow:auto}.loading{margin:40px}.welcome{max-width:760px;margin:60px auto;padding:28px;border:1px solid #e1e6ed;border-radius:18px;background:#fafcff}.welcome h1{font-size:28px;margin:0 0 16px}.welcome p{color:#53677a}.welcome .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.dashboard{max-width:1250px;margin:auto;padding:22px}.dashboard h1{font-size:24px;margin:0 0 8px}.subtle{color:#687b8e;font-size:13px}.test-tabs{display:flex;gap:8px;margin:16px 0}.test-tabs .active{border-color:#124d8c;background:#eaf3fe;color:#124d8c}.section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.section-tile{text-align:left;padding:18px;border-radius:12px;min-height:122px;background:#fafcff}.section-tile strong{display:block;font-size:18px}.section-score{display:block;font-size:25px;color:#124d8c;margin:7px 0}.section-tile .subtle{display:block}.results-detail{margin-top:24px}.results-detail h2{font-size:20px}.results-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.results-tools select,.teacher-select,.practice-top select{border:1px solid #d9e0e8;border-radius:7px;padding:7px;background:white;max-width:100%}.results-table{width:100%;border-collapse:collapse}.results-table th,.results-table td{text-align:left;padding:9px 12px;border-bottom:1px solid #e4e8ee}.results-table th{background:#f5f8fb;font-size:13px}.results-table tr[data-result="correct"] td:nth-child(4){color:#24733e;font-weight:700}.results-table tr[data-result="incorrect"] td:nth-child(4){color:#b72149;font-weight:700}.report-table-wrap{overflow:auto}.practice{height:100%;display:flex;flex-direction:column;padding:5px 6px 6px}.practice-top{display:flex;align-items:center;gap:8px;flex:none;min-height:40px;white-space:nowrap}.practice-top .practice-label{margin-left:auto;font-weight:700}.question-navigation{display:flex;gap:6px;overflow-x:auto;flex:none;padding:2px 0 7px}.question-navigation button{flex:none;min-width:42px;background:#f5f6f8;color:#596575;padding:6px 10px}.question-navigation button.complete{background:#e5f5df;border-color:#92c775;color:#448528}.question-navigation button.partial{background:#edf5ff;color:#124d8c}.question-navigation button.active{border:2px solid #124d8c;padding:5px 9px;background:white;color:#124d8c}.study-caption{margin:0 2px 6px;font-size:12px;color:#596e80;flex:none}.browse-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;flex:1;overflow:visible}.panel{min-width:0;min-height:0;border:1px solid #e1e6ed;border-radius:7px;padding:14px;overflow:auto}.panel h2{font:700 18px/1.4 Georgia,serif;margin:0 0 16px}.panel img{display:block;max-width:100%;height:auto;margin:auto}.material .source-photo{width:100%;max-height:100%;object-fit:contain}.material .plain-document{border:1px solid #e5e8ec;border-radius:12px;padding:18px;margin-bottom:16px;white-space:normal;font:17px/1.7 Georgia,serif}.plain-document h3{text-align:center;margin:0 0 14px}.plain-document p{white-space:pre-line;margin:8px 0 16px}.plain-document dl{font-size:15px}.plain-document dt{font-weight:700}.plain-document dd{margin:0 0 8px}.plain-document table,.graphic-table{border-collapse:collapse;width:100%;font-size:14px}.plain-document th,.plain-document td,.graphic-table th,.graphic-table td{padding:6px;border:1px solid #cfd8e2}.question{margin-bottom:24px}.question-copy{font-size:18px;font-weight:700;line-height:1.5;margin:8px 0 14px}.choices{display:grid;gap:8px}.choice{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;border:1px solid #e1e6ed;background:white;min-height:44px;line-height:1.5;font-weight:600}.choice.selected{border-color:#124d8c;color:#124d8c;background:#f0f6ff}.choice-letter{border:1px solid #d8e0ea;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:12px;flex:none}.selected .choice-letter{background:#124d8c;color:#fff;border-color:#124d8c}.r67-group-progress{margin:0 0 16px}.r67-study-questions .question{margin-bottom:20px}.historical-note{font-size:12px;border-left:3px solid #879db2;padding:4px 8px;margin:6px 0 10px;background:#f3f7fb;color:#4c6377}.r67-option-card{margin-top:8px}.r67-original-choice{z-index:2}.practice-review-badge{background:#496d91!important}.graphic{border:1px solid #ccd9e7;padding:10px;border-radius:8px;margin-bottom:14px}.graphic h3{margin:0 0 8px;font-size:17px}.map-rooms{display:flex;gap:0;align-items:center}.map-rooms span{border:1px solid #a8b8c9;padding:15px 6px;flex:1;text-align:center;font-size:13px}.part5-material .sentence{font-size:23px;font-weight:700;line-height:1.8}.part5-material .rule{padding:14px;background:#eef9eb;border-radius:8px}.p5-annotation{display:block;font-size:13px}.p5-ipa{color:#c31647}.teacher-tools{margin:10px 0}.r67-original-correct{background:#24733e}.r67-original-incorrect{background:#b72149}.ls-turn{margin-bottom:14px}.ls-speaker{font-size:12px;font-weight:bold}.ls-turn p{margin:4px 0 10px}.ls-translation{font:14px/1.6 Arial,sans-serif;color:#536f5d}.ls-transcript .r67-document{line-height:1.9}a{color:#124d8c}.report-empty{padding:16px;background:#f5f8fb;border-radius:10px}.practice-bottom{display:flex;gap:8px;margin-top:5px;font-size:12px}.practice-bottom a{margin-left:auto}.answer-live{color:#53677a;font-size:12px}
@media(max-width:850px){.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-header{gap:6px}.student-header strong{font-size:13px}.student-header nav button{font-size:12px;padding:5px 7px}.student-header #account-name{max-width:130px}.practice-top{flex-wrap:wrap}.practice-top .practice-label{font-size:12px}.practice-top select{font-size:13px;padding:6px}.results-table th,.results-table td{padding:8px 6px}}
@media(max-width:700px){.browse-panels{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.panel{padding:10px}.student-header #account-name{display:none}.student-header #account-button{margin-left:auto;font-size:12px;padding:5px 7px}.student-header{height:50px}.student-header strong{max-width:110px;white-space:normal;line-height:1.2}.welcome{margin:30px 12px;padding:20px}.dashboard{padding:14px}.practice-top .practice-label{display:none}.practice-top{gap:5px}.practice-top button{font-size:12px;padding:5px 7px}.section-tile{padding:12px}.results-table{font-size:13px}.results-table button{font-size:12px;padding:5px}.study-caption{font-size:11px}}

.practice-review-badge .r67-choice-icon{color:#496d91}.graphic img{max-height:260px;width:auto}.section-tile[aria-pressed="true"]{border-color:#124d8c;box-shadow:0 0 0 1px #124d8c}
.converted-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 8px}.converted-scores>div{padding:16px 20px;border:1px solid #d9e4ef;border-radius:12px;background:#f7faff}.converted-scores>div:first-child{background:#124d8c;color:#fff}.converted-scores strong{display:block;font-size:32px;line-height:1.5}.converted-scores small{font-size:15px;font-weight:500;opacity:.75}.converted-scores span{display:block}.mistake-overview{display:flex;gap:20px;align-items:center;margin:18px 0}.mistake-overview strong{font-size:22px;color:#ae1239}.mistake-part{margin-top:24px}.mistake-part h2{font-size:19px}.mistake-part h2 span{margin-left:10px;font-weight:400}.mistake-groups{display:flex;gap:10px;flex-wrap:wrap}.mistake-group{padding:10px 12px;border:1px solid #e0e5ed;border-radius:10px;background:#fafcff}.mistake-group>span{display:block;margin-bottom:6px}.mistake-group>div{display:flex;gap:6px}.mistake-group button{min-width:46px;color:#a92446;border-color:#efc9d5}.r67-context-answer{font-weight:700;color:#35576d}@media(max-width:700px){.converted-scores{gap:6px}.converted-scores>div{padding:10px}.converted-scores strong{font-size:24px}.converted-scores small{font-size:11px}.converted-scores span{font-size:12px}.practice-top{white-space:normal}}

.browse-panels.linked-lesson-panel{display:block;position:relative;overflow:hidden}.linked-lesson-panel iframe{display:block;border:0;width:100%;height:100%;background:#fff}.linked-loading{position:absolute;z-index:2;top:10px;left:10px;background:white;padding:8px;font-size:14px}

/* Ruby glass dashboard: shared account chrome, compact complete-test results. */
.student-site{--student-ruby:#b8092b;--student-ruby-dark:#850d25;--student-ink:#29232b;--student-glass:linear-gradient(145deg,#ffffffef,#fffaf9bf);color:var(--student-ink);background:radial-gradient(ellipse at 95% 0%,#efd6d477,transparent 48%),linear-gradient(135deg,#f7f4f1,#efebed)}
.student-site button:focus-visible,.student-site select:focus-visible,.student-site a:focus-visible,.result-cell-content:focus-visible{outline:3px solid #ab1539;outline-offset:2px}
.student-site button.primary{background:linear-gradient(180deg,#cc163e,#a00929);color:white;border-color:#a21433;box-shadow:inset 0 1px 1px #ffffff70,0 3px 8px #9e17322b}
.student-site a{color:#9e1635}
.student-header{height:56px;padding:7px 16px;gap:16px;color:#fff;background:linear-gradient(180deg,#d43a50 0%,#c00d2f 18%,#a90022 72%,#8c0924 100%);border:1px solid #ffffffaa;border-bottom:2px solid #d4b983;border-radius:0 0 22px 22px;box-shadow:inset 0 2px 2px #ffffff75,0 4px 14px #6b09232b;position:relative;z-index:3}
.student-header strong{color:#fff;font-size:15px;letter-spacing:.15px}
.student-header nav{background:#68001726;padding:3px;border:1px solid #ffffff2e;border-radius:18px;gap:3px}
.student-header button{color:#fff;border-color:#ffffff5c;border-radius:14px;background:#ffffff17;box-shadow:inset 0 1px 1px #ffffff44;padding:5px 13px}
.student-header nav button{border-color:transparent;box-shadow:none;background:transparent}
.student-header button:hover{background:#ffffff2e}
.student-header nav button[aria-current="page"]{background:linear-gradient(160deg,#fff,#fff4ee);color:#9d1633;box-shadow:inset 0 1px 1px white,0 2px 5px #57001e33}
.student-header #account-name{font-size:12px;font-weight:700}
#student-app{height:calc(100% - 56px)}
#student-status{top:60px}
.dashboard{max-width:1500px;padding:14px 18px;margin:auto}
.dashboard h1{font-size:23px;color:#432632;letter-spacing:-.45px;line-height:1.25;margin:0}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.dashboard-heading .subtle{margin:3px 0 0;font-size:11px}
.dashboard-heading .test-tabs{margin:0;flex:none}
.student-site .test-tabs{background:#ffffff8a;border:1px solid #fff;border-radius:18px;padding:4px;box-shadow:inset 0 1px 2px #fff,0 3px 12px #6a26350c;gap:4px}
.student-site .test-tabs button{border:1px solid transparent;border-radius:13px;background:transparent;color:#8d203b;padding:6px 20px}
.student-site .test-tabs button.active{background:linear-gradient(180deg,#cb153a,#990b2d);border-color:#af1838;color:white;box-shadow:inset 0 1px 2px #ffffff8c,0 3px 8px #91152f2d}
.student-site .glass-card,.converted-scores>div,.student-site .welcome,.student-site .mistake-group{border:1px solid #fff;background:var(--student-glass);border-radius:22px;box-shadow:inset 0 1px 2px #fff,0 5px 18px #6240500e,0 0 0 1px #8d344a0b;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.results-dashboard .converted-scores{gap:10px;margin:0 0 4px}
.results-dashboard .converted-scores>div{padding:8px 18px;position:relative;overflow:hidden}
.results-dashboard .converted-scores>div>span:first-child{font-size:12px;line-height:15px;font-weight:800;color:#8c3349}
.results-dashboard .converted-scores strong{font-size:28px;line-height:1.25;color:#5d1930;letter-spacing:-1px}
.results-dashboard .converted-scores small{font-size:13px;letter-spacing:0}
.results-dashboard .converted-scores .subtle{font-size:11px;line-height:13px}
.results-dashboard .converted-scores>div:first-child{background:radial-gradient(ellipse at 10% 0%,#ef6a7e88,transparent 60%),linear-gradient(150deg,#ca143a,#9a0829);border-color:#df7588;color:white;box-shadow:inset 0 1px 2px #ffffff99,0 5px 15px #a9153329}
.results-dashboard .converted-scores>div:first-child strong,.results-dashboard .converted-scores>div:first-child>span:first-child{color:white}
.results-dashboard .converted-scores+p{font-size:10px;line-height:12px;margin:0 4px 6px;color:#78636c}
.results-dashboard .section-grid{gap:8px;margin-bottom:10px}
.results-dashboard .section-tile{min-height:0;border-radius:15px;display:flex;align-items:center;flex-wrap:wrap;column-gap:9px;padding:6px 12px}
.results-dashboard .section-tile strong{font-size:12px;line-height:1.3;color:#8a2b43}
.results-dashboard .section-score{font-size:18px;line-height:1;margin:0 0 0 auto;color:#7a1836;font-weight:800}
.results-dashboard .section-score small{font-size:11px;font-weight:600;color:#87707a}
.results-dashboard .section-tile .subtle{font-size:10px;line-height:1.2;flex-basis:100%;margin-top:3px}
.results-overview{padding:12px 14px}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.overview-heading h2{font-size:17px;line-height:1.25;margin:0;color:#492332;font-weight:800}
.overview-heading h2>span{font-size:11px;color:#9c4058;font-weight:600;margin-left:5px}
.overview-heading .primary{font-size:12px;border-radius:13px;padding:7px 12px;white-space:nowrap}
.overview-key{font-size:10px;line-height:12px;color:#7b646d;margin:2px 0 0}
.overview-legend{display:flex;align-items:center;gap:12px;font-size:11px;line-height:14px;font-weight:800;margin:6px 0}
.legend-correct{color:#207743}.legend-incorrect{color:#ad143c}.legend-missing{color:#756874}
.overview-ranges{margin-left:auto;color:#796e75;font-size:10px;font-weight:600}
.question-matrix{display:block;width:100%;border-collapse:separate;border-spacing:0;margin:0}
.question-matrix tbody{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:4px}
.question-matrix tr{display:contents}
.question-matrix td{min-width:0;display:block;padding:0;background:linear-gradient(150deg,#f5f4f6,#eeeaf0);border:1px solid #e0d8e1;border-radius:9px;box-shadow:inset 0 1px 1px #ffffffee}
.question-matrix td[data-result="correct"]{background:linear-gradient(145deg,#f4ffec,#dcf3d4);border-color:#b8dab0;color:#257044}
.question-matrix td[data-result="incorrect"]{background:linear-gradient(145deg,#fff2f5,#f9dbe4);border-color:#ecc0ce;color:#a40b38}

.question-matrix button,.result-cell-content{display:block;width:100%;height:34px;padding:2px 5px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left}
.question-matrix button:hover{background:#ffffff66;box-shadow:0 0 0 2px #b4163c66;position:relative;z-index:1}
.result-cell-top{display:flex;align-items:center;justify-content:space-between;gap:1px;line-height:17px}
.result-cell-top b{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.result-cell-status{font-size:13px;font-weight:900;line-height:15px}
.result-cell-answer{display:block;font-size:10px;line-height:12px;font-weight:700;white-space:nowrap;text-align:center;letter-spacing:-.2px}
.result-cell-answer>span{font-size:9px;opacity:.6}
.results-overview>.pdf-report-note{font-size:10px;margin:8px 0 0;line-height:1.35;color:#816c76}
.student-site .report-empty{background:#fff8f5c9;color:#754554;border:1px solid #f3d5db;border-radius:18px}
.student-site .teacher-select{border-color:#e4cbd3;border-radius:12px}
.student-site .mistake-overview strong,.student-site .mistake-group button{color:#a50c32}
.student-site .mistake-group button{border-radius:12px;background:#fff9f9;border-color:#ebc8d1}
@media(max-width:1100px){.question-matrix tbody{grid-template-columns:repeat(10,minmax(0,1fr))}.results-dashboard .section-tile{padding:8px}.overview-ranges{font-size:9px}.student-header{gap:10px}}
@media(max-width:700px){.student-header{height:56px;border-radius:0 0 17px 17px;padding:7px 10px;gap:7px}.student-header strong{font-size:12px;max-width:95px}.student-header nav{padding:2px}.student-header nav button{font-size:11px;padding:5px 7px}.student-header #account-button{font-size:11px;border-radius:11px}.dashboard{padding:12px 10px}.dashboard h1{font-size:19px}.dashboard-heading{gap:8px;align-items:flex-start}.dashboard-heading .subtle{font-size:10px}.student-site .test-tabs button{font-size:12px;padding:6px 10px}.results-dashboard .converted-scores>div{padding:10px}.results-dashboard .converted-scores strong{font-size:26px}.results-dashboard .converted-scores>div>span:first-child{font-size:11px}.results-dashboard .converted-scores .subtle{font-size:10px}.results-dashboard .section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-overview{padding:12px 10px;border-radius:20px}.overview-heading h2{font-size:16px}.overview-heading{gap:8px}.overview-key{font-size:9px}.overview-heading .primary{font-size:11px;padding:6px 9px}.overview-legend{gap:10px;flex-wrap:wrap}.overview-ranges{flex-basis:100%;margin-left:0}.question-matrix tbody{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px}.question-matrix button,.result-cell-content{padding:3px;height:40px}.result-cell-top b{font-size:12px}.result-cell-answer{font-size:9px}.results-overview>.pdf-report-note{font-size:10px}}
@media(max-width:470px){.question-matrix tbody{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.overview-heading .primary{max-width:100px;white-space:normal;line-height:1.2}.dashboard-heading{flex-wrap:wrap}.dashboard-heading .test-tabs{margin-left:auto}.results-dashboard .converted-scores strong{font-size:24px}}

/* Two clear result sections; each question shows its number and status only. */
.overview-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.overview-section{min-width:0;padding:8px;border:1px solid #eadce2;border-radius:14px;background:#ffffff66}
.overview-section h3{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:14px;color:#612139;line-height:18px}
.overview-section h3>span{color:#88717c;font-size:11px;font-weight:600}
.overview-section .question-matrix tbody{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.overview-section .question-matrix button,.overview-section .result-cell-content{height:30px;padding:3px 5px;display:flex;align-items:center}
.overview-section .result-cell-top{width:100%;line-height:18px;gap:2px}
.overview-section .result-cell-status{font-size:15px}
@media(max-width:1100px){.overview-sections{gap:10px}.overview-section{padding:6px}.overview-section .question-matrix tbody{gap:3px}.overview-section .question-matrix button,.overview-section .result-cell-content{padding:3px}.overview-section .result-cell-top b{font-size:12px}}
@media(max-width:700px){.overview-sections{grid-template-columns:minmax(0,1fr);gap:12px}.overview-section .question-matrix button,.overview-section .result-cell-content{height:34px}}
@media(max-width:470px){.overview-section .question-matrix tbody{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.overview-section .question-matrix button,.overview-section .result-cell-content{height:32px}}

/* Reading time before Listening retry audio: eight seconds per displayed question. */
.question-read-timer{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:10px auto 24px;padding:24px 18px;max-width:500px;border:1px solid #fff;border-radius:26px;background:linear-gradient(135deg,#fffdfbe8,#f0e4e7ee);box-shadow:inset 0 1px 2px #fff,0 7px 22px #78233c12;color:#8b1635;text-align:center}
.question-read-timer [data-timer-label]{flex-basis:100%;font-size:15px;font-weight:800}
.question-read-timer strong{font-size:56px;line-height:1;font-variant-numeric:tabular-nums;min-width:105px}
.question-read-timer small{display:block;margin-top:6px;font-size:13px;font-weight:600}
.question-read-timer button{background:linear-gradient(180deg,#c71840,#9b1030);color:white;border-color:#a91135;border-radius:16px;padding:10px 22px;box-shadow:inset 0 1px 2px #ffffff80}
.question-read-timer p{flex-basis:100%;margin:0;font-size:12px;color:#76606a}
.question-read-timer [hidden]{display:none!important}
.question-read-timer[data-state="playing"],.question-read-timer[data-state="stopped"]{padding:14px}
@media(max-width:700px){.question-read-timer{margin:4px auto 14px;padding:15px;gap:12px}.question-read-timer strong{font-size:40px}.question-read-timer [data-timer-label]{font-size:13px}}

.student-site .r67-original-choice{top:0;transform:translateY(-50%)}
/* Retry progress stays compact and separate from immutable PDF results. */
.overview-view-switch,.review-filters{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:8px 0}
.overview-view-switch button,.review-filters button{font-size:12px;padding:6px 10px;border-radius:12px;background:#fff9f9;border-color:#e8ced7;color:#881735}
.overview-view-switch .active,.review-filters .active{background:linear-gradient(#c61942,#9c0d30);color:#fff;border-color:#9c0d30;box-shadow:inset 0 1px 1px #ffffff80}
.sync-status{font-size:10px;color:#78616c;white-space:normal}
.overview-view-switch .sync-status{margin-left:auto}
.progress-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;background:#ffffffad;border:1px solid #fff;border-radius:18px;margin:10px 0;color:#642239;font-size:14px}
.overview-legend[hidden]{display:none}
.student-site .practice-bottom{gap:8px;align-items:center;min-height:34px;height:34px}
.retry-history-strip{display:flex;gap:5px;align-items:center;overflow-x:auto;min-width:0;flex:1;white-space:nowrap;padding:2px}
.student-site .history-chip{padding:3px 8px;flex-shrink:0;font-size:10px;border-radius:10px;min-height:25px;color:#79636e;background:#fff9fb;border-color:#e8dbe0}
.student-site .history-chip.correct,.history-status.correct{color:#227841}.student-site .history-chip.incorrect,.history-status.incorrect{color:#a40e38}
.question-navigation button.incorrect{background:#fde5ec;border-color:#dfa4b5;color:#ac1139}
.retry-history-dialog{width:min(480px,calc(100vw - 24px));max-height:85dvh;box-sizing:border-box;overflow-y:auto;padding:24px;border:1px solid #fff;border-radius:25px;background:linear-gradient(140deg,#fffdfd,#f4ebee);color:#432432;box-shadow:0 16px 70px #50152645;font-family:Nunito,sans-serif}
.retry-history-dialog::backdrop{background:#34242e66;backdrop-filter:blur(5px)}
.retry-history-dialog h2{margin:0 35px 12px 0;font-size:20px}.retry-history-dialog p{font-size:12px}
.retry-history-dialog .history-close{position:absolute;top:12px;right:12px;width:30px;height:30px;padding:0;border-radius:50%;background:white;border:1px solid #e8d0d8;color:#951133}
.history-baseline{display:grid;gap:5px;border-radius:14px;background:#fff;border:1px solid #ebcfd8;padding:12px;font-size:13px}
.retry-timeline{padding:0;margin:14px 0;list-style:none;display:grid;gap:6px}
.retry-timeline li{padding:9px 12px;border:1px solid #dfcad1;border-radius:12px;background:#ffffffc4;font-size:13px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.retry-timeline .correct{color:#227841;border-color:#b9d8b2}.retry-timeline .incorrect{color:#a40e38;border-color:#e6b1c1}
.retry-timeline time{color:#816875;font-size:11px}
@media(max-width:700px){.student-site .practice-bottom{height:38px}.practice-bottom #practice-count{display:none}.retry-history-strip .sync-status{display:none}.progress-summary{align-items:flex-start;flex-direction:column}.overview-view-switch .sync-status{flex-basis:100%;margin-left:0}}
.frequent-questions{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px}
.student-site .frequent-questions .history-chip{display:grid;gap:4px;text-align:left;padding:10px;font-size:12px;white-space:normal}
.student-site .frequent-questions .history-chip b{font-size:15px}

/* Prepare only the active linked lesson, without exposing answers or taking space. */
.browse-panels{position:relative}
.browse-panels>iframe.linked-preloading{position:absolute;inset:0;border:0;width:100%;height:100%;visibility:hidden!important;pointer-events:none;z-index:-1}
.browse-panels.linked-lesson-panel>.panel{display:none}

/* Current review progress stays above the lesson, including on narrow screens. */
.practice-progress{display:flex;align-items:center;gap:8px;flex:none;padding:4px 7px;margin-bottom:5px;border:1px solid #ead5dd;border-radius:13px;background:#ffffff9e;font-size:11px;color:#62434f}
.practice-progress #practice-count{flex:none;white-space:nowrap;font-weight:700}
.practice-progress .retry-history-strip{flex-wrap:wrap;white-space:normal;overflow:visible;gap:5px;padding:0}
.practice-progress .history-chip{white-space:normal;text-align:left;font-size:11px;min-height:26px}
.practice-progress .sync-status{display:inline;flex:none;font-size:10px}
.student-site .practice-bottom{min-height:18px;height:18px;font-size:11px;margin-top:3px}
@media(max-width:700px){.practice-progress{flex-wrap:wrap;gap:4px;padding:5px 7px}.practice-progress .retry-history-strip{flex-basis:100%}.practice-progress .history-chip{font-size:10px}.practice-progress .sync-status{display:inline}.student-site .practice-bottom{height:18px}}

/* Review controls: a short route bar, nearby groups, and visible progress cards. */
.ui-icon{width:19px;height:19px;flex:none;vertical-align:middle}
.student-site .practice-top{gap:8px;min-height:48px;padding:3px 2px 6px;white-space:normal;flex-wrap:nowrap}
.practice-top button,.practice-options summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:12px}
.practice-top [hidden]{display:none!important}
.student-site .practice-top select{border-radius:12px;min-height:36px}
.student-site .practice-top .practice-label{display:flex;align-items:baseline;gap:9px;min-width:0;margin-left:8px;white-space:normal}
.practice-label small{font-size:12px;color:#8b6c78;font-weight:600;white-space:nowrap}
.practice-label b{font-size:15px;color:#622538;line-height:1.3}
.practice-actions{display:flex;align-items:center;gap:7px;margin-left:auto;flex:none}
.student-site #play-source{background:linear-gradient(#c61942,#a10b32);color:#fff;border-color:#a10b32;box-shadow:inset 0 1px 1px #ffffff80,0 3px 10px #a10b321c;padding-inline:16px}
.practice-options{position:relative}
.practice-options summary{list-style:none;cursor:pointer;border:1px solid #e5d5dc;background:#ffffffb8;padding:7px 11px;font-weight:700;color:#7b354b}
.practice-options summary::-webkit-details-marker{display:none}
.practice-options summary:focus-visible{outline:3px solid #287fc5;outline-offset:2px}
.practice-options[open] summary{background:#f8e9ee;border-color:#bb5875}
.practice-options-panel{position:absolute;z-index:30;right:0;top:calc(100% + 7px);width:270px;max-width:calc(100vw - 24px);padding:16px;border:1px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fffcfd,#f8edf1);box-shadow:0 12px 35px #64233930}
.practice-options-panel label{display:grid;gap:5px;font-size:12px;font-weight:800;color:#7a4455}
.practice-options-panel select{width:100%;font-size:13px}
.practice-options-panel button{width:100%;margin-top:14px;font-size:13px}
.practice-options-panel small{display:block;text-align:center;margin-top:6px;color:#886f79;font-size:11px}
.student-site .question-navigation{overflow:visible;align-items:center;gap:6px;padding:0 2px 8px}
.question-navigation .nav-nearby{display:flex;gap:5px;min-width:0;align-items:stretch}
.student-site .question-navigation button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;border-radius:11px;line-height:1.3;font-size:13px;min-width:40px;padding:6px 11px}
.student-site .question-navigation .nav-step{width:36px;min-width:36px;padding:6px;background:#ffffff90;border-color:#e7dbe0;color:#843c53}
.student-site .question-navigation button.active{border-color:#aa123a;color:#981238;background:#fff;box-shadow:0 2px 8px #88153612;padding:5px 10px}
.question-navigation .nav-position{margin-left:auto;padding:0 7px;font-size:12px;color:#866d78;font-variant-numeric:tabular-nums;white-space:nowrap}
.student-site .question-navigation .nav-all{gap:7px;color:#85334c;border-color:#e2cdd6;background:#ffffffc9;white-space:nowrap}
.student-site .practice-progress{gap:14px;padding:10px 12px;margin:0 2px 8px;border-radius:19px;border:1px solid #fff;background:linear-gradient(115deg,#ffffffed,#fbf5f8e6);box-shadow:inset 0 1px 1px #fff,0 4px 16px #6621390c;flex-wrap:nowrap}
.practice-progress #practice-count{display:flex;align-items:center;gap:10px;padding:3px 13px 3px 0;min-width:145px;border-right:1px solid #eadbe1;color:#256d42;line-height:1.15}
.tally-symbol{width:43px;height:43px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#e4f5dc,#c9e7c3);box-shadow:inset 0 1px 1px #fff;color:#267644}
.tally-symbol .ui-icon{width:28px;height:28px;stroke-width:3}
.practice-progress #practice-count strong{display:block;font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.practice-progress #practice-count strong small{font-size:16px;color:#718775;letter-spacing:0}
.tally-label{display:block;margin-top:3px;font-size:12px;font-weight:800;color:#447555}
.practice-progress .retry-history-strip{display:flex;align-items:center;flex-wrap:wrap;white-space:normal;gap:7px;flex-basis:auto;overflow:visible}
.student-site .practice-progress .history-chip{display:flex;align-items:center;gap:9px;min-height:59px;padding:7px 11px;border-radius:14px;background:#f5f1f3;border-color:#e2d6db;color:#796571;box-shadow:inset 0 1px 1px #fff;font-size:13px}
.student-site .practice-progress .history-chip.correct{background:linear-gradient(130deg,#f0fae9,#def0d7);border-color:#b9d9ad;color:#256e42}
.student-site .practice-progress .history-chip.incorrect{background:linear-gradient(130deg,#fff0f4,#f9dde5);border-color:#edbbc9;color:#b11540}
.history-symbol{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#ffffff90;flex:none}
.history-symbol .ui-icon{width:23px;height:23px;stroke-width:2.5}
.history-copy{display:grid;gap:4px}
.history-copy strong{display:flex;align-items:baseline;gap:7px;font-size:18px;line-height:1.15}
.history-copy strong>span{font-size:13px}
.history-metrics{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1;opacity:.8;font-weight:700}
.history-metrics>span{display:flex;align-items:center;gap:4px}
.history-metrics .ui-icon{width:13px;height:13px}
.student-site .practice-progress .compact-sync{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:11px;white-space:nowrap;color:#927985}
.practice-progress .compact-sync.saved{color:#50745b}.practice-progress .compact-sync.offline{color:#a06d30}
.compact-sync .ui-icon{width:17px;height:17px}
.practice-progress .sync-retry{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%}
.review-map-dialog{width:min(800px,calc(100vw - 24px));padding:24px}
.review-map-dialog .history-close{display:grid;place-items:center;width:34px;height:34px}
.review-map-dialog section+section{margin-top:18px}
.review-map-dialog h3{margin:0 0 7px;font-size:13px;color:#8a3d55}
.review-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:6px}
.review-map-grid button{min-height:38px;border-radius:11px;background:#fff;color:#735563;line-height:1.3}
.review-map-grid .complete{background:#e4f5dd;border-color:#b9d9ad;color:#256e42}
.review-map-grid .incorrect{background:#fce4ec;border-color:#edbbc9;color:#b11540}
.review-map-grid .partial{background:#e9f2ff;border-color:#c0d5ed;color:#315980}
.review-map-grid .active{border:2px solid #a41137;background:#fff;color:#a41137}
@media(max-width:1000px){.question-navigation .nav-nearby{flex:1}.student-site .question-navigation .nav-nearby button{flex:1;min-width:0;padding:6px;font-size:12px}.student-site .question-navigation .nav-nearby button.active{padding:5px}.practice-progress{gap:10px}}
@media(max-width:700px){
 .student-site .practice-top{gap:6px;flex-wrap:wrap;padding-bottom:6px}
 .student-site .practice-top button{font-size:12px;padding:6px 9px}
 .student-site .practice-top #practice-test{font-size:12px;max-width:84px}
 .student-site .practice-top .practice-label{margin-left:0;flex:1;justify-content:flex-end;gap:6px}
 .practice-label small{font-size:11px}.practice-label b{font-size:13px}
 .practice-actions{width:100%;justify-content:flex-end;gap:6px}
 .practice-options summary{font-size:12px;min-height:34px}
 .student-site .question-navigation{gap:4px}.question-navigation .nav-nearby{gap:4px}
 .student-site .question-navigation button{min-height:36px;padding:5px 8px;font-size:12px}
 .student-site .question-navigation .nav-step{width:30px;min-width:30px;padding:4px}
 .question-navigation .nav-position{font-size:10px;padding:0 2px}
 .student-site .question-navigation .nav-all{gap:4px;min-width:34px;padding:5px 6px}
 .nav-all .ui-icon{width:16px;height:16px}
 .student-site .practice-progress{padding:9px 8px;gap:9px;margin-bottom:6px;align-items:flex-start}
 .practice-progress #practice-count{min-width:104px;padding:5px 8px 5px 0;gap:6px}
 .tally-symbol{width:29px;height:35px;border-radius:12px}.tally-symbol .ui-icon{width:22px;height:22px}
 .practice-progress #practice-count strong{font-size:23px}.practice-progress #practice-count strong small{font-size:12px}
 .tally-label{font-size:11px}
 .practice-progress .retry-history-strip{flex-basis:auto;gap:5px}
 .student-site .practice-progress .history-chip{min-height:54px;gap:6px;padding:6px 8px}
 .history-symbol{width:26px;height:26px}.history-symbol .ui-icon{width:20px;height:20px}
 .history-copy strong{font-size:16px;gap:5px}.history-copy strong>span{font-size:12px}
 .history-metrics{font-size:11px;gap:10px}
 .student-site .practice-progress .compact-sync{display:flex;font-size:10px;margin-left:0}
 .review-map-dialog{padding:20px 15px}.review-map-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}
}

/* Progress shares the toolbar rather than reserving a full lesson-height row. */
.student-site .practice-top{flex-wrap:wrap;gap:7px;min-height:48px}
.student-site .practice-top .practice-progress{display:flex;align-items:center;flex:0 1 auto;gap:7px;max-width:100%;padding:4px 7px;margin:0 auto;border-radius:14px;box-shadow:inset 0 1px 1px #fff;background:#ffffff9c}
.practice-top .practice-progress #practice-count{min-width:0;gap:5px;padding:2px 7px 2px 0}
.practice-top .tally-symbol{width:28px;height:29px;border-radius:10px}
.practice-top .tally-symbol .ui-icon{width:21px;height:21px}
.practice-top .practice-progress #practice-count strong{font-size:19px;white-space:nowrap;letter-spacing:-.3px}
.practice-top .practice-progress #practice-count strong small{font-size:12px}
.practice-top .tally-label{display:none}
.practice-top .practice-progress .retry-history-strip{flex:none;gap:4px;flex-wrap:wrap}
.student-site .practice-top .practice-progress .history-chip{min-height:36px;padding:3px 6px;gap:5px;border-radius:10px}
.practice-top .history-symbol{width:21px;height:21px}.practice-top .history-symbol .ui-icon{width:17px;height:17px}
.practice-top .history-copy{gap:2px}.practice-top .history-copy strong{font-size:14px;gap:4px}.practice-top .history-copy strong>span{font-size:10px}
.practice-top .history-metrics{font-size:10px;gap:8px}.practice-top .history-metrics .ui-icon{width:11px;height:11px}
.student-site .practice-top .practice-progress .compact-sync{margin-left:2px;gap:0;font-size:10px}
.practice-top .compact-sync>span{display:none}.practice-top .compact-sync .ui-icon{width:18px;height:18px}
.practice-top .practice-actions{margin-left:0}
@media(max-width:1050px){
 .student-site .practice-top .practice-progress{order:5;max-width:100%;margin:0 0 0 auto}
 .practice-top .practice-actions{margin-left:auto}
}
@media(max-width:700px){
 .student-site .practice-top .practice-progress{order:3;flex:1 1 auto;margin:0;gap:5px;padding:4px 6px;align-items:center}
 .practice-top .practice-progress .retry-history-strip{flex:1;min-width:0}
 .practice-top .practice-actions{order:4;width:auto;margin-left:auto;gap:5px}
 .practice-top .practice-options summary>span{display:none}
 .practice-top .practice-options summary{padding:7px}
 .student-site .practice-top .practice-progress .compact-sync{margin-left:auto}
 .practice-top .practice-progress #practice-count{padding-right:5px}
 .practice-top .tally-symbol{width:23px;height:28px}
 .practice-top .practice-label{min-width:80px}
}
@media(max-width:470px){.practice-top .history-copy strong>span{display:none}.practice-top .tally-symbol{width:19px}.practice-top .practice-progress #practice-count strong{font-size:16px}.practice-top .practice-progress #practice-count strong small{font-size:10px}.student-site .practice-top .practice-progress{flex:0 1 auto;gap:4px;padding:4px}.practice-top .practice-progress .retry-history-strip{flex:0 1 auto}.student-site .practice-top .practice-progress .history-chip{padding:3px 4px;gap:4px}.practice-top .history-symbol{width:18px;height:20px}.practice-top .history-symbol .ui-icon{width:16px;height:16px}.student-site .practice-top .practice-progress .compact-sync{margin-left:0}.practice-top .compact-sync .ui-icon{width:16px;height:16px}}

/* Keep the question picker directly under the centered progress box. */
.student-site .question-navigation{justify-content:center}
.question-navigation .nav-position{margin-left:0}
@media(min-width:1051px){.student-site .practice-top .practice-label{margin-right:auto}.student-site .practice-top .practice-progress{margin-left:0;margin-right:auto}}
@media(min-width:700px) and (max-width:1000px){.question-navigation .nav-nearby{flex:0 1 auto}.student-site .question-navigation .nav-nearby button{flex:0 1 auto}}

/* One navigation menu; question selection uses the available width. */
.student-header nav{position:relative;border:0!important;background:none!important;box-shadow:none!important;padding:0!important;overflow:visible}
#portal-menu{position:relative}#portal-menu[hidden]{display:none!important}
#portal-menu summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:6px 12px;min-height:34px;border:1px solid #ffffff55;border-radius:13px;background:#ffffff14;color:#fff;font-weight:800;font-size:13px}
#portal-menu summary::-webkit-details-marker{display:none}
#portal-menu summary:focus-visible{outline:3px solid #ffe17d;outline-offset:2px}
#portal-menu[open] summary{background:#fff7f7;color:#a20c32}
#portal-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:270px;max-height:calc(100dvh - 70px);overflow:auto;padding:10px;border:1px solid #fff;border-radius:19px;background:linear-gradient(135deg,#fffcfd,#f7edf0);box-shadow:0 12px 38px #51132c38;color:#642539}
.student-site #portal-menu-panel button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 10px;text-align:left;border:0;border-radius:12px;background:transparent;color:#642539;font-size:13px;box-shadow:none}
.student-site #portal-menu-panel button:hover{background:#f1e0e7}
.student-site #portal-menu-panel button[aria-current=page]{background:#f6dbe4;color:#9e1237}
#portal-menu-panel [hidden]{display:none!important}
.portal-menu-section{display:grid;gap:9px;border-top:1px solid #e5d2da;margin-top:8px;padding:10px 2px 2px}
.portal-menu-section label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#87616e}
.portal-menu-section select{width:100%;border:1px solid #e4cdd6;border-radius:10px;background:#fff;padding:7px;font-size:13px}
.portal-menu-section small{color:#8b717a;font-size:10px;padding:0 9px}
.student-site .practice-top .practice-label{gap:8px;margin-left:4px}
.student-site .practice-top .practice-label b{font-size:13px}
.student-site .question-navigation{gap:7px;justify-content:stretch;padding:0 2px 8px}
.student-site .question-navigation .nav-nearby{flex:1 1 0;gap:6px;min-width:0}
.student-site .question-navigation .nav-nearby button{flex:1 1 0;min-width:0;min-height:42px;padding:7px 5px;font-size:14px}
.student-site .question-navigation .nav-nearby button.active{padding:6px 4px}
.student-site .question-navigation .nav-step{width:38px;min-width:38px;min-height:42px}
.student-site .question-navigation .nav-all{min-height:42px;padding:7px 10px;font-size:12px;gap:6px;font-variant-numeric:tabular-nums}
@media(max-width:700px){#portal-menu summary{padding:5px 8px;font-size:12px;min-height:32px}#portal-menu-panel{position:fixed;left:12px;right:auto;top:58px;width:min(270px,calc(100vw - 24px))}.student-site .question-navigation{gap:4px}.student-site .question-navigation .nav-nearby{gap:4px}.student-site .question-navigation .nav-nearby button{font-size:12px;min-height:39px}.student-site .question-navigation .nav-step{min-width:28px;width:28px;min-height:39px}.student-site .question-navigation .nav-all{font-size:10px;min-height:39px;padding:5px;gap:4px}.student-site .practice-top .practice-progress{order:0}.student-site .practice-top .practice-actions{order:0}.student-site .practice-top .practice-label{flex:0 1 auto;justify-content:flex-start;min-width:0;margin-right:auto}}
@media(max-width:470px){.student-site .practice-top .practice-label{flex-basis:100%;margin-bottom:0}.student-site .practice-top{gap:5px;padding-top:2px;min-height:42px}.student-site .practice-top .practice-progress{margin-right:auto}.student-site .practice-top .practice-actions{margin-left:0}}

/* Header progress adopts the ruby glass palette and frees the lesson toolbar. */
#student-app{height:calc(100% - var(--student-header-height,56px))}
.student-site .practice-top{min-height:23px;padding:0 2px 4px;gap:0}
.student-header #header-progress[hidden]{display:none!important}
.student-header #header-progress{display:flex;align-items:center;gap:7px;flex:0 1 auto;min-width:0;margin:0 auto;padding:3px 7px;border:1px solid #ffffff40;border-radius:14px;background:linear-gradient(130deg,#ffffff22,#69001b22);box-shadow:inset 0 1px 1px #ffffff40;color:#fff}
#header-progress #practice-count{display:flex;align-items:center;gap:5px;flex:none;min-width:0;padding:2px 8px 2px 0;border-right:1px solid #ffffff44;color:#fff;line-height:1.1}
#header-progress .tally-symbol{width:27px;height:28px;border-radius:10px;background:#ffffff24;color:#e4f7bf;box-shadow:inset 0 1px 1px #ffffff30}
#header-progress .tally-symbol .ui-icon{width:21px;height:21px;stroke-width:3}
#header-progress #practice-count strong{display:block;font-size:18px;letter-spacing:-.3px;white-space:nowrap}
#header-progress #practice-count strong small{font-size:11px;letter-spacing:0;color:#ffffffcf}
#header-progress .tally-label{display:none}
#header-progress .retry-history-strip{display:flex;align-items:center;flex:1;gap:4px;flex-wrap:nowrap;overflow-x:auto;min-width:0;padding:0;scrollbar-width:thin;scrollbar-color:#ffffff66 transparent}
.student-site #header-progress .history-chip{display:flex;align-items:center;gap:5px;flex:none;min-height:34px;padding:3px 6px;border:1px solid #ffffff40;border-radius:10px;background:#ffffff12;box-shadow:none;color:#fff;text-align:left}
.student-site #header-progress .history-chip.correct{background:linear-gradient(130deg,#e2f5ca,#bce2a4);border-color:#d3efbe;color:#205738}
.student-site #header-progress .history-chip.incorrect{background:linear-gradient(130deg,#ffdae4,#efacbe);border-color:#ffd4df;color:#85112f}
#header-progress .history-symbol{width:20px;height:20px;background:#ffffff28}
#header-progress .history-symbol .ui-icon{width:16px;height:16px}
#header-progress .history-copy{gap:2px}
#header-progress .history-copy strong{color:inherit;font-size:14px;display:flex;gap:4px;align-items:baseline;white-space:nowrap}
#header-progress .history-copy strong>span{font-size:10px}
#header-progress .history-metrics{font-size:10px;gap:7px;opacity:.9;color:inherit}
#header-progress .history-metrics .ui-icon{width:11px;height:11px}
#header-progress .compact-sync{display:flex;align-items:center;flex:none;margin-left:2px;color:#fff}
#header-progress .compact-sync.saved{color:#e4f7bf}#header-progress .compact-sync.offline{color:#ffe4a0}
#header-progress .compact-sync>span{display:none}
#header-progress .compact-sync .ui-icon{width:18px;height:18px}
#header-progress .sync-retry{width:28px;height:28px;min-height:28px;display:grid;place-items:center;padding:0;border-radius:50%;flex:none}
.student-header #account-name{margin-left:0;flex:0 1 auto;min-width:0}.student-header #account-button{flex:none}
.student-site .material-audio{display:flex;align-items:center;justify-content:center;margin:0 0 10px;flex:none}
.student-site .material-audio #play-source{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:116px;min-height:40px;padding:8px 18px;border-radius:14px;font-size:14px;font-weight:800;background:linear-gradient(#c61942,#a10b32);color:#fff;border:1px solid #a10b32;box-shadow:inset 0 1px 1px #ffffff80,0 3px 10px #a10b321c}
.browse-panels.linked-lesson-panel.has-panel-audio{padding-top:50px}
.linked-lesson-panel.has-panel-audio>.material-audio{position:absolute;top:5px;left:0;width:50%;margin:0;z-index:2}
.linked-lesson-panel.has-panel-audio>iframe{height:100%}
@media(max-width:1050px){body[data-student-view=practice] .student-header{height:auto;min-height:56px;flex-wrap:wrap;row-gap:5px}body[data-student-view=practice] .student-header #header-progress{order:5;flex-basis:100%;margin:0;padding:3px 6px}body[data-student-view=practice] .student-header #account-name{margin-left:auto}}
@media(max-width:700px){#header-progress #practice-count strong{font-size:17px}#header-progress .tally-symbol{width:23px;height:26px}#header-progress .history-copy strong>span{font-size:10px}.student-site #header-progress .history-chip{min-height:33px}#header-progress .compact-sync{display:flex}.linked-lesson-panel.has-panel-audio>.material-audio{width:100%}.student-site .material-audio #play-source{min-height:40px}.student-site .practice-top{min-height:22px}}

/* Center the dashboard's two switches in their corresponding heading rows. */
.results-dashboard .dashboard-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
.results-dashboard .dashboard-heading .test-tabs{grid-column:2;justify-self:center;margin:0}
.results-dashboard .overview-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:9px}
.overview-heading>.overview-view-switch{justify-content:center;justify-self:center;margin:0;flex-wrap:nowrap;padding:3px;border:1px solid #ead1da;border-radius:15px;background:#ffffff90}
.overview-heading>.overview-view-switch button{white-space:nowrap;min-height:33px;padding:6px 11px}
.overview-actions{display:flex;flex-direction:column;align-items:flex-end;gap:3px;justify-self:end;min-width:0}
.overview-actions .sync-status{font-size:9px;line-height:1.2;text-align:right}
.results-dashboard .converted-scores{margin-bottom:10px}
@media(max-width:850px){.results-dashboard .dashboard-heading{grid-template-columns:minmax(0,1fr);gap:9px}.results-dashboard .dashboard-heading .test-tabs{grid-column:1;grid-row:2}.results-dashboard .overview-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px}.overview-heading>.overview-view-switch{grid-column:1 / -1;grid-row:1;justify-self:center}.overview-heading>div:first-child{grid-row:2}.overview-actions{grid-row:2}}
@media(max-width:470px){.overview-heading>.overview-view-switch button{font-size:11px;padding:6px 9px}.results-dashboard .dashboard-heading .test-tabs{margin:0}.overview-actions .primary{max-width:110px}}

/* One compact review collection, with two clear views and one next action. */
.simple-review .dashboard-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}
.simple-review .dashboard-heading h1{font-size:23px;margin:0}
.simple-review .dashboard-heading .test-tabs{grid-column:2;margin:0;justify-self:center}
.review-summary{display:flex;align-items:center;gap:14px;padding:13px 16px;margin-bottom:10px}
.review-completion{display:flex;align-items:center;gap:7px;color:#267243}
.review-completion>.ui-icon{width:25px;height:25px;stroke-width:3}
.review-completion strong{font-size:24px;white-space:nowrap;line-height:1}
.review-completion small{font-size:14px;color:#7b8c80}
.review-completion>span{font-size:12px;white-space:nowrap}
.review-remaining{font-size:13px;color:#9e2344;border-left:1px solid #e8d3dc;padding-left:14px;font-weight:800}
.student-site .review-summary .primary{display:flex;align-items:center;justify-content:center;gap:7px;margin-left:auto;border-radius:13px;min-height:38px;font-size:13px;white-space:nowrap}
.review-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.review-selection .review-filters{margin:0;padding:3px;border:1px solid #e8d1da;background:#ffffff90;border-radius:14px;gap:3px}
.review-selection .review-filters button{padding:6px 14px;border-color:transparent}
.review-question-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.review-question-section{padding:14px;min-width:0}
.review-question-section h2{display:flex;align-items:center;gap:8px;font-size:16px;color:#663047;margin:0 0 12px;line-height:1.3}
.review-question-section h2 small{font-weight:600;font-size:11px;color:#947b85}
.review-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:6px}
.student-site .review-question{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:39px;padding:7px 8px;border-radius:11px;font-size:14px;background:#f3eff2;border-color:#ded4dc;color:#776674}
.review-question .ui-icon{width:17px;height:17px}
.student-site .review-question.correct{background:#e2f3dc;border-color:#b6d8a9;color:#276f40}
.student-site .review-question.incorrect{background:#fce2ea;border-color:#ebb4c6;color:#ac153f}
.review-section-empty{color:#8b7580;font-size:12px;margin:0}
.frequent-shortlist{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.frequent-shortlist>span{font-size:12px;font-weight:800;color:#965268;margin-right:3px}
.student-site .frequent-shortlist button{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:10px;background:#fff5f8;border-color:#eac7d3;color:#9f2242;font-size:13px}
.frequent-shortlist small{display:flex;align-items:center;gap:2px;font-size:10px;color:#ae5870}.frequent-shortlist .ui-icon{width:12px;height:12px}
.review-finished{display:flex;align-items:center;gap:8px;padding:15px;border-radius:16px;color:#267243;background:#edf8e6;font-size:13px}
@media(max-width:700px){.simple-review .dashboard-heading{grid-template-columns:minmax(0,1fr);gap:8px}.simple-review .dashboard-heading .test-tabs{grid-column:1}.simple-review .dashboard-heading h1{font-size:20px}.review-question-sections{grid-template-columns:minmax(0,1fr)}.review-summary{flex-wrap:wrap;gap:8px;padding:12px}.review-completion strong{font-size:23px}.review-completion>span{font-size:11px}.review-remaining{margin-left:auto;padding-left:8px;font-size:12px}.student-site .review-summary .primary{width:100%;margin-left:0}.review-question-section{padding:12px}.review-selection .sync-status{font-size:9px}.review-selection .review-filters button{font-size:11px;padding:6px 10px}}
#portal-menu .portal-more>summary{display:block;padding:8px 10px;border:0;border-radius:10px;background:none;color:#946574;font-size:11px;font-weight:700;min-height:30px}
#portal-menu .portal-more>summary .ui-icon{float:right;width:14px;height:14px}
#portal-menu .portal-more[open]>summary .ui-icon{transform:rotate(90deg)}
.portal-more .portal-menu-section{margin-top:0;padding-top:8px}

/* Keep the lesson context in the banner and use equal side tracks to center progress. */
.student-site .student-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);height:auto;min-height:56px;padding-top:4px;padding-bottom:4px;column-gap:12px;row-gap:5px}
.header-start,.header-account{display:flex;align-items:center;gap:12px;min-width:0}
.header-start{grid-column:1;grid-row:1;flex-wrap:wrap;row-gap:3px}.header-account{grid-column:3;grid-row:1;justify-content:flex-end}
.student-header #header-progress{grid-column:2;grid-row:1;justify-self:center;margin:0;max-width:100%}
.student-header #header-context{display:flex;align-items:center;gap:6px;flex:none;white-space:nowrap;padding:5px 9px;border:1px solid #ffffff4d;border-radius:11px;background:linear-gradient(135deg,#ffffff20,#65001822);color:#fff;line-height:1.2}
.student-header #header-context[hidden]{display:none}
#header-context b{font-size:12px;color:#fff}#header-context small{font-size:11px;color:#ffe6b6}
.student-site .question-navigation{align-items:center;padding-top:1px;padding-bottom:5px}
.student-site .question-navigation #play-source{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-width:88px;min-height:42px;padding:7px 11px;border-radius:12px;color:#fff;background:linear-gradient(#c61942,#a10b32);border:1px solid #a10b32;box-shadow:inset 0 1px 1px #ffffff70;font-size:13px}
@media(max-width:1100px){.student-site .student-header{grid-template-columns:minmax(0,1fr) auto}.header-account{grid-column:2}body[data-student-view=practice] .student-header #header-progress{grid-column:1/-1;grid-row:2;justify-self:center;max-width:100%;margin:0}body[data-student-view=practice] .student-header #account-name{margin-left:0}}
@media(max-width:700px){.student-site .student-header{column-gap:6px}.header-start,.header-account{gap:6px}.header-start{flex-wrap:wrap}.student-header #header-context{padding:4px 6px;gap:5px}.student-site .question-navigation #play-source{min-width:36px;min-height:39px;padding:7px}.question-navigation #play-source span{display:none}.student-header #header-progress{max-width:100%}}

/* A continuous question strip: native touch/trackpad scrolling plus mouse drag. */
.student-site .question-navigation .nav-nearby{--visible-groups:13;--rail-gap:6px;display:flex;flex:1 1 0;gap:var(--rail-gap);overflow-x:auto;overflow-y:hidden;min-width:0;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none}
.nav-nearby::-webkit-scrollbar{display:none}
.student-site .question-navigation .nav-nearby button{flex:0 0 auto;min-width:max(48px,calc((100% - (var(--visible-groups) - 1)*var(--rail-gap))/var(--visible-groups)));white-space:nowrap;cursor:inherit}
.student-site .question-navigation .nav-nearby.dragging,.student-site .question-navigation .nav-nearby.dragging button{cursor:grabbing}
@media(max-width:1049px){.student-site .question-navigation .nav-nearby{--visible-groups:9}}
@media(max-width:699px){.student-site .question-navigation .nav-nearby{--visible-groups:5;--rail-gap:4px}}
@media(max-width:479px){.student-site .question-navigation .nav-nearby{--visible-groups:3}}

/* Half-button edge peeks indicate more questions; arrows only scroll this strip. */
.student-site .question-navigation .nav-nearby{--visible-groups:12}
@media(max-width:1049px){.student-site .question-navigation .nav-nearby{--visible-groups:8}}
@media(max-width:699px){.student-site .question-navigation .nav-nearby{--visible-groups:4}}
@media(max-width:479px){.student-site .question-navigation .nav-nearby{--visible-groups:2}}
.student-header #choose-again{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:12px;flex:none;color:#fff;background:linear-gradient(180deg,#208746,#116333);border-color:#b8efc6;box-shadow:inset 0 1px 1px #ffffff55,0 2px 5px #153f2926}
.student-header #choose-again:hover:not(:disabled){background:linear-gradient(180deg,#18733a,#0f572e)}
.student-header #choose-again:focus-visible{outline-color:#ddffe5}
.student-header #choose-again:disabled{opacity:1}
.student-header #choose-again[hidden]{display:none}
@media(max-width:700px){.header-account{gap:5px}.student-header #choose-again{padding:5px 7px;font-size:11px}.student-header #choose-again .ui-icon{width:14px;height:14px}}
@media(max-width:470px){.header-account{display:grid;grid-template-columns:1fr;gap:4px}.header-account #account-name{display:none}.student-header #choose-again,.student-header #account-button{margin:0;min-height:27px;padding:4px 7px}}

/* Part 5 opens in the same full-width source / left answer-grid arrangement as its lesson. */
.student-site .browse-panels.part5-workspace:not(.linked-lesson-panel){display:block;position:relative;margin:8px 34px 0;padding:16px 20px;overflow:auto;border:1px solid #e0d8d4;border-radius:24px;background:linear-gradient(135deg,#fffdfb,#eee9e8);box-shadow:inset 0 1px 2px #ffffffd9}
.part5-workspace:not(.linked-lesson-panel)>.material,.part5-workspace:not(.linked-lesson-panel)>.questions{min-height:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.part5-workspace:not(.linked-lesson-panel)>.material{width:100%;margin:0 0 20px}
.student-site .part5-workspace .part5-material .sentence{font:400 21px/1.6 Arial,Helvetica,sans-serif;color:#332f2b;white-space:normal;overflow-wrap:break-word;margin:8px 0 20px}
.part5-workspace:not(.linked-lesson-panel)>.questions{width:calc((100% - 24px)*.62963)}
.part5-workspace .questions>.question{margin:0}
.part5-workspace .questions .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.part5-workspace .questions:not(.r67-study-questions) .choice{display:grid;grid-template-columns:18px minmax(0,1fr);align-content:center;align-items:center;gap:9px;min-height:82px;padding:16px 17px;border:1px solid #e2dcd9;border-radius:20px;background:linear-gradient(135deg,#fffdfb,#eee9e8);box-shadow:inset 0 1px 2px #fff,0 3px 9px #49343b0d;font:700 20px/1.45 Georgia,'Times New Roman',serif;color:#332f2b}
.part5-workspace .questions:not(.r67-study-questions) .choice-letter{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:#ae1239;font:700 21px/1 Georgia,serif}
.part5-workspace .questions:not(.r67-study-questions) .choice:hover{border-color:#b88492;background:#fff9f8}
.part5-workspace .questions .r67-option-card{margin:0;min-width:0}
@media(max-width:1050px) and (min-width:761px){.part5-workspace:not(.linked-lesson-panel)>.questions{width:calc(100% - 278px)}}
@media(max-width:760px){.student-site .browse-panels.part5-workspace:not(.linked-lesson-panel){margin:8px 12px 0;padding:16px}.part5-workspace:not(.linked-lesson-panel)>.questions{width:100%}.student-site .part5-workspace .part5-material .sentence{font-size:19px}.part5-workspace .questions:not(.r67-study-questions) .choice{padding:14px 12px;font-size:18px}}
@media(max-width:480px){.part5-workspace .questions .choices{grid-template-columns:minmax(0,1fr)}}

/* Interesting questions have their own account-saved amber bookmark action. */
.student-header #save-question{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;white-space:nowrap;font-size:12px;color:#543706;background:linear-gradient(180deg,#fff1ba,#eebd54);border-color:#fff0bc;box-shadow:inset 0 1px 1px #ffffff99,0 2px 5px #54370626}
.student-header #save-question:hover{background:linear-gradient(180deg,#ffe6a0,#e8ac37)}
.student-header #save-question[aria-pressed=true]{background:linear-gradient(180deg,#ffdf80,#e8ad3e);border-color:#ffe8a2}
.student-header #save-question[aria-pressed=true] .ui-icon{fill:currentColor}
.student-header #save-question[hidden]{display:none}
.student-header #save-question:focus-visible{outline-color:#fff3c7}
.bookmark-dialog{max-width:460px;color:#243447}.bookmark-dialog>p{font-size:14px;line-height:1.55;color:#6c6570;margin:8px 0 18px}
.bookmark-question-rows{display:grid;gap:10px}.bookmark-question-rows>button{display:flex;align-items:center;gap:10px;text-align:left;padding:13px 14px;min-height:50px;background:#fffaf0;border:1px solid #e4cf9d;border-radius:14px;color:#674515}
.bookmark-question-rows>button[aria-checked=true]{background:linear-gradient(120deg,#fff0bb,#f7d578);border-color:#c99b32}
.bookmark-question-rows>button[aria-checked=true]>.ui-icon{fill:currentColor}.bookmark-row-state{margin-left:auto;font-size:12px;font-weight:700}
.bookmark-dialog-sync{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0;color:#71644f;font-size:12px}.bookmark-done{display:block;margin:12px 0 0 auto;background:#f5d17a;border-color:#d8b45b;color:#543706}
.bookmark-sync{font-size:12px;color:#776851}.saved-list-note{display:flex;align-items:center;gap:14px;padding:18px 20px;margin:18px 0;background:linear-gradient(120deg,#fff9e8,#ffedbc)!important;color:#674515}.saved-list-note>.ui-icon{width:27px;height:27px;flex:none}.saved-list-note strong{font-size:20px}.saved-list-note p{margin:3px 0 0;font-size:13px}
@media(max-width:1100px){.student-header #account-name{max-width:150px}}
@media(max-width:700px){.student-header #save-question{padding:5px 7px;font-size:11px}.student-header #save-question .ui-icon{width:14px;height:14px}}
@media(max-width:470px){.header-account{grid-template-columns:auto auto}.header-account #save-question{grid-row:1;grid-column:2}.header-account #choose-again{grid-row:1;grid-column:1}.header-account #account-button{grid-row:2;grid-column:1/-1;justify-self:end}.student-header #choose-again,.student-header #save-question{min-height:30px;padding:4px 6px;font-size:10px;gap:4px}.header-start strong{max-width:95px}.bookmark-dialog{padding:18px}.saved-list-note{padding:14px}}

/* Saved-question overview stays visible beside Menu, outside the save-current action. */
.student-header .header-start nav{flex-wrap:wrap;max-width:100%;row-gap:5px}
.student-header #saved-overview{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;white-space:nowrap;padding:5px 9px;color:#fff3ce;background:#ffffff17;border:1px solid #f6d78a9c;box-shadow:inset 0 1px 1px #ffffff33;font-size:12px}
.student-header #saved-overview:hover,.student-header #saved-overview[aria-current=page]{background:#fff0bd;color:#674515;border-color:#ffdf8d}
.student-header #saved-overview b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 4px;border-radius:50px;background:#ffe4a0;color:#674515;font-size:11px}
.student-header #saved-overview[hidden]{display:none}
.bookmark-dialog-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}.bookmark-dialog-actions>.bookmark-done,.bookmark-dialog-actions .bookmark-done{margin:0}.bookmark-dialog-actions>[data-saved-overview]{display:flex;align-items:center;gap:7px;padding:8px 10px;min-height:38px;background:#fff8e6;border-color:#dec181;color:#674515;font-size:12px}
.saved-overview{max-width:1450px}.saved-overview .dashboard-heading{align-items:center}.saved-overview h1{margin:0}.saved-overview .dashboard-heading p{margin:5px 0 0}.saved-total{display:flex;align-items:center;gap:7px;flex:none;color:#674515;background:#fff0c3;border:1px solid #e3cd91;border-radius:14px;padding:9px 13px;font-size:14px}.saved-total strong{font-size:22px}
.saved-overview-filters{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.saved-overview-filters button{background:#fffaf0;border-color:#dfcca1;color:#674515;border-radius:12px;font-size:13px}.saved-overview-filters [aria-pressed=true]{background:#f5d17a;border-color:#ca9b37}
.saved-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.saved-test-card{padding:18px;min-width:0}.saved-test-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.saved-test-heading h2{font-size:20px;margin:0;color:#674515}.saved-test-heading>span{font-size:12px;color:#806a45}.saved-subsection{margin-top:18px}.saved-subsection h3{font-size:15px;margin:0 0 10px;color:#79314a}.saved-question-grid{display:flex;flex-wrap:wrap;gap:8px}.saved-question{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:76px;min-height:42px;padding:8px 11px;background:#fff6dd;border-color:#e4cf9d;color:#674515;border-radius:12px}.saved-question.correct{background:#e7f5e1;border-color:#b7d8a6;color:#247342}.saved-question.incorrect{background:#fbe8ee;border-color:#e6b3c4;color:#a52348}.saved-question .ui-icon{width:17px;height:17px}.saved-test-sync{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid #e9dfd7;padding-top:14px;margin-top:18px;font-size:12px}
@media(max-width:760px){.saved-test-grid{grid-template-columns:minmax(0,1fr)}.saved-test-card{padding:15px}.saved-overview .dashboard-heading{flex-wrap:wrap}.saved-overview .dashboard-heading h1{font-size:23px}.saved-total{padding:6px 10px}}
@media(max-width:700px){.student-header #saved-overview{padding:4px 7px;gap:4px;font-size:11px}.student-header #saved-overview .ui-icon{width:14px;height:14px}.student-header #saved-overview b{min-width:18px;height:18px;font-size:10px}.header-start{column-gap:6px}}

/* Three quiet header groups: navigation, centered progress and study actions/account. */
.student-site .student-header{padding:7px 14px;gap:7px 16px;min-height:58px}
.student-site .header-start{flex-wrap:nowrap;gap:14px}
.header-brand{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:none;gap:3px;min-width:74px}
.student-header .header-brand>strong{font-size:17px;letter-spacing:.15px;color:#fff;max-width:none}
.student-header .header-brand #header-context{padding:0;border:0;box-shadow:none;background:none;gap:3px;line-height:1;min-height:0;border-radius:0}
.header-brand #header-context b,.header-brand #header-context small{font:700 10px/1.1 Nunito,Arial,sans-serif;color:#ffe0a1}
.student-header .header-start nav{display:flex;flex-wrap:nowrap;gap:0;padding:3px;min-width:0;border:1px solid #ffffff40;border-radius:13px;background:#7a08262b;box-shadow:inset 0 1px 1px #ffffff25}
.student-header .header-start nav[hidden]{display:none}
.student-header #portal-menu>summary{border:0;border-radius:9px;background:transparent;box-shadow:none;padding:6px 10px;min-height:32px;font-size:12px}
.student-header #portal-menu[open]>summary,.student-header #portal-menu>summary:hover{background:#ffffff1c}
.student-header #saved-overview{border:0;border-left:1px solid #ffffff30;border-radius:0 9px 9px 0;box-shadow:none;background:transparent;padding:5px 10px;min-height:32px;font-size:12px}
.student-header #saved-overview:hover,.student-header #saved-overview[aria-current=page]{background:#fff0bd;color:#674515}
.student-header #saved-overview b{height:19px;min-width:19px;font-size:10px}
.student-site .header-account{display:flex;flex-wrap:nowrap;gap:10px;align-items:center}
.header-study-actions{display:flex;align-items:center;gap:5px;flex:none;padding:3px;border:1px solid #ffffff40;border-radius:13px;background:#7a08262b;box-shadow:inset 0 1px 1px #ffffff25}
.header-study-actions[hidden]{display:none}
.student-header .header-study-actions #choose-again,.student-header .header-study-actions #save-question{min-height:32px;padding:5px 10px;border-radius:9px;box-shadow:inset 0 1px 1px #ffffff55;font-size:12px;gap:6px;margin:0}
#account-menu{position:relative;min-width:0;flex:0 1 auto}
#account-menu[hidden]{display:none}
#account-menu>summary{display:flex;align-items:center;gap:8px;min-width:0;min-height:38px;padding:6px 4px 6px 8px;color:#fff;border-radius:10px;cursor:pointer;list-style:none}
#account-menu>summary::-webkit-details-marker{display:none}
#account-menu>summary:hover,#account-menu[open]>summary{background:#ffffff18}
#account-menu>summary:focus-visible{outline:2px solid #ffe4a0;outline-offset:2px}
.student-header #account-menu #account-name{display:block;min-width:0;max-width:145px;margin:0;font-size:11px;line-height:1.25;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-chevron{flex:none;width:6px;height:6px;margin:0 4px 3px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
#account-menu[open] .account-chevron{transform:rotate(225deg);margin-top:4px}
.account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:90;width:200px;padding:12px;background:linear-gradient(140deg,#fffdf9,#f1e9eb);border:1px solid #e6d5d8;border-radius:15px;box-shadow:0 10px 28px #5b102539;display:grid;gap:9px;color:#7e5261}
.account-dropdown>span{font-size:11px;padding:0 3px}
.student-header .account-dropdown #account-button{display:block;width:100%;text-align:left;min-height:37px;margin:0;background:#fff9fa;color:#9c1637;border:1px solid #e4bdca;border-radius:9px;font-size:13px;padding:7px 10px}
.student-header .account-dropdown #account-button:hover{background:#fbe7ed}
@media(min-width:1281px){.student-site .student-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.student-header #header-progress{max-width:min(450px,35vw)}}
@media(max-width:1280px){.student-site .student-header{grid-template-columns:minmax(0,1fr) auto}.student-site .header-account{grid-column:2}.student-site .header-start{grid-column:1}body[data-student-view=practice] .student-header #header-progress{grid-column:1/-1;grid-row:2;justify-self:center;max-width:100%;margin:0}}
@media(max-width:760px){.student-site .student-header{padding:7px 10px;gap:6px 10px}.student-site .header-account{gap:6px}.student-header #account-menu #account-name{max-width:85px;font-size:10px}.student-site .header-start{gap:9px}.student-header .header-study-actions #choose-again,.student-header .header-study-actions #save-question{font-size:11px;padding:5px 7px}.header-brand{min-width:66px}.student-header .header-brand>strong{font-size:15px}}
@media(max-width:600px){.student-site .student-header{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.student-site .header-start{grid-column:1/-1;grid-row:1;justify-content:space-between}.student-site .header-account{grid-column:1/-1;grid-row:2;justify-content:space-between}body[data-student-view=practice] .student-header #header-progress{grid-row:3}.student-header #account-menu #account-name{max-width:125px}.student-header .header-study-actions #choose-again,.student-header .header-study-actions #save-question{font-size:11px;min-height:32px;padding:5px 8px}.header-brand{min-width:66px}.student-header #saved-overview{font-size:11px;padding:5px 8px}.student-header #portal-menu>summary{font-size:11px;padding:6px 8px}.student-header .header-start nav{flex:none}.student-site .header-account:has(.header-study-actions[hidden]){justify-content:flex-end}.account-dropdown{max-width:calc(100vw - 20px)}.student-header .header-brand>strong{max-width:none}}

/* A single study navigation surface replaces the overlapping menu, saved shortcut and map. */
.student-header #study-navigation{display:flex;align-items:center;gap:7px;padding:6px 10px;min-height:34px;border:0;box-shadow:none;background:transparent;color:#fff;border-radius:9px;font-size:12px}
.student-header #study-navigation:hover,.student-header #study-navigation[aria-expanded=true]{background:#ffffff20}
#study-navigation small{display:flex;align-items:center;gap:3px;min-width:22px;padding:2px 5px;border-radius:20px;background:#ffe4a0;color:#674515;font:800 11px/1.3 Nunito,Arial,sans-serif}
#study-navigation small .ui-icon{width:12px;height:12px}
.student-header #study-navigation[hidden],.student-header #resume-lesson[hidden]{display:none}
.student-header #resume-lesson{display:flex;align-items:center;gap:5px;margin-left:5px;padding:6px 9px;min-height:34px;background:#e4f5d8;color:#205d38;border:1px solid #c8e4b9;border-radius:9px;font-size:11px;white-space:nowrap}
.student-header #account-name{display:block;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;margin:0}
.student-site .question-navigation .nav-position{display:flex;align-items:center;justify-content:center;flex:none;min-width:56px;padding:8px 9px;font-size:11px;color:#815b6a;font-variant-numeric:tabular-nums}
#student-app>.practice[hidden]{display:none!important}#portal-screen{min-height:100%}
.study-navigation-dialog{width:min(900px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e5d6dc;border-radius:24px;background:linear-gradient(135deg,#fffdfb,#f2edef);color:#263444;box-shadow:0 20px 90px #4c17394a;overflow:hidden}
.study-navigation-dialog:not([open]){display:none}.study-navigation-dialog[open]{display:flex;flex-direction:column}
.study-navigation-dialog::backdrop{background:#38242b70;backdrop-filter:blur(5px)}
.study-navigation-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex:none;padding:20px 22px 12px}.study-navigation-top h2{font-size:23px;line-height:1.3;margin:0;color:#4c2f3b}.study-navigation-top p{font-size:13px;color:#88717d;margin:5px 0 0}
.navigation-close{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border-radius:50%;color:#a6173c;border-color:#ead3dc;background:#fff}
#navigation-resume{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;flex-wrap:wrap;margin:0 22px 13px;padding:11px 14px;border:1px solid #bad6aa;border-radius:13px;color:#27633d;background:linear-gradient(120deg,#edf8e7,#dcf0cf);text-align:left;font-size:14px}
#navigation-resume[hidden]{display:none}#navigation-resume small{font-size:12px;font-weight:600}
.navigation-tabs{display:flex;align-items:stretch;gap:5px;flex:none;margin:0 22px;padding:4px;border:1px solid #e4d7dd;border-radius:13px;background:#eee6e9}
.navigation-tabs button{flex:1;min-width:0;padding:9px 8px;border:0;border-radius:9px;background:transparent;color:#815466;font-size:13px;font-weight:800;box-shadow:none}
.navigation-tabs [aria-selected=true]{background:#fff;color:#9b1539;box-shadow:0 2px 5px #5c26331c}
.navigation-content{min-height:0;flex:1;overflow:auto;padding:16px 22px 22px;scrollbar-width:thin;scrollbar-color:#bb8588 transparent}
.navigation-tests,.navigation-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.navigation-tests button,.navigation-filters button{padding:6px 12px;border:1px solid #e4ccd6;border-radius:10px;background:#fff;color:#8d2546;font-size:12px}.navigation-tests [aria-pressed=true]{background:#ad123b;color:#fff;border-color:#ad123b}.navigation-filters [aria-pressed=true]{background:#f5e1e8;border-color:#cba1b1}
.navigation-hint,.navigation-empty{color:#826c78;font-size:13px;line-height:1.55;margin:8px 0 16px}.navigation-empty{padding:15px;background:#fff;border:1px solid #e5dbe0;border-radius:12px}
.navigation-part{margin:18px 0}.navigation-part h3,.navigation-part h4{font-size:14px;color:#95334f;margin:0 0 9px}.navigation-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px}
.navigation-question{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:42px;padding:8px 6px;white-space:normal;overflow-wrap:anywhere;border:1px solid #e1dce3;border-radius:11px;background:#fff;color:#6e6071;font-size:14px;font-weight:800}
.navigation-question.correct{color:#267044;background:#e5f4dc;border-color:#bad9a9}.navigation-question.incorrect{color:#a81946;background:#fae4ec;border-color:#e6bdcc}.navigation-question.is-current{border:2px solid #b11640;background:#fff;color:#a5123c}.navigation-question .ui-icon{width:16px;height:16px}
.navigation-test-section{margin:16px 0 23px}.navigation-test-section>h3{display:flex;align-items:center;justify-content:space-between;margin:0;color:#674515;font-size:18px}.navigation-test-section>h3 small{font-size:12px;font-weight:600}.navigation-sync{border-top:1px solid #e3d9de;padding-top:10px;display:flex;flex-wrap:wrap;gap:7px}
.navigation-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.navigation-results>section{padding:18px;border:1px solid #e2d4db;border-radius:17px;background:#fff}.navigation-results h3{margin:0 0 10px;color:#833149}.navigation-results strong{display:block;color:#61213a;font-size:32px;line-height:1.4}.navigation-results strong small{font-size:14px;color:#8d6d7c}.navigation-results button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:14px;color:#a0123b;border-color:#e8c6d1;background:#fff6f9;border-radius:10px;font-size:13px}
.navigation-options{border-top:1px solid #e4d7dd;margin-top:20px;padding-top:14px;color:#876b79;font-size:12px}.navigation-options summary{cursor:pointer;font-weight:700;padding:5px 0}.navigation-options p{line-height:1.5}.navigation-options button{display:flex;align-items:center;gap:6px;background:#fff;border-color:#e7ccd6;color:#a01b40;font-size:12px}
.navigation-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;border-top:1px solid #e5d8de;padding:12px 22px;background:#fff8;color:#816774;font-size:12px}
#navigation-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navigation-footer #account-button{flex:none;color:#a61a43;border-color:#e4becb;background:#fff7f9;padding:7px 12px;border-radius:10px;font-size:12px}
@media(max-width:600px){.student-site .header-start{gap:6px}.student-header #study-navigation{font-size:11px;padding:6px 7px}.student-header #resume-lesson{font-size:10px;padding:6px;white-space:normal;max-width:120px;line-height:1.25}.student-header #resume-lesson .ui-icon{width:13px;height:13px;flex:none}.student-header .header-start nav{flex-shrink:1;flex-wrap:wrap;justify-content:flex-end;gap:3px}.student-header #account-name{max-width:110px;font-size:10px}.study-navigation-dialog{width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:19px}.study-navigation-top{padding:16px 15px 10px}.study-navigation-top h2{font-size:20px}.study-navigation-top p{font-size:12px}.navigation-close{width:30px;height:30px}#navigation-resume{margin:0 15px 11px;font-size:12px;padding:10px}.navigation-tabs{margin:0 15px}.navigation-tabs button{padding:9px 5px;font-size:11px}.navigation-content{padding:14px 15px 18px}.navigation-question-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:6px}.navigation-question{font-size:13px;min-height:41px}.navigation-footer{padding:11px 15px}.navigation-results{grid-template-columns:minmax(0,1fr)}}

/* Google owns the sign-in control; keep recovery readable on narrow devices. */
.welcome .actions{flex-wrap:wrap;min-height:44px}.welcome #google-login{min-height:44px;max-width:100%}.welcome .login-help{font-size:14px;line-height:1.6}.welcome #login-recovery{border-top:1px solid #ead8de;margin-top:16px;padding-top:12px}.welcome #login-recovery p{overflow-wrap:anywhere}.welcome [data-copy-site]{min-height:44px}.welcome [hidden]{display:none!important}

/* Welcome: a readable glass surface, with the official Google control intact. */
#student-app:has(>.welcome-glass){position:relative;isolation:isolate;background:radial-gradient(ellipse at 16% 14%,#f8dee57a,transparent 48%),radial-gradient(ellipse at 88% 80%,#d9e5f57a,transparent 46%)}
.welcome.welcome-glass{position:relative;isolation:isolate;width:calc(100% - 40px);max-width:800px;margin:clamp(28px,6vh,64px) auto;padding:38px 42px 28px;border:1px solid #fff;border-radius:32px;background:linear-gradient(135deg,#ffffffdb,#ffffff91 55%,#fff9fbba);-webkit-backdrop-filter:blur(28px) saturate(135%);backdrop-filter:blur(28px) saturate(135%);box-shadow:0 22px 64px #54263312,0 5px 16px #5c3a4810,inset 0 1px 0 #fff,inset 0 0 0 1px #fff9}
.welcome-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0 0,#fff,transparent 50%),linear-gradient(155deg,transparent 65%,#e7eef54d)}
.welcome-glass .welcome-emblem{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 16px;color:#ad1238;border:1px solid #fff;border-radius:17px;background:linear-gradient(145deg,#fff,#f4dce4b8);box-shadow:0 6px 14px #a6284212,inset 0 1px 1px #fff}
.welcome-emblem .ui-icon{width:27px;height:27px;stroke-width:1.7}
.welcome-glass h1{margin:0 0 28px;text-align:center;color:#ad1238;font-size:clamp(25px,3vw,34px);line-height:1.35;font-weight:900;letter-spacing:-.65px;text-wrap:balance}.welcome-glass h1 span{white-space:nowrap}
.welcome-copy{display:grid;gap:16px}.welcome-row{display:flex;align-items:flex-start;gap:14px}.welcome-row-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #ffffffd9;border-radius:11px;color:#ad2347;background:linear-gradient(145deg,#fff,#f3e9ed);box-shadow:0 2px 5px #57344408}.welcome-row-icon svg{width:19px;height:19px}
.welcome-glass .welcome-row p{margin:3px 0 0;color:#536274;font-size:16px;line-height:1.8}.welcome-glass strong{font-weight:850;color:#2e3c50}.welcome-glass .welcome-correct{color:#23713e}.welcome-glass .welcome-incorrect{color:#ad1238}
.welcome-glass .welcome-notice{padding:16px;border-radius:18px;border:1px solid #dfc78b61;background:linear-gradient(115deg,#fff6ddad,#fffcf56b);box-shadow:inset 0 1px 0 #fff9}.welcome-notice .welcome-row-icon{color:#956817;background:linear-gradient(145deg,#fffdf4,#f6e7bb73)}.welcome-glass .welcome-notice p{font-size:15px;color:#776244}.welcome-glass .welcome-notice strong{color:#81551b}
.welcome-glass .welcome-actions{justify-content:center;align-items:center;gap:12px;margin:30px 0 26px;flex-direction:column;min-height:64px}.welcome-login-surface{max-width:100%;padding:10px 12px 6px;border-radius:999px;border:1px solid #fff;background:linear-gradient(145deg,#fff,#f8f0f4b3);box-shadow:0 10px 24px #9c20462b,0 2px 6px #6c344c12,inset 0 1px 0 #fff;transition:transform .18s ease,box-shadow .18s ease}.welcome-login-surface:hover,.welcome-login-surface:focus-within{transform:translateY(-2px);box-shadow:0 14px 30px #9c204634,0 3px 8px #6c344c16}.welcome-glass #google-login{width:320px;max-width:100%;min-height:44px}.welcome-glass .welcome-actions>[data-login]{border-radius:999px;padding:10px 22px;background:#ad1238;border-color:#ad1238}.welcome-glass .welcome-actions>[data-login]:disabled{background:transparent;color:#806875;border:0}
.welcome-glass .login-help{display:flex;align-items:flex-start;justify-content:center;gap:11px;margin:0;padding-top:20px;border-top:1px solid #d9cdd54d;color:#697687;font-size:13px;line-height:1.75}.welcome-glass .login-help>svg{flex:none;width:20px;height:20px;margin-top:2px;color:#8a6c7a}.welcome-glass .login-help strong{color:#4a586d;font-weight:800}.welcome-glass #login-recovery{text-align:center;font-size:14px}.welcome-glass #login-recovery button{border-radius:12px}
@media(max-width:600px){.welcome.welcome-glass{width:calc(100% - 24px);margin:24px auto;padding:27px 22px 22px;border-radius:26px}.welcome-glass .welcome-emblem{width:48px;height:48px;margin-bottom:14px;border-radius:15px}.welcome-glass h1{font-size:26px;letter-spacing:-.45px;margin-bottom:24px}.welcome-glass h1 span{display:block}.welcome-row{gap:11px}.welcome-glass .welcome-row p{font-size:15px;line-height:1.75}.welcome-row-icon{width:32px;height:32px;border-radius:10px}.welcome-glass .welcome-notice{padding:13px 11px}.welcome-glass .welcome-notice p{font-size:14px}.welcome-glass .welcome-notice .welcome-row-icon{width:27px;height:27px;background:transparent;border:0;box-shadow:none}.welcome-glass .welcome-actions{margin:25px 0 22px}.welcome-login-surface{padding:8px 6px 4px}.welcome-glass #google-login{width:100%;min-width:200px}.welcome-glass .login-help{font-size:12px;gap:9px;padding-top:18px}}
@media(prefers-reduced-motion:reduce){.welcome-login-surface{transition:none}.welcome-login-surface:hover,.welcome-login-surface:focus-within{transform:none}}
@media(prefers-reduced-transparency:reduce){.welcome.welcome-glass{background:#fffafb;-webkit-backdrop-filter:none;backdrop-filter:none}}
.welcome-glass .welcome-login-surface{display:flex;justify-content:center;width:344px;padding:8px 4px 4px}
/* Teacher-only reporting is loaded on demand; learner lessons retain their geometry. */
.teacher-dashboard{max-width:1500px;padding:26px 24px}.teacher-dashboard h1{font-size:27px;color:#9f1238;margin:0 0 15px}.teacher-eyebrow{font-size:12px;color:#9f3652;font-weight:800;margin:0 0 5px}.teacher-explanation,.teacher-footnote{font-size:13px;line-height:1.7;color:#6a6674}.teacher-footnote{max-width:1100px;margin-top:18px}.teacher-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.teacher-metric{display:flex;flex-direction:column;padding:17px 18px;border:1px solid #fff;border-radius:17px;background:linear-gradient(135deg,#fff,#f7eff3d9);box-shadow:0 5px 18px #69364c09}.teacher-metric>span{font-size:12px;color:#796674}.teacher-metric>strong{font-size:26px;color:#9f1238;margin-top:4px}.teacher-toolbar,.teacher-detail-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.teacher-toolbar label{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700}.teacher-toolbar input,.teacher-toolbar select{padding:9px 12px;border:1px solid #e3d3db;border-radius:10px;background:#fff;font:inherit;max-width:100%}.teacher-toolbar input{width:260px}.teacher-table-wrap{overflow-x:auto;border:1px solid #e5d7df;border-radius:16px;background:#ffffffb8}.teacher-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.teacher-table th,.teacher-table td{padding:12px 13px;border-bottom:1px solid #eadfe5;vertical-align:middle;white-space:nowrap}.teacher-table thead{background:#f6e8ee;color:#882b48}.teacher-table tbody th{text-align:left;font-weight:800}.teacher-table small{display:block;color:#7c6e7a;font-size:11px;margin-top:3px}.teacher-table button,.teacher-detail-top button,.teacher-dashboard>.dashboard-heading button{border:1px solid #e1c9d4;border-radius:9px;color:#a1163c;padding:7px 10px}.teacher-table .teacher-student-link{border:0;background:transparent;padding:4px 0;font-weight:850}.teacher-table .teacher-student-link:hover{text-decoration:underline}.teacher-correct{color:#23713e!important}.teacher-incorrect{color:#ad1238!important}.teacher-question-detail{white-space:normal;max-width:950px;padding:7px 10px 16px}.teacher-question-detail h3{font-size:14px;margin:14px 0 7px}.teacher-question-detail ol{padding-left:20px;max-height:340px;overflow:auto}.teacher-question-detail li{padding:5px 0}.teacher-note-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;background:#fff9e9;padding:14px;border-radius:12px}.teacher-daily{padding:14px 16px;border:1px solid #e3d7dc;border-radius:14px;background:#fff9}.teacher-daily summary{cursor:pointer;color:#92334e;font-weight:800}.teacher-daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:260px;overflow:auto;margin-top:12px}.teacher-daily-grid>div{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:8px;background:#fff;border-radius:8px}.navigation-footer{flex-wrap:wrap}.navigation-footer .study-data-notice{flex-basis:100%;font-size:10px;line-height:1.45;color:#8b7180}.note-label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:13px;color:#713747;margin:14px 0}.note-label select{padding:9px;border-radius:9px;border:1px solid #dac8d1;background:#fff}#question-note-text{width:100%;padding:12px 14px;resize:vertical;min-height:140px;font:15px/1.7 'Nunito',Arial,sans-serif;border:1px solid #dccbd4;border-radius:12px;background:#fffdf9;color:#2c3c50}#question-note-text:focus-visible{outline:3px solid #287fc5;outline-offset:2px}.note-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.note-actions [data-note-save]{background:#25713f;color:#fff;border-color:#25713f}.note-actions small,[data-note-status]{font-size:12px;color:#806c78;line-height:1.6}.navigation-tabs:has([data-navigation-tab=notes]) button{font-size:12px;padding-inline:4px}#teacher-class{white-space:nowrap}
@media(max-width:760px){.teacher-dashboard{padding:20px 12px}.teacher-dashboard h1{font-size:23px}.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-metric{padding:13px}.teacher-metric>strong{font-size:22px}.teacher-toolbar label{flex-direction:column;align-items:flex-start;min-width:0}.teacher-toolbar input{width:210px}.teacher-detail-top{gap:6px}.teacher-detail-top button{font-size:11px}.teacher-table th,.teacher-table td{padding:10px}.navigation-tabs:has([data-navigation-tab=notes]) button{font-size:10px}#teacher-class{font-size:11px;padding:5px 7px}}
