.adaptive-view{max-width:980px;padding-bottom:30px}
.adaptive-view h1,#path h1{font-size:clamp(30px,3.1vw,43px);letter-spacing:-1.2px;max-width:850px}
.adaptive-view h2,#path h2{font-size:21px;margin:25px 0 12px}
.adaptive-view p{line-height:1.65}.adaptive-lead{max-width:760px;font-size:16px;color:#5c6657}
.assessment-chips{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}
.assessment-chips span{padding:8px 12px;background:#e8eddd;border-radius:6px;font-size:12px}
.assessment-intro{margin:22px 0;padding:28px;max-width:800px;border-top:4px solid var(--green)}
.assessment-intro h2{margin-top:0}.assessment-intro p{font-size:15px;max-width:690px}.assessment-intro .button{margin-top:13px}
.text-link{font:inherit;color:inherit;background:none;padding:5px 0;text-decoration:underline;text-underline-offset:4px;font-size:12px;display:inline-block}
.assessment-status{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin:22px 0 10px}
.assessment-status span:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.adaptive-view>progress{width:100%;height:6px;display:block;accent-color:#586940;margin-bottom:26px}
.diagnostic-task,.adaptive-task{padding:28px;background:#fffefa}
.diagnostic-task .question-prompt{font-size:16px;color:var(--ink);margin-top:0}
.assessment-code{font-size:14px;line-height:1.75;padding:20px;border:1px solid #d8decd;background:#eef0e6;color:#293426;white-space:pre-wrap;overflow-wrap:anywhere}
.diagnostic-choice{font-size:14px;line-height:1.6;padding:15px 18px;text-align:left}
.diagnostic-choice[aria-pressed=true]{background:#e9f3d3;border-color:#7a9257;box-shadow:inset 3px 0 #748e4d}
.assessment-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0 12px}
.answer-field{margin:20px 0;padding:0;border:0;min-width:0}
.answer-field>label,.answer-field>legend{display:block;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:10px;padding:0}
.answer-field>input,.answer-field>select{display:block;width:100%;max-width:460px;padding:13px 14px;border:1px solid #bcc5b1;border-radius:7px;background:white;color:var(--ink);font-size:16px;min-height:48px}
.answer-field .choice-line{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:7px;padding:12px 14px;font-size:13px;font-weight:400;cursor:pointer;margin:8px 0;background:#fbfcf5}
.choice-line input{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:#536e35}.choice-line:has(input:checked){border-color:#748e4d;background:#e9f3d3}
.diagnostic-error{color:#8b422d;min-height:1em}.diagnostic-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.diagnostic-scores article{display:flex;flex-direction:column;gap:10px;padding:22px}.diagnostic-scores strong{font-size:31px;letter-spacing:-1px}.diagnostic-scores small{font-size:11px;color:var(--muted)}
.placement-reason{margin:20px 0 25px;padding-left:20px;border-left:3px solid #a2b980}.placement-reason h2{margin:0 0 12px}.placement-reason p{margin:8px 0;font-size:14px;max-width:780px}
.adaptive-route{padding:0;list-style:none;margin:24px 0;display:grid;gap:12px}.route-card{display:grid;grid-template-columns:32px 1fr auto;gap:16px;align-items:center}.route-order{font-size:13px;color:#7d8b6e}.route-card h3{font-size:17px;margin:0}.route-card p{font-size:13px;margin:6px 0 0}.route-card .button{white-space:nowrap}
.diagnostic-review{margin:26px 0}.diagnostic-review>summary,.all-lessons>summary{font-size:16px;font-weight:600;padding:4px 0}.diagnostic-review details{padding:16px 0;border-top:1px solid var(--line);margin-top:15px}.diagnostic-review details>summary{font-weight:500;font-size:14px}.diagnostic-review details p{font-size:14px}
.lesson-explanation{margin:25px 0}.lesson-explanation>summary{font-size:15px;font-weight:600}.lesson-explanation p,.adaptive-task p{font-size:14px}.adaptive-task h2{margin-top:0}.adaptive-hint{margin:22px 0 5px;font-size:13px}.adaptive-fields{margin:25px 0}.adaptive-task .result .button{margin-top:16px}
.table-scroll{overflow-x:auto;max-width:100%;margin:20px 0}.table-scroll table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.table-scroll caption{text-align:left;font-size:11px;color:var(--muted);padding-bottom:10px}.table-scroll th,.table-scroll td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.table-scroll th{background:#edf1e3;font-weight:500}
.future-route{margin:30px 0}.future-route h2{margin-top:0}.future-route p{font-size:13px}.all-lessons{margin:30px 0}.adaptive-progress{margin:24px 0}.adaptive-progress h2{font-size:20px}.evidence-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.evidence-row>span{font-size:11px;color:var(--muted);white-space:nowrap}
.placement-reason>summary,.diagnostic-plan>summary{font-size:14px;font-weight:500}.placement-next{margin:20px 0;border-left:4px solid #adc67d}.placement-next h2{margin:12px 0 20px}.diagnostic-plan{margin:24px 0}.answer-steps{display:flex;gap:8px;margin-top:22px}.answer-step{width:40px;height:36px;border:1px solid #c8d0bd;border-radius:7px;background:#f4f5ec;color:var(--ink)}.answer-step[aria-pressed=true]{background:var(--green);border-color:#9daf82;font-weight:600}.answer-step-status{font-size:11px!important;color:var(--muted);margin:10px 0 0}.adaptive-fields{margin:8px 0 24px}
@media(max-width:800px){.adaptive-view h1,#path h1{font-size:31px}.adaptive-lead{font-size:14px}.assessment-intro,.diagnostic-task,.adaptive-task{padding:22px}.diagnostic-scores{gap:9px}.diagnostic-scores article{padding:15px}.route-card{grid-template-columns:26px 1fr;gap:12px}.route-card>.button{grid-column:2;justify-self:start}}
@media(max-width:540px){.adaptive-view h1,#path h1{font-size:28px;letter-spacing:-.7px}.assessment-status{font-size:10px}.assessment-status span:last-child{text-align:right;max-width:155px}.assessment-intro,.diagnostic-task,.adaptive-task{padding:18px}.assessment-code{font-size:12px;padding:13px;line-height:1.65}.diagnostic-task .question-prompt{font-size:14px}.diagnostic-choice{font-size:13px;padding:13px}.diagnostic-scores{grid-template-columns:1fr;gap:8px}.diagnostic-scores article{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.diagnostic-scores strong{grid-column:2;grid-row:1/3;font-size:26px}.diagnostic-scores small{grid-column:1}.route-card h3{font-size:16px}.assessment-actions{gap:10px}.assessment-actions .button{flex-grow:1;text-align:center;justify-content:center}.evidence-row{align-items:flex-start;gap:8px}.evidence-row>span{white-space:normal;max-width:100px;text-align:right}.answer-field .choice-line{font-size:13px}.table-scroll th,.table-scroll td{padding:10px 8px}.placement-reason{padding-left:14px}.adaptive-task .button{width:100%;justify-content:center}}
.html-lab-navigation{display:flex;gap:8px 18px;flex-wrap:wrap;margin:16px 0}.html-lab-navigation a{font-size:11px;color:var(--muted)}.html-lab-navigation a[aria-current=page]{color:var(--ink);font-weight:600}.html-lab-task{padding:24px}.html-lab-task h2{margin-top:0}.html-lab-task>p{font-size:14px;max-width:800px}.html-lab-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;margin:20px 0}.html-lab-workspace>div{min-width:0}.html-lab-workspace label,.html-lab-workspace h3{display:block;font-size:12px;font-weight:500;margin:0 0 10px}.html-lab-workspace textarea{display:block;width:100%;min-height:320px;resize:vertical;border:1px solid #bec7b3;border-radius:7px;background:#f4f6ee;color:#24331f;padding:14px;font:13px/1.6 ui-monospace,Consolas,monospace;tab-size:2}.html-lab-workspace iframe{display:block;width:100%;height:320px;border:1px solid var(--line);border-radius:7px;background:white}.html-lab-workspace .small{font-size:10px;margin:8px 0}.html-lab-reference{font-size:12px;margin:22px 0}.html-lab-reference p{font-size:13px}.html-branch{margin:26px 0}.html-branch h2{margin-top:0}.html-branch p{font-size:14px}.html-branch details{margin-top:20px}.html-branch details p{margin:8px 0}.html-lab-task .result .button{margin-top:16px}
@media(max-width:800px){.html-lab-workspace{grid-template-columns:1fr}.html-lab-workspace textarea{min-height:260px;font-size:16px}.html-lab-workspace iframe{height:230px}.html-lab-task{padding:18px}.html-lab-navigation{gap:6px 12px}.html-lab-navigation a{font-size:10px}.html-lab-task .assessment-actions .button{width:100%;justify-content:center}.html-lab-task .result{padding:15px}}
.mobile-pane-controls{display:none}@media(max-width:800px){.mobile-pane-controls{display:flex;gap:8px;margin:20px 0 8px}.mobile-pane-controls .answer-step{width:auto;padding:0 18px}.html-lab-workspace[data-mobile-pane=code] .html-preview-pane,.html-lab-workspace[data-mobile-pane=preview] .html-editor-pane{display:none}}
.html-lab-navigation{align-items:start;justify-content:space-between}.html-lesson-picker{font-size:11px;flex:1;text-align:center}.html-lesson-picker summary{text-decoration:underline;line-height:1.5}.html-lesson-picker>div{display:grid;gap:10px;padding:16px 10px;text-align:left}.html-list-requirements{display:flex;flex-wrap:wrap;gap:12px 28px;border-left:3px solid #b8cd91;padding:4px 0 4px 15px;margin:16px 0}.html-list-requirements h3{font-size:12px;margin:0 0 6px}.html-list-requirements ul,.html-list-requirements ol{padding-left:20px;margin:0;font-size:12px;line-height:1.8}.html-understanding{margin:20px 0}.html-understanding summary{font-size:13px;font-weight:600}.html-understanding>p{font-size:13px}.html-understanding .quiz-choice{color:var(--ink)}@media(max-width:800px){.html-lab-navigation{gap:10px}.html-lesson-picker{font-size:10px}.html-list-requirements{display:block}.html-list-requirements>div+div{margin-top:12px}.html-understanding{padding:18px}}

/* Python and prompt practice: one compact editor, optional depth. */
.python-task label,.prompt-draft label{display:block;font-weight:700;margin:12px 0 8px}
.python-editor,.prompt-editor{display:block;box-sizing:border-box;width:100%;max-width:100%;resize:vertical;border:1px solid var(--line,#dedbd3);border-radius:12px;padding:14px;background:#20252b;color:#f7f5ed;font:14px/1.6 monospace;tab-size:4;min-height:250px}
.prompt-editor{min-height:150px;background:#f8f6ee;color:#242a30;font-family:inherit}
.python-output{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f0e9;color:#30353a;border-radius:10px;padding:12px;max-height:190px;overflow:auto;font-size:13px}
.python-task details,.prompt-draft,.task-responses{margin-top:14px}
.runtime-status{min-height:20px}
.python-task .assessment-actions{margin-top:12px}
@media(max-width:600px){.python-editor{font-size:13px;padding:10px;min-height:250px}.python-task .assessment-actions{gap:8px}.python-task .button{padding:10px 13px}.prompt-draft{padding:16px}}

#workshops .python-task{padding:20px}#workshops .python-task h2{margin-top:0}#workshops .python-task>p{font-size:14px}#workshops>.assessment-actions{margin:14px 0}#workshops>.lesson-explanation{margin:16px 0;padding:16px}#workshops h1{margin:12px 0}#workshops .adaptive-lead{margin:10px 0}
@media(max-width:600px){#workshops .python-task{padding:16px}#workshops h1{font-size:26px}#workshops>.assessment-actions>.button{flex-grow:0;padding:9px 12px}#workshops>.assessment-actions summary{font-size:12px}}
