:root{--ldm-navy:#071b3b;--ldm-blue:#2370b2;--ldm-yellow:#f9b821;--ldm-green:#65ad4c;--ldm-text:#647286}
.ldm-wrap{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:64px 0;color:var(--ldm-navy)}
.ldm-wrap *{box-sizing:border-box}
.ldm-card{background:#fff;border:1px solid rgba(7,27,59,.08);border-radius:28px;padding:30px;box-shadow:0 20px 55px rgba(7,27,59,.10)}
.ldm-small{max-width:650px;margin:0 auto}
.ldm-kicker{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--ldm-blue);margin-bottom:8px}
.ldm-wrap h1{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin:0 0 14px;font-weight:900}
.ldm-wrap h2{font-size:28px;margin:0 0 20px;font-weight:900}.ldm-wrap h3{font-weight:900}
.ldm-lead,.ldm-panel-head p{font-size:17px;line-height:1.65;color:var(--ldm-text)}
.ldm-form{display:grid;gap:16px;margin-top:22px}.ldm-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ldm-form label span,.ldm-slot label span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}
.ldm-form input,.ldm-form select,#loginform input[type=text],#loginform input[type=password],.ldm-slot select{width:100%;min-height:48px;border:1px solid rgba(7,27,59,.13);border-radius:14px;background:#fff;padding:10px 12px}
.ldm-btn,#wp-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:15px;padding:11px 18px;font-weight:900;text-decoration:none;cursor:pointer}
.ldm-btn.yellow,#wp-submit{background:var(--ldm-yellow);color:var(--ldm-navy)}.ldm-btn.blue{background:var(--ldm-blue);color:#fff}.ldm-btn.ghost{background:#fff;border:1px solid rgba(7,27,59,.1);color:var(--ldm-navy)}
.ldm-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.ldm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.ldm-stats>div{background:var(--ldm-navy);color:#fff;border-radius:22px;padding:22px}.ldm-stats>div:nth-child(2){background:var(--ldm-blue)}.ldm-stats>div:nth-child(3){background:var(--ldm-green)}.ldm-stats>div:nth-child(4){background:var(--ldm-yellow);color:var(--ldm-navy)}
.ldm-stats b{display:block;font-size:28px;line-height:1;font-weight:900}.ldm-stats span{display:block;margin-top:7px;font-size:12px;font-weight:800;opacity:.78}
.ldm-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.ldm-section-gap{margin-top:22px}
.ldm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.ldm-pill{display:inline-flex;padding:8px 11px;border-radius:999px;background:#fff4cf;color:#765100;font-size:11px;font-weight:900}
.ldm-children{display:grid;gap:12px}.ldm-child{display:flex;gap:14px;align-items:center;padding:15px;border-radius:18px;background:#f7f9fb}
.ldm-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--ldm-yellow);font-weight:900;font-size:20px;flex:0 0 48px}.ldm-child-main{flex:1}.ldm-child h3{margin:0}.ldm-child p{margin:4px 0 0;color:var(--ldm-text);font-size:13px}.ldm-balance{text-align:right}.ldm-balance strong{display:block}.ldm-balance span{font-size:10px;text-transform:uppercase;color:#7b8797;font-weight:800}
.ldm-notice{padding:14px 16px;border-radius:15px;margin-bottom:20px;font-weight:800}.ldm-notice.success{background:#edf8e8;color:#347327}.ldm-notice.error{background:#fff0ef;color:#a32828}
.ldm-bookings{display:grid;gap:12px}.ldm-booking{display:flex;align-items:center;gap:16px;padding:14px;border-radius:18px;background:#f7f9fb}.ldm-date-box{width:58px;height:58px;border-radius:16px;background:var(--ldm-blue);color:#fff;display:grid;place-items:center;align-content:center}.ldm-date-box strong{font-size:20px;line-height:1}.ldm-date-box span{font-size:10px;text-transform:uppercase}.ldm-booking-main{flex:1}.ldm-booking-main h3{margin:0}.ldm-booking-main p{margin:4px 0 0;color:var(--ldm-text);font-size:13px}.ldm-text-btn{border:0;background:none;color:#a62b2b;font-weight:800;cursor:pointer}
.ldm-slot-list{display:grid;gap:10px;margin-top:20px}.ldm-slot{display:grid;grid-template-columns:150px 1fr 180px 230px 110px;align-items:end;gap:12px;padding:14px;border:1px solid rgba(7,27,59,.07);border-radius:18px;background:#fbfcfd}.ldm-slot-time strong,.ldm-slot-time span,.ldm-slot-info strong,.ldm-slot-info span{display:block}.ldm-slot-time strong{font-size:20px}.ldm-slot-time span,.ldm-slot-info span{font-size:11px;color:#788598;margin-top:3px}
.ldm-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ldm-package{padding:22px;border:1px solid rgba(7,27,59,.08);border-radius:22px;background:#fbfcfd}.ldm-package-top{display:flex;justify-content:space-between;gap:15px}.ldm-package-top h3{margin:0;font-size:21px}.ldm-status{height:max-content;padding:7px 9px;border-radius:999px;background:#edf8e8;color:#3e7f31;font-size:10px;font-weight:900;text-transform:uppercase}
.ldm-package-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.ldm-package-numbers>div{padding:11px;border-radius:14px;background:#fff}.ldm-package-numbers strong{display:block;font-size:15px}.ldm-package-numbers span{font-size:10px;color:#788598;font-weight:800}.ldm-progress{height:8px;border-radius:999px;background:#e7edf2;overflow:hidden;margin-top:18px}.ldm-progress span{display:block;height:100%;border-radius:inherit;background:var(--ldm-blue)}
.ldm-history{display:grid}.ldm-history-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid rgba(7,27,59,.07)}.ldm-history-row:last-child{border-bottom:0}.ldm-history-row strong,.ldm-history-row span{display:block}.ldm-history-row span{margin-top:3px;color:#7b8796;font-size:11px}.ldm-history-value{font-weight:900;color:var(--ldm-blue)}
.ldm-empty,.ldm-empty-wallet{text-align:center;padding:30px 15px}.ldm-empty{font-size:42px}.ldm-empty h3,.ldm-empty-wallet h3{font-size:20px;margin:6px 0}.ldm-empty p,.ldm-empty-wallet p{font-size:14px;color:var(--ldm-text);line-height:1.6}.ldm-empty-wallet>div{font-size:44px}
#loginform{display:grid;gap:14px}#loginform p{margin:0}#loginform label{display:block;font-size:13px;font-weight:800;margin-bottom:6px}
@media(max-width:1050px){.ldm-slot{grid-template-columns:120px 1fr 1fr}.ldm-slot label:nth-of-type(2){grid-column:2}.ldm-slot .ldm-btn{grid-column:3}}
@media(max-width:950px){.ldm-stats{grid-template-columns:1fr 1fr}.ldm-packages{grid-template-columns:1fr}}
@media(max-width:850px){.ldm-columns{grid-template-columns:1fr}.ldm-slot{grid-template-columns:1fr 1fr}.ldm-slot .ldm-btn{grid-column:auto}}
@media(max-width:650px){.ldm-wrap{width:min(100% - 28px,1440px);padding:42px 0}.ldm-card{padding:22px}.ldm-grid2,.ldm-stats,.ldm-package-numbers,.ldm-slot{grid-template-columns:1fr}.ldm-panel-head,.ldm-section-head,.ldm-booking{display:block}.ldm-date-box{margin-bottom:10px}.ldm-booking form{margin-top:10px}.ldm-panel-head .ldm-btn{margin-top:12px}.ldm-section-head .ldm-pill{margin-bottom:16px}}

/* v0.4.0 — panel nauczyciela */
.ldm-form textarea{width:100%;border:1px solid rgba(7,27,59,.13);border-radius:14px;background:#fff;padding:12px 14px;resize:vertical;font:inherit;color:inherit}
.ldm-form textarea:focus,.ldm-form input:focus,.ldm-form select:focus,.ldm-slot select:focus{outline:none;border-color:#2370b2;box-shadow:0 0 0 3px rgba(35,112,178,.10)}
.ldm-teacher-stats>div:nth-child(1){background:#071b3b}.ldm-teacher-stats>div:nth-child(2){background:#2370b2}.ldm-teacher-stats>div:nth-child(3){background:#65ad4c}.ldm-teacher-stats>div:nth-child(4){background:#f9b821;color:#071b3b}
.ldm-teacher-lessons{display:grid;gap:12px}.ldm-teacher-lesson{display:grid;grid-template-columns:100px 1fr auto auto;align-items:center;gap:16px;padding:16px;border-radius:19px;background:#f7f9fb;border:1px solid rgba(7,27,59,.05)}.ldm-teacher-lesson.is-completed{opacity:.78}.ldm-teacher-time strong,.ldm-teacher-time span{display:block}.ldm-teacher-time strong{font-size:22px;line-height:1}.ldm-teacher-time span{margin-top:5px;font-size:11px;color:#788598;font-weight:800}.ldm-teacher-lesson-main h3{margin:0;font-size:18px}.ldm-teacher-lesson-main p{margin:4px 0 0;color:#647286;font-size:12px}
.ldm-teacher-upcoming{display:grid;gap:10px}.ldm-teacher-upcoming-row{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;padding:13px;border-radius:17px;background:#f8fafc;text-decoration:none;color:#071b3b}.ldm-teacher-upcoming-row>div:nth-child(2) strong,.ldm-teacher-upcoming-row>div:nth-child(2) span{display:block}.ldm-teacher-upcoming-row>div:nth-child(2) span{margin-top:4px;font-size:12px;color:#748195}.ldm-teacher-arrow{font-size:22px;font-weight:900;color:#2370b2}
.ldm-classroom-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.ldm-back-link{text-decoration:none;font-weight:900;color:#2370b2}.ldm-classroom-hero{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:22px;padding:30px;border-radius:30px;background:linear-gradient(135deg,#fff5d4,#eaf5ff);border:1px solid rgba(7,27,59,.05)}.ldm-classroom-hero h1{margin-bottom:10px}.ldm-classroom-hero p{margin:0;color:#647286;font-weight:700}.ldm-video-placeholder{display:grid;place-items:center;text-align:center;min-height:190px;border-radius:22px;background:#071b3b;color:#fff;padding:22px}.ldm-video-placeholder>div{font-size:42px}.ldm-video-placeholder strong{font-size:18px;margin-top:6px}.ldm-video-placeholder span{margin-top:5px;font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}
.ldm-classroom-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:22px}.ldm-info-list{display:grid}.ldm-info-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(7,27,59,.07)}.ldm-info-list>div:last-child{border-bottom:0}.ldm-info-list span{color:#778496;font-size:12px}.ldm-info-list strong{text-align:right;font-size:13px}.ldm-report-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.ldm-form-help{font-size:11px;color:#7c8998;line-height:1.5;margin:0}
.ldm-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ldm-feedback-card{padding:18px;border-radius:18px;background:#f8fafc;border:1px solid rgba(7,27,59,.06)}.ldm-feedback-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.ldm-feedback-head strong,.ldm-feedback-head span{display:block}.ldm-feedback-head>div>span{margin-top:4px;font-size:11px;color:#7a8796}.ldm-feedback-card p{margin:12px 0 0;color:#5d6b7d;line-height:1.6;font-size:13px}.ldm-feedback-card p b{color:#071b3b}
@media(max-width:900px){.ldm-classroom-hero,.ldm-classroom-grid{grid-template-columns:1fr}.ldm-video-placeholder{min-height:150px}.ldm-feedback-list{grid-template-columns:1fr}.ldm-teacher-lesson{grid-template-columns:90px 1fr auto}.ldm-teacher-lesson .ldm-btn{grid-column:2/-1;width:max-content}}
@media(max-width:650px){.ldm-classroom-top{align-items:flex-start}.ldm-teacher-lesson{grid-template-columns:1fr}.ldm-teacher-lesson .ldm-btn{grid-column:auto;width:100%}.ldm-classroom-hero{padding:22px}.ldm-info-list>div{display:block}.ldm-info-list strong{display:block;text-align:left;margin-top:5px}.ldm-report-actions{display:grid}.ldm-feedback-head{display:block}.ldm-feedback-head .ldm-status{display:inline-flex;margin-top:8px}}


/* v0.5.0 — wideolekcje */
.ldm-booking-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ldm-booking-actions form{margin:0}.ldm-video-join-btn{min-height:40px;padding:8px 13px;border-radius:12px;font-size:12px}.ldm-video-ready .ldm-btn{margin-top:14px}.ldm-video-finished-label{display:block;margin-top:10px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;color:rgba(255,255,255,.72)}
.ldm-video-page{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:22px 0 34px;color:#071b3b}.ldm-video-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:12px;background:#fff;border:1px solid rgba(7,27,59,.08);border-radius:18px;box-shadow:0 10px 30px rgba(7,27,59,.07)}.ldm-video-topbar>div:first-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ldm-video-topbar strong{font-size:14px}.ldm-video-topbar span{font-size:11px;color:#748195;font-weight:700}.ldm-video-badge{padding:9px 12px;border-radius:999px;background:#071b3b;color:#fff;font-size:11px;font-weight:900;white-space:nowrap}.ldm-video-test-note{padding:10px 14px;margin-bottom:12px;border-radius:14px;background:#fff4cf;color:#745100;font-size:12px;font-weight:800}.ldm-jitsi-room{height:min(72vh,780px);min-height:520px;border-radius:24px;overflow:hidden;background:#071b3b;box-shadow:0 24px 60px rgba(7,27,59,.18)}.ldm-jitsi-room iframe{display:block;width:100%!important;height:100%!important;border:0!important}.ldm-video-loading,.ldm-video-error{height:100%;display:grid;place-items:center;align-content:center;gap:14px;padding:30px;text-align:center;color:#fff}.ldm-video-error a{color:#f9b821;font-weight:900}.ldm-video-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px;padding:12px 2px}.ldm-video-footer span{font-size:11px;color:#748195}.ldm-video-footer .ldm-btn{min-height:40px;padding:8px 13px;font-size:11px}
@media(max-width:850px){.ldm-video-topbar{align-items:flex-start}.ldm-video-topbar>div:first-child{display:grid;gap:4px}.ldm-jitsi-room{height:70vh;min-height:460px}.ldm-video-footer{align-items:flex-start;flex-direction:column}.ldm-booking-actions{margin-top:10px}}
@media(max-width:650px){.ldm-video-page{width:min(100% - 16px,1500px);padding:10px 0 20px}.ldm-video-topbar{display:block;padding:13px}.ldm-video-badge{display:inline-flex;margin-top:10px}.ldm-jitsi-room{height:72vh;min-height:420px;border-radius:18px}.ldm-booking-actions{display:grid}.ldm-booking-actions .ldm-btn{width:100%}}


/* v0.5.1 — publiczne meet.jit.si otwierane poza iframe */
.ldm-external-meeting-card{
	max-width:760px;
	margin:36px auto 0;
	padding:42px;
	text-align:center;
	background:#fff;
	border:1px solid rgba(7,27,59,.08);
	border-radius:28px;
	box-shadow:0 24px 60px rgba(7,27,59,.12)
}
.ldm-external-meeting-icon{font-size:54px;margin-bottom:10px}
.ldm-external-meeting-card h1{margin:0 0 14px;font-size:clamp(30px,4vw,46px);line-height:1.05}
.ldm-external-meeting-card .ldm-lead{max-width:620px;margin:0 auto 24px}
.ldm-meeting-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}
.ldm-meeting-meta>div{padding:13px;border-radius:16px;background:#f6f8fb;text-align:left}
.ldm-meeting-meta span,.ldm-meeting-meta strong{display:block}
.ldm-meeting-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7b8796;font-weight:800}
.ldm-meeting-meta strong{margin-top:4px;font-size:13px;color:#071b3b}
.ldm-meeting-launch{min-width:230px}
.ldm-external-note{max-width:610px;margin:16px auto 0;font-size:11px;line-height:1.5;color:#778496}
@media(max-width:760px){
	.ldm-external-meeting-card{padding:26px 20px}
	.ldm-meeting-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
	.ldm-meeting-meta{grid-template-columns:1fr}
	.ldm-meeting-launch{width:100%}
}


/* v0.6.0 — sklep pakietów i zamówienia */
.ldm-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.ldm-shop-card{display:flex;flex-direction:column;padding:24px;border:1px solid rgba(7,27,59,.08);border-radius:22px;background:#fbfcfd}
.ldm-shop-card h3{margin:0 0 10px;font-size:22px}
.ldm-shop-desc{min-height:44px;margin:0;color:#647286;font-size:13px;line-height:1.55}
.ldm-shop-price{margin:18px 0 14px;font-size:31px;line-height:1;font-weight:900;color:#071b3b}
.ldm-shop-features{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none;color:#556579;font-size:12px;font-weight:700}
.ldm-buy-form{margin-top:auto}
.ldm-order-list{display:grid;gap:14px}
.ldm-order-card{padding:20px;border:1px solid rgba(7,27,59,.08);border-radius:20px;background:#fbfcfd}
.ldm-order-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.ldm-order-head strong,.ldm-order-head span{display:block}
.ldm-order-head>div>span{margin-top:4px;color:#7a8797;font-size:11px}
.ldm-order-status{padding:7px 10px;border-radius:999px;background:#eef1f4;color:#5e6875;font-size:10px;font-weight:900;text-transform:uppercase}
.ldm-order-status.pending{background:#fff3c9;color:#765100}
.ldm-order-status.paid{background:#eaf7e6;color:#347329}
.ldm-order-status.cancelled{background:#f5ecec;color:#9a3434}
.ldm-order-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:15px}
.ldm-order-summary>div{padding:12px;border-radius:14px;background:#fff}
.ldm-order-summary span,.ldm-order-summary strong{display:block}
.ldm-order-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7c8795;font-weight:900}
.ldm-order-summary strong{margin-top:4px;font-size:13px}
.ldm-transfer-box{margin-top:15px;padding:16px;border-radius:16px;background:#fff7dc;border:1px solid rgba(249,184,33,.28)}
.ldm-transfer-box>strong{display:block;margin-bottom:8px}
.ldm-transfer-box p{margin:4px 0;font-size:12px;line-height:1.5}
.ldm-transfer-box p span{color:#7b6c3b}
.ldm-transfer-note{margin-top:9px!important;color:#6c6040}
.ldm-paid-note{margin-top:15px;padding:12px 14px;border-radius:14px;background:#edf8e8;color:#347327;font-size:12px;font-weight:800}
@media(max-width:1000px){.ldm-shop-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ldm-shop-grid,.ldm-order-summary{grid-template-columns:1fr}.ldm-order-head{display:block}.ldm-order-status{display:inline-flex;margin-top:10px}}


/* v0.7.0 — student progress */
.ldm-child-with-progress{flex-wrap:wrap}
.ldm-student-progress{flex:0 0 100%;padding-top:12px;margin-top:3px;border-top:1px solid rgba(7,27,59,.06)}
.ldm-student-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:11px}
.ldm-student-progress-head strong{font-size:12px}
.ldm-student-progress-head span{font-weight:900;color:#2370b2}
.ldm-student-progress-bar,.ldm-mini-progress,.ldm-big-progress,.ldm-skill-track{height:7px;border-radius:999px;background:#e8edf2;overflow:hidden}
.ldm-student-progress-bar{margin-top:8px}
.ldm-student-progress-bar span,.ldm-mini-progress span,.ldm-big-progress span,.ldm-skill-track span{display:block;height:100%;border-radius:inherit;background:#2370b2}
.ldm-student-progress-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:7px;color:#7b8797;font-size:10px;font-weight:800}

.ldm-teacher-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.ldm-teacher-student-card{display:flex;align-items:center;gap:13px;padding:16px;border-radius:18px;background:#f8fafc;text-decoration:none;color:#071b3b;border:1px solid rgba(7,27,59,.06);transition:.18s ease}
.ldm-teacher-student-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,27,59,.08)}
.ldm-teacher-student-main{flex:1;min-width:0}
.ldm-teacher-student-main h3{margin:0;font-size:17px}
.ldm-teacher-student-main p{margin:3px 0 9px;color:#718096;font-size:11px}
.ldm-mini-progress{height:6px}
.ldm-mini-progress-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px;font-size:9px;color:#788598;font-weight:800}
.ldm-student-profile-link{margin-top:18px;width:100%}

.ldm-skill-rating-box{padding:16px;border-radius:18px;background:#f6f9fc;border:1px solid rgba(7,27,59,.06)}
.ldm-skill-rating-box>div:first-child strong,.ldm-skill-rating-box>div:first-child span{display:block}
.ldm-skill-rating-box>div:first-child span{margin-top:3px;color:#7c8795;font-size:10px}
.ldm-skill-rating-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:13px}
.ldm-skill-rating-grid label span{font-size:10px}

.ldm-student-hero{display:flex;align-items:center;gap:20px;margin:24px 0}
.ldm-student-hero h1{margin:0 0 6px}
.ldm-student-hero p{margin:0;color:#69778a}
.ldm-avatar-xl{width:78px;height:78px;flex-basis:78px;border-radius:24px;font-size:30px}
.ldm-student-stat-grid>div:nth-child(4){background:#f9b821;color:#071b3b}
.ldm-profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ldm-big-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:19px}
.ldm-big-progress-head span{font-weight:900;color:#2370b2}
.ldm-big-progress{height:11px;margin-top:13px}
.ldm-big-progress-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.ldm-big-progress-meta span{padding:9px 10px;border-radius:12px;background:#f6f8fb;text-align:center;color:#667487;font-size:10px;font-weight:800}
.ldm-compact-packages{display:grid;gap:8px;margin-top:18px}
.ldm-compact-packages>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(7,27,59,.06)}
.ldm-compact-packages strong,.ldm-compact-packages span{display:block}
.ldm-compact-packages span{margin-top:3px;color:#798596;font-size:10px}
.ldm-overall-score{display:flex;align-items:end;gap:9px;margin-bottom:19px}
.ldm-overall-score strong{font-size:38px;line-height:1;color:#2370b2}
.ldm-overall-score span{padding-bottom:3px;color:#738093;font-size:11px}
.ldm-skill-bars{display:grid;gap:13px}
.ldm-skill-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:11px}
.ldm-skill-bar>div:first-child span{font-weight:900;color:#2370b2}
.ldm-learning-history{display:grid}
.ldm-learning-history article{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid rgba(7,27,59,.07)}
.ldm-learning-history article:last-child{border-bottom:0}
.ldm-learning-date{width:52px;flex:0 0 52px;text-align:center}
.ldm-learning-date strong,.ldm-learning-date span{display:block}
.ldm-learning-date strong{font-size:16px}.ldm-learning-date span{font-size:9px;color:#8a95a3}
.ldm-learning-main{flex:1}
.ldm-learning-main h3{margin:0;font-size:15px}
.ldm-learning-main p{margin:3px 0 0;color:#778394;font-size:10px}
.ldm-learning-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff7dc;font-size:10px;color:#665a38}
.ldm-history-score{padding:7px 9px;border-radius:999px;background:#edf4fb;color:#2370b2;font-size:10px;font-weight:900}

@media(max-width:850px){
	.ldm-teacher-students,.ldm-profile-columns{grid-template-columns:1fr}
}
@media(max-width:680px){
	.ldm-skill-rating-grid{grid-template-columns:1fr 1fr}
	.ldm-big-progress-meta{grid-template-columns:1fr}
	.ldm-student-hero{align-items:flex-start}
}


/* v0.7.1 — navigation for parent panel */
.ldm-parent-tabs{
	position:sticky;
	top:12px;
	z-index:35;
	display:flex;
	gap:7px;
	margin:18px 0 22px;
	padding:8px;
	overflow-x:auto;
	background:rgba(255,253,248,.94);
	border:1px solid rgba(7,27,59,.08);
	border-radius:18px;
	box-shadow:0 10px 30px rgba(7,27,59,.08);
	backdrop-filter:blur(12px)
}
.ldm-parent-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	flex:0 0 auto;
	min-height:42px;
	padding:8px 13px;
	border:0;
	border-radius:12px;
	background:transparent;
	color:#607086;
	font-size:12px;
	font-weight:900;
	cursor:pointer;
	transition:.18s ease
}
.ldm-parent-tab:hover{background:#f3f6f8;color:#071b3b}
.ldm-parent-tab.is-active{background:#071b3b;color:#fff;box-shadow:0 8px 18px rgba(7,27,59,.15)}
.ldm-parent-tab>span{font-size:14px}
.ldm-parent-tab em{
	display:grid;
	place-items:center;
	min-width:20px;
	height:20px;
	padding:0 5px;
	border-radius:999px;
	background:rgba(35,112,178,.1);
	color:#2370b2;
	font-style:normal;
	font-size:9px
}
.ldm-parent-tab.is-active em{background:rgba(255,255,255,.15);color:#fff}
.ldm-parent-section{display:none!important}
.ldm-parent-section.is-section-active{display:block!important}
.ldm-parent-section.ldm-columns.is-section-active{display:grid!important}

.ldm-parent-welcome-card{display:flex;align-items:center;gap:18px}
.ldm-parent-welcome-icon{font-size:45px}
.ldm-parent-welcome-card>div:nth-child(2){flex:1}
.ldm-parent-welcome-card h2{margin-bottom:6px}
.ldm-parent-welcome-card p{margin:0;color:#69778a;line-height:1.6}

/* compact reservations */
.ldm-reservation-toolbar{
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:18px;
	margin:18px 0 12px;
	padding:14px;
	border-radius:17px;
	background:#f6f8fb
}
.ldm-reservation-filter{display:flex;gap:10px;flex-wrap:wrap}
.ldm-reservation-filter label{min-width:180px}
.ldm-reservation-filter label>span{display:block;margin:0 0 5px;font-size:10px;font-weight:900;color:#6d7a8b}
.ldm-reservation-filter select{width:100%;min-height:42px;padding:8px 11px;border:1px solid rgba(7,27,59,.12);border-radius:11px;background:#fff}
.ldm-reservation-counter{text-align:right}
.ldm-reservation-counter strong,.ldm-reservation-counter span{display:block}
.ldm-reservation-counter strong{font-size:23px;line-height:1;color:#2370b2}
.ldm-reservation-counter span{margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7b8796;font-weight:900}

.ldm-slot-list{gap:8px}
.ldm-slot-item{
	display:grid;
	grid-template-columns:170px 1fr 120px 110px;
	align-items:center;
	gap:12px;
	padding:12px 14px
}
.ldm-slot-item[hidden]{display:none!important}
.ldm-slot-free span{
	display:inline-flex;
	padding:6px 9px;
	border-radius:999px;
	background:#edf8e8;
	color:#347327;
	font-size:9px;
	font-weight:900
}
.ldm-slot-toggle{min-height:40px;padding:8px 13px}
.ldm-slot-booking-fields{
	display:none;
	grid-column:1/-1;
	grid-template-columns:1fr 1fr auto;
	align-items:end;
	gap:12px;
	margin-top:3px;
	padding:14px;
	border-radius:15px;
	background:#f5f8fb;
	border-top:1px solid rgba(7,27,59,.05)
}
.ldm-slot-item.is-open .ldm-slot-booking-fields{display:grid}
.ldm-slot-item.is-open{border-color:rgba(35,112,178,.2);box-shadow:0 8px 22px rgba(35,112,178,.07)}
.ldm-slot-more-wrap{text-align:center;margin-top:16px}
.ldm-slot-more{min-width:210px}
.ldm-slot-no-results{margin:12px 0 0;color:#748193;font-size:12px;font-weight:700}

@media(max-width:900px){
	.ldm-slot-item{grid-template-columns:140px 1fr 105px}
	.ldm-slot-toggle{grid-column:3}
	.ldm-slot-free{display:none}
}
@media(max-width:700px){
	.ldm-parent-tabs{top:6px;margin-left:-4px;margin-right:-4px;border-radius:15px}
	.ldm-parent-tab{padding:8px 11px;font-size:11px}
	.ldm-parent-tab em{display:none}
	.ldm-reservation-toolbar{display:block}
	.ldm-reservation-counter{text-align:left;margin-top:12px}
	.ldm-reservation-filter{display:grid;grid-template-columns:1fr 1fr}
	.ldm-reservation-filter label{min-width:0}
	.ldm-slot-item{grid-template-columns:1fr auto}
	.ldm-slot-time{grid-column:1}
	.ldm-slot-info{grid-column:1}
	.ldm-slot-toggle{grid-column:2;grid-row:1/3}
	.ldm-slot-booking-fields{grid-template-columns:1fr}
	.ldm-parent-welcome-card{align-items:flex-start;flex-wrap:wrap}
	.ldm-parent-welcome-card .ldm-btn{width:100%}
}
@media(max-width:480px){
	.ldm-reservation-filter{grid-template-columns:1fr}
}


/* v0.7.2 — hide WordPress/theme page title on Lingodemy app screens */
body.ldm-app-page .entry-header,
body.ldm-app-page .page-header,
body.ldm-app-page .page-title,
body.ldm-app-page .entry-title,
body.ldm-app-page .wp-block-post-title,
body.ldm-app-page main > header:first-child,
body.ldm-app-page .site-content > .container > .page-title,
body.ldm-app-page .main-page-wrapper > .page-title{
	display:none!important
}
body.ldm-app-page .entry-content,
body.ldm-app-page .site-content,
body.ldm-app-page .content-area{
	margin-top:0
}


/* v0.7.3 — teacher navigation */
.ldm-teacher-tabs{
	position:sticky;
	top:12px;
	z-index:35;
	display:flex;
	gap:7px;
	margin:18px 0 22px;
	padding:8px;
	overflow-x:auto;
	background:rgba(255,253,248,.94);
	border:1px solid rgba(7,27,59,.08);
	border-radius:18px;
	box-shadow:0 10px 30px rgba(7,27,59,.08);
	backdrop-filter:blur(12px)
}
.ldm-teacher-tab{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	flex:0 0 auto;
	min-height:42px;
	padding:8px 13px;
	border:0;
	border-radius:12px;
	background:transparent;
	color:#607086;
	font-size:12px;
	font-weight:900;
	cursor:pointer;
	transition:.18s ease
}
.ldm-teacher-tab:hover{background:#f3f6f8;color:#071b3b}
.ldm-teacher-tab.is-active{background:#071b3b;color:#fff;box-shadow:0 8px 18px rgba(7,27,59,.15)}
.ldm-teacher-tab>span{font-size:14px}
.ldm-teacher-tab em{
	display:grid;
	place-items:center;
	min-width:20px;
	height:20px;
	padding:0 5px;
	border-radius:999px;
	background:rgba(35,112,178,.1);
	color:#2370b2;
	font-style:normal;
	font-size:9px
}
.ldm-teacher-tab em.is-warning{background:#fff0cf;color:#8d5d00}
.ldm-teacher-tab.is-active em{background:rgba(255,255,255,.15);color:#fff}
.ldm-teacher-tab.is-active em.is-warning{background:#f9b821;color:#071b3b}

.ldm-teacher-section{display:none!important}
.ldm-teacher-section.is-section-active{display:block!important}

.ldm-teacher-start{
	display:grid;
	grid-template-columns:1fr auto;
	gap:24px;
	align-items:center
}
.ldm-teacher-start-main h2{margin:4px 0 5px;font-size:27px}
.ldm-teacher-start-main p{margin:0;color:#718094}
.ldm-teacher-start-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.ldm-teacher-start-side{
	display:grid;
	grid-template-columns:repeat(3,110px);
	gap:8px
}
.ldm-teacher-start-side>div{
	padding:14px 12px;
	border-radius:15px;
	background:#f5f8fb;
	text-align:center
}
.ldm-teacher-start-side>div.is-alert{background:#fff3d2}
.ldm-teacher-start-side strong,.ldm-teacher-start-side span{display:block}
.ldm-teacher-start-side strong{font-size:24px;line-height:1;color:#2370b2}
.ldm-teacher-start-side>div.is-alert strong{color:#9b6900}
.ldm-teacher-start-side span{margin-top:5px;color:#7b8796;font-size:9px;font-weight:900;text-transform:uppercase}

.ldm-teacher-action-alert{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	margin-top:18px;
	padding:15px 17px;
	border-radius:16px;
	background:#fff4d8;
	border:1px solid rgba(249,184,33,.28)
}
.ldm-teacher-action-alert strong,.ldm-teacher-action-alert span{display:block}
.ldm-teacher-action-alert strong{font-size:13px}
.ldm-teacher-action-alert span{margin-top:3px;color:#796942;font-size:10px}

.ldm-pill-warning{background:#fff1ca!important;color:#8c5e00!important}

.ldm-teacher-pending-list,
.ldm-teacher-history-list{display:grid;margin-top:16px}
.ldm-teacher-pending-row,
.ldm-teacher-history-row{
	display:flex;
	align-items:center;
	gap:13px;
	padding:13px 0;
	border-bottom:1px solid rgba(7,27,59,.07);
	color:#071b3b;
	text-decoration:none
}
.ldm-teacher-pending-row:last-child,
.ldm-teacher-history-row:last-child{border-bottom:0}
.ldm-teacher-pending-row:hover,
.ldm-teacher-history-row:hover{background:#fbfcfd}
.ldm-teacher-pending-main,
.ldm-teacher-history-main{flex:1;min-width:0}
.ldm-teacher-pending-main strong,.ldm-teacher-pending-main span,
.ldm-teacher-history-main strong,.ldm-teacher-history-main span,
.ldm-teacher-history-date strong,.ldm-teacher-history-date span{display:block}
.ldm-teacher-pending-main span,
.ldm-teacher-history-main span,
.ldm-teacher-history-date span{margin-top:3px;color:#7a8798;font-size:10px}
.ldm-pending-badge{
	display:inline-flex;
	padding:6px 8px;
	border-radius:999px;
	background:#fff1ca;
	color:#8a5d00;
	font-size:9px;
	font-weight:900
}
.ldm-teacher-history-date{width:84px;flex:0 0 84px}
.ldm-teacher-history-date strong{font-size:11px}

@media(max-width:900px){
	.ldm-teacher-start{grid-template-columns:1fr}
	.ldm-teacher-start-side{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
	.ldm-teacher-tabs{top:6px;margin-left:-4px;margin-right:-4px;border-radius:15px}
	.ldm-teacher-tab{padding:8px 11px;font-size:11px}
	.ldm-teacher-tab em{display:none}
	.ldm-teacher-start-side{grid-template-columns:1fr 1fr 1fr}
	.ldm-teacher-action-alert{align-items:flex-start;flex-direction:column}
	.ldm-teacher-action-alert .ldm-btn{width:100%}
	.ldm-pending-badge{display:none}
}
@media(max-width:480px){
	.ldm-teacher-start-side{grid-template-columns:1fr}
}


/* v0.7.4 — wider app + branded parent hero */
.ldm-parent-hero{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) 430px auto;
	align-items:center;
	gap:22px;
	min-height:230px;
	margin-bottom:24px;
	padding:30px 30px 0;
	overflow:hidden;
	border-radius:30px;
	background:
		radial-gradient(circle at 78% 20%,rgba(249,184,33,.34),transparent 30%),
		linear-gradient(135deg,#071b3b 0%,#0b315f 62%,#2370b2 100%);
	box-shadow:0 22px 52px rgba(7,27,59,.16)
}
.ldm-parent-hero:before{
	content:"";
	position:absolute;
	left:-55px;
	bottom:-100px;
	width:260px;
	height:260px;
	border-radius:50%;
	background:rgba(255,255,255,.035)
}
.ldm-parent-hero-copy{
	position:relative;
	z-index:3;
	padding-bottom:28px;
	color:#fff
}
.ldm-parent-hero .ldm-kicker{color:#74bee9}
.ldm-parent-hero h1{
	max-width:650px;
	margin-bottom:10px;
	color:#fff;
	font-size:clamp(34px,3.4vw,52px)
}
.ldm-parent-hero-copy>p{
	max-width:650px;
	margin:0;
	color:rgba(255,255,255,.72);
	font-size:15px;
	line-height:1.6
}
.ldm-parent-hero-badges{
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin-top:17px
}
.ldm-parent-hero-badges span{
	display:inline-flex;
	padding:7px 10px;
	border:1px solid rgba(255,255,255,.13);
	border-radius:999px;
	background:rgba(255,255,255,.08);
	color:rgba(255,255,255,.86);
	font-size:9px;
	font-weight:900;
	letter-spacing:.04em
}
.ldm-parent-characters{
	position:relative;
	align-self:stretch;
	min-height:230px;
	z-index:2
}
.ldm-parent-characters .ldm-char{
	position:absolute;
	bottom:-5px;
	height:auto;
	object-fit:contain;
	filter:drop-shadow(0 16px 18px rgba(0,0,0,.17));
	transform-origin:bottom center
}
.ldm-char-lusiek{
	left:0;
	z-index:3;
	width:160px;
	transform:rotate(-2deg)
}
.ldm-char-otto{
	left:122px;
	z-index:2;
	width:176px
}
.ldm-char-freddy{
	left:266px;
	z-index:1;
	width:145px;
	transform:rotate(2deg)
}
.ldm-parent-logout{
	position:relative;
	z-index:4;
	align-self:start;
	margin-top:2px;
	min-height:40px;
	padding:8px 13px;
	border:1px solid rgba(255,255,255,.18);
	background:rgba(255,255,255,.09);
	color:#fff;
	backdrop-filter:blur(10px)
}
.ldm-parent-logout:hover{background:rgba(255,255,255,.16);color:#fff}

@media(max-width:1150px){
	.ldm-parent-hero{grid-template-columns:minmax(0,1fr) 330px auto}
	.ldm-char-lusiek{width:130px}
	.ldm-char-otto{left:100px;width:145px}
	.ldm-char-freddy{left:215px;width:120px}
}
@media(max-width:900px){
	.ldm-parent-hero{
		grid-template-columns:1fr auto;
		min-height:0;
		padding:26px
	}
	.ldm-parent-characters{
		position:absolute;
		right:55px;
		bottom:0;
		width:250px;
		min-height:180px;
		opacity:.22
	}
	.ldm-parent-hero-copy{padding-bottom:0}
	.ldm-char-lusiek{left:0;width:105px}
	.ldm-char-otto{left:80px;width:120px}
	.ldm-char-freddy{left:168px;width:100px}
}
@media(max-width:650px){
	.ldm-parent-hero{padding:22px;border-radius:24px}
	.ldm-parent-hero h1{font-size:34px}
	.ldm-parent-hero-copy>p{font-size:13px}
	.ldm-parent-characters{display:none}
	.ldm-parent-hero-badges span:nth-child(2){display:none}
	.ldm-parent-logout{min-height:38px}
}


/* v0.7.5 — allow Lingodemy application screens to use the real 1440px width.
   The theme normally limits every direct child of .entry-content/.page-content
   to its article content width. These app pages intentionally opt out. */
body.ldm-app-page .entry-content,
body.ldm-app-page .page-content {
	max-width:none!important;
	width:100%!important
}

body.ldm-app-page .entry-content > .ldm-wrap,
body.ldm-app-page .page-content > .ldm-wrap,
body.ldm-app-page .entry-content > .ldm-video-page,
body.ldm-app-page .page-content > .ldm-video-page {
	max-width:1440px!important;
	width:min(1440px,calc(100% - 48px))!important;
	margin-left:auto!important;
	margin-right:auto!important
}

body.ldm-app-page #primary,
body.ldm-app-page #main,
body.ldm-app-page article,
body.ldm-app-page .entry-content {
	width:100%!important
}

@media(max-width:650px){
	body.ldm-app-page .entry-content > .ldm-wrap,
	body.ldm-app-page .page-content > .ldm-wrap,
	body.ldm-app-page .entry-content > .ldm-video-page,
	body.ldm-app-page .page-content > .ldm-video-page {
		width:calc(100% - 28px)!important
	}
}


/* v0.7.6 — parent hero character visibility + logout button polish */
.ldm-parent-hero{
	min-height:285px;
	padding-top:34px;
	overflow:hidden
}

.ldm-parent-characters{
	min-height:285px;
	overflow:visible
}

.ldm-parent-characters .ldm-char{
	bottom:0;
	max-height:265px;
	width:auto!important;
	object-fit:contain;
	object-position:center bottom
}

/* ustawienia indywidualne — postacie nie wychodzą górą poza hero */
.ldm-char-lusiek{
	left:8px;
	height:245px;
	transform:rotate(-2deg)
}
.ldm-char-otto{
	left:128px;
	height:268px;
	transform:none
}
.ldm-char-freddy{
	left:282px;
	height:235px;
	transform:rotate(2deg)
}

/* wyraźny przycisk wylogowania — neutralny, bez czerwonego akcentu motywu */
body.ldm-app-page .ldm-parent-logout,
body.ldm-app-page .ldm-parent-logout:link,
body.ldm-app-page .ldm-parent-logout:visited{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:42px;
	padding:9px 15px;
	border:1px solid rgba(255,255,255,.9)!important;
	border-radius:12px!important;
	background:#fff!important;
	color:#071b3b!important;
	font-weight:900!important;
	text-decoration:none!important;
	box-shadow:0 8px 20px rgba(0,0,0,.12)!important;
	opacity:1!important
}
body.ldm-app-page .ldm-parent-logout:before{
	content:"↗";
	font-size:13px;
	line-height:1
}
body.ldm-app-page .ldm-parent-logout:hover,
body.ldm-app-page .ldm-parent-logout:focus{
	background:#f9b821!important;
	border-color:#f9b821!important;
	color:#071b3b!important;
	transform:translateY(-1px)
}

@media(max-width:1150px){
	.ldm-parent-hero{min-height:260px}
	.ldm-parent-characters{min-height:260px}
	.ldm-parent-characters .ldm-char{max-height:240px}
	.ldm-char-lusiek{left:10px;height:215px}
	.ldm-char-otto{left:105px;height:240px}
	.ldm-char-freddy{left:220px;height:205px}
}

@media(max-width:900px){
	.ldm-parent-hero{min-height:220px}
	.ldm-parent-characters{
		min-height:210px;
		bottom:0
	}
	.ldm-parent-characters .ldm-char{max-height:200px}
	.ldm-char-lusiek{left:0;height:170px}
	.ldm-char-otto{left:74px;height:195px}
	.ldm-char-freddy{left:160px;height:165px}
}

@media(max-width:650px){
	.ldm-parent-hero{min-height:0}
	body.ldm-app-page .ldm-parent-logout,
	body.ldm-app-page .ldm-parent-logout:link,
	body.ldm-app-page .ldm-parent-logout:visited{
		min-height:38px;
		padding:8px 11px
	}
}


/* v0.7.7 — clear student/teacher labels in parent reservations */
.ldm-booking-people{
	display:flex;
	align-items:center;
	gap:22px;
	flex-wrap:wrap
}
.ldm-booking-people>div{
	position:relative;
	display:grid;
	gap:2px
}
.ldm-booking-people>div+div:before{
	content:"";
	position:absolute;
	left:-11px;
	top:3px;
	bottom:3px;
	width:1px;
	background:rgba(7,27,59,.10)
}
.ldm-booking-people span{
	font-size:8px;
	line-height:1;
	text-transform:uppercase;
	letter-spacing:.10em;
	font-weight:900;
	color:#8a96a4
}
.ldm-booking-people strong{
	font-size:15px;
	line-height:1.25;
	color:#071b3b
}

@media(max-width:650px){
	.ldm-booking-people{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:10px
	}
	.ldm-booking-people>div{
		padding:9px 10px;
		border-radius:11px;
		background:#fff
	}
	.ldm-booking-people>div+div:before{display:none}
}


/* v0.8.0 — notifications */
.ldm-parent-hero-actions,
.ldm-teacher-head-actions{
	position:relative;
	z-index:4;
	display:flex;
	align-items:flex-start;
	gap:8px
}
.ldm-notification-bell{
	position:relative;
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	padding:0;
	border:1px solid rgba(255,255,255,.18);
	border-radius:12px;
	background:rgba(255,255,255,.1);
	color:#fff;
	font-size:17px;
	cursor:pointer;
	backdrop-filter:blur(10px);
	transition:.18s ease
}
.ldm-notification-bell:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.ldm-notification-bell em{
	position:absolute;
	right:-5px;
	top:-6px;
	display:grid;
	place-items:center;
	min-width:20px;
	height:20px;
	padding:0 5px;
	border:2px solid #071b3b;
	border-radius:999px;
	background:#f9b821;
	color:#071b3b;
	font-size:9px;
	font-style:normal;
	font-weight:900
}
.ldm-parent-tab em.is-warning,
.ldm-teacher-tab em.is-warning{
	background:#f9b821;
	color:#071b3b
}

.ldm-notification-center{width:100%}
.ldm-notification-list{display:grid;margin-top:16px}
.ldm-notification-item{
	position:relative;
	display:flex;
	align-items:flex-start;
	gap:13px;
	padding:15px 8px;
	border-bottom:1px solid rgba(7,27,59,.07);
	color:#071b3b;
	text-decoration:none;
	transition:.15s ease
}
.ldm-notification-item:last-child{border-bottom:0}
.ldm-notification-item:hover{padding-left:13px;background:#fbfcfd}
.ldm-notification-item.is-unread{background:#f7fbff}
.ldm-notification-icon{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	flex:0 0 42px;
	border-radius:13px;
	background:#edf5fb;
	font-size:18px
}
.ldm-notification-item.is-unread .ldm-notification-icon{background:#fff2c8}
.ldm-notification-main{flex:1;min-width:0}
.ldm-notification-main>div{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px
}
.ldm-notification-main strong{font-size:13px}
.ldm-notification-main time{color:#8a95a3;font-size:9px;white-space:nowrap}
.ldm-notification-main p{margin:4px 0 0;color:#68768a;font-size:11px;line-height:1.55}
.ldm-unread-dot{
	width:8px;
	height:8px;
	flex:0 0 8px;
	margin-top:8px;
	border-radius:50%;
	background:#2370b2
}

@media(max-width:700px){
	.ldm-parent-hero-actions{align-self:start}
	.ldm-teacher-head-actions{gap:6px}
	.ldm-notification-main>div{display:block}
	.ldm-notification-main time{display:block;margin-top:3px}
}


/* v0.8.1 — parent actions outside hero */
.ldm-parent-top-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:9px;
	margin:0 0 10px
}

/* outside the navy hero the bell becomes a light app control */
body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell{
	width:44px;
	height:44px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:13px;
	background:#fff;
	color:#071b3b;
	box-shadow:0 7px 20px rgba(7,27,59,.07);
	backdrop-filter:none
}
body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell:hover{
	background:#f4f8fb;
	border-color:rgba(35,112,178,.22)
}
body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell em{
	border-color:#fff;
	background:#f9b821;
	color:#071b3b
}

/* logout now lives on the light page background */
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:link,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:visited{
	position:static;
	align-self:auto;
	margin:0;
	min-height:44px;
	padding:9px 15px;
	border:1px solid rgba(7,27,59,.09)!important;
	border-radius:13px!important;
	background:#fff!important;
	color:#071b3b!important;
	box-shadow:0 7px 20px rgba(7,27,59,.07)!important
}
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:hover,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:focus{
	background:#071b3b!important;
	border-color:#071b3b!important;
	color:#fff!important
}

/* hero no longer needs a third action column */
.ldm-parent-hero{
	grid-template-columns:minmax(0,1fr) 430px;
	padding-right:30px
}

@media(max-width:1150px){
	.ldm-parent-hero{
		grid-template-columns:minmax(0,1fr) 330px
	}
}
@media(max-width:900px){
	.ldm-parent-hero{
		grid-template-columns:1fr
	}
	.ldm-parent-top-actions{margin-bottom:9px}
}
@media(max-width:650px){
	.ldm-parent-top-actions{
		gap:7px;
		margin-bottom:8px
	}
	body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell{
		width:40px;
		height:40px
	}
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout,
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:link,
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:visited{
		min-height:40px;
		padding:8px 12px
	}
}


/* v0.8.2 — polished parent top actions */
body.ldm-app-page .ldm-parent-top-actions{
	align-items:center;
}

body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:link,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:visited{
	box-sizing:border-box!important;
	height:44px!important;
	min-height:44px!important;
	border-radius:13px!important;
	border:1px solid rgba(7,27,59,.09)!important;
	background:#fff!important;
	box-shadow:0 7px 20px rgba(7,27,59,.07)!important;
}

body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell{
	width:44px!important;
	min-width:44px!important;
	padding:0!important;
	color:#071b3b!important;
}

body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:link,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:visited{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:7px!important;
	margin:0!important;
	padding:0 15px!important;
	line-height:1!important;
	color:#071b3b!important;
}

body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:before{
	content:"↪";
	display:inline-block;
	font-size:15px;
	line-height:1;
	transform:rotate(180deg);
}

body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell:hover{
	background:#f4f8fb!important;
	border-color:rgba(35,112,178,.22)!important;
}

body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:hover,
body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:focus{
	background:#071b3b!important;
	border-color:#071b3b!important;
	color:#fff!important;
}

/* Teacher clickable cards: never inherit theme link underlines */
body.ldm-app-page .ldm-teacher-student-card,
body.ldm-app-page .ldm-teacher-student-card:link,
body.ldm-app-page .ldm-teacher-student-card:visited,
body.ldm-app-page .ldm-teacher-student-card:hover,
body.ldm-app-page .ldm-teacher-student-card:focus,
body.ldm-app-page .ldm-teacher-student-card *,
body.ldm-app-page .ldm-teacher-upcoming-row,
body.ldm-app-page .ldm-teacher-upcoming-row:link,
body.ldm-app-page .ldm-teacher-upcoming-row:visited,
body.ldm-app-page .ldm-teacher-upcoming-row:hover,
body.ldm-app-page .ldm-teacher-upcoming-row:focus,
body.ldm-app-page .ldm-teacher-upcoming-row *{
	text-decoration:none!important;
	text-decoration-line:none!important;
}

@media(max-width:650px){
	body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell,
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout,
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:link,
	body.ldm-app-page .ldm-parent-top-actions .ldm-parent-logout:visited{
		height:40px!important;
		min-height:40px!important;
	}
	body.ldm-app-page .ldm-parent-top-actions .ldm-notification-bell{
		width:40px!important;
		min-width:40px!important;
	}
}


/* v0.9.0 — learning materials & homework */
.ldm-materials-layout{
	display:grid;
	grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
	gap:18px
}
.ldm-material-list,
.ldm-homework-list,
.ldm-teacher-material-list{
	display:grid;
	margin-top:15px
}
.ldm-material-row{
	display:flex;
	align-items:center;
	gap:14px;
	padding:15px 0;
	border-bottom:1px solid rgba(7,27,59,.07)
}
.ldm-material-row:last-child{border-bottom:0}
.ldm-material-icon{
	display:grid;
	place-items:center;
	width:46px;
	height:46px;
	flex:0 0 46px;
	border-radius:14px;
	background:#eef5fb;
	font-size:20px
}
.ldm-material-main{flex:1;min-width:0}
.ldm-material-main h3{
	margin:4px 0 0;
	font-size:14px;
	line-height:1.35
}
.ldm-material-main>p{
	margin:5px 0 0;
	color:#677589;
	font-size:10.5px;
	line-height:1.55
}
.ldm-material-by{color:#8a96a4!important;font-size:9.5px!important}
.ldm-material-meta{
	display:flex;
	align-items:center;
	gap:6px;
	flex-wrap:wrap
}
.ldm-material-meta span{
	display:inline-flex;
	padding:4px 7px;
	border-radius:999px;
	background:#f2f5f7;
	color:#68768a;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em
}
.ldm-material-open{flex:0 0 auto}
.ldm-homework-row{
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:14px 0;
	border-bottom:1px solid rgba(7,27,59,.07)
}
.ldm-homework-row:last-child{border-bottom:0}
.ldm-homework-check{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	flex:0 0 34px;
	border-radius:11px;
	background:#eef8e9;
	color:#4b9636;
	font-size:14px;
	font-weight:900
}
.ldm-homework-row h3{margin:5px 0 3px;font-size:13px}
.ldm-homework-row p{margin:0;color:#59687b;font-size:11px;line-height:1.55}
.ldm-homework-row small{display:block;margin-top:7px;color:#96a0ad;font-size:9px}

.ldm-classroom-materials{margin-top:18px}
.ldm-teacher-material-grid{
	display:grid;
	grid-template-columns:minmax(380px,.78fr) minmax(0,1.22fr);
	gap:22px;
	margin-top:16px
}
.ldm-material-add-box{
	padding:20px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:18px;
	background:#f8fafc
}
.ldm-material-add-box>h3{margin:0 0 5px}
.ldm-material-add-box>p{margin:0 0 16px;color:#738095;font-size:10px;line-height:1.55}
.ldm-material-source-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px
}
.ldm-file-drop{
	padding:13px;
	border:1px dashed rgba(35,112,178,.28);
	border-radius:13px;
	background:#fff
}
.ldm-file-drop input{padding:7px 0!important;border:0!important;background:transparent!important}
.ldm-file-drop small,
.ldm-material-source-grid label small{
	display:block;
	margin-top:5px;
	color:#8a96a4;
	font-size:8.5px;
	line-height:1.4
}
.ldm-teacher-material-list>article{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 0;
	border-bottom:1px solid rgba(7,27,59,.07)
}
.ldm-teacher-material-list>article:last-child{border-bottom:0}
.ldm-teacher-material-list>article>div:nth-child(2){flex:1;min-width:0}
.ldm-teacher-material-list strong{display:block;margin-top:4px;font-size:12px}
.ldm-teacher-material-list p{margin:4px 0 0;color:#748195;font-size:9.5px}
.ldm-material-actions{display:flex;align-items:center;gap:6px}
.ldm-material-actions form{margin:0}
.ldm-material-delete{
	display:grid;
	place-items:center;
	width:32px;
	height:32px;
	padding:0;
	border:0;
	border-radius:10px;
	background:#f5f6f7;
	color:#8b97a5;
	font-size:18px;
	line-height:1;
	cursor:pointer
}
.ldm-material-delete:hover{background:#fff0ee;color:#b53b31}

/* Never allow theme link decoration inside the app material library. */
body.ldm-app-page .ldm-material-row,
body.ldm-app-page .ldm-material-row *,
body.ldm-app-page .ldm-material-open,
body.ldm-app-page .ldm-material-open:link,
body.ldm-app-page .ldm-material-open:visited,
body.ldm-app-page .ldm-material-open:hover{
	text-decoration:none!important
}

@media(max-width:1050px){
	.ldm-materials-layout,
	.ldm-teacher-material-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
	.ldm-material-row{align-items:flex-start;flex-wrap:wrap}
	.ldm-material-row .ldm-material-main{min-width:calc(100% - 62px)}
	.ldm-material-open{margin-left:60px}
	.ldm-material-source-grid{grid-template-columns:1fr}
}


/* v0.10.0 — monthly student reports */
.ldm-monthly-report-stack{display:grid;gap:18px}
.ldm-monthly-report-card{overflow:hidden}
.ldm-monthly-report-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:18px
}
.ldm-monthly-report-head h2{margin-bottom:4px}
.ldm-monthly-report-head p{margin:0;color:#8390a1;font-size:10px}
.ldm-report-published{
	display:inline-flex;
	align-items:center;
	padding:7px 9px;
	border-radius:999px;
	background:#eaf7e5;
	color:#438d31;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.06em
}
.ldm-monthly-kpis{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:9px;
	margin:20px 0
}
.ldm-monthly-kpis>div{
	padding:14px 12px;
	border-radius:15px;
	background:#f5f8fb;
	text-align:center
}
.ldm-monthly-kpis strong,.ldm-monthly-kpis span{display:block}
.ldm-monthly-kpis strong{font-size:23px;line-height:1;color:#2370b2}
.ldm-monthly-kpis span{
	margin-top:5px;
	color:#8290a1;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.06em
}
.ldm-monthly-report-grid{
	display:grid;
	grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
	gap:20px
}
.ldm-report-copy{display:grid;gap:10px}
.ldm-report-copy>section{
	padding:16px;
	border-radius:16px;
	background:#f7f9fb
}
.ldm-report-copy>section.is-positive{background:#f1f8ed}
.ldm-report-copy>section.is-focus{background:#fff6dd}
.ldm-report-copy>section>span{
	display:block;
	margin-bottom:5px;
	color:#7a8797;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em
}
.ldm-report-copy>section p{margin:0;color:#4f5e70;font-size:11px;line-height:1.65}
.ldm-report-topics{margin-top:7px}
.ldm-report-topics>strong{
	display:block;
	margin-bottom:8px;
	font-size:10px
}
.ldm-report-topics>div{display:flex;gap:6px;flex-wrap:wrap}
.ldm-report-topics span{
	display:inline-flex;
	padding:6px 8px;
	border-radius:999px;
	background:#eef3f7;
	color:#657487;
	font-size:8.5px;
	font-weight:800
}
.ldm-monthly-skills{
	padding:18px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:18px
}
.ldm-monthly-skills h3{margin:0 0 15px}
.ldm-monthly-skill-row{
	position:relative;
	display:grid;
	grid-template-columns:1fr auto;
	gap:6px 10px;
	margin-bottom:15px
}
.ldm-monthly-skill-row:last-of-type{margin-bottom:9px}
.ldm-monthly-skill-row>div:first-child{
	display:flex;
	justify-content:space-between;
	gap:10px;
	grid-column:1/-1
}
.ldm-monthly-skill-row strong{font-size:10px}
.ldm-monthly-skill-row span{color:#788697;font-size:9px}
.ldm-monthly-skill-track{
	height:7px;
	overflow:hidden;
	border-radius:999px;
	background:#edf1f4
}
.ldm-monthly-skill-track i{
	display:block;
	height:100%;
	border-radius:inherit;
	background:#2370b2
}
.ldm-monthly-skill-row em{
	align-self:center;
	font-style:normal;
	font-size:8px;
	font-weight:900
}
.ldm-monthly-skill-row em.is-up{color:#4e9b38}
.ldm-monthly-skill-row em.is-down{color:#b36a31}
.ldm-monthly-skill-row em.is-neutral{color:#8d98a6}
.ldm-monthly-skills>small{
	display:block;
	margin-top:8px;
	color:#9aa4af;
	font-size:8px;
	line-height:1.45
}

/* Teacher monthly report editor */
.ldm-month-selector select{
	min-width:175px;
	padding:9px 34px 9px 11px;
	border:1px solid rgba(7,27,59,.1);
	border-radius:11px;
	background:#fff;
	color:#071b3b;
	font-weight:800
}
.ldm-monthly-editor-grid{
	display:grid;
	grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
	gap:22px;
	margin-top:16px
}
.ldm-monthly-editor-grid>div:first-child{
	padding:17px;
	border-radius:17px;
	background:#f7f9fb
}
.ldm-monthly-editor-grid h3{margin:0 0 12px}
.ldm-monthly-editor-skills{display:grid;gap:7px}
.ldm-monthly-editor-skills>div{
	display:grid;
	grid-template-columns:1fr auto auto;
	align-items:center;
	gap:9px;
	padding:9px 10px;
	border-radius:11px;
	background:#fff
}
.ldm-monthly-editor-skills span{font-size:9px;font-weight:800;color:#68778a}
.ldm-monthly-editor-skills strong{font-size:11px}
.ldm-monthly-editor-skills em{
	min-width:34px;
	text-align:right;
	font-size:8px;
	font-style:normal;
	font-weight:900
}
.ldm-monthly-editor-skills em.is-up{color:#4d9838}
.ldm-monthly-editor-skills em.is-down{color:#b46931}
.ldm-monthly-editor-skills em.is-neutral{color:#929ca8}
.ldm-report-topics-editor{margin-top:17px}
.ldm-monthly-report-form{
	padding:18px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:18px
}
.ldm-monthly-editor-actions{
	display:flex;
	justify-content:flex-end;
	gap:8px;
	flex-wrap:wrap;
	margin-top:4px
}
.ldm-monthly-status{
	margin:12px 0 0;
	color:#8b96a4;
	font-size:9px
}
.ldm-monthly-status strong.is-published{color:#4c9637}
.ldm-monthly-status strong.is-draft{color:#b17a19}

@media(max-width:1050px){
	.ldm-monthly-report-grid,
	.ldm-monthly-editor-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
	.ldm-monthly-kpis{grid-template-columns:1fr 1fr}
	.ldm-monthly-report-head{display:block}
	.ldm-report-published{margin-top:10px}
	.ldm-month-selector{width:100%}
	.ldm-month-selector select{width:100%}
}


/* v0.11.0 — Explorer Path / gamification */
.ldm-adventure-stack{display:grid;gap:18px}
.ldm-adventure-card{overflow:hidden;padding:0!important}
.ldm-adventure-hero{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) 260px;
	min-height:275px;
	overflow:hidden;
	padding:28px 28px 22px;
	background:radial-gradient(circle at 82% 25%,rgba(249,184,33,.34),transparent 31%),linear-gradient(135deg,#071b3b 0%,#0d3766 62%,#2370b2 100%);
	color:#fff
}
.ldm-adventure-hero:before{
	content:"";position:absolute;left:-80px;bottom:-150px;width:330px;height:330px;border:1px solid rgba(255,255,255,.08);border-radius:50%
}
.ldm-adventure-copy{position:relative;z-index:2;max-width:760px}
.ldm-adventure-copy .ldm-kicker{color:#7fc5eb}
.ldm-adventure-copy h2{margin:3px 0 13px;color:#fff;font-size:32px}
.ldm-adventure-copy>p{max-width:610px;margin:9px 0 19px;color:rgba(255,255,255,.7);font-size:12px}
.ldm-adventure-level{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ldm-adventure-level>span{padding:6px 8px;border-radius:999px;background:#f9b821;color:#071b3b;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ldm-adventure-level>strong{font-size:16px;color:#fff}
.ldm-adventure-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:620px;margin:0 0 7px}
.ldm-adventure-progress-head span,.ldm-adventure-progress-head strong{font-size:9px;color:rgba(255,255,255,.74)}
.ldm-adventure-progress-head strong{color:#fff}
.ldm-adventure-progress{max-width:620px;height:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}
.ldm-adventure-progress i{display:block;height:100%;border-radius:inherit;background:#f9b821}
.ldm-adventure-character{position:relative;display:flex;align-items:flex-end;justify-content:center}
.ldm-adventure-character img{position:relative;z-index:2;max-width:210px;max-height:245px;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(0,0,0,.16))}
.ldm-adventure-orbit{position:absolute;left:50%;top:50%;width:220px;height:220px;transform:translate(-50%,-42%);border:1px solid rgba(255,255,255,.13);border-radius:50%}
.ldm-adventure-orbit:before,.ldm-adventure-orbit:after{content:"";position:absolute;border-radius:50%;background:#f9b821}
.ldm-adventure-orbit:before{width:8px;height:8px;left:20px;top:42px}
.ldm-adventure-orbit:after{width:5px;height:5px;right:25px;bottom:35px}
.ldm-adventure-character>span{position:absolute;z-index:3;right:2px;bottom:7px;padding:6px 9px;border-radius:999px;background:#fff;color:#071b3b;font-size:8px;font-weight:900}
.ldm-adventure-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(7,27,59,.07);background:#fff}
.ldm-adventure-summary>div{padding:16px;text-align:center;border-right:1px solid rgba(7,27,59,.07)}
.ldm-adventure-summary>div:last-child{border-right:0}
.ldm-adventure-summary strong,.ldm-adventure-summary span{display:block}
.ldm-adventure-summary strong{font-size:20px;color:#2370b2}
.ldm-adventure-summary span{margin-top:3px;color:#8894a2;font-size:8px;font-weight:900;text-transform:uppercase}
.ldm-achievement-section{padding:22px 26px 26px}
.ldm-achievement-section h3{margin:2px 0 0}
.ldm-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}
.ldm-achievement{display:flex;align-items:center;gap:11px;min-height:80px;padding:12px;border:1px solid rgba(7,27,59,.07);border-radius:15px}
.ldm-achievement-icon{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:13px;font-size:20px}
.ldm-achievement.is-unlocked{background:linear-gradient(135deg,#fff9e8,#fff)}
.ldm-achievement.is-unlocked .ldm-achievement-icon{background:#fff0bd}
.ldm-achievement.is-locked{background:#f7f8f9;opacity:.58}
.ldm-achievement.is-locked .ldm-achievement-icon{background:#e9edf0;filter:grayscale(1)}
.ldm-achievement strong,.ldm-achievement span,.ldm-achievement small{display:block}
.ldm-achievement strong{font-size:10px}
.ldm-achievement span{margin-top:2px;color:#758294;font-size:8.5px;line-height:1.35}
.ldm-achievement small{margin-top:5px;color:#98a2ad;font-size:7.5px}

.ldm-teacher-adventure{display:flex;align-items:center;justify-content:space-between;gap:24px}
.ldm-teacher-adventure-main{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:16px;flex:1}
.ldm-teacher-adventure-character{display:grid;place-items:center;height:100px;overflow:hidden;border-radius:19px;background:linear-gradient(135deg,#071b3b,#2370b2)}
.ldm-teacher-adventure-character img{max-width:92px;max-height:105px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.13))}
.ldm-teacher-adventure h2{margin:2px 0 4px}
.ldm-teacher-adventure p{margin:0 0 12px;color:#7c8999;font-size:10px}
.ldm-teacher-adventure .ldm-adventure-progress-head span,.ldm-teacher-adventure .ldm-adventure-progress-head strong{color:#657487}
.ldm-teacher-adventure .ldm-adventure-progress{background:#edf1f4}
.ldm-teacher-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:430px}
.ldm-teacher-badges>span{display:inline-flex;padding:7px 9px;border-radius:999px;background:#fff5d8;color:#66501b;font-size:8px;font-weight:900}
.ldm-teacher-badges>small{color:#8d98a5;font-size:9px}
body.ldm-app-page .ldm-adventure-card *,body.ldm-app-page .ldm-teacher-adventure *{text-decoration:none!important}

@media(max-width:1050px){
	.ldm-achievement-grid{grid-template-columns:1fr 1fr}
	.ldm-teacher-adventure{display:block}
	.ldm-teacher-badges{justify-content:flex-start;max-width:none;margin-top:15px}
}
@media(max-width:800px){
	.ldm-adventure-hero{grid-template-columns:1fr;min-height:0}
	.ldm-adventure-character{position:absolute;right:12px;bottom:0;width:180px;height:210px;opacity:.24}
	.ldm-adventure-character img{max-width:165px;max-height:200px}
	.ldm-adventure-copy{padding-right:80px}
	.ldm-adventure-orbit,.ldm-adventure-character>span{display:none}
}
@media(max-width:650px){
	.ldm-adventure-hero{padding:22px}
	.ldm-adventure-copy{padding-right:0}
	.ldm-adventure-character{display:none}
	.ldm-adventure-copy h2{font-size:27px}
	.ldm-adventure-progress-head{align-items:flex-start;flex-direction:column;gap:3px}
	.ldm-adventure-summary{grid-template-columns:1fr 1fr 1fr}
	.ldm-achievement-section{padding:18px}
	.ldm-achievement-grid{grid-template-columns:1fr}
	.ldm-teacher-adventure-main{grid-template-columns:72px 1fr}
	.ldm-teacher-adventure-character{height:72px;border-radius:15px}
	.ldm-teacher-adventure-character img{max-width:68px;max-height:78px}
}


/* =========================================================
   v0.12.0 — LINGODEMY LESSON ROOM
   ========================================================= */
.ldm-lesson-room{
	position:relative;
	overflow:hidden;
	margin-top:14px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:26px;
	background:#f4f7fa;
	box-shadow:0 18px 46px rgba(7,27,59,.10)
}
.ldm-lesson-room.is-saving{cursor:progress}
.ldm-room-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:25px 27px;
	background:
		radial-gradient(circle at 72% -20%,rgba(249,184,33,.25),transparent 32%),
		linear-gradient(135deg,#071b3b 0%,#0d345f 68%,#185e98 100%);
	color:#fff
}
.ldm-room-header .ldm-kicker{color:#78c2eb}
.ldm-room-header h1{
	margin:3px 0 5px;
	color:#fff;
	font-size:34px
}
.ldm-room-header p{
	margin:0;
	color:rgba(255,255,255,.68);
	font-size:11px
}
.ldm-room-header-actions{
	display:flex;
	align-items:stretch;
	gap:8px;
	flex:0 0 auto
}
.ldm-room-video-btn,
.ldm-room-start{
	box-sizing:border-box;
	display:flex;
	align-items:center;
	gap:10px;
	min-height:54px;
	border-radius:14px;
	text-decoration:none!important
}
.ldm-room-video-btn{
	min-width:185px;
	padding:9px 14px;
	border:1px solid rgba(255,255,255,.14);
	background:#f9b821;
	color:#071b3b!important
}
.ldm-room-video-btn>span{font-size:20px}
.ldm-room-video-btn strong,
.ldm-room-video-btn small{display:block}
.ldm-room-video-btn strong{font-size:11px}
.ldm-room-video-btn small{margin-top:2px;font-size:8px;opacity:.65}
.ldm-room-video-btn.is-disabled{
	background:rgba(255,255,255,.08);
	color:#fff!important
}
.ldm-room-start{
	padding:8px 13px;
	border:1px solid rgba(255,255,255,.16);
	background:rgba(255,255,255,.09);
	color:#fff;
	font-size:9px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-start>span{color:#f9b821}
.ldm-room-start.is-started>span{color:#78d85d}
.ldm-room-start.is-started{background:rgba(101,173,76,.14)}

.ldm-room-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 300px;
	gap:0;
	min-height:620px
}
.ldm-room-workspace{
	position:relative;
	min-width:0;
	padding:18px;
	border-right:1px solid rgba(7,27,59,.07)
}
.ldm-room-tools{
	display:flex;
	gap:5px;
	overflow-x:auto;
	padding:5px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:15px;
	background:#fff
}
.ldm-room-tools button{
	display:inline-flex;
	align-items:center;
	gap:6px;
	flex:0 0 auto;
	min-height:40px;
	padding:7px 11px;
	border:0;
	border-radius:10px;
	background:transparent;
	color:#68778a;
	font-size:9px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-tools button.is-active{
	background:#071b3b;
	color:#fff
}
.ldm-room-tools button>span{font-size:14px}
.ldm-room-tools em{
	display:grid;
	place-items:center;
	min-width:18px;
	height:18px;
	padding:0 4px;
	border-radius:999px;
	background:#edf2f5;
	color:#657386;
	font-size:7px;
	font-style:normal
}
.ldm-room-tools button.is-active em{
	background:rgba(255,255,255,.13);
	color:#fff
}
.ldm-room-panel{
	display:none;
	min-height:520px;
	margin-top:12px;
	padding:21px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:19px;
	background:#fff
}
.ldm-room-panel.is-active{display:block}
.ldm-room-panel-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:15px;
	margin-bottom:16px
}
.ldm-room-panel-head h2{margin:2px 0 0}
.ldm-room-plan-counter,
.ldm-room-card-stats,
.ldm-room-quiz-stats{
	display:inline-flex;
	padding:6px 8px;
	border-radius:999px;
	background:#f2f5f7;
	color:#6c7989;
	font-size:8px;
	font-weight:900
}
.ldm-room-goal-form{
	margin-bottom:16px;
	padding:14px;
	border-radius:14px;
	background:#f7f9fb
}
.ldm-room-goal-form label>span,
.ldm-room-card-form label>span,
.ldm-room-quiz-form label>span{
	display:block;
	margin-bottom:5px;
	color:#7a8797;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.06em
}
.ldm-room-goal-form label>div{
	display:grid;
	grid-template-columns:1fr auto;
	gap:7px
}
.ldm-room-goal-form input,
.ldm-room-add-stage input,
.ldm-room-card-form input,
.ldm-room-quiz-form input,
.ldm-room-quiz-form select{
	box-sizing:border-box;
	width:100%;
	min-height:42px;
	padding:8px 11px;
	border:1px solid rgba(7,27,59,.11);
	border-radius:10px;
	background:#fff;
	color:#071b3b;
	font:inherit;
	font-size:10px
}
.ldm-room-goal-form button,
.ldm-room-add-stage button,
.ldm-room-card-form>button,
.ldm-room-quiz-form-bottom>button{
	min-height:42px;
	padding:8px 13px;
	border:0;
	border-radius:10px;
	background:#2370b2;
	color:#fff;
	font-size:9px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-plan-list{display:grid;gap:7px}
.ldm-room-stage{
	display:grid;
	grid-template-columns:38px 1fr auto;
	align-items:center;
	gap:10px;
	padding:9px 10px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:13px;
	background:#fff;
	transition:.15s ease
}
.ldm-room-stage.is-done{
	border-color:rgba(101,173,76,.18);
	background:#f4faF1
}
.ldm-room-stage-check{
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	padding:0;
	border:0;
	border-radius:10px;
	background:#edf2f5;
	color:#647386;
	font-size:10px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-stage.is-done .ldm-room-stage-check{
	background:#65ad4c;
	color:#fff
}
.ldm-room-stage strong,.ldm-room-stage span{display:block}
.ldm-room-stage strong{font-size:10px}
.ldm-room-stage span{margin-top:2px;color:#8995a3;font-size:8px}
.ldm-room-stage.is-done strong{text-decoration:line-through;text-decoration-color:rgba(7,27,59,.22)}
.ldm-room-delete{
	padding:5px 7px;
	border:0;
	border-radius:8px;
	background:transparent;
	color:#9aa4af;
	font-size:13px;
	cursor:pointer
}
.ldm-room-delete:hover{background:#fff0ed;color:#ad4438}
.ldm-room-add-stage{
	display:grid;
	grid-template-columns:1fr auto;
	gap:7px;
	margin-top:11px
}

.ldm-room-card-form,
.ldm-room-quiz-form{
	margin-bottom:17px;
	padding:15px;
	border-radius:15px;
	background:#f7f9fb
}
.ldm-room-card-form>div{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px
}
.ldm-room-card-form>button{margin-top:9px}
.ldm-room-flashcards{
	display:grid;
	place-items:center;
	min-height:310px
}
.ldm-room-card-deck{width:min(100%,570px)}
.ldm-room-card-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:8px;
	color:#7b8898;
	font-size:8px;
	font-weight:900
}
.ldm-room-flashcard{
	width:100%;
	height:240px;
	padding:0;
	border:0;
	border-radius:20px;
	background:transparent;
	perspective:900px;
	cursor:pointer
}
.ldm-room-flashcard-inner{
	position:relative;
	width:100%;
	height:100%;
	transition:transform .42s ease;
	transform-style:preserve-3d
}
.ldm-room-flashcard.is-flipped .ldm-room-flashcard-inner{transform:rotateY(180deg)}
.ldm-room-card-face{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:24px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:20px;
	backface-visibility:hidden;
	box-shadow:0 14px 32px rgba(7,27,59,.08)
}
.ldm-room-card-face.front{
	background:linear-gradient(135deg,#071b3b,#1e639c);
	color:#fff
}
.ldm-room-card-face.back{
	transform:rotateY(180deg);
	background:linear-gradient(135deg,#fff7da,#fff);
	color:#071b3b
}
.ldm-room-card-face small{font-size:8px;letter-spacing:.14em;opacity:.58}
.ldm-room-card-face strong{margin:13px 0;font-size:34px;line-height:1.2;text-align:center}
.ldm-room-card-face span{font-size:8px;opacity:.55}
.ldm-room-card-controls{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:7px;
	margin-top:9px
}
.ldm-room-card-controls button,
.ldm-room-card-nav button{
	min-height:40px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:10px;
	background:#fff;
	color:#607084;
	font-size:8px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-card-controls button.is-selected.practice{background:#fff5d8;border-color:#f9b821;color:#856005}
.ldm-room-card-controls button.is-selected.known{background:#eef9e9;border-color:#65ad4c;color:#448a32}
.ldm-room-card-nav{
	display:flex;
	justify-content:space-between;
	gap:8px;
	margin-top:7px
}
.ldm-room-card-nav button{padding:7px 10px}
.ldm-room-card-nav button:disabled{opacity:.35;cursor:not-allowed}

.ldm-room-options-editor{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
	margin-top:9px
}
.ldm-room-options-editor label{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:5px}
.ldm-room-options-editor label>span{margin:0;text-align:center}
.ldm-room-quiz-form-bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:10px;
	margin-top:9px
}
.ldm-room-quiz-form-bottom label{width:180px}
.ldm-room-helper{
	margin:-5px 0 14px;
	color:#8c97a5;
	font-size:8.5px
}
.ldm-room-quizzes{display:grid;gap:10px}
.ldm-room-quiz-card{
	padding:14px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:15px
}
.ldm-room-quiz-question{
	display:grid;
	grid-template-columns:30px 1fr auto;
	align-items:center;
	gap:9px
}
.ldm-room-quiz-question>span{
	display:grid;
	place-items:center;
	width:28px;
	height:28px;
	border-radius:9px;
	background:#071b3b;
	color:#fff;
	font-size:9px;
	font-weight:900
}
.ldm-room-quiz-question strong{font-size:11px}
.ldm-room-quiz-options{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:7px;
	margin-top:11px
}
.ldm-room-quiz-options button{
	display:flex;
	align-items:center;
	gap:8px;
	min-height:44px;
	padding:8px 10px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:11px;
	background:#f8fafb;
	color:#46576b;
	text-align:left;
	font-size:9px;
	font-weight:800;
	cursor:pointer
}
.ldm-room-quiz-options button>span{
	display:grid;
	place-items:center;
	width:25px;
	height:25px;
	flex:0 0 25px;
	border-radius:8px;
	background:#fff;
	color:#2370b2;
	font-size:8px;
	font-weight:900
}
.ldm-room-quiz-options button.is-selected{border-color:#2370b2}
.ldm-room-quiz-options button.is-correct{background:#eef9e9;border-color:#65ad4c;color:#3c7c2e}
.ldm-room-quiz-options button.is-wrong{background:#fff0ed;border-color:#e1988f;color:#9d473d}
.ldm-room-quiz-result{
	margin-top:8px;
	padding:7px 9px;
	border-radius:9px;
	font-size:8px;
	font-weight:900
}
.ldm-room-quiz-result.is-good{background:#eef9e9;color:#438c33}
.ldm-room-quiz-result.is-bad{background:#fff5d8;color:#8a6508}

.ldm-room-materials{display:grid;gap:7px}
.ldm-room-materials>a{
	display:flex;
	align-items:center;
	gap:10px;
	padding:11px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:12px;
	background:#fff;
	color:#071b3b!important;
	text-decoration:none!important
}
.ldm-room-materials>a>span{font-size:20px}
.ldm-room-materials>a>div{flex:1;min-width:0}
.ldm-room-materials strong,.ldm-room-materials small{display:block}
.ldm-room-materials strong{font-size:10px}
.ldm-room-materials small{margin-top:2px;color:#8894a2;font-size:8px}
.ldm-room-materials em{font-style:normal;color:#7d8998}
.ldm-room-inline-link{font-size:9px;font-weight:900;text-decoration:none!important}
.ldm-room-empty{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-height:250px;
	padding:25px;
	text-align:center
}
.ldm-room-empty.compact{min-height:110px}
.ldm-room-empty>div{font-size:30px}
.ldm-room-empty strong{margin-top:8px;font-size:11px}
.ldm-room-empty span{margin-top:4px;color:#8995a3;font-size:9px}

.ldm-room-sidebar{
	display:grid;
	align-content:start;
	gap:10px;
	padding:18px;
	background:#edf2f6
}
.ldm-room-side-card{
	padding:15px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:16px;
	background:#fff
}
.ldm-room-side-title{
	display:flex;
	align-items:center;
	gap:7px
}
.ldm-room-side-title>span{font-size:15px}
.ldm-room-side-title strong{font-size:10px}
.ldm-room-side-card>p{
	margin:7px 0 10px;
	color:#8490a0;
	font-size:8.5px;
	line-height:1.45
}
.ldm-room-timer{
	margin:13px 0;
	color:#071b3b;
	font-size:38px;
	line-height:1;
	font-weight:900;
	letter-spacing:-.04em;
	text-align:center
}
.ldm-room-timer.is-ending{color:#ba7912}
.ldm-room-timer.is-done{color:#b64b3f}
.ldm-room-timer-presets{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:4px
}
.ldm-room-timer-presets button,
.ldm-room-timer-actions button{
	min-height:32px;
	padding:5px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:8px;
	background:#f6f8fa;
	color:#6c7989;
	font-size:7px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-timer-presets button.is-active{
	background:#071b3b;
	color:#fff
}
.ldm-room-timer-actions{
	display:grid;
	grid-template-columns:1.4fr 1fr;
	gap:5px;
	margin-top:6px
}
.ldm-room-timer-actions .ldm-room-timer-toggle{
	background:#2370b2;
	color:#fff
}
.ldm-room-reactions{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:5px
}
.ldm-room-reactions button{
	display:grid;
	place-items:center;
	height:42px;
	padding:0;
	border:1px solid rgba(7,27,59,.08);
	border-radius:10px;
	background:#f7f9fb;
	font-size:19px;
	cursor:pointer;
	transition:.15s ease
}
.ldm-room-reactions button:hover{transform:translateY(-2px);background:#fff4d2}
.ldm-room-summary-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6px;
	margin:12px 0 9px
}
.ldm-room-summary-grid>div{
	padding:8px;
	border-radius:10px;
	background:#f6f8fa;
	text-align:center
}
.ldm-room-summary-grid strong,.ldm-room-summary-grid span{display:block}
.ldm-room-summary-grid strong{font-size:15px;color:#2370b2}
.ldm-room-summary-grid span{margin-top:2px;color:#929ca8;font-size:7px;font-weight:900;text-transform:uppercase}
.ldm-room-live-summary>small{display:block;color:#929ca8;font-size:7.5px;line-height:1.45}
.ldm-room-student-mini{display:grid;gap:7px;margin-top:11px}
.ldm-room-student-mini>div{display:flex;justify-content:space-between;gap:10px}
.ldm-room-student-mini span{color:#8b96a3;font-size:8px}
.ldm-room-student-mini strong{font-size:8.5px;text-align:right}
.ldm-room-side-card>a{
	display:block;
	margin-top:10px;
	color:#2370b2;
	font-size:8px;
	font-weight:900;
	text-decoration:none!important
}
.ldm-room-reaction-stage{
	position:absolute;
	inset:0;
	z-index:20;
	pointer-events:none;
	overflow:hidden
}
.ldm-room-reaction-stage>span{
	position:absolute;
	left:50%;
	top:48%;
	font-size:84px;
	animation:ldm-room-reaction 1.1s ease-out forwards
}
@keyframes ldm-room-reaction{
	0%{opacity:0;transform:translate(-50%,-20%) scale(.45)}
	30%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
	100%{opacity:0;transform:translate(-50%,-115%) scale(.9)}
}
.ldm-room-toast{
	position:absolute;
	z-index:30;
	left:50%;
	bottom:24px;
	max-width:min(520px,calc(100% - 40px));
	padding:9px 13px;
	border-radius:999px;
	background:#071b3b;
	color:#fff;
	font-size:8.5px;
	font-weight:900;
	opacity:0;
	transform:translate(-50%,10px);
	pointer-events:none;
	transition:.18s ease
}
.ldm-room-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.ldm-room-toast.is-error{background:#a7453b}
.ldm-room-report-summary{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:start;
	gap:15px;
	margin:12px 0 17px;
	padding:12px 14px;
	border:1px solid rgba(35,112,178,.12);
	border-radius:13px;
	background:#f4f9fd
}
.ldm-room-report-summary strong,.ldm-room-report-summary span{display:block}
.ldm-room-report-summary strong{font-size:9px}
.ldm-room-report-summary span{margin-top:2px;color:#8793a1;font-size:7.5px}
.ldm-room-report-summary p{margin:0;color:#526579;font-size:9px;line-height:1.5}

/* neutralize theme underlines */
body.ldm-app-page .ldm-lesson-room a,
body.ldm-app-page .ldm-lesson-room a *,
body.ldm-app-page .ldm-lesson-room button,
body.ldm-app-page .ldm-lesson-room button *{
	text-decoration:none!important
}

@media(max-width:1100px){
	.ldm-room-layout{grid-template-columns:1fr}
	.ldm-room-workspace{border-right:0;border-bottom:1px solid rgba(7,27,59,.07)}
	.ldm-room-sidebar{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
	.ldm-room-header{align-items:flex-start;flex-direction:column}
	.ldm-room-header-actions{width:100%}
	.ldm-room-video-btn{flex:1}
	.ldm-room-start{flex:1;justify-content:center}
}
@media(max-width:700px){
	.ldm-lesson-room{border-radius:20px}
	.ldm-room-header{padding:20px}
	.ldm-room-header h1{font-size:28px}
	.ldm-room-header-actions{display:grid;grid-template-columns:1fr}
	.ldm-room-video-btn{min-width:0}
	.ldm-room-workspace{padding:10px}
	.ldm-room-panel{min-height:0;padding:15px}
	.ldm-room-sidebar{grid-template-columns:1fr;padding:10px}
	.ldm-room-card-form>div,
	.ldm-room-options-editor,
	.ldm-room-quiz-options{grid-template-columns:1fr}
	.ldm-room-quiz-form-bottom{align-items:stretch;flex-direction:column}
	.ldm-room-quiz-form-bottom label{width:100%}
	.ldm-room-flashcard{height:205px}
	.ldm-room-card-face strong{font-size:28px}
	.ldm-room-report-summary{grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){
	.ldm-room-flashcard-inner,
	.ldm-room-reactions button,
	.ldm-room-toast{transition:none}
	.ldm-room-reaction-stage>span{animation:none}
}


/* =========================================================
   v0.13.0 — synchronized student screen
   ========================================================= */

/* Teacher Lesson Room live controls */
.ldm-room-student-screen-btn{
	box-sizing:border-box;
	display:flex;
	align-items:center;
	gap:9px;
	min-height:54px;
	padding:9px 13px;
	border:1px solid rgba(255,255,255,.16);
	border-radius:14px;
	background:rgba(255,255,255,.09);
	color:#fff!important;
	text-decoration:none!important
}
.ldm-room-student-screen-btn>span{font-size:19px}
.ldm-room-student-screen-btn strong,
.ldm-room-student-screen-btn small{display:block}
.ldm-room-student-screen-btn strong{font-size:10px}
.ldm-room-student-screen-btn small{margin-top:2px;color:rgba(255,255,255,.58);font-size:7.5px}

.ldm-room-live-strip{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:9px;
	padding:9px 11px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:12px;
	background:#fff
}
.ldm-room-live-strip>div{
	display:grid;
	grid-template-columns:auto auto 1fr;
	align-items:center;
	gap:6px
}
.ldm-room-presence-dot{
	display:block;
	width:8px;
	height:8px;
	border-radius:50%;
	background:#aab2bc;
	box-shadow:0 0 0 3px rgba(170,178,188,.12)
}
.ldm-room-presence-dot.is-online{
	background:#65ad4c;
	box-shadow:0 0 0 3px rgba(101,173,76,.14)
}
.ldm-room-live-strip strong{font-size:8.5px}
.ldm-room-live-strip small{color:#8c97a4;font-size:8px}
.ldm-room-stop-share{
	min-height:31px;
	padding:5px 9px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:9px;
	background:#f7f9fb;
	color:#667589;
	font-size:7.5px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-stop-share:disabled{opacity:.38;cursor:not-allowed}

.ldm-room-card-top-actions,
.ldm-room-quiz-head-actions{
	display:flex;
	align-items:center;
	gap:5px
}
.ldm-room-share-btn{
	min-height:29px;
	padding:5px 8px;
	border:1px solid rgba(35,112,178,.15);
	border-radius:8px;
	background:#eef6fc;
	color:#2370b2;
	font-size:7.5px;
	font-weight:900;
	cursor:pointer
}
.ldm-room-share-btn.is-live{
	border-color:#65ad4c;
	background:#eef9e9;
	color:#438b32
}
.ldm-room-quiz-question{
	grid-template-columns:30px 1fr auto
}
.ldm-room-side-links{display:grid;gap:5px;margin-top:10px}
.ldm-room-side-links>a{margin:0!important}

/* Parent reservation secondary student button */
body.ldm-app-page .ldm-student-room-link{
	white-space:nowrap;
	text-decoration:none!important
}

/* Full student experience */
body.ldm-app-page:has(.ldm-student-room){
	background:#f2f6f9
}
body.ldm-app-page:has(.ldm-student-room) .site-content,
body.ldm-app-page:has(.ldm-student-room) .entry-content,
body.ldm-app-page:has(.ldm-student-room) main{
	padding-top:0!important
}
body.ldm-app-page .entry-content > .ldm-student-room,
body.ldm-app-page .page-content > .ldm-student-room{
	max-width:1440px!important;
	width:min(1440px,calc(100% - 32px))!important;
	margin:18px auto!important
}
.ldm-student-room{
	position:relative;
	min-height:720px;
	overflow:hidden;
	border:1px solid rgba(7,27,59,.08);
	border-radius:28px;
	background:
		radial-gradient(circle at 12% 5%,rgba(249,184,33,.15),transparent 23%),
		linear-gradient(180deg,#fbfdff 0%,#f3f7fa 100%);
	box-shadow:0 24px 60px rgba(7,27,59,.12);
	color:#071b3b
}
.ldm-student-room-head{
	display:grid;
	grid-template-columns:1fr auto 1fr;
	align-items:center;
	gap:18px;
	padding:15px 20px;
	border-bottom:1px solid rgba(7,27,59,.07);
	background:rgba(255,255,255,.92)
}
.ldm-student-brand{
	display:flex;
	align-items:center;
	gap:9px
}
.ldm-student-brand-mark{
	display:grid;
	place-items:center;
	width:37px;
	height:37px;
	border-radius:12px;
	background:#071b3b;
	color:#f9b821;
	font-size:19px;
	font-weight:900
}
.ldm-student-brand strong,.ldm-student-brand span{display:block}
.ldm-student-brand strong{font-size:12px}
.ldm-student-brand span{margin-top:1px;color:#8491a0;font-size:7.5px}
.ldm-student-lesson-meta{text-align:center}
.ldm-student-lesson-meta strong,.ldm-student-lesson-meta span{display:block}
.ldm-student-lesson-meta strong{font-size:11px}
.ldm-student-lesson-meta span{margin-top:2px;color:#82909f;font-size:8px}
.ldm-student-head-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:8px
}
.ldm-student-sync{
	display:flex;
	align-items:center;
	gap:6px;
	padding:8px 10px;
	border-radius:999px;
	background:#eef8ea;
	color:#488e35;
	font-size:8px
}
.ldm-student-sync i{
	width:7px;
	height:7px;
	border-radius:50%;
	background:#65ad4c
}
.ldm-student-sync.is-offline{
	background:#f2f3f4;
	color:#8994a2
}
.ldm-student-sync.is-offline i{background:#a7afb8}
.ldm-student-head-actions>a{
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:8px 12px;
	border-radius:11px;
	background:#f9b821;
	color:#071b3b!important;
	font-size:8px;
	font-weight:900;
	text-decoration:none!important
}

.ldm-student-stage{
	position:relative;
	display:grid;
	grid-template-columns:minmax(220px,280px) minmax(0,1fr);
	gap:22px;
	min-height:600px;
	padding:24px
}
.ldm-student-mission{
	align-self:start;
	padding:18px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:19px;
	background:#071b3b;
	color:#fff
}
.ldm-student-mission>span{
	display:block;
	color:#79c2e9;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.09em
}
.ldm-student-mission>strong{
	display:block;
	margin:7px 0 15px;
	font-size:14px;
	line-height:1.45
}
.ldm-student-mission>div{
	height:8px;
	overflow:hidden;
	border-radius:999px;
	background:rgba(255,255,255,.12)
}
.ldm-student-mission>div i{
	display:block;
	height:100%;
	border-radius:inherit;
	background:#f9b821;
	transition:width .25s ease
}
.ldm-student-mission>small{
	display:block;
	margin-top:6px;
	color:rgba(255,255,255,.55);
	font-size:8px
}
.ldm-student-activity{
	display:grid;
	place-items:center;
	min-width:0;
	padding:12px
}
.ldm-student-activity.is-new{
	animation:ldm-student-enter .32s ease-out
}
@keyframes ldm-student-enter{
	from{opacity:.3;transform:translateY(8px) scale(.99)}
	to{opacity:1;transform:none}
}
.ldm-student-activity-shell{
	width:min(100%,800px);
	text-align:center
}
.ldm-student-activity-label{
	display:inline-flex;
	margin-bottom:13px;
	padding:7px 10px;
	border-radius:999px;
	background:#eaf2f8;
	color:#2370b2;
	font-size:8px;
	font-weight:900;
	letter-spacing:.08em
}
.ldm-student-activity-shell.quiz>h1{
	max-width:780px;
	margin:0 auto 24px;
	font-size:clamp(28px,4vw,46px);
	line-height:1.15
}

/* Student waiting */
.ldm-student-waiting{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:min(100%,760px);
	min-height:470px;
	text-align:center
}
.ldm-student-waiting img{
	position:relative;
	z-index:2;
	max-width:190px;
	max-height:210px;
	object-fit:contain;
	filter:drop-shadow(0 18px 20px rgba(7,27,59,.14))
}
.ldm-student-waiting-orbit{
	position:absolute;
	top:47px;
	left:50%;
	width:250px;
	height:250px;
	transform:translateX(-50%);
	border:1px solid rgba(35,112,178,.12);
	border-radius:50%
}
.ldm-student-waiting-orbit:before,
.ldm-student-waiting-orbit:after{
	content:"";
	position:absolute;
	width:8px;
	height:8px;
	border-radius:50%;
	background:#f9b821
}
.ldm-student-waiting-orbit:before{left:22px;top:52px}
.ldm-student-waiting-orbit:after{right:24px;bottom:43px;width:5px;height:5px}
.ldm-student-waiting-orbit span{
	position:absolute;
	right:7px;
	top:54px;
	font-size:20px
}
.ldm-student-kicker{
	position:relative;
	z-index:2;
	margin-top:4px;
	color:#2370b2;
	font-size:9px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em
}
.ldm-student-waiting h1{
	position:relative;
	z-index:2;
	margin:6px 0;
	font-size:32px
}
.ldm-student-waiting p{
	position:relative;
	z-index:2;
	margin:0;
	color:#82909f;
	font-size:11px
}
.ldm-student-dots{
	display:flex;
	gap:5px;
	margin-top:17px
}
.ldm-student-dots i{
	width:7px;
	height:7px;
	border-radius:50%;
	background:#2370b2;
	animation:ldm-student-dot 1.15s infinite ease-in-out
}
.ldm-student-dots i:nth-child(2){animation-delay:.15s}
.ldm-student-dots i:nth-child(3){animation-delay:.3s}
@keyframes ldm-student-dot{
	0%,80%,100%{opacity:.25;transform:translateY(0)}
	40%{opacity:1;transform:translateY(-5px)}
}

/* Student flashcard */
.ldm-student-flashcard{
	display:block;
	width:min(100%,690px);
	height:350px;
	margin:0 auto;
	padding:0;
	border:0;
	background:transparent;
	perspective:1000px;
	cursor:pointer
}
.ldm-student-flashcard-inner{
	position:relative;
	width:100%;
	height:100%;
	transform-style:preserve-3d;
	transition:transform .45s ease
}
.ldm-student-flashcard.is-flipped .ldm-student-flashcard-inner{
	transform:rotateY(180deg)
}
.ldm-student-card-face{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:32px;
	border-radius:28px;
	backface-visibility:hidden;
	box-shadow:0 22px 48px rgba(7,27,59,.12)
}
.ldm-student-card-face.front{
	background:linear-gradient(135deg,#071b3b,#17609a);
	color:#fff
}
.ldm-student-card-face.back{
	transform:rotateY(180deg);
	background:linear-gradient(135deg,#fff4c9,#fff);
	color:#071b3b
}
.ldm-student-card-face small{
	font-size:9px;
	font-weight:900;
	letter-spacing:.13em;
	opacity:.56
}
.ldm-student-card-face strong{
	margin:18px 0;
	font-size:clamp(38px,6vw,64px);
	line-height:1.05;
	text-align:center
}
.ldm-student-card-face span{
	font-size:9px;
	opacity:.58
}
.ldm-student-card-answer{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px;
	width:min(100%,690px);
	margin:12px auto 0
}
.ldm-student-card-answer button{
	min-height:54px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:15px;
	background:#fff;
	color:#657487;
	font-size:10px;
	font-weight:900;
	cursor:pointer
}
.ldm-student-card-answer button.practice.is-selected{
	border-color:#f9b821;
	background:#fff4cf;
	color:#876207
}
.ldm-student-card-answer button.known.is-selected{
	border-color:#65ad4c;
	background:#edf8e8;
	color:#438b31
}

/* Student quiz */
.ldm-student-quiz-options{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	width:min(100%,840px);
	margin:0 auto
}
.ldm-student-quiz-options button{
	display:flex;
	align-items:center;
	gap:14px;
	min-height:84px;
	padding:15px 17px;
	border:2px solid rgba(7,27,59,.07);
	border-radius:19px;
	background:#fff;
	color:#071b3b;
	text-align:left;
	box-shadow:0 10px 26px rgba(7,27,59,.06);
	cursor:pointer;
	transition:.15s ease
}
.ldm-student-quiz-options button:not(:disabled):hover{
	transform:translateY(-2px);
	border-color:rgba(35,112,178,.28)
}
.ldm-student-quiz-options button>span{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	flex:0 0 42px;
	border-radius:13px;
	background:#eaf2f8;
	color:#2370b2;
	font-size:13px;
	font-weight:900
}
.ldm-student-quiz-options button strong{
	font-size:14px;
	line-height:1.3
}
.ldm-student-quiz-options button.is-correct{
	border-color:#65ad4c;
	background:#f1f9ed
}
.ldm-student-quiz-options button.is-correct>span{
	background:#65ad4c;
	color:#fff
}
.ldm-student-quiz-options button.is-wrong{
	border-color:#dc8f86;
	background:#fff1ef
}
.ldm-student-quiz-options button.is-wrong>span{
	background:#c95e52;
	color:#fff
}
.ldm-student-hint{
	margin:17px 0 0;
	color:#8491a0;
	font-size:10px
}
.ldm-student-result{
	display:inline-flex;
	margin-top:18px;
	padding:11px 15px;
	border-radius:999px;
	font-size:11px;
	font-weight:900
}
.ldm-student-result.is-good{
	background:#eaf7e5;
	color:#458e32
}
.ldm-student-result.is-try{
	background:#fff3d1;
	color:#8a6306
}

/* Student reaction / toast */
.ldm-student-reaction-layer{
	position:absolute;
	inset:0;
	z-index:20;
	overflow:hidden;
	pointer-events:none
}
.ldm-student-reaction-layer>span{
	position:absolute;
	left:50%;
	top:48%;
	font-size:130px;
	animation:ldm-student-reaction 1.55s ease-out forwards
}
@keyframes ldm-student-reaction{
	0%{opacity:0;transform:translate(-50%,0) scale(.4)}
	25%{opacity:1;transform:translate(-50%,-45%) scale(1.25)}
	100%{opacity:0;transform:translate(-50%,-135%) scale(.85)}
}
.ldm-student-toast{
	position:absolute;
	z-index:25;
	left:50%;
	bottom:26px;
	max-width:calc(100% - 32px);
	padding:10px 14px;
	border-radius:999px;
	background:#071b3b;
	color:#fff;
	font-size:9px;
	font-weight:900;
	opacity:0;
	transform:translate(-50%,10px);
	transition:.18s ease;
	pointer-events:none
}
.ldm-student-toast.is-visible{
	opacity:1;
	transform:translate(-50%,0)
}
.ldm-student-toast.is-error{background:#a94b40}

.ldm-student-room-foot{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:66px;
	padding:9px 20px;
	border-top:1px solid rgba(7,27,59,.07);
	background:#fff
}
.ldm-student-room-foot img{
	width:46px;
	height:46px;
	object-fit:contain
}
.ldm-student-room-foot strong,
.ldm-student-room-foot span{display:block}
.ldm-student-room-foot strong{font-size:9px}
.ldm-student-room-foot span{margin-top:2px;color:#8894a1;font-size:8px}

/* no inherited link underlines */
body.ldm-app-page .ldm-student-room a,
body.ldm-app-page .ldm-student-room a *,
body.ldm-app-page .ldm-student-room button,
body.ldm-app-page .ldm-student-room button *{
	text-decoration:none!important
}

@media(max-width:1000px){
	.ldm-room-header-actions{flex-wrap:wrap}
	.ldm-student-stage{grid-template-columns:1fr}
	.ldm-student-mission{
		display:grid;
		grid-template-columns:auto 1fr auto;
		align-items:center;
		gap:8px 14px
	}
	.ldm-student-mission>span{grid-column:1}
	.ldm-student-mission>strong{grid-column:2;margin:0}
	.ldm-student-mission>div{grid-column:1/-1}
	.ldm-student-mission>small{grid-column:3;grid-row:1;margin:0}
}
@media(max-width:800px){
	.ldm-student-room-head{
		grid-template-columns:1fr auto;
	}
	.ldm-student-lesson-meta{
		grid-column:1/-1;
		grid-row:2;
		padding-top:8px;
		border-top:1px solid rgba(7,27,59,.06)
	}
	.ldm-student-head-actions{grid-column:2;grid-row:1}
	.ldm-student-quiz-options{grid-template-columns:1fr}
}
@media(max-width:650px){
	body.ldm-app-page .entry-content > .ldm-student-room,
	body.ldm-app-page .page-content > .ldm-student-room{
		width:calc(100% - 16px)!important;
		margin:8px auto!important
	}
	.ldm-student-room{
		min-height:0;
		border-radius:20px
	}
	.ldm-student-room-head{
		padding:12px;
		gap:10px
	}
	.ldm-student-brand span{display:none}
	.ldm-student-sync b{display:none}
	.ldm-student-head-actions>a{
		padding:8px 9px;
		font-size:7.5px
	}
	.ldm-student-stage{
		min-height:530px;
		padding:12px;
		gap:12px
	}
	.ldm-student-mission{
		display:block;
		padding:13px
	}
	.ldm-student-mission>strong{margin:5px 0 10px;font-size:12px}
	.ldm-student-mission>small{margin-top:5px}
	.ldm-student-activity{padding:4px}
	.ldm-student-waiting{min-height:360px}
	.ldm-student-waiting img{max-width:145px;max-height:170px}
	.ldm-student-waiting h1{font-size:25px}
	.ldm-student-flashcard{height:255px}
	.ldm-student-card-face{padding:20px;border-radius:20px}
	.ldm-student-card-face strong{font-size:38px}
	.ldm-student-card-answer button{min-height:48px;font-size:9px}
	.ldm-student-activity-shell.quiz>h1{font-size:27px;margin-bottom:16px}
	.ldm-student-quiz-options{gap:8px}
	.ldm-student-quiz-options button{min-height:64px;padding:10px 12px;border-radius:15px}
	.ldm-student-quiz-options button>span{width:34px;height:34px;flex-basis:34px}
	.ldm-student-quiz-options button strong{font-size:11px}
	.ldm-student-room-foot{justify-content:flex-start}
}

@media(prefers-reduced-motion:reduce){
	.ldm-student-activity.is-new,
	.ldm-student-dots i,
	.ldm-student-reaction-layer>span{
		animation:none!important
	}
	.ldm-student-flashcard-inner,
	.ldm-student-toast,
	.ldm-student-quiz-options button{
		transition:none!important
	}
}


/* v0.13.1 — live connection state */
.ldm-student-sync.is-connecting{
	background:#fff5d8;
	color:#8a6508
}
.ldm-student-sync.is-connecting i{
	background:#f9b821;
	animation:ldm-sync-pulse 1s ease-in-out infinite
}
@keyframes ldm-sync-pulse{
	0%,100%{opacity:.35}
	50%{opacity:1}
}
@media(prefers-reduced-motion:reduce){
	.ldm-student-sync.is-connecting i{animation:none}
}


/* v0.13.2 — visible Lesson Room JS boot status */
.ldm-room-js-check{
	display:flex;
	align-items:center;
	gap:7px;
	margin-top:9px;
	padding:8px 10px;
	border:1px solid rgba(249,184,33,.24);
	border-radius:11px;
	background:#fff8e6;
	color:#83600b;
	font-size:8px
}
.ldm-room-js-dot{
	width:7px;
	height:7px;
	flex:0 0 7px;
	border-radius:50%;
	background:#f9b821
}
.ldm-room-js-check.is-ready{
	border-color:rgba(101,173,76,.18);
	background:#f1f9ed;
	color:#478d35
}
.ldm-room-js-check.is-ready .ldm-room-js-dot{
	background:#65ad4c
}


/* =========================================================
   v0.14.0 — LIVE GAMES
   ========================================================= */

/* Teacher game builder */
.ldm-room-game-builder{
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:13px;
	margin-bottom:16px;
	padding:14px;
	border-radius:16px;
	background:#f7f9fb
}
.ldm-room-game-type-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6px
}
.ldm-room-game-type-grid>button{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	min-height:82px;
	padding:10px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:12px;
	background:#fff;
	color:#69778a;
	text-align:left;
	cursor:pointer
}
.ldm-room-game-type-grid>button.is-active{
	border-color:#2370b2;
	background:#eef6fc;
	color:#071b3b
}
.ldm-room-game-type-grid span{font-size:18px}
.ldm-room-game-type-grid strong{margin-top:4px;font-size:9px}
.ldm-room-game-type-grid small{margin-top:2px;font-size:7px;color:#8b96a4}
.ldm-room-game-form{display:grid;gap:9px}
.ldm-room-game-form label>span{
	display:block;
	margin-bottom:5px;
	color:#7a8797;
	font-size:8px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.06em
}
.ldm-room-game-form input,
.ldm-room-game-form textarea{
	box-sizing:border-box;
	width:100%;
	min-height:42px;
	padding:8px 11px;
	border:1px solid rgba(7,27,59,.11);
	border-radius:10px;
	background:#fff;
	color:#071b3b;
	font:inherit;
	font-size:10px
}
.ldm-room-game-form textarea{resize:vertical}
.ldm-room-game-form label>small{
	display:block;
	margin-top:4px;
	color:#8b96a4;
	font-size:7.5px
}
.ldm-game-builder-help{
	padding:10px 11px;
	border:1px solid rgba(35,112,178,.10);
	border-radius:11px;
	background:#fff
}
.ldm-game-builder-help strong{font-size:9px}
.ldm-game-builder-help p{margin:4px 0 0;color:#7e8a9a;font-size:8px;line-height:1.45}
.ldm-room-games{display:grid;gap:8px}
.ldm-room-game-card{
	display:grid;
	grid-template-columns:46px minmax(0,1fr) auto;
	align-items:center;
	gap:11px;
	padding:11px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:14px;
	background:#fff
}
.ldm-room-game-card.is-completed{background:#f3faef;border-color:rgba(101,173,76,.2)}
.ldm-room-game-icon{
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	border-radius:13px;
	background:#eef5fb;
	font-size:20px
}
.ldm-room-game-main>div{display:flex;align-items:center;gap:6px}
.ldm-room-game-main>div span{
	color:#7a8798;
	font-size:7.5px;
	font-weight:900;
	text-transform:uppercase
}
.ldm-room-game-main>div em{
	padding:3px 5px;
	border-radius:999px;
	background:#e8f5e3;
	color:#438d32;
	font-size:6.5px;
	font-style:normal;
	font-weight:900
}
.ldm-room-game-main>strong{display:block;margin-top:3px;font-size:10px}
.ldm-room-game-main>small{display:block;margin-top:3px;color:#8b96a4;font-size:7.5px}
.ldm-room-game-actions{display:flex;align-items:center;gap:5px}
.ldm-room-game-actions>button:not(.ldm-room-share-btn):not(.ldm-room-delete){
	min-height:29px;
	padding:5px 7px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:8px;
	background:#f7f9fb;
	color:#69778a;
	font-size:7px;
	font-weight:900;
	cursor:pointer
}

/* Student live game shared pieces */
.ldm-student-activity-shell.game{
	width:min(100%,900px)
}
.ldm-student-game-title{
	margin:0 0 12px;
	font-size:clamp(27px,4vw,42px)
}
.ldm-student-game-meta{
	display:flex;
	justify-content:center;
	gap:7px;
	margin-bottom:13px
}
.ldm-student-game-meta span{
	padding:6px 8px;
	border-radius:999px;
	background:#eef3f7;
	color:#708094;
	font-size:8px;
	font-weight:900
}
.ldm-student-game-instruction{
	margin:0 0 14px;
	color:#788697;
	font-size:10px
}

/* Memory */
.ldm-student-memory-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:9px;
	width:min(100%,780px);
	margin:0 auto
}
.ldm-student-memory-grid button{
	position:relative;
	min-height:112px;
	padding:9px;
	border:2px solid rgba(7,27,59,.07);
	border-radius:16px;
	background:linear-gradient(135deg,#0a2a52,#2370b2);
	color:#fff;
	cursor:pointer;
	overflow:hidden
}
.ldm-student-memory-grid .cover{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,#071b3b,#2370b2);
	font-size:28px;
	font-weight:900
}
.ldm-student-memory-grid button strong{
	display:block;
	font-size:clamp(12px,2vw,18px);
	line-height:1.25
}
.ldm-student-memory-grid button.is-open .cover,
.ldm-student-memory-grid button.is-matched .cover,
.ldm-student-memory-grid button.is-mismatch .cover{
	display:none
}
.ldm-student-memory-grid button.is-open{
	background:#fff5d8;
	color:#071b3b;
	border-color:#f9b821
}
.ldm-student-memory-grid button.is-matched{
	background:#eff9ea;
	color:#397b2c;
	border-color:#65ad4c
}
.ldm-student-memory-grid button.is-mismatch{
	background:#fff0ed;
	color:#9c463d;
	border-color:#d98278
}

/* Match */
.ldm-student-match-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
	width:min(100%,800px);
	margin:0 auto
}
.ldm-student-match-column{display:grid;gap:8px}
.ldm-student-match-column button{
	min-height:56px;
	padding:10px 13px;
	border:2px solid rgba(7,27,59,.07);
	border-radius:14px;
	background:#fff;
	color:#071b3b;
	font-size:11px;
	font-weight:900;
	cursor:pointer
}
.ldm-student-match-column:first-child button{background:#eef6fc}
.ldm-student-match-column button.is-selected{
	border-color:#f9b821;
	background:#fff5d8
}
.ldm-student-match-column button.is-matched{
	border-color:#65ad4c;
	background:#eef9e9;
	color:#438b32
}

/* Sentence scramble */
.ldm-student-sentence-answer{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	flex-wrap:wrap;
	min-height:92px;
	width:min(100%,820px);
	margin:0 auto 15px;
	padding:14px;
	border:2px dashed rgba(35,112,178,.22);
	border-radius:17px;
	background:#fbfdff
}
.ldm-student-sentence-answer>span{color:#9aa4af;font-size:10px}
.ldm-student-sentence-answer button,
.ldm-student-sentence-bank button{
	min-height:42px;
	padding:8px 11px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:11px;
	background:#fff;
	color:#071b3b;
	font-size:10px;
	font-weight:900;
	cursor:pointer
}
.ldm-student-sentence-answer button{background:#fff3cc;border-color:#f9b821}
.ldm-student-sentence-bank{
	display:flex;
	justify-content:center;
	gap:7px;
	flex-wrap:wrap;
	width:min(100%,820px);
	margin:0 auto
}
.ldm-student-sentence-bank button:disabled{opacity:.28}
.ldm-student-game-actions{
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:16px
}
.ldm-student-game-actions button{
	min-height:44px;
	padding:9px 14px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:12px;
	background:#fff;
	color:#69778a;
	font-size:9px;
	font-weight:900;
	cursor:pointer
}
.ldm-student-game-actions button.primary{
	border-color:#2370b2;
	background:#2370b2;
	color:#fff
}

/* What's Missing */
.ldm-student-missing-line{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin:18px auto 24px
}
.ldm-student-missing-line span{
	display:grid;
	place-items:center;
	min-width:90px;
	min-height:66px;
	padding:10px;
	border-radius:15px;
	background:#fff;
	border:1px solid rgba(7,27,59,.08);
	font-size:14px;
	font-weight:900;
	box-shadow:0 8px 20px rgba(7,27,59,.05)
}
.ldm-student-missing-line span.is-blank{
	border:2px dashed #f9b821;
	background:#fff8df;
	color:#b1800a;
	font-size:25px
}
.ldm-student-missing-options{
	display:flex;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
	width:min(100%,800px);
	margin:0 auto
}
.ldm-student-missing-options button{
	min-height:48px;
	padding:9px 14px;
	border:2px solid rgba(7,27,59,.07);
	border-radius:13px;
	background:#fff;
	color:#071b3b;
	font-size:10px;
	font-weight:900;
	cursor:pointer
}
.ldm-student-missing-options button.is-selected{border-color:#2370b2;background:#eef6fc}

@media(max-width:900px){
	.ldm-room-game-builder{grid-template-columns:1fr}
	.ldm-room-game-type-grid{grid-template-columns:repeat(4,1fr)}
	.ldm-room-game-card{grid-template-columns:42px 1fr}
	.ldm-room-game-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:650px){
	.ldm-room-game-type-grid{grid-template-columns:1fr 1fr}
	.ldm-student-memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
	.ldm-student-memory-grid button{min-height:84px;border-radius:12px}
	.ldm-student-match-grid{grid-template-columns:1fr;gap:10px}
	.ldm-student-missing-line span{min-width:70px;min-height:55px}
}


/* v0.14.1 — Sentence Scramble real reordering */
.ldm-student-sentence-answer{align-items:stretch}
.ldm-sentence-selected-word{display:grid;grid-template-columns:28px auto 28px;align-items:center;gap:3px;padding:4px;border:1px solid rgba(249,184,33,.75);border-radius:13px;background:#fff3cc;cursor:grab;transition:border-color .12s ease,transform .12s ease,opacity .12s ease}
.ldm-sentence-selected-word:active{cursor:grabbing}
.ldm-sentence-selected-word.is-dragging{opacity:.42}
.ldm-sentence-selected-word.is-drag-over{border-color:#2370b2;transform:translateY(-2px)}
.ldm-sentence-selected-word .ldm-sentence-word{min-height:38px;padding:6px 8px;border:0;background:transparent;color:#071b3b;font-size:10px;font-weight:900;cursor:pointer}
.ldm-sentence-selected-word .ldm-sentence-move{display:grid;place-items:center;width:28px;height:30px;min-height:0;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.72);color:#6e7784;font-size:11px;font-weight:900;cursor:pointer}
.ldm-sentence-selected-word .ldm-sentence-move:disabled{opacity:.22;cursor:not-allowed}
.ldm-student-sentence-bank button{transition:opacity .12s ease,transform .12s ease}
.ldm-student-sentence-bank button:not(:disabled):hover{transform:translateY(-1px)}
@media(max-width:650px){.ldm-sentence-selected-word{grid-template-columns:25px auto 25px}.ldm-sentence-selected-word .ldm-sentence-move{width:25px;height:28px}}


/* v0.14.2 — Sentence interaction hardening */
.ldm-student-game-actions button{
	cursor:pointer!important;
	pointer-events:auto!important
}
.ldm-student-game-actions button:active,
.ldm-sentence-selected-word .ldm-sentence-move:active,
.ldm-sentence-selected-word .ldm-sentence-word:active{
	transform:translateY(1px)
}
.ldm-student-game-actions button:disabled{
	opacity:.55;
	cursor:wait!important
}


/* v0.14.3 — Sentence local-first synchronization */
.ldm-student-sentence-answer{min-height:100px}
.ldm-sentence-selected-word{user-select:none}
.ldm-sentence-selected-word .ldm-sentence-word,
.ldm-student-sentence-bank button:not(:disabled),
.ldm-student-game-actions button{touch-action:manipulation}


/* v0.14.4 — game builder / interaction fixes */
.ldm-game-pair-fields{
	padding:10px 11px;
	border:1px solid rgba(35,112,178,.12);
	border-radius:11px;
	background:#fff
}
.ldm-game-pair-fields>strong{
	display:block;
	font-size:9px
}
.ldm-game-pair-fields>p{
	margin:4px 0 8px;
	color:#7e8a9a;
	font-size:8px;
	line-height:1.45
}
.ldm-game-pair-fields textarea{
	min-height:116px
}
.ldm-game-current-type{
	padding:7px 9px;
	border-radius:9px;
	background:#eef6fc;
	color:#607389;
	font-size:8px
}
.ldm-game-current-type strong{
	color:#2370b2
}
.ldm-student-missing-options button:not(:disabled),
.ldm-student-match-column button:not(:disabled),
.ldm-student-memory-grid button:not(:disabled){
	pointer-events:auto!important;
	cursor:pointer!important
}


/* v0.14.5 — local-first games */
.ldm-student-match-column button,
.ldm-student-sentence-bank button,
.ldm-sentence-selected-word button,
.ldm-student-missing-options button{
	position:relative;
	z-index:2;
	pointer-events:auto!important;
	cursor:pointer!important;
	touch-action:manipulation
}
.ldm-student-match-column button:active,
.ldm-student-sentence-bank button:active,
.ldm-student-missing-options button:active{
	transform:translateY(1px)
}


/* v0.14.6 — interaction capture hardening */
.ldm-student-flashcard,
.ldm-student-flashcard *,
.ldm-student-match-column button,
.ldm-student-sentence-bank button,
.ldm-sentence-selected-word,
.ldm-sentence-selected-word button,
.ldm-student-game-actions button,
.ldm-student-missing-options button{
	pointer-events:auto!important
}
.ldm-student-flashcard{
	position:relative;
	z-index:3
}
.ldm-pointer-hit{
	outline:3px solid rgba(35,112,178,.16)!important;
	outline-offset:2px
}


/* =========================================================
   v0.15.0 — reusable activity library
   ========================================================= */
.ldm-library-save-card{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,1.15fr);
	gap:15px;
	align-items:center;
	padding:16px;
	border:1px solid rgba(35,112,178,.12);
	border-radius:16px;
	background:linear-gradient(135deg,#f7fbff,#fff)
}
.ldm-library-save-card>div>strong{font-size:11px}
.ldm-library-save-card>div>p{margin:5px 0 0;color:#7b8998;font-size:8.5px;line-height:1.5}
.ldm-library-save-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,.8fr) auto;gap:7px}
.ldm-library-save-form input,
.ldm-library-save-form select{
	box-sizing:border-box;
	width:100%;
	min-height:40px;
	padding:7px 10px;
	border:1px solid rgba(7,27,59,.10);
	border-radius:10px;
	background:#fff;
	font:inherit;
	font-size:8.5px
}
.ldm-library-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:15px 0 8px
}
.ldm-library-toolbar strong,.ldm-library-toolbar small{display:block}
.ldm-library-toolbar strong{font-size:10px}
.ldm-library-toolbar small{margin-top:3px;color:#8a96a3;font-size:7.5px}
.ldm-library-refresh{
	min-height:33px;
	padding:6px 9px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:9px;
	background:#fff;
	color:#667589;
	font-size:7.5px;
	font-weight:900;
	cursor:pointer
}
.ldm-library-list{display:grid;gap:8px}
.ldm-library-item{
	display:grid;
	grid-template-columns:46px minmax(0,1fr) auto;
	align-items:center;
	gap:11px;
	padding:11px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:14px;
	background:#fff
}
.ldm-library-icon{
	display:grid;
	place-items:center;
	width:44px;
	height:44px;
	border-radius:13px;
	background:#eef5fb;
	font-size:20px
}
.ldm-library-main>span{
	display:block;
	color:#7d8997;
	font-size:7px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em
}
.ldm-library-main>strong{display:block;margin-top:2px;font-size:10px}
.ldm-library-main>small{display:block;margin-top:3px;color:#8c97a4;font-size:7.5px}
.ldm-library-actions{display:flex;align-items:center;gap:5px}
.ldm-library-actions button{
	min-height:31px;
	padding:5px 8px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:8px;
	background:#f7f9fb;
	color:#667589;
	font-size:7px;
	font-weight:900;
	cursor:pointer
}
.ldm-library-actions button.primary{border-color:#2370b2;background:#2370b2;color:#fff}
.ldm-library-actions button.danger{color:#a44e44}

@media(max-width:1000px){
	.ldm-library-save-card{grid-template-columns:1fr}
	.ldm-library-save-form{grid-template-columns:1fr 1fr auto}
	.ldm-library-item{grid-template-columns:42px 1fr}
	.ldm-library-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:650px){
	.ldm-library-save-form{grid-template-columns:1fr}
	.ldm-library-actions{justify-content:flex-start;flex-wrap:wrap}
}


/* v0.15.1 — platform frontend must not inherit WP admin toolbar spacing */
body.ldm-app-page #wpadminbar{
	display:none!important
}
html:has(body.ldm-app-page.admin-bar){
	margin-top:0!important
}
body.ldm-app-page.admin-bar{
	margin-top:0!important
}


/* =========================================================
   v0.15.2 — READABLE TYPOGRAPHY
   Teacher / Parent / Student / Lesson Room
   ========================================================= */

/* General application typography */
.ldm-wrap,
.ldm-lesson-room,
.ldm-student-room{
	font-size:14px;
	line-height:1.5
}

.ldm-wrap p,
.ldm-wrap li,
.ldm-wrap input,
.ldm-wrap select,
.ldm-wrap textarea,
.ldm-wrap button{
	font-size:14px
}

/* Small helper text should never look microscopic */
.ldm-wrap small,
.ldm-wrap .ldm-form-help,
.ldm-wrap .ldm-balance span,
.ldm-wrap .ldm-status,
.ldm-wrap .ldm-history-row span,
.ldm-wrap .ldm-slot-time span,
.ldm-wrap .ldm-slot-info span,
.ldm-wrap .ldm-package-numbers span,
.ldm-wrap .ldm-student-progress-meta,
.ldm-wrap .ldm-mini-progress-meta,
.ldm-wrap .ldm-learning-date span,
.ldm-wrap .ldm-learning-main p,
.ldm-wrap .ldm-parent-tab em,
.ldm-wrap .ldm-teacher-tab em,
.ldm-wrap .ldm-reservation-filter label>span,
.ldm-wrap .ldm-reservation-counter span,
.ldm-wrap .ldm-teacher-start-side span,
.ldm-wrap .ldm-teacher-pending-main span,
.ldm-wrap .ldm-teacher-history-main span,
.ldm-wrap .ldm-teacher-history-date span{
	font-size:12px!important
}

/* Parent / Teacher dashboard tabs */
.ldm-parent-tab,
.ldm-teacher-tab{
	font-size:14px!important;
	padding:11px 15px
}
.ldm-parent-tab>span,
.ldm-teacher-tab>span{
	font-size:17px!important
}

/* General controls */
.ldm-btn,
.ldm-text-btn,
.ldm-slot-toggle,
.ldm-video-join-btn{
	font-size:14px!important
}

/* =========================================================
   TEACHER LESSON ROOM
   ========================================================= */
.ldm-room-tools button{
	font-size:13px!important
}
.ldm-room-tools button span{
	font-size:18px
}
.ldm-room-tools button em{
	font-size:11px!important
}

.ldm-room-header p,
.ldm-room-live-strip strong,
.ldm-room-live-strip small,
.ldm-room-stage span,
.ldm-room-card-face small,
.ldm-room-card-face span,
.ldm-room-side-title span,
.ldm-room-side-title strong,
.ldm-room-student-mini span,
.ldm-room-student-mini strong,
.ldm-room-report-summary span,
.ldm-room-report-summary p{
	font-size:12px!important
}

.ldm-room-stage strong,
.ldm-room-materials strong,
.ldm-room-report-summary strong,
.ldm-room-quiz-question strong{
	font-size:14px!important
}

.ldm-room-inline-link{
	font-size:13px!important
}

.ldm-room-empty strong{
	font-size:15px!important
}
.ldm-room-empty span{
	font-size:13px!important
}

/* Flashcards teacher side */
.ldm-room-card-face small{
	font-size:12px!important
}
.ldm-room-card-face strong{
	font-size:36px!important
}
.ldm-room-card-face span{
	font-size:12px!important
}

/* Quiz teacher side */
.ldm-room-quiz-question{
	font-size:14px!important
}
.ldm-room-quiz-question strong{
	font-size:16px!important
}
.ldm-room-quiz-question button,
.ldm-room-quiz-options button{
	font-size:13px!important
}

/* Summary */
.ldm-room-summary-grid strong{
	font-size:18px!important
}
.ldm-room-summary-grid span,
.ldm-room-live-summary>small{
	font-size:11px!important
}

/* =========================================================
   GAMES — TEACHER
   ========================================================= */
.ldm-room-game-type-grid strong{
	font-size:13px!important
}
.ldm-room-game-type-grid small{
	font-size:11px!important
}
.ldm-room-game-form label>span{
	font-size:12px!important
}
.ldm-room-game-form input,
.ldm-room-game-form textarea{
	font-size:14px!important
}
.ldm-room-game-form label>small,
.ldm-game-builder-help p,
.ldm-game-pair-fields>p{
	font-size:12px!important
}
.ldm-game-builder-help strong,
.ldm-game-pair-fields>strong{
	font-size:14px!important
}
.ldm-room-game-main>div span{
	font-size:11px!important
}
.ldm-room-game-main>div em{
	font-size:10px!important
}
.ldm-room-game-main>strong{
	font-size:15px!important
}
.ldm-room-game-main>small{
	font-size:12px!important
}
.ldm-room-game-actions>button,
.ldm-room-game-actions>button:not(.ldm-room-share-btn):not(.ldm-room-delete){
	font-size:12px!important
}
.ldm-game-current-type{
	font-size:12px!important
}

/* =========================================================
   LIBRARY
   ========================================================= */
.ldm-library-save-card>div>strong{
	font-size:15px!important
}
.ldm-library-save-card>div>p{
	font-size:13px!important
}
.ldm-library-save-form input,
.ldm-library-save-form select{
	font-size:13px!important
}
.ldm-library-toolbar strong{
	font-size:14px!important
}
.ldm-library-toolbar small{
	font-size:12px!important
}
.ldm-library-refresh{
	font-size:12px!important
}
.ldm-library-main>span{
	font-size:11px!important
}
.ldm-library-main>strong{
	font-size:15px!important
}
.ldm-library-main>small{
	font-size:12px!important
}
.ldm-library-actions button{
	font-size:12px!important
}

/* =========================================================
   STUDENT ROOM
   ========================================================= */
.ldm-student-brand strong{
	font-size:16px!important
}
.ldm-student-brand span,
.ldm-student-lesson-meta span,
.ldm-student-room-foot span{
	font-size:12px!important
}
.ldm-student-lesson-meta strong,
.ldm-student-room-foot strong{
	font-size:14px!important
}
.ldm-student-connection,
.ldm-student-activity-label,
.ldm-student-game-meta span{
	font-size:12px!important
}

.ldm-student-mission>strong{
	font-size:17px!important
}
.ldm-student-mission p{
	font-size:14px!important
}

/* Flashcards student */
.ldm-student-card-face small{
	font-size:12px!important
}
.ldm-student-card-face strong{
	font-size:44px!important
}
.ldm-student-card-face span{
	font-size:14px!important
}
.ldm-student-card-answer button{
	font-size:14px!important
}

/* Quiz student */
.ldm-student-activity-shell.quiz>h1{
	font-size:32px!important
}
.ldm-student-quiz-options button{
	font-size:15px!important
}
.ldm-student-quiz-options button strong{
	font-size:15px!important
}

/* Games student */
.ldm-student-game-instruction{
	font-size:14px!important
}
.ldm-student-memory-grid button strong{
	font-size:16px!important
}
.ldm-student-match-column button{
	font-size:15px!important
}
.ldm-student-sentence-answer>span{
	font-size:14px!important
}
.ldm-student-sentence-answer button,
.ldm-student-sentence-bank button,
.ldm-sentence-selected-word .ldm-sentence-word{
	font-size:15px!important
}
.ldm-sentence-selected-word .ldm-sentence-move{
	font-size:15px!important
}
.ldm-student-game-actions button{
	font-size:14px!important
}
.ldm-student-missing-line span{
	font-size:17px!important
}
.ldm-student-missing-options button{
	font-size:15px!important
}
.ldm-student-result{
	font-size:14px!important
}

/* Mobile: still readable, but not oversized */
@media(max-width:650px){
	.ldm-wrap,
	.ldm-lesson-room,
	.ldm-student-room{
		font-size:13px
	}

	.ldm-parent-tab,
	.ldm-teacher-tab{
		font-size:13px!important
	}

	.ldm-student-card-face strong{
		font-size:38px!important
	}

	.ldm-student-activity-shell.quiz>h1{
		font-size:27px!important
	}
}


/* =========================================================
   v0.15.3 — teacher statistics + synchronized lesson clock
   ========================================================= */

.ldm-teacher-work-stats{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
	margin:14px 0 22px
}
.ldm-teacher-work-stats>div{
	padding:17px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:16px;
	background:#f9fbfd
}
.ldm-teacher-work-stats>div>span{display:block;margin-bottom:8px;font-size:22px}
.ldm-teacher-work-stats>div>strong{display:block;color:#071b3b;font-size:25px;line-height:1.05}
.ldm-teacher-work-stats>div>small{display:block;margin-top:7px;color:#798797;font-size:13px!important}

.ldm-teacher-stats-table-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:12px;
	margin-bottom:10px
}
.ldm-teacher-stats-table-head h3{margin:2px 0 0}
.ldm-teacher-stats-table-head>span{color:#7a8795;font-size:13px}
.ldm-teacher-stats-table{
	overflow:hidden;
	border:1px solid rgba(7,27,59,.08);
	border-radius:15px
}
.ldm-teacher-stats-row{
	display:grid;
	grid-template-columns:minmax(220px,1.5fr) 100px 140px 170px 75px;
	align-items:center;
	gap:10px;
	padding:11px 13px;
	border-top:1px solid rgba(7,27,59,.06);
	background:#fff
}
.ldm-teacher-stats-row:first-child{border-top:0}
.ldm-teacher-stats-row.is-head{background:#f5f8fb;color:#7a8795;font-size:12px;font-weight:800}
.ldm-teacher-stats-row>a{color:#2370b2;font-size:13px;font-weight:800;text-decoration:none}
.ldm-teacher-stat-student{display:flex;align-items:center;gap:9px}
.ldm-teacher-stat-student .ldm-avatar{width:34px;height:34px;font-size:13px}

.ldm-lesson-countdown,
.ldm-student-lesson-countdown{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-width:165px;
	padding:10px 14px;
	border:1px solid rgba(35,112,178,.14);
	border-radius:13px;
	background:#f2f8fd;
	text-align:center;
	transition:.2s ease
}
.ldm-lesson-countdown>span,
.ldm-student-lesson-countdown>span{
	color:#6d7f90;
	font-size:11px!important;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em
}
.ldm-lesson-countdown>strong,
.ldm-student-lesson-countdown>strong{
	margin:3px 0;
	color:#071b3b;
	font-size:27px!important;
	font-variant-numeric:tabular-nums;
	line-height:1
}
.ldm-lesson-countdown>small,
.ldm-student-lesson-countdown>small{color:#718091;font-size:11px!important}
.ldm-lesson-countdown.is-running,
.ldm-student-lesson-countdown.is-running{border-color:rgba(101,173,76,.25);background:#f0f8ec}
.ldm-lesson-countdown.is-warning,
.ldm-student-lesson-countdown.is-warning{border-color:rgba(249,184,33,.35);background:#fff7dc}
.ldm-lesson-countdown.is-danger,
.ldm-student-lesson-countdown.is-danger{border-color:rgba(191,72,58,.28);background:#fff0ed}
.ldm-lesson-countdown.is-danger>strong,
.ldm-student-lesson-countdown.is-danger>strong{color:#aa3f34}
.ldm-lesson-countdown.is-finished,
.ldm-student-lesson-countdown.is-finished{background:#f2f3f5;border-color:rgba(7,27,59,.08)}

@media(max-width:1000px){
	.ldm-teacher-work-stats{grid-template-columns:1fr 1fr}
	.ldm-teacher-stats-row{grid-template-columns:minmax(180px,1.4fr) 80px 120px 145px 65px}
}
@media(max-width:760px){
	.ldm-teacher-stats-table{overflow-x:auto}
	.ldm-teacher-stats-row{min-width:700px}
	.ldm-student-room-head{flex-wrap:wrap}
	.ldm-student-lesson-countdown{order:3;width:100%}
}
@media(max-width:600px){
	.ldm-teacher-work-stats{grid-template-columns:1fr}
}


/* =========================================================
   v0.15.5 — simplified teacher Lesson Room
   ========================================================= */

.ldm-room-student-screen-status{
	display:flex!important;
	align-items:center;
	gap:6px
}
.ldm-room-student-screen-status b{
	font-size:12px;
	font-weight:800;
	color:#748395
}
.ldm-room-student-screen-status .ldm-room-presence-dot{
	flex:0 0 auto;
	width:8px;
	height:8px;
	margin:0;
	border-radius:50%;
	background:#aab4bf
}
.ldm-room-student-screen-status .ldm-room-presence-dot.is-online{
	background:#65ad4c;
	box-shadow:0 0 0 3px rgba(101,173,76,.13)
}

.ldm-room-clear-student{
	margin-left:auto!important;
	border-left:1px solid rgba(7,27,59,.08)!important;
	color:#778493!important
}
.ldm-room-clear-student:disabled{
	opacity:.42;
	cursor:default
}

/* Old blocks are no longer rendered; keep them hidden in case stale cached markup appears. */
.ldm-room-js-check,
.ldm-room-live-strip{
	display:none!important
}

.ldm-room-side-card .ldm-room-student-mini{
	margin-bottom:0
}

@media(max-width:900px){
	.ldm-room-clear-student{
		margin-left:0!important
	}
}


/* =========================================================
   v0.15.6 — student information consolidated in sidebar
   ========================================================= */
.ldm-room-student-card .ldm-room-student-mini{
	display:grid;
	gap:0
}
.ldm-room-student-card .ldm-room-student-mini>div{
	display:grid;
	grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr);
	align-items:start;
	gap:9px;
	padding:8px 0;
	border-top:1px solid rgba(7,27,59,.06)
}
.ldm-room-student-card .ldm-room-student-mini>div:first-child{
	border-top:0
}
.ldm-room-student-card .ldm-room-student-mini span{
	color:#7b8998
}
.ldm-room-student-card .ldm-room-student-mini strong{
	text-align:right;
	overflow-wrap:anywhere
}
.ldm-room-student-email{
	font-size:12px!important
}

.ldm-report-card{
	width:100%
}


/* =========================================================
   v0.15.7 — materials fully inside Lesson Room tab
   ========================================================= */
.ldm-room-material-manager{
	display:grid;
	grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);
	gap:14px;
	align-items:start
}
.ldm-room-material-manager .ldm-material-add-box{
	margin:0;
	padding:15px;
	border-radius:14px
}
.ldm-room-material-manager .ldm-material-add-box>h3,
.ldm-room-material-list-head h3{
	margin:0;
	font-size:15px
}
.ldm-room-material-manager .ldm-material-add-box>p,
.ldm-room-material-list-head p{
	margin:5px 0 12px;
	color:#7c8998;
	font-size:12px!important;
	line-height:1.5
}
.ldm-room-material-manager .ldm-form{
	display:grid;
	gap:9px
}
.ldm-room-material-manager .ldm-form label>span{
	font-size:12px!important
}
.ldm-room-material-manager .ldm-form input,
.ldm-room-material-manager .ldm-form textarea{
	font-size:13px!important
}
.ldm-room-material-manager .ldm-material-source-grid{
	grid-template-columns:1fr
}
.ldm-room-material-list-wrap{
	min-width:0
}
.ldm-room-material-manager .ldm-teacher-material-list{
	display:grid;
	gap:8px
}
.ldm-room-material-manager .ldm-teacher-material-list article{
	grid-template-columns:42px minmax(0,1fr) auto;
	gap:10px;
	padding:11px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:12px;
	background:#fff
}
.ldm-room-material-manager .ldm-material-actions{
	display:flex;
	align-items:center;
	gap:5px
}
.ldm-room-material-manager .ldm-material-actions .ldm-btn{
	padding:7px 10px
}

@media(max-width:1050px){
	.ldm-room-material-manager{
		grid-template-columns:1fr
	}
}


/* =========================================================
   v0.15.8 — neutralize theme underlines in teacher panel
   ========================================================= */
body.ldm-app-page .ldm-teacher-wrap a,
body.ldm-app-page .ldm-teacher-wrap a *,
body.ldm-app-page .ldm-teacher-wrap button,
body.ldm-app-page .ldm-teacher-wrap button *,
body.ldm-app-page .ldm-teacher-wrap [role="button"],
body.ldm-app-page .ldm-teacher-wrap [role="button"] *{
	text-decoration:none!important;
	text-decoration-line:none!important
}

/* Explicitly cover the three sections where Woodmart/theme styles were most visible. */
body.ldm-app-page .ldm-teacher-section[data-teacher-section="pending"] *,
body.ldm-app-page .ldm-teacher-section[data-teacher-section="notifications"] *,
body.ldm-app-page .ldm-teacher-section[data-teacher-section="history"] *{
	text-decoration-line:none
}


/* =========================================================
   v0.17.0 — group lesson labels
   ========================================================= */
.ldm-booking.is-group-booking{
	border-color:rgba(101,173,76,.24);
	background:linear-gradient(180deg,#fff 0%,#fbfef9 100%)
}

.ldm-group-room-note{
	display:inline-flex;
	align-items:center;
	padding:7px 10px;
	border-radius:9px;
	background:#f3f6f8;
	color:#758391;
	font-size:11px;
	font-weight:700
}

.ldm-teacher-upcoming-row.is-group{
	border-left:3px solid #65ad4c
}

.ldm-teacher-history-row.is-group{
	cursor:default
}


/* =========================================================
   v0.17.1 — Parent reservations: individual + group
   ========================================================= */
.ldm-reservation-mode-switch{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin:4px 0 18px
}
.ldm-reservation-mode-btn{
	display:flex;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:14px;
	background:#fff;
	color:#071b3b;
	text-align:left;
	cursor:pointer
}
.ldm-reservation-mode-btn>span{
	display:grid;
	place-items:center;
	width:36px;
	height:36px;
	border-radius:10px;
	background:#f3f7fb;
	font-size:18px
}
.ldm-reservation-mode-btn div{
	display:grid;
	gap:2px
}
.ldm-reservation-mode-btn strong{
	font-size:14px
}
.ldm-reservation-mode-btn small{
	color:#7c8997;
	font-size:11px!important
}
.ldm-reservation-mode-btn.is-active{
	border-color:rgba(35,112,178,.35);
	background:#f3f9fd;
	box-shadow:0 0 0 2px rgba(35,112,178,.06)
}
.ldm-reservation-mode-pane{
	display:none
}
.ldm-reservation-mode-pane.is-active{
	display:block
}

.ldm-group-booking-intro{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin-bottom:14px;
	padding:13px 15px;
	border-radius:13px;
	background:#f5f9fc
}
.ldm-group-booking-intro>div:first-child{
	font-size:23px
}
.ldm-group-booking-intro strong{
	display:block;
	margin-bottom:3px;
	color:#071b3b
}
.ldm-group-booking-intro p{
	margin:0;
	color:#748292;
	font-size:12px!important;
	line-height:1.5
}

.ldm-parent-group-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:13px
}
.ldm-parent-group-card{
	min-width:0;
	padding:15px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:16px;
	background:#fff
}
.ldm-parent-group-head{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:14px
}
.ldm-parent-group-head h3{
	margin:2px 0 4px;
	color:#071b3b;
	font-size:17px
}
.ldm-parent-group-head p{
	margin:0;
	color:#7b8896;
	font-size:11px!important;
	line-height:1.5
}
.ldm-parent-group-capacity{
	flex:0 0 auto;
	min-width:62px;
	padding:8px 9px;
	border-radius:11px;
	background:#eef7ed;
	text-align:center
}
.ldm-parent-group-capacity strong,
.ldm-parent-group-capacity span{
	display:block
}
.ldm-parent-group-capacity strong{
	color:#4c913b;
	font-size:16px
}
.ldm-parent-group-capacity span{
	margin-top:1px;
	color:#768493;
	font-size:9px!important
}
.ldm-parent-group-capacity.is-full{
	background:#f7eeee
}
.ldm-parent-group-capacity.is-full strong{
	color:#aa5148
}
.ldm-parent-group-description{
	margin:11px 0 0;
	padding:9px 10px;
	border-radius:10px;
	background:#fbfcfd;
	color:#6f7d8c;
	font-size:11px!important;
	line-height:1.5
}
.ldm-parent-group-memberships{
	display:grid;
	gap:5px;
	margin-top:11px
}
.ldm-parent-group-memberships span{
	padding:7px 9px;
	border-radius:9px;
	background:#eef7ed;
	color:#467c39;
	font-size:11px!important;
	font-weight:750
}
.ldm-parent-group-enroll{
	margin-top:11px;
	padding:9px 10px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:11px;
	background:#fbfcfd
}
.ldm-parent-group-enroll summary{
	color:#2370b2;
	font-size:11px!important;
	font-weight:800;
	cursor:pointer
}
.ldm-group-enroll-form{
	display:grid;
	grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;
	align-items:end;
	gap:8px;
	margin-top:10px
}
.ldm-group-enroll-form label{
	display:grid;
	gap:4px;
	min-width:0
}
.ldm-group-enroll-form label>span{
	color:#6f7d8c;
	font-size:10px!important;
	font-weight:800
}
.ldm-group-enroll-form select{
	width:100%;
	min-width:0
}

.ldm-parent-group-lessons{
	margin-top:13px;
	padding-top:12px;
	border-top:1px solid rgba(7,27,59,.07)
}
.ldm-parent-group-lessons-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:8px
}
.ldm-parent-group-lessons-head strong{
	color:#071b3b;
	font-size:12px
}
.ldm-parent-group-lessons-head span{
	display:grid;
	place-items:center;
	min-width:25px;
	height:25px;
	border-radius:999px;
	background:#f0f5f9;
	color:#566779;
	font-size:10px!important;
	font-weight:800
}
.ldm-parent-group-no-lessons{
	display:flex;
	align-items:center;
	gap:7px;
	padding:9px 10px;
	border-radius:9px;
	background:#fafbfc;
	color:#7b8897;
	font-size:11px!important
}
.ldm-parent-group-lesson-list{
	display:grid;
	gap:8px
}
.ldm-parent-group-lesson{
	padding:10px;
	border:1px solid #edf0f3;
	border-radius:11px;
	background:#fcfdfd
}
.ldm-parent-group-lesson-time{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:8px
}
.ldm-parent-group-lesson-time strong{
	color:#071b3b;
	font-size:12px
}
.ldm-parent-group-lesson-time span{
	color:#7d8a98;
	font-size:10px!important
}
.ldm-parent-group-child-bookings{
	display:grid;
	gap:6px
}
.ldm-parent-group-booked,
.ldm-parent-group-package-warning{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:7px 8px;
	border-radius:9px;
	background:#eef7ed
}
.ldm-parent-group-booked strong,
.ldm-parent-group-package-warning strong{
	font-size:11px
}
.ldm-parent-group-booked span,
.ldm-parent-group-package-warning span{
	color:#687887;
	font-size:10px!important
}
.ldm-parent-group-package-warning{
	background:#fff5ec
}
.ldm-group-lesson-book-form{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:end;
	gap:8px;
	padding:8px;
	border-radius:9px;
	background:#f5f9fc
}
.ldm-group-lesson-book-form>div{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	align-items:center;
	gap:8px;
	min-width:0
}
.ldm-group-lesson-book-form strong{
	font-size:11px
}
.ldm-group-lesson-book-form select{
	width:100%;
	min-width:0;
	font-size:11px!important
}
.ldm-group-lesson-book-form .ldm-btn,
.ldm-group-enroll-form .ldm-btn{
	padding:8px 10px;
	white-space:nowrap
}

@media(max-width:1000px){
	.ldm-parent-group-grid{
		grid-template-columns:1fr
	}
}
@media(max-width:760px){
	.ldm-reservation-mode-switch{
		grid-template-columns:1fr
	}
	.ldm-group-enroll-form,
	.ldm-group-lesson-book-form{
		grid-template-columns:1fr
	}
	.ldm-group-lesson-book-form>div{
		grid-template-columns:1fr
	}
	.ldm-parent-group-lesson-time{
		align-items:flex-start;
		flex-direction:column
	}
}


/* v0.17.2 — enrolled group state */
.ldm-parent-group-memberships:has(+ .ldm-parent-group-lessons){
	margin-bottom:2px
}
.ldm-parent-group-memberships span{
	display:flex;
	align-items:center;
	gap:4px
}


/* =========================================================
   v0.18.0 — Group Lesson Room
   ========================================================= */
.ldm-room-group-screen-summary{
	cursor:default!important
}
.ldm-room-group-card .ldm-room-side-title{
	align-items:center
}
.ldm-room-group-card .ldm-room-side-title em{
	margin-left:auto;
	padding:4px 7px;
	border-radius:999px;
	background:#eef5fa;
	color:#2370b2;
	font-size:10px;
	font-style:normal;
	font-weight:800
}
.ldm-room-group-card>p{
	margin:8px 0 12px;
	color:#768493;
	font-size:11px!important;
	line-height:1.45
}
.ldm-room-group-participants{
	display:grid;
	gap:7px
}
.ldm-room-group-person{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:9px;
	padding:8px 9px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:10px;
	background:#fff
}
.ldm-room-group-person-main{
	display:flex;
	align-items:center;
	gap:8px;
	min-width:0
}
.ldm-room-group-person-main>i{
	flex:0 0 auto;
	width:8px;
	height:8px;
	border-radius:999px;
	background:#aeb8c2
}
.ldm-room-group-person.is-online .ldm-room-group-person-main>i{
	background:#65ad4c;
	box-shadow:0 0 0 3px rgba(101,173,76,.12)
}
.ldm-room-group-person-main>div{
	display:grid;
	min-width:0
}
.ldm-room-group-person-main strong{
	overflow:hidden;
	color:#071b3b;
	font-size:11px;
	text-overflow:ellipsis;
	white-space:nowrap
}
.ldm-room-group-person-main small{
	color:#8994a0;
	font-size:9px!important
}
.ldm-room-group-person.is-online .ldm-room-group-person-main small{
	color:#5b9848
}
.ldm-room-group-person-side{
	display:grid;
	justify-items:end;
	gap:3px;
	flex:0 0 auto
}
.ldm-room-group-person-side>span{
	max-width:130px;
	padding:3px 6px;
	border-radius:999px;
	background:#f2f5f7;
	color:#687785;
	font-size:9px!important;
	font-weight:800;
	text-align:right
}
.ldm-room-group-person-side>span.is-success{
	background:#edf7ea;
	color:#4b873b
}
.ldm-room-group-person-side>span.is-warning{
	background:#fff6df;
	color:#98701b
}
.ldm-room-group-person-side>span.is-danger{
	background:#fbeeed;
	color:#a44e47
}
.ldm-room-group-person-side>a{
	color:#2370b2;
	font-size:9px!important;
	font-weight:800;
	text-decoration:none!important
}
.ldm-room-group-empty{
	padding:10px;
	border-radius:9px;
	background:#f6f8fa;
	color:#7c8996;
	font-size:10px
}
.ldm-room-group-result-hint{
	margin-top:9px;
	padding:8px 9px;
	border-radius:9px;
	background:#f3f8fc;
	color:#607588;
	font-size:10px!important;
	font-weight:700;
	text-align:center
}
.ldm-room-group-card{
	position:sticky;
	top:12px
}
.ldm-group-room-note{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px
}
.ldm-group-room-note h2{
	margin:3px 0 6px
}
.ldm-group-room-note p{
	max-width:850px;
	margin:0;
	color:#71808f
}
.ldm-group-room-note>span{
	flex:0 0 auto;
	padding:8px 11px;
	border-radius:999px;
	background:#eef5fa;
	color:#2370b2;
	font-size:11px;
	font-weight:800
}
.ldm-student-room[data-student-id]:not([data-student-id="0"]) .ldm-student-brand-mark{
	background:#2370b2
}

@media(max-width:1080px){
	.ldm-room-group-card{
		position:static
	}
}
@media(max-width:760px){
	.ldm-room-group-person{
		align-items:flex-start
	}
	.ldm-group-room-note{
		align-items:flex-start;
		flex-direction:column
	}
}

.ldm-parent-group-booked>div{
	display:grid;
	gap:2px
}
.ldm-parent-group-booked .ldm-btn{
	flex:0 0 auto;
	padding:6px 8px;
	font-size:10px!important
}


/* =========================================================
   v0.18.1 — Group Lesson Room polish
   ========================================================= */

/* Group students belong at the top of the teacher sidebar. */
.ldm-room-sidebar>.ldm-room-group-card:first-child{
	border-color:rgba(35,112,178,.18);
	background:#f8fbfe
}
.ldm-room-group-card .ldm-room-side-title em{
	margin-left:auto;
	padding:4px 7px;
	border-radius:999px;
	background:#e8f3fb;
	color:#2370b2;
	font-size:10px!important;
	font-style:normal;
	font-weight:850
}

/* Student Room: almost the whole viewport instead of a narrow content card. */
body.ldm-app-page .entry-content > .ldm-student-room,
body.ldm-app-page .page-content > .ldm-student-room{
	max-width:none!important;
	width:calc(100% - 24px)!important;
	margin:12px auto!important
}

.ldm-student-room{
	min-height:calc(100vh - 24px)
}

/* Mission no longer consumes the left column. */
.ldm-student-stage{
	display:flex!important;
	flex-direction:column;
	gap:12px;
	min-height:calc(100vh - 170px);
	padding:16px 22px 20px
}

.ldm-student-goal-strip{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(180px,320px);
	align-items:center;
	gap:18px;
	width:100%;
	padding:10px 14px;
	border:1px solid rgba(35,112,178,.13);
	border-radius:13px;
	background:#f4f9fd;
	box-shadow:0 4px 14px rgba(7,27,59,.025)
}

.ldm-student-goal-copy{
	min-width:0
}

.ldm-student-goal-copy>span{
	display:block;
	margin-bottom:2px;
	color:#2370b2;
	font-size:10px!important;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.07em
}

.ldm-student-goal-copy>strong{
	display:block;
	overflow:hidden;
	color:#071b3b!important;
	font-size:14px!important;
	font-weight:850;
	line-height:1.35;
	text-overflow:ellipsis;
	white-space:nowrap
}

.ldm-student-goal-progress{
	display:grid;
	grid-template-columns:auto minmax(100px,1fr);
	align-items:center;
	gap:9px
}

.ldm-student-goal-progress>small{
	color:#718193;
	font-size:10px!important;
	font-weight:750;
	white-space:nowrap
}

.ldm-student-goal-progress>div{
	height:7px;
	overflow:hidden;
	border-radius:999px;
	background:#dfeaf2
}

.ldm-student-goal-progress>div i{
	display:block;
	height:100%;
	border-radius:inherit;
	background:#f9b821;
	transition:width .25s ease
}

/* Main activity gets the width that was previously lost to the mission card. */
.ldm-student-activity{
	flex:1;
	width:100%;
	min-height:540px;
	padding:4px 0 8px
}

.ldm-student-activity-shell{
	width:min(100%,1100px)!important;
	max-width:none!important
}

.ldm-student-activity-shell.game{
	width:min(100%,1360px)!important
}

/* Larger play area for game boards. */
.ldm-student-memory-grid,
.ldm-student-match-board,
.ldm-student-sentence-board,
.ldm-student-missing-board{
	width:100%
}

@media(max-width:820px){
	.ldm-student-goal-strip{
		grid-template-columns:1fr;
		gap:7px
	}
	.ldm-student-goal-copy>strong{
		white-space:normal
	}
	.ldm-student-goal-progress{
		grid-template-columns:auto minmax(80px,1fr)
	}
	.ldm-student-stage{
		padding:12px
	}
}

@media(max-width:560px){
	body.ldm-app-page .entry-content > .ldm-student-room,
	body.ldm-app-page .page-content > .ldm-student-room{
		width:calc(100% - 10px)!important;
		margin:5px auto!important
	}
	.ldm-student-room{
		border-radius:18px
	}
	.ldm-student-goal-progress{
		grid-template-columns:1fr
	}
}


/* =========================================================
   v0.18.3 — connection status above student-room branding
   ========================================================= */
.ldm-student-brand-wrap{
	display:grid;
	justify-items:start;
	gap:5px;
	min-width:0
}

.ldm-student-brand-wrap .ldm-student-sync{
	width:max-content;
	min-height:0;
	padding:4px 8px;
	border-radius:999px;
	font-size:9px!important;
	font-weight:800;
	line-height:1.1
}

.ldm-student-brand-wrap .ldm-student-sync i{
	width:6px;
	height:6px
}

.ldm-student-brand-wrap .ldm-student-brand{
	min-width:0
}

@media(max-width:760px){
	.ldm-student-brand-wrap{
		gap:4px
	}
	.ldm-student-brand-wrap .ldm-student-sync{
		padding:3px 7px;
		font-size:8px!important
	}
}


/* =========================================================
   v0.18.4 — video tile + timer aligned in top-right corner
   ========================================================= */

.ldm-student-head-actions{
	display:grid!important;
	grid-template-columns:repeat(2,165px);
	align-items:stretch;
	justify-content:end;
	gap:8px
}

.ldm-student-head-actions .ldm-student-video-tile,
.ldm-student-head-actions .ldm-student-lesson-countdown{
	width:165px;
	min-width:165px;
	min-height:86px;
	padding:10px 14px;
	border-radius:13px
}

.ldm-student-head-actions .ldm-student-video-tile{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(249,184,33,.38);
	background:#fff7dc;
	color:#071b3b!important;
	text-align:center;
	text-decoration:none!important;
	transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}

.ldm-student-head-actions .ldm-student-video-tile:hover{
	transform:translateY(-1px);
	border-color:rgba(249,184,33,.68);
	box-shadow:0 8px 18px rgba(7,27,59,.06)
}

.ldm-student-video-tile>span{
	color:#8a7532;
	font-size:11px!important;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em
}

.ldm-student-video-tile>strong{
	margin:3px 0;
	color:#071b3b;
	font-size:18px!important;
	line-height:1.1
}

.ldm-student-video-tile>small{
	color:#7d7b68;
	font-size:11px!important
}

/* Timer always stays as the last, far-right tile. */
.ldm-student-head-actions .ldm-student-lesson-countdown{
	order:2
}

.ldm-student-head-actions .ldm-student-video-tile{
	order:1
}

/* Neutralize the older generic yellow-button styling. */
.ldm-student-head-actions>a.ldm-student-video-tile{
	min-height:86px;
	padding:10px 14px;
	background:#fff7dc;
	font-size:inherit
}

@media(max-width:800px){
	.ldm-student-head-actions{
		grid-template-columns:repeat(2,145px)
	}

	.ldm-student-head-actions .ldm-student-video-tile,
	.ldm-student-head-actions .ldm-student-lesson-countdown{
		width:145px;
		min-width:145px
	}

	.ldm-student-lesson-countdown{
		order:2!important
	}
}

@media(max-width:650px){
	.ldm-student-room-head{
		grid-template-columns:minmax(0,1fr) auto!important
	}

	.ldm-student-head-actions{
		grid-template-columns:repeat(2,118px);
		gap:6px
	}

	.ldm-student-head-actions .ldm-student-video-tile,
	.ldm-student-head-actions .ldm-student-lesson-countdown{
		width:118px;
		min-width:118px;
		min-height:72px;
		padding:8px
	}

	.ldm-student-video-tile>span,
	.ldm-student-head-actions .ldm-student-lesson-countdown>span{
		font-size:8px!important
	}

	.ldm-student-video-tile>strong{
		font-size:14px!important
	}

	.ldm-student-head-actions .ldm-student-lesson-countdown>strong{
		font-size:21px!important
	}

	.ldm-student-video-tile>small,
	.ldm-student-head-actions .ldm-student-lesson-countdown>small{
		font-size:8px!important
	}
}

@media(max-width:470px){
	.ldm-student-room-head{
		grid-template-columns:1fr!important
	}

	.ldm-student-head-actions{
		grid-column:1!important;
		grid-row:auto!important;
		grid-template-columns:1fr 1fr;
		width:100%
	}

	.ldm-student-head-actions .ldm-student-video-tile,
	.ldm-student-head-actions .ldm-student-lesson-countdown{
		width:100%;
		min-width:0
	}
}


/* =========================================================
   v0.19.0 — image game builders
   ========================================================= */
.ldm-room-game-type-grid{
	grid-template-columns:repeat(3,minmax(0,1fr))!important
}
.ldm-image-game-fields{
	display:grid;
	gap:10px;
	padding:13px;
	border:1px solid rgba(7,27,59,.08);
	border-radius:13px;
	background:#fbfcfd
}
.ldm-image-game-fields>strong{
	color:#071b3b;
	font-size:13px
}
.ldm-image-game-fields>p{
	margin:0;
	color:#748292;
	font-size:11px!important;
	line-height:1.5
}
.ldm-image-game-list{
	display:grid;
	gap:8px
}
.ldm-image-game-row{
	display:grid;
	grid-template-columns:70px minmax(0,1fr) auto auto;
	align-items:center;
	gap:8px;
	padding:8px;
	border:1px solid #e7ebef;
	border-radius:11px;
	background:#fff
}
.ldm-image-preview{
	display:grid;
	place-items:center;
	width:70px;
	height:58px;
	overflow:hidden;
	border-radius:9px;
	background:#eef3f7
}
.ldm-image-preview span{
	font-size:22px
}
.ldm-image-preview img{
	width:100%;
	height:100%;
	object-fit:cover
}
.ldm-image-row-fields{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(130px,.85fr);
	gap:7px;
	min-width:0
}
.ldm-image-row-fields.is-three{
	grid-template-columns:minmax(0,1fr) minmax(110px,.7fr) minmax(110px,.7fr)
}
.ldm-image-row-fields input{
	width:100%;
	min-width:0
}
.ldm-image-remove-row{
	display:grid;
	place-items:center;
	width:30px;
	height:30px;
	padding:0;
	border:0;
	border-radius:999px;
	background:#f4f6f8;
	color:#7b8793;
	font-size:18px;
	cursor:pointer
}
.ldm-image-single{
	display:grid;
	grid-template-columns:92px minmax(0,1fr);
	align-items:center;
	gap:10px;
	padding:10px;
	border:1px solid #e7ebef;
	border-radius:11px;
	background:#fff
}
.ldm-image-single .ldm-image-preview{
	width:92px;
	height:72px
}
.ldm-image-single-fields{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:8px
}
.ldm-odd-marker{
	display:flex!important;
	align-items:center;
	gap:5px;
	min-width:66px;
	color:#5f6e7d;
	font-size:10px!important;
	font-weight:800
}
.ldm-odd-marker input{
	margin:0
}
.ldm-image-add-row{
	justify-self:start
}

@media(max-width:980px){
	.ldm-room-game-type-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))!important
	}
	.ldm-image-game-row{
		grid-template-columns:62px minmax(0,1fr) auto
	}
	.ldm-image-game-row>.ldm-image-remove-row{
		grid-column:3;
		grid-row:2
	}
	.ldm-image-row-fields,
	.ldm-image-row-fields.is-three{
		grid-template-columns:1fr
	}
}
@media(max-width:650px){
	.ldm-room-game-type-grid{
		grid-template-columns:1fr 1fr!important
	}
	.ldm-image-game-row,
	.ldm-image-single{
		grid-template-columns:1fr
	}
	.ldm-image-preview,
	.ldm-image-single .ldm-image-preview{
		width:100%;
		height:140px
	}
	.ldm-image-single-fields{
		grid-template-columns:1fr
	}
}

/* =========================================================
   v0.19.0 — image games on student screen
   ========================================================= */
.ldm-student-activity-shell.picture-match,
.ldm-student-activity-shell.what-is-it,
.ldm-student-activity-shell.sort-it,
.ldm-student-activity-shell.odd-one-out,
.ldm-student-activity-shell.reveal-picture{
	width:min(100%,1360px)!important
}

.ldm-picture-match-layout{
	display:grid;
	grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);
	gap:18px;
	align-items:start
}
.ldm-picture-match-images{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px
}
.ldm-picture-match-images button{
	position:relative;
	aspect-ratio:4/3;
	overflow:hidden;
	padding:0;
	border:3px solid transparent;
	border-radius:16px;
	background:#eef3f7;
	cursor:pointer
}
.ldm-picture-match-images button img{
	width:100%;
	height:100%;
	object-fit:cover
}
.ldm-picture-match-images button.is-selected{
	border-color:#f9b821;
	box-shadow:0 0 0 3px rgba(249,184,33,.14)
}
.ldm-picture-match-images button.is-matched{
	border-color:#65ad4c;
	opacity:.55
}
.ldm-picture-match-words{
	display:grid;
	gap:9px
}
.ldm-picture-match-words button,
.ldm-picture-choice-options button{
	min-height:54px;
	padding:10px 14px;
	border:2px solid rgba(7,27,59,.09);
	border-radius:13px;
	background:#fff;
	color:#071b3b;
	font-size:16px!important;
	font-weight:850;
	cursor:pointer
}
.ldm-picture-match-words button.is-matched{
	border-color:#65ad4c;
	background:#eef8eb;
	color:#4b873c
}
.ldm-what-picture{
	width:min(100%,760px);
	margin:0 auto 16px;
	overflow:hidden;
	border-radius:20px;
	background:#eef3f7;
	box-shadow:0 12px 32px rgba(7,27,59,.08)
}
.ldm-what-picture img{
	display:block;
	width:100%;
	max-height:520px;
	object-fit:contain;
	background:#fff
}
.ldm-picture-choice-options{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	width:min(100%,760px);
	margin:0 auto
}
.ldm-picture-choice-options button.is-selected{
	border-color:#2370b2;
	background:#eef6fc
}

.ldm-sort-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px
}
.ldm-sort-grid article{
	display:grid;
	gap:9px;
	padding:10px;
	border:2px solid rgba(7,27,59,.07);
	border-radius:15px;
	background:#fff
}
.ldm-sort-grid article.is-sorted{
	border-color:#65ad4c;
	background:#f2f9ef;
	opacity:.68
}
.ldm-sort-grid article>img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:11px;
	background:#eef3f7
}
.ldm-sort-grid article>strong{
	color:#071b3b;
	font-size:14px
}
.ldm-sort-categories{
	display:flex;
	flex-wrap:wrap;
	gap:6px
}
.ldm-sort-categories button{
	flex:1 1 auto;
	min-width:84px;
	padding:7px 8px;
	border:1px solid #dce4ea;
	border-radius:9px;
	background:#f7fafc;
	color:#30465b;
	font-size:11px!important;
	font-weight:800;
	cursor:pointer
}

.ldm-odd-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px
}
.ldm-odd-grid button{
	overflow:hidden;
	padding:0 0 9px;
	border:3px solid transparent;
	border-radius:16px;
	background:#fff;
	box-shadow:0 5px 18px rgba(7,27,59,.05);
	cursor:pointer
}
.ldm-odd-grid button.is-selected{
	border-color:#2370b2
}
.ldm-odd-grid img{
	display:block;
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover
}
.ldm-odd-grid span{
	display:block;
	padding:8px 8px 0;
	color:#071b3b;
	font-size:12px!important;
	font-weight:850
}

.ldm-reveal-picture{
	position:relative;
	width:min(100%,760px);
	margin:0 auto 15px;
	overflow:hidden;
	border-radius:20px;
	background:#071b3b;
	box-shadow:0 12px 34px rgba(7,27,59,.1)
}
.ldm-reveal-picture>img{
	display:block;
	width:100%;
	max-height:520px;
	aspect-ratio:4/3;
	object-fit:cover
}
.ldm-reveal-tiles{
	position:absolute;
	inset:0;
	display:grid;
	grid-template-columns:repeat(var(--reveal-cols),1fr);
	grid-template-rows:repeat(var(--reveal-rows),1fr)
}
.ldm-reveal-tiles button{
	display:grid;
	place-items:center;
	margin:1px;
	border:0;
	background:#2370b2;
	color:#fff;
	font-size:22px;
	font-weight:900;
	cursor:pointer;
	transition:opacity .16s ease,transform .16s ease
}
.ldm-reveal-tiles button:nth-child(3n+2){
	background:#071b3b
}
.ldm-reveal-tiles button.is-revealed{
	opacity:0;
	pointer-events:none
}

@media(max-width:950px){
	.ldm-picture-match-images,
	.ldm-sort-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
	.ldm-odd-grid{
		grid-template-columns:repeat(3,minmax(0,1fr))
	}
}
@media(max-width:700px){
	.ldm-picture-match-layout{
		grid-template-columns:1fr
	}
	.ldm-picture-match-images,
	.ldm-sort-grid,
	.ldm-odd-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))
	}
	.ldm-picture-choice-options{
		grid-template-columns:1fr
	}
}


/* =========================================================
   v0.20.0 — real group lesson report
   ========================================================= */
.ldm-group-report-card{
	padding:22px
}

.ldm-group-report-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	margin-bottom:16px
}

.ldm-group-report-head h2{
	margin:3px 0 6px;
	color:#071b3b
}

.ldm-group-report-head p{
	max-width:760px;
	margin:0;
	color:#748292;
	font-size:12px!important;
	line-height:1.55
}

.ldm-group-report-count{
	flex:0 0 auto;
	padding:7px 10px;
	border-radius:999px;
	background:#eef6fc;
	color:#2370b2;
	font-size:11px!important;
	font-weight:850
}

.ldm-group-report-form{
	margin-top:16px
}

.ldm-group-report-shared{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:12px;
	padding:15px;
	border:1px solid #e5edf3;
	border-radius:14px;
	background:#f8fbfd
}

.ldm-group-report-shared-title{
	grid-column:1 / -1;
	display:flex;
	align-items:center;
	gap:10px
}

.ldm-group-report-shared-title>span{
	display:grid;
	place-items:center;
	width:38px;
	height:38px;
	border-radius:11px;
	background:#e8f3fb;
	font-size:19px
}

.ldm-group-report-shared-title strong,
.ldm-group-report-shared-title small{
	display:block
}

.ldm-group-report-shared-title strong{
	color:#071b3b;
	font-size:13px
}

.ldm-group-report-shared-title small{
	margin-top:2px;
	color:#7b8895;
	font-size:10px!important
}

.ldm-group-report-students{
	display:grid;
	gap:14px;
	margin-top:15px
}

.ldm-group-report-student{
	overflow:hidden;
	border:1px solid rgba(7,27,59,.09);
	border-radius:15px;
	background:#fff
}

.ldm-group-report-student-head{
	display:grid;
	grid-template-columns:auto minmax(0,1fr) auto;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	border-bottom:1px solid #edf1f4;
	background:#fbfcfd
}

.ldm-group-report-student-head>.ldm-avatar{
	width:36px;
	height:36px;
	font-size:14px
}

.ldm-group-report-student-head>div:nth-child(2){
	min-width:0
}

.ldm-group-report-student-head>div:nth-child(2)>strong,
.ldm-group-report-student-head>div:nth-child(2)>span{
	display:block
}

.ldm-group-report-student-head>div:nth-child(2)>strong{
	color:#071b3b;
	font-size:13px
}

.ldm-group-report-student-head>div:nth-child(2)>span{
	margin-top:2px;
	overflow:hidden;
	color:#7a8794;
	font-size:10px!important;
	text-overflow:ellipsis;
	white-space:nowrap
}

.ldm-group-report-student-head>em{
	padding:5px 8px;
	border-radius:999px;
	background:#f1f4f6;
	color:#73808c;
	font-size:9px!important;
	font-style:normal;
	font-weight:850
}

.ldm-group-report-student-head>em.is-present{
	background:#edf8ea;
	color:#4c873e
}

.ldm-group-report-student-head>em.is-absent{
	background:#f9eeee;
	color:#a55249
}

.ldm-group-report-student-body{
	display:grid;
	gap:12px;
	padding:14px
}

.ldm-group-attendance-field{
	max-width:280px
}

.ldm-group-skill-box{
	padding:12px;
	border-radius:12px;
	background:#f8fafc
}

.ldm-group-skill-box>div:first-child{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:9px
}

.ldm-group-skill-box>div:first-child strong{
	color:#071b3b;
	font-size:12px
}

.ldm-group-skill-box>div:first-child span{
	color:#7c8996;
	font-size:9px!important
}

.ldm-group-skill-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:8px
}

.ldm-group-skill-grid label{
	display:grid;
	gap:4px;
	min-width:0
}

.ldm-group-skill-grid label>span{
	color:#617183;
	font-size:9px!important;
	font-weight:800
}

.ldm-group-skill-grid select{
	width:100%;
	min-width:0
}

.ldm-group-report-text-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px
}

.ldm-group-report-actions{
	justify-content:flex-end;
	margin-top:16px
}

@media(max-width:1000px){
	.ldm-group-skill-grid{
		grid-template-columns:repeat(3,minmax(0,1fr))
	}
}

@media(max-width:760px){
	.ldm-group-report-head{
		flex-direction:column
	}

	.ldm-group-report-shared,
	.ldm-group-report-text-grid{
		grid-template-columns:1fr
	}

	.ldm-group-skill-grid{
		grid-template-columns:repeat(2,minmax(0,1fr))
	}

	.ldm-group-report-student-head{
		grid-template-columns:auto minmax(0,1fr)
	}

	.ldm-group-report-student-head>em{
		grid-column:1 / -1;
		width:max-content
	}

	.ldm-group-report-actions{
		justify-content:flex-start
	}
}

/* =========================================================
   v0.21.0 — Lesson Builder
   ========================================================= */
.ldm-teacher-builder-section{padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
.ldm-lesson-builder{position:relative}
.ldm-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px;padding:20px 22px;border:1px solid rgba(7,27,59,.08);border-radius:18px;background:#fff}
.ldm-builder-head h2{margin:3px 0 5px;color:#071b3b}.ldm-builder-head p{margin:0;color:#718091;font-size:12px!important}
.ldm-builder-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:14px;align-items:start}
.ldm-builder-library-panel{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;padding:12px;border:1px solid rgba(7,27,59,.08);border-radius:16px;background:#fff}
.ldm-builder-side-head{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px}.ldm-builder-side-head strong{color:#071b3b;font-size:12px}.ldm-builder-side-head span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#eef5fa;color:#2370b2;font-size:10px;font-weight:900}
.ldm-builder-template-list{display:grid;gap:7px}.ldm-builder-template-card{width:100%;padding:10px;border:1px solid #e7ecf0;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.ldm-builder-template-card:hover,.ldm-builder-template-card.is-active{border-color:#a8cae3;background:#f3f9fd}.ldm-builder-template-card strong,.ldm-builder-template-card span{display:block}.ldm-builder-template-card strong{overflow:hidden;color:#071b3b;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ldm-builder-template-card span{margin-top:4px;color:#7a8794;font-size:9px!important}.ldm-builder-side-empty{padding:16px 8px;color:#8995a0;font-size:11px;text-align:center}
.ldm-builder-editor{min-width:0;padding:18px;border:1px solid rgba(7,27,59,.08);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(7,27,59,.04)}
.ldm-builder-empty{display:grid;place-items:center;min-height:420px;padding:40px;text-align:center}.ldm-builder-empty>div{font-size:38px}.ldm-builder-empty h3{margin:10px 0 4px;color:#071b3b}.ldm-builder-empty p{margin:0 0 14px;color:#788593;font-size:12px!important}
.ldm-builder-editor-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid #edf1f4}.ldm-builder-editor-top>div:first-child>span{display:block;color:#2370b2;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ldm-builder-editor-top h3{margin:3px 0 0;color:#071b3b;font-size:20px}.ldm-builder-editor-actions{display:flex;gap:7px;flex-wrap:wrap}.ldm-builder-editor-actions .danger{color:#a54b45!important}
.ldm-builder-meta-grid{display:grid;grid-template-columns:2fr 1fr .55fr .55fr .7fr;gap:9px;margin:14px 0}.ldm-builder-meta-grid label,.ldm-builder-block-body label{display:grid;gap:5px;min-width:0}.ldm-builder-meta-grid label>span,.ldm-builder-block-body label>span{color:#5d6e80;font-size:9px!important;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.ldm-builder-meta-grid .is-wide{grid-column:1/-1}.ldm-builder-meta-grid input,.ldm-builder-meta-grid textarea,.ldm-builder-meta-grid select,.ldm-builder-block input,.ldm-builder-block textarea,.ldm-builder-block select{width:100%;max-width:100%;box-sizing:border-box}
.ldm-builder-timebar{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:12px;margin:3px 0 14px;padding:9px 11px;border-radius:11px;background:#f7fafc}.ldm-builder-timebar>div:first-child{display:flex;gap:7px;align-items:baseline}.ldm-builder-timebar strong{color:#071b3b;font-size:11px}.ldm-builder-timebar span{color:#718191;font-size:10px!important}.ldm-builder-timebar>div:last-child{height:7px;overflow:hidden;border-radius:999px;background:#e2ebf1}.ldm-builder-timebar i{display:block;height:100%;border-radius:inherit;background:#f9b821;transition:width .2s}
.ldm-builder-sections{display:grid;gap:13px}.ldm-builder-section-card{overflow:hidden;border:1px solid #dde6ed;border-radius:14px;background:#fbfcfd}.ldm-builder-section-card.is-dragging,.ldm-builder-block.is-dragging{opacity:.45}.ldm-builder-section-head{display:grid;grid-template-columns:auto minmax(180px,1fr) 85px auto;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid #e9eef2;background:#f2f7fa}.ldm-builder-section-head>input{border:0!important;background:transparent!important;color:#071b3b!important;font-size:13px!important;font-weight:900!important;box-shadow:none!important}.ldm-builder-section-head label{display:flex;align-items:center;gap:5px}.ldm-builder-section-head label span{font-size:9px;color:#778594}.ldm-builder-section-head label input{width:58px}.ldm-builder-section-head>button{border:0;background:transparent;color:#a05851;font-size:10px;cursor:pointer}.ldm-builder-drag{color:#9aa7b3;cursor:grab;user-select:none}
.ldm-builder-block-list{display:grid;gap:9px;padding:10px;min-height:18px}.ldm-builder-block{overflow:hidden;border:1px solid #e5eaee;border-radius:11px;background:#fff}.ldm-builder-block>header{display:flex;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid #edf1f3;background:#fafbfc}.ldm-builder-block>header>div:nth-child(2){flex:1}.ldm-builder-block>header strong{color:#20374f;font-size:10px}.ldm-builder-block>header>div:last-child{display:flex;gap:3px}.ldm-builder-block>header button{display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:6px;background:#f0f4f6;color:#647383;cursor:pointer}.ldm-builder-block>header button:last-child{color:#a6534d}.ldm-builder-block-body{display:grid;gap:9px;padding:10px}.ldm-builder-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ldm-builder-media-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.ldm-builder-help,.ldm-builder-block-body>small{margin:0;color:#7f8b97;font-size:9px!important}
.ldm-builder-rich-toolbar{display:flex;gap:4px;padding:5px;border:1px solid #dfe6eb;border-bottom:0;border-radius:8px 8px 0 0;background:#f7f9fa}.ldm-builder-rich-toolbar button{min-width:28px;height:26px;padding:0 7px;border:1px solid #e2e7eb;border-radius:5px;background:#fff;color:#354a60;font-size:9px;cursor:pointer}.ldm-builder-rich-editor{min-height:110px;padding:11px;border:1px solid #dfe6eb;border-radius:0 0 8px 8px;background:#fff;color:#263d54;line-height:1.6;outline:none}.ldm-builder-rich-editor:focus{border-color:#8fbedf;box-shadow:0 0 0 2px rgba(35,112,178,.08)}
.ldm-builder-gallery-list{display:grid;gap:6px}.ldm-builder-gallery-row{display:grid;grid-template-columns:1.2fr .8fr auto;gap:6px}.ldm-builder-gallery-row button{width:30px;border:0;border-radius:7px;background:#f6eeee;color:#a4524c;cursor:pointer}.ldm-builder-inline-actions{display:flex;gap:6px;flex-wrap:wrap}
.ldm-builder-palette{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid #e8edf1;background:#fff}.ldm-builder-palette>span{margin-right:3px;color:#758493;font-size:9px!important;font-weight:800}.ldm-builder-palette button{padding:5px 7px;border:1px solid #e1e7eb;border-radius:7px;background:#fafcfd;color:#40556b;font-size:9px;cursor:pointer}.ldm-builder-palette button:hover{border-color:#aecce1;background:#f0f7fc;color:#1f649a}.ldm-builder-add-section{width:100%;margin-top:10px;padding:11px;border:1px dashed #b8cedd;border-radius:12px;background:#f8fbfd;color:#2370b2;font-weight:800;cursor:pointer}
.ldm-builder-assign{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.5fr) auto;align-items:center;gap:10px;margin-top:16px;padding:12px;border:1px solid #f0dfad;border-radius:13px;background:#fffaf0}.ldm-builder-assign strong,.ldm-builder-assign span{display:block}.ldm-builder-assign strong{color:#071b3b;font-size:11px}.ldm-builder-assign span{margin-top:2px;color:#857d68;font-size:9px!important}.ldm-builder-toast{position:fixed;z-index:99999;right:22px;bottom:22px;max-width:360px;padding:10px 13px;border-radius:10px;background:#071b3b;color:#fff;font-size:11px;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s}.ldm-builder-toast.is-visible{opacity:1;transform:none}.ldm-builder-toast.is-error{background:#a74640}

/* Lesson Room scenario */
.ldm-room-scenario{display:grid;gap:12px}.ldm-scenario-section{overflow:hidden;border:1px solid #e2e9ee;border-radius:13px;background:#fff}.ldm-scenario-section>header{display:flex;align-items:center;gap:9px;padding:9px 11px;background:#f5f9fc;border-bottom:1px solid #e5edf2}.ldm-scenario-section>header>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#2370b2;color:#fff;font-size:10px;font-weight:900}.ldm-scenario-section>header strong,.ldm-scenario-section>header small{display:block}.ldm-scenario-section>header strong{color:#071b3b;font-size:11px}.ldm-scenario-section>header small{margin-top:2px;color:#7b8996;font-size:9px!important}.ldm-scenario-section>div{display:grid;gap:5px;padding:8px}.ldm-scenario-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 9px;border:1px solid #edf0f3;border-radius:8px;background:#fff;color:#354b61;text-align:left;cursor:pointer}.ldm-scenario-item span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ldm-scenario-item em{flex:0 0 auto;color:#2370b2;font-size:9px;font-style:normal;font-weight:800}.ldm-scenario-item.is-live{border-color:#8dbbdc;background:#edf7fd}.ldm-scenario-item.is-live em{color:#4f973d}.ldm-scenario-empty{padding:9px;color:#8a96a1;font-size:10px;text-align:center}

/* Student rich lesson content */
.ldm-student-activity-shell.content{width:min(100%,1200px)!important;min-height:480px;display:flex;flex-direction:column;justify-content:center}.ldm-student-activity-shell.content h1{max-width:1000px;margin:8px auto 18px;color:#071b3b;text-align:center}.ldm-student-rich-text{max-width:920px;margin:0 auto;color:#203850;font-size:21px;line-height:1.75}.ldm-student-rich-text p{margin:0 0 1em}.ldm-student-rich-text blockquote{margin:18px 0;padding:16px 20px;border-left:5px solid #f9b821;border-radius:0 12px 12px 0;background:#fff8e6;font-size:1.08em}.ldm-student-big-image{margin:0 auto;text-align:center}.ldm-student-big-image.medium{max-width:650px}.ldm-student-big-image.large{max-width:980px}.ldm-student-big-image.full{width:100%;max-width:none}.ldm-student-big-image img{max-height:62vh;max-width:100%;border-radius:20px;object-fit:contain;box-shadow:0 12px 35px rgba(7,27,59,.09)}.ldm-student-big-image figcaption{margin-top:10px;color:#68798a;font-size:14px}.ldm-student-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px;width:100%}.ldm-student-gallery figure{margin:0;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(7,27,59,.07)}.ldm-student-gallery img{display:block;width:100%;height:260px;object-fit:cover}.ldm-student-gallery figcaption{padding:8px 10px;color:#56697b;font-size:12px;text-align:center}.ldm-student-content-instruction{max-width:850px;margin:0 auto 14px;color:#526a7f;font-size:18px;text-align:center}.ldm-student-video-frame{position:relative;width:min(100%,1000px);padding-top:56.25%;margin:0 auto;overflow:hidden;border-radius:20px;background:#071b3b;box-shadow:0 14px 35px rgba(7,27,59,.12)}.ldm-student-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ldm-student-video-native{display:block;width:min(100%,1000px);max-height:65vh;margin:0 auto;border-radius:20px;background:#000}.ldm-student-audio-card{display:flex;align-items:center;gap:18px;width:min(100%,760px);margin:0 auto;padding:24px;border-radius:20px;background:#f1f8fd}.ldm-student-audio-card>span{font-size:42px}.ldm-student-audio-card audio{width:100%}.ldm-student-speaking-image{display:block;max-width:700px;max-height:40vh;margin:0 auto 14px;border-radius:18px;object-fit:contain}.ldm-student-speaking-card{width:min(100%,900px);margin:0 auto;padding:28px;border-radius:24px;background:#fff8dd;text-align:center;box-shadow:0 12px 30px rgba(7,27,59,.06)}.ldm-student-speaking-card>small{color:#9b7711;font-weight:900;letter-spacing:.1em}.ldm-student-speaking-card h1{margin:5px auto 10px!important}.ldm-student-speaking-card>p{margin:0;color:#1d3650;font-size:28px;font-weight:800;line-height:1.35}.ldm-student-speaking-helper{margin-top:18px;padding:12px;border-radius:12px;background:#fff;color:#48627a;font-size:17px;line-height:1.5}.ldm-student-callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;width:min(100%,900px);margin:auto;padding:28px;border-radius:24px;background:#eef7fd}.ldm-student-callout>span{font-size:44px}.ldm-student-callout small{color:#2370b2;font-weight:900;letter-spacing:.1em}.ldm-student-callout h1{margin:4px 0 8px!important;text-align:left!important}.ldm-student-callout p{margin:0;color:#304b64;font-size:21px;line-height:1.55}.ldm-student-callout.vocab{background:#eef8ea}.ldm-student-callout.remember{background:#fff7dc}.ldm-student-callout.challenge{background:#fff0ec}.ldm-student-material-card{display:grid;place-items:center;width:min(100%,720px);margin:auto;padding:36px;border:1px solid #e0e8ee;border-radius:24px;background:#fff;text-align:center;box-shadow:0 12px 30px rgba(7,27,59,.06)}.ldm-student-material-card>span{font-size:52px}.ldm-student-material-card h1{margin:8px 0!important}.ldm-student-material-card p{color:#607386;font-size:16px}.ldm-student-material-card a{display:inline-flex;margin-top:12px;padding:11px 17px;border-radius:10px;background:#2370b2;color:#fff!important;font-weight:850;text-decoration:none!important}

@media(max-width:1050px){.ldm-builder-layout{grid-template-columns:1fr}.ldm-builder-library-panel{position:static;max-height:none}.ldm-builder-template-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ldm-builder-meta-grid{grid-template-columns:1fr 1fr}.ldm-builder-assign{grid-template-columns:1fr}.ldm-builder-assign .ldm-btn{width:max-content}}
@media(max-width:700px){.ldm-builder-head,.ldm-builder-editor-top{flex-direction:column}.ldm-builder-template-list,.ldm-builder-meta-grid,.ldm-builder-two{grid-template-columns:1fr}.ldm-builder-meta-grid .is-wide{grid-column:auto}.ldm-builder-section-head{grid-template-columns:auto minmax(0,1fr) 72px}.ldm-builder-section-head>button{grid-column:2/-1;justify-self:end}.ldm-builder-timebar{grid-template-columns:1fr}.ldm-student-rich-text{font-size:17px}.ldm-student-speaking-card>p{font-size:22px}.ldm-student-gallery{grid-template-columns:1fr 1fr}.ldm-student-gallery img{height:180px}}


/* =========================================================
   v0.22.0 — admin curriculum builder + student lesson catalog
   ========================================================= */
.ldm-builder-publish-bar{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 14px;border:1px solid #dce8f0;border-radius:12px;background:#f7fbfd}.ldm-builder-publish-bar strong,.ldm-builder-publish-bar span{display:block}.ldm-builder-publish-bar strong{color:#071b3b;font-size:11px}.ldm-builder-publish-bar span{margin-top:2px;color:#748292;font-size:9px!important}.ldm-builder-template-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.ldm-builder-template-title em{padding:3px 5px;border-radius:999px;background:#f3f4f5;color:#7a8793;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase}.ldm-builder-template-title em.is-published{background:#edf8ea;color:#4e873f}.ldm-builder-palette button.is-game{border-color:#f0d17c;background:#fff8df;color:#795b0b;font-weight:850}.ldm-builder-game-head{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ldm-builder-block[data-block-type="game"]{border-color:#eadba9}.ldm-builder-block[data-block-type="game"]>header{background:#fffaf0}.ldm-builder-game-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(150px,.9fr) auto;gap:7px;align-items:center;margin-bottom:7px}.ldm-builder-game-row:has([data-row-category]){grid-template-columns:minmax(210px,1fr) .7fr .7fr auto}.ldm-builder-row-media{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.ldm-builder-row-media button,.ldm-builder-game-row>button{min-height:34px;border:1px solid #dfe6eb;border-radius:7px;background:#fff;color:#466078;cursor:pointer}.ldm-builder-game-row>button{width:32px;color:#a34f49}.ldm-builder-odd{display:flex!important;grid-auto-flow:column;align-items:center;justify-content:start;gap:5px!important;font-size:9px!important}.ldm-builder-odd input{width:auto!important}.ldm-builder-game-reveal-grid{display:grid;grid-template-columns:1fr 1fr .45fr;gap:8px;margin-top:8px}.ldm-admin-builder-page>.ldm-admin-builder-lead{max-width:900px;margin:0 0 18px;color:#67788a}.ldm-admin-lesson-builder{max-width:1500px}
.ldm-lesson-catalog-intro{margin:-4px 0 16px;color:#718091;font-size:12px!important}.ldm-lesson-catalog-child{margin-top:16px;padding-top:16px;border-top:1px solid #edf1f4}.ldm-lesson-catalog-child:first-of-type{border-top:0}.ldm-lesson-catalog-child-head{display:flex;align-items:center;gap:9px;margin-bottom:11px}.ldm-lesson-catalog-child-head strong,.ldm-lesson-catalog-child-head span{display:block}.ldm-lesson-catalog-child-head strong{color:#071b3b}.ldm-lesson-catalog-child-head span{margin-top:2px;color:#788694;font-size:10px!important}.ldm-lesson-catalog-locked{padding:12px;border-radius:11px;background:#f6f7f8;color:#74808b;font-size:11px}.ldm-lesson-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ldm-lesson-catalog-card{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid #e3e9ee;border-radius:13px;background:#fff}.ldm-lesson-catalog-card.is-done{border-color:#cfe4c9;background:#fbfefa}.ldm-lesson-catalog-card-top,.ldm-lesson-catalog-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.ldm-lesson-catalog-card-top span,.ldm-lesson-catalog-card-top em{padding:4px 7px;border-radius:999px;background:#eef5fa;color:#2370b2;font-size:9px!important;font-style:normal;font-weight:850}.ldm-lesson-catalog-card-top em{background:#f5f6f7;color:#687887}.ldm-lesson-catalog-card h3{margin:10px 0 6px;color:#071b3b;font-size:14px}.ldm-lesson-catalog-card p{flex:1;margin:0 0 12px;color:#748291;font-size:10px!important;line-height:1.5}.ldm-lesson-catalog-card-bottom{padding-top:9px;border-top:1px solid #f0f2f4}.ldm-lesson-catalog-card-bottom>span{color:#5d788f;font-size:9px!important;font-weight:800}.ldm-lesson-catalog-card-bottom .ldm-btn{padding:6px 8px;font-size:9px!important}
@media(max-width:1100px){.ldm-lesson-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ldm-builder-game-row,.ldm-builder-game-row:has([data-row-category]){grid-template-columns:1fr}.ldm-builder-game-row>button{width:100%}}
@media(max-width:700px){.ldm-builder-publish-bar,.ldm-builder-game-head,.ldm-builder-game-reveal-grid,.ldm-lesson-catalog-grid{grid-template-columns:1fr}}

/* v0.22.0 curriculum polish */
.ldm-teacher-ready-lesson{width:max-content;max-width:100%;margin:7px 0 0!important;padding:5px 8px;border-radius:9px;background:#eef6fc;color:#2370b2!important;font-size:10px!important;font-weight:800}.ldm-lesson-catalog-card .ldm-choose-ready-lesson{padding:6px 8px;font-size:9px!important}


/* =========================================================
   v0.23.0 — Lesson Room as curriculum player
   ========================================================= */
.ldm-room-curriculum-banner{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:14px;margin:12px 0 0;padding:13px 15px;border:1px solid rgba(35,112,178,.15);border-radius:15px;background:#f5fafe}
.ldm-room-curriculum-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e6f2fb;font-size:21px}
.ldm-room-curriculum-copy,.ldm-room-curriculum-goal{min-width:0}
.ldm-room-curriculum-copy>span,.ldm-room-curriculum-copy>strong,.ldm-room-curriculum-copy>small,.ldm-room-curriculum-goal>span,.ldm-room-curriculum-goal>strong{display:block}
.ldm-room-curriculum-copy>span,.ldm-room-curriculum-goal>span{margin-bottom:2px;color:#2370b2;font-size:9px!important;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ldm-room-curriculum-copy>strong{color:#071b3b;font-size:14px}
.ldm-room-curriculum-copy>small{margin-top:3px;color:#758393;font-size:10px!important}
.ldm-room-curriculum-goal{padding-left:14px;border-left:1px solid #d9e7f1}
.ldm-room-curriculum-goal>strong{overflow:hidden;color:#334b61;font-size:11px;line-height:1.45;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ldm-room-program-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid #e2edf5;border-radius:11px;background:#f8fbfd}
.ldm-room-program-note>span{font-size:18px}
.ldm-room-program-note strong,.ldm-room-program-note small{display:block}
.ldm-room-program-note strong{color:#173954;font-size:11px}
.ldm-room-program-note small{margin-top:2px;color:#788694;font-size:10px!important;line-height:1.45}

#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="flashcards"]>.ldm-room-card-form,
#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="quiz"]>.ldm-room-quiz-form,
#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="games"]>.ldm-room-game-builder{display:none}
#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="extras"] .ldm-room-card-form,
#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="extras"] .ldm-room-quiz-form,
#ldm-lesson-room[data-curriculum-mode="1"] [data-room-panel="extras"] .ldm-room-game-builder{display:block}

.ldm-room-extra-intro{display:flex;align-items:flex-start;gap:11px;margin-bottom:14px;padding:12px 14px;border-radius:13px;background:#fff8e6;border:1px solid rgba(249,184,33,.26)}
.ldm-room-extra-intro>span{font-size:20px}
.ldm-room-extra-intro strong{display:block;color:#071b3b;font-size:12px}
.ldm-room-extra-intro p{margin:3px 0 0;color:#776c52;font-size:10px!important;line-height:1.5}
.ldm-room-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ldm-room-extra-card{min-width:0;padding:13px;border:1px solid #e5eaf0;border-radius:13px;background:#fff}
.ldm-room-extra-card.is-wide{grid-column:1/-1}
.ldm-room-extra-card>header{display:flex;align-items:center;gap:9px;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid #eef1f4}
.ldm-room-extra-card>header>span{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#f4f7f9;font-size:16px}
.ldm-room-extra-card>header strong,.ldm-room-extra-card>header small{display:block}
.ldm-room-extra-card>header strong{color:#071b3b;font-size:11px}
.ldm-room-extra-card>header small{margin-top:1px;color:#7c8995;font-size:9px!important}
.ldm-room-extra-card .ldm-room-card-form,.ldm-room-extra-card .ldm-room-quiz-form,.ldm-room-extra-card .ldm-room-game-builder{margin:0}

.ldm-room-source-badge{display:inline-flex;align-items:center;margin-left:6px;padding:3px 6px;border-radius:999px;vertical-align:middle;font-size:8px!important;font-weight:900;line-height:1}
.ldm-room-source-badge.is-program{background:#eaf4fb;color:#2370b2}
.ldm-room-source-badge.is-extra{background:#fff4d4;color:#8c6c11}
.ldm-room-quiz-head-actions .ldm-room-source-badge{margin-left:0;margin-right:3px}
.ldm-room-game-main>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.ldm-room-game-main .ldm-room-source-badge{margin-left:0}

@media(max-width:1000px){
	.ldm-room-curriculum-banner{grid-template-columns:auto minmax(0,1fr)}
	.ldm-room-curriculum-goal{grid-column:1/-1;padding:10px 0 0;border-left:0;border-top:1px solid #d9e7f1}
}
@media(max-width:760px){
	.ldm-room-extra-grid{grid-template-columns:1fr}
	.ldm-room-extra-card.is-wide{grid-column:auto}
}
@media(max-width:560px){
	.ldm-room-curriculum-banner{grid-template-columns:1fr}
	.ldm-room-curriculum-icon{display:none}
}


/* =========================================================
   v0.23.2 — professional Admin Lesson Builder
   ========================================================= */

/* Whole builder becomes a separate application surface */
.ldm-admin-builder-page{
	max-width:1600px;
	margin-top:18px;
}

.ldm-admin-builder-page>h1{
	margin:0 0 14px;
	color:#071b3b;
	font-size:24px;
	font-weight:900;
	letter-spacing:-.02em;
}

.ldm-admin-builder-page>.ldm-admin-builder-lead{
	max-width:980px;
	margin:0 0 20px;
	color:#687b8d;
	font-size:12px;
	line-height:1.65;
}

.ldm-admin-lesson-builder{
	padding:16px;
	border:1px solid #e1e9ef;
	border-radius:24px;
	background:#f4f7fa;
	box-shadow:0 18px 55px rgba(7,27,59,.055);
}

/* Hero/header */
.ldm-admin-lesson-builder .ldm-builder-head{
	position:relative;
	overflow:hidden;
	margin-bottom:16px;
	padding:22px 24px;
	border:0;
	border-radius:18px;
	background:linear-gradient(135deg,#071b3b 0%,#0b315e 72%,#154d7b 100%);
	box-shadow:0 12px 28px rgba(7,27,59,.14);
}

.ldm-admin-lesson-builder .ldm-builder-head:after{
	content:"";
	position:absolute;
	right:-70px;
	top:-95px;
	width:260px;
	height:260px;
	border-radius:50%;
	background:rgba(249,184,33,.11);
	pointer-events:none;
}

.ldm-admin-lesson-builder .ldm-builder-head .ldm-kicker{
	color:#f9b821!important;
	font-size:10px!important;
	font-weight:900;
	letter-spacing:.12em;
}

.ldm-admin-lesson-builder .ldm-builder-head h2{
	margin:4px 0 7px;
	color:#fff;
	font-size:24px;
	letter-spacing:-.025em;
}

.ldm-admin-lesson-builder .ldm-builder-head p{
	max-width:760px;
	color:#c7d7e7;
	font-size:12px!important;
	line-height:1.6;
}

.ldm-admin-lesson-builder .ldm-builder-head .ldm-btn.yellow{
	position:relative;
	z-index:1;
	min-height:42px;
	padding:0 17px;
	border:1px solid #f9b821!important;
	border-radius:11px;
	background:#f9b821!important;
	color:#071b3b!important;
	box-shadow:0 8px 20px rgba(249,184,33,.18);
	font-weight:900;
}

/* Layout */
.ldm-admin-lesson-builder .ldm-builder-layout{
	grid-template-columns:285px minmax(0,1fr);
	gap:16px;
}

/* Dark curriculum sidebar */
.ldm-admin-lesson-builder .ldm-builder-library-panel{
	top:18px;
	padding:14px;
	border:0;
	border-radius:17px;
	background:#0b2443;
	box-shadow:0 10px 28px rgba(7,27,59,.11);
	scrollbar-color:#47627d transparent;
}

.ldm-admin-lesson-builder .ldm-builder-side-head{
	padding:3px 4px 12px;
	border-bottom:1px solid rgba(255,255,255,.09);
	margin-bottom:9px;
}

.ldm-admin-lesson-builder .ldm-builder-side-head strong{
	color:#fff;
	font-size:12px;
}

.ldm-admin-lesson-builder .ldm-builder-side-head span{
	background:rgba(255,255,255,.1);
	color:#f9b821;
}

.ldm-admin-lesson-builder .ldm-builder-template-list{
	gap:8px;
}

.ldm-admin-lesson-builder .ldm-builder-template-card{
	position:relative;
	overflow:hidden;
	padding:11px 12px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:11px;
	background:rgba(255,255,255,.055);
	box-shadow:none;
	transition:.17s ease;
}

.ldm-admin-lesson-builder .ldm-builder-template-card:hover{
	border-color:rgba(255,255,255,.22);
	background:rgba(255,255,255,.09);
	transform:translateY(-1px);
}

.ldm-admin-lesson-builder .ldm-builder-template-card.is-active{
	border-color:#f9b821;
	background:#fff;
	box-shadow:0 8px 20px rgba(0,0,0,.13);
}

.ldm-admin-lesson-builder .ldm-builder-template-card.is-active:before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:4px;
	background:#f9b821;
}

.ldm-admin-lesson-builder .ldm-builder-template-card strong{
	color:#fff;
	font-size:11px;
}

.ldm-admin-lesson-builder .ldm-builder-template-card span{
	color:#aebfd0;
}

.ldm-admin-lesson-builder .ldm-builder-template-card.is-active strong{
	color:#071b3b;
}

.ldm-admin-lesson-builder .ldm-builder-template-card.is-active span{
	color:#6c7c8c;
}

.ldm-admin-lesson-builder .ldm-builder-side-empty{
	color:#aebfd0;
}

/* Main editor */
.ldm-admin-lesson-builder .ldm-builder-editor{
	padding:20px;
	border:1px solid #dfe8ee;
	border-radius:18px;
	background:#fff;
	box-shadow:0 10px 30px rgba(7,27,59,.055);
}

.ldm-admin-lesson-builder .ldm-builder-editor-top{
	position:sticky;
	z-index:8;
	top:0;
	margin:-20px -20px 16px;
	padding:15px 20px;
	border-bottom:1px solid #e5edf2;
	border-radius:18px 18px 0 0;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(8px);
	box-shadow:0 4px 12px rgba(7,27,59,.03);
}

.ldm-admin-lesson-builder .ldm-builder-editor-top>div:first-child>span{
	color:#2370b2;
	font-size:9px;
}

.ldm-admin-lesson-builder .ldm-builder-editor-top h3{
	color:#071b3b;
	font-size:21px;
}

.ldm-admin-lesson-builder .ldm-builder-editor-actions .ldm-btn{
	min-height:36px;
	padding:0 12px;
	border-radius:9px;
	font-weight:800;
}

.ldm-admin-lesson-builder .ldm-builder-editor-actions .ldm-btn.blue{
	border-color:#2370b2!important;
	background:#2370b2!important;
	box-shadow:0 5px 14px rgba(35,112,178,.16);
}

/* Visibility bar */
.ldm-admin-lesson-builder .ldm-builder-publish-bar{
	padding:14px 15px;
	border:1px solid #cfe2ef;
	border-left:4px solid #2370b2;
	border-radius:13px;
	background:linear-gradient(90deg,#f1f8fd,#f8fbfd);
	box-shadow:0 5px 14px rgba(35,112,178,.035);
}

.ldm-admin-lesson-builder .ldm-builder-publish-bar strong{
	color:#123553;
	font-size:12px;
}

.ldm-admin-lesson-builder .ldm-builder-publish-bar span{
	color:#6a7e90;
	line-height:1.45;
}

/* Lesson metadata becomes a real card */
.ldm-admin-lesson-builder .ldm-builder-meta-grid{
	position:relative;
	padding:16px;
	margin:14px 0;
	border:1px solid #e0e8ee;
	border-radius:15px;
	background:#fbfcfd;
	box-shadow:0 5px 16px rgba(7,27,59,.025);
}

.ldm-admin-lesson-builder .ldm-builder-meta-grid:before{
	content:"Ustawienia lekcji";
	grid-column:1 / -1;
	margin:-2px 0 2px;
	color:#071b3b;
	font-size:12px;
	font-weight:900;
	letter-spacing:-.01em;
}

.ldm-admin-lesson-builder .ldm-builder-meta-grid label>span,
.ldm-admin-lesson-builder .ldm-builder-block-body label>span{
	margin-left:2px;
	color:#536c82;
	font-size:9px!important;
	font-weight:900;
	letter-spacing:.06em;
}

/* Remove the WordPress-looking form controls */
.ldm-admin-lesson-builder input:not([type="radio"]):not([type="checkbox"]),
.ldm-admin-lesson-builder textarea,
.ldm-admin-lesson-builder select{
	width:100%;
	min-height:42px;
	margin:0;
	padding:9px 12px!important;
	border:1px solid #cad7e1!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#152e47!important;
	font-family:inherit!important;
	font-size:12px!important;
	line-height:1.4!important;
	box-shadow:
		inset 0 1px 2px rgba(7,27,59,.025),
		0 1px 0 rgba(255,255,255,.8)!important;
	transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}

.ldm-admin-lesson-builder textarea{
	min-height:82px;
	resize:vertical;
}

.ldm-admin-lesson-builder input::placeholder,
.ldm-admin-lesson-builder textarea::placeholder{
	color:#9caab6;
	opacity:1;
}

.ldm-admin-lesson-builder input:not([type="radio"]):not([type="checkbox"]):hover,
.ldm-admin-lesson-builder textarea:hover,
.ldm-admin-lesson-builder select:hover{
	border-color:#adc2d1!important;
	background:#fcfeff!important;
}

.ldm-admin-lesson-builder input:not([type="radio"]):not([type="checkbox"]):focus,
.ldm-admin-lesson-builder textarea:focus,
.ldm-admin-lesson-builder select:focus{
	border-color:#2370b2!important;
	background:#fff!important;
	outline:0!important;
	box-shadow:0 0 0 3px rgba(35,112,178,.11)!important;
}

.ldm-admin-lesson-builder select{
	cursor:pointer;
}

.ldm-admin-lesson-builder input[type="number"]{
	font-variant-numeric:tabular-nums;
}

/* Publish status control */
.ldm-admin-lesson-builder .ldm-builder-publish-bar select{
	min-height:44px;
	border-color:#b7cede!important;
	background:#fff!important;
	font-weight:800;
}

/* Time plan */
.ldm-admin-lesson-builder .ldm-builder-timebar{
	padding:11px 13px;
	border:1px solid #e0e9ef;
	border-radius:12px;
	background:#f8fafc;
}

.ldm-admin-lesson-builder .ldm-builder-timebar strong{
	color:#071b3b;
	font-size:11px;
}

.ldm-admin-lesson-builder .ldm-builder-timebar>div:last-child{
	height:8px;
	background:#dfe8ee;
}

.ldm-admin-lesson-builder .ldm-builder-timebar i{
	background:linear-gradient(90deg,#f9b821,#ffd66e);
	box-shadow:0 1px 5px rgba(249,184,33,.28);
}

/* Sections */
.ldm-admin-lesson-builder .ldm-builder-sections{
	gap:16px;
}

.ldm-admin-lesson-builder .ldm-builder-section-card{
	position:relative;
	overflow:hidden;
	border:1px solid #dce7ee;
	border-left:4px solid #2370b2;
	border-radius:15px;
	background:#f8fbfd;
	box-shadow:0 7px 20px rgba(7,27,59,.035);
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+2){
	border-left-color:#f9b821;
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+3){
	border-left-color:#65ad4c;
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+4){
	border-left-color:#8b74c9;
}

.ldm-admin-lesson-builder .ldm-builder-section-head{
	padding:11px 13px;
	border-bottom:1px solid #dfe8ee;
	background:linear-gradient(90deg,#eaf5fc 0,#f4f9fc 100%);
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+2) .ldm-builder-section-head{
	background:linear-gradient(90deg,#fff6db,#fffaf0);
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+3) .ldm-builder-section-head{
	background:linear-gradient(90deg,#eef8ea,#f8fcf6);
}

.ldm-admin-lesson-builder .ldm-builder-section-card:nth-child(4n+4) .ldm-builder-section-head{
	background:linear-gradient(90deg,#f3effc,#faf8fd);
}

.ldm-admin-lesson-builder .ldm-builder-section-head>input{
	min-height:36px!important;
	padding:4px 6px!important;
	border:1px solid transparent!important;
	background:transparent!important;
	font-size:13px!important;
	font-weight:900!important;
}

.ldm-admin-lesson-builder .ldm-builder-section-head>input:focus{
	border-color:rgba(35,112,178,.22)!important;
	background:#fff!important;
	box-shadow:0 0 0 3px rgba(35,112,178,.07)!important;
}

.ldm-admin-lesson-builder .ldm-builder-section-head label{
	padding:3px 6px;
	border-radius:8px;
	background:rgba(255,255,255,.72);
}

.ldm-admin-lesson-builder .ldm-builder-section-head label input{
	min-height:31px!important;
	height:31px!important;
	padding:3px 6px!important;
	text-align:center;
}

/* Blocks */
.ldm-admin-lesson-builder .ldm-builder-block-list{
	gap:11px;
	padding:12px;
}

.ldm-admin-lesson-builder .ldm-builder-block{
	position:relative;
	border:1px solid #e0e7ec;
	border-left:4px solid #8296a8;
	border-radius:12px;
	background:#fff;
	box-shadow:0 4px 13px rgba(7,27,59,.03);
}

.ldm-admin-lesson-builder .ldm-builder-block>header{
	min-height:40px;
	padding:8px 10px;
	border-bottom:1px solid #e8edf1;
	background:#f5f7f9;
}

.ldm-admin-lesson-builder .ldm-builder-block>header strong{
	color:#18344e;
	font-size:10px;
	font-weight:900;
}

/* Block-specific visual language */
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="text"]{
	border-left-color:#2370b2;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="text"]>header{
	background:#edf7fd;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="image"],
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="gallery"]{
	border-left-color:#65ad4c;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="image"]>header,
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="gallery"]>header{
	background:#f0f8ed;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="video"]{
	border-left-color:#765bc0;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="video"]>header{
	background:#f3effb;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="audio"]{
	border-left-color:#db8732;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="audio"]>header{
	background:#fff4e9;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="speaking"]{
	border-left-color:#f9b821;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="speaking"]>header{
	background:#fff8e2;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="callout"]{
	border-left-color:#2aa9a0;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="callout"]>header{
	background:#edf9f7;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="material"]{
	border-left-color:#607d94;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="material"]>header{
	background:#f0f4f6;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="activity"]{
	border-left-color:#3d84bd;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="activity"]>header{
	background:#eef5fb;
}

.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="game"]{
	border:1px solid #edd99b;
	border-left:4px solid #f9b821;
}
.ldm-admin-lesson-builder .ldm-builder-block[data-block-type="game"]>header{
	background:#fff6d8;
}

/* Block body */
.ldm-admin-lesson-builder .ldm-builder-block-body{
	gap:12px;
	padding:14px;
	background:#fff;
}

.ldm-admin-lesson-builder .ldm-builder-two,
.ldm-admin-lesson-builder .ldm-builder-game-head,
.ldm-admin-lesson-builder .ldm-builder-game-reveal-grid{
	gap:11px;
}

.ldm-admin-lesson-builder .ldm-builder-help,
.ldm-admin-lesson-builder .ldm-builder-block-body>small{
	padding:7px 9px;
	border-radius:8px;
	background:#f6f8fa;
	color:#708293;
	font-size:9px!important;
	line-height:1.5;
}

/* Rich text */
.ldm-admin-lesson-builder .ldm-builder-rich-toolbar{
	gap:5px;
	padding:7px;
	border-color:#cddbe4;
	border-radius:10px 10px 0 0;
	background:#eef4f8;
}

.ldm-admin-lesson-builder .ldm-builder-rich-toolbar button{
	min-width:32px;
	height:29px;
	border:1px solid #cfdae2;
	border-radius:6px;
	background:#fff;
	color:#29445e;
	font-weight:800;
	transition:.14s;
}

.ldm-admin-lesson-builder .ldm-builder-rich-toolbar button:hover{
	border-color:#8fb9d7;
	background:#f5fbff;
	color:#2370b2;
}

.ldm-admin-lesson-builder .ldm-builder-rich-editor{
	min-height:145px;
	padding:14px;
	border-color:#cddbe4;
	border-radius:0 0 10px 10px;
	background:#fff;
	color:#19344d;
	font-size:13px;
	line-height:1.7;
}

/* Media fields */
.ldm-admin-lesson-builder .ldm-builder-media-field{
	gap:8px;
}

.ldm-admin-lesson-builder .ldm-builder-media-field .ldm-btn,
.ldm-admin-lesson-builder .ldm-builder-inline-actions .ldm-btn,
.ldm-admin-lesson-builder [data-game-row-add]{
	min-height:42px;
	padding:0 12px;
	border:1px solid #bcd0df!important;
	border-radius:10px!important;
	background:#eef6fb!important;
	color:#1e628f!important;
	font-weight:850;
}

.ldm-admin-lesson-builder .ldm-builder-media-field .ldm-btn:hover,
.ldm-admin-lesson-builder .ldm-builder-inline-actions .ldm-btn:hover,
.ldm-admin-lesson-builder [data-game-row-add]:hover{
	border-color:#8eb8d5!important;
	background:#e4f1f9!important;
}

/* Game rows */
.ldm-admin-lesson-builder .ldm-builder-game-row{
	margin-bottom:9px;
	padding:9px;
	border:1px solid #eee2bd;
	border-radius:10px;
	background:#fffdf7;
}

.ldm-admin-lesson-builder .ldm-builder-row-media button,
.ldm-admin-lesson-builder .ldm-builder-game-row>button{
	min-height:40px;
	border-color:#dbcfa8;
	border-radius:9px;
}

.ldm-admin-lesson-builder .ldm-builder-game-row>button{
	background:#fff4ef;
	color:#a6534d;
}

/* Palette becomes an actual toolbox */
.ldm-admin-lesson-builder .ldm-builder-palette{
	display:grid;
	grid-template-columns:auto repeat(5,minmax(95px,1fr));
	gap:7px;
	padding:11px 12px;
	border-top:1px solid #e0e8ee;
	background:#f7f9fb;
}

.ldm-admin-lesson-builder .ldm-builder-palette>span{
	align-self:center;
	color:#536b80;
	font-size:9px!important;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.06em;
}

.ldm-admin-lesson-builder .ldm-builder-palette button{
	min-height:38px;
	padding:7px 8px;
	border:1px solid #d7e1e8;
	border-radius:9px;
	background:#fff;
	color:#344f67;
	font-size:9px;
	font-weight:800;
	box-shadow:0 2px 5px rgba(7,27,59,.02);
	transition:.14s ease;
}

.ldm-admin-lesson-builder .ldm-builder-palette button:hover{
	transform:translateY(-1px);
	box-shadow:0 5px 11px rgba(7,27,59,.06);
}

.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="text"]{
	border-color:#bdd9ec;
	background:#edf7fd;
	color:#206b9d;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="image"],
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="gallery"]{
	border-color:#cee5c7;
	background:#f0f8ed;
	color:#4d8c3e;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="video"]{
	border-color:#d7cdf0;
	background:#f4f0fb;
	color:#6b51ad;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="audio"]{
	border-color:#f0d3b2;
	background:#fff4e9;
	color:#a76121;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="speaking"]{
	border-color:#edd58d;
	background:#fff8e1;
	color:#83620a;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="callout"]{
	border-color:#bde3df;
	background:#edf9f7;
	color:#24877f;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="material"]{
	border-color:#d3dde4;
	background:#f1f4f6;
	color:#506a7f;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="activity"]{
	border-color:#c4dceb;
	background:#eff6fb;
	color:#3278a8;
}
.ldm-admin-lesson-builder .ldm-builder-palette [data-add-block="game"]{
	border-color:#efce6c!important;
	background:#fff4c8!important;
	color:#765707!important;
}

/* Add section */
.ldm-admin-lesson-builder .ldm-builder-add-section{
	margin-top:13px;
	padding:13px;
	border:2px dashed #aac9df;
	border-radius:13px;
	background:#f1f8fd;
	color:#2370b2;
	font-size:11px;
	font-weight:900;
	transition:.15s;
}

.ldm-admin-lesson-builder .ldm-builder-add-section:hover{
	border-color:#2370b2;
	background:#eaf5fc;
}

/* Admin assignment area clearly separated from curriculum content */
.ldm-admin-lesson-builder .ldm-builder-assign{
	margin-top:18px;
	padding:14px;
	border:1px solid #d9d0eb;
	border-left:4px solid #8b74c9;
	border-radius:13px;
	background:#f8f5fd;
}

.ldm-admin-lesson-builder .ldm-builder-assign strong{
	color:#302650;
	font-size:11px;
}

.ldm-admin-lesson-builder .ldm-builder-assign span{
	color:#796f8e;
	line-height:1.45;
}

.ldm-admin-lesson-builder .ldm-builder-assign .ldm-btn.yellow{
	min-height:42px;
	border-radius:10px;
}

/* Tiny action buttons */
.ldm-admin-lesson-builder .ldm-builder-block>header button{
	width:29px;
	height:29px;
	border:1px solid #dbe3e8;
	border-radius:7px;
	background:rgba(255,255,255,.78);
	color:#5e7284;
	transition:.14s;
}

.ldm-admin-lesson-builder .ldm-builder-block>header button:hover{
	border-color:#aec3d1;
	background:#fff;
	color:#2370b2;
}

.ldm-admin-lesson-builder .ldm-builder-block>header button:last-child:hover{
	border-color:#e3b7b3;
	background:#fff1ef;
	color:#a3453f;
}

/* Status pills */
.ldm-admin-lesson-builder .ldm-builder-template-title em{
	padding:4px 6px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.09);
	color:#c4d1dd;
}

.ldm-admin-lesson-builder .ldm-builder-template-card.is-active .ldm-builder-template-title em{
	border-color:#dfe5e9;
	background:#f2f4f5;
	color:#71808e;
}

.ldm-admin-lesson-builder .ldm-builder-template-title em.is-published{
	border-color:#cbe5c4;
	background:#edf8ea;
	color:#4e873f;
}

/* Empty state */
.ldm-admin-lesson-builder .ldm-builder-empty{
	min-height:470px;
	border:2px dashed #d6e3eb;
	border-radius:15px;
	background:linear-gradient(180deg,#fbfdff,#f5f9fc);
}

.ldm-admin-lesson-builder .ldm-builder-empty>div{
	display:grid;
	place-items:center;
	width:62px;
	height:62px;
	border-radius:18px;
	background:#edf6fc;
	font-size:30px;
}

.ldm-admin-lesson-builder .ldm-builder-empty h3{
	color:#071b3b;
	font-size:18px;
}

.ldm-admin-lesson-builder .ldm-builder-empty p{
	max-width:480px;
	color:#718395;
}

/* Responsiveness */
@media(max-width:1350px){
	.ldm-admin-lesson-builder .ldm-builder-palette{
		grid-template-columns:auto repeat(4,minmax(95px,1fr));
	}
}

@media(max-width:1100px){
	.ldm-admin-lesson-builder .ldm-builder-layout{
		grid-template-columns:1fr;
	}

	.ldm-admin-lesson-builder .ldm-builder-library-panel{
		position:static;
		max-height:none;
	}

	.ldm-admin-lesson-builder .ldm-builder-template-list{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.ldm-admin-lesson-builder .ldm-builder-palette{
		grid-template-columns:repeat(3,minmax(100px,1fr));
	}

	.ldm-admin-lesson-builder .ldm-builder-palette>span{
		grid-column:1 / -1;
	}
}

@media(max-width:760px){
	.ldm-admin-lesson-builder{
		padding:10px;
		border-radius:17px;
	}

	.ldm-admin-lesson-builder .ldm-builder-head{
		padding:18px;
	}

	.ldm-admin-lesson-builder .ldm-builder-editor{
		padding:13px;
	}

	.ldm-admin-lesson-builder .ldm-builder-editor-top{
		position:static;
		margin:-13px -13px 14px;
		padding:13px;
	}

	.ldm-admin-lesson-builder .ldm-builder-template-list,
	.ldm-admin-lesson-builder .ldm-builder-palette{
		grid-template-columns:1fr 1fr;
	}

	.ldm-admin-lesson-builder .ldm-builder-palette>span{
		grid-column:1 / -1;
	}

	.ldm-admin-lesson-builder .ldm-builder-meta-grid{
		padding:12px;
	}

	.ldm-admin-lesson-builder .ldm-builder-media-field{
		grid-template-columns:1fr;
	}
}

@media(max-width:520px){
	.ldm-admin-lesson-builder .ldm-builder-template-list,
	.ldm-admin-lesson-builder .ldm-builder-palette{
		grid-template-columns:1fr;
	}
}


/* =========================================================
   v0.23.9 — Lesson Room starts automatically
   ========================================================= */

/* The old manual "Rozpocznij Lesson Room" control no longer exists. */
.ldm-room-header-actions{
	align-items:stretch;
}

.ldm-room-header-actions>.ldm-lesson-countdown,
.ldm-room-header-actions>.ldm-room-video-btn,
.ldm-room-header-actions>.ldm-room-student-screen-btn,
.ldm-room-header-actions>.ldm-room-group-screen-summary{
	min-height:72px;
}

/* Legacy style kept harmless in case of cached markup. */
.ldm-room-start{
	display:none!important;
}


/* =========================================================
   v0.24.0 — timed lesson access + mandatory report workflow
   ========================================================= */

.ldm-lesson-locked-wrap{
	max-width:850px;
	padding-top:28px
}

.ldm-lesson-locked-card{
	margin-top:18px;
	padding:38px 32px;
	text-align:center;
	background:
		radial-gradient(circle at 50% 0,rgba(35,112,178,.08),transparent 34%),
		#fff
}

.ldm-lesson-locked-icon{
	display:grid;
	place-items:center;
	width:72px;
	height:72px;
	margin:0 auto 12px;
	border-radius:22px;
	background:#edf6fc;
	font-size:32px
}

.ldm-lesson-locked-card h1{
	margin:5px 0 8px;
	color:#071b3b
}

.ldm-lesson-locked-card>p{
	color:#718293
}

.ldm-lesson-unlock-time{
	display:inline-grid;
	gap:3px;
	margin:17px auto;
	padding:11px 18px;
	border:1px solid #d6e6f1;
	border-radius:12px;
	background:#f5fafe
}

.ldm-lesson-unlock-time span{
	color:#6f8293;
	font-size:9px;
	font-weight:850;
	text-transform:uppercase;
	letter-spacing:.07em
}

.ldm-lesson-unlock-time strong{
	color:#2370b2;
	font-size:18px
}

.ldm-report-required-banner{
	display:none;
	align-items:center;
	gap:12px;
	margin:0 0 14px;
	padding:13px 15px;
	border:1px solid #efd48b;
	border-left:4px solid #f9b821;
	border-radius:13px;
	background:#fff8df
}

.ldm-report-required-banner.is-visible{
	display:flex
}

.ldm-report-required-banner>div:first-child{
	display:grid;
	place-items:center;
	width:39px;
	height:39px;
	flex:0 0 auto;
	border-radius:11px;
	background:#fff;
	font-size:19px
}

.ldm-report-required-banner strong,
.ldm-report-required-banner span{
	display:block
}

.ldm-report-required-banner strong{
	color:#071b3b;
	font-size:12px
}

.ldm-report-required-banner span{
	margin-top:2px;
	color:#776b4f;
	font-size:10px;
	line-height:1.45
}

/* Once time expires, the teaching cockpit disappears and the report becomes the task. */
.ldm-classroom-wrap.is-report-required .ldm-lesson-room{
	display:none!important
}

.ldm-classroom-wrap.is-report-required .ldm-classroom-top .ldm-status{
	background:#fff4d4;
	color:#8a6810
}

.ldm-lesson-report-panel.is-required,
.ldm-classroom-wrap.is-report-required .ldm-lesson-report-panel{
	border:2px solid #f0cf70!important;
	box-shadow:0 15px 38px rgba(7,27,59,.09)!important
}

.ldm-lesson-report-panel [data-report-complete]:disabled{
	cursor:not-allowed!important;
	opacity:.48!important;
	filter:grayscale(.15)
}

/* Student hard finish screen */
.ldm-student-finished-overlay{
	position:fixed;
	z-index:999998;
	inset:0;
	display:grid;
	place-content:center;
	justify-items:center;
	gap:7px;
	padding:28px;
	background:rgba(7,27,59,.94);
	color:#fff;
	text-align:center;
	backdrop-filter:blur(8px)
}

.ldm-student-finished-overlay>div{
	display:grid;
	place-items:center;
	width:76px;
	height:76px;
	margin-bottom:7px;
	border-radius:24px;
	background:rgba(255,255,255,.10);
	font-size:36px
}

.ldm-student-finished-overlay strong{
	font-size:28px
}

.ldm-student-finished-overlay span{
	max-width:460px;
	color:#cbd9e6;
	font-size:12px;
	line-height:1.55
}

@media(max-width:650px){
	.ldm-lesson-locked-card{
		padding:28px 18px
	}

	.ldm-report-required-banner{
		align-items:flex-start
	}

	.ldm-student-finished-overlay strong{
		font-size:23px
	}
}

/* =========================================================
   v0.24.1 — Communication: live lesson chat + parent/teacher messages
   ========================================================= */

.ldm-message-head-button{position:relative}
.ldm-message-head-button em[hidden],
.ldm-parent-tab em[hidden],
.ldm-teacher-tab em[hidden]{display:none!important}

/* ---------- Parent / teacher direct messages ---------- */
.ldm-messages-section{overflow:hidden}
.ldm-messages-app{min-width:0}
.ldm-messages-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	margin-bottom:18px
}
.ldm-messages-head h2{margin:3px 0 5px;color:#071b3b}
.ldm-messages-head p{margin:0;color:#718293}
.ldm-message-unread-summary{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:82px;
	padding:7px 10px;
	border-radius:999px;
	background:#eef7fd;
	color:#2370b2;
	font-size:9px;
	font-weight:900;
	white-space:nowrap
}
.ldm-messages-layout{
	display:grid;
	grid-template-columns:280px minmax(0,1fr);
	min-height:520px;
	border:1px solid #e3ebf1;
	border-radius:17px;
	overflow:hidden;
	background:#fff
}
.ldm-message-contacts{
	min-width:0;
	max-height:620px;
	overflow:auto;
	border-right:1px solid #e7eef3;
	background:#f7fafc
}
.ldm-message-contact{
	position:relative;
	dis:grid;
	grid-template-columns:42px minmax(0,1fr) auto;
	align-items:center;
	gap:10px;
	width:100%;
	padding:13px 12px;
	border:0;
	border-bottom:1px solid #e9eff4;
	background:transparent;
	color:#071b3b;
	text-align:left;
	cursor:pointer;
	transition:background .18s ease,box-shadow .18s ease
}
.ldm-message-contact:hover{background:#fff}
.ldm-message-contact.is-active{
	background:#fff;
	box-shadow:inset 4px 0 0 #2370b2
}
.ldm-message-avatar{
	display:grid;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:13px;
	background:#071b3b;
	color:#fff;
	font-size:15px;
	font-weight:900
}
.ldm-message-contact-copy{display:block;min-width:0}
.ldm-message-contact-copy strong,
.ldm-message-contact-copy small,
.ldm-message-contact-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ldm-message-contact-copy strong{font-size:11px}
.ldm-message-contact-copy small{margin-top:2px;color:#2370b2;font-size:8px;font-weight:800}
.ldm-message-contact-copy em{margin-top:4px;color:#8694a0;font-size:8px;font-style:normal}
.ldm-message-contact>b{
	dis:grid;
	place-items:center;
	min-width:21px;
	height:21px;
	padding:0 5px;
	border-radius:999px;
	background:#f9b821;
	color:#071b3b;
	font-size:8px
}
.ldm-message-conversation{
	dis:grid;
	grid-template-rows:auto minmax(280px,1fr) auto;
	min-width:0;
	background:#fff
}
.ldm-message-conversation-head{
	dis:flex;
	align-items:center;
	min-height:67px;
	padding:13px 18px;
	border-bottom:1px solid #e7eef3
}
.ldm-message-conversation-head strong,
.ldm-message-conversation-head span{display:block}
.ldm-message-conversation-head strong{color:#071b3b;font-size:13px}
.ldm-message-conversation-head span{margin-top:3px;color:#758697;font-size:9px}
.ldm-message-thread{
	min-height:300px;
	max-height:500px;
	overflow:auto;
	padding:18px;
	background:
		radial-gradient(circle at 15% 10%,rgba(35,112,178,.035),transparent 30%),
		#fbfcfd
}
.ldm-direct-bubble{max-width:min(76%,560px);margin:0 0 11px}
.ldm-direct-bubble.is-mine{margin-left:auto}
.ldm-direct-bubble>div{display:flex;align-items:center;gap:8px;margin:0 5px 4px}
.ldm-direct-bubble>div strong{color:#718293;font-size:8px}
.ldm-direct-bubble>div time{color:#9aa6b0;font-size:7px}
.ldm-direct-bubble.is-mine>div{justify-content:flex-end}
.ldm-direct-bubble p{
	margin:0;
	padding:10px 12px;
	border-radius:14px 14px 14px 4px;
	background:#fff;
	border:1px solid #e2eaf0;
	color:#33485b;
	font-size:10px;
	line-height:1.55;
	box-shadow:0 4px 12px rgba(7,27,59,.035)
}
.ldm-direct-bubble.is-mine p{
	border-color:#2370b2;
	border-radius:14px 14px 4px 14px;
	background:#2370b2;
	color:#fff
}
.ldm-message-compose{
	dis:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:9px;
	padding:12px;
	border-top:1px solid #e7eef3;
	background:#fff
}
.ldm-message-compose textarea{
	width:100%;
	min-height:48px;
	max-height:120px;
	resize:vertical;
	padding:10px 12px;
	border:1px solid #d8e3eb;
	border-radius:12px;
	background:#f9fbfc;
	color:#071b3b;
	font:inherit;
	font-size:10px;
	outline:none
}
.ldm-message-compose textarea:focus{border-color:#2370b2;box-shadow:0 0 0 3px rgba(35,112,178,.09)}
.ldm-message-compose button{
	align-self:end;
	min-height:42px;
	padding:0 16px;
	border:0;
	border-radius:11px;
	background:#071b3b;
	color:#fff;
	font-weight:850;
	cursor:pointer
}
.ldm-message-compose button:disabled{opacity:.55;cursor:wait}
.ldm-message-empty-thread,
.ldm-messages-empty{
	dis:grid;
	place-items:center;
	align-content:center;
	gap:5px;
	min-height:280px;
	padding:30px;
	color:#718293;
	text-align:center
}
.ldm-message-empty-thread span,
.ldm-messages-empty>div{font-size:30px}
.ldm-message-empty-thread strong,
.ldm-messages-empty strong{color:#071b3b;font-size:12px}
.ldm-message-empty-thread small,
.ldm-messages-empty span{font-size:9px}
.ldm-chat-loading,.ldm-message-thread-error{display:grid;place-items:center;min-height:160px;color:#82909d;font-size:9px}
.ldm-message-thread-error{color:#b23b3b}

/* ---------- Floating Lesson Room chat ---------- */
.ldm-live-chat{
	position:fixed;
	z-index:99990;
	right:22px;
	bottom:22px;
	font-family:inherit
}
.ldm-live-chat-toggle{
	position:relative;
	display:flex;
	align-items:center;
	gap:8px;
	min-height:46px;
	padding:0 15px;
	border:1px solid rgba(255,255,255,.14);
	border-radius:999px;
	background:#071b3b;
	color:#fff;
	box-shadow:0 14px 34px rgba(7,27,59,.28);
	cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease
}
.ldm-live-chat-toggle:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(7,27,59,.33)}
.ldm-live-chat-toggle span{font-size:18px}
.ldm-live-chat-toggle strong{font-size:10px}
.ldm-live-chat-toggle em{
	position:absolute;
	right:-5px;
	top:-7px;
	dis:grid;
	place-items:center;
	min-width:21px;
	height:21px;
	padding:0 5px;
	border:2px solid #fff;
	border-radius:999px;
	background:#f9b821;
	color:#071b3b;
	font-size:8px;
	font-style:normal;
	font-weight:900
}
.ldm-live-chat-toggle em[hidden]{display:none!important}
.ldm-live-chat-panel{
	position:absolute;
	right:0;
	bottom:58px;
	dis:grid;
	grid-template-rows:auto minmax(230px,1fr) auto auto;
	width:min(360px,calc(100vw - 32px));
	height:min(520px,calc(100vh - 115px));
	border:1px solid #dbe5ec;
	border-radius:18px;
	overflow:hidden;
	background:#fff;
	box-shadow:0 24px 65px rgba(7,27,59,.28);
	opacity:0;
	visibility:hidden;
	transform:translateY(12px) scale(.97);
	transform-origin:right bottom;
	transition:opacity .18s ease,transform .18s ease,visibility .18s ease
}
.ldm-live-chat.is-open .ldm-live-chat-panel{opacity:1;visibility:visible;transform:none}
.ldm-live-chat-head{
	dis:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:12px 13px;
	background:#071b3b;
	color:#fff
}
.ldm-live-chat-head>div{display:flex;align-items:center;gap:9px}
.ldm-live-chat-head>div>span{font-size:19px}
.ldm-live-chat-head strong,.ldm-live-chat-head small{display:block}
.ldm-live-chat-head strong{font-size:11px}
.ldm-live-chat-head small{margin-top:2px;color:#b7c9db;font-size:8px}
.ldm-live-chat-head button{
	dis:grid;
	place-items:center;
	width:29px;
	height:29px;
	border:0;
	border-radius:9px;
	background:rgba(255,255,255,.09);
	color:#fff;
	font-size:20px;
	cursor:pointer
}
.ldm-live-chat-messages{
	overflow:auto;
	padding:13px;
	background:#f7fafc
}
.ldm-live-bubble{max-width:84%;margin:0 0 10px}
.ldm-live-bubble.is-mine{margin-left:auto}
.ldm-live-bubble>div{display:flex;gap:7px;margin:0 4px 3px}
.ldm-live-bubble.is-mine>div{justify-content:flex-end}
.ldm-live-bubble strong{color:#6f8192;font-size:7px}
.ldm-live-bubble time{color:#a0abb4;font-size:7px}
.ldm-live-bubble p{
	margin:0;
	padding:9px 10px;
	border:1px solid #dde7ee;
	border-radius:13px 13px 13px 4px;
	background:#fff;
	color:#32495b;
	font-size:9px;
	line-height:1.5
}
.ldm-live-bubble.is-mine p{
	border-color:#2370b2;
	border-radius:13px 13px 4px 13px;
	background:#2370b2;
	color:#fff
}
.ldm-live-chat-form{
	dis:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:8px;
	padding:10px;
	border-top:1px solid #e4ebf0;
	background:#fff
}
.ldm-live-chat-form textarea{
	width:100%;
	min-height:42px;
	max-height:100px;
	resize:none;
	padding:9px 10px;
	border:1px solid #d8e2e9;
	border-radius:11px;
	background:#f8fafc;
	color:#071b3b;
	font:inherit;
	font-size:9px;
	outline:none
}
.ldm-live-chat-form textarea:focus{border-color:#2370b2;box-shadow:0 0 0 3px rgba(35,112,178,.08)}
.ldm-live-chat-form button{
	align-self:end;
	height:39px;
	padding:0 13px;
	border:0;
	border-radius:10px;
	background:#f9b821;
	color:#071b3b;
	font-size:9px;
	font-weight:900;
	cursor:pointer
}
.ldm-live-chat-form button:disabled{opacity:.5;cursor:not-allowed}
.ldm-live-chat-readonly{
	padding:9px 12px;
	border-top:1px solid #e7edf2;
	background:#fff8df;
	color:#77662f;
	font-size:8px;
	text-align:center
}
.ldm-live-chat-empty{
	dis:grid;
	place-items:center;
	align-content:center;
	gap:4px;
	min-height:200px;
	color:#81909d;
	text-align:center
}
.ldm-live-chat-empty span{font-size:28px}
.ldm-live-chat-empty strong{color:#071b3b;font-size:11px}
.ldm-live-chat-empty small{font-size:8px}

/* Report mode ends the live chat visually as well. */
.ldm-classroom-wrap.is-report-required .ldm-live-chat{display:none!important}
.ldm-student-room.is-lesson-finished .ldm-live-chat{display:none!important}

@media(max-width:820px){
	.ldm-messages-layout{grid-template-columns:220px minmax(0,1fr)}
	.ldm-message-contact{grid-template-columns:38px minmax(0,1fr) auto;padding:11px 9px}
	.ldm-message-avatar{width:38px;height:38px}
}
@media(max-width:650px){
	.ldm-messages-head{display:block}
	.ldm-message-unread-summary{margin-top:9px}
	.ldm-messages-layout{display:block;min-height:0}
	.ldm-message-contacts{display:flex;max-height:none;overflow:auto;border-right:0;border-bottom:1px solid #e7eef3}
	.ldm-message-contact{flex:0 0 220px;border-bottom:0;border-right:1px solid #e9eff4}
	.ldm-message-conversation{min-height:480px}
	.ldm-message-thread{max-height:390px}
	.ldm-direct-bubble{max-width:88%}
	.ldm-live-chat{right:12px;bottom:12px}
	.ldm-live-chat-panel{bottom:55px;width:calc(100vw - 24px);height:min(520px,calc(100vh - 90px))}
}


/* =========================================================
   v0.24.2 — Lesson Room chat time gate
   ========================================================= */

.ldm-live-chat-readonly{
	margin:0;
	padding:14px 16px;
	border-top:1px solid #dce7ef;
	background:#fff8df;
	color:#7c661d;
	font-size:10px;
	font-weight:800;
	line-height:1.5;
	text-align:center;
}

.ldm-live-chat-readonly:before{
	content:"⏱ ";
}


/* =========================================================
   v0.24.3 — larger Lesson Room / Student Room typography
   + improved live chat
   ========================================================= */

/* ---------------------------------------------------------
   LIVE CHAT — bigger, clearer and better balanced
   --------------------------------------------------------- */

.ldm-live-chat{
	right:26px;
	bottom:24px
}

.ldm-live-chat-toggle{
	min-height:54px;
	padding:0 19px;
	gap:10px
}

.ldm-live-chat-toggle span{
	font-size:21px
}

.ldm-live-chat-toggle strong{
	font-size:13px;
	line-height:1
}

.ldm-live-chat-toggle em{
	min-width:24px;
	height:24px;
	font-size:10px
}

.ldm-live-chat-panel{
	display:grid!important;
	grid-template-rows:auto minmax(300px,1fr) auto auto!important;
	width:min(470px,calc(100vw - 42px))!important;
	height:min(640px,calc(100vh - 108px))!important;
	bottom:66px!important;
	border-radius:22px!important
}

.ldm-live-chat-head{
	position:relative;
	display:flex!important;
	align-items:center!important;
	justify-content:flex-start!important;
	min-height:78px;
	padding:16px 66px 16px 18px!important;
	background:#071b3b!important;
	color:#fff!important
}

.ldm-live-chat-head>div{
	display:flex!important;
	align-items:center!important;
	gap:12px!important
}

.ldm-live-chat-head>div>span{
	font-size:24px!important
}

.ldm-live-chat-head strong{
	color:#fff!important;
	font-size:16px!important;
	line-height:1.2!important
}

.ldm-live-chat-head small{
	margin-top:4px!important;
	color:#c8d7e6!important;
	font-size:11px!important;
	line-height:1.35!important
}

/* X always in the top-right corner */
.ldm-live-chat-head button{
	position:absolute!important;
	top:16px!important;
	right:16px!important;
	display:grid!important;
	place-items:center!important;
	width:42px!important;
	height:42px!important;
	padding:0!important;
	border:1px solid rgba(255,255,255,.13)!important;
	border-radius:12px!important;
	background:rgba(255,255,255,.10)!important;
	color:#fff!important;
	font-size:27px!important;
	line-height:1!important
}

.ldm-live-chat-head button:hover{
	background:rgba(255,255,255,.17)!important
}

.ldm-live-chat-messages{
	padding:19px!important;
	background:#f4f8fb!important
}

.ldm-live-bubble{
	max-width:79%!important;
	margin-bottom:15px!important
}

.ldm-live-bubble.is-mine{
	margin-left:auto!important;
	margin-right:0!important
}

.ldm-live-bubble.is-theirs{
	margin-left:0!important;
	margin-right:auto!important
}

.ldm-live-bubble>div{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	margin:0 6px 5px!important
}

.ldm-live-bubble.is-mine>div{
	justify-content:flex-end!important
}

.ldm-live-bubble strong{
	color:#5f7385!important;
	font-size:10px!important;
	font-weight:800!important
}

.ldm-live-bubble time{
	color:#8fa0ae!important;
	font-size:9.5px!important
}

.ldm-live-bubble p{
	margin:0!important;
	padding:12px 14px!important;
	border-radius:17px 17px 17px 5px!important;
	font-size:13.5px!important;
	line-height:1.52!important;
	font-weight:650
}

/* Teacher = blue, Student = Lingodemy yellow.
   Same meaning on both sides of the Lesson Room. */
.ldm-live-bubble.is-teacher p{
	border:1px solid #2370b2!important;
	background:#2370b2!important;
	color:#fff!important
}

.ldm-live-bubble.is-student p{
	border:1px solid #efbd36!important;
	background:#fff1bd!important;
	color:#071b3b!important
}

.ldm-live-bubble.is-mine p{
	border-radius:17px 17px 5px 17px!important
}

.ldm-live-chat-form{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) auto!important;
	align-items:end!important;
	gap:10px!important;
	padding:14px!important
}

.ldm-live-chat-form textarea{
	min-height:66px!important;
	max-height:150px!important;
	padding:13px 14px!important;
	border-radius:14px!important;
	font-size:13px!important;
	line-height:1.45!important
}

.ldm-live-chat-form button{
	height:48px!important;
	padding:0 18px!important;
	border-radius:12px!important;
	font-size:12px!important
}

.ldm-live-chat-readonly{
	padding:15px 18px!important;
	font-size:11px!important
}

.ldm-live-chat-empty{
	min-height:260px!important;
	gap:7px!important
}

.ldm-live-chat-empty span{
	font-size:36px!important
}

.ldm-live-chat-empty strong{
	font-size:14px!important
}

.ldm-live-chat-empty small{
	font-size:10.5px!important
}

.ldm-chat-loading,
.ldm-message-thread-error{
	font-size:11px!important
}

/* ---------------------------------------------------------
   TEACHER LESSON ROOM — proportional readability upgrade
   --------------------------------------------------------- */

.ldm-classroom-wrap .ldm-back-link{
	font-size:13px
}

.ldm-classroom-wrap .ldm-kicker{
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-header h1{
	font-size:clamp(32px,3vw,38px)!important
}

.ldm-classroom-wrap .ldm-room-header p{
	font-size:13px!important;
	line-height:1.5!important
}

.ldm-classroom-wrap .ldm-room-video-btn strong{
	font-size:13px!important
}

.ldm-classroom-wrap .ldm-room-video-btn small{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-student-screen-btn strong{
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-room-student-screen-btn small{
	font-size:9.5px!important
}

.ldm-classroom-wrap .ldm-room-tools button{
	min-height:44px!important;
	padding:8px 13px!important;
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-tools button>span{
	font-size:16px!important
}

.ldm-classroom-wrap .ldm-room-tools em{
	min-width:21px!important;
	height:21px!important;
	font-size:8.5px!important
}

.ldm-classroom-wrap .ldm-room-panel{
	padding:23px!important
}

.ldm-classroom-wrap .ldm-room-panel-head h2{
	font-size:22px!important;
	line-height:1.2!important
}

.ldm-classroom-wrap .ldm-room-plan-counter,
.ldm-classroom-wrap .ldm-room-card-stats,
.ldm-classroom-wrap .ldm-room-quiz-stats{
	font-size:10px!important;
	padding:7px 10px!important
}

.ldm-classroom-wrap .ldm-room-goal-form label>span,
.ldm-classroom-wrap .ldm-room-card-form label>span,
.ldm-classroom-wrap .ldm-room-quiz-form label>span{
	font-size:9.5px!important
}

.ldm-classroom-wrap .ldm-room-goal-form input,
.ldm-classroom-wrap .ldm-room-add-stage input,
.ldm-classroom-wrap .ldm-room-card-form input,
.ldm-classroom-wrap .ldm-room-quiz-form input,
.ldm-classroom-wrap .ldm-room-quiz-form select{
	min-height:45px!important;
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-room-goal-form button,
.ldm-classroom-wrap .ldm-room-add-stage button,
.ldm-classroom-wrap .ldm-room-card-form>button,
.ldm-classroom-wrap .ldm-room-quiz-form-bottom>button{
	min-height:45px!important;
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-stage{
	padding:11px 12px!important
}

.ldm-classroom-wrap .ldm-room-stage strong{
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-room-stage span{
	font-size:10px!important;
	line-height:1.4!important
}

.ldm-classroom-wrap .ldm-room-card-top{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-card-face small{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-card-face span{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-card-controls button,
.ldm-classroom-wrap .ldm-room-card-nav button{
	font-size:10.5px!important
}

.ldm-classroom-wrap .ldm-room-helper{
	font-size:10.5px!important;
	line-height:1.45!important
}

.ldm-classroom-wrap .ldm-room-quiz-question strong{
	font-size:13px!important
}

.ldm-classroom-wrap .ldm-room-quiz-options button{
	min-height:48px!important;
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-quiz-options button>span{
	font-size:9.5px!important
}

.ldm-classroom-wrap .ldm-room-quiz-result{
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-materials strong{
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-room-materials small{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-inline-link{
	font-size:11px!important
}

.ldm-classroom-wrap .ldm-room-empty strong{
	font-size:13px!important
}

.ldm-classroom-wrap .ldm-room-empty span{
	font-size:10.5px!important;
	line-height:1.45!important
}

.ldm-classroom-wrap .ldm-room-side-title strong{
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-room-side-card>p{
	font-size:10.5px!important;
	line-height:1.5!important
}

.ldm-classroom-wrap .ldm-room-summary-grid span,
.ldm-classroom-wrap .ldm-room-live-summary>small{
	font-size:9px!important
}

.ldm-classroom-wrap .ldm-room-student-mini span{
	font-size:9.5px!important
}

.ldm-classroom-wrap .ldm-room-student-mini strong{
	font-size:10px!important
}

.ldm-classroom-wrap .ldm-room-report-summary strong,
.ldm-classroom-wrap .ldm-room-report-summary p{
	font-size:10.5px!important
}

.ldm-classroom-wrap .ldm-room-report-summary span{
	font-size:9.5px!important
}

.ldm-classroom-wrap .ldm-form-help{
	font-size:12px!important
}

.ldm-classroom-wrap .ldm-info-list span{
	font-size:13px!important
}

.ldm-classroom-wrap .ldm-info-list strong{
	font-size:14px!important
}

/* ---------------------------------------------------------
   STUDENT ROOM — proportional readability upgrade
   --------------------------------------------------------- */

.ldm-student-room .ldm-student-brand strong{
	font-size:15px!important
}

.ldm-student-room .ldm-student-brand span{
	font-size:9.5px!important
}

.ldm-student-room .ldm-student-lesson-meta strong{
	font-size:13px!important
}

.ldm-student-room .ldm-student-lesson-meta span{
	font-size:9.5px!important
}

.ldm-student-room .ldm-student-sync{
	font-size:10px!important
}

.ldm-student-room .ldm-student-head-actions>a{
	font-size:10.5px!important
}

.ldm-student-room .ldm-student-mission>span{
	font-size:10px!important
}

.ldm-student-room .ldm-student-mission>strong{
	font-size:17px!important;
	line-height:1.42!important
}

.ldm-student-room .ldm-student-mission>small{
	font-size:10px!important
}

.ldm-student-room .ldm-student-activity-label{
	font-size:10px!important
}

.ldm-student-room .ldm-student-kicker{
	font-size:11px!important
}

.ldm-student-room .ldm-student-waiting h1{
	font-size:clamp(32px,4vw,38px)!important
}

.ldm-student-room .ldm-student-waiting p{
	font-size:13px!important
}

.ldm-student-room .ldm-student-card-face small,
.ldm-student-room .ldm-student-card-face span{
	font-size:11px!important
}

.ldm-student-room .ldm-student-card-answer button{
	min-height:58px!important;
	font-size:12.5px!important
}

.ldm-student-room .ldm-student-quiz-options button strong{
	font-size:16px!important
}

.ldm-student-room .ldm-student-hint{
	font-size:12px!important
}

.ldm-student-room .ldm-student-result{
	font-size:12.5px!important
}

.ldm-student-room .ldm-student-toast{
	font-size:11px!important
}

.ldm-student-room .ldm-student-room-foot strong{
	font-size:11px!important
}

.ldm-student-room .ldm-student-room-foot span{
	font-size:9.5px!important
}

/* Keep everything proportional on tablets / smaller displays. */
@media(max-width:820px){
	.ldm-live-chat{
		right:14px;
		bottom:14px
	}

	.ldm-live-chat-panel{
		width:min(440px,calc(100vw - 28px))!important;
		height:min(600px,calc(100vh - 92px))!important;
		bottom:62px!important
	}

	.ldm-live-chat-head{
		min-height:72px;
		padding:14px 60px 14px 15px!important
	}

	.ldm-live-chat-head button{
		top:14px!important;
		right:14px!important;
		width:40px!important;
		height:40px!important
	}

	.ldm-live-bubble{
		max-width:84%!important
	}
}

@media(max-width:560px){
	.ldm-live-chat-panel{
		right:-2px!important;
		width:calc(100vw - 20px)!important;
		height:min(620px,calc(100vh - 82px))!important;
		border-radius:18px!important
	}

	.ldm-live-chat-toggle{
		min-height:50px;
		padding:0 16px
	}

	.ldm-live-chat-head strong{
		font-size:15px!important
	}

	.ldm-live-chat-head small{
		font-size:10px!important
	}

	.ldm-live-chat-messages{
		padding:14px!important
	}

	.ldm-live-bubble{
		max-width:88%!important
	}

	.ldm-live-bubble p{
		font-size:12.5px!important
	}

	.ldm-live-chat-form{
		grid-template-columns:1fr!important
	}

	.ldm-live-chat-form button{
		width:max-content;
		min-width:92px
	}

	.ldm-student-room .ldm-student-brand strong{
		font-size:14px!important
	}

	.ldm-student-room .ldm-student-mission>strong{
		font-size:15px!important
	}
}


/* =========================================================
   v0.24.4 — group chat participant colors
   ========================================================= */

/*
 * Nauczyciel pozostaje niebieski.
 * Każdy uczeń dostaje stały kolor wyliczany z jego student_user_id,
 * więc jego kolor nie zmienia się pomiędzy ekranami uczestników.
 */
.ldm-live-bubble.is-student-color-0 p{
	border-color:#efbd36!important;
	background:#fff1bd!important;
	color:#071b3b!important
}

.ldm-live-bubble.is-student-color-1 p{
	border-color:#65ad4c!important;
	background:#e7f5df!important;
	color:#173b19!important
}

.ldm-live-bubble.is-student-color-2 p{
	border-color:#8259c8!important;
	background:#eee7fa!important;
	color:#34205c!important
}

.ldm-live-bubble.is-student-color-3 p{
	border-color:#e98939!important;
	background:#ffead9!important;
	color:#633316!important
}

.ldm-live-bubble.is-student-color-4 p{
	border-color:#2d9e9a!important;
	background:#ddf4f2!important;
	color:#164947!important
}

.ldm-live-bubble.is-student-color-5 p{
	border-color:#d85f91!important;
	background:#fbe4ee!important;
	color:#642b45!important
}

.ldm-live-bubble.is-student-color-6 p{
	border-color:#4e88d8!important;
	background:#e3effc!important;
	color:#173d6f!important
}

.ldm-live-bubble.is-student-color-7 p{
	border-color:#9a8f38!important;
	background:#f4f0ce!important;
	color:#484315!important
}

/* Author line subtly follows the same bubble, but remains readable. */
.ldm-live-bubble.is-student-color-0 strong{color:#8b6b0b!important}
.ldm-live-bubble.is-student-color-1 strong{color:#3e7d30!important}
.ldm-live-bubble.is-student-color-2 strong{color:#65419d!important}
.ldm-live-bubble.is-student-color-3 strong{color:#a5541d!important}
.ldm-live-bubble.is-student-color-4 strong{color:#247a76!important}
.ldm-live-bubble.is-student-color-5 strong{color:#a94670!important}
.ldm-live-bubble.is-student-color-6 strong{color:#356daa!important}
.ldm-live-bubble.is-student-color-7 strong{color:#71691e!important}


/* =========================================================
   v0.24.5 — larger Parent ↔ Teacher messages
   ========================================================= */

/* Header */
.ldm-messages-head{
	gap:24px!important;
	margin-bottom:20px!important
}

.ldm-messages-head h2{
	margin:3px 0 6px!important;
	font-size:24px!important;
	line-height:1.2!important
}

.ldm-messages-head p{
	font-size:12.5px!important;
	line-height:1.5!important
}

.ldm-message-unread-summary{
	min-width:92px!important;
	padding:8px 12px!important;
	font-size:10.5px!important
}

/* Whole messenger — slightly more space for readable copy */
.ldm-messages-layout{
	grid-template-columns:320px minmax(0,1fr)!important;
	min-height:570px!important
}

.ldm-message-contacts{
	max-height:680px!important
}

/* Conversation list */
.ldm-message-contact{
	grid-template-columns:48px minmax(0,1fr) auto!important;
	gap:12px!important;
	padding:15px 14px!important
}

.ldm-message-avatar{
	width:48px!important;
	height:48px!important;
	border-radius:14px!important;
	font-size:17px!important
}

.ldm-message-contact-copy strong{
	font-size:13px!important;
	line-height:1.25!important
}

.ldm-message-contact-copy small{
	margin-top:3px!important;
	font-size:10px!important;
	line-height:1.25!important
}

.ldm-message-contact-copy em{
	margin-top:5px!important;
	font-size:10px!important;
	line-height:1.35!important
}

.ldm-message-contact>b{
	min-width:24px!important;
	height:24px!important;
	padding:0 6px!important;
	font-size:9.5px!important
}

/* Active conversation header */
.ldm-message-conversation{
	grid-template-rows:auto minmax(320px,1fr) auto!important
}

.ldm-message-conversation-head{
	min-height:76px!important;
	padding:15px 20px!important
}

.ldm-message-conversation-head strong{
	font-size:15px!important;
	line-height:1.25!important
}

.ldm-message-conversation-head span{
	margin-top:4px!important;
	font-size:10.5px!important;
	line-height:1.35!important
}

/* Thread */
.ldm-message-thread{
	min-height:330px!important;
	max-height:560px!important;
	padding:21px!important
}

.ldm-direct-bubble{
	max-width:min(78%,620px)!important;
	margin-bottom:15px!important
}

.ldm-direct-bubble>div{
	gap:9px!important;
	margin:0 7px 5px!important
}

.ldm-direct-bubble>div strong{
	font-size:10px!important;
	line-height:1.25!important
}

.ldm-direct-bubble>div time{
	font-size:9px!important
}

.ldm-direct-bubble p{
	padding:13px 15px!important;
	border-radius:17px 17px 17px 5px!important;
	font-size:13.5px!important;
	line-height:1.58!important;
	font-weight:600!important
}

.ldm-direct-bubble.is-mine p{
	border-radius:17px 17px 5px 17px!important
}

/* Composer */
.ldm-message-compose{
	gap:11px!important;
	padding:14px!important
}

.ldm-message-compose textarea{
	min-height:62px!important;
	max-height:150px!important;
	padding:13px 14px!important;
	border-radius:14px!important;
	font-size:13px!important;
	line-height:1.45!important
}

.ldm-message-compose button{
	min-height:48px!important;
	padding:0 19px!important;
	border-radius:12px!important;
	font-size:12px!important
}

/* Empty/loading states */
.ldm-message-empty-thread,
.ldm-messages-empty{
	gap:7px!important;
	min-height:320px!important
}

.ldm-message-empty-thread span,
.ldm-messages-empty>div{
	font-size:36px!important
}

.ldm-message-empty-thread strong,
.ldm-messages-empty strong{
	font-size:14px!important
}

.ldm-message-empty-thread small,
.ldm-messages-empty span{
	font-size:10.5px!important;
	line-height:1.45!important
}

.ldm-chat-loading,
.ldm-message-thread-error{
	font-size:11px!important
}

/* Tablet */
@media(max-width:900px){
	.ldm-messages-layout{
		grid-template-columns:280px minmax(0,1fr)!important
	}

	.ldm-message-contact{
		grid-template-columns:44px minmax(0,1fr) auto!important;
		padding:13px 12px!important
	}

	.ldm-message-avatar{
		width:44px!important;
		height:44px!important
	}

	.ldm-direct-bubble{
		max-width:84%!important
	}
}

/* Mobile */
@media(max-width:680px){
	.ldm-messages-head{
		align-items:flex-start!important;
		flex-direction:column!important;
		gap:10px!important
	}

	.ldm-messages-layout{
		grid-template-columns:1fr!important
	}

	.ldm-message-contacts{
		max-height:250px!important;
		border-right:0!important;
		border-bottom:1px solid #e7eef3!important
	}

	.ldm-message-thread{
		max-height:430px!important;
		padding:15px!important
	}

	.ldm-direct-bubble{
		max-width:90%!important
	}

	.ldm-direct-bubble p{
		font-size:12.5px!important
	}

	.ldm-message-compose{
		grid-template-columns:1fr!important
	}

	.ldm-message-compose button{
		width:max-content!important;
		min-width:96px!important
	}
}


/* =========================================================
   v0.24.6 — conversation empty state + message grouping
   ========================================================= */

/* Empty state must always be vertical. */
.ldm-live-chat-empty,
.ldm-message-empty-thread{
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:center!important;
	gap:0!important;
	text-align:center!important
}

.ldm-live-chat-empty>span,
.ldm-live-chat-empty>strong,
.ldm-live-chat-empty>small,
.ldm-message-empty-thread>span,
.ldm-message-empty-thread>strong,
.ldm-message-empty-thread>small{
	display:block!important;
	width:100%!important;
	flex:none!important
}

.ldm-live-chat-empty>strong,
.ldm-message-empty-thread>strong{
	margin-top:7px!important
}

.ldm-live-chat-empty>small,
.ldm-message-empty-thread>small{
	margin-top:5px!important
}

/*
 * Several consecutive messages by the same author in the same minute
 * are rendered as one bubble. Author + timestamp appear once.
 */
.ldm-message-group{
	margin-bottom:15px!important
}

.ldm-message-group .ldm-grouped-message-body{
	display:flex!important;
	flex-direction:column!important;
	gap:0!important
}

.ldm-grouped-message-body>span{
	display:block!important
}

.ldm-grouped-message-body>span+span{
	margin-top:7px!important;
	padding-top:7px!important;
	border-top:1px solid rgba(255,255,255,.18)
}

/* Light/student/direct bubbles need a darker subtle separator. */
.ldm-live-bubble.is-student .ldm-grouped-message-body>span+span,
.ldm-direct-bubble.is-theirs .ldm-grouped-message-body>span+span{
	border-top-color:rgba(7,27,59,.10)
}

/* Parent ↔ teacher own blue bubble separator stays light. */
.ldm-direct-bubble.is-mine .ldm-grouped-message-body>span+span,
.ldm-live-bubble.is-teacher .ldm-grouped-message-body>span+span{
	border-top-color:rgba(255,255,255,.20)
}


/* =========================================================
   v0.24.7 — direct messages composer + role colors
   ========================================================= */

/* Composer is always one row: textarea left, Send button right. */
.ldm-message-compose{
	display:grid!important;
	grid-template-columns:minmax(0,1fr) auto!important;
	align-items:stretch!important;
	gap:11px!important;
	padding:14px!important
}

.ldm-message-compose textarea{
	width:100%!important;
	min-width:0!important;
	min-height:62px!important;
	height:62px!important;
	max-height:140px!important;
	resize:vertical!important;
	margin:0!important
}

.ldm-message-compose button{
	align-self:stretch!important;
	justify-self:end!important;
	min-width:104px!important;
	min-height:62px!important;
	height:62px!important;
	margin:0!important;
	padding:0 20px!important
}

/* Role-based colors — same on teacher and parent side. */
.ldm-direct-bubble.is-parent p{
	border-color:#efbd36!important;
	background:#fff1bd!important;
	color:#071b3b!important;
	box-shadow:0 5px 14px rgba(181,139,24,.08)!important
}

.ldm-direct-bubble.is-parent>div strong{
	color:#8b6b0b!important
}

.ldm-direct-bubble.is-parent>div time{
	color:#9a8547!important
}

.ldm-direct-bubble.is-teacher p{
	border-color:#2370b2!important;
	background:#2370b2!important;
	color:#fff!important;
	box-shadow:0 5px 14px rgba(35,112,178,.12)!important
}

.ldm-direct-bubble.is-teacher>div strong{
	color:#527897!important
}

.ldm-direct-bubble.is-teacher>div time{
	color:#8196a8!important
}

/* Grouped messages: separator follows role color, not left/right position. */
.ldm-direct-bubble.is-parent .ldm-grouped-message-body>span+span{
	border-top-color:rgba(7,27,59,.10)!important
}

.ldm-direct-bubble.is-teacher .ldm-grouped-message-body>span+span{
	border-top-color:rgba(255,255,255,.22)!important
}

/* Keep the row also on phones. */
@media(max-width:680px){
	.ldm-message-compose{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) auto!important;
		align-items:stretch!important
	}

	.ldm-message-compose textarea{
		min-height:58px!important;
		height:58px!important;
		font-size:12.5px!important
	}

	.ldm-message-compose button{
		width:auto!important;
		min-width:88px!important;
		min-height:58px!important;
		height:58px!important;
		padding:0 14px!important
	}
}

@media(max-width:430px){
	.ldm-message-compose{
		gap:8px!important;
		padding:10px!important
	}

	.ldm-message-compose button{
		min-width:78px!important;
		padding:0 10px!important;
		font-size:11px!important
	}
}


/* =========================================================
   v0.24.8 — realtime direct-message unread highlighting
   ========================================================= */

@keyframes ldm-message-new-pulse{
	0%{
		background:#fff;
		box-shadow:inset 4px 0 0 #f9b821,0 0 0 0 rgba(249,184,33,.32)
	}
	45%{
		background:#fff6d9;
		box-shadow:inset 4px 0 0 #f9b821,0 0 0 7px rgba(249,184,33,0)
	}
	100%{
		background:#fff9e8;
		box-shadow:inset 4px 0 0 #f9b821,0 0 0 0 rgba(249,184,33,0)
	}
}

.ldm-message-contact.has-unread:not(.is-active){
	background:#fff9e8!important;
	box-shadow:inset 4px 0 0 #f9b821!important
}

.ldm-message-contact.has-unread:not(.is-active) .ldm-message-avatar{
	background:#f9b821!important;
	color:#071b3b!important
}

.ldm-message-contact.has-unread:not(.is-active) .ldm-message-contact-copy strong{
	font-weight:950!important;
	color:#071b3b!important
}

.ldm-message-contact.has-unread:not(.is-active) .ldm-message-contact-copy em{
	color:#5f6f7d!important;
	font-weight:750!important
}

.ldm-message-contact.is-new-message:not(.is-active){
	animation:ldm-message-new-pulse .85s ease-out 2
}

/* Right-side unread counter is intentionally stronger than before. */
.ldm-message-contact>[data-contact-unread]{
	min-width:27px!important;
	height:27px!important;
	padding:0 7px!important;
	border:2px solid #fff!important;
	box-shadow:0 5px 12px rgba(7,27,59,.13)!important;
	font-size:10px!important;
	font-weight:950!important
}

/* Global mail badges pulse gently when visible. */
[data-direct-tab-badge]:not([hidden]),
.ldm-message-head-button em:not([hidden]){
	box-shadow:0 0 0 3px rgba(249,184,33,.16)
}

/* v0.24.9 - global communication badges + parent progress */

[data-direct-global-badge][hidden],
[data-notification-global-badge][hidden]{display:none!important}

[data-direct-global-badge]:not([hidden]),
[data-notification-global-badge]:not([hidden]){
	display:grid!important;place-items:center!important;min-width:21px!important;height:21px!important;
	padding:0 5px!important;border:2px solid #fff!important;border-radius:999px!important;
	background:#f9b821!important;color:#071b3b!important;font-size:9px!important;
	font-style:normal!important;font-weight:950!important;box-shadow:0 5px 12px rgba(7,27,59,.14)!important
}

.ldm-parent-progress-section{display:none}
.ldm-parent-progress-section.is-section-active{display:block}
.ldm-parent-progress-section>.ldm-section-head{margin-bottom:18px}
.ldm-parent-progress-section>.ldm-section-head h2{margin:3px 0 5px;font-size:25px}
.ldm-parent-progress-section>.ldm-section-head p{margin:0;color:#718096;font-size:12px}
.ldm-parent-progress-children{display:grid;gap:18px}
.ldm-parent-progress-child{padding:22px!important}
.ldm-parent-progress-child-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px}
.ldm-parent-progress-child-head .ldm-avatar{width:58px;height:58px;flex-basis:58px;font-size:21px}
.ldm-parent-progress-child-head h3{margin:2px 0 3px;font-size:20px}
.ldm-parent-progress-child-head p{margin:0;color:#778595;font-size:11px}
.ldm-parent-progress-score{min-width:108px;padding:10px 13px;border-radius:15px;background:#edf5fb;text-align:center}
.ldm-parent-progress-score strong,.ldm-parent-progress-score span{display:block}
.ldm-parent-progress-score strong{color:#2370b2;font-size:24px;line-height:1}
.ldm-parent-progress-score span{margin-top:4px;color:#718096;font-size:9px;font-weight:800}
.ldm-parent-progress-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:17px}
.ldm-parent-progress-stats>div{padding:11px 12px;border:1px solid rgba(7,27,59,.06);border-radius:13px;background:#f8fafc}
.ldm-parent-progress-stats strong,.ldm-parent-progress-stats span{display:block}
.ldm-parent-progress-stats strong{color:#071b3b;font-size:17px}
.ldm-parent-progress-stats span{margin-top:2px;color:#7a8795;font-size:9px;font-weight:750}
.ldm-parent-progress-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(7,27,59,.07)}
.ldm-parent-progress-columns h4{margin:3px 0 14px;font-size:16px}
.ldm-parent-progress-no-rating{display:flex;align-items:flex-start;gap:11px;padding:14px;border-radius:14px;background:#fff8df}
.ldm-parent-progress-no-rating>span{font-size:24px}
.ldm-parent-progress-no-rating strong{display:block;color:#071b3b;font-size:12px}
.ldm-parent-progress-no-rating p{margin:4px 0 0;color:#786c4b;font-size:10px;line-height:1.45}
.ldm-parent-progress-history{margin-top:19px;padding-top:17px;border-top:1px solid rgba(7,27,59,.07)}
.ldm-parent-progress-history .ldm-learning-history{margin-top:7px}

@media(max-width:850px){
	.ldm-parent-progress-stats{grid-template-columns:1fr 1fr}
	.ldm-parent-progress-columns{grid-template-columns:1fr}
}
@media(max-width:560px){
	.ldm-parent-progress-child{padding:16px!important}
	.ldm-parent-progress-child-head{grid-template-columns:48px minmax(0,1fr)}
	.ldm-parent-progress-child-head .ldm-avatar{width:48px;height:48px;flex-basis:48px}
	.ldm-parent-progress-score{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;text-align:left}
	.ldm-parent-progress-score span{margin-top:0}
	.ldm-parent-progress-stats{grid-template-columns:1fr 1fr}
}

/* v0.25.0 - notification cleanup */
body.ldm-app-page .ldm-parent-section[data-parent-section="notifications"] a,
body.ldm-app-page .ldm-parent-section[data-parent-section="notifications"] a *,
body.ldm-app-page .ldm-parent-section[data-parent-section="notifications"] button,
body.ldm-app-page .ldm-parent-section[data-parent-section="notifications"] button *,
body.ldm-app-page .ldm-notification-center a,
body.ldm-app-page .ldm-notification-center a *,
body.ldm-app-page .ldm-notification-center strong,
body.ldm-app-page .ldm-notification-center p,
body.ldm-app-page .ldm-notification-center time{
	text-decoration:none!important;
	text-decoration-line:none!important;
}

body.ldm-app-page .ldm-notification-item,
body.ldm-app-page .ldm-notification-item:hover,
body.ldm-app-page .ldm-notification-item:focus{
	text-decoration:none!important;
	text-decoration-line:none!important;
}


/* =========================================================
   v0.25.1 - simplified parent/teacher navigation
   ========================================================= */

body.ldm-app-page .ldm-teacher-top-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:9px;
	margin:0 0 10px;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-notification-bell,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:link,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:visited{
	box-sizing:border-box!important;
	height:44px!important;
	min-height:44px!important;
	border-radius:13px!important;
	border:1px solid rgba(7,27,59,.09)!important;
	background:#fff!important;
	color:#071b3b!important;
	box-shadow:0 7px 20px rgba(7,27,59,.07)!important;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-notification-bell{
	width:44px!important;
	min-width:44px!important;
	padding:0!important;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-notification-bell em{
	border-color:#fff!important;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:link,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:visited{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:7px!important;
	margin:0!important;
	padding:0 15px!important;
	line-height:1!important;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-notification-bell:hover{
	background:#f4f8fb!important;
	border-color:rgba(35,112,178,.22)!important;
}

body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:hover,
body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:focus{
	background:#071b3b!important;
	border-color:#071b3b!important;
	color:#fff!important;
}

/* Two cards can intentionally belong to one navigation section. */
.ldm-teacher-section[data-teacher-section="lessons"].is-section-active +
.ldm-teacher-section[data-teacher-section="lessons"].is-section-active{
	margin-top:14px;
}

.ldm-parent-section[data-parent-section="lessons"].is-section-active +
.ldm-parent-section[data-parent-section="lessons"].is-section-active,
.ldm-parent-section[data-parent-section="progress"].is-section-active +
.ldm-parent-section[data-parent-section="progress"].is-section-active{
	margin-top:14px;
}

@media(max-width:650px){
	body.ldm-app-page .ldm-teacher-top-actions{
		gap:7px;
		margin-bottom:8px;
	}
	body.ldm-app-page .ldm-teacher-top-actions .ldm-notification-bell{
		width:40px!important;
		min-width:40px!important;
		height:40px!important;
		min-height:40px!important;
	}
	body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout,
	body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:link,
	body.ldm-app-page .ldm-teacher-top-actions .ldm-parent-logout:visited{
		height:40px!important;
		min-height:40px!important;
		padding:0 12px!important;
	}
}


/* =========================================================
   v0.25.2 — spacing in merged parent sections
   ========================================================= */

/*
 * The merged navigation sections are not always adjacent in the DOM,
 * so spacing is attached to the actual secondary content blocks.
 */
body.ldm-app-page .ldm-parent-lessons-secondary.is-section-active{
	margin-top:32px!important;
}

body.ldm-app-page .ldm-parent-progress-secondary.is-section-active{
	margin-top:36px!important;
}

/* Give the material/homework pair a little more breathing room. */
body.ldm-app-page .ldm-parent-lessons-secondary .ldm-materials-layout{
	gap:22px!important;
}

/* Progress heading should read as a new chapter below monthly reports. */
body.ldm-app-page .ldm-parent-progress-secondary>.ldm-section-head{
	margin-bottom:20px!important;
}

body.ldm-app-page .ldm-parent-progress-secondary>.ldm-section-head h2{
	margin-top:4px!important;
}

/* Monthly report stack keeps a consistent bottom edge before progress. */
body.ldm-app-page .ldm-parent-section[data-parent-section="progress"]:not(.ldm-parent-progress-secondary) .ldm-monthly-report-stack{
	margin-bottom:0!important;
}

/* Slightly roomier separation between cards inside merged views. */
body.ldm-app-page .ldm-parent-lessons-secondary .ldm-card,
body.ldm-app-page .ldm-parent-progress-secondary .ldm-card{
	box-shadow:0 10px 28px rgba(7,27,59,.055)!important;
}

/* Tablet */
@media(max-width:850px){
	body.ldm-app-page .ldm-parent-lessons-secondary.is-section-active{
		margin-top:28px!important;
	}

	body.ldm-app-page .ldm-parent-progress-secondary.is-section-active{
		margin-top:30px!important;
	}

	body.ldm-app-page .ldm-parent-lessons-secondary .ldm-materials-layout{
		gap:18px!important;
	}
}

/* Mobile */
@media(max-width:560px){
	body.ldm-app-page .ldm-parent-lessons-secondary.is-section-active{
		margin-top:22px!important;
	}

	body.ldm-app-page .ldm-parent-progress-secondary.is-section-active{
		margin-top:24px!important;
	}

	body.ldm-app-page .ldm-parent-progress-secondary>.ldm-section-head{
		margin-bottom:15px!important;
	}
}


/* =========================================================
   v0.25.3 — Reports below student development
   ========================================================= */

/* "Rozwój ucznia" is now the first block in Raporty i postęp. */
body.ldm-app-page .ldm-parent-progress-secondary.is-section-active{
	margin-top:0!important;
}

/* Monthly report (or its empty state) follows the development block. */
body.ldm-app-page .ldm-parent-monthly-reports-secondary.is-section-active{
	margin-top:32px!important;
}

body.ldm-app-page .ldm-parent-monthly-reports-secondary .ldm-card{
	box-shadow:0 10px 28px rgba(7,27,59,.055)!important;
}

@media(max-width:850px){
	body.ldm-app-page .ldm-parent-monthly-reports-secondary.is-section-active{
		margin-top:28px!important;
	}
}

@media(max-width:560px){
	body.ldm-app-page .ldm-parent-monthly-reports-secondary.is-section-active{
		margin-top:22px!important;
	}
}


/* =========================================================
   v0.26.0 — Lesson Room + Lingodemy Video
   ========================================================= */

/* Teacher: video is part of Lesson Room, not a separate destination. */
body.ldm-app-page .ldm-room-layout{
	grid-template-columns:minmax(0,1fr) 340px;
}

body.ldm-app-page .ldm-room-sidebar{
	align-content:start;
}

.ldm-video-dock{
	position:relative;
	overflow:hidden;
	padding:12px;
	border:1px solid rgba(7,27,59,.09);
	border-radius:18px;
	background:#071b3b;
	color:#fff;
	box-shadow:0 12px 28px rgba(7,27,59,.10);
	transition:box-shadow .18s ease,transform .18s ease
}

.ldm-room-sidebar>.ldm-video-dock{
	position:sticky;
	top:14px;
	z-index:5;
	margin-bottom:12px
}

.ldm-video-dock.has-video-event{
	box-shadow:0 0 0 3px rgba(249,184,33,.35),0 12px 28px rgba(7,27,59,.14)
}

.ldm-video-dock-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:8px;
	margin-bottom:10px
}

.ldm-video-dock-head>div>span,
.ldm-video-dock-head>div>strong{
	display:block
}

.ldm-video-dock-head>div>span{
	color:#7dc5ee;
	font-size:10px;
	font-weight:900;
	letter-spacing:.04em
}

.ldm-video-dock-head>div>strong{
	margin-top:2px;
	color:#fff;
	font-size:15px
}

.ldm-video-engine-state{
	display:inline-flex;
	align-items:center;
	gap:5px;
	max-width:150px;
	padding:5px 7px;
	border-radius:999px;
	background:rgba(255,255,255,.09);
	color:rgba(255,255,255,.72);
	font-size:9px;
	font-weight:900
}

.ldm-video-engine-state i{
	width:7px;
	height:7px;
	flex:0 0 7px;
	border-radius:50%;
	background:#9faab5
}

.ldm-video-engine-state b{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap
}

.ldm-video-engine-state.is-connecting i{
	background:#f9b821;
	animation:ldm-video-pulse 1s infinite
}

.ldm-video-engine-state.is-online{
	background:rgba(101,173,76,.16);
	color:#dff4d6
}

.ldm-video-engine-state.is-online i{background:#65ad4c}

.ldm-video-engine-state.is-offline{
	background:rgba(255,255,255,.07);
	color:#b9c2cc
}

.ldm-video-engine-state.is-warning{
	background:rgba(249,184,33,.14);
	color:#ffe6a4
}

.ldm-video-engine-state.is-warning i{background:#f9b821}

@keyframes ldm-video-pulse{
	50%{opacity:.35;transform:scale(.8)}
}

.ldm-video-remote-grid{
	display:grid;
	gap:7px
}

.ldm-video-remote-grid.has-many{
	grid-template-columns:1fr 1fr
}

.ldm-video-remote-tile{
	position:relative;
	display:flex;
	align-items:center;
	gap:9px;
	min-height:104px;
	padding:10px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:14px;
	background:
		radial-gradient(circle at 80% 0%,rgba(35,112,178,.24),transparent 44%),
		#0a274d
}

.ldm-video-remote-grid.has-many .ldm-video-remote-tile{
	display:grid;
	place-items:center;
	align-content:center;
	min-height:112px;
	text-align:center
}

.ldm-video-avatar{
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	flex:0 0 48px;
	border-radius:50%;
	background:#2370b2;
	color:#fff;
	font-size:18px;
	font-weight:950
}

.ldm-video-remote-grid.has-many .ldm-video-avatar{
	width:42px;
	height:42px;
	flex-basis:42px;
	font-size:16px
}

.ldm-video-remote-tile strong,
.ldm-video-remote-tile span{
	display:block
}

.ldm-video-remote-tile strong{
	color:#fff;
	font-size:12px;
	line-height:1.25
}

.ldm-video-remote-tile span{
	margin-top:3px;
	color:rgba(255,255,255,.54);
	font-size:9px;
	line-height:1.3
}

.ldm-video-self-preview{
	position:relative;
	overflow:hidden;
	min-height:118px;
	margin-top:7px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:14px;
	background:#0a274d
}

.ldm-video-self-preview video{
	display:block;
	width:100%;
	height:118px;
	object-fit:cover;
	background:#0a274d
}

.ldm-video-self-empty{
	position:absolute;
	inset:0;
	display:grid;
	place-items:center;
	align-content:center;
	gap:3px;
	padding:10px;
	text-align:center
}

.ldm-video-self-empty[hidden]{display:none!important}

.ldm-video-self-empty>span{font-size:22px}
.ldm-video-self-empty strong{font-size:11px}
.ldm-video-self-empty small{
	color:rgba(255,255,255,.48);
	font-size:8px
}

.ldm-video-self-label{
	position:absolute;
	left:7px;
	bottom:7px;
	padding:4px 6px;
	border-radius:7px;
	background:rgba(7,27,59,.78);
	color:#fff;
	font-size:8px;
	font-weight:900
}

.ldm-video-controls{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:5px;
	margin-top:8px
}

.ldm-video-controls button{
	display:grid;
	place-items:center;
	gap:2px;
	min-width:0;
	min-height:52px;
	padding:5px 3px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:10px;
	background:rgba(255,255,255,.07);
	color:#fff;
	cursor:pointer
}

.ldm-video-controls button:hover{
	background:rgba(255,255,255,.12)
}

.ldm-video-controls button.is-active{
	border-color:rgba(249,184,33,.65);
	background:#f9b821;
	color:#071b3b
}

.ldm-video-controls button:disabled{
	opacity:.35;
	cursor:not-allowed
}

.ldm-video-controls button span{font-size:15px}
.ldm-video-controls button b{
	overflow:hidden;
	max-width:100%;
	font-size:8px;
	text-overflow:ellipsis;
	white-space:nowrap
}

.ldm-video-hint{
	margin:8px 2px 0!important;
	color:rgba(255,255,255,.47)!important;
	font-size:8px!important;
	line-height:1.45!important
}

.ldm-video-dock.is-expanded{
	position:fixed!important;
	z-index:99999!important;
	inset:20px!important;
	width:auto!important;
	max-width:none!important;
	margin:0!important;
	padding:18px!important;
	border-radius:22px!important;
	box-shadow:0 35px 90px rgba(0,0,0,.36)!important
}

.ldm-video-dock.is-expanded .ldm-video-remote-grid{
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr))
}

.ldm-video-dock.is-expanded .ldm-video-remote-tile{
	min-height:240px
}

.ldm-video-dock.is-expanded .ldm-video-self-preview{
	max-width:320px
}

.ldm-room-video-presence{
	display:flex;
	align-items:center;
	gap:7px;
	margin:-3px 0 11px;
	padding:8px 10px;
	border:1px solid rgba(7,27,59,.07);
	border-radius:11px;
	background:#fff;
	color:#69788a;
	font-size:10px
}

.ldm-room-video-presence b{
	margin-right:auto;
	color:#071b3b;
	font-size:10px
}

.ldm-room-video-presence a{
	color:#2370b2!important;
	font-size:9px;
	font-weight:900;
	text-decoration:none!important
}

/* Student: content and video share the same Lesson Room. */
.ldm-student-room-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 320px;
	align-items:start;
	background:#f7f9fb
}

.ldm-student-room-layout .ldm-student-stage{
	grid-template-columns:1fr;
	min-width:0;
	border-right:1px solid rgba(7,27,59,.07);
	background:#fff
}

.ldm-student-room-layout .ldm-student-goal-strip{
	width:100%
}

.ldm-student-video-column{
	min-width:0;
	padding:16px
}

.ldm-student-video-column .ldm-video-dock{
	position:sticky;
	top:16px
}

/* The old separate Jitsi/Student Screen buttons no longer belong to v0.26.0 UX. */
.ldm-room-video-btn,
.ldm-student-video-tile{
	display:none!important
}

/* Parent now has one primary Lesson Room action. */
.ldm-booking-actions .ldm-student-room-link.ldm-btn.blue{
	min-width:178px;
	justify-content:center
}

@media(max-width:1100px){
	body.ldm-app-page .ldm-room-layout{
		grid-template-columns:minmax(0,1fr) 310px
	}

	.ldm-student-room-layout{
		grid-template-columns:minmax(0,1fr) 290px
	}
}

@media(max-width:900px){
	body.ldm-app-page .ldm-room-layout{
		grid-template-columns:1fr
	}

	.ldm-room-sidebar>.ldm-video-dock{
		position:relative;
		top:auto
	}

	.ldm-student-room-layout{
		grid-template-columns:1fr
	}

	.ldm-student-room-layout .ldm-student-stage{
		border-right:0;
		border-bottom:1px solid rgba(7,27,59,.07)
	}

	.ldm-student-video-column{
		padding:14px
	}

	.ldm-student-video-column .ldm-video-dock{
		position:relative;
		top:auto
	}

	.ldm-video-remote-grid.has-many{
		grid-template-columns:repeat(2,1fr)
	}
}

@media(max-width:560px){
	.ldm-video-dock{
		padding:10px;
		border-radius:15px
	}

	.ldm-video-dock-head{
		display:grid
	}

	.ldm-video-engine-state{
		max-width:100%
	}

	.ldm-video-remote-grid.has-many{
		grid-template-columns:1fr 1fr
	}

	.ldm-video-remote-tile{
		min-height:92px
	}

	.ldm-video-controls button{
		min-height:48px
	}

	.ldm-video-controls button b{
		font-size:7px
	}

	.ldm-video-dock.is-expanded{
		inset:8px!important;
		padding:12px!important;
		border-radius:18px!important
	}
}


/* =========================================================
   v0.26.1 — Zoom Video SDK provider inside Lingodemy Video
   ========================================================= */

.ldm-video-provider-note{
	display:flex;
	margin:-4px 0 8px;
}

.ldm-video-provider-note span{
	padding:4px 7px;
	border-radius:999px;
	background:rgba(255,255,255,.07);
	color:rgba(255,255,255,.52);
	font-size:8px;
	font-weight:850;
	letter-spacing:.02em;
}

.ldm-zoom-video-container{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	overflow:hidden;
	border-radius:inherit;
	background:#0a274d;
}

.ldm-zoom-video-container video-player{
	display:block!important;
	width:100%!important;
	height:100%!important;
	aspect-ratio:auto!important;
	object-fit:cover!important;
}

.ldm-video-remote-tile .ldm-zoom-video-container{
	z-index:1;
	opacity:0;
	pointer-events:none;
}

.ldm-video-remote-tile.has-zoom-video .ldm-zoom-video-container{
	opacity:1;
}

.ldm-video-remote-tile.has-zoom-video .ldm-video-avatar{
	opacity:0;
}

.ldm-video-remote-meta{
	position:relative;
	z-index:3;
	min-width:0;
}

.ldm-video-remote-tile.has-zoom-video .ldm-video-remote-meta{
	position:absolute;
	left:7px;
	right:7px;
	bottom:7px;
	padding:6px 7px;
	border-radius:9px;
	background:rgba(7,27,59,.72);
	backdrop-filter:blur(5px);
}

.ldm-video-remote-tile.has-zoom-video .ldm-video-remote-meta span{
	color:rgba(255,255,255,.68);
}

.ldm-video-self-preview .ldm-zoom-local-container{
	z-index:1;
	opacity:0;
}

.ldm-video-dock.has-local-video .ldm-zoom-local-container{
	opacity:1;
}

.ldm-video-dock[data-video-provider="zoom"] .ldm-video-self-preview>video[data-video-local]{
	display:none!important;
}

.ldm-video-self-empty{
	z-index:2;
}

.ldm-video-self-label{
	z-index:3;
}

.ldm-video-share-stage{
	position:relative;
	overflow:hidden;
	min-height:185px;
	margin:0 0 8px;
	border:1px solid rgba(249,184,33,.28);
	border-radius:14px;
	background:#06172f;
}

.ldm-video-share-stage[hidden]{
	display:none!important;
}

.ldm-video-share-stage>video,
.ldm-video-share-stage>video-player-container{
	display:block;
	width:100%;
	height:185px;
	background:#06172f;
	object-fit:contain;
}

.ldm-video-share-stage video-player{
	width:100%!important;
	height:100%!important;
	object-fit:contain!important;
}

.ldm-video-share-head{
	position:absolute;
	z-index:5;
	top:7px;
	left:7px;
	right:7px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:5px 7px;
	border-radius:8px;
	background:rgba(7,27,59,.78);
	color:#fff;
	font-size:8px;
}

.ldm-video-share-head span{
	color:#f9b821;
	font-weight:850;
}

/* Admin provider selector */
.ldm-video-provider-options{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	max-width:800px;
}

.ldm-video-provider-option{
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:15px;
	border:1px solid #dbe4ec;
	border-radius:14px;
	background:#fff;
	cursor:pointer;
}

.ldm-video-provider-option:has(input:checked){
	border-color:#2370b2;
	box-shadow:0 0 0 2px rgba(35,112,178,.10);
	background:#f7fbff;
}

.ldm-video-provider-option input{
	margin-top:3px;
}

.ldm-video-provider-option span,
.ldm-video-provider-option strong,
.ldm-video-provider-option small{
	display:block;
}

.ldm-video-provider-option strong{
	color:#071b3b;
	font-size:13px;
}

.ldm-video-provider-option small{
	margin-top:4px;
	color:#68788a;
	font-size:11px;
	line-height:1.45;
}

.ldm-video-settings-subhead th{
	padding-top:28px!important;
	padding-bottom:7px!important;
}

.ldm-video-settings-subhead h3{
	margin:0!important;
	padding-bottom:8px;
	border-bottom:1px solid #e4e9ef;
	color:#071b3b;
	font-size:16px;
}

@media(max-width:782px){
	.ldm-video-provider-options{
		grid-template-columns:1fr;
	}
}

/* =========================================================
   v0.29.2 — Zoom Component View in isolated iframe with UI gutters
   ========================================================= */

body.ldm-app-page .ldm-room-layout{
	grid-template-columns:minmax(0,1fr) clamp(440px,34vw,520px);
}

.ldm-student-room-layout{
	grid-template-columns:minmax(0,1fr) clamp(440px,34vw,520px);
}

.ldm-video-dock--meeting-sdk{
	min-width:0;
	padding:12px;
	overflow:hidden;
}

.ldm-video-head-actions{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:6px;
}

.ldm-video-expand-btn{
	display:grid;
	place-items:center;
	width:30px;
	height:30px;
	flex:0 0 30px;
	padding:0;
	border:1px solid rgba(255,255,255,.13);
	border-radius:9px;
	background:rgba(255,255,255,.08);
	color:#fff;
	font-size:15px;
	font-weight:900;
	line-height:1;
	cursor:pointer;
}

.ldm-video-expand-btn:hover,
.ldm-video-expand-btn.is-active{
	border-color:rgba(249,184,33,.55);
	background:#f9b821;
	color:#071b3b;
}

/*
 * The iframe is a hard rendering boundary: Zoom cannot paint outside it.
 * No Zoom descendant selectors live in platform.css anymore.
 */
.ldm-video-dock--meeting-sdk .ldm-zoom-meeting-shell--iframe{
	position:relative;
	display:block;
	width:100%;
	height:372px;
	min-height:372px;
	padding:0;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.10);
	border-radius:14px;
	background:#1f1f1f;
}

.ldm-video-dock--meeting-sdk .ldm-zoom-meeting-frame{
	display:block;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	border:0;
	background:#1f1f1f;
}

.ldm-zoom-meeting-placeholder{
	display:grid;
	place-items:center;
	align-content:center;
	gap:7px;
	min-height:320px;
	padding:28px 20px;
	border:1px solid rgba(255,255,255,.10);
	border-radius:14px;
	background:#0a274d;
	text-align:center;
}

.ldm-zoom-meeting-placeholder>span{font-size:34px}
.ldm-zoom-meeting-placeholder>strong{color:#fff;font-size:14px}
.ldm-zoom-meeting-placeholder>small{
	max-width:330px;
	color:rgba(255,255,255,.58);
	font-size:10px;
	line-height:1.55;
}
.ldm-zoom-meeting-placeholder.is-error{
	border-color:rgba(249,184,33,.28);
	background:#122746;
}

.ldm-video-dock--meeting-sdk.is-expanded .ldm-zoom-meeting-shell--iframe{
	height:calc(100vh - 145px);
	min-height:620px;
}

.ldm-video-dock--meeting-sdk.is-expanded .ldm-video-hint{display:none}

@media(max-width:1050px){
	body.ldm-app-page .ldm-room-layout,
	.ldm-student-room-layout{
		grid-template-columns:1fr;
	}

	.ldm-room-sidebar>.ldm-video-dock,
	.ldm-student-video-column .ldm-video-dock{
		position:relative;
		top:auto;
	}

	.ldm-student-video-column{padding:14px}

	.ldm-video-dock--meeting-sdk .ldm-zoom-meeting-shell--iframe{
		height:420px;
		min-height:420px;
	}
}

@media(max-width:560px){
	.ldm-video-dock--meeting-sdk{padding:10px}
	.ldm-video-dock--meeting-sdk.is-expanded{inset:6px!important}
	.ldm-video-dock--meeting-sdk .ldm-zoom-meeting-shell--iframe{
		height:62vh;
		min-height:360px;
	}
}
