/* Additive behaviour styles. Original tokens.css and bundle.css are unchanged. */
.lms-correction-text{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;padding:var(--space-12);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card)}
button,input,textarea,select{font:inherit}button.btn{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.lms-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-16,16px);padding:48px 24px;text-align:center;min-height:280px}.lms-empty p{max-width:480px;margin:0}
.lms-cover{object-fit:cover;width:100%}.lms-gap{gap:var(--space-16,16px)}.lms-stack{display:flex;flex-direction:column;gap:var(--space-16,16px)}.lms-space{margin-top:var(--space-16,16px)}
.lms-toast{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:flex-start;gap:16px;max-width:min(560px,calc(100vw - 48px));box-shadow:var(--shadow-modal);white-space:pre-line}
.lms-toast,.lms-dialog{font:400 14px/1.55 var(--font-body)}
.lms-dialog{color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);width:min(540px,calc(100vw - 32px));max-height:85vh;padding:28px;box-shadow:var(--shadow-modal)}
.lms-dialog::backdrop{background:var(--ink);opacity:.35}.lms-dialog-content{margin-top:16px;max-height:60vh;overflow:auto}.lms-dialog-actions{margin-top:24px}.lms-dialog .lbl:first-child{margin-top:0}
.lms-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lms-actions .ibtn{flex-shrink:0}.lms-item-title{flex:1;min-width:0}.lms-item-title a{display:block;color:var(--ink);text-decoration:none}.lms-item-title a:hover{text-decoration:underline}
.lms-title-input{font:inherit;width:100%;border:0;background:transparent;color:var(--ink);padding:0}.lms-title-input:focus{outline:2px solid var(--accent);outline-offset:4px}
.lms-media{display:block;width:100%;aspect-ratio:16/9;max-height:560px;background:var(--video);border:0;border-radius:var(--r-card)}.lms-prose{font-size:15px;line-height:1.75;overflow-wrap:anywhere}.lms-prose p:first-child{margin-top:0}.lms-prose p:last-child{margin-bottom:0}
.lms-question-option{display:flex;align-items:center;gap:10px}.lms-question-option .field{flex:1}.lms-question-option input[type=checkbox],.lms-question-option input[type=radio]{accent-color:var(--accent);width:18px;height:18px}
.lms-notice{margin-bottom:16px}.lms-progress{min-width:100px}.lms-stat{font:var(--type-stat,500 32px var(--font-mono))}.lms-muted-link{color:var(--ink-soft)}
.lms-mobile-close{display:none}.lms-table-wrap{overflow-x:auto}.lms-filename{overflow-wrap:anywhere}.lms-state{white-space:nowrap}.lms-course-list{grid-template-columns:1fr!important}.lms-course-list .cover{display:none}
.lms-certificate{min-height:420px;text-align:center}.lms-certificate.blue{border-color:var(--accent);border-width:3px}.lms-certificate.compliance{border-color:var(--done-solid);border-width:3px}.lms-cert-name{font:600 36px/1.1 var(--font-serif)}
.lms-search{max-width:300px}.lms-file-input{width:100%}.lms-summary{cursor:pointer}.lms-print-only{display:none}.lms-row-link{color:inherit;text-decoration:none}.lms-row-link:hover{background:var(--surface-hover)}
@media(max-width:760px){.head{flex-wrap:wrap}.head>.f1{flex-basis:100%}.lms-toast{bottom:12px;right:12px;max-width:calc(100vw - 24px)}.app.lms-nav-open>.side{display:flex;position:fixed;z-index:100;inset:0 auto 0 0;width:248px;background:var(--surface);box-shadow:var(--shadow-modal)}.lms-nav-open .lms-mobile-close{display:inline-flex}.lms-dialog{padding:20px}.lms-actions{gap:4px}.sw{overflow-x:auto;max-width:100%}.lms-cert-name{font-size:28px}}
@media print{.side,.bar,.head,.sw,.btn,.lms-toast,.lms-notice,.focus,.toc{display:none!important}.app,.sheet,.main{display:block!important;padding:0!important;margin:0!important;width:100%!important}.lms-certificate{border:1px solid var(--rule-strong);break-inside:avoid}.lms-print-only{display:block}}

