:root{--ink:#211c2a;--muted:#6b6474;--purple:#6941ab;--purple-dark:#4c287f;--purple-pale:#f1ebfa;--gold:#e9bd58;--paper:#f6f4f0;--line:#e7e2eb;--green:#24674e;--red:#934025;--radius:20px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;font-size:16px;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}button,summary{touch-action:manipulation}.skip{position:fixed;left:20px;top:-90px;z-index:5;background:white;padding:12px}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar{background:#17131f;color:white}.topbar-inner{max-width:1240px;margin:auto;min-height:91px;padding:18px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:16px}.brand-mark{font-family:Arial,sans-serif;font-size:38px;font-weight:900;line-height:1;letter-spacing:-3px}.brand-dot{color:var(--gold)}.brand-name{font-size:11px;letter-spacing:2.7px;border-left:1px solid #524b5d;padding-left:17px}.brand-name span{display:block;letter-spacing:.2px;font-size:10px;color:#c9c2d0;margin-top:3px}.access-badge{border:1px solid #4c435a;border-radius:30px;padding:7px 12px;display:flex;align-items:center;gap:8px;color:#ddd6e8;font-size:11px;letter-spacing:.2px}.shell{max-width:1240px;padding:42px 36px 0;margin:0 auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:0 3px 34px}.eyebrow{display:flex;align-items:center;gap:9px;font-weight:bold;font-size:10px;letter-spacing:2px;color:var(--purple);margin:0 0 15px}.gold-line{width:26px;height:3px;background:#bd8f2f}.edition{color:#92899b;font-size:10px;border:1px solid #dcd4e7;border-radius:4px;padding:0 4px;margin-left:2px;letter-spacing:0}h1{font-family:'Trebuchet MS',Arial,sans-serif;font-size:clamp(32px,3.7vw,47px);line-height:1.14;letter-spacing:-1.6px;margin:0 0 14px;font-weight:800}h1 span{color:var(--purple)}.intro-copy{font-size:14px;color:var(--muted);margin:0}.intro-meta{padding-left:26px;border-left:1px solid #ded7e4;min-width:230px}.year-badge{font-size:10px;letter-spacing:1.5px;font-weight:bold;background:#eae4f2;color:var(--purple-dark);padding:5px 8px;border-radius:4px}.intro-meta p{font-size:13px;margin:13px 0}.intro-meta strong{font-weight:normal;font-size:11px;color:var(--muted)}.method-flow{display:flex;gap:9px;font-size:11px;font-weight:bold;align-items:center}.method-flow i{font-style:normal;color:#ab8f59}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:25px}.practice-card{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px #25153705}.card-top{display:flex;align-items:center;justify-content:space-between;padding:19px 28px;border-bottom:1px solid var(--line);gap:10px}.activity-label{font-size:10px;font-weight:bold;letter-spacing:1.4px;color:var(--muted)}.subject{font-size:11px;background:var(--purple-pale);color:var(--purple-dark);padding:3px 10px;border-radius:20px;font-weight:bold}.card-body{padding:25px 28px 28px}.step-track{display:flex;gap:16px;margin-bottom:25px;align-items:center;flex-wrap:wrap}.step-track span{font-size:10px;color:#8b8393;display:flex;align-items:center;gap:6px}.step-track b{width:20px;height:20px;border-radius:50%;background:#f2eff5;font-size:10px;display:grid;place-items:center;font-weight:bold}.step-track .active{color:var(--purple);font-weight:bold}.step-track .active b{background:var(--purple);color:white}.step-track .done b{background:#e9f1eb;color:var(--green)}.section-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin:0 0 9px;font-weight:bold}.question{font-size:clamp(21px,2.2vw,26px);line-height:1.45;font-weight:700;letter-spacing:-.5px;margin:0 0 23px}.question mark{padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.command-mark{background:#e9def9;color:#4f2b82}.topic-mark{background:#fae8b9;color:#554017}.task-note{color:var(--muted);font-size:12px;margin:0 0 21px}.choice-group{margin:0 0 20px;border:0;padding:0;min-width:0}.choice-group legend{font-size:13px;font-weight:bold;margin-bottom:10px;display:flex;align-items:center;gap:8px}.small-number{font-family:Arial,sans-serif;color:var(--purple);font-size:10px;border:1px solid #d8c9ec;border-radius:4px;width:20px;height:20px;display:inline-grid;place-items:center}.choices{display:flex;gap:9px;flex-wrap:wrap}.choice{position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:block;border:1px solid #dcd5e3;border-radius:9px;padding:9px 14px;font-size:12px;cursor:pointer;background:#fff;transition:background .12s,border-color .12s}.choice:hover span{border-color:var(--purple)}.choice input:checked+span{border-color:var(--purple);background:var(--purple-pale);color:var(--purple-dark);box-shadow:inset 0 0 0 1px var(--purple);font-weight:bold}.choice input:focus-visible+span{outline:3px solid var(--purple);outline-offset:3px}.action-row{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.primary{border:0;background:var(--purple);color:white;border-radius:9px;padding:12px 19px;font-size:13px;font-weight:bold;display:inline-flex;align-items:center;gap:13px;min-height:45px}.primary:hover:not(:disabled){background:var(--purple-dark)}.primary .arrow{font-size:18px;font-weight:normal;line-height:1}.action-note{font-size:10px;color:var(--muted);max-width:200px}.session-card{background:#21182f;color:white;border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}.session-card:after{content:'';position:absolute;right:-48px;top:-57px;width:150px;height:150px;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.session-eyebrow{font-size:10px;letter-spacing:1.5px;color:#c6b9d5;margin:0 0 13px;font-weight:bold}.score{font-family:Arial,sans-serif;font-size:52px;font-weight:bold;line-height:1.1;letter-spacing:-2px;color:#f3d182;margin:0}.score small{font-size:20px;font-weight:normal;letter-spacing:0;color:#b5a7c4;margin-left:4px}.score-caption{font-size:11px;color:#d7cce3;margin:7px 0 22px}.session-progress-label{display:flex;justify-content:space-between;font-size:10px;color:#c6b9d5;margin-bottom:9px}.progress-bar{height:5px;background:#ffffff15;border-radius:4px;overflow:hidden}.progress-bar span{display:block;background:var(--gold);height:100%;transition:width .2s}.activity-dots{display:flex;gap:7px;margin:15px 0 23px}.activity-dot{height:22px;width:22px;display:grid;place-items:center;border:1px solid #594767;border-radius:50%;font-family:Arial;font-size:10px;color:#b5a7c4}.activity-dot.current{border-color:var(--gold);color:var(--gold)}.activity-dot.complete{background:var(--gold);border-color:var(--gold);color:#21182f}.score-breakdown{display:grid;gap:9px;padding:17px 0;border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16;margin-bottom:16px}.score-breakdown div{display:flex;justify-content:space-between;font-size:11px;color:#c6b9d5}.score-breakdown strong{color:white;font-size:12px;font-family:Arial}.score-how{font-size:10px;color:#b8aac8;line-height:1.7}.score-how summary{color:#e0d6e8;cursor:pointer;font-size:11px}.score-how p{margin:8px 0}.text-button{border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:28px}.restart{color:#c9bcd9;margin-top:10px}.reset-panel{font-size:11px;border:1px solid #675277;border-radius:8px;padding:12px;margin-top:12px}.reset-panel p{margin:0 0 9px}.reset-panel button{margin-right:12px}.guide{background:#fff;border:1px solid var(--line);border-radius:13px;margin-top:16px;font-size:12px}.guide>summary{padding:17px 18px;display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-weight:bold;list-style:none}.guide>summary::-webkit-details-marker{display:none}.guide>summary span{color:var(--purple);font-size:18px;line-height:1}.guide[open]>summary span{transform:rotate(45deg)}#guide-body{padding:0 18px 6px}.guide-item{border-top:1px solid var(--line);padding:12px 0}.guide-item strong{color:var(--purple);font-size:12px}.guide-item p{font-size:11px;color:var(--muted);margin:3px 0}.local-note{font-size:10px;line-height:1.7;color:#7c7285;padding:0 10px;margin-top:15px}.identity-results{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.result-chip{font-size:11px;padding:5px 9px;border-radius:5px;background:#edf4ef;color:var(--green)}.result-chip.missed{background:#fff0e6;color:var(--red)}.identity-explanation{font-size:12px;color:var(--muted);margin-bottom:20px}.guidance{background:var(--purple-pale);border-left:3px solid var(--purple);border-radius:0 9px 9px 0;padding:15px 17px;margin:18px 0 22px}.guidance h2{font-size:14px;color:var(--purple-dark);margin:0 0 5px}.guidance p{font-size:12px;margin:0;color:#5e4d73;line-height:1.7}.guidance .starter{font-size:11px;font-weight:bold;color:var(--purple-dark);margin-top:7px}label.answer-label{font-size:13px;font-weight:bold;display:block;margin-bottom:8px}textarea{width:100%;min-height:142px;resize:vertical;border:1px solid #d8cfdf;border-radius:9px;padding:14px;color:var(--ink);background:#fff;font-size:13px;line-height:1.7}textarea::placeholder{color:#8d8397}textarea[readonly]{background:#faf9fc;min-height:100px;color:#5c5267}.input-note{font-size:10px;color:var(--muted);margin:5px 0 12px}.hint{font-size:11px;color:var(--purple);margin:12px 0}.hint summary{cursor:pointer;font-weight:bold}.hint p{color:var(--muted);margin:7px 0}.calculation-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:14px}.field label{font-size:11px;font-weight:bold;display:block;margin-bottom:6px}.field input,.field select{width:100%;height:43px;border:1px solid #d8cfdf;border-radius:8px;padding:8px 11px;background:white;color:var(--ink);font-size:13px}.model-answer{border:1px solid #e0d6ec;background:#faf7ff;border-radius:12px;padding:18px;margin:20px 0}.model-answer h2,.review-title{font-size:14px;margin:0 0 9px}.model-answer h2{color:var(--purple-dark)}.model-answer p{font-size:13px;margin:0;line-height:1.75}.trap{display:flex;gap:9px;font-size:11px;color:#76603a;background:#fcf5e6;border-radius:8px;padding:12px 14px;margin:16px 0 22px}.trap b{color:#906d26;white-space:nowrap}.review-help{font-size:11px;color:var(--muted);margin:0 0 12px}.review-check{border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;gap:11px;font-size:12px;align-items:flex-start;margin:8px 0;cursor:pointer}.review-check:has(input:checked){background:#f1f7f2;border-color:#9cbaa9}.review-check input{accent-color:var(--purple);height:17px;width:17px;flex-shrink:0;margin:1px 0}.calc-result{display:flex;gap:9px;align-items:flex-start;padding:12px;border-radius:8px;background:#edf4ef;color:var(--green);font-size:12px;margin:9px 0}.calc-result.missed{background:#fff0e6;color:var(--red)}.calc-result strong{font-size:12px}.error{color:#a53e32;font-size:12px;margin:12px 0 0}.error:empty{display:none}.summary-header{padding:29px;background:#eee6fa;border-bottom:1px solid #d7c6ec}.summary-header .section-label{color:var(--purple)}.summary-header h2{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:9px 0 12px}.summary-header p{font-size:13px;color:#665574;margin:0}.summary-score{font-size:56px;line-height:1.2;color:var(--purple-dark);font-weight:bold;letter-spacing:-2px;margin:18px 0 4px}.summary-score small{font-size:23px;color:#8b769f;font-weight:normal;letter-spacing:0}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 25px}.summary-metric{padding:13px 10px;background:#f8f6fb;border:1px solid var(--line);border-radius:9px;text-align:center}.summary-metric strong{font-size:18px;display:block;color:var(--purple)}.summary-metric span{font-size:10px}.review-list{margin:15px 0}.review-list details{border-top:1px solid var(--line);padding:13px 0}.review-list summary{cursor:pointer;display:flex;gap:10px;align-items:center;font-size:12px;list-style:none}.review-list summary:before{content:'+';color:var(--purple);font-size:16px}.review-list details[open] summary:before{content:'−'}.review-list summary strong{margin-left:auto;white-space:nowrap;color:var(--purple);font-family:Arial}.review-list p{font-size:12px;color:var(--muted);line-height:1.8}.review-list .saved-answer{white-space:pre-wrap;background:#f8f6fb;padding:12px;border-radius:7px;overflow-wrap:anywhere}.next-focus{font-size:12px;border-left:3px solid var(--gold);padding:8px 14px;background:#fcf6e9;margin:22px 0}.next-focus strong{display:block;color:#7a581b;font-size:11px;margin-bottom:3px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e1dce5;margin-top:38px;padding:20px 1px 28px;font-size:10px;color:#8c8196}footer span:first-child{font-weight:bold;letter-spacing:1.5px}.noscript{padding:30px;text-align:center}#activity:focus{outline:none}@media(min-width:1100px){.sidebar{position:sticky;top:22px}}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.shell{padding:30px 24px 0}.topbar-inner{padding:18px 24px}.intro-meta{min-width:210px}.card-body{padding:22px}.card-top{padding:17px 22px}.session-card{padding:21px}.choice span{padding:9px 11px}.intro{gap:20px}}@media(max-width:700px){.shell{padding:27px 18px 0}.topbar-inner{min-height:77px;padding:17px 18px}.brand-mark{font-size:31px}.brand-name{font-size:9px;padding-left:12px;letter-spacing:2px}.brand-name span{display:none}.brand{gap:12px}.access-badge{font-size:9px;padding:6px 9px}.intro{align-items:start;padding-bottom:25px}.intro-meta{border:0;padding:0;min-width:0;text-align:right}.intro-meta p,.method-flow{display:none}.year-badge{font-size:8px;white-space:nowrap;padding:5px 7px}.eyebrow{font-size:8px;letter-spacing:1.5px;gap:6px}h1{font-size:32px;letter-spacing:-1px}.intro-copy{font-size:12px;max-width:260px}.workspace{display:flex;flex-direction:column}.workspace>#activity{width:100%;order:2}.sidebar{display:contents}.session-card{order:1;padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:0 18px;width:100%;border-radius:13px}.session-eyebrow{grid-column:1;font-size:9px;margin:0 0 5px}.score{grid-column:2;grid-row:1/3;font-size:33px;align-self:center}.score small{font-size:15px}.score-caption{grid-column:2;grid-row:3;font-size:8px;text-align:right;margin:0}.session-progress-label{grid-column:1;margin:0 0 7px}.progress-bar{grid-column:1}.activity-dots,.score-breakdown,.score-how,.restart,.reset-panel{display:none}.guide{order:3;width:100%;margin-top:0}.local-note{order:4;margin:0}.card-body{padding:22px 19px}.card-top{padding:15px 19px}.question{font-size:23px}.step-track{gap:13px;margin-bottom:23px}.choice span{font-size:12px;padding:10px 12px}.action-row{gap:12px}.action-note{font-size:9px;max-width:145px}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-header{padding:24px 19px}.summary-header h2{font-size:27px}footer{margin-top:25px;font-size:8px;padding-bottom:22px}footer span:last-child{text-align:right}.mobile-reset{display:inline-flex!important}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.mobile-reset{display:none;margin-top:16px;color:var(--purple)}
/* Accounts and teacher reporting */
[hidden]{display:none!important}.account-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:0 0 18px;font-size:13px}.account-card h2{font-size:19px;margin:0 0 6px}.account-card p{font-size:12px;color:var(--muted);margin:6px 0 12px}.account-card a{font-size:12px;color:var(--purple);font-weight:bold}.account-card .privacy-note{font-size:10px;margin-top:17px;max-width:800px;line-height:1.75}.auth-fields{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.auth-fields .field{flex:1;min-width:190px}.auth-fields button{margin-bottom:0;white-space:nowrap}.auth-fields+.auth-fields,#verify-form{margin-top:16px}.signed-in{display:flex;justify-content:space-between;align-items:center;gap:20px}.signed-in p{margin-bottom:0}.account-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.sync-status{font-size:12px;color:var(--green);margin:0 0 15px;min-height:19px}.sync-error{color:var(--red)}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:25px 0 16px;flex-wrap:wrap}.dashboard-toolbar form{flex:1}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:15px 0 23px}.dashboard-stats>div{background:#eee6fa;border:1px solid #ded2ee;border-radius:13px;padding:18px}.dashboard-stats strong{font-size:29px;color:var(--purple);display:block}.dashboard-stats span{font-size:11px;color:var(--muted)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:white}.results-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.results-table th{background:#eee8f5;color:#59456e;font-size:10px;letter-spacing:.4px}.results-table td,.results-table th{padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:top}.results-table tr:last-child td{border-bottom:0}.table-secondary{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.student-link{border:0;background:none;color:var(--purple);padding:0;text-align:left;text-decoration:underline;font-size:12px;overflow-wrap:anywhere}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:15px 0 25px;gap:18px}.detail-card{margin-top:25px}.detail-card h2{font-size:23px;overflow-wrap:anywhere}.assessment-label{font-weight:bold;color:var(--purple)!important}.teacher-review{padding:17px;background:#f5f1fb;border-radius:10px}.teacher-review textarea{min-height:80px;margin:6px 0 14px}.roster-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-top:25px;font-size:12px}.roster-panel>summary{cursor:pointer;font-size:14px;font-weight:bold;color:var(--purple)}.roster-panel>p{color:var(--muted);max-width:800px}.roster-panel .results-table{margin-top:15px}.account-card #auth-message{color:var(--purple);min-height:18px}.detail-card .review-list summary{padding:6px 0}.detail-card .review-list p{overflow-wrap:anywhere}.account-card .field input{min-width:0}@media(max-width:700px){.account-card{padding:18px}.signed-in{align-items:start;flex-direction:column;gap:12px}.account-actions{gap:16px}.dashboard-stats{grid-template-columns:1fr}.dashboard-stats>div{display:flex;gap:18px;align-items:center;padding:13px 17px}.dashboard-stats strong{min-width:65px}.auth-fields{align-items:stretch}.auth-fields .field{min-width:180px}.auth-fields .primary{align-self:end}.dashboard-toolbar>.account-actions{width:100%;justify-content:space-between}.teacher-review{padding:13px}.results-table td,.results-table th{padding:12px}.roster-panel{padding:17px}}
/* Academy account management */
.admin-nav{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.admin-nav a{padding:10px 15px;border:1px solid var(--line,#ded8e5);border-radius:999px;color:var(--purple,#6942a4);text-decoration:none;font-size:13px;font-weight:600;background:#fff}.admin-nav a:hover{border-color:#6942a4}
.admin-card{background:#fff;border:1px solid #e5e0e9;border-radius:19px;padding:27px;margin:23px 0;scroll-margin-top:20px}.admin-card h2{font-size:24px;line-height:1.25;margin:5px 0 10px}.admin-card .field input,.admin-card .field select{width:100%}
.admin-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:8px}.admin-tag{font-size:11px;color:#6942a4;border:1px solid #ded3ed;background:#f7f3fc;border-radius:999px;padding:8px 11px;white-space:nowrap}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:20px 0}
.assignment-fieldset{border:1px solid #e3dce9;border-radius:12px;padding:14px 16px;margin:18px 0}.assignment-fieldset legend{font-size:13px;font-weight:700;padding:0 7px;color:#32243f}.teacher-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:250px;overflow:auto}.teacher-choice{display:flex;align-items:flex-start;gap:9px;padding:10px;background:#f7f5fa;border-radius:9px;cursor:pointer}.teacher-choice input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:#6942a4}.teacher-choice strong{font-size:13px;display:block;overflow-wrap:anywhere}.teacher-choice small{display:block;font-size:11px;color:#6d6677;overflow-wrap:anywhere}.teacher-choice:has(input:disabled){opacity:.6}
.status-chip{display:inline-block;font-size:11px;font-weight:600;padding:6px 9px;border-radius:999px;background:#eee8f6;color:#573185;white-space:nowrap}.status-attention{background:#fcf0d6;color:#725321}.row-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.row-actions button{white-space:nowrap}
.report-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;flex:1}.report-filters .field:first-child{flex:1;min-width:180px}.report-filters .field{min-width:135px}.report-filters input,.report-filters select{max-width:100%}.review-history{background:#f7f4fb;border:1px solid #e4dcef;border-radius:10px;padding:12px 14px;margin:15px 0}.review-history summary{cursor:pointer;font-size:13px;font-weight:700;color:#6942a4}.review-history li{margin:15px 0}.review-history ol{padding-left:20px}.review-history strong{font-size:13px}
@media(max-width:700px){.admin-card{padding:19px}.admin-form-grid,.teacher-choices{grid-template-columns:1fr}.admin-section-heading{flex-direction:column;gap:4px}.admin-card h2{font-size:21px}.report-filters{width:100%}.report-filters .field{flex:1}.admin-nav a{font-size:12px;padding:8px 12px}.admin-card .auth-fields{align-items:stretch}}
