@import url('/learn/report.css');
/* Keep editable controls readable: small inherited labels trigger iOS focus zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0;background:#f3f5f1;color:#203d35;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;background:#254d40;color:white;border:0;padding:14px 18px;border-radius:12px;min-height:48px;font-weight:650;text-decoration:none;display:inline-block}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#e5eddf!important;color:#34553e!important}.quiet{background:transparent!important;color:#56734c!important;padding:8px!important;font-size:12px!important}a{color:#315c47}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #9ab866;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border-bottom:1px solid #dce5d7;padding:15px max(18px,calc((100vw - 1040px)/2))}.brand{font-weight:800;font-size:12px;letter-spacing:.03em;text-decoration:none;display:flex;align-items:center;gap:9px}.brand b{display:grid;place-items:center;width:30px;height:30px;background:#244e3d;color:#dcedb5;border-radius:8px}.header-tag{font-size:12px;color:#677b61}main{max-width:780px;margin:28px auto;padding:0 20px 64px}h1{font-size:30px;line-height:1.3;letter-spacing:-1px}h2{font-size:23px;line-height:1.45;letter-spacing:-.5px;outline:none}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#718964}.card{padding:26px;background:white;border:1px solid #dce5d7;border-radius:20px;margin:18px 0;box-shadow:0 2px 10px #23411f03}.muted{color:#6c7f66}.small{font-size:12px}.hidden,[hidden]{display:none!important}.message{padding:16px 18px;background:#edf4e4;border:1px solid #d0dfbe;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}.error{color:#8e3925;background:#fff0e7;border-color:#eccdbb}.topnav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.topnav button{font-size:13px;padding:9px 14px}.pill{display:inline-block;background:#e8efde;border-radius:20px;padding:4px 10px;font-size:11px;color:#577348}.hero{background:#234a3d;color:white}.hero h2{font-size:28px}.hero .muted,.hero .eyebrow{color:#c2d4b5}.hero button{background:#d6eba7;color:#264c32}.progress-track{height:7px;background:#dce5d4;border-radius:20px;overflow:hidden;margin:16px 0}.progress-track i{display:block;height:100%;background:#99bf62}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric strong{display:block;font-size:27px}.metric span{font-size:11px}.course-list{padding:0;list-style:none}.course-list li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #e3e9de}.course-list .number{height:32px;width:32px;display:grid;place-items:center;border-radius:10px;background:#edf2e7;font-size:12px;flex-shrink:0}.course-list .name{flex:1;font-size:14px}.course-list small{display:block;font-size:11px;color:#7c8c70}.course-list button{font-size:11px;min-height:38px;padding:6px 10px}.phase{display:flex;gap:6px;margin:18px 0;flex-wrap:wrap}.phase span{font-size:11px;border-radius:20px;padding:5px 10px;background:#e5eddf}.phase [aria-current]{background:#244e3c;color:white}.choice{display:block;width:100%;text-align:left;padding:15px;margin:10px 0;border:1px solid #d0deca;background:white;color:#254f39;font-weight:500}.choice[aria-pressed=true]{border:2px solid #597c41;background:#edf5e3;padding:14px}.actions{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.actions button{flex:1}.question-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.question-nav button{padding:7px 12px;font-size:12px;min-height:40px}.question-nav [aria-current]{outline:2px solid #476c37}.save-status{text-align:right;font-size:11px;color:#637f55;min-height:20px}.experiment{background:#f1f5eb;border-radius:15px;padding:18px;margin:20px 0}.experiment-output{font-size:38px;font-weight:750;color:#325b3f;text-align:center;margin:12px}.experiment-output small{font-size:14px;font-weight:400}.experiment-bar{height:18px;max-width:100%;border-radius:6px;background:#bed98f;transition:width .3s}.evidence{padding:12px 16px;border-left:3px solid #a9c578;background:#f0f5e8}.explanation{white-space:pre-wrap}.result-item{border-bottom:1px solid #e1e8db;padding:15px 0}.result-item summary{font-size:14px;cursor:pointer}.correct{color:#386b3a}.wrong{color:#985a20}.completed{width:55px;height:55px;background:#ddebba;border-radius:18px;display:grid;place-items:center;font-size:28px;color:#476a32}label{display:block;font-size:13px;margin:14px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:12px;border:1px solid #cdd9c4;background:#fff;border-radius:10px;min-height:46px;margin-top:6px;color:#203d35}textarea{min-height:150px;resize:vertical}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}.check-label{display:flex;align-items:flex-start;gap:6px}.check-label input{flex-shrink:0;margin-top:4px}.admin-main{max-width:1080px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:12px 9px;border-bottom:1px solid #e2e8db;text-align:left;vertical-align:top}td button{font-size:12px;min-height:36px;padding:8px 12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.local-banner{padding:10px 16px;background:#fff0ce;color:#78562a;font-size:12px;border-radius:10px;margin:14px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.empty{text-align:center;padding:25px;color:#708262}details>summary{cursor:pointer}.report-overview .eyebrow{color:#bcd29e}.review-detail p{font-size:14px}.archive-block{padding:14px 0;border-bottom:1px solid #e0e7da}.lab-diagram{width:100%;max-height:180px;display:block;margin:15px 0}.legal{white-space:pre-wrap;font-size:12px;color:#5c7156}.program-summary li{padding:7px 0}@media(max-width:480px){main{margin:20px auto;padding:0 16px 42px}.card{padding:22px 18px;border-radius:18px}h1{font-size:27px}h2{font-size:21px}.hero h2{font-size:25px}.split{grid-template-columns:1fr}.metrics{gap:8px}.metric strong{font-size:23px}.header-tag{font-size:10px}.actions button{min-width:110px}.course-list .name{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.studying #identity .eyebrow{display:none}.studying #identity h1{font-size:16px;margin:12px 0}.studying #localBanner .local-banner{font-size:10px;padding:7px 10px}.studying main{margin-top:12px}.studying .topnav{margin:10px 0}.studying .phase{margin:12px 0}.studying .lab-diagram{max-height:135px;margin:5px 0}.studying .experiment{padding:14px;margin:16px 0}.studying .experiment-output{font-size:30px;margin:8px}

/* Keep the activity and its controls together on narrow screens. */
.studying #identity{display:none}.studying #localBanner .local-banner{display:inline-block;margin:0;padding:2px 8px}.studying .phase{flex-wrap:nowrap;gap:4px}.studying .phase span{flex:1;text-align:center;padding:4px 2px;font-size:10px}.studying .activity-card{margin-top:10px}.activity-card h2{margin:12px 0}.activity-card .explanation{margin:10px 0 16px}.explore-choices .choice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.observed-mark{width:20px;flex-shrink:0;color:#426b39;text-align:center}.studying #observations{margin:12px 0 0;min-height:20px}.studying .experiment-output{margin:0}.studying .experiment{margin:12px 0;padding:12px}.save-status:empty{display:none}.activity-card #read{width:100%;margin-top:12px}