/* Account forms use the original surface, field, ink and stamp tokens. */
.lms-form-error { color: var(--stamp-ink); margin-top: 12px; }
#lms-account-actions { flex-shrink: 0; }
@media(max-width:700px){#lms-account-actions{gap:4px}#lms-account-actions .btn{padding:7px 10px;font-size:12px}.focus{flex-wrap:wrap}}

.lms-choice-list{max-height:320px;overflow:auto}.lms-team-card{text-align:left;font:inherit;cursor:pointer;color:inherit}.lms-team-card.lms-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}

/* Keep reference statistics out of view while real account data loads. */
html.lms-loading #root{visibility:hidden}

/* Anchor cards need the same layout as section cards; a.card is more specific. */
a.card.lms-stack,a.card.lms-empty{display:flex}
a.card.lms-stack{gap:var(--space-16);height:100%;align-items:stretch}
a.card.lms-stack>.when{margin-top:auto}
.lms-stack .h3,.lms-empty .h3{overflow-wrap:anywhere}
.lms-tag-remove{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font:inherit}
.lms-certificate{width:100%;min-width:0;max-width:100%;min-height:0;aspect-ratio:auto;padding:clamp(24px,3vw,36px);overflow-wrap:anywhere;gap:var(--space-12)}
.lms-certificate>.row{flex-wrap:wrap;gap:var(--space-16)}
.lms-certificate>*{max-width:100%;white-space:normal}
.lms-cert-name{font-size:clamp(24px,3vw,36px)}
.c3>.card,.cr>.card{min-width:0}
.lms-field+.lms-field{margin-top:var(--space-16)}
.lms-question-option .field{min-width:0}
@media(max-width:760px){.lms-actions{margin-left:auto}.li{flex-wrap:wrap}.lms-item-title{min-width:120px}.lms-certificate{padding:28px 18px}.lms-certificate>.row{justify-content:center!important}.focus>.col{min-width:0;flex:1}.focus .h3{overflow-wrap:anywhere}}

.lms-certificate{aspect-ratio:auto;min-height:420px}
@media(max-width:1500px){.lms-certificate-builder{grid-template-columns:minmax(0,1fr)}}

/* Chapter content reuses card, sw, field, toc and progress components. */
.lms-block,.lms-lesson-block{min-width:0;scroll-margin-top:var(--space-16)}
.lms-block-heading{gap:var(--space-8);margin-bottom:var(--space-16)}
.lms-block textarea[spellcheck="false"]{font-family:var(--font-mono);tab-size:2;min-height:320px}
.lms-interactive{display:block;width:100%;max-width:100%;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface)}
.lms-topic summary{list-style:none;cursor:pointer}.lms-topic summary::-webkit-details-marker{display:none}
.lms-topic summary::after{content:'+';color:var(--ink-soft)}.lms-topic[open] summary::after{content:'−'}
.lms-topic-progress{padding:0 var(--space-8)}.lms-topic-progress p{margin:var(--space-8) 0}
.lms-topic-items{gap:2px;padding-left:6px}.lms-topic .f1{min-width:0;overflow-wrap:anywhere}
.lms-reader-block{min-width:0;padding:var(--space-24) 0;scroll-margin-top:var(--space-16)}
.lms-reader-block+.lms-reader-block{border-top:1px solid color-mix(in srgb,var(--ink) 8%,var(--surface))}
.lms-reader-block>.lms-interactive{border:0;border-radius:0}
.lms-block-completion{margin-top:var(--space-16)}
.lms-outline-jump{display:none}
@media(min-width:1000px){.fbody>.toc{position:sticky;top:0;align-self:flex-start;max-height:100dvh;overflow-y:auto}}
@media(max-width:999px){.lms-outline-jump{display:inline-flex}}
@media(max-width:760px){.lms-block-heading{flex-wrap:wrap}.lms-block .sw{max-width:100%}.lms-lesson-block{padding:var(--space-16)}}
/* Keep the course title readable when player controls wrap onto a new row. */
@media(max-width:760px){.focus>.col{flex:1 1 calc(100% - 72px)}.focus>.row{flex-basis:100%;margin-left:0;gap:var(--space-8)}}

