.adaptive-page {max-width:1180px;margin-inline:auto;overflow-wrap:anywhere}
.adaptive-stage-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.adaptive-stage {min-width:0}.adaptive-stage h2 {font-size:1.4rem}
.adaptive-concepts {list-style:none;padding:0}.adaptive-concepts>li {border-top:1px solid #ddd8cc;padding:18px 0}
.adaptive-concepts p {margin:6px 0}.adaptive-concepts small {color:#53605a}
.adaptive-page button,.adaptive-page select,.adaptive-review button,.adaptive-review select {min-height:48px;white-space:normal}
.adaptive-page .actions {flex-wrap:wrap;gap:10px;margin-top:14px}
.adaptive-page .actions button {flex-shrink:1}.adaptive-page details summary,.adaptive-review summary {cursor:pointer;padding:15px 0;min-height:48px}
.adaptive-runbar {display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:15px 0;color:#53605a}
.adaptive-prompt {font-size:clamp(1.2rem,2.1vw,1.8rem);line-height:1.65;white-space:pre-wrap}
.adaptive-decision {border-left:4px solid #528476;padding:12px 16px;background:#f0f7f2}
.adaptive-lesson {line-height:1.9}.adaptive-lesson li {margin:10px 0}.adaptive-lesson h3 {margin-top:24px}
.adaptive-example {background:#f7f3e9;border-radius:14px;padding:18px;margin:18px 0}
.adaptive-hints p {padding:14px;background:#fff3d8;border-radius:12px;white-space:pre-wrap}
#adaptive-form label {display:block;margin:18px 0 8px}#adaptive-form textarea {min-height:90px}
#adaptive-form input,#adaptive-form select,#adaptive-form textarea {width:100%;max-width:100%;font-size:18px}
.adaptive-review {border-top:1px solid #ddd8cc;padding-block:8px}.adaptive-review fieldset {margin:15px 0;border:1px solid #ddd8cc;border-radius:10px}
.adaptive-review .check-label {display:flex;align-items:center;gap:8px;padding:8px;min-height:44px}
.adaptive-review input[type=checkbox] {width:22px;height:22px}.adaptive-scratch {display:block;max-width:100%;background:white;border:1px solid #ddd}
.adaptive-written {white-space:pre-wrap}.adaptive-footer {padding-block:18px}
.adaptive-filters {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:18px}
.adaptive-filters label {display:grid;gap:8px}.adaptive-filters select {width:100%;font:inherit}
.adaptive-course-tabs {margin-bottom:20px}.adaptive-course-tabs [aria-pressed=true] {background:#245c4e;color:white}
.adaptive-prerequisites {margin-top:12px;padding:12px;background:#f7f3e9;border-radius:12px}.adaptive-prerequisites button {margin:4px}
.adaptive-stage {scroll-margin-top:20px}.adaptive-stage summary {font-weight:600}
.adaptive-stage-grid>.card {margin:0}
.adaptive-example p {white-space:pre-wrap}.adaptive-visual {margin:20px 0}.adaptive-visual svg {display:block;width:100%;max-width:380px;max-height:380px}.adaptive-visual figcaption {font-size:.9rem;color:#53605a;margin-top:10px}
.adaptive-visual svg svg {width:320px;height:220px;max-width:none;max-height:none}
.adaptive-lesson details {background:#f7f3e9;border-radius:12px;padding:0 14px;margin:12px 0}.adaptive-lesson details p {white-space:pre-wrap}
#adaptive-correction {margin:18px 0;padding:16px;border:1px solid #ddd8cc;border-radius:12px;background:#f7f3e9}
#adaptive-correction label {display:grid;gap:8px;margin:10px 0}#adaptive-correction input,#adaptive-correction select {width:100%;font-size:18px}
@media(max-width:1100px){.adaptive-stage-grid{grid-template-columns:1fr}.adaptive-page .card{padding:20px}}
@media(max-width:600px){.adaptive-page .card{padding:15px}.adaptive-page .actions button{flex:1 1 160px}}