/* Program reports: readable type and evidence of effort before scores. */
.learning-report{font-size:16px;line-height:1.7}.learning-report h2{font-size:23px;margin:4px 0 14px;line-height:1.4;word-break:keep-all}.learning-report h3{font-size:18px}.learning-report p{word-break:keep-all;overflow-wrap:anywhere}.learning-report .report-kicker{font-size:14px;font-weight:650;margin:0 0 10px}.learning-report .growth-hero{background:#244c40;color:#fff;padding:28px}.learning-report .growth-hero h2{font-size:30px;letter-spacing:-.8px}.learning-report .report-kicker{color:#476747}.learning-report .growth-hero .report-kicker{color:#d5e8bb}.growth-message{margin:12px 0 24px;color:#eef5e7;font-size:17px}.journey-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.journey-heading strong{font-size:34px;color:#ecf8cd}.journey-heading small{font-size:16px;color:#edf4e7;font-weight:500}.journey-heading>span{font-size:16px;color:#d5e8bb}.journey-track{display:flex;gap:4px;margin:10px 0 24px}.journey-track i{height:12px;flex:1;min-width:0;background:#526f62;border-radius:4px}.journey-track i.done{background:#d4ed9d}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #6c8879;padding-top:20px;gap:10px}.achievement{display:flex;flex-direction:column}.achievement strong{font-size:30px;line-height:1.4}.achievement strong small{font-size:15px;margin-left:3px;font-weight:500}.achievement span{font-size:14px;color:#f0f5e9;word-break:keep-all}.learning-report .next-focus{background:#eaf1e0;border-color:#cbdcba}.learning-report .next-focus p{margin:8px 0 14px}.learning-report .next-focus button{width:100%;margin-top:4px;font-size:16px}.learning-report .section-intro{font-size:15px;color:#536a51;margin:0 0 20px}.learning-report .unit-card{padding:18px 0}.learning-report .unit-heading{align-items:flex-start}.learning-report .unit-heading strong{font-size:18px;word-break:keep-all}.unit-count{white-space:nowrap;font-size:20px;font-weight:700}.unit-count small{font-size:14px;font-weight:400;color:#536a51}.disclosure{margin-left:10px;display:inline-block}.unit-card[open] .disclosure{transform:rotate(180deg)}.learning-report .unit-track{margin:12px 0}.learning-report .unit-track span{height:14px}.learning-report .unit-caption{font-size:14px;color:#4d6348;margin:0;line-height:1.7}.learning-report .goal-status-list li{display:block;padding:16px 0;font-size:16px}.goal-status-list li>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}.learning-report .status-label{font-size:14px;padding:4px 8px;white-space:normal}.learning-report .goal-status-list p{font-size:14px;margin:8px 0 0;color:#52674b}.learning-report .report-rules,.learning-report .report-rules summary,.learning-report .chart-table summary{font-size:14px;line-height:1.8}.learning-report summary{min-height:44px;padding:8px 0}.learning-report .score-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.score-stat{padding:16px;background:#f0f4ea;border-radius:14px;min-width:0}.score-stat>span{font-size:14px;color:#455e45;display:block}.score-stat>strong{display:block;font-size:29px;margin:8px 0}.score-stat strong small{font-size:14px;font-weight:400;white-space:nowrap}.score-stat .not-yet{font-size:16px;font-weight:500;color:#546b50}.score-track{height:9px;background:#dce6d2;border-radius:8px;overflow:hidden}.score-track i{display:block;height:100%;background:#507641;border-radius:8px}.recent-title{margin-top:28px}.lesson-scores{list-style:none;margin:0;padding:0}.lesson-scores li{padding:14px 0}.lesson-scores li>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.lesson-scores li span{font-size:16px;word-break:keep-all}.lesson-scores li strong{font-size:20px;white-space:nowrap}.lesson-scores li small{font-size:15px;font-weight:400}.learning-report .chart-table table{font-size:14px}.learning-report .score-note{font-size:14px;color:#536a51;margin:20px 0 0}.learning-report .report-empty{font-size:16px}.learning-report+.card .result-item summary{font-size:16px}
@media(max-width:480px){.learning-report .growth-hero{padding:24px 20px}.learning-report .growth-hero h2{font-size:28px}.learning-report .score-grid{grid-template-columns:1fr}.score-stat>strong{margin:4px 0 10px}.learning-report .unit-heading{flex-wrap:wrap;gap:4px 12px}.learning-report .unit-heading strong{flex:1}.achievement-grid{gap:8px}.learning-report .card{padding:24px 18px}}

.speed-calculation,.speed-comparison{font-size:15px;text-align:center;margin:8px 0;word-break:keep-all}.speed-comparison{font-weight:650;color:#31583c}

.explore-choices .observed-mark{width:28px;font-size:14px;font-weight:400;color:#66725e}

.condition-result{text-align:center;padding:8px 0}.condition-label{display:block;font-size:15px;color:#506848}.condition-arrow{display:block;font-size:25px;color:#759057;margin:4px}.condition-result strong{display:block;font-size:23px;line-height:1.4;color:#28553c;word-break:keep-all}.condition-result p{font-size:16px;margin:12px 0 4px;word-break:keep-all}

/* Shared by application, student feedback and administrator forms. Keep pinch zoom available. */
input:not([type=checkbox]):not([type=radio]),select,textarea{
  font-size:max(16px,1rem);
  line-height:1.5;
  min-width:0;
  max-width:100%;
  min-height:48px;
  scroll-margin-block:24px;
}
select:focus-visible,textarea:focus-visible{outline:3px solid #9ab866;outline-offset:3px}
.application #submit{width:100%;margin-top:12px}
.application .check-label{min-height:48px;align-items:flex-start;padding:8px 0}
.application .check-label input{margin-left:0}
.application details>summary,#feedbackPanel>summary{min-height:48px;padding:10px 0}
.application label,#feedbackPanel label{font-size:14px}
.application .legal,.application .small{font-size:14px;line-height:1.75}
.application #applicationResult{overflow-wrap:anywhere}
#feedbackPanel textarea{min-height:160px}
@media(max-width:650px){
  main{padding-bottom:calc(42px + env(safe-area-inset-bottom,0px))}
  .brand,.header-tag,.course-list .name,.actions>*{min-width:0}
  .header-tag{text-align:right}
  .course-list .name{overflow-wrap:anywhere}
  .course-list button,.question-nav button{min-height:44px;min-width:44px}
  .topnav button{min-height:44px}
  #feedbackPanel button{width:100%}
  .application #form{margin-top:20px}
}

/* Graded work has a distinct score summary, answer review and next action. */
.batch-result{font-size:16px;line-height:1.7}
.result-hero{background:#234a3d;color:#fff;border-radius:22px;padding:28px;margin:18px 0}
.result-eyebrow{margin:0 0 14px;color:#d5e8c6;font-size:14px;font-weight:650;display:flex;align-items:center;gap:8px}
.result-eyebrow>span{background:#d6eba7;color:#234a3d;border-radius:50%;width:24px;height:24px;text-align:center}
.result-hero h2{font-size:24px;margin:0;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.result-score{display:flex;align-items:baseline;gap:12px;margin:22px 0 16px}
.result-score>strong{font-size:64px;line-height:1.1;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.result-score strong span{font-size:30px;letter-spacing:-1px;color:#d5e4cd}
.result-score>span{font-size:15px;color:#e7efdf}
.result-track{display:flex;gap:6px;margin:18px 0 10px}
.result-track span{height:12px;flex:1;border-radius:4px;background:#e8be7f}
.result-track .is-correct{background:#cde899}
.result-totals{display:flex;justify-content:space-between;font-size:14px;color:#eff5e7}
.result-first-record{border-top:1px solid #648070;padding-top:16px;margin:20px 0 0;font-size:14px;color:#e7efdf}
.result-focus{display:flex;gap:12px;padding:18px 20px;border:1px solid #e6c7a2;border-radius:16px;background:#fff3e3;margin:18px 0 26px}
.result-focus-icon{font-size:28px;color:#89501e;line-height:1.3}
.result-focus h3{font-size:14px;color:#835023;margin:0 0 4px}
.result-focus p{margin:0;font-size:17px;font-weight:650;color:#573a20;word-break:keep-all;overflow-wrap:anywhere}
.result-success{padding:18px 20px;border-radius:16px;background:#e6efda;color:#365632;font-size:16px}
.result-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin:26px 0 12px}
.result-section-title h3{margin:0;font-size:20px}
.result-section-title>span{font-size:14px;color:#62745b}
.result-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}
.result-map button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;border:1px solid #cddcc1;border-radius:12px;background:#edf3e6;color:#365632;font-weight:600;min-height:92px}
.result-map button.is-wrong{border-color:#dcb485;background:#fff0de;color:#835022}
.result-map button>span,.result-map small{font-size:14px}.result-map strong{font-size:24px;line-height:1.2}
.answer-review{border:1px solid #d9e3d2;border-left:4px solid #709457;background:#fff;border-radius:16px;margin:12px 0;overflow:hidden;scroll-margin-top:20px}
.answer-review.is-wrong{border-color:#e6c6a2;border-left-color:#bd8542}
.answer-review summary{display:flex;align-items:center;gap:12px;padding:16px 18px;min-height:56px;cursor:pointer;list-style:none}
.answer-review summary::-webkit-details-marker{display:none}
.answer-number{font-size:16px;font-weight:700}
.answer-status{font-size:14px;color:#416439;background:#ecf3e6;border-radius:7px;padding:3px 8px}
.is-wrong .answer-status{color:#855024;background:#fff0df}
.answer-disclosure{margin-left:auto;color:#62745b;font-size:22px;line-height:1}.answer-review[open] .answer-disclosure{transform:rotate(180deg)}
.answer-review-body{padding:0 18px 20px}
.answer-question{margin:0 0 18px;font-size:17px;line-height:1.7;font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere}
.answer-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.answer-comparison>div{border-radius:10px;padding:14px 16px;min-width:0}
.answer-selected{background:#fbefe5;border:1px solid #edcfb6;color:#844722}
.answer-expected{background:#edf4e5;border:1px solid #d3e2c3;color:#31572f}
.answer-comparison span{display:block;font-size:14px;margin-bottom:4px}
.answer-comparison strong{display:block;font-size:17px;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap}
.answer-explanation{border-top:1px solid #e4e9de;margin-top:18px;padding-top:16px}
.answer-explanation h4{font-size:14px;color:#586d50;margin:0 0 6px}
.answer-explanation p{font-size:16px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.result-next{margin:24px 0 10px;padding-top:8px}
.result-next p{font-size:14px;color:#5c7054;text-align:center;margin:0 0 12px}
.result-next button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;font-size:17px;padding:16px 20px}
@media(max-width:480px){.result-hero{padding:24px 22px}.result-hero h2{font-size:22px}.result-score>strong{font-size:60px}.answer-comparison{grid-template-columns:minmax(0,1fr)}}