.lms-notification-body{white-space:pre-wrap;overflow-wrap:anywhere}

@media print{.pnav,#lms-account-actions{display:none!important}}

.lms-title-edit{font:inherit;color:inherit;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;overflow-wrap:anywhere}.lms-title-edit:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.lms-ai-review{max-height:520px;overflow:auto}.lms-secret{font-family:var(--font-mono);overflow-wrap:anywhere}
@media(max-width:700px){.bar{height:auto;min-height:64px;flex-wrap:wrap;padding-top:var(--space-8);padding-bottom:var(--space-8)}.bar .srch-w{min-width:40px}.bar .askb{flex-shrink:0}.bar #lms-account-actions{flex-basis:100%;justify-content:flex-end}.bar #lms-account-actions>a{max-width:calc(100vw - 130px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Lesson feedback and AI review reuse the academy's original palette. */
.lms-course-view .fbody,.lms-course-view .focus,.lms-course-view>.pnav,.lms-course-view>.wrap{width:100%;max-width:1280px;margin-inline:auto;box-sizing:border-box}
.lms-course-view .stage{min-width:0}
.lms-preview-notice{background:var(--light-bg);border-color:var(--light-line);color:var(--light-ink)}
.lms-reader-block{padding-inline:var(--space-16);border-radius:var(--r-card)}
.lms-reader-block.lms-block-done{background:var(--done-tint)}
.lms-lesson-completion{border-top:1px solid var(--rule);padding-block:var(--space-24);margin-top:var(--space-24)}
.lms-question-option.lms-answer-right,input.lms-answer-right{background:var(--done-bg);border-color:var(--done-line);color:var(--done-ink)}
.lms-question-option.lms-answer-wrong,input.lms-answer-wrong{background:var(--stamp-tint);border-color:var(--stamp-line);color:var(--stamp-ink)}
.lms-question-option{flex-wrap:wrap}
/* The instructor link is a normal outlined control, not the AI gradient button. */
.askb.lms-instructor-help{border-bottom:1px solid var(--rule-strong);padding-bottom:0;height:auto;min-height:40px;overflow:visible;box-sizing:border-box}
.bar{height:auto;min-height:64px;flex-wrap:wrap;padding-block:var(--space-8)}
.bar .srch-w{min-width:min(240px,100%);flex:0 1 400px}
@media(max-width:760px){.bar .srch-w{flex:1 1 240px}}
.bar #lms-account-actions{flex-wrap:wrap;gap:var(--space-8)}
.side .nav,.side .askb{min-width:0;white-space:normal;overflow-wrap:anywhere}
.side .nav>span:not(.cnt):not(.bdg){min-width:0}
.btn:focus-visible,.askb:focus-visible{outline:2px solid var(--info-ink);outline-offset:2px}
.lms-table-wrap td:last-child .btn{margin:var(--space-4)}
.lms-quiz-summary>p{min-width:min(100%,240px)}
@media(max-width:500px){.lms-quiz-summary>p{flex-basis:100%;margin-bottom:0}.lms-quiz-summary{align-items:flex-start;gap:var(--space-8)}}
.lms-lesson-ai-review{width:min(1100px,calc(100vw - 32px));max-width:1100px}
.lms-ai-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:var(--space-24)}
.lms-ai-comparison>section{min-width:0}
.lms-ai-code{white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto;background:var(--surface-soft);padding:var(--space-16)}
@media(max-width:700px){.lms-course-view .focus{flex-wrap:wrap}.lms-lesson-ai-review{width:calc(100vw - 16px)}.lms-answer-feedback{flex-basis:auto}}

/* Keep review actions visible while long generated content scrolls. */
.lms-lesson-ai-review[open]{overflow:hidden}
.lms-lesson-ai-review>form{display:flex;flex-direction:column;max-height:calc(85vh - 56px);min-height:0}
.lms-lesson-ai-review .lms-dialog-content{min-height:0;max-height:none;flex:1;overflow:auto}
.lms-lesson-ai-review .lms-dialog-actions{flex-shrink:0}

/* Compact curriculum controls; native popovers support Escape and outside-click dismissal. */
.lms-curriculum-heading{display:flex;align-items:center;gap:var(--space-12);padding-bottom:var(--space-8)}
.lms-curriculum-heading>h2{flex:1;min-width:0;margin:0}
.lms-section-toggle{display:flex;align-items:center;gap:var(--space-10);font:inherit;color:var(--ink);background:none;border:0;padding:var(--space-4) 0;text-align:left;cursor:pointer;width:100%;overflow-wrap:anywhere}
.lms-section-chevron{flex-shrink:0;color:var(--ink-soft)}
.lms-section-count{white-space:nowrap}
.lms-section-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r-tile)}
.lms-curriculum-item{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-12);padding-block:var(--space-12)}
.lms-curriculum-item>.ico{flex-shrink:0}
.lms-curriculum-item-link{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-4);text-decoration:none;color:var(--ink);overflow-wrap:anywhere}
.lms-curriculum-item-name{font-weight:500}.lms-curriculum-item-link:hover .lms-curriculum-item-name{text-decoration:underline}
.lms-curriculum-options{flex-shrink:0}.lms-more-button{min-width:40px;min-height:36px;font-size:22px;line-height:1;padding:0 var(--space-10)}
.lms-curriculum-popover{position:fixed;inset:auto;margin:0;width:220px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:var(--space-8);border:1px solid var(--rule);border-radius:var(--r-tile);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lift)}
.lms-curriculum-popover:popover-open{display:flex;flex-direction:column;gap:var(--space-4)}
.lms-curriculum-popover>.btn{justify-content:flex-start;white-space:normal;text-align:left;border-color:transparent;border-radius:var(--r-tile)}
.lms-curriculum-popover>.btn:hover:not(:disabled){background:var(--surface-hover)}
.lms-curriculum-popover>.btn:disabled{cursor:not-allowed}
.lms-curriculum-popover>.lms-delete-action{color:var(--stamp-ink);border-top:1px solid var(--rule);margin-top:var(--space-4)}
@media(max-width:500px){.lms-curriculum-section{padding:var(--space-16)}.lms-curriculum-heading,.lms-curriculum-item{gap:var(--space-8)}.lms-section-count{font-size:12px}}
.lms-course-intro-editor{padding-block:var(--space-24);border-block:1px solid var(--rule);margin-bottom:var(--space-24)}
.lms-course-intro{margin-block:var(--space-24)}
.lms-course-outline{margin-top:var(--space-16)}
.lms-course-section{border:1px solid var(--rule);border-radius:var(--r-tile);margin-top:var(--space-12)}
.lms-course-section>summary{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16);cursor:pointer;list-style:none;border-radius:inherit;background:var(--surface-soft)}
.lms-course-section>summary::-webkit-details-marker{display:none}
.lms-course-section>summary strong{min-width:0;overflow-wrap:anywhere}
.lms-course-section>summary .small{flex-shrink:0}
.lms-section-disclosure{display:flex;flex-shrink:0;transition:transform .15s}
.lms-course-section[open] .lms-section-disclosure{transform:rotate(90deg)}
.lms-course-items{list-style:none;margin:0;padding:0 var(--space-16)}
.lms-course-items>li{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16) 0;min-width:0}
.lms-course-items>li+li{border-top:1px solid var(--rule)}
.lms-course-items .f1{min-width:0;overflow-wrap:anywhere}
.lms-course-items .small{flex-shrink:0}
.lms-course-item-icon{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:var(--r-control);background:var(--panel);color:var(--ink-soft)}

.head + #my-course-results{margin-top:var(--space-16)}
.lms-course-section[open]>summary{border-radius:var(--r-tile) var(--r-tile) 0 0}
