@import url('./author-home.css');
@import url('./offer-display.css');
@import url('./reading.css');
@import url('./reading-practice.css');
@import url('/webinars.css');
/* Academy uses the live KUPLYU tokens. Every rule stays inside this module. */
body.academy-ui{margin:0;background:var(--ui-surface);color:var(--ui-ink);font:16px/1.5 var(--ui-font);overflow-x:clip}
.academy-ui *{box-sizing:border-box}
.academy-ui [hidden]{display:none!important}
.academy-ui .wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.academy-ui .academy-header{position:relative;display:flex;align-items:center;gap:20px;padding:12px max(24px,calc((100% - 1160px)/2));border-bottom:1px solid var(--ui-line);background:var(--ui-surface);min-height:80px}
.academy-ui .academy-brand{display:flex;flex:none;align-items:center;width:156px;height:54px;overflow:hidden}
.academy-ui .academy-brand img{width:156px;height:auto;max-width:none}
.academy-ui .academy-section{font-size:18px;font-weight:650}
.academy-ui .academy-account{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}
.academy-ui #academy-cloud{display:flex}
.academy-ui #academy-cloud .service-cloud svg{overflow:visible;transform:translateX(-3px)}
.academy-ui .academy-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px}
/* Match main's content inset; keep course actions on separate, spaced rows. */
.academy-ui .columns>aside.panel>.button{display:flex;width:fit-content;max-width:100%;white-space:normal;text-align:center}
.academy-ui .columns>aside.panel>.button+.button{margin-top:12px}
@media(max-width:700px){.academy-ui .academy-nav{padding-inline:14px}}
.academy-ui .academy-nav a,.academy-ui .format-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid var(--ui-line);border-radius:999px;font-weight:600;color:var(--ui-muted);text-decoration:none;background:var(--ui-surface)}
.academy-ui .academy-nav a[aria-current],.academy-ui .format-tabs .selected{border-color:#ffc28a;background:var(--ui-accent-soft);color:var(--ui-accent-ink)}
.academy-ui main{padding-block:16px 40px;min-height:60vh}
.academy-ui h1,.academy-ui h2,.academy-ui h3{font-family:var(--ui-font);font-weight:700;line-height:1.25;color:var(--ui-ink);overflow-wrap:anywhere}
.academy-ui h1{font-size:clamp(28px,3vw,40px);margin:0 0 16px}
.academy-ui h2{font-size:24px;margin:0 0 16px}
.academy-ui h3{font-size:19px;margin:0 0 8px}
.academy-ui p{margin:0 0 16px;overflow-wrap:anywhere}
.academy-ui a{color:var(--ui-accent-ink)}
.academy-ui .intro{padding:20px 0 28px}
.academy-ui .lead{font-size:18px;color:var(--ui-muted);max-width:760px}
.academy-ui .eyebrow,.academy-ui .muted,.academy-ui small,.academy-ui .breadcrumb{color:var(--ui-muted)}
.academy-ui .eyebrow{font-size:14px;margin-bottom:10px}
.academy-ui small{display:block;font-size:13px}
.academy-ui .section-heading,.academy-ui .row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.academy-ui .section-heading>*,.academy-ui .row>*{min-width:0}
.academy-ui .course-row{display:flex;align-items:center;gap:20px;padding:20px;border:1px solid var(--ui-line);border-radius:16px;margin-bottom:12px;background:var(--ui-surface);text-decoration:none;color:var(--ui-ink)}
.academy-ui .course-row>div{flex:1;min-width:0}
.academy-ui .course-row p{margin:8px 0 0;color:var(--ui-muted)}
.academy-ui .course-row h3{margin:8px 0 0}
.academy-ui .num{color:var(--ui-muted);font-variant-numeric:tabular-nums}
.academy-ui .arrow{font-size:24px}
.academy-ui .chip{display:inline-flex;padding:4px 10px;border-radius:999px;background:var(--ui-accent-soft);color:var(--ui-accent-ink);font-size:13px}
.academy-ui .panel,.academy-ui .empty,.academy-ui .module-editor{padding:24px;border:1px solid var(--ui-line);border-radius:16px;background:var(--ui-surface);margin-bottom:24px}
.academy-ui .empty{padding:32px}
.academy-ui .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 16px;border:1px solid transparent;border-radius:12px;background:var(--ui-accent);color:var(--ui-ink);font:600 15px/1.35 var(--ui-font);text-align:center;text-decoration:none;cursor:pointer;white-space:normal}
.academy-ui .button.quiet{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-muted)}
.academy-ui button:disabled{opacity:.55;cursor:wait}
.academy-ui label{display:grid;gap:8px;margin:0 0 18px;color:var(--ui-ink);font-weight:500}
.academy-ui input,.academy-ui select,.academy-ui textarea{display:block;min-width:0;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);color:var(--ui-ink);font:16px/1.5 var(--ui-font)}
.academy-ui textarea{resize:vertical;min-height:112px}
.academy-ui .lesson-body{min-height:240px}
.academy-ui .check{display:flex;align-items:center;gap:10px}
.academy-ui .check input{width:20px;min-height:20px;height:20px;flex:none;accent-color:var(--ui-accent)}
.academy-ui .form-grid,.academy-ui .columns,.academy-ui .learning{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:32px}
.academy-ui .form-grid{grid-template-columns:1fr 1fr;gap:20px}
.academy-ui .learning{grid-template-columns:250px minmax(0,1fr)}
.academy-ui .learning>*{min-width:0}
.academy-ui .lesson-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}
.academy-ui .lesson-screen-hint{font-size:13px;color:var(--ui-muted)}
.academy-ui .programme-hidden>.learning{grid-template-columns:minmax(0,1fr)}
.academy-ui .programme-hidden #lesson-text{max-width:960px;margin-inline:auto}
.academy-ui .lesson-stage.is-focus-mode{position:fixed;inset:0;z-index:10000;overflow:auto;overscroll-behavior:contain;background:var(--ui-surface,#fff);padding:0 max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom));width:100%;height:100%;height:100dvh}
.academy-ui .lesson-stage.is-focus-mode>.lesson-toolbar{position:sticky;top:0;z-index:2;background:var(--ui-surface,#fff);padding:12px 0;border-bottom:1px solid var(--ui-line)}
.academy-ui .lesson-stage.is-focus-mode>.learning{max-width:1600px;margin-inline:auto}
.academy-ui .lesson-stage.is-focus-mode #media-panel{max-width:calc((100dvh - 200px)*16/9);margin-inline:auto}
.academy-ui #media-panel :is(video,audio){max-width:100%}
.academy-ui .academy-audio-player{width:100%;padding:24px;border:1px solid var(--ui-line);border-radius:20px;background:#f5f6f7;color:var(--ui-ink);margin-block:20px}
.academy-ui .audio-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:20px;font-weight:650}
.academy-ui .audio-heading span{font-size:14px;color:var(--ui-muted);font-weight:400}
.academy-ui .audio-transport{display:flex;align-items:center;gap:12px}
.academy-ui .audio-transport button{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:52px;min-height:52px;border:1px solid #d1d6dc;border-radius:14px;background:white;color:var(--ui-ink);font:600 18px var(--ui-font);cursor:pointer}
.academy-ui .audio-transport .audio-play{width:72px;height:72px;background:#252a30;color:white;font-size:28px;border:0;border-radius:50%}
.academy-ui .audio-transport button:hover{filter:brightness(.94)}
.academy-ui label.audio-speed{margin:0 0 0 auto;gap:4px;font-size:12px;color:var(--ui-muted)}
.academy-ui .audio-speed select{width:84px;min-height:44px;padding:8px;font-size:16px;background:white}
.academy-ui label.audio-seek-label{margin:18px 0 0;font-size:0;gap:0}
.academy-ui .audio-seek-label input{width:100%;height:44px;min-height:44px;margin:0;padding:0;border:0;accent-color:#555f6c;cursor:pointer;background:transparent}
.academy-ui .audio-time{display:flex;justify-content:space-between;font-size:16px;font-variant-numeric:tabular-nums;color:#4d5660}
@media(max-width:700px){.academy-ui .academy-audio-player{padding:18px 14px;border-radius:16px}.academy-ui .audio-transport{gap:8px}.academy-ui .audio-transport .audio-play{width:64px;height:64px}.academy-ui .audio-transport button{min-width:44px;min-height:48px;font-size:16px}.academy-ui .audio-speed select{width:76px}}
@media(max-width:700px){.academy-ui .lesson-stage.is-focus-mode{padding-inline:16px}.academy-ui .lesson-toolbar .button{font-size:14px;flex:1;min-width:140px}.academy-ui .lesson-screen-hint{display:none}}
.academy-ui .student-programme{padding:20px 0;border-top:1px solid var(--ui-line)}
.academy-ui .student-grant{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;flex-wrap:wrap}
.academy-ui .student-grant p{flex:1;min-width:180px;margin:0}
.academy-ui :is(.course-row,.button):hover{background:#f1f3f5;border-color:#c4cad1}
.academy-ui :is(a,button,input,select,textarea):focus-visible{outline:2px solid #596b80;outline-offset:3px}
.academy-ui .curriculum{align-self:start;border:1px solid var(--ui-line);border-radius:16px;padding:20px}
.academy-ui .curriculum a{display:block;padding:10px;border-radius:8px;color:var(--ui-muted);text-decoration:none}
.academy-ui .curriculum a.selected{background:var(--ui-accent-soft);color:var(--ui-accent-ink)}
.academy-ui .prose{max-width:780px;overflow-wrap:anywhere;line-height:1.75}
.academy-ui .prose p{margin-bottom:20px}
.academy-ui .module{margin-block:24px}
.academy-ui .lesson-link{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ui-line);padding:14px 0;text-decoration:none}
.academy-ui .lesson-editor{border-top:1px solid var(--ui-line);padding-top:20px;margin-top:20px}
.academy-ui .sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--ui-line);background:var(--ui-surface);margin-bottom:24px}
.academy-ui .notice,.academy-ui .local{padding:12px 16px;background:var(--ui-accent-soft);border-radius:12px;color:var(--ui-accent-ink);font-size:14px}
.academy-ui .breadcrumb{margin-bottom:20px;font-size:14px}
.academy-ui .format-tabs{display:flex;gap:8px;margin:20px 0}
.academy-ui hr{border:0;border-top:1px solid var(--ui-line);margin:24px 0}
.academy-ui details{margin-block:16px}
.academy-ui summary{cursor:pointer;min-height:44px;padding-block:10px}
.academy-ui footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px;border-top:1px solid var(--ui-line);font-size:14px;color:var(--ui-muted)}
.academy-ui #toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:1000;width:max-content;max-width:calc(100vw - 32px);padding:14px 18px;background:var(--ui-ink);color:white;border-radius:12px;box-shadow:0 8px 32px #0002}
.academy-ui #toast.error{background:#a32323}
.academy-ui .reading-bookmark{display:grid;justify-items:start;gap:6px;margin:8px 0 20px;max-width:100%}
.academy-ui .reading-bookmark-status{min-height:24px;font-size:14px;line-height:1.5;color:#236441;overflow-wrap:anywhere}
.academy-ui .reading-bookmark-status.error{color:#a32323}
.academy-ui .reading-bookmark button[aria-current=location]{color:#236441;border-color:#a8d2b4;background:#f0faf3}
.academy-ui :focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}
.academy-ui :focus:not(:focus-visible){outline:none}
@media(hover:hover){.academy-ui a.course-row:hover{background:var(--ui-accent-soft);border-color:#ffc28a}.academy-ui .button.quiet:hover{background:var(--ui-accent-soft)}}
@media(max-width:700px){.academy-ui .wrap{width:calc(100% - 32px)}.academy-ui .academy-header{padding:8px 16px;gap:12px;min-height:68px}.academy-ui .academy-brand{width:124px;height:46px}.academy-ui .academy-brand img{width:124px}.academy-ui .academy-section{display:none}.academy-ui .academy-account{gap:8px}.academy-ui .academy-nav{gap:8px;padding-block:12px}.academy-ui .academy-nav a{font-size:14px;padding:8px 12px}.academy-ui .columns,.academy-ui .learning,.academy-ui .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.academy-ui .section-heading,.academy-ui .row{align-items:flex-start;flex-direction:column}.academy-ui .row>label{width:100%}.academy-ui .panel,.academy-ui .empty,.academy-ui .module-editor{padding:16px}.academy-ui .course-row{gap:12px;padding:16px}.academy-ui .num{display:none}.academy-ui .sticky-actions{gap:8px}.academy-ui .sticky-actions .button{flex:1}.academy-ui .sticky-actions .muted{flex-basis:100%;font-size:13px}.academy-ui .curriculum{padding:16px}.academy-ui .intro{padding-top:8px}.academy-ui h2{font-size:22px}}

/* The mini-course has one section: its repeated heading is not part of the lesson list. */
.academy-ui .prose > .module:first-of-type:last-of-type:has(> .lesson-link[href^="/academy/courses/mini-kurs/lessons/"]) > h3{display:none}
.academy-ui .academy-video{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:12px;background:var(--ui-ink);margin-block:12px}
.academy-ui .academy-video.academy-video-fullscreen{position:fixed;inset:0;z-index:9999;width:100%;height:100%;aspect-ratio:auto;margin:0;border-radius:0}
.academy-ui .assessment form{margin-block:24px;padding:24px;border:1px solid #e1e3e5;border-radius:18px;background:#fff}
.academy-ui .assessment fieldset{border:0;padding:0;min-width:0;margin:0 0 16px}
.academy-ui .assessment legend{font-weight:650;margin-bottom:16px;line-height:1.5;overflow-wrap:anywhere}
.academy-ui .assessment .check{display:flex;align-items:flex-start;gap:12px;padding:12px;margin:4px 0;border-radius:10px;min-height:44px;cursor:pointer;line-height:1.5}
.academy-ui .assessment .check:hover{background:#f4f5f6}
.academy-ui .assessment .check:has(input:checked){background:#eef0f2}
.academy-ui .assessment input[type=radio]{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#4d5660}
.academy-ui .assessment [role=status]{line-height:1.6;overflow-wrap:anywhere}
.academy-ui .assessment meter{width:100%;height:24px;display:block}
.academy-ui .assessment meter::-webkit-meter-optimum-value{background:#177346}
.academy-ui .assessment meter::-webkit-meter-suboptimum-value{background:#ae761f}
.academy-ui .assessment meter::-webkit-meter-even-less-good-value{background:#a42d2d}
@media(max-width:600px){.academy-ui .assessment form{padding:18px 14px}.academy-ui .assessment .button{width:100%}}
.knowledge-summary{margin:20px 0;padding:20px;border-radius:16px;background:#f5f7f6;max-width:640px}
.knowledge-summary h3{margin-top:0}.knowledge-summary meter{display:block;width:100%;height:24px}
.knowledge-summary small{display:block;line-height:1.6;margin-top:12px;color:#606970}
.knowledge-summary .button{margin:8px 0}
/* Management uses the compact, card-based client workspace vocabulary. */
.academy-ui main:has(.student-list)>.intro{padding:0 0 8px}.academy-ui main:has(.student-list)>.intro h1{margin:12px 0;font-size:32px}.academy-ui main:has(.student-list)>.intro .lead{font-size:15px;max-width:none;margin:8px 0 16px}
.academy-ui .student-add{padding:10px 18px;margin:0 0 16px}.academy-ui .student-filters{margin-bottom:18px}.academy-ui .student-list>h2{margin:16px 0 6px}.academy-ui .student-list>.muted{margin:6px 0 12px}
.academy-ui .manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.academy-ui .manage-tile{position:relative;display:grid;gap:6px;padding:20px 42px 20px 20px;border:1px solid #e4e7ed;border-radius:12px;background:#fff;text-decoration:none;color:var(--ui-ink)}
.academy-ui .manage-tile span{font-size:14px;color:var(--ui-muted)}
.academy-ui .manage-tile b{position:absolute;right:16px;top:20px;color:var(--ui-accent-ink)}
.academy-ui .manage-tile:hover{border-color:var(--ui-accent)}
.academy-ui .manage-create>form{border:0;padding:12px 0;margin:0;box-shadow:none}
.academy-ui .student-filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(160px,2fr) 110px auto auto;gap:12px;align-items:end}
.academy-ui .student-filters label{margin:0;min-width:0}
.academy-ui .student-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(250px,1.6fr);align-items:start;gap:16px;padding:18px 20px;margin:10px 0;border-radius:12px;overflow-wrap:anywhere}
.academy-ui .student-card>h3,.academy-ui .student-card>p,.academy-ui .student-card>details{margin:0;font-size:15px}
.academy-ui .student-card>h3{padding-top:10px}.academy-ui .student-card>p{padding-top:8px}
.academy-ui .student-card small{font-size:12px;color:var(--ui-muted)}
.academy-ui .student-card .student-programme{border-top:1px solid var(--ui-line);padding-top:12px;margin-top:12px}
.academy-ui .student-card .student-programme h3{font-size:16px}
.academy-ui .student-add summary,.academy-ui .manage-create summary{font-weight:600}
.academy-ui [data-live-player] iframe,.academy-ui [data-recording-player] iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:12px;background:#172125}
@media(max-width:1000px){.academy-ui .student-filters{grid-template-columns:2fr 2fr 1fr}.academy-ui .student-card{grid-template-columns:1fr 1fr}.academy-ui .student-card>details{grid-column:1/-1}}
@media(max-width:700px){
 .academy-ui .academy-nav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.academy-ui .academy-nav a{flex:none;min-height:44px}
 .academy-ui .manage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.academy-ui .manage-tile{padding:16px 24px 16px 12px}.academy-ui .manage-tile b{right:8px;top:16px}.academy-ui .manage-tile strong{font-size:15px}.academy-ui .manage-tile span{font-size:12px}
 .academy-ui .student-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.academy-ui .student-filters>label:first-child{grid-column:1/-1}.academy-ui .student-filters .button{width:100%;padding:10px}
 .academy-ui .student-card{display:block;padding:16px}.academy-ui .student-card>h3{padding:0;font-size:17px}.academy-ui .student-card>p{margin-bottom:8px}.academy-ui .student-card>details{border-top:1px solid var(--ui-line);padding-top:6px}.academy-ui .student-card .button{width:100%}
 .academy-ui [data-live-webinar]{padding:14px;min-width:0}.academy-ui [data-live-webinar] .button{width:100%;white-space:normal;min-height:48px}.academy-ui .webinar-description{overflow-wrap:anywhere}
 .academy-ui .webinar-grid{grid-template-columns:minmax(0,1fr)}.academy-ui .webinar-card{padding:18px;border-radius:12px;min-width:0}.academy-ui .webinar-clock{padding:14px}.academy-ui .webinar-clock strong{font-size:clamp(22px,7vw,38px);overflow-wrap:anywhere}.academy-ui .webinar-card .button{width:100%;white-space:normal}
}
.academy-ui [data-author-studio]>.button,.academy-ui [data-video-picker]>.button{margin:0 8px 8px 0}
.academy-ui [data-author-status]>section{padding-block:12px}
.academy-ui [data-author-studio] .check{align-items:flex-start;margin-block:18px}
.academy-ui [data-author-studio] textarea{margin-bottom:12px}
.academy-ui [data-video-picker]{border-top:1px solid var(--ui-line);margin-top:18px;padding-top:18px}
.academy-ui [data-video-picker] input{margin-bottom:10px}
/* Compact authoring outline, scoped away from the student reading/player UI. */
.academy-ui #modules-editor .module-editor[data-compact]{padding:0;border:1px solid #d3d9df;border-left:4px solid #bd6500;margin:0 0 16px;overflow:visible;background:#f7f8fa}
.academy-ui #modules-editor .lesson-editor[data-compact]{padding:0;margin:10px 0 0;border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-surface);overflow:visible}
.academy-ui .editor-card-head{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none;min-width:0}
.academy-ui .editor-card-head::-webkit-details-marker{display:none}
.academy-ui .editor-card-name{display:grid;gap:3px;flex:1;min-width:0}
.academy-ui .editor-card-number{font-size:12px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#995000}
.academy-ui .editor-card-title{font-size:17px;line-height:1.4;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.academy-ui .editor-card-meta{font-size:13px;color:var(--ui-muted)}
.academy-ui .editor-card-tools{display:flex;gap:4px;flex:none}
.academy-ui .editor-mini{font:600 14px/1.2 var(--ui-font);min-width:40px;min-height:40px;border:1px solid var(--ui-line);border-radius:10px;padding:8px 10px;color:var(--ui-ink);background:var(--ui-surface);cursor:pointer}
.academy-ui .editor-mini:disabled{opacity:.35;cursor:default}
.academy-ui .editor-drag-handle{cursor:grab;font-size:23px;touch-action:pan-y;user-select:none;-webkit-user-drag:element;display:inline-flex;align-items:center;justify-content:center}
.academy-ui .editor-drag-handle:active{cursor:grabbing}
.academy-ui .editor-chevron{font-size:22px;color:var(--ui-muted);transition:transform .15s}
.academy-ui .editor-disclosure[open]>.editor-card-head>.editor-chevron{transform:rotate(180deg)}
.academy-ui .editor-disclosure[open]>.editor-card-head{border-bottom:1px solid var(--ui-line)}
.academy-ui .editor-card-body{padding:16px;min-width:0}
.academy-ui .editor-card-body>.row{margin-bottom:12px}
.academy-ui .editor-fold{margin:12px 0;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-surface);padding:12px}
.academy-ui .editor-fold>summary{cursor:pointer;font-size:15px;overflow-wrap:anywhere}
.academy-ui .editor-excerpt{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ui-muted);font-size:13px;margin-top:4px;max-width:100%}
.academy-ui .editor-fold[open]>summary{margin-bottom:14px}
.academy-ui .editor-fold[open]>summary .editor-excerpt{display:none}
.academy-ui .editor-fold textarea{min-height:130px;max-width:100%}
.academy-ui .editor-fold textarea.lesson-body{min-height:340px}
.academy-ui .editor-fold [data-author-studio]{margin:0;padding:0;border:0}
.academy-ui .editor-outline-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 18px}
.academy-ui .editor-outline-toolbar p{flex:1 1 300px;margin:0;font-size:14px}
.academy-ui .editor-dragging{opacity:.45}
.academy-ui #modules-editor .editor-drop-before{box-shadow:0 -4px 0 #ec8700}
.academy-ui #modules-editor .editor-drop-after{box-shadow:0 4px 0 #ec8700}
@media(max-width:700px){.academy-ui .editor-card-head{flex-wrap:wrap;padding:12px;gap:8px}.academy-ui .editor-card-name{flex-basis:calc(100% - 32px)}.academy-ui .editor-card-tools{order:3;width:100%;justify-content:flex-end}.academy-ui .editor-card-tools:empty{display:none}.academy-ui .editor-mini{min-width:44px;min-height:44px}.academy-ui .editor-card-body{padding:12px}.academy-ui .editor-card-title{font-size:16px}.academy-ui .editor-fold{padding:10px}.academy-ui .editor-drag-handle{display:none}}
/* Compact public descriptions and author formatting controls. */
.compact-description{margin:1rem 0;min-width:0;overflow-wrap:anywhere}
.compact-description>summary{cursor:pointer;list-style:none;font-weight:400}
.compact-description>summary::-webkit-details-marker{display:none}
.description-excerpt{display:block;white-space:pre-line;color:var(--muted,#626a70);line-height:1.65}
.description-more,.description-less{display:block;margin-top:.5rem;color:#984700;font-weight:600;font-size:.9rem}
.description-less,.compact-description[open] .description-excerpt,.compact-description[open] .description-more{display:none}
.compact-description[open] .description-less{display:block}
.description-full{white-space:normal;overflow-wrap:anywhere}
.lesson-text-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.lesson-text-toolbar button{min-height:44px;padding:8px 12px;border:1px solid #d8dcdf;background:white;border-radius:10px;color:#30383c;cursor:pointer;font:inherit}
.lesson-text-toolbar button:focus-visible,.compact-description>summary:focus-visible{outline:2px solid #d87500;outline-offset:3px}
.lesson-text-toolbar button:disabled{opacity:.5;cursor:wait}
.lesson-visual-editor{min-height:260px;max-height:70vh;overflow:auto;border:1px solid #d8dcdf;border-radius:14px;padding:20px;background:#fff;line-height:1.7;font-weight:400;overflow-wrap:anywhere;cursor:text}
.lesson-visual-editor:focus{outline:2px solid #d87500;outline-offset:2px}
.lesson-visual-editor p{margin:0 0 18px}.lesson-visual-editor h2{font-size:26px;margin:24px 0 16px}.lesson-visual-editor h3{font-size:22px}
.lesson-visual-editor figure{margin:20px 0;padding:12px;border:1px solid #e3e4df;border-radius:12px;background:#fafaf8}
.lesson-visual-editor figure img{display:block;max-width:100%;max-height:480px;height:auto;margin:auto;object-fit:contain}
.lesson-visual-editor figcaption{min-height:30px;padding:8px;font-size:14px;color:#626a70;text-align:center}
.lesson-visual-editor figure button{font:inherit;font-size:13px;padding:6px 10px;min-height:36px}
.lesson-visual-editor .reading-size-large{font-size:1.25em}.lesson-visual-editor .reading-size-small{font-size:.85em}
.lesson-preserved-block{padding:18px;border-left:4px solid #cb7800;background:#fff4e4;margin:18px 0;white-space:pre-line}
[data-field=lesson-body][hidden]{display:none!important}
@media(max-width:600px){.lesson-visual-editor{padding:14px;min-height:230px;font-size:16px}}

/* Lesson-only learning workspace. No catalogue, offer or author-editor overrides. */
.academy-lesson .learner-header{height:56px;padding:8px max(16px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ui-line);background:white}
.academy-lesson .learner-header a{font-size:14px;text-decoration:none;min-height:40px;display:flex;align-items:center}
.academy-lesson .learner-header span{font-size:14px;font-weight:600;color:var(--ui-muted)}
.academy-lesson main.wrap{width:min(1240px,calc(100% - 40px));padding-top:14px}
.academy-lesson>footer{display:none}
.academy-lesson .lesson-toolbar{margin-bottom:18px;gap:8px}
.academy-lesson .lesson-course-name{flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--ui-muted);font-size:14px;text-decoration:none}
.academy-lesson .lesson-toolbar .button{font-size:14px;padding:8px 12px;flex:none;min-width:0}
.academy-lesson .learning{grid-template-columns:280px minmax(0,1fr);grid-template-areas:'programme content';gap:28px;align-items:start}
.academy-lesson .learning>.lesson-content{grid-area:content;min-width:0}
.academy-lesson .learning>.curriculum{grid-area:programme;position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;padding:16px;background:#f8f9fa}
.academy-lesson .programme-hidden>.learning{grid-template-columns:minmax(0,1fr);grid-template-areas:'content'}
.academy-lesson .lesson-heading{display:block;padding:0;border:0;background:transparent;margin:0}
.academy-lesson .lesson-heading .eyebrow{font-size:12px;margin:0 0 6px}
.academy-lesson .lesson-heading h1{font-size:clamp(23px,2.4vw,32px);line-height:1.25;margin:0 0 16px}
.academy-lesson .format-tabs{display:flex;gap:6px;padding:4px;background:#f1f3f5;border-radius:14px;margin:0 0 16px}
.academy-lesson .format-tabs button{flex:1;border:1px solid transparent;border-radius:10px;font-size:15px;min-height:44px;background:transparent;cursor:pointer}
.academy-lesson .format-tabs button.selected{background:#fff3e5;color:#9a4500;border-color:#ffc28a}
.academy-lesson .format-tabs button:disabled{opacity:.5;cursor:default}
.academy-lesson #media-panel[data-media-kind=video]{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#172529;display:grid;place-items:center;color:white}
/* The panel owns the ratio. Legacy iframe margins must not enlarge its grid
   track and push the provider's bottom controls outside the clipping box. */
.academy-lesson #media-panel[data-media-kind=video] :is(video,iframe){display:block;width:100%;height:100%;min-width:0;min-height:0;margin:0;aspect-ratio:auto;border:0;border-radius:0}
.academy-lesson .lesson-media-loading,.academy-lesson #media-panel .media-status{padding:24px;text-align:center;color:inherit;margin:0}
.academy-lesson #media-panel .media-retry{display:grid;gap:12px;justify-items:center;padding:24px;text-align:center}
.academy-lesson #media-panel .media-retry p{margin:0}
.academy-lesson .academy-audio-player{margin:0}
.academy-lesson #lesson-text{max-width:780px;margin:0 auto;font-size:18px;line-height:1.8}
/* Both reading modes use the space released by the curriculum. Keep the
   normal two-column reading measure unchanged. */
.academy-ui .lesson-stage:is(.programme-hidden,.is-focus-mode,:fullscreen) #lesson-text,
.academy-ui .lesson-stage:is(.programme-hidden,.is-focus-mode,:fullscreen) #lesson-text .reading-content{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
.academy-lesson .lesson-programme-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.academy-lesson .lesson-programme-head h2{font-size:19px;margin:0}
.academy-lesson [data-close-curriculum]{display:none}
.academy-lesson .lesson-module{border-top:1px solid var(--ui-line);padding:10px 0}
.academy-lesson .lesson-module>summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.4;padding:8px 0}
.academy-lesson .curriculum a{display:flex;gap:10px;align-items:start;font-size:14px;padding:12px 8px;margin-top:4px;min-height:44px}
.academy-lesson .lesson-number{color:var(--ui-muted);font-variant-numeric:tabular-nums;flex:0 0 22px}
.academy-lesson .lesson-current{font-size:10px;margin-left:auto;color:#984700}
.academy-lesson .lesson-supplement{border:1px solid var(--ui-line);border-radius:12px;margin:16px 0;padding:14px 16px}
.academy-lesson .lesson-supplement>summary{font-weight:600;cursor:pointer;min-height:24px}
.academy-lesson .lesson-supplement[open]>summary{margin-bottom:16px}
.academy-lesson .lesson-completion{padding:16px 0}.academy-lesson .lesson-completion label{margin:0}
.academy-lesson .lesson-completion p:empty{display:none}
.academy-lesson .lesson-pager{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-top:1px solid var(--ui-line);background:white}
.academy-lesson .lesson-pager a{max-width:48%;text-align:left;min-height:60px;justify-content:flex-start}
.academy-lesson .lesson-pager a.lesson-next{margin-left:auto}
.academy-lesson .lesson-pager small{font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
.academy-lesson .is-focus-mode .learning{grid-template-areas:'content';grid-template-columns:minmax(0,1fr)}
.academy-lesson .lesson-stage.is-focus-mode #media-panel{width:100%}
.academy-ui .learning-results{margin-top:20px}.academy-ui .learning-results>summary{cursor:pointer;color:var(--ui-muted)}
@media(max-width:700px){
 .academy-lesson .learner-header{height:52px;padding-inline:14px}.academy-lesson .learner-header span{font-size:11px;text-align:right;max-width:120px;line-height:1.3}
 .academy-lesson main.wrap{width:calc(100% - 28px);padding-top:10px}
 .academy-lesson .lesson-toolbar{gap:6px;margin-bottom:14px}.academy-lesson .lesson-course-name{flex-basis:100%;font-size:12px}.academy-lesson .lesson-toolbar .button{flex:1;min-height:44px;font-size:13px}
 .academy-lesson .learning{display:block}.academy-lesson .learning>.curriculum{display:none}
 .academy-lesson .programme-open .learning>.curriculum{display:block;position:fixed;inset:0;z-index:11000;width:100%;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px max(28px,env(safe-area-inset-bottom));background:white}
 .academy-lesson .lesson-programme-head{position:sticky;top:-16px;background:white;padding-block:12px;z-index:1}
 .academy-lesson [data-close-curriculum]{display:inline-flex;min-width:44px;font-size:24px}
 .academy-lesson .lesson-heading h1{font-size:23px;margin-bottom:14px}.academy-lesson .lesson-heading .eyebrow{font-size:11px}
 .academy-lesson .format-tabs{margin-bottom:12px}.academy-lesson .format-tabs button{padding:8px;font-size:14px}
 .academy-lesson #media-panel[data-media-kind=video]{border-radius:12px}
 .academy-lesson #lesson-text{font-size:17px;line-height:1.75}
 .academy-lesson .lesson-pager{position:sticky;bottom:0;z-index:3;margin-top:12px;padding:10px 0 max(10px,env(safe-area-inset-bottom));gap:8px}
 .academy-lesson .lesson-pager a{flex:1;max-width:100%;font-size:13px;min-height:52px;padding:10px}.academy-lesson .lesson-pager small{max-width:140px}
}
@media(max-width:380px){.academy-ui .audio-transport{flex-wrap:wrap}.academy-ui .audio-speed{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between}}
