/* --- frontend.css --- */
.qdl-academy-shell{--qdl-purple:#7c3aed;--qdl-blue:#2563eb;--qdl-green:#16a34a;--qdl-yellow:#f59e0b;--qdl-ink:#25304a;--qdl-soft:#f6f3ff;max-width:1200px;margin:32px auto;padding:0 18px;font-family:inherit;color:var(--qdl-ink)}
.qdl-academy-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:center;padding:40px;border-radius:32px;background:linear-gradient(135deg,#fff 0%,#f5f1ff 48%,#eaf4ff 100%);box-shadow:0 18px 50px rgba(65,50,130,.12);overflow:hidden}
.qdl-academy-eyebrow,.qdl-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--qdl-purple)}
.qdl-academy-hero h2{font-size:clamp(32px,4vw,54px);line-height:1.1;margin:14px 0 12px}.qdl-academy-hero p{font-size:18px;line-height:1.9;margin:0 0 22px;max-width:760px}.qdl-academy-hero-orb{font-size:110px;display:grid;place-items:center;aspect-ratio:1;border-radius:38%;background:linear-gradient(145deg,#8b5cf6,#60a5fa);box-shadow:inset 0 0 0 8px rgba(255,255,255,.45),0 20px 45px rgba(92,80,180,.2);transform:rotate(-6deg)}
.qdl-academy-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.qdl-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:16px;padding:12px 18px;text-decoration:none;font-weight:800;cursor:pointer;min-height:44px;transition:transform .18s ease,box-shadow .18s ease}.qdl-btn:hover{transform:translateY(-2px)}.qdl-btn-primary{background:linear-gradient(135deg,var(--qdl-purple),var(--qdl-blue));color:#fff;box-shadow:0 10px 24px rgba(77,67,180,.2)}.qdl-btn-secondary{background:#fff;color:var(--qdl-purple);border:1px solid #ded8ff}
.qdl-academy-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.qdl-stat-card{padding:18px;border-radius:20px;background:#fff;border:1px solid #ece8ff;box-shadow:0 8px 24px rgba(51,48,110,.06);display:grid;gap:5px}.qdl-stat-card span{font-size:24px}.qdl-stat-card small{opacity:.7}.qdl-stat-card strong{font-size:20px}.qdl-academy-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e5e0ff;font-weight:800}
.qdl-academy-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:34px 0 16px}.qdl-academy-section-head h2{margin:5px 0 0}.qdl-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.qdl-lesson-card{background:#fff;border:1px solid #ece8ff;border-radius:24px;overflow:hidden;box-shadow:0 10px 26px rgba(51,48,110,.07);display:flex;flex-direction:column}.qdl-card-media{display:block;aspect-ratio:16/9;background:linear-gradient(145deg,#f3efff,#eef7ff);overflow:hidden}.qdl-card-media img{width:100%;height:100%;object-fit:cover;display:block}.qdl-card-media span{height:100%;display:grid;place-items:center;font-size:64px}.qdl-card-body{padding:20px;display:flex;flex-direction:column;height:100%}.qdl-card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;font-weight:800;color:#625f80}.qdl-card-meta span{padding:6px 9px;background:#f5f3ff;border-radius:999px}.qdl-card-body h3{font-size:20px;margin:14px 0 8px}.qdl-card-body h3 a{color:inherit;text-decoration:none}.qdl-card-body p{line-height:1.8;opacity:.82;flex:1}
.qdl-empty-state,.qdl-login-banner{padding:18px;border-radius:18px;background:#fff8e8;border:1px solid #f6dfaa}.qdl-login-banner{margin-bottom:18px}.qdl-login-banner a{font-weight:800}
.qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:30px 0 16px}.qdl-breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.78;margin-bottom:16px}.qdl-breadcrumb a{text-decoration:none;font-weight:800}.qdl-lesson-header h2{font-size:clamp(27px,3vw,40px);line-height:1.25;margin:12px 0 14px;letter-spacing:-.015em}.qdl-lesson-intro,.qdl-lesson-editor-content{font-size:17px;line-height:2}.qdl-lesson-editor-content{margin-top:12px;padding-top:18px;border-top:1px dashed #ddd7f3}.qdl-lesson-badges{display:flex;flex-wrap:wrap;gap:8px}.qdl-lesson-badges span{padding:8px 10px;background:#f6f3ff;border-radius:999px;font-size:13px;font-weight:800}.qdl-lesson-progress{margin:18px 0 24px;padding:16px 18px;background:#fff;border:1px solid #ece8ff;border-radius:18px;display:grid;grid-template-columns:auto auto;gap:8px}.qdl-lesson-progress strong{text-align:left}.qdl-progress-track{grid-column:1/-1;height:10px;background:#eceaf8;border-radius:999px;overflow:hidden}.qdl-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--qdl-purple),var(--qdl-blue));border-radius:999px}
.qdl-lesson-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.qdl-lesson-steps{display:flex;flex-direction:column;gap:9px}.qdl-step-nav{width:100%;min-width:0;border:1px solid #e9e5fa;background:#fff;border-radius:15px;padding:12px;text-align:right;display:flex;gap:10px;align-items:center;cursor:pointer;font:inherit;white-space:normal}.qdl-step-nav span:first-child{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f2efff;font-weight:900;color:var(--qdl-purple);flex:0 0 28px}.qdl-step-nav span:last-child{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word;line-height:1.55}.qdl-step-nav.is-complete span{background:#dcfce7;color:#15803d}.qdl-step-nav:focus-visible,.qdl-btn:focus-visible{outline:3px solid #8b5cf6;outline-offset:2px}.qdl-step-card{background:#fff;border:1px solid #ece8ff;border-radius:24px;padding:24px;box-shadow:0 10px 26px rgba(51,48,110,.06)}.qdl-step-type{font-size:12px;font-weight:900;color:var(--qdl-purple);text-transform:uppercase}.qdl-step-card h2{margin:10px 0 16px}.qdl-step-content{font-size:17px;line-height:2}.qdl-step-content.qdl-callout{padding:16px;border-radius:18px}.qdl-callout-tip{background:#effdf4;border:1px solid #bbf7d0}.qdl-callout-warning{background:#fff8e8;border:1px solid #fde68a}.qdl-step-image{max-width:100%;height:auto;border-radius:18px}.qdl-video-wrap video{width:100%;border-radius:18px;background:#eef2ff}.qdl-step-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.qdl-step-status{font-weight:700}.qdl-step-status.is-success{color:#15803d}.qdl-step-status.is-error{color:#b91c1c}
@media (max-width:1023px){.qdl-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-lesson-layout{grid-template-columns:1fr}.qdl-lesson-steps{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-lesson-main{order:1}}
@media (max-width:639px){.qdl-academy-shell{padding:0 12px;margin:20px auto}.qdl-academy-hero{grid-template-columns:1fr;padding:25px;border-radius:24px}.qdl-academy-hero-orb{font-size:72px;width:130px}.qdl-academy-mini-stats{grid-template-columns:1fr}.qdl-lesson-grid{grid-template-columns:1fr}.qdl-lesson-steps{grid-template-columns:1fr}.qdl-step-card{padding:18px}.qdl-card-body{padding:16px}.qdl-btn{width:100%}.qdl-academy-actions .qdl-academy-pill{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.qdl-btn{transition:none}}

.qdl-dashboard-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:24px;align-items:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f7f2ff 52%,#edf7ff 100%);border:1px solid #ece8ff;box-shadow:0 14px 36px rgba(51,48,110,.08)}
.qdl-dashboard-profile{display:flex;align-items:center;gap:18px}.qdl-dashboard-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 8px 22px rgba(75,62,160,.16)}.qdl-dashboard-profile h2{margin:8px 0 4px;font-size:clamp(24px,2.6vw,34px);line-height:1.3}.qdl-dashboard-profile p{margin:0;opacity:.78;font-weight:700}.qdl-dashboard-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:20px 0}.qdl-dashboard-section{margin-top:30px}.qdl-continue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qdl-continue-card{display:flex;justify-content:space-between;gap:18px;align-items:end;background:#fff;border:1px solid #ece8ff;border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(51,48,110,.05)}.qdl-continue-card h3{margin:0 0 12px;font-size:18px}.qdl-continue-card small{display:block;margin-top:6px;font-weight:800;opacity:.7}.qdl-dashboard-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.qdl-dashboard-actions .qdl-btn{min-width:180px}
@media (max-width:1023px){.qdl-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.qdl-dashboard-hero{grid-template-columns:1fr}.qdl-continue-grid{grid-template-columns:1fr}}
@media (max-width:639px){.qdl-dashboard-profile{align-items:flex-start}.qdl-dashboard-avatar{width:68px;height:68px}.qdl-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-continue-card{flex-direction:column;align-items:stretch}.qdl-dashboard-actions .qdl-btn{width:100%}}
.qdl-academy-commerce{margin-top:28px;padding:18px;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f8f6ff 56%,#eef7ff 100%);border:1px solid #e5defc;box-shadow:0 12px 30px rgba(51,48,110,.07);overflow:hidden}.qdl-commerce-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.qdl-commerce-heading-copy{min-width:0}.qdl-commerce-title-row{display:flex;align-items:center;gap:8px}.qdl-commerce-eyebrow{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#f3efff;border:1px solid #e4ddff;font-size:15px}.qdl-commerce-heading h2{margin:0;font-size:20px;line-height:1.45}.qdl-commerce-heading p{margin:4px 0 0;color:#68708a;font-size:12px;line-height:1.7}.qdl-commerce-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 9px;border-radius:999px;background:#fff;border:1px solid #e4ddff;color:#6d4bdc;font-size:12px;font-weight:950;flex:0 0 auto}.qdl-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:start}.qdl-product-card{display:flex;flex-direction:column;align-self:start;min-width:0;height:auto;background:#fff;border:1px solid #e7e1f7;border-radius:18px;padding:10px;overflow:hidden;box-shadow:0 6px 18px rgba(61,48,130,.055)}.qdl-product-image{display:block;width:100%;aspect-ratio:3/4;border-radius:13px;overflow:hidden;background:linear-gradient(145deg,#f5f1ff,#eef7ff);flex:0 0 auto}.qdl-product-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.qdl-product-image-placeholder{display:grid;place-items:center;color:#7c5cff;font-size:28px}.qdl-product-body{display:flex;flex-direction:column;min-width:0;padding:9px 2px 2px}.qdl-product-kicker{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-bottom:4px;font-size:10px;font-weight:900;color:#6d4bdc}.qdl-product-body h3{margin:0 0 6px;font-size:15px;line-height:1.55;min-height:calc(1.55em * 2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.qdl-product-body h3 a{text-decoration:none;color:inherit}.qdl-product-price{font-weight:950;color:#2563eb;font-size:14px;line-height:1.5;margin-bottom:7px}.qdl-product-purchased{display:inline-flex;align-self:flex-start;align-items:center;padding:4px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:10px;font-weight:950;margin-bottom:8px}.qdl-product-link{margin-top:7px;width:100%;min-height:38px;padding:9px 12px;border-radius:13px;font-size:12px;box-shadow:none}.qdl-product-link:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(77,67,180,.12)}.qdl-lesson-commerce-sidebar{margin-top:18px;padding:13px;border-radius:18px}.qdl-lesson-commerce-sidebar .qdl-commerce-heading{margin-bottom:10px;align-items:center}.qdl-lesson-commerce-sidebar .qdl-commerce-eyebrow{width:28px;height:28px;border-radius:10px}.qdl-lesson-commerce-sidebar .qdl-commerce-heading h2{font-size:17px}.qdl-lesson-commerce-sidebar .qdl-commerce-heading p{display:none}.qdl-lesson-commerce-sidebar .qdl-product-grid{grid-template-columns:1fr;gap:9px}.qdl-lesson-commerce-sidebar .qdl-product-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:start;padding:9px;border-radius:15px}.qdl-lesson-commerce-sidebar .qdl-product-image{width:76px;aspect-ratio:3/4;border-radius:11px}.qdl-lesson-commerce-sidebar .qdl-product-body{padding:0;min-width:0}.qdl-lesson-commerce-sidebar .qdl-product-kicker{font-size:9px;margin-bottom:2px}.qdl-lesson-commerce-sidebar .qdl-product-body h3{font-size:12px;line-height:1.5;min-height:calc(1.5em * 2);margin-bottom:4px}.qdl-lesson-commerce-sidebar .qdl-product-price{font-size:12px;margin-bottom:5px}.qdl-lesson-commerce-sidebar .qdl-product-purchased{font-size:9px;margin-bottom:5px;padding:3px 6px}.qdl-lesson-commerce-sidebar .qdl-product-link{width:100%;min-height:34px;padding:7px 8px;border-radius:11px;font-size:11px;margin-top:3px}.qdl-product-grid-count-1 .qdl-product-card{max-width:100%}@media(max-width:900px){.qdl-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.qdl-academy-commerce{padding:15px}.qdl-commerce-heading h2{font-size:18px}.qdl-product-grid{grid-template-columns:1fr}.qdl-product-card{border-radius:16px}.qdl-product-link{min-height:42px}.qdl-lesson-commerce-sidebar .qdl-product-card{grid-template-columns:72px minmax(0,1fr)}.qdl-lesson-commerce-sidebar .qdl-product-image{width:72px}}


/* Phase 15 accessibility layer */
.qdl-skip-link{position:absolute;top:8px;right:8px;z-index:9999;transform:translateY(-180%);padding:10px 14px;background:#fff;border:2px solid #6d28d9;border-radius:12px;color:#4c1d95;text-decoration:none;font-weight:900;box-shadow:0 6px 18px rgba(51,48,110,.16)}
.qdl-skip-link:focus{transform:translateY(0);outline:3px solid #2563eb;outline-offset:2px}
.qdl-step-card[tabindex="-1"]:focus{outline:3px solid #8b5cf6;outline-offset:4px}
.qdl-step-nav{min-height:44px}
.qdl-step-nav span:last-child{min-width:0}
.qdl-video-transcript{margin-top:12px;padding:10px 14px;background:#f7f5ff;border:1px solid #e4ddff;border-radius:14px;line-height:1.9}
.qdl-video-transcript summary{cursor:pointer;font-weight:900}
.qdl-video-wrap video{display:block;max-width:100%}
@media (max-width:639px){.qdl-skip-link{right:12px;left:12px;text-align:center}.qdl-step-actions{gap:10px}.qdl-step-nav{width:100%}}
@media (prefers-reduced-motion:reduce){.qdl-academy-page{scroll-behavior:auto}.qdl-progress-track span{transition:none!important}.qdl-step-card,.qdl-btn{transition:none!important}}

/* Phase 27 — Search & Discovery */
.qdl-search-form{display:flex;gap:12px;align-items:center;margin:0 0 24px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f6f3ff);box-shadow:0 10px 30px rgba(72,48,140,.08)}
.qdl-search-form input[type=search]{flex:1;min-height:46px;border:1px solid #d9d2f3;border-radius:14px;padding:0 14px;font:inherit;background:#fff;color:inherit}
.qdl-search-form input[type=search]:focus-visible{outline:3px solid rgba(105,72,220,.25);outline-offset:2px}
.qdl-search-summary{margin:0 0 18px;font-weight:700}
.qdl-search-pagination,.qdl-list-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}
.qdl-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid #ded8f4;text-decoration:none}
.qdl-page-link.is-active{font-weight:800;box-shadow:0 6px 18px rgba(72,48,140,.12)}
@media(max-width:639px){.qdl-search-form{flex-direction:column;align-items:stretch}.qdl-search-form .qdl-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.qdl-search-form input[type=search]{transition:none}}
@media (max-width:639px){}

.qdl-academy-toast{position:fixed;inset-inline-end:20px;bottom:20px;z-index:9999;max-width:min(420px,calc(100vw - 40px));padding:12px 16px;border-radius:14px;background:#fff;border:1px solid rgba(60,45,120,.15);box-shadow:0 14px 30px rgba(60,45,120,.16);font-weight:700}.qdl-academy-toast.is-error{border-color:#ff8b8b}@media (max-width:639px){.qdl-academy-toast{inset-inline:20px;max-width:none}}

/* Phase 29 — Unified Academy Header & Mobile Navigation */
.qdl-academy-header{width:100%;margin:0 auto 18px;background:linear-gradient(135deg,#fff 0%,#f7f2ff 52%,#eef8ff 100%);border:1px solid #e7e1ff;border-radius:22px;box-shadow:0 10px 28px rgba(67,52,130,.08);overflow:visible;position:relative;z-index:20}
.qdl-academy-header-main{display:flex;align-items:center;gap:14px;padding:10px 14px;min-height:64px}
.qdl-academy-header-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:inherit;font-weight:900;white-space:nowrap}.qdl-academy-header-brand span:first-child{font-size:1.35rem}
.qdl-academy-header-links{display:flex;align-items:center;gap:5px;flex:1}.qdl-academy-header-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 11px;border-radius:11px;text-decoration:none;color:inherit;font-weight:800}.qdl-academy-header-link:hover,.qdl-academy-header-link:focus-visible{background:#fff;box-shadow:0 5px 14px rgba(67,52,130,.08)}
.qdl-academy-header-actions{display:flex;align-items:center;gap:8px;margin-inline-start:auto}.qdl-academy-header-score{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #ebe6ff;background:#fff;border-radius:14px}.qdl-header-score-item{display:inline-flex;gap:4px;align-items:center;font-size:13px}.qdl-header-score-guest{font-weight:800;font-size:13px}.qdl-academy-header-icon{position:relative;display:inline-grid;place-items:center;min-width:42px;min-height:42px;border-radius:12px;background:#fff;border:1px solid #ebe6ff;text-decoration:none;color:inherit}.qdl-academy-header-icon:focus-visible,.qdl-academy-header-toggle:focus-visible,.qdl-academy-header-link:focus-visible,.qdl-academy-header-brand:focus-visible,.qdl-academy-header-panel a:focus-visible,.qdl-academy-mobile-nav a:focus-visible{outline:3px solid #8b5cf6;outline-offset:2px}.qdl-academy-header-account{background:#fff;border:1px solid #ebe6ff}
.qdl-academy-header-toggle{display:none;margin-inline-start:auto;min-width:44px;min-height:44px;border:1px solid #ebe6ff;background:#fff;border-radius:12px;font:inherit;cursor:pointer}
.qdl-academy-header-panel{padding:0 14px 14px}.qdl-academy-header-panel-links{display:grid;gap:7px}.qdl-academy-header-panel a{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #ece8ff;text-decoration:none;color:inherit;font-weight:800}
.qdl-academy-mobile-nav{display:none;position:fixed;inset-inline:10px;bottom:10px;z-index:9998;padding:7px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border:1px solid #e5dfff;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 16px 34px rgba(61,48,130,.16);backdrop-filter:blur(10px)}
.qdl-academy-mobile-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;gap:3px;border-radius:14px;text-decoration:none;color:inherit;font-size:11px;font-weight:800}.qdl-academy-mobile-nav a.is-active{background:#f5f1ff;color:#6d28d9}.qdl-academy-mobile-nav b{position:absolute;top:2px;inset-inline-end:16%;display:inline-flex;min-width:17px;height:17px;align-items:center;justify-content:center;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:9px}
@media(max-width:900px){.qdl-academy-header-links{display:none}.qdl-academy-header-actions{margin-inline-start:0}.qdl-academy-header-score .qdl-header-score-item:nth-child(n+3){display:none}.qdl-academy-header-toggle{display:inline-grid;place-items:center}.qdl-academy-header-account{display:none}}
@media(max-width:639px){.qdl-academy-header{border-radius:18px}.qdl-academy-header-main{min-height:58px;padding:8px 10px}.qdl-academy-header-brand span:last-child{display:none}.qdl-academy-header-score{padding:5px 7px}.qdl-academy-header-actions{gap:5px}.qdl-academy-header-icon{min-width:40px;min-height:40px}.qdl-academy-mobile-nav{display:grid}.qdl-academy-page{padding-bottom:82px}}
@media(prefers-reduced-motion:reduce){.qdl-academy-header *,.qdl-academy-mobile-nav *{scroll-behavior:auto!important;transition:none!important}}

.qdl-academy-profile{display:grid;gap:20px}.qdl-profile-card,.qdl-profile-settings{background:#fff;border:1px solid rgba(111,78,255,.14);border-radius:24px;padding:24px;box-shadow:0 10px 28px rgba(76,52,150,.08)}.qdl-profile-identity{display:flex;align-items:center;gap:16px}.qdl-profile-avatar{border-radius:50%;object-fit:cover;border:4px solid rgba(111,78,255,.12);background:#f6f3ff}.qdl-profile-identity h2{margin:0 0 6px;font-size:clamp(22px,2.4vw,32px);line-height:1.3}.qdl-profile-identity p{margin:0}.qdl-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.qdl-profile-setting{display:flex;gap:10px;align-items:flex-start;padding:12px 0}.qdl-profile-setting input{width:18px;height:18px;flex:0 0 auto}.qdl-profile-status{min-height:1.5em;margin:12px 0 0}.qdl-profile-actions{margin-top:20px}@media (max-width:767px){.qdl-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-profile-card,.qdl-profile-settings{padding:18px}.qdl-profile-identity{align-items:flex-start}}


/* Phase 38 — Quiz Player */
.qdl-quiz{margin-top:28px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#fff,#f6f3ff);border:1px solid #e6defd;box-shadow:0 12px 35px rgba(72,48,140,.08)}
.qdl-quiz-status{margin:0 0 16px;padding:10px 14px;border-radius:12px;background:#fff7df;font-weight:700}.qdl-quiz-status.is-error{background:#fff0f0;color:#b42318}
.qdl-quiz-question{margin:0 0 18px;padding:18px;border:1px solid #e5e0f5;border-radius:18px;background:#fff;min-inline-size:0}.qdl-quiz-question legend{padding:0 6px;font-weight:900;line-height:1.8}.qdl-quiz-options{display:grid;gap:10px;margin-top:14px}.qdl-quiz-option{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #e7e2f3;border-radius:14px;cursor:pointer}.qdl-quiz-option:has(input:checked){outline:2px solid #8b5cf6;background:#f7f3ff}.qdl-quiz-option input{margin-top:4px}.qdl-quiz-image{max-width:100%;height:auto;border-radius:14px;margin:10px 0}.qdl-quiz-scenario{margin-top:12px;padding:12px;border-radius:14px;background:#fff8ef}.qdl-quiz-actions{display:flex;justify-content:flex-start}.qdl-quiz-result{margin-top:18px;padding:14px;border-radius:16px;font-weight:900}.qdl-quiz-result.is-success{background:#ecfdf3}.qdl-quiz-result.is-failed{background:#fff1f2}
@media (max-width:639px){.qdl-quiz{padding:16px}.qdl-quiz-option{padding:11px 12px}}
@media (max-width:600px){}
@media(max-width:639px){}
@media(prefers-reduced-motion:reduce){}@media(max-width:767px){}

/* Phase 44 — Learning Paths */
.qdl-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qdl-path-card,.qdl-path-lesson,.qdl-path-stat{border:1px solid rgba(91,76,255,.12);border-radius:24px;background:linear-gradient(135deg,#fff,#fbf9ff);box-shadow:0 10px 30px rgba(73,52,166,.08)}
.qdl-path-card{overflow:hidden}
.qdl-path-media{min-height:170px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f2ecff,#fff5ef)}
.qdl-path-media img{width:100%;height:170px;object-fit:cover}
.qdl-path-media>span{font-size:58px}
.qdl-path-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border-radius:28px;background:linear-gradient(135deg,#f1ecff,#fff3e8);margin-bottom:22px}
.qdl-path-hero h2{margin:.2em 0;font-size:clamp(25px,3.2vw,38px);line-height:1.3}
.qdl-path-hero p{max-width:820px;line-height:1.9}
.qdl-path-hero-icon{font-size:82px;flex:0 0 auto}
.qdl-path-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.qdl-path-stat{padding:18px;text-align:center}.qdl-path-stat strong{display:block;font-size:28px}.qdl-path-stat span{display:block;margin-top:5px;opacity:.78}
.qdl-path-progress-wrap{margin-bottom:20px}.qdl-path-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}.qdl-path-status{min-height:24px}
.qdl-path-lessons{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;counter-reset:path}
.qdl-path-lesson{display:flex;gap:16px;align-items:center;padding:16px 18px}.qdl-path-step-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eee8ff;flex:0 0 42px;font-weight:800}.qdl-path-lesson h3{font-size:18px;margin:0 0 5px}.qdl-path-lesson p{margin:0;opacity:.72}.qdl-path-complete{margin-inline-start:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dcffe9;font-weight:800}.qdl-success-banner{padding:18px 20px;border-radius:20px;background:#eafff1;font-weight:700;margin:20px 0}
@media (max-width:900px){.qdl-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.qdl-path-grid,.qdl-path-overview{grid-template-columns:1fr}.qdl-path-hero{padding:22px;flex-direction:column;align-items:flex-start}.qdl-path-hero-icon{font-size:60px}.qdl-path-lesson{align-items:flex-start}.qdl-path-step-number{width:36px;height:36px;flex-basis:36px}}
@media(max-width:900px){}
@media(max-width:600px){}@media(max-width:639px){}

/* Search Discovery filters */
.qdl-academy-search .qdl-search-form{flex-wrap:wrap}.qdl-search-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;flex:1 1 100%;padding-top:6px}.qdl-search-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}.qdl-search-filters select,.qdl-search-filters input[type=number]{min-height:42px;border:1px solid #d9d2f3;border-radius:12px;padding:0 10px;background:#fff;color:inherit;font:inherit}.qdl-search-check{justify-content:center;flex-direction:row!important;align-items:center;min-height:42px;padding:0 10px;border:1px solid #e4def5;border-radius:12px;background:#fff}.qdl-search-check input{width:18px;height:18px;margin:0}.qdl-academy-search .qdl-search-form>.qdl-btn{white-space:nowrap}@media(max-width:900px){.qdl-search-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:639px){.qdl-search-filters{grid-template-columns:1fr}.qdl-academy-search .qdl-search-form>.qdl-btn{width:100%}}

.qdl-step-checklist{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.qdl-step-checklist li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #e8e4fa;border-radius:14px;background:#fff}.qdl-step-checklist li.is-complete{background:#f0fdf4;border-color:#bbf7d0}.qdl-code-block{overflow:auto;padding:18px;border-radius:16px;background:#f5f3ff;border:1px solid #ddd6fe;direction:ltr;text-align:left}.qdl-cta-block{display:grid;gap:14px;padding:18px;border:1px solid #dbeafe;border-radius:18px;background:#eff6ff}.qdl-scenario{display:grid;gap:10px;padding:18px;border:1px solid #fde68a;border-radius:18px;background:#fffbeb}.qdl-callout-info{background:#eff6ff;border:1px solid #bfdbfe}.qdl-callout-success{background:#effdf4;border:1px solid #bbf7d0}.qdl-callout-danger{background:#fef2f2;border:1px solid #fecaca}

@media print { }


/* Phase 68 — Frontend UX Polish */
.qdl-academy-page{scroll-behavior:smooth}
.qdl-academy-page :where(button,a,input,select,textarea):focus-visible{outline:3px solid #6d28d9;outline-offset:3px}
.qdl-academy-page :where(input,select,textarea){max-width:100%}
.qdl-academy-page [aria-busy="true"]{cursor:progress}
.qdl-academy-toast{position:fixed;inset-inline-start:20px;bottom:20px;z-index:100000;max-width:min(420px,calc(100vw - 40px));padding:12px 16px;border-radius:14px;background:#fff;border:1px solid #ddd6fe;box-shadow:0 12px 30px rgba(51,48,110,.16);font-weight:800}
.qdl-academy-toast.is-error{border-color:#fecaca;background:#fff7f7}
.qdl-academy-loading{display:grid;place-items:center;min-height:90px;padding:18px;border-radius:18px;background:#fff;border:1px dashed #d9d2f3;font-weight:800}
@media(max-width:639px){.qdl-academy-toast{inset-inline:12px;bottom:12px;max-width:none}.qdl-academy-page{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.qdl-academy-page{scroll-behavior:auto}.qdl-academy-toast{animation:none!important}}


.qdl-quiz-review{display:grid;gap:.5rem;margin-top:.75rem}
.qdl-quiz-review-item{padding:.6rem .75rem;border-radius:.75rem;background:rgba(255,255,255,.45)}
.qdl-quiz-review-item.is-correct{border-inline-start:3px solid #16a34a}
.qdl-quiz-review-item.is-incorrect{border-inline-start:3px solid #dc2626}

.qdl-step-checklist{border:0}.qdl-step-checklist-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #e8e4fa;border-radius:14px;background:#fff;cursor:pointer}.qdl-step-checklist-item input{margin-top:.25em;flex:0 0 auto}.qdl-step-checklist-item.is-complete{background:#f0fdf4;border-color:#bbf7d0}.qdl-checklist-mark{font-weight:900;min-width:1.2em}@media(min-width:1024px){.qdl-lesson-steps{position:static;padding-inline-end:4px}}

/* Phase 16 — sequential lesson player navigation */
.qdl-lesson-steps{position:static;align-self:stretch;padding:4px}
.qdl-step-nav{text-decoration:none;color:inherit;box-sizing:border-box}
a.qdl-step-nav:hover{border-color:#b9a7ff;box-shadow:0 6px 16px rgba(79,70,229,.08)}
.qdl-step-nav.is-active{border-color:#8b5cf6;background:#f7f3ff;box-shadow:0 8px 20px rgba(79,70,229,.10)}
.qdl-step-nav.is-locked{cursor:not-allowed;opacity:.62;background:#fafafa}
.qdl-step-nav.is-locked span:first-child{background:#f1f1f5;color:#8b8b99}
.qdl-step-nav-actions{display:flex;gap:10px;flex-wrap:wrap;width:100%;align-items:center}
.qdl-step-nav-actions .qdl-btn{width:auto}
.qdl-step-completed-label{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;background:#ecfdf3;color:#15803d;font-weight:800}
.qdl-quiz-locked{margin-top:22px;opacity:.94}
.qdl-lesson-complete-ready{margin-top:22px;padding:18px;border-radius:18px;background:#ecfdf3;border:1px solid #bbf7d0;font-weight:800}
@media(max-width:1023px){.qdl-lesson-steps{position:static;max-height:none;overflow:visible;padding:0}}
@media(max-width:639px){.qdl-step-nav-actions .qdl-btn{width:100%}}


/* Phase 17 — Lesson Player visual redesign */
.qdl-lesson-player{
  --qdl-purple:#6e49f5;
  --qdl-purple-2:#8b5cf6;
  --qdl-blue:#3b82f6;
  --qdl-teal:#0ce084;
  --qdl-yellow:#f6c344;
  --qdl-pink:#f472b6;
  --qdl-ink:#24304a;
  position:relative;
  isolation:isolate;
  overflow:clip;
}
.qdl-lesson-player::before,.qdl-lesson-player::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(12px);opacity:.55
}
.qdl-lesson-player::before{width:280px;height:280px;inset-block-start:-110px;inset-inline-start:-90px;background:radial-gradient(circle,#b9f7da 0,#b9f7da 42%,transparent 72%)}
.qdl-lesson-player::after{width:320px;height:320px;inset-block-start:260px;inset-inline-end:-170px;background:radial-gradient(circle,#d6c9ff 0,#d6c9ff 38%,transparent 72%)}
.qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{
  position:relative;padding:16px 24px 28px;border:1px solid rgba(110,73,245,.14);border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,250,255,.98) 46%,rgba(245,240,255,.98));
  box-shadow:0 22px 55px rgba(73,54,150,.12);overflow:hidden
}
.qdl-lesson-hero-glow{position:absolute;inset:auto -60px -100px auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(12,224,132,.24),transparent 68%);pointer-events:none}
.qdl-lesson-header-grid{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:center}
.qdl-lesson-header-copy{min-width:0}.qdl-lesson-header h2{max-width:850px;font-size:clamp(27px,3.2vw,40px);line-height:1.28;letter-spacing:-.015em;margin:12px 0 12px;color:#263253}
.qdl-lesson-header h2::after{content:"";display:block;width:92px;height:7px;margin-top:14px;border-radius:99px;background:linear-gradient(90deg,var(--qdl-purple),var(--qdl-blue),var(--qdl-teal))}
.qdl-lesson-intro{max-width:860px;font-size:17px;line-height:2.05;color:#53607b}.qdl-lesson-editor-content{border-top:1px dashed #d9d1f8;color:#5c6680}
.qdl-lesson-badges span{border:1px solid rgba(110,73,245,.10);background:rgba(255,255,255,.86);box-shadow:0 5px 14px rgba(74,58,135,.05)}
.qdl-lesson-hero-orbit{position:relative;width:178px;height:178px;margin-inline:auto;display:grid;place-items:center}
.qdl-lesson-hero-orbit::before{content:"";position:absolute;inset:12px;border-radius:38%;background:linear-gradient(145deg,#8b5cf6,#5b8df6);transform:rotate(-8deg);box-shadow:inset 0 0 0 8px rgba(255,255,255,.5),0 20px 44px rgba(90,69,183,.2)}
.qdl-lesson-hero-orbit::after{content:"";position:absolute;inset:1px;border-radius:50%;border:1px dashed rgba(110,73,245,.25)}
.qdl-lesson-hero-orbit-core{position:relative;z-index:2;width:108px;height:108px;display:grid;place-items:center;border-radius:32px;background:rgba(255,255,255,.95);font-size:62px;box-shadow:0 18px 28px rgba(44,42,93,.18)}
.qdl-lesson-hero-orbit>span{position:absolute;z-index:3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:0 8px 20px rgba(65,53,125,.14);font-size:18px}
.qdl-lesson-hero-orbit>span:nth-of-type(1){inset-block-start:0;inset-inline-end:18px}.qdl-lesson-hero-orbit>span:nth-of-type(2){inset-block-end:8px;inset-inline-start:8px}.qdl-lesson-hero-orbit>span:nth-of-type(3){inset-block-end:30px;inset-inline-end:0}
.qdl-lesson-progress{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:16px;align-items:center;margin:18px 0 22px;padding:18px 20px;border:1px solid rgba(110,73,245,.12);border-radius:22px;background:linear-gradient(100deg,#fff,#f8fbff 55%,#fbf9ff);box-shadow:0 13px 30px rgba(73,54,150,.08)}
.qdl-progress-copy{display:grid;gap:5px}.qdl-progress-title{display:flex;align-items:center;gap:8px;font-weight:900;font-size:15px}.qdl-progress-title>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f1edff}.qdl-progress-subtitle{font-size:13px;color:#6c7690}.qdl-progress-ring{grid-column:2;grid-row:1;position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--qdl-purple) var(--qdl-progress),#ebe8fb 0)}
.qdl-progress-ring::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.qdl-progress-ring-value{position:relative;z-index:1;font-weight:900;color:#4a3ca5;font-size:14px}.qdl-progress-track{grid-column:1/-1;grid-row:2;height:13px;background:#ebeafb;border-radius:99px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(80,72,122,.06)}.qdl-progress-track span{position:relative;background:linear-gradient(90deg,var(--qdl-purple),#7a68f7 42%,var(--qdl-blue) 78%,var(--qdl-teal));box-shadow:0 0 18px rgba(110,73,245,.22)}
.qdl-progress-track span::after{content:"";position:absolute;inset:2px auto 2px 10px;width:28px;border-radius:99px;background:rgba(255,255,255,.55);filter:blur(2px)}
.qdl-lesson-layout{grid-template-columns:286px minmax(0,1fr);gap:24px;align-items:start}
.qdl-lesson-steps-panel{position:sticky;top:24px;padding:16px;border:1px solid rgba(110,73,245,.13);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(248,247,255,.97));box-shadow:0 16px 34px rgba(73,54,150,.09)}
.qdl-lesson-steps-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:2px 2px 10px;border-bottom:1px dashed #ddd7f3}.qdl-lesson-steps-head>div{display:flex;align-items:center;gap:9px}.qdl-steps-eyebrow{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,#eee8ff,#e6f7ff);font-size:16px}.qdl-steps-count{padding:5px 8px;border-radius:999px;background:#f4f1ff;color:#6559a6;font-size:11px;font-weight:900;white-space:nowrap}
.qdl-lesson-steps{display:flex;flex-direction:column;gap:8px;overflow:visible}.qdl-step-nav{min-height:52px;border-color:#e6e0f7;border-radius:16px;padding:10px 11px;background:rgba(255,255,255,.9);box-shadow:0 3px 10px rgba(65,53,125,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.qdl-step-nav span:first-child{width:32px;height:32px;flex-basis:32px;background:#f1edff;color:#6948db}.qdl-step-nav span:last-child{font-size:13px;font-weight:800;color:#3e4966}.qdl-step-nav.is-active{background:linear-gradient(135deg,#f7f2ff,#eef6ff);border-color:#9a84f6;box-shadow:0 10px 22px rgba(90,69,183,.12);transform:translateX(-2px)}.qdl-step-nav.is-active span:first-child{background:linear-gradient(135deg,var(--qdl-purple),#5d89f5);color:#fff;box-shadow:0 6px 13px rgba(100,75,211,.22)}.qdl-step-nav.is-complete{background:linear-gradient(135deg,#f5fff8,#fff);border-color:#b8efcf}.qdl-step-nav.is-complete span:first-child{background:#dcfce7;color:#15803d}.qdl-step-nav.is-locked{opacity:.58;background:linear-gradient(135deg,#fafafa,#f7f6fb)}
a.qdl-step-nav:hover{transform:translateX(-2px);border-color:#a995f3;box-shadow:0 9px 20px rgba(79,70,229,.09)}
.qdl-lesson-main{min-width:0}.qdl-step-card{position:relative;padding:30px;border:1px solid rgba(110,73,245,.14);border-radius:28px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:0 18px 42px rgba(55,48,105,.09);overflow:hidden}.qdl-step-card::before{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:5px;background:linear-gradient(90deg,var(--qdl-purple),#7a68f7,var(--qdl-blue),var(--qdl-teal))}.qdl-step-card-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.qdl-step-type{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f2efff;color:#5e45bf;letter-spacing:0;text-transform:none}.qdl-step-counter{padding:7px 10px;border-radius:999px;background:#eef7ff;color:#2c62a5;font-size:12px;font-weight:900}.qdl-step-card h2{font-size:clamp(24px,3vw,34px);line-height:1.25;color:#283453;margin:14px 0 18px}.qdl-step-content{font-size:17px;line-height:2.05;color:#3e4963}.qdl-step-actions{padding-top:18px;border-top:1px dashed #ddd7f3;margin-top:28px}.qdl-step-nav-actions{justify-content:space-between;gap:12px}.qdl-step-nav-actions .qdl-btn{min-height:48px;border-radius:15px}.qdl-step-nav-actions .qdl-step-prev{margin-inline-end:auto}.qdl-step-nav-actions .qdl-step-next{margin-inline-start:auto}
.qdl-step-completed-label{padding:11px 15px;background:#ecfdf3;border:1px solid #bbf7d0}.qdl-lesson-complete-ready{position:relative;overflow:hidden;background:linear-gradient(135deg,#effff5,#f7f4ff);border-color:#cdebd9;box-shadow:0 12px 28px rgba(42,148,91,.08)}
.qdl-quiz{padding:26px;border-radius:26px;background:linear-gradient(135deg,#fff,#f8f5ff 55%,#f1fbff);border-color:rgba(110,73,245,.15);box-shadow:0 16px 36px rgba(70,51,141,.09)}.qdl-quiz .qdl-academy-section-head{margin:0 0 18px}.qdl-quiz .qdl-academy-section-head h2{font-size:28px}.qdl-quiz-question{border-color:#e4def5;border-radius:20px;box-shadow:0 8px 20px rgba(61,48,117,.045)}.qdl-quiz-option{border-radius:15px;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.qdl-quiz-option:hover{border-color:#b8a9f5;transform:translateY(-1px);box-shadow:0 7px 16px rgba(79,70,229,.06)}.qdl-quiz-option:has(input:checked){outline:none;border-color:#9b87f1;background:linear-gradient(135deg,#f7f2ff,#f3f9ff);box-shadow:0 8px 18px rgba(96,74,178,.10)}
.qdl-quiz-locked{background:linear-gradient(135deg,#fbfaff,#f5fbff);border-style:dashed}.qdl-skip-link{border-radius:10px}
@media(max-width:1023px){
  .qdl-lesson-header-grid{grid-template-columns:1fr}.qdl-lesson-hero-orbit{display:none}
  .qdl-lesson-layout{grid-template-columns:1fr}.qdl-lesson-steps-panel{position:static;order:1}.qdl-lesson-main{order:2}
  .qdl-lesson-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:3px 2px 8px;overflow:visible}
  .qdl-step-nav{min-width:0;scroll-snap-align:unset}.qdl-lesson-steps-head{margin-bottom:9px}
}
@media(max-width:639px){
  .qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:14px 16px 22px;border-radius:22px}.qdl-lesson-header h2{font-size:29px;line-height:1.3}.qdl-lesson-intro,.qdl-lesson-editor-content{font-size:15px;line-height:1.95}.qdl-lesson-progress{grid-template-columns:minmax(0,1fr) 70px;padding:15px 14px;border-radius:19px}.qdl-progress-ring{width:64px;height:64px}.qdl-lesson-steps-panel{padding:12px;border-radius:20px}.qdl-lesson-steps{grid-template-columns:1fr}.qdl-step-nav{min-width:0;max-width:none}.qdl-step-card{padding:22px 18px;border-radius:22px}.qdl-step-card h2{font-size:25px}.qdl-step-nav-actions{display:grid;grid-template-columns:1fr 1fr}.qdl-step-nav-actions .qdl-btn{width:100%}.qdl-step-status{width:100%}.qdl-quiz{padding:18px;border-radius:21px}.qdl-quiz .qdl-academy-section-head h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.qdl-step-nav,.qdl-btn,.qdl-quiz-option{transition:none}.qdl-step-nav.is-active,a.qdl-step-nav:hover{transform:none}}


/* Phase 18 — Lesson Player flow hardening */
.qdl-lesson-player .qdl-step-actions{display:flex;flex-direction:column;gap:12px}
.qdl-lesson-player .qdl-step-nav-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px}
.qdl-lesson-player .qdl-step-nav-actions .qdl-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.qdl-lesson-player .qdl-step-next{box-shadow:0 10px 22px rgba(110,73,245,.14)}
.qdl-lesson-player .qdl-step-next:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.qdl-lesson-player .qdl-lesson-finish{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:22px;border:1px solid #cdebd9;border-radius:22px;background:linear-gradient(135deg,#f2fff7,#faf7ff);box-shadow:0 12px 28px rgba(73,54,150,.08)}
.qdl-lesson-player .qdl-lesson-finish h2{margin:6px 0 6px;color:#2b3150}
.qdl-lesson-player .qdl-lesson-finish p{margin:0;color:#66708b}
.qdl-lesson-player .qdl-lesson-complete-icon{font-size:34px}
.qdl-lesson-player .qdl-lesson-complete-ready{display:flex;align-items:center;gap:14px}
@media(max-width:639px){.qdl-lesson-player .qdl-step-nav-actions{display:grid;grid-template-columns:1fr 1fr}.qdl-lesson-player .qdl-step-nav-actions .qdl-btn{width:100%}.qdl-lesson-player .qdl-lesson-finish{flex-direction:column;align-items:stretch}.qdl-lesson-player .qdl-lesson-finish .qdl-btn{width:100%}}


/* Phase 18.5 — Gaming checklist interaction */
.qdl-lesson-player .qdl-step-checklist-item{
  position:relative;
  gap:12px;
  align-items:center;
  padding:13px 15px;
  border:1px solid #e2dcf7;
  border-radius:17px;
  background:linear-gradient(135deg,#ffffff,#fbfaff);
  box-shadow:0 5px 14px rgba(72,56,140,.045);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.qdl-lesson-player .qdl-step-checklist-item:hover{
  transform:translateY(-2px);
  border-color:#b8a8f2;
  box-shadow:0 10px 22px rgba(79,70,229,.10);
}
.qdl-lesson-player .qdl-step-checklist-item:focus-within{
  outline:3px solid rgba(124,58,237,.22);
  outline-offset:2px;
}
.qdl-lesson-player .qdl-step-checklist-item input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
  margin:0;
}
.qdl-lesson-player .qdl-step-checklist-item .qdl-checklist-mark{
  position:relative;
  flex:0 0 32px;
  width:32px;
  height:32px;
  min-width:32px;
  display:grid;
  place-items:center;
  border:2px solid #cfc6f4;
  border-radius:10px;
  background:#fff;
  color:transparent;
  font-size:19px;
  font-weight:1000;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 9px rgba(67,47,130,.08);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.qdl-lesson-player .qdl-step-checklist-item .qdl-checklist-mark::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:7px;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,0));
  opacity:0;
  transition:opacity .18s ease;
}
.qdl-lesson-player .qdl-step-checklist-item input:checked + .qdl-checklist-mark,
.qdl-lesson-player .qdl-step-checklist-item.is-complete .qdl-checklist-mark{
  color:#fff;
  border-color:#6e49f5;
  background:linear-gradient(135deg,#6e49f5,#4d8df5 68%,#0ce084);
  box-shadow:0 0 0 4px rgba(110,73,245,.10),0 9px 22px rgba(80,65,180,.22);
  animation:qdl-check-pop .38s cubic-bezier(.2,.9,.25,1.25);
}
.qdl-lesson-player .qdl-step-checklist-item input:checked + .qdl-checklist-mark::before,
.qdl-lesson-player .qdl-step-checklist-item.is-complete .qdl-checklist-mark::before{opacity:1}
.qdl-lesson-player .qdl-step-checklist-item input:focus-visible + .qdl-checklist-mark{
  outline:3px solid rgba(37,99,235,.28);
  outline-offset:3px;
}
.qdl-lesson-player .qdl-step-checklist-item.is-complete{
  border-color:#9de8c3;
  background:linear-gradient(135deg,#f3fff8,#f7f3ff);
  box-shadow:0 10px 24px rgba(64,145,104,.09);
}
.qdl-lesson-player .qdl-step-checklist-item.is-complete::after{
  content:"✦";
  position:absolute;
  inset-inline-end:12px;
  inset-block-start:7px;
  color:#7c3aed;
  font-size:12px;
  pointer-events:none;
  animation:qdl-check-spark .7s ease-out both;
}
.qdl-lesson-player .qdl-step-checklist-item > span:last-child{
  flex:1;
  min-width:0;
  line-height:1.8;
  font-weight:800;
  color:#38425d;
}
@keyframes qdl-check-pop{
  0%{transform:scale(.78);}
  55%{transform:scale(1.14);}
  100%{transform:scale(1);}
}
@keyframes qdl-check-spark{
  0%{opacity:0;transform:translateY(4px) scale(.7);}
  35%{opacity:1;transform:translateY(-2px) scale(1.1);}
  100%{opacity:0;transform:translateY(-9px) scale(.8);}
}
@media(max-width:639px){
  .qdl-lesson-player .qdl-step-checklist-item{padding:12px 13px}
  .qdl-lesson-player .qdl-step-checklist-item .qdl-checklist-mark{flex-basis:30px;width:30px;height:30px;min-width:30px}
}
@media(prefers-reduced-motion:reduce){
  .qdl-lesson-player .qdl-step-checklist-item,
  .qdl-lesson-player .qdl-step-checklist-item .qdl-checklist-mark{transition:none}
  .qdl-lesson-player .qdl-step-checklist-item.is-complete .qdl-checklist-mark{animation:none}
  .qdl-lesson-player .qdl-step-checklist-item.is-complete::after{animation:none}
}


/* Phase 18A — Lesson Gaming Identity */
.qdl-lesson-player{--qdl-ink:#25304a;--qdl-purple:#6e49f5;--qdl-blue:#4f7cff;--qdl-teal:#0ce084;--qdl-yellow:#f3a139;position:relative;isolation:isolate}
.qdl-lesson-player::before{content:"";position:absolute;inset:18px auto auto 3%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(110,73,245,.13),transparent 68%);filter:blur(2px);pointer-events:none;z-index:-1}
.qdl-lesson-player::after{content:"";position:absolute;inset:320px 0 auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(12,224,132,.10),transparent 70%);pointer-events:none;z-index:-1}
.qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{position:relative;overflow:hidden;border:1px solid rgba(110,73,245,.13);border-radius:30px;background:linear-gradient(135deg,#ffffff 0%,#f8f5ff 50%,#eefcff 100%);box-shadow:0 20px 54px rgba(76,61,145,.12);padding:28px 30px 30px}
.qdl-lesson-header::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 56%,rgba(255,255,255,.55) 64%,transparent 74%);transform:translateX(-35%);opacity:.7;pointer-events:none}
.qdl-lesson-header::after{content:"";position:absolute;inset:auto -20px -42px auto;width:220px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(110,73,245,.10),transparent 67%);pointer-events:none}
.qdl-lesson-header-copy{position:relative;z-index:2}
.qdl-lesson-identity-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.qdl-lesson-quest-badge,.qdl-lesson-step-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;line-height:1;border:1px solid rgba(110,73,245,.12);box-shadow:0 7px 18px rgba(76,61,145,.07)}
.qdl-lesson-quest-badge{color:#5b3fd1;background:linear-gradient(135deg,#f0eaff,#eef8ff)}
.qdl-lesson-step-chip{color:#3f6aa9;background:rgba(255,255,255,.86)}
.qdl-lesson-badges{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:8px}
.qdl-lesson-badges span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:12px;background:rgba(255,255,255,.78);border:1px solid rgba(110,73,245,.10);box-shadow:0 6px 16px rgba(76,61,145,.05);font-size:12px;font-weight:900;color:#5f6b85}
.qdl-lesson-badges span b{font-size:14px}
.qdl-lesson-header h2{position:relative;z-index:2;max-width:820px;font-size:clamp(28px,3vw,36px);line-height:1.3;letter-spacing:-.02em;margin:13px 0 13px;color:#263253}
.qdl-lesson-header h2::after{content:"";display:block;width:106px;height:7px;margin-top:13px;border-radius:999px;background:linear-gradient(90deg,var(--qdl-purple),var(--qdl-blue),var(--qdl-teal));box-shadow:0 4px 14px rgba(110,73,245,.18)}
.qdl-lesson-hero-orbit{position:relative;z-index:2;width:190px;height:190px;margin-inline:auto;display:grid;place-items:center}
.qdl-lesson-hero-orbit::before{content:"";position:absolute;inset:13px;border-radius:38%;background:linear-gradient(145deg,#8a63f6,#5e87f4);transform:rotate(-8deg);box-shadow:inset 0 0 0 8px rgba(255,255,255,.54),0 24px 48px rgba(82,66,171,.20)}
.qdl-lesson-hero-orbit::after{content:"";position:absolute;inset:1px;border-radius:50%;border:1px dashed rgba(110,73,245,.22);box-shadow:0 0 0 11px rgba(255,255,255,.34),0 0 44px rgba(110,73,245,.08)}
.qdl-lesson-hero-orbit-core{position:relative;z-index:3;width:112px;height:112px;display:grid;place-items:center;border-radius:34px;background:rgba(255,255,255,.96);font-size:62px;box-shadow:0 20px 34px rgba(41,39,87,.18),inset 0 0 0 1px rgba(110,73,245,.08)}
.qdl-lesson-hero-orbit>span{position:absolute;z-index:4;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#fff;box-shadow:0 9px 22px rgba(65,53,125,.15);font-size:18px;border:1px solid rgba(110,73,245,.09)}
.qdl-lesson-hero-orbit>span:nth-of-type(1){inset-block-start:3px;inset-inline-end:20px}
.qdl-lesson-hero-orbit>span:nth-of-type(2){inset-block-end:12px;inset-inline-start:7px}
.qdl-lesson-hero-orbit>span:nth-of-type(3){inset-block-end:34px;inset-inline-end:0}
.qdl-lesson-orbit-pulse{position:absolute;inset:23px;border-radius:50%;border:2px solid rgba(255,255,255,.45);animation:qdl-lesson-orbit-pulse 3.8s ease-out infinite;pointer-events:none}
.qdl-lesson-orbit-caption{position:absolute;z-index:5;inset:auto 16px -2px auto;display:grid;gap:2px;min-width:86px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.94);border:1px solid rgba(110,73,245,.11);box-shadow:0 12px 24px rgba(65,53,125,.14);text-align:center}
.qdl-lesson-orbit-caption strong{font-size:13px;color:#5b3fd1}
.qdl-lesson-orbit-caption small{font-size:10px;color:#768098;font-weight:800}
.qdl-lesson-progress{border:1px solid rgba(110,73,245,.12);box-shadow:0 15px 32px rgba(73,54,150,.08)}
.qdl-lesson-progress::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:22px 0 0 22px;background:linear-gradient(180deg,var(--qdl-purple),var(--qdl-blue),var(--qdl-teal));opacity:.9}
.qdl-lesson-layout{position:relative;z-index:1}
.qdl-lesson-steps-panel{backdrop-filter:blur(8px)}
@keyframes qdl-lesson-orbit-pulse{0%{transform:scale(.82);opacity:.52}70%,100%{transform:scale(1.12);opacity:0}}
@media(max-width:1023px){.qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:24px}.qdl-lesson-hero-orbit{margin-top:4px}.qdl-lesson-identity-row{align-items:stretch}.qdl-lesson-quest-badge,.qdl-lesson-step-chip{justify-content:center}}
@media(max-width:639px){.qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:20px 18px 22px;border-radius:24px}.qdl-lesson-header h2{font-size:28px;margin-top:10px}.qdl-lesson-badges span{padding:7px 9px}.qdl-lesson-hero-orbit{width:150px;height:150px}.qdl-lesson-hero-orbit-core{width:94px;height:94px;font-size:52px}.qdl-lesson-orbit-caption{inset-inline-end:-2px;bottom:-3px}.qdl-lesson-player::before,.qdl-lesson-player::after{display:none}}
@media(prefers-reduced-motion:reduce){.qdl-lesson-orbit-pulse{animation:none;opacity:0}}
.qdl-lesson-player .qdl-gaming-feedback{
  position:absolute;
  inset-inline:0;
  inset-block-start:78px;
  z-index:30;
  display:grid;
  justify-items:center;
  gap:8px;
  pointer-events:none;
}
.qdl-step-card.is-qdl-completed{animation:qdl-step-complete-glow .62s ease-out both}
.qdl-step-nav.is-unlocking{animation:qdl-step-unlock .62s ease-out both}
@keyframes qdl-step-complete-glow{0%{box-shadow:0 18px 42px rgba(55,48,105,.09)}45%{box-shadow:0 0 0 6px rgba(110,73,245,.10),0 22px 46px rgba(76,61,145,.18)}100%{box-shadow:0 18px 42px rgba(55,48,105,.09)}}
@keyframes qdl-step-unlock{0%{transform:scale(.97);box-shadow:0 4px 10px rgba(65,53,125,.05)}55%{transform:scale(1.025);box-shadow:0 0 0 5px rgba(12,224,132,.10),0 14px 26px rgba(76,61,145,.14)}100%{transform:scale(1)}}
@keyframes qdl-hud-pulse{0%{transform:scale(1);filter:brightness(1)}48%{transform:scale(1.13);filter:brightness(1.08)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes qdl-unlock-particle{0%{opacity:0;transform:rotate(var(--qdl-burst-angle)) translateY(0) scale(.7)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--qdl-burst-angle)) translateY(-42px) scale(0)}}
@media(max-width:639px){.qdl-lesson-player .qdl-gaming-feedback{inset-block-start:70px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.qdl-step-card.is-qdl-completed,.qdl-step-nav.is-unlocking{animation:none!important}}

/* Phase 18D — Quiz Gaming Experience */
.qdl-quiz{position:relative;overflow:hidden;background:radial-gradient(circle at 100% 0,#eee7ff 0,rgba(238,231,255,0) 28%),radial-gradient(circle at 0 100%,#e9fff7 0,rgba(233,255,247,0) 30%),linear-gradient(135deg,#fff,#f8f7ff 58%,#fffaf1)}
.qdl-quiz::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 44%,rgba(255,255,255,.55) 50%,transparent 56%);opacity:.5}
.qdl-quiz-head{position:relative;z-index:1;margin-bottom:16px}.qdl-quiz-head h2{font-size:clamp(22px,2.1vw,30px)}
.qdl-quiz-hud{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(111,78,255,.13);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(76,52,150,.07);backdrop-filter:blur(10px)}
.qdl-quiz-progress-copy{font-weight:900;font-size:14px}.qdl-quiz-progress-track{grid-column:1 / -1;height:10px;border-radius:999px;background:#eae6f6;overflow:hidden}.qdl-quiz-progress-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#7049f5,#26cda5);box-shadow:0 0 16px rgba(112,73,245,.2);transition:width .3s ease}.qdl-quiz-hud-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.qdl-quiz-combo,.qdl-quiz-timer{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #e9e4f7;font-size:12px;font-weight:900}.qdl-quiz-timer.is-warning{background:#fff4df;border-color:#ffd88a}
.qdl-quiz-questions{position:relative;z-index:1}.qdl-quiz-question{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.qdl-quiz-question.is-active{box-shadow:0 16px 34px rgba(76,52,150,.10);border-color:#cfc2ff}.qdl-quiz-question.is-answered{border-color:#b9efd7}.qdl-quiz-question legend{font-size:18px}
.qdl-quiz-question-actions{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:18px;padding-top:14px;border-top:1px dashed #e4def2}.qdl-quiz-question-actions .qdl-btn{min-width:120px}.qdl-quiz-question-meta{justify-self:center;min-height:22px;padding:5px 10px;border-radius:999px;background:#edfdf6;color:#147a50;font-size:12px;font-weight:900}
.qdl-quiz-option{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.qdl-quiz-option:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(78,61,145,.08);border-color:#cfc2ff}.qdl-quiz-option:has(input:checked){box-shadow:0 8px 20px rgba(112,73,245,.10)}
.qdl-quiz-actions{position:relative;z-index:1}.qdl-quiz-submit[hidden]{display:none}
.qdl-quiz-result-card{position:relative;overflow:hidden}.qdl-quiz-result-hero{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}.qdl-quiz-result-icon{grid-row:1 / span 2;display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#fff0ab,#ffbc6e);box-shadow:0 10px 26px rgba(255,178,72,.22);font-size:34px}.qdl-quiz-result-score{font-size:clamp(36px,6vw,60px);line-height:1;font-weight:1000;background:linear-gradient(90deg,#6e49f5,#11b994);-webkit-background-clip:text;background-clip:text;color:transparent}.qdl-quiz-result-title{font-weight:900;line-height:1.8}.qdl-quiz-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.qdl-quiz-result-stat{padding:12px;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid #e9e3f5;text-align:center}.qdl-quiz-result-stat strong{display:block;font-size:20px}.qdl-quiz-result-stat span{display:block;margin-top:3px;font-size:11px;font-weight:800;opacity:.72}.qdl-quiz-perfect{margin-top:14px;padding:11px 14px;border-radius:14px;font-weight:900}.qdl-quiz-perfect{background:#fff4c9}.qdl-quiz-review-title{margin:20px 0 8px;font-size:17px}.qdl-quiz-review{display:grid;gap:8px;margin-top:0}.qdl-quiz-review-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:9px 11px;border-radius:12px;background:rgba(255,255,255,.55)}.qdl-quiz-review-marker{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;font-weight:1000}.qdl-quiz-review-item.is-correct .qdl-quiz-review-marker{background:#dff9ec;color:#0f7b58}.qdl-quiz-review-item.is-incorrect .qdl-quiz-review-marker{background:#ffe5e7;color:#b42318}
@media(max-width:700px){.qdl-quiz-hud{grid-template-columns:1fr}.qdl-quiz-hud-stats{justify-content:flex-start}.qdl-quiz-question-actions{grid-template-columns:1fr 1fr}.qdl-quiz-question-meta{grid-column:1 / -1;grid-row:1;justify-self:center}.qdl-quiz-question-actions .qdl-btn{width:100%;min-width:0}.qdl-quiz-result-stats{grid-template-columns:1fr 1fr}.qdl-quiz-result-hero{grid-template-columns:auto 1fr}}
@media(max-width:480px){.qdl-quiz-result-stats{grid-template-columns:1fr}.qdl-quiz-result-icon{width:58px;height:58px;font-size:28px;border-radius:18px}.qdl-quiz-question legend{font-size:16px}}
@media(prefers-reduced-motion:reduce){.qdl-quiz-progress-track span,.qdl-quiz-question,.qdl-quiz-option{transition:none}.qdl-quiz-option:hover{transform:none}}


/* Phase 18E — Completion Celebration */
.qdl-lesson-completion-hero{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);gap:24px;align-items:center;overflow:hidden;margin-top:22px;padding:30px;border:1px solid rgba(110,73,245,.15);border-radius:30px;background:linear-gradient(135deg,#fffef8 0%,#f6f1ff 46%,#effcff 100%);box-shadow:0 20px 48px rgba(73,54,150,.13)}
.qdl-lesson-completion-hero::before{content:"";position:absolute;inset:auto -50px -80px auto;width:260px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(12,224,132,.18),transparent 70%);pointer-events:none}
.qdl-lesson-completion-hero::after{content:"";position:absolute;inset:-70px auto auto -80px;width:220px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(243,161,57,.16),transparent 70%);pointer-events:none}
.qdl-completion-icon{position:relative;z-index:2;width:106px;height:106px;display:grid;place-items:center;border-radius:32px;background:linear-gradient(145deg,#8e68f5,#4e8bf7);box-shadow:inset 0 0 0 7px rgba(255,255,255,.55),0 24px 46px rgba(74,63,157,.23)}
.qdl-completion-icon span{font-size:54px;filter:drop-shadow(0 10px 12px rgba(52,44,111,.18))}
.qdl-completion-copy{position:relative;z-index:2;min-width:0}
.qdl-completion-kicker{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.84);border:1px solid rgba(110,73,245,.10);color:#5a42bf;font-size:12px;font-weight:900}
.qdl-completion-copy h2{margin:12px 0 8px;font-size:clamp(25px,3vw,36px);line-height:1.3;color:#263253}
.qdl-completion-copy p{margin:0;color:#59647e;font-size:15px;line-height:1.9}
.qdl-completion-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.qdl-completion-stat{padding:13px 12px;border:1px solid rgba(110,73,245,.10);border-radius:16px;background:rgba(255,255,255,.72);text-align:center;box-shadow:0 8px 18px rgba(73,54,150,.06)}
.qdl-completion-stat strong{display:block;font-size:20px;line-height:1.2;color:#4c3bb2}
.qdl-completion-stat span{display:block;margin-top:4px;font-size:11px;font-weight:800;color:#68718a}
.qdl-completion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.qdl-completion-actions .qdl-btn{min-height:46px}
.qdl-completion-burst{position:absolute;inset:0;z-index:1;pointer-events:none}
.qdl-completion-burst i{position:absolute;inset-inline-start:56px;inset-block-start:52px;width:9px;height:13px;border-radius:4px;background:linear-gradient(180deg,#6e49f5,#0ce084);transform:rotate(var(--qdl-celebrate-angle)) translateY(0);opacity:0;animation:qdl-completion-piece .92s cubic-bezier(.18,.78,.28,1) var(--qdl-celebrate-delay) both}
.qdl-lesson-completion-hero.is-celebrating .qdl-completion-icon{animation:qdl-completion-pop .75s cubic-bezier(.18,.8,.28,1.25) both}
.qdl-lesson-completion-hero.is-celebrating .qdl-completion-kicker{animation:qdl-completion-glow .9s ease-out both}
@keyframes qdl-completion-pop{0%{transform:scale(.86) rotate(-5deg)}55%{transform:scale(1.08) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
@keyframes qdl-completion-glow{0%{box-shadow:0 0 0 0 rgba(110,73,245,0)}45%{box-shadow:0 0 0 7px rgba(110,73,245,.08)}100%{box-shadow:0 0 0 0 rgba(110,73,245,0)}}
@keyframes qdl-completion-piece{0%{opacity:0;transform:rotate(var(--qdl-celebrate-angle)) translateY(0) scale(.6)}18%{opacity:1}100%{opacity:0;transform:rotate(var(--qdl-celebrate-angle)) translateY(calc(-1 * var(--qdl-celebrate-distance))) scale(1)}}
@media(max-width:820px){.qdl-lesson-completion-hero{grid-template-columns:1fr;text-align:center}.qdl-completion-icon{margin-inline:auto}.qdl-completion-kicker{margin-inline:auto}.qdl-completion-actions{justify-content:center}.qdl-completion-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-completion-burst i{inset-inline-start:50%;inset-block-start:56px}}
@media(max-width:480px){.qdl-lesson-completion-hero{padding:22px 18px;border-radius:24px}.qdl-completion-copy h2{font-size:25px}.qdl-completion-actions{display:grid;grid-template-columns:1fr}.qdl-completion-actions .qdl-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.qdl-lesson-completion-hero.is-celebrating .qdl-completion-icon,.qdl-lesson-completion-hero.is-celebrating .qdl-completion-kicker{animation:none}.qdl-completion-burst{display:none}}


/* Phase 18F — Mobile Gaming UX + no-refresh lesson navigation */
.qdl-lesson-player.is-qdl-navigating .qdl-lesson-main,
.qdl-lesson-player.is-qdl-navigating .qdl-lesson-progress,
.qdl-lesson-player.is-qdl-navigating .qdl-lesson-steps-panel{opacity:.58;transition:opacity .18s ease}
.qdl-lesson-player.is-qdl-navigating .qdl-lesson-main{pointer-events:none}
@media(max-width:639px){
  .qdl-lesson-player .qdl-lesson-steps-panel{padding:10px;box-shadow:0 12px 24px rgba(73,54,150,.08)}
  .qdl-lesson-player .qdl-lesson-steps-head{margin-bottom:7px;padding-bottom:8px}
  .qdl-lesson-player .qdl-lesson-steps{gap:8px;padding-bottom:6px}
  .qdl-lesson-player .qdl-step-nav{min-width:176px;max-width:220px;min-height:50px}
  .qdl-lesson-player .qdl-step-nav span:last-child{font-size:12px}
  .qdl-lesson-player .qdl-step-actions{gap:10px}
  .qdl-lesson-player .qdl-step-nav-actions{
    position:sticky;
    inset-block-end:max(8px, env(safe-area-inset-bottom));
    z-index:20;
    width:100%;
    padding:8px;
    border:1px solid rgba(110,73,245,.14);
    border-radius:18px;
    background:rgba(255,255,255,.93);
    box-shadow:0 14px 30px rgba(61,49,125,.13);
    backdrop-filter:blur(12px);
  }
  .qdl-lesson-player .qdl-step-nav-actions .qdl-btn{min-height:50px;border-radius:14px}
  .qdl-lesson-player .qdl-step-status{font-size:12px;text-align:center}
  .qdl-lesson-player .qdl-step-next{font-weight:950}
}
@media(prefers-reduced-motion:reduce){
  .qdl-lesson-player.is-qdl-navigating .qdl-lesson-main,
  .qdl-lesson-player.is-qdl-navigating .qdl-lesson-progress,
  .qdl-lesson-player.is-qdl-navigating .qdl-lesson-steps-panel{transition:none}
}


/* Phase 18G — Final Gaming Polish */
.qdl-lesson-player{--qdl-card-lift:translateY(-2px);--qdl-soft-shadow:0 14px 34px rgba(73,54,150,.09)}
.qdl-lesson-navigation-error{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 14px;padding:13px 14px;border:1px solid #fecaca;border-radius:16px;background:linear-gradient(135deg,#fff9f9,#fffdf7);box-shadow:0 10px 24px rgba(185,28,28,.07);color:#6b4050}
.qdl-lesson-navigation-error strong{font-size:13px;color:#9f3b4a}.qdl-lesson-navigation-error span{font-size:12px;line-height:1.7}.qdl-lesson-navigation-error .qdl-btn{min-height:40px;padding:8px 13px}
.qdl-step-reading-progress{display:block;height:7px;margin:0 0 18px;padding:2px;border-radius:999px;background:#ece9f7;overflow:hidden}
.qdl-step-reading-progress[hidden]{display:none}
.qdl-step-reading-progress>span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#6e49f5,#4f7cff,#0ce084);box-shadow:0 0 14px rgba(110,73,245,.18);transition:width .18s ease}
.qdl-lesson-player.is-qdl-navigating .qdl-lesson-main{filter:saturate(.94)}
.qdl-lesson-player .is-qdl-fragment-entering{animation:qdl-fragment-in .28s cubic-bezier(.18,.78,.28,1) both}
.qdl-step-nav:active{transform:scale(.985)}
.qdl-lesson-player .qdl-btn.is-qdl-loading{position:relative;color:transparent!important;pointer-events:none}
.qdl-lesson-player .qdl-btn.is-qdl-loading::after{content:"";position:absolute;width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:qdl-loader-spin .72s linear infinite}
.qdl-lesson-player .qdl-btn.is-qdl-loading.qdl-btn-secondary::after{border-color:rgba(110,73,245,.25);border-top-color:#6e49f5}
.qdl-lesson-player .qdl-step-status{min-height:22px}
@keyframes qdl-loader-spin{to{transform:rotate(360deg)}}
@keyframes qdl-fragment-in{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-width:639px){.qdl-lesson-navigation-error{grid-template-columns:1fr;gap:7px}.qdl-lesson-navigation-error .qdl-btn{width:100%}.qdl-step-reading-progress{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.qdl-lesson-player .qdl-btn.is-qdl-loading::after{animation:none}.qdl-lesson-player .is-qdl-fragment-entering{animation:none}.qdl-step-nav:active{transform:none}.qdl-step-reading-progress>span{transition:none}}

/* Phase 18H — Contextual Learning Animations: lightweight, topic-linked, no black */
.qdl-step-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:150px;margin:0 0 22px;padding:14px 18px;overflow:hidden;border:1px solid rgba(110,73,245,.12);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,250,255,.88) 55%,rgba(241,255,249,.86));box-shadow:0 16px 32px rgba(73,54,150,.08),inset 0 1px 0 rgba(255,255,255,.95)}
.qdl-step-visual::before{content:"";position:absolute;inset:auto -30px -48px;width:180px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(110,73,245,.14),transparent 68%);pointer-events:none}
.qdl-step-visual::after{content:"";position:absolute;inset:-40px auto auto -30px;width:130px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(12,224,132,.12),transparent 68%);pointer-events:none}
.qdl-step-visual-art{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:94px}
.qdl-step-visual-label{position:relative;z-index:1;font-size:12px;font-weight:950;letter-spacing:.1px;color:#5040b3}
.qdl-step-visual-caption{position:relative;z-index:1;max-width:620px;text-align:center;font-size:11px;line-height:1.7;color:#65708a}
.qdl-step-visual span,.qdl-step-visual i,.qdl-step-visual b,.qdl-step-visual em{box-sizing:border-box}

/* Inspection */
.qdl-step-visual-inspection .qdl-visual-inspection-card{position:absolute;width:116px;height:76px;border-radius:18px;background:linear-gradient(145deg,#8d72f4,#5c8af6);box-shadow:0 16px 24px rgba(92,73,175,.18);transform:rotate(-5deg)}
.qdl-step-visual-inspection .qdl-visual-inspection-card i{position:absolute;left:17px;width:58px;height:6px;border-radius:999px;background:rgba(255,255,255,.72)}
.qdl-step-visual-inspection .qdl-visual-inspection-card i:nth-child(1){top:18px}.qdl-step-visual-inspection .qdl-visual-inspection-card i:nth-child(2){top:32px;width:42px}.qdl-step-visual-inspection .qdl-visual-inspection-card i:nth-child(3){top:46px;width:50px}
.qdl-step-visual-inspection .qdl-visual-inspection-lens{position:absolute;width:40px;height:40px;border:7px solid #f3a139;border-radius:50%;transform:translate(47px,14px)}
.qdl-step-visual-inspection .qdl-visual-inspection-lens::after{content:"";position:absolute;width:28px;height:8px;border-radius:999px;background:#f3a139;right:-24px;bottom:-14px;transform:rotate(45deg);transform-origin:left center}
.qdl-step-visual-inspection .qdl-visual-check{position:absolute;transform:translate(78px,-31px);display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#0ce084;color:#fff;font-size:15px;font-weight:950;box-shadow:0 0 0 6px rgba(12,224,132,.12);animation:qdl-context-check 1.8s ease-in-out infinite}

/* Power */
.qdl-step-visual-power .qdl-visual-headset{position:absolute;width:112px;height:66px;border-radius:48px 48px 30px 30px;background:linear-gradient(145deg,#6e49f5,#4b87f7);box-shadow:0 18px 30px rgba(75,82,184,.18);animation:qdl-context-float 2.9s ease-in-out infinite}
.qdl-step-visual-power .qdl-visual-headset i,.qdl-step-visual-power .qdl-visual-headset b{position:absolute;bottom:10px;width:26px;height:30px;border-radius:14px;background:rgba(255,255,255,.28)}
.qdl-step-visual-power .qdl-visual-headset i{left:18px}.qdl-step-visual-power .qdl-visual-headset b{right:18px}
.qdl-step-visual-power .qdl-visual-power-ring{position:absolute;display:grid;place-items:center;width:56px;height:56px;border:4px solid #f3a139;border-radius:50%;background:rgba(255,255,255,.9);color:#f3a139;font-size:31px;font-weight:900;box-shadow:0 0 0 9px rgba(243,161,57,.12);animation:qdl-context-power 1.9s ease-in-out infinite}

/* Mobile App */
.qdl-step-visual-mobile_app .qdl-visual-phone{position:relative;width:58px;height:82px;border-radius:16px;background:linear-gradient(160deg,#f3a139,#f47f58);box-shadow:0 16px 26px rgba(196,106,41,.15);animation:qdl-context-float 2.7s ease-in-out infinite}
.qdl-step-visual-mobile_app .qdl-visual-phone::before{content:"";position:absolute;inset:9px 7px;border-radius:10px;background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(241,245,255,.86))}
.qdl-step-visual-mobile_app .qdl-visual-phone b{position:absolute;z-index:1;top:17px;left:17px;width:24px;height:6px;border-radius:999px;background:rgba(110,73,245,.2)}
.qdl-step-visual-mobile_app .qdl-visual-phone i{position:absolute;z-index:1;left:15px;width:28px;height:5px;border-radius:999px;background:rgba(110,73,245,.2)}
.qdl-step-visual-mobile_app .qdl-visual-phone i:nth-child(2){top:31px}.qdl-step-visual-mobile_app .qdl-visual-phone i:nth-child(3){top:42px;width:20px}.qdl-step-visual-mobile_app .qdl-visual-phone i:nth-child(4){top:53px;width:24px}
.qdl-step-visual-mobile_app .qdl-visual-app-badge{position:absolute;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#6e49f5,#4b87f7);color:#fff;font-size:20px;font-weight:950;box-shadow:0 12px 22px rgba(73,54,150,.18);animation:qdl-context-power 2.1s ease-in-out infinite}

/* Wi-Fi */
.qdl-step-visual-wifi .qdl-visual-wifi-device{position:absolute;font-size:40px;filter:drop-shadow(0 12px 16px rgba(73,54,150,.14));animation:qdl-context-float 2.6s ease-in-out infinite}
.qdl-step-visual-wifi .qdl-visual-wifi-signal{position:absolute;display:flex;align-items:center;gap:9px;transform:translateY(-1px)}
.qdl-step-visual-wifi .qdl-visual-wifi-signal i{display:block;border:3px solid #0ce084;border-top-color:transparent;border-left-color:transparent;border-radius:0 0 26px 0;width:27px;height:27px;transform:rotate(45deg);opacity:.35;animation:qdl-wifi-wave 1.5s ease-in-out infinite}
.qdl-step-visual-wifi .qdl-visual-wifi-signal i:nth-child(2){width:41px;height:41px;animation-delay:.18s}.qdl-step-visual-wifi .qdl-visual-wifi-signal i:nth-child(3){width:55px;height:55px;animation-delay:.36s}
.qdl-step-visual-wifi .qdl-visual-wifi-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#f3a139;box-shadow:0 0 0 7px rgba(243,161,57,.12);animation:qdl-boundary-dot 1.9s ease-in-out infinite}
@keyframes qdl-wifi-wave{0%,100%{opacity:.25}50%{opacity:1}}

/* Pairing */
.qdl-step-visual-pairing .qdl-visual-device-phone{position:absolute;left:23%;width:52px;height:76px;border-radius:14px;background:linear-gradient(160deg,#f3a139,#f47f58);box-shadow:0 16px 26px rgba(196,106,41,.15)}
.qdl-step-visual-pairing .qdl-visual-device-phone::before{content:"";position:absolute;inset:9px 7px;border-radius:9px;background:rgba(255,255,255,.78)}
.qdl-step-visual-pairing .qdl-visual-device-headset{position:absolute;right:23%;font-size:38px;filter:drop-shadow(0 12px 14px rgba(73,54,150,.15));animation:qdl-context-float 2.7s ease-in-out infinite .2s}
.qdl-step-visual-pairing .qdl-visual-link{display:flex;align-items:center;gap:8px;transform:translateY(1px)}
.qdl-step-visual-pairing .qdl-visual-link i{width:10px;height:10px;border-radius:50%;background:#0ce084;box-shadow:0 0 0 6px rgba(12,224,132,.1);animation:qdl-link-dot 1.3s ease-in-out infinite}
.qdl-step-visual-pairing .qdl-visual-link i:nth-child(2){animation-delay:.2s}.qdl-step-visual-pairing .qdl-visual-link i:nth-child(3){animation-delay:.4s}

/* Update */
.qdl-step-visual-update .qdl-visual-update-device{font-size:42px;filter:drop-shadow(0 14px 18px rgba(73,54,150,.14));animation:qdl-context-float 2.6s ease-in-out infinite}
.qdl-step-visual-update .qdl-visual-update-arrow{position:absolute;top:5px;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#0ce084,#45c6a0);color:#fff;font-size:28px;font-weight:950;box-shadow:0 12px 22px rgba(12,224,132,.2);animation:qdl-update-arrow 1.9s ease-in-out infinite}
.qdl-step-visual-update .qdl-visual-update-orbit{position:absolute;width:132px;height:132px;border:2px dashed rgba(110,73,245,.24);border-radius:50%;animation:qdl-update-orbit 5s linear infinite}

/* Boundary */
.qdl-step-visual-boundary .qdl-visual-boundary-room{position:relative;width:168px;height:92px;border:3px solid #6e49f5;border-radius:18px;background:linear-gradient(135deg,rgba(110,73,245,.06),rgba(12,224,132,.06));box-shadow:inset 0 0 0 7px rgba(255,255,255,.55),0 16px 28px rgba(73,54,150,.10);animation:qdl-boundary-pulse 2.8s ease-in-out infinite}
.qdl-step-visual-boundary .qdl-visual-boundary-room i{position:absolute;width:6px;height:6px;border-radius:50%;background:#f3a139;box-shadow:0 0 0 5px rgba(243,161,57,.1)}
.qdl-step-visual-boundary .qdl-visual-boundary-room i:nth-child(1){top:10px;left:18px}.qdl-step-visual-boundary .qdl-visual-boundary-room i:nth-child(2){top:10px;right:18px}.qdl-step-visual-boundary .qdl-visual-boundary-room i:nth-child(3){bottom:10px;right:18px}.qdl-step-visual-boundary .qdl-visual-boundary-room i:nth-child(4){bottom:10px;left:18px}
.qdl-step-visual-boundary .qdl-visual-boundary-room b{position:absolute;top:50%;left:50%;width:14px;height:14px;border-radius:50%;background:#0ce084;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(12,224,132,.12);animation:qdl-boundary-dot 1.9s ease-in-out infinite}
.qdl-step-visual-boundary .qdl-visual-boundary-floor{position:absolute;bottom:8px;width:210px;height:20px;border-radius:50%;background:radial-gradient(ellipse,rgba(110,73,245,.13),transparent 70%)}

/* Controllers */
.qdl-step-visual-controllers .qdl-visual-controller{display:grid;place-items:center;width:58px;height:58px;border-radius:20px 20px 24px 24px;background:linear-gradient(145deg,#6e49f5,#44a0f5);color:#fff;font-size:16px;font-weight:950;box-shadow:0 16px 25px rgba(73,54,150,.16);animation:qdl-controller-float 2.6s ease-in-out infinite}
.qdl-step-visual-controllers .qdl-visual-controller-left{transform:translateX(-22px) rotate(-9deg)}.qdl-step-visual-controllers .qdl-visual-controller-right{transform:translateX(22px) rotate(9deg);animation-delay:.16s}
.qdl-step-visual-controllers .qdl-visual-controller-signal{position:absolute;width:92px;height:44px;border-radius:50%;border:2px dashed rgba(12,224,132,.46);animation:qdl-signal-pulse 2s ease-in-out infinite}

@keyframes qdl-context-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes qdl-context-check{0%,100%{transform:translate(78px,-31px) scale(1)}50%{transform:translate(78px,-31px) scale(1.08)}}
@keyframes qdl-context-power{0%,100%{box-shadow:0 0 0 9px rgba(243,161,57,.12);transform:scale(1)}50%{box-shadow:0 0 0 14px rgba(243,161,57,.18);transform:scale(1.04)}}
@keyframes qdl-link-dot{0%,100%{opacity:.35;transform:scale(.78)}50%{opacity:1;transform:scale(1)}}
@keyframes qdl-update-arrow{0%,100%{transform:translateY(-4px);opacity:.7}50%{transform:translateY(7px);opacity:1}}
@keyframes qdl-update-orbit{to{transform:rotate(360deg)}}
@keyframes qdl-boundary-pulse{0%,100%{box-shadow:inset 0 0 0 7px rgba(255,255,255,.55),0 16px 28px rgba(73,54,150,.10)}50%{box-shadow:inset 0 0 0 7px rgba(255,255,255,.55),0 18px 34px rgba(73,54,150,.16),0 0 0 7px rgba(110,73,245,.05)}}
@keyframes qdl-boundary-dot{0%,100%{transform:translate(-50%,-50%) scale(.92)}50%{transform:translate(-50%,-50%) scale(1.18)}}
@keyframes qdl-controller-float{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes qdl-signal-pulse{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.03)}}

@media(max-width:639px){.qdl-step-visual{min-height:132px;margin-bottom:18px;padding:12px 14px;border-radius:20px}.qdl-step-visual-art{min-height:78px}.qdl-step-visual-caption{font-size:10px}.qdl-step-visual-boundary .qdl-visual-boundary-room{width:145px;height:80px}.qdl-step-visual-boundary .qdl-visual-boundary-floor{width:180px}.qdl-step-visual-pairing .qdl-visual-device-phone{left:19%}.qdl-step-visual-pairing .qdl-visual-device-headset{right:19%}}
@media(prefers-reduced-motion:reduce){.qdl-step-visual *, .qdl-step-visual::before, .qdl-step-visual::after{animation:none!important}.qdl-step-visual-update .qdl-visual-update-orbit{display:none}}

/* Phase 47 — Targeted remediation recovery panel */
.qdl-quiz-remediation{margin-top:20px;padding:18px;border:1px solid rgba(110,73,245,.14);border-radius:22px;background:linear-gradient(135deg,#f7fbff 0%,#fbf8ff 52%,#f1fff9 100%);box-shadow:0 18px 42px rgba(74,58,140,.10);overflow:hidden}
.qdl-quiz-remediation-head{display:grid;gap:3px}.qdl-quiz-remediation-kicker{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg,#eee8ff,#eafff6);color:#5a439f;font-size:11px;font-weight:950;letter-spacing:.01em}.qdl-quiz-remediation-title{margin:0;font-size:19px;line-height:1.7;font-weight:950;color:#283453}.qdl-quiz-remediation-intro{margin:2px 0 0;font-size:13px;line-height:1.9;color:#69738b}
.qdl-quiz-remediation-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0 13px}.qdl-quiz-remediation-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(110,73,245,.10);border-radius:15px;background:rgba(255,255,255,.68)}.qdl-quiz-remediation-stat strong{font-size:20px;line-height:1;font-weight:950;color:#6e49f5}.qdl-quiz-remediation-stat span{font-size:11px;font-weight:850;color:#69738b;text-align:end}
.qdl-quiz-remediation-actions{display:grid;gap:10px}.qdl-quiz-remediation-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(110,73,245,.10);border-radius:18px;background:rgba(255,255,255,.74);box-shadow:0 8px 22px rgba(70,55,136,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.qdl-quiz-remediation-card:hover{transform:translateY(-2px);border-color:rgba(110,73,245,.22);box-shadow:0 13px 28px rgba(70,55,136,.10)}.qdl-quiz-remediation-card-top{display:flex;align-items:center;gap:11px}.qdl-quiz-remediation-index{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#6e49f5,#8975ff);color:#fff;font-size:12px;font-weight:950;box-shadow:0 8px 16px rgba(110,73,245,.18)}.qdl-quiz-remediation-card-meta{min-width:0}.qdl-quiz-remediation-card-label{display:block;margin-bottom:1px;font-size:10px;font-weight:900;color:#6e49f5}.qdl-quiz-remediation-card h4{margin:0;font-size:15px;line-height:1.7;font-weight:950;color:#283453}
.qdl-quiz-remediation-reason{display:grid;gap:6px;padding:10px 11px;border-radius:14px;background:#f9fbff;border:1px solid rgba(79,124,255,.10)}.qdl-quiz-remediation-reason-label{font-size:10px;font-weight:950;color:#65708a}.qdl-quiz-remediation-reason-copy{font-size:11px;line-height:1.7;color:#59647b}.qdl-quiz-remediation-related{display:grid;gap:5px}.qdl-quiz-remediation-question{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:start;font-size:11px;line-height:1.75;color:#505a72}.qdl-quiz-remediation-question strong{white-space:nowrap;color:#b42318;font-weight:950}.qdl-quiz-remediation-step{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;padding-inline:14px;text-decoration:none;cursor:pointer;border-radius:13px}.qdl-quiz-remediation-step:hover{transform:translateY(-1px)}.qdl-quiz-remediation-step.is-qdl-busy{pointer-events:none;opacity:.72;cursor:wait}.qdl-action-spinner{display:inline-block;width:14px;height:14px;margin-inline-end:7px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;vertical-align:-2px;animation:qdl-quiz-spin .8s linear infinite}
@media(max-width:600px){.qdl-quiz-remediation{padding:14px;border-radius:18px}.qdl-quiz-remediation-stats{grid-template-columns:1fr}.qdl-quiz-remediation-card{padding:12px}.qdl-quiz-remediation-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){.qdl-quiz-remediation-card,.qdl-quiz-remediation-step{transition:none}.qdl-quiz-remediation-card:hover,.qdl-quiz-remediation-step:hover{transform:none}}
.qdl-preview-banner{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px;padding:13px 16px;border:1px solid #f3a139;border-radius:16px;background:linear-gradient(135deg,#fff8ea,#eefdf7);box-shadow:0 8px 24px rgba(110,73,246,.08);color:#413b5f}.qdl-preview-banner strong{font-weight:800}.qdl-preview-banner span{line-height:1.8}.qdl-preview-banner-compact{margin-top:10px}.qdl-quiz-preview .qdl-quiz-hud,.qdl-quiz-preview .qdl-quiz-status,.qdl-quiz-preview .qdl-quiz-actions{display:none}.qdl-quiz-preview .qdl-quiz-question{display:block!important}.qdl-lesson-preview-mode .qdl-step-status{display:none}

.qdl-drag-drop{display:grid;gap:14px;margin-top:10px}.qdl-drag-drop-pool,.qdl-drag-drop-zones{display:flex;flex-wrap:wrap;gap:8px}.qdl-drag-drop-pool{padding:12px;border:1px dashed #cfc5ef;border-radius:16px;background:#fff}.qdl-drag-drop-zone{display:flex;align-items:center;gap:10px;min-height:48px;min-width:180px;padding:10px 12px;border:1px dashed #b9efd7;border-radius:14px;background:#f7fffb}.qdl-drag-drop-zone:focus{outline:2px solid #6e49f5;outline-offset:2px}.qdl-drag-item{border:1px solid #ddd6fe;border-radius:12px;background:#fff;padding:8px 12px;font:inherit;font-weight:800;cursor:grab}.qdl-drag-item.is-placed{cursor:grab}.qdl-drag-item.is-selected{outline:2px solid #6e49f5}.qdl-drag-placeholder{opacity:.65;font-size:12px}.qdl-quiz-branch-next{margin-top:16px;padding:14px 16px;border:1px solid #d6f6e8;border-radius:16px;background:linear-gradient(135deg,#f4fff9,#f7f3ff)}.qdl-quiz-branch-next p{margin:0 0 10px;font-weight:900}@media(prefers-reduced-motion:reduce){.qdl-drag-item{transition:none}}

.qdl-profile-privacy-link{margin:10px 0 0}.qdl-profile-privacy-link a{text-decoration:underline}


/* Phase 41 — Quiz visual system / resilient states */
.qdl-quiz-intro{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #e5ddff;border-radius:18px;background:linear-gradient(135deg,#fbf8ff,#f2fffb);box-shadow:0 8px 20px rgba(79,61,145,.06)}
.qdl-quiz-intro-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#fff0a8,#ffd3f2);box-shadow:0 8px 18px rgba(110,73,245,.10);font-size:20px}
.qdl-quiz-intro strong{display:block;font-size:14px;font-weight:900;line-height:1.7}.qdl-quiz-intro span:not(.qdl-quiz-intro-icon){display:block;margin-top:2px;color:#6c6680;font-size:12px;font-weight:700}
.qdl-quiz-option{min-height:58px;align-items:center;background:linear-gradient(135deg,#fff,#fcfbff)}
.qdl-quiz-option input[type=radio],.qdl-quiz-option input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 20px;width:20px;height:20px;margin:0;position:relative;border:2px solid #c9c0e7;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(74,52,133,.08);cursor:pointer}
.qdl-quiz-option input[type=checkbox]{border-radius:7px}
.qdl-quiz-option input[type=radio]::after,.qdl-quiz-option input[type=checkbox]::after{content:"";position:absolute;inset:3px;border-radius:inherit;background:transparent;transform:scale(.3);opacity:0;transition:transform .16s ease,opacity .16s ease}
.qdl-quiz-option input[type=radio]:checked{border-color:#6e49f5;background:#f4f0ff}.qdl-quiz-option input[type=checkbox]:checked{border-color:#0cae7a;background:#e9fff6}
.qdl-quiz-option input[type=radio]:checked::after{background:#6e49f5;transform:scale(1);opacity:1}.qdl-quiz-option input[type=checkbox]:checked::after{background:#0cae7a;transform:scale(1);opacity:1}
.qdl-quiz-option:has(input:checked){border-color:#a18df3;background:linear-gradient(135deg,#f7f3ff,#f0fff9);box-shadow:0 12px 24px rgba(92,71,166,.11)}
.qdl-quiz-question legend{display:flex;gap:9px;align-items:flex-start;margin-bottom:2px}.qdl-quiz-question legend>span{display:inline-grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#6e49f5,#8d75ff);color:#fff;font-size:13px;line-height:1;box-shadow:0 7px 14px rgba(110,73,245,.18)}
.qdl-quiz-question-actions{margin-top:20px;padding:12px 0 0;border-top:1px solid #eee9f8}.qdl-quiz-question-actions .qdl-btn{min-height:42px;border-radius:13px}
.qdl-quiz-actions{display:flex;justify-content:flex-start;align-items:center;margin-top:14px}.qdl-quiz-submit{min-width:165px;min-height:48px;border-radius:15px;box-shadow:0 12px 24px rgba(110,73,245,.20)}.qdl-quiz-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.qdl-quiz-noscript{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid #ffd9a8;background:#fff7eb;font-weight:800;color:#7a4a0a}
.qdl-quiz-status.is-error{border-inline-start:4px solid #e79a2e}
@media(max-width:700px){.qdl-quiz-intro{align-items:flex-start}.qdl-quiz-option{min-height:54px}.qdl-quiz-question legend{font-size:17px}.qdl-quiz-actions .qdl-quiz-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.qdl-quiz-option input[type=radio]::after,.qdl-quiz-option input[type=checkbox]::after{transition:none}}


/* Phase 42 — Lesson Player Experience Redesign & Gamified UX */
.qdl-lesson-player{--qdl-purple:#6e49f5;--qdl-purple-2:#8a6bff;--qdl-blue:#4f7cff;--qdl-teal:#0ce084;--qdl-yellow:#f3a139;--qdl-ink:#283453;--qdl-muted:#68738d;position:relative;isolation:isolate}
.qdl-lesson-player .qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{border-radius:34px;padding:30px 32px 34px;background:linear-gradient(135deg,#fff 0%,#f8f4ff 46%,#eefcff 100%);box-shadow:0 24px 64px rgba(78,60,150,.13);border:1px solid rgba(110,73,245,.14)}
.qdl-lesson-player .qdl-lesson-header-grid{grid-template-columns:minmax(0,1fr) 210px;gap:36px}
.qdl-lesson-player .qdl-lesson-identity-row{margin-bottom:14px}
.qdl-lesson-player .qdl-lesson-quest-badge{background:linear-gradient(135deg,#ede8ff,#eaf8ff);border-color:rgba(110,73,245,.18);box-shadow:0 8px 20px rgba(86,65,170,.08)}
.qdl-lesson-player .qdl-lesson-step-chip{background:rgba(255,255,255,.94);border-color:rgba(79,124,255,.16);box-shadow:0 8px 20px rgba(53,85,165,.08)}
.qdl-lesson-player .qdl-lesson-header h2{font-size:clamp(30px,3.4vw,44px);max-width:850px;margin:15px 0 14px}
.qdl-lesson-player .qdl-lesson-intro{max-width:880px}
.qdl-lesson-player .qdl-lesson-badges span{background:rgba(255,255,255,.86);border-color:rgba(110,73,245,.10);box-shadow:0 8px 18px rgba(62,48,130,.05)}
.qdl-lesson-player .qdl-lesson-progress{position:relative;overflow:hidden;margin:20px 0 28px;padding:20px 22px;border-radius:24px;background:linear-gradient(135deg,#fff,#faf9ff 65%,#f2fffa);box-shadow:0 18px 38px rgba(67,53,141,.09)}
.qdl-lesson-player .qdl-progress-copy{gap:6px}
.qdl-lesson-player .qdl-progress-title{font-size:16px}
.qdl-lesson-player .qdl-progress-subtitle{font-size:13px;color:#6d7892}
.qdl-lesson-player .qdl-progress-ring{width:82px;height:82px;background:conic-gradient(var(--qdl-purple) var(--qdl-progress),#ebe8fb 0);box-shadow:0 8px 22px rgba(93,72,171,.10)}
.qdl-lesson-player .qdl-progress-track{height:14px;background:#ecebf8;box-shadow:inset 0 2px 6px rgba(70,59,113,.07)}
.qdl-lesson-player .qdl-progress-track span{background:linear-gradient(90deg,var(--qdl-purple),var(--qdl-blue) 66%,var(--qdl-teal));box-shadow:0 0 22px rgba(110,73,245,.22)}
.qdl-lesson-player .qdl-lesson-layout{grid-template-columns:292px minmax(0,1fr);gap:24px;align-items:start}
.qdl-academy-page [hidden]{display:none!important}
.qdl-lesson-player .qdl-lesson-steps-panel{top:20px;padding:16px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,247,255,.98));box-shadow:0 18px 40px rgba(70,56,141,.10);border-color:rgba(110,73,245,.15);max-height:none;overflow:visible}
.qdl-lesson-player .qdl-lesson-steps-head{padding:4px 4px 12px}
.qdl-lesson-player .qdl-steps-count{padding:6px 9px;border-radius:999px;background:#f1efff;color:#5d4ab5}
.qdl-lesson-player .qdl-lesson-steps{gap:8px;position:relative}
.qdl-lesson-player .qdl-step-nav{position:relative;min-height:56px;border-radius:17px;padding:11px 12px;background:linear-gradient(135deg,#fff,#fbfbff);border-color:#e9e5f8;box-shadow:0 5px 14px rgba(64,48,130,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.qdl-lesson-player .qdl-step-nav:hover{transform:translateY(-1px);border-color:#cfc4ff;box-shadow:0 9px 20px rgba(77,60,152,.08)}
.qdl-lesson-player .qdl-step-nav.is-active{border-color:#a895f5;background:linear-gradient(135deg,#f7f3ff,#effbff);box-shadow:0 12px 26px rgba(82,61,157,.12)}
.qdl-lesson-player .qdl-step-nav.is-active::after{content:"";position:absolute;inset-inline-start:6px;inset-block:10px;border-radius:999px;width:4px;background:linear-gradient(180deg,var(--qdl-purple),var(--qdl-blue),var(--qdl-teal))}
.qdl-lesson-player .qdl-step-nav.is-complete{border-color:#bdeed6;background:linear-gradient(135deg,#f5fff9,#fbfbff)}
.qdl-lesson-player .qdl-step-nav span:first-child{width:31px;height:31px;flex-basis:31px;border-radius:11px;background:#f0edff}
.qdl-lesson-player .qdl-step-nav.is-complete span:first-child{background:linear-gradient(135deg,#dff9ed,#effff8);color:#147b53}
.qdl-lesson-player .qdl-step-card{padding:32px;border-radius:30px;background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);box-shadow:0 22px 50px rgba(57,50,112,.10)}
.qdl-lesson-player .qdl-step-card-topline{margin-bottom:4px}
.qdl-lesson-player .qdl-step-type{background:linear-gradient(135deg,#f0ebff,#eff8ff);border:1px solid rgba(110,73,245,.10);padding:8px 11px;border-radius:999px}
.qdl-lesson-player .qdl-step-counter{background:#f3f8ff;border:1px solid rgba(79,124,255,.11)}
.qdl-lesson-player .qdl-step-card h2{font-size:clamp(25px,2.7vw,35px);margin:16px 0 20px}
.qdl-lesson-player .qdl-step-content{font-size:17px;line-height:2.08}
.qdl-lesson-player .qdl-step-actions{margin-top:30px;padding-top:20px;border-top:1px dashed #ddd8f2}
.qdl-lesson-player .qdl-step-nav-actions .qdl-btn{min-height:50px;border-radius:15px}

.qdl-lesson-player .qdl-quiz{margin-top:26px;padding:0;border-radius:32px;border:1px solid rgba(110,73,245,.14);background:linear-gradient(135deg,#fff 0%,#faf8ff 55%,#f2fffa 100%);box-shadow:0 24px 54px rgba(68,53,135,.11);overflow:hidden}
.qdl-lesson-player .qdl-quiz::before{display:none}
.qdl-lesson-player .qdl-quiz-decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.qdl-lesson-player .qdl-quiz-decor i{position:absolute;display:block;border-radius:50%;filter:blur(1px);opacity:.55}
.qdl-lesson-player .qdl-quiz-decor i:nth-child(1){width:180px;height:180px;inset-inline-end:-70px;inset-block-start:-70px;background:radial-gradient(circle,rgba(110,73,245,.18),transparent 70%)}
.qdl-lesson-player .qdl-quiz-decor i:nth-child(2){width:150px;height:150px;inset-inline-start:-50px;inset-block-end:-60px;background:radial-gradient(circle,rgba(12,224,132,.13),transparent 70%)}
.qdl-lesson-player .qdl-quiz-decor i:nth-child(3){width:70px;height:70px;inset-inline-end:24%;inset-block-start:18px;background:radial-gradient(circle,rgba(243,161,57,.15),transparent 70%)}
.qdl-lesson-player .qdl-quiz-head{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:18px;align-items:center;padding:30px 30px 22px;margin:0}
.qdl-lesson-player .qdl-quiz-title-block{min-width:0}
.qdl-lesson-player .qdl-quiz-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#f3edff;color:#6247c4;font-size:12px;font-weight:1000;border:1px solid rgba(110,73,245,.11)}
.qdl-lesson-player .qdl-quiz-title-block h2{margin:12px 0 6px;font-size:clamp(25px,2.5vw,34px);color:#2b3552}
.qdl-lesson-player .qdl-quiz-title-block p{margin:0;max-width:760px;color:#6a748b;font-size:14px;line-height:1.9}
.qdl-lesson-player .qdl-quiz-emblem{width:92px;height:92px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:28px;background:linear-gradient(145deg,#7b5bf6,#4f7cff 66%,#4fd7bc);color:#fff;box-shadow:0 20px 35px rgba(90,69,173,.20),inset 0 0 0 6px rgba(255,255,255,.20);transform:rotate(-4deg)}
.qdl-lesson-player .qdl-quiz-emblem span{font-size:31px;line-height:1}.qdl-lesson-player .qdl-quiz-emblem b{font-size:15px}
.qdl-lesson-player .qdl-quiz-meta-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 30px 20px}
.qdl-lesson-player .qdl-quiz-meta-card{display:flex;align-items:center;gap:9px;min-height:60px;padding:10px 12px;border:1px solid #ebe6f8;border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 8px 18px rgba(67,52,130,.05)}
.qdl-lesson-player .qdl-quiz-meta-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:linear-gradient(135deg,#f2edff,#edfaff);font-size:16px}
.qdl-lesson-player .qdl-quiz-meta-card span:last-child{display:grid;gap:2px;min-width:0}.qdl-lesson-player .qdl-quiz-meta-card b{font-size:14px;color:#35405c}.qdl-lesson-player .qdl-quiz-meta-card small{font-size:10px;color:#7b8499;font-weight:800}
.qdl-lesson-player .qdl-quiz-hud{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:12px;align-items:center;margin:0 30px 16px;padding:16px;border:1px solid rgba(110,73,245,.12);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 12px 26px rgba(72,55,140,.07);backdrop-filter:blur(10px)}
.qdl-lesson-player .qdl-quiz-hud-primary{min-width:0}.qdl-lesson-player .qdl-quiz-hud-label{display:flex;align-items:center;gap:7px;font-weight:1000;color:#3b4661;font-size:14px;margin-bottom:9px}
.qdl-lesson-player .qdl-quiz-progress-track{height:11px;border-radius:999px;background:#ece9f7}.qdl-lesson-player .qdl-quiz-progress-track span{height:100%;background:linear-gradient(90deg,var(--qdl-purple),var(--qdl-blue),var(--qdl-teal));box-shadow:0 0 16px rgba(110,73,245,.20)}
.qdl-lesson-player .qdl-quiz-progress-ring{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--qdl-purple) var(--qdl-quiz-progress,0%),#ece9f8 0);box-shadow:0 10px 22px rgba(83,62,155,.09);position:relative}
.qdl-lesson-player .qdl-quiz-progress-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.qdl-lesson-player .qdl-quiz-progress-ring span{position:relative;z-index:1;font-size:13px;font-weight:1000;color:#5d49b3}
.qdl-lesson-player .qdl-quiz-hud-stats{grid-column:1 / -1;justify-content:flex-start}
.qdl-lesson-player .qdl-quiz-combo,.qdl-lesson-player .qdl-quiz-timer{min-height:33px;padding:7px 11px;border-radius:999px;border:1px solid #eae4f7;background:#fff;font-size:11px}
.qdl-lesson-player .qdl-quiz-timer.is-warning{background:#fff4df;border-color:#ffd07a;color:#8a5e0c}
.qdl-lesson-player .qdl-quiz-status{position:relative;z-index:2;margin:0 30px 15px;padding:11px 14px;border-radius:15px;background:#f7f8ff;border:1px solid #e6e4f2;color:#5e6780;font-size:13px;font-weight:800}
.qdl-lesson-player .qdl-quiz-status.is-error{background:#fff5f3;border-color:#ffd7ce;color:#a24732}
.qdl-lesson-player .qdl-quiz-questions{position:relative;z-index:2;padding:0 30px 4px}
.qdl-lesson-player .qdl-quiz-question{margin:0;padding:26px;border-radius:26px;border:1px solid #e5e0f2;background:#fff;box-shadow:0 12px 28px rgba(64,51,128,.06)}
.qdl-lesson-player .qdl-quiz-question.is-active{box-shadow:0 18px 40px rgba(64,51,128,.10);border-color:#cfc3ff;animation:qdl-quiz-card-in .26s ease both}
.qdl-lesson-player .qdl-quiz-question-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}
.qdl-lesson-player .qdl-quiz-question-label,.qdl-lesson-player .qdl-quiz-question-points{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-question-label{background:#f2efff;color:#5b43b1}.qdl-lesson-player .qdl-quiz-question-points{background:#fff5cf;color:#7b5a10}
.qdl-lesson-player .qdl-quiz-question{position:relative}
.qdl-lesson-player .qdl-quiz-question > .qdl-quiz-question-legend{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.qdl-lesson-player .qdl-quiz-question-title{display:flex;gap:10px;align-items:flex-start;margin:0 0 13px;padding:0;font-size:20px;line-height:1.8;color:#2d3854;font-weight:1000;outline:none}
.qdl-lesson-player .qdl-quiz-question-title > span{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:linear-gradient(135deg,var(--qdl-purple),var(--qdl-blue));box-shadow:0 8px 18px rgba(101,75,190,.18);color:#fff;font-size:13px;line-height:1}
.qdl-lesson-player .qdl-quiz-question-title:focus-visible{border-radius:12px;box-shadow:0 0 0 3px rgba(79,124,255,.18)}
.qdl-lesson-player .qdl-quiz-image{margin:14px 0 4px;border-radius:18px;box-shadow:0 10px 24px rgba(48,45,94,.08)}
.qdl-lesson-player .qdl-quiz-scenario{display:flex;gap:9px;align-items:flex-start;margin:15px 0 2px;padding:14px 16px;border-radius:16px;border:1px solid #ffe0a2;background:linear-gradient(135deg,#fff9ed,#fffdf8);color:#6a5322;line-height:1.85;font-size:13px}
.qdl-lesson-player .qdl-quiz-scenario>strong{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:9px;background:#fff0c3}

.qdl-lesson-player .qdl-quiz-options{position:relative}
.qdl-lesson-player .qdl-btn.is-qdl-busy{cursor:wait!important;opacity:.88;transform:none!important;pointer-events:none;box-shadow:0 8px 18px rgba(110,73,245,.14)}
.qdl-lesson-player .qdl-btn.is-qdl-busy .qdl-quiz-action-spinner{width:17px;height:17px;border-width:2px}
.qdl-lesson-player .qdl-btn.is-qdl-busy{display:inline-flex;align-items:center;justify-content:center;gap:9px}
@keyframes qdl-quiz-spin{to{transform:rotate(360deg)}}
.qdl-lesson-player .qdl-quiz-options{display:grid;gap:10px;margin-top:18px}
.qdl-lesson-player .qdl-quiz-option{position:relative;min-height:66px;padding:13px 14px 13px 16px;display:flex;align-items:center;gap:12px;border:1px solid #e6e2ef;border-radius:17px;background:linear-gradient(135deg,#fff,#fbfbff);box-shadow:0 5px 13px rgba(61,49,123,.035)}
.qdl-lesson-player .qdl-quiz-option::before{content:attr(data-qdl-option-index);display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:#f1edff;color:#5c43b0;font-size:12px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-option:hover{transform:translateY(-1px);border-color:#cfc4ff;box-shadow:0 10px 22px rgba(82,62,150,.08)}
.qdl-lesson-player .qdl-quiz-option:has(input:checked){border-color:#9e8cf0;background:linear-gradient(135deg,#f7f3ff,#f1fffa);box-shadow:0 12px 24px rgba(91,70,170,.10)}
.qdl-lesson-player .qdl-quiz-option:has(input:checked)::before{background:linear-gradient(135deg,var(--qdl-purple),var(--qdl-blue));color:#fff;box-shadow:0 6px 13px rgba(89,67,170,.18)}
.qdl-lesson-player .qdl-quiz-option input[type=radio],.qdl-lesson-player .qdl-quiz-option input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;order:-1;margin:0}
.qdl-lesson-player .qdl-quiz-option-label{flex:1;min-width:0;font-weight:850;line-height:1.75;color:#37425d}
.qdl-lesson-player .qdl-quiz-option select{min-width:150px;max-width:58%;padding:10px 12px;border:1px solid #ded9ec;border-radius:12px;background:#fff;font:inherit;color:#38425b;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.qdl-lesson-player .qdl-quiz-option select:disabled{opacity:.68;background:#f4f2fa;color:#8d93a5;cursor:not-allowed}
.qdl-lesson-player .qdl-quiz-option select option:disabled{color:#9aa0af}
.qdl-lesson-player .qdl-quiz-option:focus-within{outline:3px solid rgba(79,124,255,.22);outline-offset:2px}
.qdl-lesson-player .qdl-quiz-question-meta{background:#edfdf6;color:#137650}
.qdl-lesson-player .qdl-quiz-question-actions{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px dashed #e2dced}
.qdl-lesson-player .qdl-quiz-question-actions .qdl-btn{min-width:132px;min-height:46px;border-radius:14px}
.qdl-lesson-player .qdl-quiz-actions{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 30px;padding:18px 0 28px}
.qdl-lesson-player .qdl-quiz-submit-help{display:flex;align-items:center;gap:7px;color:#6f7890;font-size:12px;font-weight:800}.qdl-lesson-player .qdl-quiz-submit-help>span:first-child{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eafaf2;color:#11835a}
.qdl-lesson-player .qdl-quiz-submit{min-width:220px;min-height:52px;border-radius:16px;box-shadow:0 14px 28px rgba(90,69,178,.20)}
.qdl-lesson-player .qdl-quiz-submit:not(:disabled){animation:qdl-submit-breathe 2.6s ease-in-out infinite}
.qdl-lesson-player .qdl-quiz-submit:disabled{opacity:.5;box-shadow:none;animation:none}
.qdl-lesson-player .qdl-quiz-result{position:relative;z-index:2;margin:0 30px 30px;padding:24px;border:1px solid rgba(110,73,245,.13);border-radius:24px;background:linear-gradient(135deg,#fff,#f8f6ff 58%,#effff8);box-shadow:0 14px 28px rgba(60,48,122,.08);font-weight:inherit}
.qdl-lesson-player .qdl-quiz-result.is-success{background:linear-gradient(135deg,#fffef9,#f7f2ff 52%,#ebfff6);border-color:#d7cfff}
.qdl-lesson-player .qdl-quiz-result.is-failed{background:linear-gradient(135deg,#fffdfb,#fff4f1 60%,#fff);border-color:#ffd9d1}
.qdl-lesson-player .qdl-quiz-result-primary-action{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:16px 18px;border:1px solid rgba(12,224,132,.20);border-radius:20px;background:linear-gradient(135deg,#f7fffb,#ffffff 62%,#f5f2ff);box-shadow:0 10px 22px rgba(37,122,89,.07)}
.qdl-lesson-player .qdl-quiz-result-primary-action.is-exhausted{border-color:rgba(243,161,57,.22);background:linear-gradient(135deg,#fffaf1,#fff 68%)}
.qdl-lesson-player .qdl-quiz-result-primary-copy{margin:0;color:#5d6475;font-size:13px;font-weight:700;line-height:1.85;flex:1}
.qdl-lesson-player .qdl-quiz-result-retry{min-width:190px;min-height:50px;border-radius:16px;box-shadow:0 12px 24px rgba(110,73,245,.18)}
.qdl-lesson-player .qdl-quiz-result-retry:not(:disabled){animation:qdl-submit-breathe 2.8s ease-in-out infinite}
.qdl-lesson-player .qdl-quiz-result-retry:focus-visible,.qdl-lesson-player .qdl-quiz-continue:focus-visible{outline:3px solid rgba(110,73,245,.28);outline-offset:3px}
.qdl-lesson-player .qdl-quiz-result-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:18px}.qdl-lesson-player .qdl-quiz-continue{min-width:230px;min-height:48px;border-radius:15px}
.qdl-lesson-player .qdl-quiz-preview .qdl-quiz-meta-strip,.qdl-lesson-player .qdl-quiz-preview .qdl-quiz-hud{display:none}
@keyframes qdl-quiz-card-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes qdl-submit-breathe{0%,100%{box-shadow:0 14px 28px rgba(90,69,178,.18)}50%{box-shadow:0 16px 34px rgba(90,69,178,.27)}}

@media(max-width:1023px){
  .qdl-lesson-player .qdl-lesson-header-grid{grid-template-columns:1fr}.qdl-lesson-player .qdl-lesson-hero-orbit{display:none}
  .qdl-lesson-player .qdl-lesson-layout{grid-template-columns:1fr}.qdl-lesson-player .qdl-lesson-steps-panel{position:static;max-height:none}.qdl-lesson-player .qdl-lesson-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .qdl-lesson-player .qdl-quiz-meta-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.qdl-lesson-player .qdl-quiz-head{grid-template-columns:minmax(0,1fr) 78px}.qdl-lesson-player .qdl-quiz-emblem{width:78px;height:78px}
}
@media(max-width:700px){
  .qdl-lesson-player .qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:22px 20px 24px;border-radius:26px}.qdl-lesson-player .qdl-lesson-header h2{font-size:29px}.qdl-lesson-player .qdl-lesson-progress{padding:16px;border-radius:20px}.qdl-lesson-player .qdl-lesson-layout{gap:16px}
  .qdl-lesson-player .qdl-lesson-steps{grid-template-columns:1fr}.qdl-lesson-player .qdl-step-card{padding:22px 18px;border-radius:24px}.qdl-lesson-player .qdl-step-card h2{font-size:25px}
  .qdl-lesson-player .qdl-quiz-head{grid-template-columns:1fr;padding:22px 18px 17px}.qdl-lesson-player .qdl-quiz-emblem{display:none}.qdl-lesson-player .qdl-quiz-meta-strip{grid-template-columns:1fr 1fr;padding:0 18px 16px}.qdl-lesson-player .qdl-quiz-hud{grid-template-columns:minmax(0,1fr) 66px;margin:0 18px 14px;padding:14px}.qdl-lesson-player .qdl-quiz-progress-ring{width:66px;height:66px}.qdl-lesson-player .qdl-quiz-questions{padding:0 18px 4px}.qdl-lesson-player .qdl-quiz-question{padding:20px 16px;border-radius:21px}.qdl-lesson-player .qdl-quiz-question-title{font-size:17px}.qdl-lesson-player .qdl-quiz-question-actions{grid-template-columns:1fr 1fr}.qdl-lesson-player .qdl-quiz-actions{margin:0 18px;align-items:stretch;flex-direction:column}.qdl-lesson-player .qdl-quiz-submit-help{justify-content:center}.qdl-lesson-player .qdl-quiz-submit{width:100%}.qdl-lesson-player .qdl-quiz-result{margin:0 18px 18px;padding:18px}.qdl-lesson-player .qdl-quiz-result-actions .qdl-btn{width:100%}.qdl-lesson-player .qdl-quiz-result-primary-action{align-items:stretch;flex-direction:column;gap:12px}.qdl-lesson-player .qdl-quiz-result-retry{width:100%}
}
@media(max-width:480px){
  .qdl-lesson-player .qdl-quiz-meta-strip{grid-template-columns:1fr}.qdl-lesson-player .qdl-quiz-question-topline{align-items:flex-start;flex-direction:column}.qdl-lesson-player .qdl-quiz-option{min-height:60px;padding:12px}.qdl-lesson-player .qdl-quiz-option select{min-width:0;max-width:60%;width:100%}.qdl-lesson-player .qdl-quiz-question-actions .qdl-btn{min-width:0}.qdl-lesson-player .qdl-quiz-submit-help{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .qdl-lesson-player .qdl-step-nav,.qdl-lesson-player .qdl-quiz-option,.qdl-lesson-player .qdl-btn{transition:none!important}.qdl-lesson-player .qdl-quiz-question.is-active,.qdl-lesson-player .qdl-quiz-submit:not(:disabled){animation:none!important}
}

@media(prefers-reduced-motion:reduce){.qdl-lesson-player .qdl-quiz-action-spinner{animation:none}}

/* Phase 62 — Lesson Action Hierarchy: exactly one Primary CTA per active state. */
.qdl-lesson-player [data-qdl-action-priority=primary]{font-weight:900}
.qdl-lesson-player [data-qdl-action-priority=secondary]{font-weight:800}
.qdl-lesson-player .qdl-quiz-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.qdl-lesson-player .qdl-quiz-result-primary-action-row .qdl-quiz-continue{min-width:230px;min-height:48px;border-radius:15px}
.qdl-lesson-player .qdl-quiz-result-secondary-action{margin-top:12px;padding:14px 16px;border:1px solid rgba(110,73,245,.10);border-radius:18px;background:rgba(255,255,255,.66)}
.qdl-lesson-player .qdl-quiz-result-secondary-action p{margin:0 0 10px;color:#66708b;font-size:12px;font-weight:800;line-height:1.8}
.qdl-lesson-player .qdl-quiz-branch-next-link{min-height:44px;border-radius:14px}
@media(max-width:700px){.qdl-lesson-player .qdl-quiz-result-primary-action-row .qdl-quiz-continue,.qdl-lesson-player .qdl-quiz-branch-next-link{width:100%}}

.qdl-search-limit-note{margin:12px 0;padding:10px 14px;border:1px solid #fde68a;border-radius:14px;background:#fffbeb;color:#7a4a0a;font-size:13px;font-weight:800}


/* Phase 52 — Quiz Next navigation progress experience */
.qdl-lesson-player .qdl-quiz{position:relative}
.qdl-lesson-player .qdl-quiz-navigation-overlay{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:24px;border-radius:26px;background:linear-gradient(135deg,rgba(247,245,255,.94),rgba(240,251,255,.92));backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.qdl-lesson-player .qdl-quiz-navigation-overlay[hidden]{display:none}
.qdl-lesson-player .qdl-quiz-navigation-card{width:min(520px,100%);padding:24px 24px 20px;border:1px solid rgba(110,73,245,.18);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,246,255,.98) 58%,rgba(241,253,249,.98));box-shadow:0 24px 60px rgba(72,52,150,.16),0 0 0 1px rgba(255,255,255,.78) inset;text-align:center;animation:qdl-quiz-navigation-in .24s ease-out}
.qdl-lesson-player .qdl-quiz-navigation-headset{width:min(260px,72vw);margin:0 auto 5px;filter:drop-shadow(0 14px 18px rgba(84,66,168,.18));animation:qdl-quiz-headset-float 2.2s ease-in-out infinite}
.qdl-lesson-player .qdl-quiz-navigation-headset svg{display:block;width:100%;height:auto;overflow:visible}
.qdl-lesson-player .qdl-quiz-navigation-copy{display:grid;gap:6px;margin:4px auto 15px;max-width:440px}
.qdl-lesson-player .qdl-quiz-navigation-copy strong{font-size:17px;line-height:1.75;color:#2f3857;font-weight:1000}
.qdl-lesson-player .qdl-quiz-navigation-copy span{font-size:12px;line-height:1.8;color:#737b92;font-weight:800}
.qdl-lesson-player .qdl-quiz-navigation-progress{height:14px;overflow:hidden;position:relative;border-radius:999px;background:#ebe9f6;box-shadow:inset 0 2px 4px rgba(71,62,112,.07);direction:ltr}
.qdl-lesson-player .qdl-quiz-navigation-progress span{display:block;position:relative;width:8%;height:100%;border-radius:999px;background:linear-gradient(90deg,#6e49f5 0%,#7c63ff 38%,#5b8df5 70%,#0ce084 100%);box-shadow:0 0 20px rgba(110,73,245,.24);transition:width .2s ease}
.qdl-lesson-player .qdl-quiz-navigation-progress span::after{content:"";position:absolute;inset:2px auto 2px 10px;width:42px;border-radius:999px;background:rgba(255,255,255,.64);filter:blur(2px)}
.qdl-lesson-player .qdl-quiz-navigation-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}
.qdl-lesson-player .qdl-quiz-navigation-stages span{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:7px;border-radius:999px;background:#f5f3fb;color:#858ba0;font-size:10px;font-weight:950;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.qdl-lesson-player .qdl-quiz-navigation-stages span i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#d0ccdf;box-shadow:0 0 0 3px rgba(208,204,223,.18)}
.qdl-lesson-player .qdl-quiz-navigation-stages span.is-active{background:#efeaff;color:#6548c7;box-shadow:0 7px 16px rgba(101,72,199,.08);transform:translateY(-1px)}
.qdl-lesson-player .qdl-quiz-navigation-stages span.is-active i{background:#6e49f5;box-shadow:0 0 0 3px rgba(110,73,245,.14)}
.qdl-lesson-player .qdl-quiz-navigation-stages span.is-complete{background:#eafff3;color:#187b55}.qdl-lesson-player .qdl-quiz-navigation-stages span.is-complete i{background:#0ce084;box-shadow:0 0 0 3px rgba(12,224,132,.14)}
@keyframes qdl-quiz-navigation-in{from{opacity:.45;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes qdl-quiz-headset-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:700px){.qdl-lesson-player .qdl-quiz-navigation-card{padding:20px 16px 16px}.qdl-lesson-player .qdl-quiz-navigation-headset{width:210px}.qdl-lesson-player .qdl-quiz-navigation-copy strong{font-size:15px}.qdl-lesson-player .qdl-quiz-navigation-stages{gap:5px}.qdl-lesson-player .qdl-quiz-navigation-stages span{font-size:9px;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.qdl-lesson-player .qdl-quiz-navigation-headset,.qdl-lesson-player .qdl-quiz-navigation-card{animation:none!important}.qdl-lesson-player .qdl-quiz-navigation-progress span,.qdl-lesson-player .qdl-quiz-navigation-stages span{transition:none!important}}
\n/* Phase 53 — Unified Academy loading & transition experience */
.qdl-academy-transition-host{position:relative}
.qdl-academy-transition{position:fixed;inset:var(--qdl-transition-top,0px) var(--qdl-transition-right,0px) var(--qdl-transition-bottom,0px) var(--qdl-transition-left,0px);z-index:9990;display:grid;place-items:center;padding:24px;border-radius:var(--qdl-transition-radius,24px);box-sizing:border-box;overflow:auto;background:linear-gradient(135deg,rgba(247,245,255,.94),rgba(240,251,255,.92));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:qdl-academy-transition-in .22s ease-out}
.qdl-academy-transition[hidden]{display:none}
.qdl-academy-transition-card{width:min(470px,100%);padding:22px 22px 19px;border:1px solid rgba(110,73,245,.16);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(248,246,255,.98) 58%,rgba(241,253,249,.98));box-shadow:0 24px 60px rgba(72,52,150,.16),0 0 0 1px rgba(255,255,255,.78) inset;text-align:center}
.qdl-academy-transition-headset{width:min(205px,70vw);margin:0 auto 3px;filter:drop-shadow(0 14px 18px rgba(84,66,168,.18));animation:qdl-academy-transition-headset-float 2.2s ease-in-out infinite}
.qdl-academy-transition-headset svg{display:block;width:100%;height:auto;overflow:visible}
.qdl-academy-transition-copy{display:grid;gap:5px;max-width:420px;margin:2px auto 14px}
.qdl-academy-transition-copy strong{font-size:16px;line-height:1.75;font-weight:1000;color:#2f3857}
.qdl-academy-transition-copy span{font-size:11px;line-height:1.8;font-weight:800;color:#737b92}
.qdl-academy-transition-progress{height:13px;overflow:hidden;position:relative;border-radius:999px;background:#ebe9f6;box-shadow:inset 0 2px 4px rgba(71,62,112,.07);direction:ltr}
.qdl-academy-transition-progress>span{display:block;position:relative;width:8%;height:100%;border-radius:999px;background:linear-gradient(90deg,#6e49f5 0%,#7c63ff 38%,#5b8df5 70%,#0ce084 100%);box-shadow:0 0 20px rgba(110,73,245,.23);transition:width .24s ease}
.qdl-academy-transition-progress>span::after{content:"";position:absolute;inset:2px auto 2px 10px;width:38px;border-radius:999px;background:rgba(255,255,255,.64);filter:blur(2px)}
.qdl-academy-transition-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.qdl-academy-transition-stages span{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:7px 6px;border-radius:999px;background:#f5f3fb;color:#858ba0;font-size:10px;font-weight:950;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.qdl-academy-transition-stages span i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#d0ccdf;box-shadow:0 0 0 3px rgba(208,204,223,.18)}
.qdl-academy-transition-stages span.is-active{background:#efeaff;color:#6548c7;box-shadow:0 7px 16px rgba(101,72,199,.08);transform:translateY(-1px)}
.qdl-academy-transition-stages span.is-active i{background:#6e49f5;box-shadow:0 0 0 3px rgba(110,73,245,.14)}
.qdl-academy-transition-stages span.is-complete{background:#eafff3;color:#187b55}
.qdl-academy-transition-stages span.is-complete i{background:#0ce084;box-shadow:0 0 0 3px rgba(12,224,132,.14)}
@keyframes qdl-academy-transition-in{from{opacity:.45;transform:translateY(7px) scale(.986)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes qdl-academy-transition-headset-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
.qdl-academy-transition-quizInit .qdl-academy-transition-card{box-shadow:0 24px 60px rgba(84,72,190,.18),0 0 38px rgba(110,73,245,.10)}
.qdl-academy-transition-quizAnswer{padding:14px;background:linear-gradient(135deg,rgba(247,245,255,.92),rgba(240,251,255,.90));}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-card{width:min(360px,100%);padding:15px 15px 12px;border-radius:20px;box-shadow:0 18px 42px rgba(72,52,150,.15)}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-headset{width:min(118px,44vw);margin-bottom:0}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-copy{gap:3px;margin:0 auto 10px}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-copy strong{font-size:14px}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-copy span{font-size:10px}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-progress{height:9px}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-stages{gap:4px;margin-top:9px}
.qdl-academy-transition-quizAnswer .qdl-academy-transition-stages span{padding:5px 4px;font-size:8px}
.qdl-step-card.is-qdl-unlock-reveal{animation:qdl-step-unlock-reveal .82s cubic-bezier(.18,.78,.32,1) both}
@keyframes qdl-step-unlock-reveal{0%{opacity:.86;transform:translateY(10px) scale(.986);box-shadow:0 4px 12px rgba(65,53,125,.05)}45%{opacity:1;transform:translateY(0) scale(1.016);box-shadow:0 0 0 5px rgba(12,224,132,.10),0 18px 34px rgba(76,61,145,.16)}100%{opacity:1;transform:translateY(0) scale(1);box-shadow:0 10px 26px rgba(76,61,145,.08)}}
@media(max-width:700px){.qdl-academy-transition{padding:18px}.qdl-academy-transition-card{padding:19px 15px 15px}.qdl-academy-transition-headset{width:180px}.qdl-academy-transition-copy strong{font-size:14px}.qdl-academy-transition-stages{gap:5px}.qdl-academy-transition-stages span{font-size:9px;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.qdl-academy-transition,.qdl-academy-transition-headset,.qdl-step-card.is-qdl-unlock-reveal{animation:none!important}.qdl-academy-transition-progress>span,.qdl-academy-transition-stages span{transition:none!important}}
@media(max-width:700px){}
@media(prefers-reduced-motion:reduce){}


/* Phase 63 — Deep Lesson Player UX/UI Redesign */
.qdl-lesson-player{--qdl-phase63-purple:#6e49f5;--qdl-phase63-green:#0ce084;--qdl-phase63-orange:#f3a139;--qdl-phase63-blue:#5d88ff}
.qdl-lesson-player .qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:20px 26px 24px;border-radius:30px;background:linear-gradient(135deg,#fff 0%,#f8fbff 47%,#f8f2ff 100%);box-shadow:0 18px 44px rgba(73,54,150,.09)}
.qdl-lesson-player .qdl-breadcrumb{margin-bottom:12px;font-size:12px;color:#69738a}
.qdl-lesson-player .qdl-lesson-identity-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.qdl-lesson-player .qdl-lesson-quest-badge,.qdl-lesson-player .qdl-lesson-step-chip{min-height:34px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}
.qdl-lesson-player .qdl-lesson-quest-badge{background:#f1edff;color:#5b43b1;border:1px solid rgba(110,73,245,.10)}
.qdl-lesson-player .qdl-lesson-step-chip{background:#eafbf4;color:#147a57;border:1px solid rgba(12,224,132,.14)}
.qdl-lesson-player .qdl-lesson-header h2{max-width:900px;font-size:clamp(28px,3vw,38px);letter-spacing:-.02em;margin:14px 0 10px}
.qdl-lesson-player .qdl-lesson-header h2::after{width:70px;height:5px;margin-top:11px}
.qdl-lesson-player .qdl-lesson-intro{max-width:820px;font-size:16px;line-height:2;color:#56617a}
.qdl-lesson-player .qdl-lesson-badges{gap:7px;margin-top:14px}
.qdl-lesson-player .qdl-lesson-badges span{padding:7px 9px;font-size:12px;background:rgba(255,255,255,.88);box-shadow:none}
.qdl-lesson-player .qdl-lesson-progress{margin:16px 0 20px;padding:16px 18px;border-radius:20px;box-shadow:0 10px 25px rgba(73,54,150,.07)}
.qdl-lesson-player .qdl-progress-title{font-size:14px}
.qdl-lesson-player .qdl-progress-subtitle{font-size:13px;color:#5f6a82}
.qdl-lesson-player .qdl-progress-track{height:11px}
.qdl-lesson-player .qdl-lesson-layout{grid-template-columns:294px minmax(0,1fr);gap:22px}
.qdl-lesson-player .qdl-lesson-steps-panel{padding:14px;border-radius:22px;background:linear-gradient(180deg,#fff,#f9f8ff);box-shadow:0 12px 28px rgba(73,54,150,.07)}
.qdl-lesson-player .qdl-lesson-steps-head{margin-bottom:10px;padding:2px 2px 10px}
.qdl-lesson-player .qdl-lesson-steps-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.qdl-lesson-player .qdl-lesson-steps-title strong{font-size:14px}
.qdl-lesson-player .qdl-steps-count{margin-inline-start:auto}
.qdl-lesson-player .qdl-steps-toggle{display:none;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border:1px solid #ded8fa;border-radius:12px;background:#fff;color:#5d46ba;font:inherit;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 5px 12px rgba(73,54,150,.05)}
.qdl-lesson-player .qdl-steps-toggle:hover{border-color:#b8a9f5;background:#faf8ff}
.qdl-lesson-player .qdl-steps-toggle:focus-visible{outline:3px solid rgba(110,73,245,.22);outline-offset:2px}
.qdl-lesson-player .qdl-lesson-steps{gap:7px}
.qdl-lesson-player .qdl-step-nav{min-height:50px;padding:9px 10px;border-radius:15px}
.qdl-lesson-player .qdl-step-nav span:last-child{font-size:12.5px;line-height:1.6}
.qdl-lesson-player .qdl-lesson-main{display:grid;gap:18px;min-width:0}
.qdl-lesson-player .qdl-step-card{padding:30px 32px;border-radius:28px;box-shadow:0 18px 40px rgba(55,48,105,.075)}
.qdl-lesson-player .qdl-step-card h2{max-width:840px;font-size:clamp(24px,2.6vw,33px);margin-bottom:17px}
.qdl-lesson-player .qdl-step-content{max-width:860px;font-size:16.5px;line-height:2.08;color:#3f4a64}
.qdl-lesson-player .qdl-step-content p{margin-top:0;margin-bottom:1.1em}
.qdl-lesson-player .qdl-step-content ul,.qdl-lesson-player .qdl-step-content ol{padding-inline-start:1.25em}
.qdl-lesson-player .qdl-step-actions{margin-top:26px;padding-top:17px}
.qdl-lesson-player .qdl-step-nav-actions{gap:10px}
.qdl-lesson-player .qdl-step-nav-actions .qdl-btn{min-height:49px;border-radius:15px;padding-inline:16px}
.qdl-lesson-player .qdl-step-nav-actions .qdl-step-next{min-width:178px}
.qdl-lesson-player .qdl-quiz{border-radius:28px;box-shadow:0 16px 36px rgba(70,51,141,.075)}
.qdl-lesson-player .qdl-quiz-head{padding:25px 28px 20px}
.qdl-lesson-player .qdl-quiz-title-block h2{font-size:clamp(24px,2.4vw,31px);margin:10px 0 5px}
.qdl-lesson-player .qdl-quiz-title-block p{font-size:13px;line-height:1.85}
.qdl-lesson-player .qdl-quiz-meta-card{min-height:56px;border-radius:15px}
.qdl-lesson-player .qdl-quiz-hud{margin:0 28px 15px;border-radius:19px}
.qdl-lesson-player .qdl-quiz-question{padding:24px;border-radius:23px}
.qdl-lesson-player .qdl-quiz-question-title{font-size:19px;line-height:1.85}
.qdl-lesson-player .qdl-quiz-option{min-height:64px;padding:13px 14px;border-radius:16px}
.qdl-lesson-player .qdl-quiz-option-label{font-size:14px;line-height:1.8}
.qdl-lesson-player .qdl-quiz-option:focus-within{outline:3px solid rgba(110,73,245,.18);outline-offset:2px}
.qdl-lesson-player .qdl-quiz-actions{margin:0 28px;padding:16px 0 24px}
.qdl-lesson-player .qdl-quiz-submit{min-width:210px}
.qdl-lesson-player .qdl-quiz-result{margin:0 28px 28px;padding:24px;border-radius:23px}
.qdl-lesson-player .qdl-quiz-result.is-failed{border-color:#ffd7c9;background:linear-gradient(135deg,#fff 0%,#fff7f3 58%,#fbf9ff 100%)}
.qdl-lesson-player .qdl-quiz-result.is-success{border-color:#d8d0ff;background:linear-gradient(135deg,#fff 0%,#faf8ff 52%,#effff7 100%)}
.qdl-lesson-player .qdl-quiz-result-hero{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}
.qdl-lesson-player .qdl-quiz-result-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,#f2ecff,#e8f7ff);font-size:26px;box-shadow:0 8px 18px rgba(73,54,150,.08)}
.qdl-lesson-player .qdl-quiz-result-score{font-size:clamp(30px,4vw,44px);line-height:1;font-weight:1000;color:#392a84}
.qdl-lesson-player .qdl-quiz-result-title{margin:0;font-size:18px;line-height:1.7;color:#2d3853}
.qdl-lesson-player .qdl-quiz-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}
.qdl-lesson-player .qdl-quiz-result-stat{padding:10px 11px;border:1px solid #e9e4f6;border-radius:14px;background:rgba(255,255,255,.78)}
.qdl-lesson-player .qdl-quiz-result-stat strong{display:block;font-size:15px;color:#34405b}
.qdl-lesson-player .qdl-quiz-result-stat span{display:block;margin-top:3px;font-size:10px;color:#737c92;font-weight:800}
.qdl-lesson-player .qdl-quiz-result-primary-action{margin-top:16px;padding:15px 16px;border-radius:18px}
.qdl-lesson-player .qdl-quiz-remediation{margin-top:16px;padding:18px;border-radius:20px}
.qdl-lesson-player .qdl-quiz-remediation-actions{gap:10px}
.qdl-lesson-player .qdl-lesson-finish,.qdl-lesson-player .qdl-lesson-completion-hero{border-radius:26px}
.qdl-lesson-player .qdl-completion-actions{gap:9px}

@media (max-width:700px){
  .qdl-lesson-player .qdl-lesson-objectives{margin:18px 0 0;padding:18px 20px;border:1px solid #e9e3ff;border-radius:20px;background:linear-gradient(135deg,#fff,#fbfaff);box-shadow:0 8px 20px rgba(51,48,110,.05)}.qdl-lesson-objectives h3{margin:0 0 10px;font-size:18px}.qdl-lesson-objectives ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.qdl-lesson-objectives li{display:flex;gap:9px;align-items:flex-start;line-height:1.8}.qdl-lesson-objectives li span{display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#dcfce7;color:#15803d;font-weight:900;margin-top:2px}
.qdl-lesson-header{padding:18px 16px 20px;border-radius:23px}
  .qdl-lesson-player .qdl-lesson-header h2{font-size:27px}
  .qdl-lesson-player .qdl-lesson-intro{font-size:15px}
  .qdl-lesson-player .qdl-lesson-badges{margin-top:12px}
  .qdl-lesson-player .qdl-lesson-progress{grid-template-columns:minmax(0,1fr) 68px;padding:14px;border-radius:18px}
  .qdl-lesson-player .qdl-lesson-steps-panel{padding:11px;border-radius:19px}
  .qdl-lesson-player .qdl-lesson-steps-head{align-items:center}
  .qdl-lesson-player .qdl-lesson-steps-title{flex:1}
  .qdl-lesson-player .qdl-lesson-steps-title .qdl-steps-count{margin-inline-start:0}
  .qdl-lesson-player .qdl-steps-toggle{display:inline-flex}
  .qdl-lesson-player .qdl-lesson-steps-panel[data-mobile-collapsed="1"] .qdl-lesson-steps{display:none}
  .qdl-lesson-player .qdl-lesson-steps-panel[data-mobile-collapsed="0"] .qdl-lesson-steps{display:grid}
  .qdl-lesson-player .qdl-lesson-steps{grid-template-columns:1fr;padding:2px 0 0}
  .qdl-lesson-player .qdl-step-card{padding:22px 17px;border-radius:22px}
  .qdl-lesson-player .qdl-step-content{font-size:15.5px;line-height:2}
  .qdl-lesson-player .qdl-step-nav-actions{grid-template-columns:1fr;display:grid}
  .qdl-lesson-player .qdl-step-nav-actions .qdl-btn{width:100%;min-width:0}
  .qdl-lesson-player .qdl-step-nav-actions .qdl-step-prev{order:2}
  .qdl-lesson-player .qdl-step-nav-actions .qdl-step-next{order:1}
  .qdl-lesson-player .qdl-quiz-head{padding:21px 18px 17px}
  .qdl-lesson-player .qdl-quiz-meta-strip{padding-inline:18px}
  .qdl-lesson-player .qdl-quiz-hud{margin-inline:18px}
  .qdl-lesson-player .qdl-quiz-questions{padding-inline:18px}
  .qdl-lesson-player .qdl-quiz-question{padding:19px 15px}
  .qdl-lesson-player .qdl-quiz-actions{margin-inline:18px}
  .qdl-lesson-player .qdl-quiz-result{margin-inline:18px}
  .qdl-lesson-player .qdl-quiz-result-hero{grid-template-columns:1fr;gap:9px}
  .qdl-lesson-player .qdl-quiz-result-stats{grid-template-columns:1fr 1fr}
  .qdl-lesson-player .qdl-quiz-result-score{font-size:36px}
}

@media (prefers-reduced-motion:reduce){
  .qdl-lesson-player .qdl-quiz-option input[type="checkbox"].is-qdl-check-pop::after{animation:none!important}
  .qdl-lesson-player .qdl-steps-toggle,.qdl-lesson-player .qdl-step-nav,.qdl-lesson-player .qdl-quiz-option{transition:none!important}
}


/* Phase 72 — distinct multi-select controls and light scoped loading backdrop */
.qdl-lesson-player .qdl-quiz-answer-mode {
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    padding:8px 11px;
    border:1px solid rgba(110,73,245,.12);
    border-radius:12px;
    background:rgba(255,255,255,.72);
    color:#66708b;
    font-size:11px;
    font-weight:900;
}
.qdl-lesson-player .qdl-quiz-answer-mode-mark {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    flex:0 0 22px;
    border-radius:7px;
    background:#eafff6;
    color:#0cae7a;
    font-size:14px;
    line-height:1;
    font-weight:1000;
}
.qdl-lesson-player .qdl-quiz-answer-mode-single .qdl-quiz-answer-mode-mark {
    border-radius:50%;
    background:#f2eeff;
    color:#6e49f5;
    font-size:12px;
}
.qdl-lesson-player .qdl-quiz-option input[type="checkbox"] {
    border-radius:6px;
}
.qdl-lesson-player .qdl-quiz-option input[type="checkbox"]:checked::after {
    content:"✓";
    inset:0;
    display:grid;
    place-items:center;
    background:transparent;
    color:#0cae7a;
    font-size:14px;
    line-height:1;
    font-weight:1000;
    transform:scale(1);
    opacity:1;
}
.qdl-lesson-player .qdl-quiz-option input[type="checkbox"]:checked {
    border-color:#0cae7a;
    background:#e9fff6;
}
.qdl-lesson-player .qdl-academy-transition,
.qdl-lesson-player .qdl-quiz-navigation-overlay {
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}
.qdl-lesson-player .qdl-academy-transition {
    background:linear-gradient(135deg,rgba(247,245,255,.10),rgba(240,251,255,.10));
}
.qdl-lesson-player .qdl-quiz-navigation-overlay {
    background:linear-gradient(135deg,rgba(247,245,255,.10),rgba(240,251,255,.10));
}
.qdl-lesson-player .qdl-academy-transition-quizAnswer {
    background:linear-gradient(135deg,rgba(247,245,255,.10),rgba(240,251,255,.10));
}

.qdl-lesson-player .qdl-quiz-multi-select-count{margin-inline-start:auto;white-space:nowrap;color:#8a93a7;font-size:11px;font-weight:900}
.qdl-lesson-player .qdl-quiz-multi-select-count.is-active{color:#0cae7a}
.qdl-lesson-player .qdl-quiz-question-actions [data-qdl-quiz-next]:disabled{opacity:.65;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.qdl-lesson-player .qdl-quiz-option input[type="checkbox"].is-qdl-check-pop::after{animation:qdlQuizCheckPop .22s ease-out}
@keyframes qdlQuizCheckPop{0%{transform:scale(.68);opacity:.35}60%{transform:scale(1.14);opacity:1}100%{transform:scale(1);opacity:1}}

@media(max-width:700px){
    .qdl-lesson-player .qdl-quiz-answer-mode{font-size:10px;padding:7px 9px}.qdl-lesson-player .qdl-quiz-multi-select-count{font-size:10px}
}

/* Phase 77 — contextual linked action button for any lesson step. */
.qdl-academy-page .qdl-step-action{margin:18px 0 4px}.qdl-academy-page .qdl-step-action-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.qdl-academy-page .qdl-step-action-button{min-width:min(100%,320px);justify-content:center;gap:10px;text-align:center;text-decoration:none;box-shadow:0 10px 24px rgba(74,55,160,.12)}.qdl-academy-page .qdl-step-action-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(74,55,160,.16)}.qdl-academy-page .qdl-step-action-arrow{font-size:15px;line-height:1;transition:transform .18s ease}.qdl-academy-page .qdl-step-action-button:hover .qdl-step-action-arrow,.qdl-academy-page .qdl-step-action-button:focus-visible .qdl-step-action-arrow{transform:translateX(-3px)}.qdl-academy-page .qdl-step-action-secondary{background:#fff!important;color:#4c3fb0!important;border-color:#dcd4f8!important}.qdl-academy-page .qdl-step-action-accent{background:linear-gradient(135deg,#f3a139,#6e49f5)!important;color:#fff!important;border-color:transparent!important}.qdl-academy-page .qdl-step-action-primary{background:linear-gradient(135deg,#6e49f5,#0ce084)!important;color:#fff!important;border-color:transparent!important}@media(max-width:639px){.qdl-academy-page .qdl-step-action-list{display:grid;grid-template-columns:1fr}.qdl-academy-page .qdl-step-action-button{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){.qdl-academy-page .qdl-step-action-button,.qdl-academy-page .qdl-step-action-arrow{transition:none}.qdl-academy-page .qdl-step-action-button:hover{transform:none}}

/* Step CTA icon language and interaction affordance. */
.qdl-academy-page .qdl-step-action-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.qdl-academy-page .qdl-step-action-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 15px;border-radius:14px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.qdl-academy-page .qdl-step-action-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none}
.qdl-academy-page .qdl-step-action-icon svg{width:20px;height:20px}
.qdl-academy-page .qdl-step-action-arrow{opacity:.72;line-height:1}
.qdl-academy-page .qdl-step-action-button:hover,.qdl-academy-page .qdl-step-action-button:focus-visible{transform:translateY(-1px)}
@media (max-width:700px){
  .qdl-academy-page .qdl-step-action-list{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .qdl-academy-page .qdl-step-action-button{width:100%}
}
@media (prefers-reduced-motion: reduce){.qdl-academy-page .qdl-step-action-button{transition:none}.qdl-academy-page .qdl-step-action-button:hover,.qdl-academy-page .qdl-step-action-button:focus-visible{transform:none}}

/* --- design-system.css --- */
/*
 * QuestDL Academy Design System — Phase UI-01
 *
 * This stylesheet is intentionally scoped to Academy-owned roots only.
 * It provides the single visual-token layer for learner, admin and Elementor
 * Academy surfaces without touching the WordPress admin chrome or site-wide CSS.
 */

.qdl-academy-shell,
.qdl-academy-page,
.qdl-lesson-player,
.qdl-academy-admin-root,
.qdl-academy-admin,
.qdl-academy-builder {
    --qdl-color-brand: #6e49f5;
    --qdl-color-brand-strong: #5d3fda;
    --qdl-color-brand-soft: #f2efff;
    --qdl-color-blue: #4f7cff;
    --qdl-color-blue-soft: #eef5ff;
    --qdl-color-teal: #0ce084;
    --qdl-color-teal-strong: #0cae7a;
    --qdl-color-teal-soft: #e9fff6;
    --qdl-color-orange: #f3a139;
    --qdl-color-orange-soft: #fff6e8;

    --qdl-color-text: #283453;
    --qdl-color-text-strong: #24304a;
    --qdl-color-text-muted: #68738d;
    --qdl-color-text-soft: #7c869d;
    --qdl-color-on-brand: #ffffff;

    --qdl-color-surface: #ffffff;
    --qdl-color-surface-soft: #fbfaff;
    --qdl-color-surface-blue: #f7fbff;
    --qdl-color-page: #f7f9ff;
    --qdl-color-border: #e9e5f5;
    --qdl-color-border-strong: #d9d1f8;
    --qdl-color-border-focus: #a98df8;

    --qdl-color-success: #15803d;
    --qdl-color-success-soft: #ecfdf3;
    --qdl-color-success-border: #bbf7d0;
    --qdl-color-warning: #9a6700;
    --qdl-color-warning-soft: #fff8e8;
    --qdl-color-warning-border: #fde68a;
    --qdl-color-danger: #b42318;
    --qdl-color-danger-soft: #fff4f2;
    --qdl-color-danger-border: #f1b4ae;
    --qdl-color-info: #2c62a5;
    --qdl-color-info-soft: #eef7ff;

    --qdl-space-1: 4px;
    --qdl-space-2: 8px;
    --qdl-space-3: 12px;
    --qdl-space-4: 16px;
    --qdl-space-5: 20px;
    --qdl-space-6: 24px;
    --qdl-space-7: 28px;
    --qdl-space-8: 32px;
    --qdl-space-9: 40px;
    --qdl-space-10: 48px;
    --qdl-space-11: 64px;

    --qdl-radius-control: 14px;
    --qdl-radius-small: 12px;
    --qdl-radius-card: 20px;
    --qdl-radius-large: 24px;
    --qdl-radius-hero: 28px;
    --qdl-radius-pill: 999px;

    --qdl-shadow-1: 0 6px 18px rgba(73, 54, 150, .06);
    --qdl-shadow-2: 0 12px 28px rgba(73, 54, 150, .08);
    --qdl-shadow-3: 0 18px 42px rgba(73, 54, 150, .10);
    --qdl-shadow-focus: 0 0 0 4px rgba(110, 73, 245, .14);
    --qdl-shadow-primary: 0 10px 24px rgba(110, 73, 245, .20);

    --qdl-type-display: clamp(30px, 4vw, 48px);
    --qdl-type-title: clamp(26px, 3.2vw, 40px);
    --qdl-type-section: 20px;
    --qdl-type-card: 17px;
    --qdl-type-body-lg: 17px;
    --qdl-type-body: 15px;
    --qdl-type-small: 13px;
    --qdl-type-caption: 12px;

    --qdl-control-height: 46px;
    --qdl-transition-fast: 160ms ease;
    --qdl-transition-base: 180ms ease;

    /* Backward-compatible aliases: existing Academy component CSS consumes these names. */
    --qdl-purple: var(--qdl-color-brand);
    --qdl-purple-2: var(--qdl-color-brand-strong);
    --qdl-blue: var(--qdl-color-blue);
    --qdl-teal: var(--qdl-color-teal);
    --qdl-yellow: var(--qdl-color-orange);
    --qdl-ink: var(--qdl-color-text-strong);
    --qdl-muted: var(--qdl-color-text-muted);

    /* Builder aliases preserve existing authoring CSS while converging on one palette. */
    --qdl-admin-purple: var(--qdl-color-brand);
    --qdl-admin-purple-dark: var(--qdl-color-brand-strong);
    --qdl-admin-purple-soft: var(--qdl-color-brand-soft);
    --qdl-admin-border: var(--qdl-color-border);
    --qdl-admin-border-strong: var(--qdl-color-border-strong);
    --qdl-admin-text: var(--qdl-color-text);
    --qdl-admin-muted: var(--qdl-color-text-muted);
    --qdl-admin-success: var(--qdl-color-success);
    --qdl-admin-danger: var(--qdl-color-danger);
}

.qdl-academy-shell,
.qdl-academy-page,
.qdl-lesson-player,
.qdl-academy-admin-root,
.qdl-academy-admin,
.qdl-academy-builder {
    color: var(--qdl-color-text);
    font-family: inherit;
}

/* Keep Academy surfaces visually light and predictable. */
.qdl-academy-shell,
.qdl-academy-page,
.qdl-lesson-player {
    color-scheme: light;
}

/* Typography scale. */
.qdl-academy-shell h2,
.qdl-academy-page h2,
.qdl-lesson-player .qdl-lesson-header h2 {
    color: var(--qdl-color-text-strong);
}

.qdl-academy-shell p,
.qdl-academy-page p,
.qdl-lesson-player .qdl-lesson-intro,
.qdl-lesson-player .qdl-step-content {
    color: var(--qdl-color-text-muted);
}

/* Canonical buttons: one visual grammar, five intentional roles. */
.qdl-academy-shell .qdl-btn,
.qdl-academy-page .qdl-btn,
.qdl-lesson-player .qdl-btn,
.qdl-academy-page .qdl-step-action-button {
    min-height: var(--qdl-control-height);
    padding: 11px 18px;
    border-radius: var(--qdl-radius-control);
    border: 1px solid transparent;
    font: inherit;
    font-size: var(--qdl-type-body);
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: 0;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform var(--qdl-transition-base), box-shadow var(--qdl-transition-base), background var(--qdl-transition-base), border-color var(--qdl-transition-base);
}

.qdl-academy-shell .qdl-btn-primary,
.qdl-academy-page .qdl-btn-primary,
.qdl-lesson-player .qdl-btn-primary,
.qdl-academy-page .qdl-step-action-primary {
    background: linear-gradient(135deg, var(--qdl-color-brand), var(--qdl-color-blue));
    color: var(--qdl-color-on-brand);
    border-color: transparent;
    box-shadow: var(--qdl-shadow-primary);
}

.qdl-academy-shell .qdl-btn-primary:hover,
.qdl-academy-page .qdl-btn-primary:hover,
.qdl-lesson-player .qdl-btn-primary:hover,
.qdl-academy-page .qdl-step-action-primary:hover {
    box-shadow: 0 13px 28px rgba(110, 73, 245, .24);
    transform: translateY(-1px);
}

.qdl-academy-shell .qdl-btn-secondary,
.qdl-academy-page .qdl-btn-secondary,
.qdl-lesson-player .qdl-btn-secondary,
.qdl-academy-page .qdl-step-action-secondary {
    background: var(--qdl-color-surface);
    color: var(--qdl-color-brand-strong);
    border-color: var(--qdl-color-border-strong);
    box-shadow: none;
}

.qdl-academy-shell .qdl-btn-secondary:hover,
.qdl-academy-page .qdl-btn-secondary:hover,
.qdl-lesson-player .qdl-btn-secondary:hover,
.qdl-academy-page .qdl-step-action-secondary:hover {
    background: var(--qdl-color-brand-soft);
    border-color: var(--qdl-color-border-focus);
    transform: translateY(-1px);
}

.qdl-academy-page .qdl-step-action-accent {
    background: linear-gradient(135deg, var(--qdl-color-orange), var(--qdl-color-brand)) !important;
    color: var(--qdl-color-on-brand) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 24px rgba(243, 161, 57, .18);
}

.qdl-academy-page .qdl-step-action-icon {
    width: 20px;
    height: 20px;
}

.qdl-academy-page .qdl-step-action-button:hover {
    box-shadow: var(--qdl-shadow-primary);
}

/* Canonical controls. */
.qdl-academy-admin-root input:not([type="checkbox"]):not([type="radio"]),
.qdl-academy-admin-root select,
.qdl-academy-admin-root textarea,
.qdl-academy-builder input:not([type="checkbox"]):not([type="radio"]),
.qdl-academy-builder select,
.qdl-academy-builder textarea {
    border: 1px solid #d7dced;
    border-radius: var(--qdl-radius-control);
    background: var(--qdl-color-surface);
    color: var(--qdl-color-text);
    box-shadow: 0 1px 1px rgba(57, 65, 101, .03);
    min-height: var(--qdl-control-height);
    font: inherit;
}

.qdl-academy-admin-root input:not([type="checkbox"]):not([type="radio"]):focus,
.qdl-academy-admin-root select:focus,
.qdl-academy-admin-root textarea:focus,
.qdl-academy-builder input:not([type="checkbox"]):not([type="radio"]):focus,
.qdl-academy-builder select:focus,
.qdl-academy-builder textarea:focus {
    border-color: var(--qdl-color-border-focus);
    box-shadow: var(--qdl-shadow-focus);
    outline: 0;
}

/* WordPress buttons remain WordPress controls outside Academy roots. */
.qdl-academy-admin-root .button,
.qdl-academy-admin .button,
.qdl-academy-builder .button {
    min-height: var(--qdl-control-height);
    padding: 9px 16px;
    border-radius: var(--qdl-radius-control);
    font: inherit;
    font-weight: 750;
    line-height: 1.35;
    box-sizing: border-box;
    transition: transform var(--qdl-transition-base), box-shadow var(--qdl-transition-base), background var(--qdl-transition-base), border-color var(--qdl-transition-base);
}

.qdl-academy-admin-root .button-primary,
.qdl-academy-admin .button-primary,
.qdl-academy-builder .button-primary {
    background: linear-gradient(135deg, var(--qdl-color-brand), var(--qdl-color-blue));
    border-color: transparent;
    color: var(--qdl-color-on-brand);
    box-shadow: var(--qdl-shadow-primary);
    text-shadow: none;
}

.qdl-academy-admin-root .button-primary:hover,
.qdl-academy-admin-root .button-primary:focus,
.qdl-academy-admin .button-primary:hover,
.qdl-academy-admin .button-primary:focus,
.qdl-academy-builder .button-primary:hover,
.qdl-academy-builder .button-primary:focus {
    background: linear-gradient(135deg, var(--qdl-color-brand-strong), var(--qdl-color-blue));
    border-color: transparent;
    color: var(--qdl-color-on-brand);
    transform: translateY(-1px);
    box-shadow: 0 13px 28px rgba(110, 73, 245, .24);
}

.qdl-academy-admin-root .button-secondary,
.qdl-academy-admin .button-secondary,
.qdl-academy-builder .button-secondary {
    background: var(--qdl-color-surface);
    border-color: var(--qdl-color-border-strong);
    color: var(--qdl-color-brand-strong);
    box-shadow: none;
}

.qdl-academy-admin-root .button-secondary:hover,
.qdl-academy-admin-root .button-secondary:focus,
.qdl-academy-admin .button-secondary:hover,
.qdl-academy-admin .button-secondary:focus,
.qdl-academy-builder .button-secondary:hover,
.qdl-academy-builder .button-secondary:focus {
    background: var(--qdl-color-brand-soft);
    border-color: var(--qdl-color-border-focus);
    color: var(--qdl-color-brand-strong);
}

.qdl-academy-admin-root .button-link-delete,
.qdl-academy-admin .button-link-delete,
.qdl-academy-builder .button-link-delete,
.qdl-academy-admin-root .qdl-danger,
.qdl-academy-admin .qdl-danger,
.qdl-academy-builder .qdl-danger {
    color: var(--qdl-color-danger) !important;
}

/* Shared surface grammar. */
.qdl-academy-shell .qdl-stat-card,
.qdl-academy-shell .qdl-lesson-progress,
.qdl-academy-page .qdl-product-card,
.qdl-academy-page .qdl-lesson-objectives,
.qdl-lesson-player .qdl-step-card,
.qdl-lesson-player .qdl-quiz-question,
.qdl-academy-admin-root .qdl-academy-card,
.qdl-academy-admin-root .qdl-academy-hero,
.qdl-academy-admin-root .qdl-academy-builder,
.qdl-academy-admin-root .qdl-step-builder-card,
.qdl-academy-admin-root .qdl-question-builder-card {
    background: var(--qdl-color-surface);
}

.qdl-academy-admin-root .qdl-academy-card,
.qdl-academy-admin-root .qdl-step-builder-card,
.qdl-academy-admin-root .qdl-question-builder-card {
    border-color: var(--qdl-color-border);
    border-radius: var(--qdl-radius-card);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-academy-admin-root .qdl-academy-hero,
.qdl-academy-admin-root .qdl-academy-builder {
    border-color: var(--qdl-color-border-strong);
    border-radius: var(--qdl-radius-hero);
    box-shadow: var(--qdl-shadow-2);
}

/* Status / badge language. */
.qdl-academy-shell .qdl-academy-pill,
.qdl-academy-page .qdl-lesson-badges span,
.qdl-lesson-player .qdl-step-type,
.qdl-lesson-player .qdl-step-counter,
.qdl-academy-admin-root .qdl-academy-status,
.qdl-academy-admin-root .qdl-academy-health-pill {
    border-radius: var(--qdl-radius-pill);
}

.qdl-academy-admin-root .qdl-academy-status-draft {
    background: var(--qdl-color-orange-soft);
    color: var(--qdl-color-warning);
}
.qdl-academy-admin-root .qdl-academy-status-future {
    background: var(--qdl-color-success-soft);
    color: var(--qdl-color-success);
}
.qdl-academy-admin-root .qdl-academy-status-pending {
    background: var(--qdl-color-info-soft);
    color: var(--qdl-color-info);
}
.qdl-academy-admin-root .qdl-academy-status-private {
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
}

/* Focus is consistent across every Academy-owned interactive surface. */
.qdl-academy-shell a:focus-visible,
.qdl-academy-shell button:focus-visible,
.qdl-academy-shell input:focus-visible,
.qdl-academy-shell select:focus-visible,
.qdl-academy-shell textarea:focus-visible,
.qdl-academy-page a:focus-visible,
.qdl-academy-page button:focus-visible,
.qdl-academy-page input:focus-visible,
.qdl-academy-page select:focus-visible,
.qdl-academy-page textarea:focus-visible,
.qdl-lesson-player a:focus-visible,
.qdl-lesson-player button:focus-visible,
.qdl-lesson-player input:focus-visible,
.qdl-lesson-player select:focus-visible,
.qdl-lesson-player textarea:focus-visible,
.qdl-academy-admin-root a:focus-visible,
.qdl-academy-admin-root button:focus-visible,
.qdl-academy-admin-root input:focus-visible,
.qdl-academy-admin-root select:focus-visible,
.qdl-academy-admin-root textarea:focus-visible,
.qdl-academy-builder a:focus-visible,
.qdl-academy-builder button:focus-visible,
.qdl-academy-builder input:focus-visible,
.qdl-academy-builder select:focus-visible,
.qdl-academy-builder textarea:focus-visible {
    outline: 3px solid var(--qdl-color-border-focus);
    outline-offset: 3px;
    box-shadow: var(--qdl-shadow-focus);
}

/* Reduce accumulated micro-movements: hover feedback stays clear but subtle. */
.qdl-academy-shell .qdl-btn:hover,
.qdl-academy-page .qdl-btn:hover,
.qdl-lesson-player .qdl-btn:hover,
.qdl-academy-page .qdl-step-action-button:hover,
.qdl-academy-admin-root .button:hover,
.qdl-academy-builder .button:hover {
    transition-duration: var(--qdl-transition-fast);
}

@media (max-width: 700px) {
    .qdl-academy-shell .qdl-btn,
    .qdl-academy-page .qdl-btn,
    .qdl-lesson-player .qdl-btn,
    .qdl-academy-page .qdl-step-action-button,
    .qdl-academy-admin-root .button,
    .qdl-academy-builder .button {
        min-height: 46px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qdl-academy-shell *,
    .qdl-academy-page *,
    .qdl-lesson-player *,
    .qdl-academy-admin-root *,
    .qdl-academy-builder * {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }

    .qdl-academy-shell .qdl-btn:hover,
    .qdl-academy-page .qdl-btn:hover,
    .qdl-lesson-player .qdl-btn:hover,
    .qdl-academy-page .qdl-step-action-button:hover,
    .qdl-academy-admin-root .button:hover,
    .qdl-academy-builder .button:hover {
        transform: none;
    }
}


/* Main learner surfaces converge on the shared geometry/shadow scale. */
.qdl-lesson-player .qdl-lesson-header,
.qdl-lesson-player .qdl-quiz {
    border-radius: var(--qdl-radius-hero);
    box-shadow: var(--qdl-shadow-3);
}

.qdl-lesson-player .qdl-lesson-progress,
.qdl-lesson-player .qdl-lesson-objectives,
.qdl-lesson-player .qdl-lesson-steps-panel,
.qdl-lesson-player .qdl-step-card,
.qdl-lesson-player .qdl-quiz-hud {
    border-radius: var(--qdl-radius-large);
    box-shadow: var(--qdl-shadow-2);
}

.qdl-lesson-player .qdl-step-nav,
.qdl-lesson-player .qdl-quiz-meta-card,
.qdl-lesson-player .qdl-quiz-question,
.qdl-academy-page .qdl-product-card {
    border-radius: var(--qdl-radius-card);
}

.qdl-lesson-player .qdl-step-nav span:first-child,
.qdl-lesson-player .qdl-step-type,
.qdl-lesson-player .qdl-step-counter,
.qdl-lesson-player .qdl-quiz-kicker,
.qdl-lesson-player .qdl-steps-count {
    border-radius: var(--qdl-radius-pill);
}

.qdl-lesson-player .qdl-step-card h2,
.qdl-lesson-player .qdl-quiz-title-block h2,
.qdl-academy-admin-root .qdl-academy-card h2,
.qdl-academy-admin-root .qdl-academy-section-heading h2 {
    color: var(--qdl-color-text-strong);
}

.qdl-academy-admin-root .qdl-academy-hero-badge,
.qdl-academy-admin-root .qdl-academy-status,
.qdl-academy-admin-root .qdl-academy-health-pill {
    border-radius: var(--qdl-radius-pill);
}

/* --- lesson-player.css --- */
/*
 * QuestDL Academy — Phase UI-02 — Lesson Player Visual Architecture
 *
 * Scope: learner Lesson Player only.
 * Purpose: establish a calmer visual hierarchy for the header, progress,
 * learning journey, active step and navigation without changing runtime logic.
 */

.qdl-lesson-player {
    --qdl-lp-header-bg: linear-gradient(135deg, var(--qdl-color-surface) 0%, #f8f5ff 54%, #f0fbff 100%);
    --qdl-lp-panel-bg: linear-gradient(180deg, #ffffff 0%, #fbfbff 100%);
    --qdl-lp-step-active-bg: linear-gradient(135deg, #f7f3ff 0%, #f1fbff 100%);
    --qdl-lp-step-done-bg: linear-gradient(135deg, #f3fff9 0%, #fbfdff 100%);
    --qdl-lp-track: #e9e5f6;
    --qdl-lp-content-width: 900px;
    --qdl-lp-sidebar-width: 286px;
}

/* Lesson header: less decoration, clearer reading order. */
.qdl-lesson-player .qdl-lesson-header {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: var(--qdl-space-7) var(--qdl-space-8) var(--qdl-space-8);
    border: 1px solid rgba(110, 73, 245, .12);
    border-radius: var(--qdl-radius-hero);
    background: var(--qdl-lp-header-bg);
    box-shadow: var(--qdl-shadow-3);
}

.qdl-lesson-player .qdl-lesson-header::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: min(52%, 520px);
    height: 4px;
    background: linear-gradient(90deg, var(--qdl-color-brand), var(--qdl-color-blue), var(--qdl-color-teal));
    opacity: .9;
}

.qdl-lesson-player .qdl-lesson-header::after {
    content: "";
    position: absolute;
    inset: auto -90px -90px auto;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(110, 73, 245, .08), transparent 68%);
    pointer-events: none;
}

.qdl-lesson-player .qdl-hero-glow,
.qdl-lesson-player .qdl-lesson-hero-glow {
    pointer-events: none;
}

.qdl-lesson-player .qdl-breadcrumb {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: var(--qdl-space-2);
    margin: 0 0 var(--qdl-space-5);
    padding: 0;
    color: var(--qdl-color-text-soft);
    font-size: var(--qdl-type-caption);
}

.qdl-lesson-player .qdl-breadcrumb a {
    color: var(--qdl-color-brand-strong);
    font-weight: 850;
}

.qdl-lesson-player .qdl-lesson-header-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 172px;
    gap: var(--qdl-space-8);
    align-items: center;
}

.qdl-lesson-player .qdl-lesson-header-copy {
    min-width: 0;
    max-width: var(--qdl-lp-content-width);
}

.qdl-lesson-player .qdl-lesson-identity-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--qdl-space-2);
    margin: 0 0 var(--qdl-space-4);
}

.qdl-lesson-player .qdl-lesson-quest-badge,
.qdl-lesson-player .qdl-lesson-step-chip {
    min-height: 34px;
    padding: 7px 11px;
    border-radius: var(--qdl-radius-pill);
    border: 1px solid rgba(110, 73, 245, .10);
    font-size: var(--qdl-type-caption);
    font-weight: 900;
}

.qdl-lesson-player .qdl-lesson-quest-badge {
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
}

.qdl-lesson-player .qdl-lesson-step-chip {
    background: var(--qdl-color-teal-soft);
    border-color: rgba(12, 224, 132, .16);
    color: #147a57;
}

.qdl-lesson-player .qdl-lesson-header h2 {
    max-width: var(--qdl-lp-content-width);
    margin: 0;
    color: var(--qdl-color-text-strong);
    font-size: clamp(30px, 3.35vw, 44px);
    line-height: 1.28;
    letter-spacing: -.025em;
}

.qdl-lesson-player .qdl-lesson-header h2::after {
    content: "";
    display: block;
    width: 64px;
    height: 5px;
    margin-top: var(--qdl-space-4);
    border-radius: var(--qdl-radius-pill);
    background: linear-gradient(90deg, var(--qdl-color-brand), var(--qdl-color-blue));
}

.qdl-lesson-player .qdl-lesson-intro {
    max-width: var(--qdl-lp-content-width);
    margin-top: var(--qdl-space-4);
    color: var(--qdl-color-text-muted);
    font-size: var(--qdl-type-body-lg);
    line-height: 2;
}

.qdl-lesson-player .qdl-lesson-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--qdl-space-2);
    margin-top: var(--qdl-space-5);
}

.qdl-lesson-player .qdl-lesson-badges span {
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid rgba(110, 73, 245, .09);
    border-radius: var(--qdl-radius-pill);
    background: rgba(255, 255, 255, .82);
    color: var(--qdl-color-text-muted);
    box-shadow: none;
    font-size: var(--qdl-type-caption);
    font-weight: 850;
}

.qdl-lesson-player .qdl-lesson-badges span b {
    color: var(--qdl-color-brand);
}

/* Learning objectives become a quiet summary instead of another hero card. */
.qdl-lesson-player .qdl-lesson-objectives {
    max-width: var(--qdl-lp-content-width);
    margin: var(--qdl-space-6) 0 0;
    padding: var(--qdl-space-5);
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-card);
    background: rgba(255, 255, 255, .72);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-lesson-objectives h3 {
    margin: 0 0 var(--qdl-space-3);
    color: var(--qdl-color-text-strong);
    font-size: 15px;
    font-weight: 950;
}

.qdl-lesson-player .qdl-lesson-objectives ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--qdl-space-2) var(--qdl-space-4);
}

.qdl-lesson-player .qdl-lesson-objectives li {
    gap: var(--qdl-space-2);
    color: var(--qdl-color-text);
    font-size: 13px;
    line-height: 1.85;
}

.qdl-lesson-player .qdl-lesson-objectives li span {
    width: 23px;
    height: 23px;
    flex-basis: 23px;
    margin-top: 2px;
    background: var(--qdl-color-success-soft);
    color: var(--qdl-color-success);
}

/* Decorative orbit is retained, but becomes a secondary visual anchor. */
.qdl-lesson-player .qdl-lesson-hero-orbit {
    width: 158px;
    height: 158px;
    margin: 0 auto;
    opacity: .96;
    transform: translateY(2px);
}

.qdl-lesson-player .qdl-lesson-hero-orbit::before {
    inset: 11px;
    border-radius: 36%;
    background: linear-gradient(145deg, #8661f3, #5e87f4);
    box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .54), 0 20px 38px rgba(82, 66, 171, .17);
}

.qdl-lesson-player .qdl-lesson-hero-orbit::after {
    border-color: rgba(110, 73, 245, .17);
    box-shadow: 0 0 0 9px rgba(255, 255, 255, .32), 0 0 32px rgba(110, 73, 245, .06);
}

.qdl-lesson-player .qdl-lesson-hero-orbit-core {
    width: 94px;
    height: 94px;
    border-radius: 28px;
    font-size: 48px;
    box-shadow: 0 16px 28px rgba(41, 39, 87, .14), inset 0 0 0 1px rgba(110, 73, 245, .07);
}

.qdl-lesson-player .qdl-lesson-hero-orbit > span {
    width: 31px;
    height: 31px;
    font-size: 15px;
}

.qdl-lesson-player .qdl-lesson-orbit-caption {
    min-width: 72px;
    padding: 7px 8px;
    border-radius: 12px;
    box-shadow: 0 9px 18px rgba(65, 53, 125, .10);
}

/* Progress becomes the single primary progress signal. */
.qdl-lesson-player .qdl-lesson-progress {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    gap: var(--qdl-space-4);
    align-items: center;
    margin: var(--qdl-space-5) 0 var(--qdl-space-6);
    padding: var(--qdl-space-5) var(--qdl-space-6);
    overflow: hidden;
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-large);
    background: rgba(255, 255, 255, .92);
    box-shadow: var(--qdl-shadow-2);
}

.qdl-lesson-player .qdl-lesson-progress::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, var(--qdl-color-brand), var(--qdl-color-blue), var(--qdl-color-teal));
}

.qdl-lesson-player .qdl-progress-copy {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.qdl-lesson-player .qdl-progress-title {
    display: flex;
    align-items: center;
    gap: var(--qdl-space-2);
    color: var(--qdl-color-text-strong);
    font-size: 14px;
    font-weight: 950;
}

.qdl-lesson-player .qdl-progress-title > span:first-child {
    color: var(--qdl-color-brand);
}

.qdl-lesson-player .qdl-progress-subtitle {
    color: var(--qdl-color-text-muted);
    font-size: 12px;
    font-weight: 750;
}

.qdl-lesson-player .qdl-progress-track {
    grid-column: 1 / -1;
    height: 10px;
    background: var(--qdl-lp-track);
    border-radius: var(--qdl-radius-pill);
}

.qdl-lesson-player .qdl-progress-track span {
    background: linear-gradient(90deg, var(--qdl-color-brand), var(--qdl-color-blue), var(--qdl-color-teal));
    box-shadow: 0 0 14px rgba(110, 73, 245, .14);
}

.qdl-lesson-player .qdl-progress-ring {
    width: 64px;
    height: 64px;
    background: conic-gradient(var(--qdl-color-brand) var(--qdl-progress), #ebe8f8 0);
    box-shadow: 0 8px 18px rgba(93, 72, 171, .08);
}

.qdl-lesson-player .qdl-progress-ring-value {
    font-size: 13px;
    font-weight: 950;
    color: var(--qdl-color-brand-strong);
}

/* Two-column learner workspace. Sidebar reads as a journey navigator, not a toolbox. */
.qdl-lesson-player .qdl-lesson-layout {
    display: grid;
    grid-template-columns: var(--qdl-lp-sidebar-width) minmax(0, 1fr);
    gap: var(--qdl-space-6);
    align-items: start;
}

.qdl-lesson-player .qdl-lesson-steps-panel {
    position: sticky;
    top: 20px;
    z-index: 4;
    padding: var(--qdl-space-4);
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-large);
    background: var(--qdl-lp-panel-bg);
    box-shadow: var(--qdl-shadow-2);
    backdrop-filter: blur(10px);
}

.qdl-lesson-player .qdl-lesson-steps-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qdl-space-3);
    margin: 0 0 var(--qdl-space-3);
    padding: 0 0 var(--qdl-space-3);
    border-bottom: 1px solid var(--qdl-color-border);
}

.qdl-lesson-player .qdl-lesson-steps-title {
    min-width: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--qdl-space-2);
}

.qdl-lesson-player .qdl-steps-eyebrow {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 11px;
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
    font-size: 14px;
}

.qdl-lesson-player .qdl-lesson-steps-title strong {
    color: var(--qdl-color-text-strong);
    font-size: 14px;
    font-weight: 950;
}

.qdl-lesson-player .qdl-steps-count {
    margin-inline-start: auto;
    padding: 5px 8px;
    background: var(--qdl-color-surface-blue);
    color: var(--qdl-color-text-muted);
    font-size: 11px;
    font-weight: 850;
}

.qdl-lesson-player .qdl-lesson-steps {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.qdl-lesson-player .qdl-lesson-steps::before {
    content: "";
    position: absolute;
    inset-block: 17px;
    inset-inline-start: 15px;
    width: 2px;
    border-radius: var(--qdl-radius-pill);
    background: linear-gradient(180deg, #ddd6fb 0%, #dceef8 72%, #dbf4e9 100%);
    pointer-events: none;
}

.qdl-lesson-player .qdl-step-nav {
    position: relative;
    z-index: 1;
    min-height: 50px;
    padding: 9px 10px;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: var(--qdl-radius-small);
    background: rgba(255, 255, 255, .84);
    color: var(--qdl-color-text);
    box-shadow: none;
    transition: transform var(--qdl-transition-fast), box-shadow var(--qdl-transition-fast), border-color var(--qdl-transition-fast), background var(--qdl-transition-fast);
}

.qdl-lesson-player .qdl-step-nav span:first-child {
    width: 31px;
    height: 31px;
    flex-basis: 31px;
    border: 1px solid rgba(110, 73, 245, .08);
    border-radius: 10px;
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
    box-shadow: none;
    font-size: 12px;
}

.qdl-lesson-player .qdl-step-nav span:last-child {
    color: var(--qdl-color-text);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.65;
}

.qdl-lesson-player .qdl-step-nav:hover {
    transform: translateX(-2px);
    border-color: var(--qdl-color-border-strong);
    background: var(--qdl-color-surface);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-step-nav.is-active {
    border-color: rgba(110, 73, 245, .28);
    background: var(--qdl-lp-step-active-bg);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-step-nav.is-active::after {
    content: "";
    position: absolute;
    inset-block: 9px;
    inset-inline-start: 3px;
    width: 3px;
    border-radius: var(--qdl-radius-pill);
    background: linear-gradient(180deg, var(--qdl-color-brand), var(--qdl-color-blue));
}

.qdl-lesson-player .qdl-step-nav.is-active span:first-child {
    border-color: rgba(110, 73, 245, .20);
    background: var(--qdl-color-brand);
    color: var(--qdl-color-on-brand);
    box-shadow: 0 7px 14px rgba(110, 73, 245, .16);
}

.qdl-lesson-player .qdl-step-nav.is-complete {
    border-color: rgba(21, 128, 61, .12);
    background: var(--qdl-lp-step-done-bg);
}

.qdl-lesson-player .qdl-step-nav.is-complete span:first-child {
    border-color: transparent;
    background: var(--qdl-color-success-soft);
    color: var(--qdl-color-success);
}

.qdl-lesson-player .qdl-step-nav.is-locked {
    opacity: .62;
    cursor: not-allowed;
}

.qdl-lesson-player .qdl-step-nav.is-locked span:first-child {
    background: #f1f1f7;
    border-color: #e4e4eb;
    color: var(--qdl-color-text-soft);
}

/* Main content: one dominant surface with readable measure. */
.qdl-lesson-player .qdl-lesson-main {
    display: grid;
    gap: var(--qdl-space-5);
    min-width: 0;
}

.qdl-lesson-player .qdl-step-card {
    position: relative;
    overflow: hidden;
    padding: var(--qdl-space-8);
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-hero);
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
    box-shadow: var(--qdl-shadow-3);
}

.qdl-lesson-player .qdl-step-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--qdl-color-brand), var(--qdl-color-blue), var(--qdl-color-teal));
    opacity: .82;
}

.qdl-lesson-player .qdl-step-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qdl-space-3);
    margin: 0 0 var(--qdl-space-2);
}

.qdl-lesson-player .qdl-step-type,
.qdl-lesson-player .qdl-step-counter {
    min-height: 28px;
    padding: 5px 9px;
    border-radius: var(--qdl-radius-pill);
    font-size: 11px;
    font-weight: 900;
}

.qdl-lesson-player .qdl-step-type {
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
}

.qdl-lesson-player .qdl-step-counter {
    background: var(--qdl-color-surface-blue);
    color: var(--qdl-color-text-muted);
}

.qdl-lesson-player .qdl-step-card h2 {
    max-width: var(--qdl-lp-content-width);
    margin: 14px 0 var(--qdl-space-5);
    color: var(--qdl-color-text-strong);
    font-size: clamp(25px, 2.55vw, 34px);
    line-height: 1.4;
}

.qdl-lesson-player .qdl-step-content {
    max-width: var(--qdl-lp-content-width);
    color: #3f4a64;
    font-size: 16.5px;
    line-height: 2.08;
}

.qdl-lesson-player .qdl-step-content h3,
.qdl-lesson-player .qdl-step-content h4 {
    color: var(--qdl-color-text-strong);
}

.qdl-lesson-player .qdl-step-actions {
    display: flex;
    flex-direction: column;
    gap: var(--qdl-space-3);
    margin-top: var(--qdl-space-7);
    padding-top: var(--qdl-space-5);
    border-top: 1px solid var(--qdl-color-border);
}

.qdl-lesson-player .qdl-step-nav-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--qdl-space-3);
    min-height: 48px;
}

.qdl-lesson-player .qdl-step-nav-actions .qdl-btn {
    min-height: 48px;
    border-radius: var(--qdl-radius-control);
    padding-inline: var(--qdl-space-5);
}

.qdl-lesson-player .qdl-step-nav-actions .qdl-step-next {
    min-width: 180px;
}

.qdl-lesson-player .qdl-step-status {
    width: 100%;
    min-height: 20px;
    color: var(--qdl-color-text-muted);
    font-size: 12px;
    font-weight: 800;
}

.qdl-lesson-player .qdl-step-status.is-success {
    color: var(--qdl-color-success);
}

.qdl-lesson-player .qdl-step-status.is-error {
    color: var(--qdl-color-danger);
}

/* Commerce placed before the active step must stay visually secondary. */
.qdl-lesson-player .qdl-lesson-main > .qdl-academy-commerce:first-child,
.qdl-lesson-player .qdl-lesson-main > .qdl-login-banner:first-child {
    margin-top: 0;
}

/* Tablet: preserve a genuine learning workspace instead of stacking the Step Map below it. */
@media (min-width: 700px) and (max-width: 1023px) {
    .qdl-lesson-player .qdl-lesson-header-grid {
        grid-template-columns: minmax(0, 1fr) 132px;
        gap: var(--qdl-space-6);
    }

    .qdl-lesson-player .qdl-lesson-hero-orbit {
        width: 126px;
        height: 126px;
    }

    .qdl-lesson-player .qdl-lesson-hero-orbit-core {
        width: 76px;
        height: 76px;
        font-size: 40px;
        border-radius: 24px;
    }

    .qdl-lesson-player .qdl-lesson-layout {
        grid-template-columns: 236px minmax(0, 1fr);
        gap: var(--qdl-space-4);
    }

    .qdl-lesson-player .qdl-lesson-steps-panel {
        position: sticky;
        top: 16px;
    }

    .qdl-lesson-player .qdl-lesson-steps::before {
        inset-inline-start: 14px;
    }

    .qdl-lesson-player .qdl-step-card {
        padding: var(--qdl-space-7);
    }
}

/* Mobile: compact hero, collapsed Step Map, full-width primary action. */
@media (max-width: 699px) {
    .qdl-lesson-player .qdl-lesson-header {
        padding: var(--qdl-space-6) var(--qdl-space-5) var(--qdl-space-6);
        border-radius: var(--qdl-radius-large);
    }

    .qdl-lesson-player .qdl-breadcrumb {
        margin-bottom: var(--qdl-space-4);
    }

    .qdl-lesson-player .qdl-lesson-header-grid {
        grid-template-columns: 1fr;
        gap: var(--qdl-space-5);
    }

    .qdl-lesson-player .qdl-lesson-hero-orbit {
        width: 112px;
        height: 112px;
        grid-row: 1;
        margin-inline: auto;
    }

    .qdl-lesson-player .qdl-lesson-header-copy {
        grid-row: 2;
    }

    .qdl-lesson-player .qdl-lesson-hero-orbit-core {
        width: 72px;
        height: 72px;
        border-radius: 21px;
        font-size: 38px;
    }

    .qdl-lesson-player .qdl-lesson-header h2 {
        font-size: 28px;
        letter-spacing: -.02em;
    }

    .qdl-lesson-player .qdl-lesson-intro {
        font-size: 15px;
        line-height: 1.95;
    }

    .qdl-lesson-player .qdl-lesson-badges {
        margin-top: var(--qdl-space-4);
    }

    .qdl-lesson-player .qdl-lesson-objectives {
        margin-top: var(--qdl-space-5);
        padding: var(--qdl-space-4);
    }

    .qdl-lesson-player .qdl-lesson-objectives ul {
        grid-template-columns: 1fr;
    }

    .qdl-lesson-player .qdl-lesson-progress {
        grid-template-columns: minmax(0, 1fr) 58px;
        gap: var(--qdl-space-3);
        padding: var(--qdl-space-4);
        border-radius: var(--qdl-radius-card);
    }

    .qdl-lesson-player .qdl-progress-ring {
        width: 58px;
        height: 58px;
    }

    .qdl-lesson-player .qdl-lesson-layout {
        grid-template-columns: 1fr;
        gap: var(--qdl-space-4);
    }

    .qdl-lesson-player .qdl-lesson-steps-panel {
        position: static;
        padding: var(--qdl-space-3);
        border-radius: var(--qdl-radius-card);
    }

    .qdl-lesson-player .qdl-lesson-steps-head {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .qdl-lesson-player .qdl-lesson-steps-panel[data-mobile-collapsed="1"] .qdl-lesson-steps {
        display: none;
    }

    .qdl-lesson-player .qdl-lesson-steps-panel[data-mobile-collapsed="0"] .qdl-lesson-steps {
        display: grid;
        padding-top: var(--qdl-space-3);
    }

    .qdl-lesson-player .qdl-lesson-steps::before {
        display: none;
    }

    .qdl-lesson-player .qdl-steps-toggle {
        min-height: 38px;
        border-color: var(--qdl-color-border-strong);
        border-radius: var(--qdl-radius-control);
        background: var(--qdl-color-surface);
        color: var(--qdl-color-brand-strong);
        font: inherit;
        font-size: 12px;
        font-weight: 900;
    }

    .qdl-lesson-player .qdl-step-nav:hover {
        transform: none;
    }

    .qdl-lesson-player .qdl-step-card {
        padding: var(--qdl-space-6) var(--qdl-space-5);
        border-radius: var(--qdl-radius-large);
    }

    .qdl-lesson-player .qdl-step-card h2 {
        font-size: 25px;
    }

    .qdl-lesson-player .qdl-step-content {
        font-size: 15.5px;
        line-height: 2;
    }

    .qdl-lesson-player .qdl-step-nav-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .qdl-lesson-player .qdl-step-nav-actions .qdl-btn,
    .qdl-lesson-player .qdl-step-nav-actions .qdl-step-next {
        width: 100%;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qdl-lesson-player .qdl-step-nav {
        transition: none;
    }

    .qdl-lesson-player .qdl-step-nav:hover {
        transform: none;
    }
}

/* Phase 124 — Lesson Sidebar Learning Command Center */
.qdl-lesson-player .qdl-lesson-sidebar-widgets {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.qdl-lesson-player .qdl-sidebar-widget {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--qdl-color-border, #e8e6f4);
    border-radius: var(--qdl-radius-large, 20px);
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--qdl-shadow-soft, 0 8px 24px rgba(51, 48, 110, .06));
}
.qdl-lesson-player .qdl-sidebar-widget-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.qdl-lesson-player .qdl-sidebar-widget-title {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.qdl-lesson-player .qdl-sidebar-widget-title > span {
    flex: 0 0 auto;
    font-size: 18px;
    line-height: 1;
}
.qdl-lesson-player .qdl-sidebar-widget-title h3 {
    margin: 0;
    min-width: 0;
    font-size: 15px;
    line-height: 1.5;
}
.qdl-lesson-player .qdl-sidebar-widget-help {
    margin: 5px 0 10px;
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 12px;
    line-height: 1.8;
}
.qdl-lesson-player .qdl-sidebar-widget-body {
    min-width: 0;
}
.qdl-lesson-player .qdl-sidebar-action {
    width: 100%;
    margin-top: 2px;
    box-sizing: border-box;
}
.qdl-lesson-player .qdl-sidebar-progress-value {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}
.qdl-lesson-player .qdl-sidebar-progress-value strong {
    font-size: 25px;
    line-height: 1;
}
.qdl-lesson-player .qdl-sidebar-progress-value span {
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 12px;
    font-weight: 700;
}
.qdl-lesson-player .qdl-sidebar-progress-track,
.qdl-lesson-player .qdl-sidebar-path-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--qdl-color-brand-soft, #eee9ff);
}
.qdl-lesson-player .qdl-sidebar-progress-track > span,
.qdl-lesson-player .qdl-sidebar-path-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--qdl-color-brand, #6e49f5), var(--qdl-color-green, #0ce084));
    transition: width .25s ease;
}
.qdl-lesson-player .qdl-sidebar-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.qdl-lesson-player .qdl-sidebar-stat {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 10px;
    border-radius: 14px;
    background: var(--qdl-color-surface-soft, #faf8ff);
}
.qdl-lesson-player .qdl-sidebar-stat > span {
    font-size: 15px;
    line-height: 1;
}
.qdl-lesson-player .qdl-sidebar-stat strong {
    font-size: 18px;
    line-height: 1.2;
}
.qdl-lesson-player .qdl-sidebar-stat small {
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 10px;
    line-height: 1.5;
}
.qdl-lesson-player .qdl-sidebar-status-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 10px 11px;
    border-radius: 13px;
    background: var(--qdl-color-surface-soft, #faf8ff);
}
.qdl-lesson-player .qdl-sidebar-status-row strong {
    min-width: 0;
    font-size: 12px;
    line-height: 1.6;
}
.qdl-lesson-player .qdl-sidebar-status-row b {
    font-size: 12px;
    white-space: nowrap;
}
.qdl-lesson-player .qdl-sidebar-status-row.is-success { background: rgba(12, 224, 132, .10); }
.qdl-lesson-player .qdl-sidebar-status-row.is-warning { background: rgba(243, 161, 57, .12); }
.qdl-lesson-player .qdl-sidebar-status-row.is-muted { background: rgba(110, 73, 245, .07); }
.qdl-lesson-player .qdl-sidebar-inline-meta,
.qdl-lesson-player .qdl-sidebar-muted {
    margin: 8px 0 0;
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 11px;
    line-height: 1.8;
}
.qdl-lesson-player .qdl-sidebar-text-action {
    display: inline-flex;
    margin-top: 8px;
    color: var(--qdl-color-brand-strong, #5636d8);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}
.qdl-lesson-player .qdl-sidebar-text-action:hover { text-decoration: underline; }

.qdl-lesson-player .qdl-sidebar-path-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
}

.qdl-lesson-player .qdl-sidebar-path-title span {
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 11px;
    font-weight: 700;
}

.qdl-lesson-player .qdl-sidebar-path-title strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
}
.qdl-lesson-player .qdl-sidebar-path-card,
.qdl-lesson-player .qdl-sidebar-related-item {
    display: block;
    color: inherit;
    text-decoration: none;
}
.qdl-lesson-player .qdl-sidebar-path-card {
    position: relative;
    padding: 10px;
    border: 1px solid var(--qdl-color-border, #e8e6f4);
    border-radius: 13px;
}
.qdl-lesson-player .qdl-sidebar-path-card + .qdl-sidebar-path-card { margin-top: 8px; }
.qdl-lesson-player .qdl-sidebar-path-card > span {
    position: absolute;
    left: 10px;
    bottom: 8px;
    opacity: .55;
}
.qdl-lesson-player .qdl-sidebar-path-card:hover { border-color: var(--qdl-color-brand, #6e49f5); }
.qdl-lesson-player .qdl-sidebar-path-progress { margin: 8px 0 0; height: 6px; }
.qdl-lesson-player .qdl-sidebar-related-list { display: grid; gap: 7px; }
.qdl-lesson-player .qdl-sidebar-related-item {
    display: grid;
    gap: 2px;
    padding: 9px 10px;
    border-radius: 12px;
    background: var(--qdl-color-surface-soft, #faf8ff);
}
.qdl-lesson-player .qdl-sidebar-related-item strong {
    font-size: 12px;
    line-height: 1.65;
}
.qdl-lesson-player .qdl-sidebar-related-item small {
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 10px;
}
.qdl-lesson-player .qdl-sidebar-info-grid {
    display: grid;
    gap: 6px;
    margin: 0;
}
.qdl-lesson-player .qdl-sidebar-info-grid > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid var(--qdl-color-border, #eeecf5);
}
.qdl-lesson-player .qdl-sidebar-info-grid > div:last-child { border-bottom: 0; padding-bottom: 0; }
.qdl-lesson-player .qdl-sidebar-info-grid dt {
    color: var(--qdl-color-text-muted, #66627c);
    font-size: 11px;
}
.qdl-lesson-player .qdl-sidebar-info-grid dd {
    margin: 0;
    text-align: left;
    font-size: 11px;
    font-weight: 800;
}
@media (max-width: 700px) {
    .qdl-lesson-player .qdl-lesson-sidebar-widgets { gap: 10px; }
    .qdl-lesson-player .qdl-sidebar-widget { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .qdl-lesson-player .qdl-sidebar-progress-track > span,
    .qdl-lesson-player .qdl-sidebar-path-progress > span { transition: none; }
}


/* Phase 125 — Lesson Sidebar Progressive Disclosure & Smart Focus */
.qdl-lesson-player .qdl-sidebar-widget-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:0 2px 10px;padding:7px 10px;border:1px solid #e9e4fb;border-radius:13px;background:linear-gradient(135deg,#fff 0%,#faf8ff 100%);color:#6c6686;font-size:11px;font-weight:850}
.qdl-lesson-player .qdl-sidebar-widget-toolbar-action{appearance:none;border:0;background:transparent;padding:5px 3px;color:#6652bf;font:inherit;font-weight:900;cursor:pointer;border-radius:8px}
.qdl-lesson-player .qdl-sidebar-widget-toolbar-action:hover{background:#f0ebff}
.qdl-lesson-player .qdl-sidebar-widget-toolbar-action:focus-visible{outline:3px solid #8b5cf6;outline-offset:2px}
.qdl-lesson-player .qdl-sidebar-widget-collapsible{padding:0;overflow:hidden}
.qdl-lesson-player .qdl-sidebar-widget-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:13px 14px;cursor:pointer;list-style:none}
.qdl-lesson-player .qdl-sidebar-widget-summary::-webkit-details-marker{display:none}
.qdl-lesson-player .qdl-sidebar-widget-summary:focus-visible{outline:3px solid #8b5cf6;outline-offset:-3px}
.qdl-lesson-player .qdl-sidebar-widget-collapsible[open] .qdl-sidebar-widget-summary{border-bottom:1px solid #eee9fb}
.qdl-lesson-player .qdl-sidebar-widget-summary-title{min-width:0;line-height:1.5}
.qdl-lesson-player .qdl-sidebar-widget-chevron{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f3efff;color:#6d4bdc;font-size:15px;font-weight:950;transform:rotate(0deg);transition:transform .18s ease}
.qdl-lesson-player .qdl-sidebar-widget-collapsible[open] .qdl-sidebar-widget-chevron{transform:rotate(180deg)}
.qdl-lesson-player .qdl-sidebar-widget-collapsible>.qdl-sidebar-widget-help,.qdl-lesson-player .qdl-sidebar-widget-collapsible>.qdl-sidebar-widget-body{padding-left:14px;padding-right:14px}
.qdl-lesson-player .qdl-sidebar-widget-collapsible>.qdl-sidebar-widget-body{padding-bottom:14px}
@media (max-width:639px){.qdl-lesson-player .qdl-sidebar-widget-toolbar{justify-content:stretch}.qdl-lesson-player .qdl-sidebar-widget-toolbar-action{flex:1;min-height:36px}.qdl-lesson-player .qdl-sidebar-widget-summary{min-height:48px;padding:12px}.qdl-lesson-player .qdl-sidebar-widget-collapsible>.qdl-sidebar-widget-help,.qdl-lesson-player .qdl-sidebar-widget-collapsible>.qdl-sidebar-widget-body{padding-left:12px;padding-right:12px}}
@media (prefers-reduced-motion:reduce){.qdl-lesson-player .qdl-sidebar-widget-chevron{transition:none}}
@media (forced-colors:active){.qdl-lesson-player .qdl-sidebar-widget-toolbar,.qdl-lesson-player .qdl-sidebar-widget-collapsible{border:1px solid CanvasText}.qdl-lesson-player .qdl-sidebar-widget-toolbar-action,.qdl-lesson-player .qdl-sidebar-widget-summary{color:ButtonText}.qdl-lesson-player .qdl-sidebar-widget-chevron{background:ButtonFace;color:ButtonText}}

/* --- contextual-cta.css --- */
/*
 * QuestDL Academy — Phase UI-03 — Contextual Visuals + Step CTA
 *
 * Scope: learner Lesson Player contextual visual and linked Step actions only.
 * Visual-only layer: no runtime, completion, persistence, telemetry or package semantics.
 */

.qdl-lesson-player {
    --qdl-visual-bg: linear-gradient(135deg, #ffffff 0%, #f8f6ff 52%, #f1fbff 100%);
    --qdl-visual-border: rgba(110, 73, 245, .14);
    --qdl-visual-accent: var(--qdl-color-brand);
    --qdl-visual-accent-soft: rgba(110, 73, 245, .10);
    --qdl-visual-label: var(--qdl-color-brand-strong);
    --qdl-action-surface: rgba(255, 255, 255, .88);
}

/* Contextual visual: a teaching aid, not a decorative billboard. */
.qdl-lesson-player .qdl-step-visual {
    position: relative;
    display: grid;
    grid-template-rows: auto minmax(92px, auto) auto;
    align-items: center;
    justify-items: center;
    gap: var(--qdl-space-2);
    min-height: 178px;
    margin: 0 0 var(--qdl-space-7);
    padding: var(--qdl-space-4) var(--qdl-space-6) var(--qdl-space-5);
    overflow: hidden;
    border: 1px solid var(--qdl-visual-border);
    border-radius: var(--qdl-radius-large);
    background: var(--qdl-visual-bg);
    box-shadow: var(--qdl-shadow-2), inset 0 1px 0 rgba(255, 255, 255, .95);
    isolation: isolate;
}

.qdl-lesson-player .qdl-step-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 14% 20%, var(--qdl-visual-accent-soft), transparent 32%), radial-gradient(circle at 88% 88%, rgba(12, 224, 132, .08), transparent 34%);
    pointer-events: none;
    z-index: -2;
}

.qdl-lesson-player .qdl-step-visual::after {
    content: "";
    position: absolute;
    inset-inline: 15%;
    inset-block-start: 0;
    height: 3px;
    border-radius: 0 0 var(--qdl-radius-pill) var(--qdl-radius-pill);
    background: linear-gradient(90deg, transparent, var(--qdl-visual-accent), transparent);
    opacity: .75;
    pointer-events: none;
}

.qdl-lesson-player .qdl-step-visual-art {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 94px;
}

.qdl-lesson-player .qdl-step-visual-label {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 11px;
    border: 1px solid var(--qdl-visual-accent-soft);
    border-radius: var(--qdl-radius-pill);
    background: rgba(255, 255, 255, .78);
    color: var(--qdl-visual-label);
    font-size: var(--qdl-type-caption);
    font-weight: 950;
    box-shadow: 0 3px 10px rgba(73, 54, 150, .05);
    backdrop-filter: blur(8px);
}

.qdl-lesson-player .qdl-step-visual-caption {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0;
    color: var(--qdl-color-text-muted);
    font-size: var(--qdl-type-small);
    line-height: 1.85;
    text-align: center;
}

/* Type accents keep the visual language informative without adding new UI colors. */
.qdl-lesson-player .qdl-step-visual-inspection { --qdl-visual-accent: var(--qdl-color-brand); --qdl-visual-accent-soft: rgba(110, 73, 245, .11); }
.qdl-lesson-player .qdl-step-visual-power { --qdl-visual-accent: var(--qdl-color-orange); --qdl-visual-accent-soft: rgba(243, 161, 57, .12); }
.qdl-lesson-player .qdl-step-visual-mobile_app { --qdl-visual-accent: var(--qdl-color-orange); --qdl-visual-accent-soft: rgba(243, 161, 57, .12); }
.qdl-lesson-player .qdl-step-visual-pairing { --qdl-visual-accent: var(--qdl-color-teal); --qdl-visual-accent-soft: rgba(12, 224, 132, .10); }
.qdl-lesson-player .qdl-step-visual-wifi { --qdl-visual-accent: var(--qdl-color-teal); --qdl-visual-accent-soft: rgba(12, 224, 132, .10); }
.qdl-lesson-player .qdl-step-visual-update { --qdl-visual-accent: var(--qdl-color-teal); --qdl-visual-accent-soft: rgba(12, 224, 132, .10); }
.qdl-lesson-player .qdl-step-visual-boundary { --qdl-visual-accent: var(--qdl-color-brand); --qdl-visual-accent-soft: rgba(110, 73, 245, .10); }
.qdl-lesson-player .qdl-step-visual-controllers { --qdl-visual-accent: var(--qdl-color-blue); --qdl-visual-accent-soft: rgba(79, 124, 255, .10); }

/* CTA cluster: contextual action, visually subordinate to the learning content. */
.qdl-lesson-player .qdl-step-action {
    width: 100%;
    margin: var(--qdl-space-6) 0 var(--qdl-space-2);
    padding: var(--qdl-space-4);
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-card);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,250,255,.86));
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-step-action::before {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin: 0 auto var(--qdl-space-3);
    border-radius: var(--qdl-radius-pill);
    background: linear-gradient(90deg, var(--qdl-color-brand), var(--qdl-color-blue));
    opacity: .75;
}

.qdl-lesson-player .qdl-step-action-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: var(--qdl-space-3);
    align-items: stretch;
}

.qdl-lesson-player .qdl-step-action-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--qdl-space-3);
    min-width: 0;
    min-height: 56px;
    margin: 0;
    padding: 9px 12px;
    border-radius: var(--qdl-radius-control);
    text-align: start;
    line-height: 1.45;
    text-decoration: none;
    box-shadow: none;
    transform: none;
}

.qdl-lesson-player .qdl-step-action-button::after {
    content: "";
    position: absolute;
    inset-block: 8px;
    inset-inline-start: 0;
    width: 3px;
    border-radius: var(--qdl-radius-pill);
    background: currentColor;
    opacity: .24;
}

.qdl-lesson-player .qdl-step-action-icon {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid rgba(110, 73, 245, .10);
    border-radius: 12px;
    background: rgba(255, 255, 255, .82);
    color: currentColor;
}

.qdl-lesson-player .qdl-step-action-icon svg {
    width: 19px;
    height: 19px;
}

.qdl-lesson-player .qdl-step-action-button > span:nth-child(2) {
    min-width: 0;
    overflow-wrap: anywhere;
}

.qdl-lesson-player .qdl-step-action-arrow {
    display: inline-grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    margin-inline-start: auto;
    border-radius: var(--qdl-radius-pill);
    background: rgba(255, 255, 255, .62);
    font-size: 15px;
    line-height: 1;
    opacity: .86;
    transition: transform var(--qdl-transition-fast), background var(--qdl-transition-fast);
}

.qdl-lesson-player .qdl-step-action-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-step-action-button:hover .qdl-step-action-arrow,
.qdl-lesson-player .qdl-step-action-button:focus-visible .qdl-step-action-arrow {
    transform: translateX(-3px);
    background: rgba(255, 255, 255, .84);
}

.qdl-lesson-player .qdl-step-action-primary {
    border-color: transparent;
    background: linear-gradient(135deg, var(--qdl-color-brand), var(--qdl-color-blue));
    color: var(--qdl-color-on-brand);
    box-shadow: var(--qdl-shadow-primary);
}

.qdl-lesson-player .qdl-step-action-primary .qdl-step-action-icon,
.qdl-lesson-player .qdl-step-action-primary .qdl-step-action-arrow {
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.14);
    color: inherit;
}

.qdl-lesson-player .qdl-step-action-secondary {
    border-color: var(--qdl-color-border);
    background: var(--qdl-action-surface);
    color: var(--qdl-color-brand-strong);
}

.qdl-lesson-player .qdl-step-action-secondary .qdl-step-action-icon {
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
}

.qdl-lesson-player .qdl-step-action-accent {
    border-color: transparent;
    background: linear-gradient(135deg, var(--qdl-color-orange), var(--qdl-color-brand));
    color: var(--qdl-color-on-brand);
    box-shadow: 0 10px 24px rgba(243, 161, 57, .16);
}

.qdl-lesson-player .qdl-step-action-accent .qdl-step-action-icon,
.qdl-lesson-player .qdl-step-action-accent .qdl-step-action-arrow {
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.14);
    color: inherit;
}

/* CTA-only Step surface: keep the action visually connected to the explanation. */
.qdl-lesson-player .qdl-cta-block {
    display: grid;
    gap: var(--qdl-space-2);
    padding: var(--qdl-space-6);
    border: 1px solid rgba(79, 124, 255, .14);
    border-radius: var(--qdl-radius-card);
    background: linear-gradient(135deg, rgba(245, 249, 255, .96), rgba(250, 248, 255, .92));
    box-shadow: var(--qdl-shadow-1);
}

.qdl-lesson-player .qdl-cta-content {
    color: var(--qdl-color-text);
    font-size: var(--qdl-type-body-lg);
    line-height: 1.95;
}

.qdl-lesson-player .qdl-cta-block .qdl-step-action {
    margin-bottom: 0;
    background: rgba(255,255,255,.54);
}

@media (min-width: 700px) {
    .qdl-lesson-player .qdl-step-action-button:first-child {
        min-height: 60px;
    }
}

@media (max-width: 699px) {
    .qdl-lesson-player .qdl-step-visual {
        min-height: 148px;
        margin-bottom: var(--qdl-space-5);
        padding: var(--qdl-space-3) var(--qdl-space-4) var(--qdl-space-4);
        border-radius: var(--qdl-radius-card);
    }

    .qdl-lesson-player .qdl-step-visual-art {
        min-height: 80px;
    }

    .qdl-lesson-player .qdl-step-visual-caption {
        font-size: var(--qdl-type-caption);
    }

    .qdl-lesson-player .qdl-step-action {
        margin-top: var(--qdl-space-5);
        padding: var(--qdl-space-3);
    }

    .qdl-lesson-player .qdl-step-action-list {
        grid-template-columns: 1fr;
    }

    .qdl-lesson-player .qdl-step-action-button {
        width: 100%;
        min-height: 54px;
    }

    .qdl-lesson-player .qdl-cta-block {
        padding: var(--qdl-space-5);
    }
}

@media (prefers-reduced-motion: reduce) {
    .qdl-lesson-player .qdl-step-action-button,
    .qdl-lesson-player .qdl-step-action-arrow {
        transition: none;
    }

    .qdl-lesson-player .qdl-step-action-button:hover {
        transform: none;
    }
}

/* --- quiz-experience.css --- */
/*
 * QuestDL Academy — Phase UI-04 — Quiz Experience Redesign
 *
 * Presentation-only layer. All rules are scoped to the Quiz root so this
 * stylesheet cannot modify the WordPress page chrome, global direction or
 * unrelated Academy surfaces.
 */
.qdl-lesson-player .qdl-quiz-ui04{
    --qdl-quiz-surface:var(--qdl-color-surface,#fff);
    --qdl-quiz-surface-soft:var(--qdl-color-surface-soft,#fbfaff);
    --qdl-quiz-text:var(--qdl-color-text,#283453);
    --qdl-quiz-muted:var(--qdl-color-text-muted,#68738d);
    --qdl-quiz-brand:var(--qdl-color-brand,#6e49f5);
    --qdl-quiz-brand-strong:var(--qdl-color-brand-strong,#5d3fda);
    --qdl-quiz-blue:var(--qdl-color-blue,#4f7cff);
    --qdl-quiz-teal:var(--qdl-color-teal,#0ce084);
    --qdl-quiz-teal-strong:var(--qdl-color-teal-strong,#0cae7a);
    --qdl-quiz-orange:var(--qdl-color-orange,#f3a139);
    --qdl-quiz-border:var(--qdl-color-border,#e9e5f5);
    --qdl-quiz-border-strong:var(--qdl-color-border-strong,#d9d1f8);
    --qdl-quiz-success:var(--qdl-color-success,#15803d);
    --qdl-quiz-success-soft:var(--qdl-color-success-soft,#ecfdf3);
    --qdl-quiz-danger:var(--qdl-color-danger,#b42318);
    --qdl-quiz-danger-soft:var(--qdl-color-danger-soft,#fff4f2);
    --qdl-quiz-shadow:var(--qdl-shadow-2,0 12px 28px rgba(73,54,150,.08));
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid rgba(110,73,245,.11);
    border-radius:var(--qdl-radius-hero,28px);
    background:var(--qdl-quiz-surface);
    box-shadow:var(--qdl-shadow-2,0 12px 28px rgba(73,54,150,.08));
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-decor{display:none}

/* Header: one clear title, then compact supporting facts. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-head{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 76px;
    align-items:center;
    gap:24px;
    padding:28px 30px 20px;
    border-bottom:1px solid rgba(110,73,245,.08);
    background:linear-gradient(135deg,var(--qdl-color-brand-soft,#f2efff) 0%,#fff 58%,var(--qdl-color-info-soft,#eef7ff) 100%);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-title-block{min-width:0}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:30px;
    padding:6px 10px;
    border:1px solid rgba(110,73,245,.12);
    border-radius:var(--qdl-radius-pill,999px);
    background:rgba(255,255,255,.78);
    color:var(--qdl-quiz-brand-strong);
    font-size:11px;
    font-weight:900;
    line-height:1;
    box-shadow:0 4px 12px rgba(73,54,150,.05);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-title-block h2{
    margin:10px 0 4px;
    color:var(--qdl-quiz-text);
    font-size:clamp(25px,2.7vw,34px);
    line-height:1.35;
    letter-spacing:-.02em;
    font-weight:1000;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-title-block p{
    max-width:760px;
    margin:0;
    color:var(--qdl-quiz-muted);
    font-size:13px;
    font-weight:700;
    line-height:1.9;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-emblem{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border:1px solid rgba(110,73,245,.14);
    border-radius:24px;
    background:linear-gradient(145deg,#fff,#f1ecff 64%,#edf8ff);
    color:var(--qdl-quiz-brand);
    box-shadow:0 10px 22px rgba(73,54,150,.10);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-emblem span{font-size:20px;line-height:1}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-emblem b{font-size:16px;line-height:1;font-weight:1000;color:var(--qdl-quiz-text)}

/* Login and preview messaging inherit the same alert language. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-login-banner,
.qdl-lesson-player .qdl-quiz-ui04 .qdl-preview-banner{
    margin:14px 30px 0;
    border-radius:16px;
}

/* Compact meta facts: secondary, never competing with the question. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0;
    padding:14px 30px 8px;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card{
    min-width:0;
    min-height:54px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 11px;
    border:1px solid var(--qdl-quiz-border);
    border-radius:16px;
    background:rgba(255,255,255,.86);
    box-shadow:0 5px 14px rgba(73,54,150,.035);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-icon{
    flex:0 0 28px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:var(--qdl-color-brand-soft,#f2efff);
    font-size:14px;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card:nth-child(2) .qdl-quiz-meta-icon{background:var(--qdl-color-blue-soft,#eef5ff)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card:nth-child(3) .qdl-quiz-meta-icon{background:var(--qdl-color-teal-soft,#e9fff6)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card:nth-child(4) .qdl-quiz-meta-icon{background:var(--qdl-color-orange-soft,#fff6e8)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card b{display:block;color:var(--qdl-quiz-text);font-size:13px;font-weight:1000;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card small{display:block;margin-top:2px;color:var(--qdl-quiz-muted);font-size:10px;font-weight:800;line-height:1.4}

/* Main HUD: progress is primary, counts are secondary. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud{
    display:grid;
    grid-template-columns:minmax(0,1fr) 68px;
    align-items:center;
    gap:16px;
    margin:10px 30px 18px;
    padding:14px 16px;
    border:1px solid rgba(110,73,245,.10);
    border-radius:20px;
    background:linear-gradient(135deg,#fff,#fbf9ff 62%,#f7fdff);
    box-shadow:0 8px 18px rgba(73,54,150,.055);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud-primary{min-width:0;display:grid;gap:9px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud-label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:var(--qdl-quiz-text);
    font-size:12px;
    font-weight:950;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud-label > span:first-child{
    display:grid;
    place-items:center;
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:10px;
    background:var(--qdl-color-brand-soft,#f2efff);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-track{
    height:12px;
    overflow:hidden;
    border-radius:var(--qdl-radius-pill,999px);
    background:#eceaf5;
    box-shadow:inset 0 1px 3px rgba(73,54,150,.08);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-track span{
    position:relative;
    display:block;
    min-width:12px;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--qdl-quiz-brand),var(--qdl-quiz-blue) 58%,var(--qdl-quiz-teal));
    box-shadow:0 3px 8px rgba(110,73,245,.16);
    transition:width var(--qdl-transition-base,180ms ease);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-ring{
    width:68px;
    height:68px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:conic-gradient(var(--qdl-quiz-brand) var(--qdl-quiz-progress,0%),#eceaf5 0);
    box-shadow:0 7px 16px rgba(73,54,150,.08);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-ring::before{
    content:"";
    width:52px;
    height:52px;
    border-radius:50%;
    background:#fff;
    box-shadow:inset 0 0 0 1px rgba(110,73,245,.07);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-ring span{
    position:absolute;
    color:var(--qdl-quiz-brand-strong);
    font-size:11px;
    font-weight:1000;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud-stats{
    grid-column:1 / -1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:var(--qdl-quiz-muted);
    font-size:10px;
    font-weight:850;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-combo{
    padding:5px 8px;
    border-radius:var(--qdl-radius-pill,999px);
    background:#f5f3fb;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-timer{padding:5px 8px;border-radius:var(--qdl-radius-pill,999px);background:var(--qdl-color-orange-soft,#fff6e8);color:#8a5a00}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-timer.is-warning{background:#fff0dd;color:#9a4d00}

/* Status should read as a calm system message rather than a second card. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-status{
    margin:0 30px 14px;
    min-height:1.45em;
    padding:8px 11px;
    border-inline-start:3px solid var(--qdl-quiz-brand);
    border-radius:10px;
    background:#f8f7fc;
    color:var(--qdl-quiz-muted);
    font-size:11px;
    font-weight:800;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-status.is-error{border-inline-start-color:var(--qdl-quiz-orange);background:var(--qdl-color-warning-soft,#fff8e8);color:#7a4a0a}

/* Question card: maximum focus, limited ornament. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-questions{padding:0 30px 8px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question{
    width:min(100%,900px);
    margin:0 auto;
    padding:26px;
    border:1px solid var(--qdl-quiz-border);
    border-radius:24px;
    background:#fff;
    box-shadow:0 10px 25px rgba(73,54,150,.055);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question.is-active{
    animation:qdl-ui04-quiz-question-in 180ms ease both;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:29px;
    padding:5px 9px;
    border-radius:var(--qdl-radius-pill,999px);
    background:var(--qdl-color-brand-soft,#f2efff);
    color:var(--qdl-quiz-brand-strong);
    font-size:10px;
    font-weight:1000;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-points{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:5px 9px;
    border-radius:var(--qdl-radius-pill,999px);
    background:var(--qdl-color-orange-soft,#fff6e8);
    color:#7a5600;
    font-size:10px;
    font-weight:950;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-title{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin:0;
    color:var(--qdl-quiz-text);
    font-size:clamp(19px,2vw,23px);
    line-height:1.85;
    font-weight:950;
    letter-spacing:-.012em;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-title > span{
    display:grid;
    place-items:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    margin-top:2px;
    border-radius:11px;
    background:linear-gradient(135deg,var(--qdl-quiz-brand),var(--qdl-quiz-blue));
    color:#fff;
    font-size:12px;
    line-height:1;
    box-shadow:0 7px 14px rgba(110,73,245,.16);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-image{display:block;max-width:100%;height:auto;margin:18px auto 0;border-radius:18px;box-shadow:0 8px 20px rgba(73,54,150,.07)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-scenario{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:9px;
    margin-top:16px;
    padding:13px 14px;
    border:1px solid rgba(243,161,57,.19);
    border-radius:16px;
    background:linear-gradient(135deg,#fffaf0,#fff,#f8f6ff);
    color:#5e5a69;
    font-size:12px;
    line-height:1.9;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-scenario > strong{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--qdl-color-orange-soft,#fff6e8)}

/* Answer-mode guidance is visually supporting, not another heading. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-answer-mode{
    margin:18px 0 10px;
    border:1px solid rgba(110,73,245,.10);
    border-radius:14px;
    background:#faf9fe;
    color:var(--qdl-quiz-muted);
    font-size:10px;
    font-weight:850;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-answer-mode-mark{
    background:var(--qdl-color-brand-soft,#f2efff);
    color:var(--qdl-quiz-brand);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-answer-mode-multiple .qdl-quiz-answer-mode-mark{background:var(--qdl-color-teal-soft,#e9fff6);color:var(--qdl-quiz-teal-strong)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-multi-select-count{font-size:10px}

/* Answer tiles — large, tactile, predictable states. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-options{display:grid;gap:10px;margin-top:10px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option{
    min-height:64px;
    padding:12px 14px;
    gap:12px;
    border:1px solid #e2deee;
    border-radius:17px;
    background:linear-gradient(135deg,#fff,#fcfbff);
    box-shadow:0 4px 11px rgba(73,54,150,.035);
    color:var(--qdl-quiz-text);
    transition:transform var(--qdl-transition-fast,160ms ease),border-color var(--qdl-transition-fast,160ms ease),box-shadow var(--qdl-transition-fast,160ms ease),background var(--qdl-transition-fast,160ms ease);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option::before{
    width:33px;
    height:33px;
    flex-basis:33px;
    border-radius:11px;
    background:#f0edfa;
    color:#5b4a9e;
    font-size:11px;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option:hover{transform:translateY(-1px);border-color:#cfc5ed;box-shadow:0 9px 18px rgba(73,54,150,.08)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option:has(input:checked){border-color:#a794ec;background:linear-gradient(135deg,#f8f5ff,#f3fffa);box-shadow:0 10px 22px rgba(73,54,150,.09)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option:has(input:checked)::before{background:linear-gradient(135deg,var(--qdl-quiz-brand),var(--qdl-quiz-blue));color:#fff}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option-label{font-size:14px;line-height:1.8;color:#36415c;font-weight:850}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option input[type=radio],
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option input[type=checkbox]{flex-basis:20px;width:20px;height:20px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option:focus-within{outline:0;box-shadow:0 0 0 4px rgba(110,73,245,.12),0 10px 22px rgba(73,54,150,.08)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option input:focus-visible{outline:2px solid var(--qdl-quiz-brand);outline-offset:2px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option:has(input:checked) .qdl-quiz-option-label{color:#2e3a58}

/* Select-based questions and drag/drop share the same control language. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option select{min-height:44px;border:1px solid #dad5e9;border-radius:13px;background:#fff;color:#37415b;font-size:13px;font-weight:800;box-shadow:none}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option select:focus{border-color:#a794ec;outline:0;box-shadow:0 0 0 4px rgba(110,73,245,.11)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop{gap:13px;margin-top:10px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop-pool{padding:14px;border:1px dashed #cfc5ef;border-radius:16px;background:#fbfaff}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-item{min-height:42px;padding:9px 12px;border:1px solid #ddd7f0;border-radius:13px;background:#fff;color:#3a4560;box-shadow:0 4px 10px rgba(73,54,150,.045);font:inherit;font-size:12px;font-weight:850}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-item:hover{border-color:#bcb0e8;transform:translateY(-1px)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-item.is-selected{outline:0;box-shadow:0 0 0 4px rgba(110,73,245,.11)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop-zone{min-width:0;min-height:60px;padding:11px 12px;border:1px dashed #b8ead6;border-radius:15px;background:#f7fffb;color:#385868}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop-zone:focus-visible{outline:2px solid var(--qdl-quiz-brand);outline-offset:2px}

/* Question navigation: one obvious Next action, Previous stays quiet. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #efebf6;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-btn{min-width:126px;min-height:45px;border-radius:14px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-quiz-question-meta{justify-self:center;color:var(--qdl-quiz-muted);font-size:11px;font-weight:900}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-next{box-shadow:var(--qdl-shadow-primary,0 10px 24px rgba(110,73,245,.20))}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-next:hover{transform:translateY(-1px)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions [data-qdl-quiz-next]:disabled{opacity:.62}

/* Final submit is isolated from question navigation so it reads as completion. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin:0 30px;
    padding:16px 0 28px;
    border-top:1px solid rgba(110,73,245,.07);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit-help{max-width:560px;color:var(--qdl-quiz-muted);font-size:11px;line-height:1.8;font-weight:800}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit-help>span:first-child{width:26px;height:26px;border-radius:9px;background:var(--qdl-color-teal-soft,#e9fff6);color:var(--qdl-quiz-teal-strong)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit{
    min-width:210px;
    min-height:50px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--qdl-quiz-brand),var(--qdl-quiz-blue));
    box-shadow:var(--qdl-shadow-primary,0 10px 24px rgba(110,73,245,.20));
    animation:none;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px rgba(110,73,245,.24)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit:disabled{opacity:.55;box-shadow:none;transform:none}

/* Loading overlays remain scoped/light; UI-04 does not create a new fullscreen modal. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-navigation-overlay{border-radius:inherit;background:linear-gradient(135deg,rgba(247,245,255,.14),rgba(240,251,255,.14))}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-navigation-card{border-color:rgba(110,73,245,.14);box-shadow:0 16px 34px rgba(73,54,150,.12)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-navigation-stages span{font-size:10px;font-weight:850}

/* Final result: the result is the single post-submit focal point. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result{
    margin:0 30px 30px;
    padding:26px;
    border:1px solid rgba(110,73,245,.12);
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 28px rgba(73,54,150,.075);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result.is-success{border-color:#d7f1e3;background:linear-gradient(135deg,#fff,#fbfffd 66%,#f5f1ff)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result.is-failed{border-color:#f5d7cf;background:linear-gradient(135deg,#fff,#fffaf8 66%,#fbf8ff)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-hero{grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-icon{width:62px;height:62px;border-radius:20px;background:linear-gradient(145deg,var(--qdl-color-brand-soft,#f2efff),var(--qdl-color-blue-soft,#eef5ff));font-size:26px;box-shadow:0 8px 18px rgba(73,54,150,.08)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-score{font-size:clamp(34px,5vw,48px);line-height:1;color:var(--qdl-quiz-brand-strong);font-weight:1000}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-title{margin-top:4px;color:var(--qdl-quiz-text);font-size:17px;line-height:1.8;font-weight:950}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-stat{min-width:0;padding:12px 12px;border:1px solid #e9e5f3;border-radius:15px;background:rgba(255,255,255,.82)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-stat strong{font-size:15px;color:var(--qdl-quiz-text);font-weight:1000}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-stat span{margin-top:4px;font-size:10px;color:var(--qdl-quiz-muted);font-weight:850}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-primary-action{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:18px;
    padding:15px;
    border:1px solid rgba(12,174,122,.17);
    border-radius:19px;
    background:linear-gradient(135deg,#f6fffa,#fff 64%,#f7f4ff);
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-primary-action.is-exhausted{border-color:rgba(243,161,57,.20);background:var(--qdl-color-orange-soft,#fff6e8)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-primary-copy{margin:0;color:#596279;font-size:12px;line-height:1.85;font-weight:800}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-retry{min-width:185px;min-height:48px;border-radius:15px;box-shadow:var(--qdl-shadow-primary,0 10px 24px rgba(110,73,245,.20));animation:none!important}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-retry:hover:not(:disabled){transform:translateY(-1px)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-primary-action-row .qdl-quiz-continue{min-width:220px;min-height:48px;border-radius:15px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-secondary-action{margin-top:12px;padding:14px 16px;border:1px solid rgba(110,73,245,.10);border-radius:18px;background:rgba(255,255,255,.66)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-secondary-action p{margin:0 0 10px;color:var(--qdl-quiz-muted);font-size:11px;font-weight:800;line-height:1.8}

/* Review/remediation: readable scan paths, not dense diagnostics. */
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-review-title,
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-title{color:var(--qdl-quiz-text);font-size:16px;line-height:1.7;font-weight:950}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-review{display:grid;gap:8px;margin-top:10px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-review-item{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;padding:10px 11px;border:1px solid #eeeaf5;border-radius:13px;background:#fbfaff;color:#626a7e;font-size:11px;line-height:1.8;font-weight:750}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-review-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--qdl-color-danger-soft,#fff4f2);color:var(--qdl-quiz-danger);font-size:12px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-review-item.is-correct .qdl-quiz-review-marker{background:var(--qdl-color-success-soft,#ecfdf3);color:var(--qdl-quiz-success)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation{margin-top:18px;padding:18px;border:1px solid rgba(110,73,245,.11);border-radius:20px;background:linear-gradient(135deg,#fbfaff,#fff,#f5fffa)}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-kicker{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--qdl-color-brand-soft,#f2efff);color:var(--qdl-quiz-brand-strong);font-size:10px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-intro{color:var(--qdl-quiz-muted);font-size:11px;line-height:1.85;font-weight:750}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-stat{padding:9px;border:1px solid #e8e4f2;border-radius:13px;background:#fff}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-stat strong{display:block;color:var(--qdl-quiz-text);font-size:14px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-stat span{display:block;margin-top:2px;color:var(--qdl-quiz-muted);font-size:10px;font-weight:800}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-actions{display:grid;gap:8px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-remediation-step{min-height:44px;border-radius:13px}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-perfect{
    margin-top:14px;
    padding:11px 13px;
    border-radius:14px;
    background:var(--qdl-color-teal-soft,#e9fff6);
    color:#137650;
    font-size:12px;
    font-weight:950;
}
.qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-branch-next{margin-top:14px}

/* Preview mode remains compact because it is an authoring preview, not the learner flow. */
.qdl-lesson-player .qdl-quiz-ui04.qdl-quiz-preview .qdl-quiz-meta-strip,
.qdl-lesson-player .qdl-quiz-ui04.qdl-quiz-preview .qdl-quiz-hud{display:none}

@keyframes qdl-ui04-quiz-question-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}

@media (max-width:1023px){
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-head{grid-template-columns:minmax(0,1fr) 68px;gap:18px;padding:24px 24px 18px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-emblem{width:68px;height:68px;border-radius:21px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:24px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud{margin-inline:24px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-questions{padding-inline:24px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-actions{margin-inline:24px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result{margin-inline:24px}
}

@media (max-width:700px){
    .qdl-lesson-player .qdl-quiz-ui04{border-radius:23px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-head{grid-template-columns:1fr;padding:20px 18px 17px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-emblem{display:none}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-title-block h2{font-size:27px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-title-block p{font-size:12px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-login-banner,
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-preview-banner{margin-inline:18px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-strip{grid-template-columns:1fr 1fr;padding:12px 18px 8px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-card{min-height:50px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-hud{grid-template-columns:minmax(0,1fr) 62px;margin:9px 18px 15px;padding:12px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-ring{width:62px;height:62px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-ring::before{width:48px;height:48px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-questions{padding:0 18px 6px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question{padding:20px 16px;border-radius:21px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-title{font-size:17px;line-height:1.9}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-topline{align-items:flex-start}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option{min-height:60px;padding:11px 12px;border-radius:16px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option-label{font-size:13px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions{grid-template-columns:1fr 1fr;margin-top:17px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-quiz-question-meta{display:none}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-btn{width:100%;min-width:0}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-actions{margin-inline:18px;padding-bottom:22px;align-items:stretch;flex-direction:column}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit-help{justify-content:center;text-align:center}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit{width:100%}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result{margin:0 18px 18px;padding:20px;border-radius:21px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-hero{grid-template-columns:auto minmax(0,1fr)}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-stats{grid-template-columns:1fr 1fr}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-primary-action{flex-direction:column;align-items:stretch}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-retry{width:100%}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-actions .qdl-btn{width:100%}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-drag-drop-zones{grid-template-columns:1fr}
}

@media (max-width:480px){
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-meta-strip{grid-template-columns:1fr}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-topline{flex-direction:column}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-points{align-self:flex-start}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions{grid-template-columns:1fr;gap:8px}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-quiz-question-prev{order:2}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-actions .qdl-quiz-question-next{order:1}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-hero{grid-template-columns:1fr}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-score{font-size:38px}
}

@media (prefers-reduced-motion:reduce){
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-option,
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question-next,
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-submit,
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-result-retry{transition:none!important;animation:none!important}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-question.is-active{animation:none!important}
    .qdl-lesson-player .qdl-quiz-ui04 .qdl-quiz-progress-track span{transition:none!important}
}

/* --- commerce-experience.css --- */
/* Phase 103 — UI-06 — Commerce & Related Products Experience */

/* Commerce is a supporting surface: clear, premium and visually quieter than learning actions. */
.qdl-academy-page .qdl-academy-commerce,
.qdl-lesson-player .qdl-academy-commerce {
    position: relative;
    margin-top: var(--qdl-space-7);
    padding: var(--qdl-space-6);
    border: 1px solid var(--qdl-color-border-strong);
    border-radius: var(--qdl-radius-hero);
    background:
        radial-gradient(circle at 8% 8%, rgba(110,73,245,.08), transparent 34%),
        radial-gradient(circle at 92% 88%, rgba(12,224,132,.07), transparent 32%),
        linear-gradient(135deg, var(--qdl-color-surface) 0%, var(--qdl-color-surface-soft) 58%, var(--qdl-color-surface-blue) 100%);
    box-shadow: var(--qdl-shadow-2);
    overflow: hidden;
}

.qdl-academy-page .qdl-commerce-heading,
.qdl-lesson-player .qdl-commerce-heading {
    position: relative;
    align-items: center;
    margin-bottom: var(--qdl-space-5);
}

.qdl-academy-page .qdl-commerce-title-row,
.qdl-lesson-player .qdl-commerce-title-row {
    gap: var(--qdl-space-2);
}

.qdl-academy-page .qdl-commerce-eyebrow,
.qdl-lesson-player .qdl-commerce-eyebrow {
    width: 36px;
    height: 36px;
    border-radius: var(--qdl-radius-small);
    background: var(--qdl-color-brand-soft);
    border-color: var(--qdl-color-border-strong);
    box-shadow: var(--qdl-shadow-1);
}

.qdl-academy-page .qdl-commerce-heading h2,
.qdl-lesson-player .qdl-commerce-heading h2 {
    color: var(--qdl-color-text-strong);
    font-size: var(--qdl-type-section);
    line-height: 1.45;
    letter-spacing: -.15px;
}

.qdl-academy-page .qdl-commerce-heading p,
.qdl-lesson-player .qdl-commerce-heading p {
    margin-top: 3px;
    color: var(--qdl-color-text-muted);
    font-size: var(--qdl-type-small);
}

.qdl-academy-page .qdl-commerce-count,
.qdl-lesson-player .qdl-commerce-count {
    min-width: 32px;
    height: 30px;
    padding-inline: 10px;
    color: var(--qdl-color-brand-strong);
    background: rgba(255,255,255,.82);
    border-color: var(--qdl-color-border-strong);
    box-shadow: var(--qdl-shadow-1);
}

/* Stable card geometry keeps one-to-four related products visually consistent. */
.qdl-academy-page .qdl-product-grid,
.qdl-lesson-player .qdl-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--qdl-space-4);
    align-items: stretch;
}

.qdl-academy-page .qdl-product-grid-count-1,
.qdl-lesson-player .qdl-product-grid-count-1 { grid-template-columns: minmax(0, 360px); }
.qdl-academy-page .qdl-product-grid-count-2,
.qdl-lesson-player .qdl-product-grid-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qdl-academy-page .qdl-product-grid-count-3,
.qdl-lesson-player .qdl-product-grid-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.qdl-academy-page .qdl-product-card,
.qdl-lesson-player .qdl-product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--qdl-color-border);
    border-radius: var(--qdl-radius-card);
    background: var(--qdl-color-surface);
    box-shadow: var(--qdl-shadow-1);
    transition: transform var(--qdl-transition-base), box-shadow var(--qdl-transition-base), border-color var(--qdl-transition-base);
}

.qdl-academy-page .qdl-product-card:hover,
.qdl-lesson-player .qdl-product-card:hover {
    transform: translateY(-2px);
    border-color: var(--qdl-color-border-strong);
    box-shadow: var(--qdl-shadow-2);
}

.qdl-academy-page .qdl-product-card.is-purchased,
.qdl-lesson-player .qdl-product-card.is-purchased {
    border-color: rgba(21,128,61,.20);
}

.qdl-academy-page .qdl-product-card.is-out-of-stock,
.qdl-lesson-player .qdl-product-card.is-out-of-stock {
    opacity: .82;
}

.qdl-academy-page .qdl-product-image,
.qdl-lesson-player .qdl-product-image {
    position: relative;
    isolation: isolate;
    width: 100%;
    aspect-ratio: 3 / 4;
    border-radius: var(--qdl-radius-small);
    background: linear-gradient(145deg, var(--qdl-color-brand-soft), var(--qdl-color-blue-soft));
    box-shadow: inset 0 0 0 1px rgba(110,73,245,.06);
    overflow: hidden;
}

.qdl-academy-page .qdl-product-image::after,
.qdl-lesson-player .qdl-product-image::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 36%;
    background: linear-gradient(180deg, transparent, rgba(32,25,70,.06));
    pointer-events: none;
    z-index: 1;
}

.qdl-academy-page .qdl-product-image img,
.qdl-lesson-player .qdl-product-image img {
    position: relative;
    z-index: 0;
    transition: transform var(--qdl-transition-base);
}

.qdl-academy-page .qdl-product-card:hover .qdl-product-image img,
.qdl-lesson-player .qdl-product-card:hover .qdl-product-image img {
    transform: scale(1.025);
}

.qdl-academy-page .qdl-product-image-placeholder,
.qdl-lesson-player .qdl-product-image-placeholder {
    color: var(--qdl-color-brand);
    font-size: 30px;
}

.qdl-academy-page .qdl-product-body,
.qdl-lesson-player .qdl-product-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 11px 2px 1px;
}

.qdl-academy-page .qdl-product-kicker,
.qdl-lesson-player .qdl-product-kicker {
    min-height: 24px;
    margin-bottom: 5px;
    padding: 4px 8px;
    border: 1px solid rgba(110,73,245,.10);
    border-radius: var(--qdl-radius-pill);
    background: var(--qdl-color-brand-soft);
    color: var(--qdl-color-brand-strong);
    font-size: 10px;
    font-weight: 900;
}

.qdl-academy-page .qdl-product-body h3,
.qdl-lesson-player .qdl-product-body h3 {
    margin: 0;
    min-height: calc(1.55em * 2);
    color: var(--qdl-color-text-strong);
    font-size: var(--qdl-type-card);
    line-height: 1.55;
}

.qdl-academy-page .qdl-product-body h3 a,
.qdl-lesson-player .qdl-product-body h3 a {
    color: inherit;
    text-decoration: none;
}

.qdl-academy-page .qdl-product-body h3 a:hover,
.qdl-lesson-player .qdl-product-body h3 a:hover {
    color: var(--qdl-color-brand-strong);
}

.qdl-academy-page .qdl-product-price,
.qdl-lesson-player .qdl-product-price {
    min-height: 24px;
    margin-top: 7px;
    margin-bottom: 7px;
    color: var(--qdl-color-blue);
    font-size: 15px;
    font-weight: 950;
    line-height: 1.5;
}

.qdl-academy-page .qdl-product-purchased,
.qdl-lesson-player .qdl-product-purchased {
    align-self: flex-start;
    margin: 0 0 8px;
    border: 1px solid var(--qdl-color-success-border);
    background: var(--qdl-color-success-soft);
    color: var(--qdl-color-success);
    font-size: 10px;
}

/* Product CTA is primary inside the card, but remains subordinate to lesson navigation. */
.qdl-academy-page .qdl-product-link,
.qdl-lesson-player .qdl-product-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-height: 42px;
    margin-top: auto;
    padding: 9px 12px;
    border-radius: var(--qdl-radius-control);
    border-color: transparent;
    background: linear-gradient(135deg, var(--qdl-color-brand), var(--qdl-color-blue));
    color: var(--qdl-color-on-brand);
    box-shadow: var(--qdl-shadow-primary);
}

.qdl-academy-page .qdl-product-link:hover,
.qdl-lesson-player .qdl-product-link:hover {
    transform: translateY(-1px);
    border-color: transparent;
    background: linear-gradient(135deg, var(--qdl-color-brand-strong), var(--qdl-color-blue));
    color: var(--qdl-color-on-brand);
    box-shadow: var(--qdl-shadow-primary);
}

.qdl-academy-page .qdl-product-link span,
.qdl-lesson-player .qdl-product-link span {
    opacity: .9;
    font-size: 13px;
}

/* Sidebar placement is intentionally denser and must not visually overpower lesson navigation. */
.qdl-lesson-player .qdl-lesson-commerce-sidebar {
    margin-top: var(--qdl-space-5);
    padding: var(--qdl-space-4);
    border-radius: var(--qdl-radius-card);
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-commerce-heading {
    margin-bottom: var(--qdl-space-3);
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-commerce-eyebrow {
    width: 30px;
    height: 30px;
    border-radius: var(--qdl-radius-small);
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-commerce-heading h2 {
    font-size: 16px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-grid {
    grid-template-columns: 1fr;
    gap: 9px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-card {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 11px;
    padding: 9px;
    border-radius: 16px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-image {
    width: 76px;
    aspect-ratio: 3 / 4;
    border-radius: 11px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-body {
    padding: 0;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-kicker {
    min-height: 22px;
    margin-bottom: 3px;
    padding: 3px 7px;
    font-size: 9px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-body h3 {
    min-height: calc(1.48em * 2);
    font-size: 12px;
    line-height: 1.48;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-price {
    min-height: 20px;
    margin: 4px 0;
    font-size: 12px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-purchased {
    margin-bottom: 4px;
    padding: 3px 6px;
    font-size: 9px;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-link {
    min-height: 34px;
    margin-top: 4px;
    padding: 7px 8px;
    border-radius: 11px;
    font-size: 11px;
    box-shadow: none;
}

.qdl-lesson-player .qdl-lesson-commerce-sidebar .qdl-product-link:hover {
    box-shadow: var(--qdl-shadow-1);
}

@media (max-width: 1060px) {
    .qdl-academy-page .qdl-product-grid,
    .qdl-lesson-player .qdl-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .qdl-academy-page .qdl-product-grid-count-1,
    .qdl-lesson-player .qdl-product-grid-count-1 { grid-template-columns: minmax(0, 360px); }
    .qdl-academy-page .qdl-product-grid-count-2,
    .qdl-lesson-player .qdl-product-grid-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .qdl-academy-page .qdl-academy-commerce,
    .qdl-lesson-player .qdl-academy-commerce { padding: var(--qdl-space-5); }
    .qdl-academy-page .qdl-product-grid,
    .qdl-lesson-player .qdl-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .qdl-academy-page .qdl-academy-commerce,
    .qdl-lesson-player .qdl-academy-commerce {
        padding: var(--qdl-space-4);
        border-radius: var(--qdl-radius-card);
    }
    .qdl-academy-page .qdl-commerce-heading,
    .qdl-lesson-player .qdl-commerce-heading { align-items: flex-start; }
    .qdl-academy-page .qdl-commerce-heading h2,
    .qdl-lesson-player .qdl-commerce-heading h2 { font-size: 18px; }
    .qdl-academy-page .qdl-product-grid,
    .qdl-lesson-player .qdl-product-grid { grid-template-columns: 1fr; }
    .qdl-academy-page .qdl-product-grid-count-1,
    .qdl-lesson-player .qdl-product-grid-count-1 { grid-template-columns: 1fr; }
    .qdl-academy-page .qdl-product-card,
    .qdl-lesson-player .qdl-product-card { border-radius: 16px; }
    .qdl-academy-page .qdl-product-image,
    .qdl-lesson-player .qdl-product-image { aspect-ratio: 16 / 10; }
    .qdl-academy-page .qdl-product-link,
    .qdl-lesson-player .qdl-product-link { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
    .qdl-academy-page .qdl-product-card,
    .qdl-lesson-player .qdl-product-card,
    .qdl-academy-page .qdl-product-image img,
    .qdl-lesson-player .qdl-product-image img,
    .qdl-academy-page .qdl-product-link,
    .qdl-lesson-player .qdl-product-link {
        transition: none !important;
    }
}

/* --- accessibility-responsive.css --- */
/* Phase 106 — UI-09 Accessibility + Responsive Deep Audit.
 * All selectors are scoped to Academy-owned surfaces. No WordPress Admin chrome/global direction is changed. */

/* Predictable keyboard focus: visible, high-contrast, and never dependent on hover. */
.qdl-academy-shell :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.qdl-academy-page :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.qdl-lesson-player :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.qdl-academy-admin-root :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
.qdl-academy-builder :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--qdl-color-border-focus, #6e49f5) !important;
    outline-offset: 3px;
}

/* Components that already use :focus-within should still expose a clear keyboard state. */
.qdl-lesson-player .qdl-quiz-option:focus-within,
.qdl-lesson-player .qdl-step-checklist-item:focus-within,
.qdl-academy-builder .qdl-builder-toggle-card:focus-within {
    outline: 3px solid var(--qdl-color-border-focus, #6e49f5);
    outline-offset: 3px;
}

/* Never move the focused control: keyboard users need a stable visual target. */
.qdl-academy-shell :where(a,button):focus-visible:hover,
.qdl-academy-page :where(a,button):focus-visible:hover,
.qdl-lesson-player :where(a,button):focus-visible:hover,
.qdl-academy-admin-root :where(a,button):focus-visible:hover,
.qdl-academy-builder :where(a,button):focus-visible:hover {
    transform: none !important;
}

/* Keyboard/assistive-technology jump targets. */
.qdl-lesson-player .qdl-lesson-main,
.qdl-lesson-player .qdl-step-card,
.qdl-lesson-player .qdl-quiz,
.qdl-lesson-player .qdl-quiz-result,
.qdl-academy-admin-shell,
.qdl-academy-builder .qdl-builder-section {
    scroll-margin-top: 84px;
}

/* Safe wrapping prevents RTL/LTR mixed technical labels from forcing horizontal scroll. */
.qdl-academy-shell,
.qdl-academy-page,
.qdl-lesson-player,
.qdl-academy-admin-shell,
.qdl-academy-builder {
    min-width: 0;
    max-width: 100%;
}
.qdl-academy-shell :where(p,h1,h2,h3,h4,h5,h6,span,a,label,small,strong,li,td,th,legend),
.qdl-academy-page :where(p,h1,h2,h3,h4,h5,h6,span,a,label,small,strong,li,td,th,legend),
.qdl-lesson-player :where(p,h1,h2,h3,h4,h5,h6,span,a,label,small,strong,li,td,th,legend),
.qdl-academy-admin-root :where(p,h1,h2,h3,h4,h5,h6,span,a,label,small,strong,li,td,th,legend),
.qdl-academy-builder :where(p,h1,h2,h3,h4,h5,h6,span,a,label,small,strong,li,td,th,legend) {
    overflow-wrap: anywhere;
}

.qdl-academy-shell :where(img,svg,video,iframe,canvas),
.qdl-academy-page :where(img,svg,video,iframe,canvas),
.qdl-lesson-player :where(img,svg,video,iframe,canvas),
.qdl-academy-admin-root :where(img,svg,video,iframe,canvas),
.qdl-academy-builder :where(img,svg,video,iframe,canvas) {
    max-inline-size: 100%;
}

/* Touch target floor for learner controls and compact admin controls. */
.qdl-academy-shell :where(.qdl-btn,.qdl-page-link,.qdl-academy-header-icon,.qdl-academy-header-toggle),
.qdl-academy-page :where(.qdl-btn,.qdl-page-link),
.qdl-lesson-player :where(.qdl-btn,.qdl-step-nav,.qdl-steps-toggle,.qdl-step-action-button,.qdl-product-link),
.qdl-academy-admin-shell :where(.qdl-academy-admin-nav-item,.qdl-academy-admin-dashboard-link),
.qdl-academy-builder :where(.qdl-builder-section-link,.button) {
    min-block-size: 44px;
}

/* Large text/textarea fields remain comfortably usable on narrow screens. */
.qdl-academy-admin-root :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.qdl-academy-builder :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    max-inline-size: 100%;
}

/* Do not depend on color alone for disabled controls. */
.qdl-academy-shell :where(button,a)[aria-disabled="true"],
.qdl-academy-page :where(button,a)[aria-disabled="true"],
.qdl-lesson-player :where(button,a)[aria-disabled="true"] {
    cursor: not-allowed;
}

/* Small-screen layout guardrails. */
@media (max-width: 820px) {
    .qdl-lesson-player .qdl-lesson-layout,
    .qdl-lesson-player .qdl-lesson-header-grid,
    .qdl-lesson-player .qdl-quiz-hud,
    .qdl-lesson-player .qdl-quiz-result-hero,
    .qdl-lesson-player .qdl-quiz-meta-strip,
    .qdl-lesson-player .qdl-quiz-question-actions,
    .qdl-academy-admin-shell .qdl-academy-admin-nav-items,
    .qdl-academy-builder .qdl-builder-commerce-grid {
        min-width: 0;
    }
}

@media (max-width: 640px) {
    .qdl-lesson-player .qdl-step-card,
    .qdl-lesson-player .qdl-quiz,
    .qdl-lesson-player .qdl-lesson-progress,
    .qdl-lesson-player .qdl-lesson-header,
    .qdl-lesson-player .qdl-lesson-steps-panel,
    .qdl-lesson-player .qdl-academy-commerce {
        max-inline-size: 100%;
    }

    .qdl-lesson-player .qdl-quiz-option,
    .qdl-lesson-player .qdl-step-action-button,
    .qdl-lesson-player .qdl-product-link,
    .qdl-lesson-player .qdl-btn {
        min-block-size: 46px;
    }

    .qdl-academy-admin-shell .qdl-academy-admin-nav-items {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
        padding-block-end: 2px;
    }
}

/* High contrast / forced color environments: preserve visible boundaries. */
@media (forced-colors: active) {
    .qdl-academy-shell :where(a,button,input,select,textarea,summary):focus-visible,
    .qdl-academy-page :where(a,button,input,select,textarea,summary):focus-visible,
    .qdl-lesson-player :where(a,button,input,select,textarea,summary):focus-visible,
    .qdl-academy-admin-root :where(a,button,input,select,textarea,summary):focus-visible,
    .qdl-academy-builder :where(a,button,input,select,textarea,summary):focus-visible {
        outline: 3px solid Highlight !important;
        outline-offset: 3px;
    }

    .qdl-lesson-player .qdl-quiz-option:focus-within,
    .qdl-lesson-player .qdl-step-checklist-item:focus-within,
    .qdl-academy-builder .qdl-builder-toggle-card:focus-within {
        outline: 3px solid Highlight;
    }

    .qdl-academy-shell :where(.qdl-btn,.qdl-step-nav,.qdl-step-action-button),
    .qdl-academy-page :where(.qdl-btn,.qdl-step-action-button),
    .qdl-lesson-player :where(.qdl-btn,.qdl-step-nav,.qdl-step-action-button),
    .qdl-academy-admin-shell :where(.qdl-academy-admin-nav-item,.qdl-academy-admin-dashboard-link),
    .qdl-academy-builder :where(.qdl-builder-section-link,.button) {
        forced-color-adjust: none;
        border: 1px solid CanvasText;
    }
}

/* Motion is optional; information, focus and state must remain intact. */
@media (prefers-reduced-motion: reduce) {
    .qdl-academy-shell *,
    .qdl-academy-page *,
    .qdl-lesson-player *,
    .qdl-academy-admin-root *,
    .qdl-academy-builder * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* --- navigation-loading.css --- */
/* Phase 111 — Lesson navigation locking and instant loading handoff */
.qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav,
.qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav-actions .qdl-btn,
.qdl-lesson-player .qdl-step-nav.is-qdl-navigation-locked,
.qdl-lesson-player .qdl-step-nav-actions .qdl-btn.is-qdl-navigation-locked {
  pointer-events:none!important;
  cursor:wait!important;
  transform:none!important;
}
.qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav-actions .qdl-step-prev,
.qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav-actions .qdl-step-next,
.qdl-lesson-player .qdl-step-nav.is-qdl-navigation-locked {
  opacity:.62;
  filter:saturate(.82);
}
.qdl-lesson-player.is-qdl-navigation-locked .qdl-lesson-steps-panel {
  position:relative;
}
.qdl-lesson-player.is-qdl-navigation-locked .qdl-lesson-steps-panel::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  cursor:wait;
  background:transparent;
}
@media(prefers-reduced-motion:reduce){
  .qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav,
  .qdl-lesson-player.is-qdl-navigation-locked .qdl-step-nav-actions .qdl-btn { transition:none!important; }
}

/* --- quiz-result-outcome.css --- */
/* Phase 117 — Quiz result reveal and lesson outcome experience. */
.qdl-lesson-player .qdl-quiz-result-preview{margin:0 28px 28px}
.qdl-lesson-player .qdl-quiz-result-preview-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;border:1px solid rgba(110,73,245,.14);border-radius:22px;background:linear-gradient(135deg,#fff,#fbf9ff 62%,#f3fff8);box-shadow:0 12px 28px rgba(72,53,150,.07)}
.qdl-lesson-player .qdl-quiz-result-preview-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--qdl-color-brand-soft),var(--qdl-color-teal-soft));color:var(--qdl-color-brand-strong);font-size:24px;font-weight:1000}
.qdl-lesson-player .qdl-quiz-result-preview-copy{min-width:0}
.qdl-lesson-player .qdl-quiz-result-preview-copy h3{margin:0;color:var(--qdl-color-text-strong);font-size:18px;line-height:1.6}
.qdl-lesson-player .qdl-quiz-result-preview-copy p{margin:4px 0 0;color:var(--qdl-color-text-muted);font-size:12px;line-height:1.8}
.qdl-lesson-player .qdl-quiz-result-preview-card .qdl-btn{min-height:48px;white-space:nowrap}
.qdl-lesson-player .qdl-lesson-outcome{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin:16px 28px 28px;padding:20px;border:1px solid rgba(110,73,245,.15);border-radius:22px;background:linear-gradient(135deg,#fff,#fbf9ff 55%,#effff7);box-shadow:0 14px 30px rgba(72,53,150,.07)}
.qdl-lesson-player .qdl-lesson-outcome.is-failed{border-color:#f7d8cc;background:linear-gradient(135deg,#fff,#fff7f3 60%,#fbf9ff)}
.qdl-lesson-player .qdl-lesson-outcome-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--qdl-color-brand-soft);color:var(--qdl-color-brand-strong);font-size:26px;font-weight:1000}
.qdl-lesson-player .qdl-lesson-outcome.is-failed .qdl-lesson-outcome-icon{background:#fff0ea;color:#a75d35}
.qdl-lesson-player .qdl-lesson-outcome-copy{min-width:0}
.qdl-lesson-player .qdl-lesson-outcome-kicker{display:block;font-size:11px;font-weight:950;color:var(--qdl-color-brand-strong)}
.qdl-lesson-player .qdl-lesson-outcome-copy h3{margin:4px 0 6px;font-size:22px;line-height:1.55;color:var(--qdl-color-text-strong)}
.qdl-lesson-player .qdl-lesson-outcome-copy p{margin:0;color:var(--qdl-color-text-muted);font-size:13px;line-height:1.9}
.qdl-lesson-player .qdl-lesson-outcome-actions{grid-column:1 / -1;display:flex;gap:10px;margin-top:4px}
.qdl-lesson-player .qdl-lesson-outcome-actions .qdl-btn{min-height:48px}
@media(max-width:700px){
  .qdl-lesson-player .qdl-quiz-result-preview,.qdl-lesson-player .qdl-lesson-outcome{margin-inline:18px}
  .qdl-lesson-player .qdl-quiz-result-preview-card{grid-template-columns:auto 1fr;gap:12px}
  .qdl-lesson-player .qdl-quiz-result-preview-card .qdl-btn{grid-column:1 / -1;width:100%}
  .qdl-lesson-player .qdl-lesson-outcome{grid-template-columns:auto 1fr}
  .qdl-lesson-player .qdl-lesson-outcome-copy h3{font-size:18px}
  .qdl-lesson-player .qdl-lesson-outcome-actions{flex-direction:column}
  .qdl-lesson-player .qdl-lesson-outcome-actions .qdl-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .qdl-lesson-player .qdl-quiz-result-preview-card,.qdl-lesson-player .qdl-lesson-outcome{animation:none!important;transition:none!important}
}
