.view-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.view-controls label{font-size:.75rem;font-weight:600;display:block}.view-controls select,.view-controls input{display:block;margin-top:7px;width:100%;min-width:0;padding:10px;border:1px solid #b5c6a4;border-radius:6px;color:#183c37;background:white;font: .8rem var(--sans);min-height:44px}.chart-preview{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:18px 0}.practice-chart{display:block;width:100%;height:auto}.practice-chart text{font:10px var(--sans);fill:#52674b}.practice-chart .chart-title{font-size:13px;font-weight:650;fill:#183c37}.practice-chart .chart-value{font-size:11px;fill:#183c37}.copy-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:13px;background:#eef3e5;border:1px solid #d7e2c8;border-radius:6px;font:.75rem/1.8 var(--mono)}.sidebar-details .sidebar-nav{max-height:calc(100vh - 130px);overflow-y:auto;overscroll-behavior:contain}.data-view-table{min-width:350px}.lesson-article .table-scroll{max-width:100%}.exercise .solution p:last-child{margin-bottom:0}
@media(max-width:800px){.sidebar-details .sidebar-nav{max-height:430px}.view-controls{gap:12px}}
@media(max-width:480px){.view-controls{grid-template-columns:1fr}.practice-chart text{font-size:10px}.exercise .chart-preview{margin-left:-4px;margin-right:-4px}}
/* Workbook checking extends the existing lesson visual language. */
.lesson-download{padding:24px;background:var(--surface,#f4f3ec);border:1px solid #d8e0d7;border-radius:14px;margin:32px 0}.lesson-download .button{margin:8px 12px 8px 0}
.workbook-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px;align-items:start;margin-bottom:52px}.workbook-upload{background:#fff;border:1px solid #d6dfd7;border-radius:18px;padding:30px}.workbook-upload h2{margin-top:0}.workbook-upload label{display:block;font-weight:650;margin-bottom:12px}.workbook-upload input[type=file]{width:100%;max-width:100%;padding:18px;border:2px dashed #aebeb1;border-radius:10px;background:#f7f8f3;font:inherit}.workbook-upload input::file-selector-button{background:#174d40;color:#fff;border:0;border-radius:6px;padding:10px 14px;margin-right:12px;font:inherit;cursor:pointer}.workbook-upload p{line-height:1.7;color:#53655d}.workbook-upload[aria-busy=true]{opacity:.8}.workbook-upload button:disabled{cursor:wait}.workbook-help{padding:25px;background:#edf1e7;border-radius:16px}.workbook-help h2{font-size:22px;margin-top:0}.workbook-help li{padding-bottom:12px;line-height:1.6}.workbook-help p{line-height:1.7}.workbook-results{margin:34px 0}.workbook-results h2:focus{outline:2px solid #174d40;outline-offset:6px}.grading-results{display:grid;gap:14px;margin:24px 0}.grading-task{border:1px solid #d6dfd7;border-left:4px solid #7d8c82;background:white;border-radius:10px;padding:20px}.grading-task.correct{border-left-color:#26815e}.grading-task.incorrect{border-left-color:#bd543d}.grading-task.review{border-left-color:#aa7d24}.grading-task-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.grading-task-head h3{font-size:18px;margin:0}.grade-label{font-size:12px;white-space:nowrap;padding:5px 9px;background:#eef2eb;border-radius:6px;font-weight:700}.grade-location{font-family:monospace;color:#65756b;font-size:13px}.grading-task p{line-height:1.65}.grading-task code{display:block;overflow-wrap:anywhere;white-space:pre-wrap;margin-top:12px}.grading-task summary{cursor:pointer;font-weight:650}.manual-review{margin:32px 0}.review-item{display:flex;gap:12px;align-items:start;margin:15px 0;line-height:1.6}.review-item input{width:20px;height:20px;flex-shrink:0;margin-top:4px}.review-item strong{display:block}.workbook-downloads{margin-bottom:65px}
@media(max-width:1000px){.workbook-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.workbook-upload{padding:20px 16px}.grading-task-head{display:block}.grade-label{display:inline-block;margin-top:8px}.workbook-upload input[type=file]{padding:10px;font-size:13px}.workbook-upload input::file-selector-button{display:block;margin:0 0 8px}}
.practice-level{display:flex;align-items:center;gap:14px;margin:20px 0}.practice-level label{font-weight:650}.practice-level select{font:inherit;border:1px solid #c5d3c7;border-radius:8px;padding:10px 16px;background:#fff}.array-result{margin:20px 0}.array-result caption{text-align:left;font-weight:650;padding:10px 0}.feedback{overflow-wrap:anywhere}
