.lesson-selfcheck{margin:2.5rem 0 1.5rem;border:1px solid #cbd7df;border-radius:8px;background:#f8fafb;scroll-margin-top:18px}
.lesson-selfcheck>summary{padding:1rem 1.2rem;min-height:44px;box-sizing:border-box;cursor:pointer;color:var(--blue,#173e5e)}
.lesson-selfcheck>summary h2{display:inline;margin:0;padding:0;border:0;font-family:inherit;font-size:1.1rem;font-weight:650;line-height:1.6}
.selfcheck-optional{display:inline-block;margin-left:.6rem;font-size:.88rem;font-weight:400;color:#526474}
.lesson-selfcheck>summary:hover{background:#edf3f7;border-radius:8px}.lesson-selfcheck>summary:focus-visible{outline:3px solid #b64b18;outline-offset:3px;border-radius:6px}
.lesson-selfcheck[open]>summary{border-bottom:1px solid #dce4ea}.selfcheck-content{padding:0 clamp(.8rem,3vw,1.5rem) 1.2rem;min-width:0}
.selfcheck-intro{color:#425362}.selfcheck-content>.learning-panel{margin:1rem 0;border:0;padding:0;background:transparent}
.selfcheck-reference{margin-top:1.5rem;border-top:1px solid #dce4ea;padding-top:.5rem}.selfcheck-reference>summary{min-height:44px;padding:.6rem 0;box-sizing:border-box;cursor:pointer}
.learning-panel{margin:2rem 0;padding:clamp(1rem,3vw,1.6rem);border:1px solid #cbd7df;border-radius:12px;background:var(--surface,#f8fbfd);color:var(--ink,#182d3e)}
.learning-panel h2{margin-top:0}.learning-panel h3{margin-top:1.4rem}.learning-panel p{overflow-wrap:anywhere}
.learning-panel input,.learning-panel textarea,.learning-panel select,.learning-panel button{font:inherit;max-width:100%;box-sizing:border-box}
.learning-panel button,.learning-panel select,.learning-panel input:not([type=radio]):not([type=checkbox]){min-height:44px}
.learning-panel button{padding:.55rem .9rem;border:1px solid #46637a;background:#fff;color:#173e5e;border-radius:6px;cursor:pointer;margin:.3rem .3rem .3rem 0;white-space:normal;overflow-wrap:anywhere}
.learning-panel button:hover{background:#e6f0f7}.learning-panel button:disabled{opacity:.6;cursor:default}
.learning-panel :focus-visible{outline:3px solid #b64b18;outline-offset:3px}
.learning-label{display:flex;flex-direction:column;gap:.4rem;margin:.8rem 0;min-width:0}.learning-label>span{font-weight:650}
.learning-panel textarea,.learning-panel input[type=text],.learning-panel select{padding:.6rem;border:1px solid #8a9eae;border-radius:5px;background:#fff;color:#182d3e}
.learning-panel textarea{resize:vertical;width:100%}.learning-panel textarea.learning-code-answer{font-family:ui-monospace,Consolas,monospace;min-height:12rem}
.learning-answer-row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.learning-answer-row>.learning-label{flex:1 1 160px}
.learning-activity{padding:1.2rem 0;border-top:1px solid #cbd7df}.learning-activity:first-of-type{margin-top:1rem}
.learning-activity fieldset{border:1px solid #b4c4d0;border-radius:6px;padding:.8rem}.learning-activity legend{font-weight:650;padding:0 .3rem}
.learning-choice{display:flex;gap:.7rem;align-items:flex-start;padding:.65rem;border-radius:5px;cursor:pointer}.learning-choice input{min-width:20px;min-height:20px;margin-top:.1rem}.learning-choice:hover{background:#eaf1f6}
.learning-summary{padding:.8rem 1rem;background:#e7f1f7;border-left:4px solid #266385;border-radius:4px}
.learning-feedback:empty{display:none}.learning-feedback{padding:.75rem;border-left:4px solid #62758a;background:#edf2f6}
.learning-feedback[data-result=correct]{border-color:#17724d;background:#e9f5ed}.learning-feedback[data-result=incorrect],.learning-feedback[data-result=invalid]{border-color:#a34c18;background:#fff2e5}
.learning-storage-warning{padding:.8rem;border-left:4px solid #9b4b00;background:#fff3df}.learning-storage-warning[hidden]{display:none}
.learning-source{font-size:.8rem;color:#415d72;overflow-wrap:anywhere}.learning-source>summary{min-height:44px;padding-block:10px;box-sizing:border-box;cursor:pointer}.learning-hints p{padding:.6rem .8rem;background:#fff4dc}
.learning-route{border-top:1px solid #bdcdd9;margin-top:1.5rem;padding-top:.6rem}.learning-route ol{padding-left:1.5rem}.learning-route li{margin:.45rem 0}
.learning-attempts summary{cursor:pointer;min-height:32px;padding:.5rem 0}
.learning-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0}
.learning-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:24rem;overflow:auto;font:12px/1.6 ui-monospace,Consolas,monospace;background:#edf2f6;padding:.8rem;border-radius:5px}
.learning-panel [aria-invalid=true]{border:2px solid #a34c18}
@media(max-width:560px){.learning-panel{padding:1rem .75rem;border-radius:8px}.learning-answer-row{gap:.2rem}.learning-panel button{width:100%}.learning-actions{display:block}}
@media(prefers-reduced-motion:reduce){.learning-panel *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.learning-panel{border:1px solid #aaa;background:white;color:black;break-inside:auto}.learning-panel button,.learning-panel input[type=file],.learning-storage-warning{display:none}.learning-panel pre{max-height:none;overflow:visible}.learning-activity{break-inside:avoid}.learning-panel details>*{display:block}.learning-panel textarea{height:auto;min-height:4rem}.learning-panel .table-wrap{overflow:visible}}
