/* =========================================================================
   LearnStack — front-end design system
   Editorial finance LMS: deep navy + teal, Source Serif display, Inter UI.
   ========================================================================= */

:root{
	--ls-navy:#1E293B; --ls-navy-2:#334155; --ls-navy-ink:#0f172a;
	--ls-primary:#4F46E5; --ls-primary-d:#4338CA; --ls-primary-tint:#eef0fe;
	--ls-teal:#4F46E5; --ls-teal-d:#4338CA;
	--ls-amber:#4F46E5; --ls-amber-d:#4338CA;
	--ls-app:#F5F6FA; --ls-paper:#ffffff; --ls-hover:#f6f9fc;
	--ls-line:#EAECF2; --ls-line-2:#F1F3F9;
	--ls-ink:#1E293B; --ls-muted:#64748B; --ls-faint:#94A3B8;
	--ls-red:#dc2626; --ls-green:#16a34a; --ls-amberc:#F59E0B; --ls-amberc-d:#b45309;
	--ls-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
	--ls-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	--ls-radius:16px; --ls-radius-sm:10px;
	--ls-shadow:0 1px 2px rgba(16,24,40,.04);
	--ls-shadow-sm:none;
}

/* ---- shared primitives (scoped to our containers) ---- */
.ls-app,.ls-course,.ls-dash,.ls-study,.ls-quiz,.ls-grid{font-family:var(--ls-sans);color:var(--ls-ink);-webkit-font-smoothing:antialiased}
.ls-serif{font-family:var(--ls-serif);letter-spacing:-.01em}
.rtl .ls-serif,.rtl .ls-app,.rtl .ls-course,.rtl .ls-dash,.rtl .ls-study{font-family:'IBM Plex Sans Arabic',var(--ls-sans)}
.ls-muted{color:var(--ls-muted)}
.ls-ic{width:18px;height:18px;flex:0 0 auto;vertical-align:middle}
.ls-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ls-amber-d)}

/* ---- buttons ---- */
.ls-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ls-sans);font-weight:600;font-size:15px;line-height:1.1;padding:11px 21px;border-radius:var(--ls-radius-sm);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:all .16s ease;white-space:nowrap}
.ls-btn .ls-ic{width:17px;height:17px}
.ls-btn-primary{background:var(--ls-primary-tint);color:var(--ls-primary-d);border-color:transparent}
.ls-btn-primary:hover{background:#e2e5fc;color:var(--ls-primary-d);border-color:transparent}
.ls-btn-primary.is-done{background:#e7f7ef;color:#15803d;border-color:transparent}
.ls-btn-primary.is-done:hover{background:#d7f0e2;color:#15803d;border-color:transparent}
.ls-btn-ghost{background:var(--ls-paper);border-color:var(--ls-line);color:var(--ls-navy)}
.ls-btn-ghost:hover{border-color:var(--ls-primary);color:var(--ls-primary)}
.ls-btn-danger{background:var(--ls-paper);border-color:#fca5a5;color:var(--ls-red)}
.ls-btn-danger:hover{background:var(--ls-red);color:#fff;border-color:var(--ls-red)}
.ls-btn-block{width:100%}
.ls-btn-small{padding:8px 15px;font-size:13px}

/* ---- progress ---- */
.ls-progress{height:7px;background:var(--ls-line);border-radius:99px;overflow:hidden;flex:1}
.ls-progress span{display:block;height:100%;background:var(--ls-teal);border-radius:99px;transition:width .4s ease}
.ls-progress-wrap{display:flex;align-items:center;gap:10px;width:100%}
.ls-progress-num{font-weight:700;color:var(--ls-teal-d);font-size:13px}

/* ---- tags ---- */
.ls-tag{font-size:11px;font-weight:700;padding:3px 11px;border-radius:8px;letter-spacing:.02em}
.ls-tag-lesson{background:var(--ls-primary-tint);color:var(--ls-primary-d)}
.ls-tag-quiz{background:#fff4e0;color:var(--ls-amberc-d)}
.ls-badge{display:inline-block;font-weight:700;font-size:12.5px;padding:4px 12px;border-radius:8px}
.ls-badge-pass{background:#e7f7ef;color:#15803d}
.ls-badge-fail{background:#fef2f2;color:var(--ls-red)}

/* =========================================================================
   IMMERSIVE PLAYER
   ========================================================================= */
body.ls-player-page{margin:0;background:var(--ls-app)}
/* Neutralise theme styling on our structural tags (themes often pad <aside>/<main>). */
.ls-player-page *{box-sizing:border-box}
.ls-player-page .ls-app,.ls-player-page .ls-body{margin:0;padding:0;width:auto;max-width:none;float:none}
.ls-player-page aside.ls-outline{margin:0;padding:0;min-width:0;float:none;border-radius:0;box-shadow:none}
.ls-player-page main.ls-stage{margin:0;padding:0;width:auto;max-width:none;float:none}
.ls-app{display:flex;flex-direction:column;min-height:100vh;background:var(--ls-app)}

/* top bar */
.ls-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;height:64px;padding:0 22px;background:var(--ls-paper);border-bottom:1px solid var(--ls-line)}
.ls-topbar-back{display:inline-flex;align-items:center;gap:7px;color:var(--ls-navy);font-weight:600;font-size:15px;text-decoration:none}
.ls-topbar-back:hover{color:var(--ls-amber-d)}
.ls-topbar-back .ls-ic{width:20px;height:20px}
.ls-topbar-left{display:flex;align-items:center;gap:14px;margin-inline-end:auto}
.ls-chapters-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ls-primary-tint);border:1px solid transparent;border-radius:999px;padding:8px 16px;cursor:pointer;color:var(--ls-primary-d);font-weight:700;font-size:14px;transition:background .15s ease}
.ls-chapters-btn:hover{background:#e2e5fc}
.ls-chapters-btn .ls-ic{width:17px;height:17px}
.ls-topbar-right{display:flex;align-items:center;gap:12px}
.ls-study-toggle{display:inline-flex;align-items:center;gap:9px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:999px;padding:5px 16px 5px 5px;cursor:pointer;color:var(--ls-navy);font-weight:700;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}
.ls-study-toggle:hover{border-color:var(--ls-primary);box-shadow:0 0 0 3px var(--ls-primary-tint)}
.ls-study-toggle .ls-ic{width:28px;height:28px;padding:7px;box-sizing:border-box;border-radius:50%;background:var(--ls-primary-tint);color:var(--ls-primary)}
.ls-topbar-brand{display:flex;align-items:center}
.ls-brand-name{font-family:var(--ls-serif);font-weight:700;font-size:20px;color:var(--ls-navy);letter-spacing:-.01em}
.ls-topbar-brand img{max-height:34px;width:auto}

/* body split */
.ls-body{flex:1;display:block}
.ls-body-grid{flex:1;display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start}
.ls-stage{min-width:0}
.ls-scrim{position:fixed;inset:64px 0 0;background:rgba(15,23,42,.4);opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:45}
.ls-app.ls-outline-open .ls-scrim{opacity:1;visibility:visible}

/* outline */
.ls-cside{position:sticky;top:64px;height:calc(100vh - 64px);background:var(--ls-paper);border-inline-end:1px solid var(--ls-line);display:flex;flex-direction:column;z-index:1}
.ls-app.ls-cside-hidden .ls-cside{display:none}
.ls-app.ls-cside-hidden .ls-body-grid{grid-template-columns:1fr}
.ls-cside-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 12px}
.ls-cside-title{font-weight:800;font-size:15px;color:var(--ls-navy);letter-spacing:-.01em}
.ls-cside-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--ls-app);border:0;cursor:pointer;color:var(--ls-muted)}
.ls-cside-close:hover{background:var(--ls-primary-tint);color:var(--ls-primary)}
.ls-cside-close .ls-ic{width:16px;height:16px}
.ls-cside-prog{display:flex;align-items:center;gap:10px;padding:0 16px 14px;border-bottom:1px solid var(--ls-line-2)}
.ls-cside-prog .ls-progress{flex:1;height:8px}
.ls-cside-prog span{font-size:12px;color:var(--ls-primary-d);font-weight:700;white-space:nowrap}
.ls-cside-scroll{flex:1;overflow-y:auto;padding:10px 0 24px}
.ls-cside-sec{padding:4px 0 6px}
.ls-cside-sec-h{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px;color:var(--ls-navy);padding:12px 16px 8px}
.ls-cside-sec-t{flex:1;min-width:0}
.ls-cside-subh{display:flex;align-items:center;gap:8px;padding:8px 16px 4px 22px;font-size:12px;font-weight:600;color:var(--ls-muted)}
.ls-cside-subh-t{flex:1;min-width:0}
.ls-mring{--pct:0;--rc:var(--ls-primary);width:32px!important;height:32px!important;border-radius:50%;flex:0 0 auto;margin:0;background:conic-gradient(var(--rc) calc(var(--pct)*1%),#e6e8f0 0);display:grid;place-items:center}
.ls-mring-in{width:23px;height:23px;border-radius:50%;background:var(--ls-paper);display:grid;place-items:center;font-size:9px;font-weight:800;color:var(--ls-navy)}
.ls-mring-sm{width:20px!important;height:20px!important;position:relative}
.ls-mring-sm::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ls-paper)}
/* Safety: never let the large .ls-ring component leak into the sidebar */
.ls-cside .ls-ring,.ls-cside-sec-h .ls-ring{width:32px!important;height:32px!important;margin:0!important}
.ls-cside-num{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:6px;background:var(--ls-primary-tint);color:var(--ls-primary-d);font-size:11px;font-weight:800;padding:0 5px}
.ls-cside-items{list-style:none;margin:0;padding:0 8px}
.ls-cside-item a,.ls-cside-item .ls-cside-row{display:flex;align-items:center;gap:11px;padding:10px 12px;text-decoration:none;color:var(--ls-ink);border-radius:12px;border:1px solid transparent}
.ls-cside-item a:hover{background:var(--ls-app)}
.ls-cside-type{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;background:var(--ls-app);color:var(--ls-muted)}
.ls-cside-type .ls-ic{width:15px;height:15px}
.ls-cside-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.ls-cside-name{font-size:13.5px;color:var(--ls-navy-2);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-cside-sub{font-size:11.5px;color:var(--ls-faint);font-weight:500}
.ls-cside-status{width:20px;height:20px;border-radius:50%;border:2px solid #d7dbe3;flex:0 0 auto;display:grid;place-items:center;color:#fff}
.ls-cside-status .ls-ic{width:11px;height:11px}
.ls-cside-item.is-current>a{background:var(--ls-primary-tint);border-inline-start:3px solid var(--ls-primary);padding-inline-start:9px}
.ls-cside-item.is-current .ls-cside-type{background:var(--ls-paper);color:var(--ls-primary)}
.ls-cside-item.is-current .ls-cside-name{color:var(--ls-primary-d);font-weight:700}
.ls-cside-item.is-current .ls-cside-status{border-color:var(--ls-primary);box-shadow:inset 0 0 0 3px var(--ls-primary)}
.ls-cside-item.is-done .ls-cside-status{border-color:var(--ls-green);background:var(--ls-green)}
.ls-cside-item.is-done .ls-cside-name{color:var(--ls-muted)}
.ls-cside-item.is-locked .ls-cside-type{color:var(--ls-faint)}
.ls-cside-item.is-locked .ls-cside-name{color:var(--ls-faint)}

/* Lesson content (video + tabs) */
.ls-lesson-inner{width:100%;max-width:900px;margin:0 auto;padding:30px clamp(20px,3vw,44px) 60px}
.ls-lesson-h{font-size:26px;font-weight:800;color:var(--ls-navy);margin:0 0 18px;line-height:1.22;text-align:center}
.ls-lesson-hero{margin:0 0 22px}
.ls-lesson-hero .ls-video{margin-bottom:0}
.ls-lesson-actions{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 24px}
.ls-lesson-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:34px;padding-top:24px;border-top:1px solid var(--ls-line)}
.ls-lesson-nav>*:first-child{justify-self:start}
.ls-lesson-nav>*:last-child{justify-self:end}
.ls-tabs-nav{display:flex;gap:8px;justify-content:center;border-bottom:1px solid var(--ls-line);margin-bottom:22px;overflow-x:auto;padding-bottom:8px}
.ls-tab{background:none;border:0;padding:8px 14px;border-radius:10px;font:600 14.5px var(--ls-sans);color:var(--ls-muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.ls-tab .ls-ic{width:16px;height:16px}
.ls-tab:hover{color:var(--ls-navy);background:var(--ls-app)}
.ls-tab.is-active{color:var(--ls-primary-d);background:var(--ls-primary-tint)}
.ls-tab-count{background:var(--ls-primary-tint);color:var(--ls-primary-d);font-size:11px;font-weight:700;padding:1px 7px;border-radius:99px;margin-inline-start:3px}
.ls-tab-panel{display:none}
.ls-tab-panel.is-active{display:block}
.ls-panel-h{font-size:17px;font-weight:700;color:var(--ls-navy);margin:0 0 12px}
.ls-lesson-body{font-size:16px;line-height:1.75;color:var(--ls-navy-2);max-width:none;margin:0}
.ls-resources{display:flex;flex-direction:column;gap:10px}
.ls-resource{display:flex;align-items:center;gap:12px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ls-navy)}
.ls-resource:hover{border-color:var(--ls-primary)}
.ls-resource-ic{width:38px;height:38px;border-radius:10px;background:var(--ls-primary-tint);color:var(--ls-primary);display:grid;place-items:center;flex:0 0 auto}
.ls-resource-name{flex:1;font-weight:600;font-size:14px}
.ls-resource-dl{color:var(--ls-faint)}
.ls-outline-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 12px}
.ls-outline-title{font-family:var(--ls-serif);font-weight:700;font-size:19px;color:var(--ls-navy)}
.ls-outline-close{background:none;border:0;cursor:pointer;color:var(--ls-faint);padding:4px;border-radius:6px}
.ls-outline-close:hover{color:var(--ls-navy);background:var(--ls-line-2)}
.ls-outline-course{display:flex;align-items:flex-start;gap:10px;padding:0 22px 10px;text-decoration:none}
.ls-outline-course:hover span{color:var(--ls-amber-d)}
.ls-outline-course .ls-ic{width:20px;height:20px;color:var(--ls-amber);margin-top:2px}
.ls-outline-course span{font-family:var(--ls-serif);font-weight:600;font-size:16px;color:var(--ls-navy);line-height:1.3}
.ls-outline-progress{display:flex;align-items:center;gap:10px;padding:6px 22px 16px;border-bottom:1px solid var(--ls-line)}
.ls-outline-pct{font-size:12px;font-weight:700;color:var(--ls-teal-d);white-space:nowrap}
.ls-outline-modules{flex:1;overflow-y:auto;padding:8px 0 40px}

.ls-mod{border-bottom:1px solid var(--ls-line-2)}
.ls-mod-head{width:100%;display:flex;align-items:center;gap:11px;padding:14px 22px;background:none;border:0;cursor:pointer;text-align:start}
.ls-mod-check{width:22px;height:22px;flex:0 0 auto;border-radius:50%;border:2px solid var(--ls-line);display:grid;place-items:center;color:transparent}
.ls-mod-check .ls-ic{width:12px;height:12px}
.ls-mod-check.is-done{background:var(--ls-teal);border-color:var(--ls-teal);color:#fff}
.ls-mod-title{flex:1;font-weight:600;font-size:14.5px;color:var(--ls-navy)}
.ls-mod-chev{color:var(--ls-faint);transition:transform .2s ease}
.ls-mod-chev .ls-ic{width:18px;height:18px}
.ls-mod.is-open .ls-mod-chev{transform:rotate(180deg)}
.ls-mod-body{display:none;padding-bottom:6px}
.ls-mod.is-open .ls-mod-body{display:block}
.ls-out-section{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ls-faint);padding:8px 22px 4px}
.ls-out-items{list-style:none;margin:0;padding:0}
.ls-out-item a{display:flex;align-items:flex-start;gap:11px;padding:9px 22px 9px 22px;text-decoration:none;border-inline-start:3px solid transparent}
.ls-out-item a:hover{background:var(--ls-hover)}
.ls-out-item.is-current a{background:var(--ls-hover);border-inline-start-color:var(--ls-amber)}
.ls-out-tick{width:20px;height:20px;flex:0 0 auto;border-radius:50%;border:2px solid var(--ls-line);display:grid;place-items:center;color:transparent;margin-top:1px}
.ls-out-tick .ls-ic{width:11px;height:11px}
.ls-out-item.is-done .ls-out-tick{background:var(--ls-teal);border-color:var(--ls-teal);color:#fff}
.ls-out-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.ls-out-name{font-size:14px;color:var(--ls-ink);line-height:1.35}
.ls-out-item.is-current .ls-out-name{font-weight:700;color:var(--ls-navy)}
.ls-out-item.is-done .ls-out-name{color:var(--ls-muted)}
.ls-out-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ls-faint)}
.ls-out-meta .ls-ic{width:14px;height:14px}

/* stage */
.ls-stage{min-width:0;display:flex;flex-direction:column;min-height:calc(100vh - 64px)}
.ls-stage-inner{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:34px clamp(20px,4vw,48px) 64px}
.ls-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.ls-stage-title{font-size:32px;font-weight:700;color:var(--ls-navy);margin:0 0 20px;line-height:1.18;text-align:center}
.ls-cc{flex:0 0 auto}
.ls-video{background:#05121f;border-radius:var(--ls-radius);overflow:hidden;box-shadow:var(--ls-shadow);margin-bottom:26px}
.ls-video video{display:block;width:100%}
.ls-embed{position:relative;padding-top:56.25%}
.ls-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ls-video-embed{line-height:0}
.ls-video-embed iframe{max-width:100%;border:0;display:block}
.ls-video-embed>iframe{width:100%;aspect-ratio:16/9;height:auto}
.ls-video .ls-embed,.ls-video-embed .ls-embed{position:relative;width:100%;padding-top:56.25%;height:0}
.ls-video .ls-embed iframe,.ls-video .ls-embed embed,.ls-video .ls-embed object{position:absolute;inset:0;width:100%!important;height:100%!important;border:0}
.ls-lesson-body{font-size:17px;line-height:1.78;color:var(--ls-ink);max-width:760px;margin:16px 0 0}
.ls-lesson-body h2,.ls-lesson-body h3{font-family:var(--ls-serif);color:var(--ls-navy)}
.ls-lesson-body img{max-width:100%;height:auto;border-radius:10px}
.ls-lesson-body iframe{width:100%;max-width:680px;aspect-ratio:16/9;height:auto;border:0;border-radius:10px;display:block}
.ls-lesson-body .wp-block-embed__wrapper,.ls-lesson-body .ls-embed{max-width:680px}
.ls-stage-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:34px;padding-top:22px;border-top:1px solid var(--ls-line)}

.ls-stage-foot{margin-top:auto;padding:20px 40px;border-top:1px solid var(--ls-line);display:flex;gap:18px;align-items:center;font-size:13px;color:var(--ls-faint);background:var(--ls-paper)}
.ls-stage-foot a{color:var(--ls-muted);text-decoration:none}
.ls-stage-foot a:hover{color:var(--ls-navy)}

.ls-stage-locked{align-items:center;justify-content:center}
.ls-locked-card{max-width:440px;margin:80px auto;text-align:center;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);padding:40px 32px;box-shadow:var(--ls-shadow)}
.ls-locked-card h1{font-size:24px;color:var(--ls-navy);margin:0 0 10px}
.ls-locked-card p{color:var(--ls-muted);margin:0 0 20px}
.ls-locked-card .ls-ic{width:34px;height:34px;color:var(--ls-faint);margin:0 auto 10px;display:block}
.ls-out-item.is-locked{opacity:.72}
.ls-out-lockrow{display:flex;align-items:flex-start;gap:11px;padding:9px 22px}
.ls-out-lock{color:var(--ls-faint)}
.ls-out-lock .ls-ic{width:13px;height:13px}
.ls-cert-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#eff9f6;border:1px solid #bfe9de;color:var(--ls-teal-d);padding:12px 16px;border-radius:12px;margin-bottom:18px;font-size:14px;font-weight:600}
.ls-prereq-lock{background:#fff7ed;border:1px solid #fdd9a8;border-radius:12px;padding:14px 16px}
.ls-prereq-lock .ls-ic{width:20px;height:20px;color:#b45309;vertical-align:-4px}
.ls-prereq-lock strong{color:#92400e;display:inline-block;margin-inline-start:6px}
.ls-prereq-lock ul{margin:8px 0 0;padding-inline-start:20px}
.ls-prereq-lock a{color:var(--ls-navy);font-weight:600}

/* =========================================================================
   COURSE LANDING
   ========================================================================= */
.ls-course-single-wrap{max-width:1120px;margin:0 auto;padding:40px 20px}
.ls-course-hero{background:#1E293B;border-radius:18px;margin:0 0 28px;color:#fff;overflow:hidden}
.ls-hero-split{display:grid;grid-template-columns:1.5fr 1fr;align-items:stretch}
.ls-course-hero-main{padding:40px 42px}
.ls-course-hero .ls-eyebrow{color:#F6A45C}
.ls-course-title{font-size:34px;font-weight:700;color:#fff;line-height:1.14;margin:10px 0 14px}
.ls-course-sub{font-size:15.5px;color:rgba(255,255,255,.82);line-height:1.6;max-width:52ch;margin:0 0 18px}
.ls-course-meta{display:flex;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.9);font-size:14px}
.ls-course-meta span{display:inline-flex;align-items:center;gap:7px}
.ls-course-meta .ls-ic{color:#818cf8;width:17px;height:17px}
.ls-hero-author{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:14px;color:rgba(255,255,255,.9)}
.ls-hero-author img{border-radius:50%}
.ls-hero-cta{margin-top:22px;max-width:340px}
.ls-hero-cta .ls-btn,.ls-hero-cta .ls-btn-block{display:block;width:100%;text-align:center}
.ls-hero-cta .ls-btn-primary{background:var(--ls-primary)!important;color:#fff!important;border:1px solid var(--ls-primary)!important;padding:13px 20px!important;font-weight:700!important}
.ls-hero-cta .ls-btn-primary:hover{background:var(--ls-primary-d)!important;border-color:var(--ls-primary-d)!important}
.ls-hero-cta .ls-btn-ghost{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}
.ls-hero-cta .ls-progress-wrap{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ls-hero-cta .ls-progress{flex:1;height:8px;background:rgba(255,255,255,.18);border-radius:99px;overflow:hidden}
.ls-hero-cta .ls-progress span{display:block;height:100%;background:#818cf8;border-radius:99px}
.ls-hero-cta .ls-progress-num{font-size:13px;font-weight:700;color:#fff}
.ls-hero-cta .ls-wish-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;padding:11px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;font-weight:600;font-size:14px}
.ls-hero-cta .ls-wish-btn:hover{background:rgba(255,255,255,.14)}
.ls-hero-cta .ls-wish-btn.is-saved{color:#fca5a5}
.ls-hero-cta .ls-wish-btn.is-saved .dashicons{color:#f87171}
.ls-course-hero-media{background:var(--ls-primary-tint);display:grid;place-items:center;overflow:hidden;min-height:260px}
.ls-course-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.ls-course-hero-ph{color:var(--ls-primary)}
.ls-course-hero-ph .ls-ic{width:46px;height:46px}
.ls-course-main{max-width:820px}
.ls-course-body{font-size:16.5px;line-height:1.78;color:var(--ls-ink);margin-bottom:34px}
.ls-course-body h2,.ls-course-body h3{font-family:var(--ls-serif);color:var(--ls-navy)}
.ls-h2{font-family:var(--ls-serif);font-size:24px;font-weight:700;color:var(--ls-navy);margin:0 0 8px}
.ls-content-summary{color:var(--ls-muted);font-size:14px;margin:0 0 16px}
.ls-course-aside{position:sticky;top:24px}
.ls-enroll-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;overflow:hidden;box-shadow:var(--ls-shadow)}
.ls-enroll-thumb{aspect-ratio:16/9;background:var(--ls-line-2);overflow:hidden}
.ls-enroll-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-enroll-inner{padding:22px}
.ls-enroll-box{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.ls-buy{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ls-price{font-size:28px;font-weight:800;color:var(--ls-navy);font-family:var(--ls-serif)}
.ls-price del{color:var(--ls-faint);font-weight:600;font-size:17px;margin-inline-end:6px}
.ls-price ins{text-decoration:none}
.ls-course-facts{list-style:none;margin:0;padding:16px 0;border-top:1px solid var(--ls-line);display:flex;flex-direction:column;gap:12px}
.ls-course-facts li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ls-muted)}
.ls-course-facts .ls-ic{color:var(--ls-teal)}
.ls-enroll-instructor{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--ls-line)}
.ls-enroll-instructor img{border-radius:50%}
.ls-ei-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ls-faint)}
.ls-ei-name{display:block;font-weight:700;color:var(--ls-navy);font-size:15px}

/* curriculum accordion (landing) */
.ls-curriculum{border:1px solid var(--ls-line);border-radius:var(--ls-radius);overflow:hidden;background:var(--ls-paper)}
.ls-acc{border-bottom:1px solid var(--ls-line)}
.ls-acc:last-child{border-bottom:0}
.ls-acc-head{width:100%;display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--ls-hover);border:0;cursor:pointer;text-align:start}
.ls-acc-title{flex:1;font-weight:700;font-size:15.5px;color:var(--ls-navy)}
.ls-acc-meta{font-size:12.5px;color:var(--ls-muted)}
.ls-acc-head .ls-ic{color:var(--ls-faint);transition:transform .2s ease}
.ls-acc.is-open .ls-acc-head .ls-ic{transform:rotate(180deg)}
.ls-acc-body{display:none;padding:6px 0 10px}
.ls-acc.is-open .ls-acc-body{display:block}
.ls-acc-section{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ls-faint);padding:10px 20px 4px}
.ls-acc-items{list-style:none;margin:0;padding:0}
.ls-acc-item{display:flex;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--ls-line-2)}
.ls-acc-items li:first-child{border-top:0}
.ls-acc-lead{color:var(--ls-faint);display:inline-flex}
.ls-acc-lead .ls-ic{width:18px;height:18px}
.ls-acc-item.is-done .ls-acc-lead{color:var(--ls-teal)}
.ls-acc-name{flex:1;font-size:14.5px;color:var(--ls-ink);text-decoration:none}
a.ls-acc-name:hover{color:var(--ls-amber-d)}
.ls-acc-itemmeta{font-size:12.5px;color:var(--ls-faint)}

/* =========================================================================
   QUIZ
   ========================================================================= */
.ls-quiz-intro{text-align:center;max-width:560px;margin:0 auto;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:40px 34px;box-shadow:var(--ls-shadow-sm)}
.ls-quiz-intro .ls-stage-title{margin-top:0}
.ls-quiz-facts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:16px 0 22px}
.ls-quiz-facts span{background:var(--ls-primary-tint);color:var(--ls-primary-d);font-size:13px;font-weight:600;padding:6px 14px;border-radius:99px}
.ls-quiz .ls-btn-primary{background:var(--ls-primary)!important;color:#fff!important;border:1px solid var(--ls-primary)!important}
.ls-quiz .ls-btn-primary:hover{background:var(--ls-primary-d)!important;border-color:var(--ls-primary-d)!important}
.ls-quiz-start{padding:12px 30px!important;font-size:15px!important;font-weight:700!important}
.ls-quiz-passed-note{color:var(--ls-teal-d);font-weight:600}
.ls-quiz-timer{font-weight:600;color:var(--ls-muted)}
.ls-quiz-steps{display:flex;align-items:center;margin-bottom:20px;overflow-x:auto;overflow-y:hidden;padding:8px 10px}
.ls-step{flex:0 0 auto}
.ls-step-node{display:grid;place-items:center;width:10px;height:10px;border-radius:50%;background:#d7dbe6;transition:all .18s ease}
.ls-step.is-current .ls-step-node{width:24px;height:24px;background:var(--ls-primary);color:#fff;font-size:11px;font-weight:700;box-shadow:0 0 0 4px var(--ls-primary-tint)}
.ls-step.is-done .ls-step-node{width:22px;height:22px;background:var(--ls-green);color:#fff}
.ls-step.is-done .ls-step-node .dashicons{font-size:15px;width:15px;height:15px;line-height:15px}
.ls-step-rail{flex:1;min-width:14px;height:2px;background:#e6e8f0;transition:background .18s ease}
.ls-step-rail.is-done{background:var(--ls-green)}
.ls-quiz-q{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);padding:26px 28px;box-shadow:var(--ls-shadow-sm)}
.ls-q-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ls-q-counter{font-size:12px;font-weight:600;color:var(--ls-primary-d);background:var(--ls-primary-tint);padding:5px 12px;border-radius:99px}
.ls-q-timerchip{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ls-muted);font-weight:600}
.ls-q-timerchip .dashicons{font-size:16px;width:16px;height:16px}
.ls-q-prompt{font-size:20px;font-weight:600;color:var(--ls-navy);margin-bottom:20px;font-family:var(--ls-sans)}
.ls-q-options{display:flex;flex-direction:column;gap:10px}
.ls-opt{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--ls-line);border-radius:12px;cursor:pointer;transition:border-color .13s ease,background .13s ease;font-size:14.5px;color:var(--ls-ink)}
.ls-opt:hover{border-color:#c7ccf7;background:var(--ls-hover)}
.ls-opt input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.ls-opt-letter{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:var(--ls-primary-tint);color:var(--ls-primary-d);font-weight:700;font-size:14px;display:grid;place-items:center;transition:background .13s ease,color .13s ease}
.ls-opt-text{flex:1}
.ls-opt-tick{margin-inline-start:auto;color:#fff;font-size:18px;width:18px;height:18px;opacity:0;transition:opacity .13s ease}
.ls-opt:has(input:checked){border-color:var(--ls-primary);background:#f5f6ff}
.ls-opt:has(input:checked) .ls-opt-letter{background:var(--ls-primary);color:#fff}
.ls-opt.is-correct{border-color:var(--ls-green);background:#e7f7ef}
.ls-opt.is-correct .ls-opt-letter{background:var(--ls-green);color:#fff}
.ls-opt.is-correct .ls-opt-tick{opacity:1}
.ls-opt.is-wrong{border-color:var(--ls-red);background:#fdeaea}
.ls-opt.is-wrong .ls-opt-letter{background:var(--ls-red);color:#fff}
.ls-fill{width:100%;padding:13px 16px;border:1.5px solid var(--ls-line);border-radius:var(--ls-radius-sm);font-size:15px;font-family:inherit}
.ls-fill.is-correct{border-color:var(--ls-teal);background:#effaf7}
.ls-fill.is-wrong{border-color:var(--ls-red);background:#fef2f2}
.ls-q-feedback{margin-top:16px;padding:16px;border-radius:var(--ls-radius-sm);background:var(--ls-hover);border:1px solid var(--ls-line)}
.ls-fb-status{font-weight:700;font-size:14px}
.ls-fb-status.ok{color:var(--ls-teal-d)}
.ls-fb-status.no{color:var(--ls-red)}
.ls-fb-accepted{font-size:13px;color:var(--ls-muted);margin-top:4px}
.ls-fb-explain{font-size:14.5px;line-height:1.65;margin-top:8px;color:var(--ls-ink)}
.ls-q-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.ls-quiz-result{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);padding:28px;box-shadow:var(--ls-shadow)}
.ls-qr-top{display:flex;align-items:center;gap:26px;margin-bottom:20px;flex-wrap:wrap}
.ls-score-ring{--pct:0;--ring:#4F46E5;position:relative;width:150px;height:150px;border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--ring) calc(var(--pct)*1%),#eef1f6 0);display:grid;place-items:center}
.ls-score-ring-in{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:114px;height:114px;border-radius:50%;background:var(--ls-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;box-shadow:inset 0 0 0 1px var(--ls-line-2)}
.ls-score-num{font-size:32px;font-weight:800;color:var(--ls-navy);line-height:1}
.ls-score-lbl{font-size:11px;color:var(--ls-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ls-qr-meta{flex:1;min-width:220px}
.ls-qr-badge{display:inline-block;font-size:13px;font-weight:700;padding:6px 14px;border-radius:99px;margin-bottom:14px}
.ls-qr-badge.pass{background:#e7f7ef;color:#15803d}
.ls-qr-badge.fail{background:#fdeaea;color:#b91c1c}
.ls-qr-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ls-qr-tile{background:var(--ls-app);border:1px solid var(--ls-line-2);border-radius:12px;padding:12px 10px;text-align:center}
.ls-qr-tile-v{display:block;font-size:19px;font-weight:800;color:var(--ls-navy)}
.ls-qr-tile-l{display:block;font-size:11.5px;color:var(--ls-muted);font-weight:600;margin-top:3px}
.ls-result-breakdown{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.ls-rb-item{border:1px solid var(--ls-line);border-inline-start:3px solid var(--ls-line);border-radius:8px;padding:13px 15px}
.ls-rb-item.ok{border-inline-start-color:var(--ls-green)}
.ls-rb-item.no{border-inline-start-color:#dc2626}
.ls-rb-q{font-weight:600;margin-bottom:4px;color:var(--ls-navy)}
.ls-rb-status{font-size:13px;font-weight:700;color:var(--ls-muted)}
.ls-rb-item.ok .ls-rb-status{color:var(--ls-teal-d)}
.ls-rb-item.no .ls-rb-status{color:var(--ls-red)}
.ls-result-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}

/* =========================================================================
   DASHBOARD
   ========================================================================= */
.ls-dash-wrap{background:var(--ls-app);padding:22px;border-radius:18px}
.ls-dash{display:grid;grid-template-columns:236px 1fr;gap:22px;align-items:start}
.ls-dash-side{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:18px;padding:16px 12px;position:sticky;top:20px;box-shadow:var(--ls-shadow-sm);display:flex;flex-direction:column;min-height:520px}
.ls-dash-brand{padding:6px 10px 16px;margin-bottom:6px;border-bottom:1px solid var(--ls-line-2)}
.ls-dash-brand img{max-height:34px;width:auto}
.ls-dash-logo{font-weight:800;font-size:19px;color:var(--ls-navy)}
.ls-dash-group{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ls-faint);padding:12px 12px 6px}
.ls-dash-nav{display:flex;flex-direction:column;gap:3px}
.ls-dash-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;text-decoration:none;color:#475569;font-weight:600;font-size:14px}
.ls-dash-link:hover{background:var(--ls-app);color:var(--ls-navy)}
.ls-dash-link.is-active{background:var(--ls-primary);color:#fff}
.ls-dash-link.is-active .dashicons{color:#fff}
.ls-dash-link .dashicons{font-size:18px;width:18px;height:18px;color:var(--ls-faint)}
.ls-dash-promo{margin-top:auto;background:var(--ls-primary-tint);border-radius:14px;padding:16px;text-align:center}
.ls-dash-promo .dashicons{font-size:22px;width:auto;height:auto;color:var(--ls-primary)}
.ls-dash-promo-t{font-weight:700;color:var(--ls-navy);font-size:14px;margin-top:6px}
.ls-dash-promo-s{font-size:12px;color:var(--ls-muted);margin:2px 0 12px}
.ls-dash-main{min-width:0}
.ls-dash-topbar{display:flex;align-items:center;gap:16px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:10px 16px;margin-bottom:20px;box-shadow:var(--ls-shadow-sm)}
.ls-dash-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--ls-app);border-radius:10px;padding:8px 12px;max-width:420px}
.ls-dash-search .dashicons{color:var(--ls-faint);font-size:18px}
.ls-dash-search input{border:0;background:none;outline:none;width:100%;font-size:14px;font-family:inherit;color:var(--ls-ink)}
.ls-dash-topbar-right{margin-inline-start:auto;display:flex;align-items:center;gap:14px}
.ls-dash-bell{position:relative;color:var(--ls-muted);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ls-app)}
.ls-dash-bell .dashicons{font-size:20px}
.ls-dash-bell-badge{position:absolute;top:4px;inset-inline-end:5px;background:var(--ls-red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:grid;place-items:center;padding:0 3px}
.ls-dash-profile-chip{display:flex;align-items:center;gap:9px;text-decoration:none}
.ls-dash-profile-chip img{border-radius:50%}
.ls-dash-profile-name{display:block;font-weight:700;color:var(--ls-navy);font-size:13.5px;line-height:1.2}
.ls-dash-profile-role{display:block;font-size:12px;color:var(--ls-muted)}
.ls-welcome{margin-bottom:24px}
.ls-welcome-h{font-size:24px;font-weight:800;color:var(--ls-navy);margin:0 0 4px}
.ls-welcome-h span,.ls-welcome-h em{color:var(--ls-primary);font-style:normal}
.ls-welcome-sub{color:var(--ls-muted);font-size:14.5px;margin:0}
.ls-section-label{font-size:15px;font-weight:700;color:var(--ls-navy);margin:26px 0 14px}
.ls-section-head{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}
.ls-section-head .ls-section-label{margin:0}
.ls-view-all{font-size:13px;font-weight:700;color:var(--ls-primary);text-decoration:none}
.ls-view-all:hover{color:var(--ls-primary-d)}
.ls-dash-h2{font-family:var(--ls-sans);font-size:22px;color:var(--ls-navy);margin:0 0 20px;font-weight:800}
.ls-dash-h3{font-family:var(--ls-sans);font-size:16px;color:var(--ls-navy);margin:26px 0 12px;font-weight:700}
.ls-dash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.ls-dash-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:18px 20px;text-align:start;box-shadow:var(--ls-shadow-sm)}
.ls-dash-card .dashicons{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--ls-primary-tint);color:var(--ls-primary);font-size:20px;margin-bottom:14px}
.ls-dash-card .ls-ic-blue{background:#eef0fe;color:#4F46E5}
.ls-dash-card .ls-ic-green{background:#e7f7ef;color:#16a34a}
.ls-dash-card .ls-ic-violet{background:#f3ecfe;color:#7c3aed}
.ls-dash-card .ls-ic-amber{background:#fff4e0;color:#d97706}
.ls-dash-card-val{font-size:28px;font-weight:800;color:var(--ls-navy);line-height:1.1}
.ls-dash-card-lbl{font-size:13px;color:var(--ls-muted);margin-top:3px}
.ls-continue{display:flex;align-items:center;gap:18px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:16px;box-shadow:var(--ls-shadow-sm)}
.ls-cl-thumb{width:88px;height:64px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#4F46E5,#7c74f0);flex:0 0 auto}
.ls-cl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-cl-body{flex:1;min-width:0}
.ls-cl-title{font-weight:700;color:var(--ls-navy);font-size:15px}
.ls-cl-sub{font-size:13px;color:var(--ls-muted);margin:2px 0 8px}
.ls-cl-progress{display:flex;align-items:center;gap:10px}
.ls-cl-pct{font-size:12px;font-weight:700;color:var(--ls-muted)}
.ls-cl-btn{flex:0 0 auto}
.ls-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.ls-card-pct{font-size:12.5px;color:var(--ls-primary-d);font-weight:700}
.ls-card-lessons{font-size:12px;color:var(--ls-muted)}
.ls-table{width:100%;border-collapse:collapse;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);overflow:hidden}
.ls-table th,.ls-table td{text-align:start;padding:12px 15px;border-bottom:1px solid var(--ls-line);font-size:14px}
.ls-table th{background:var(--ls-app);font-weight:700;color:var(--ls-navy);font-size:12.5px;letter-spacing:.02em}
.ls-table tr:last-child td{border-bottom:0}
.ls-table a{color:var(--ls-navy);text-decoration:none;font-weight:600}
.ls-table a:hover{color:var(--ls-primary-d)}
.ls-progress-sm{display:inline-block;width:90px;height:6px;vertical-align:middle}

/* My Courses (list) + Quizzes */
.ls-mc-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.ls-dtabs{display:flex;gap:20px;border-bottom:1px solid var(--ls-line);flex:1}
.ls-dtab{background:none;border:0;padding:10px 2px;font:600 14px var(--ls-sans);color:var(--ls-muted);cursor:pointer;border-bottom:2px solid transparent}
.ls-dtab:hover{color:var(--ls-navy)}
.ls-dtab.is-active{color:var(--ls-primary);border-bottom-color:var(--ls-primary)}
.ls-mc-search{display:flex;align-items:center;gap:8px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:10px;padding:8px 12px}
.ls-mc-search .dashicons{color:var(--ls-faint);font-size:18px}
.ls-mc-search input{border:0;outline:none;background:none;font-size:14px;font-family:inherit;width:180px}
.ls-mc-list{display:flex;flex-direction:column;gap:12px}
.ls-mc-row{display:flex;align-items:center;gap:16px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:14px 16px;box-shadow:var(--ls-shadow-sm)}
.ls-mc-thumb{width:70px;height:52px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#4F46E5,#7c74f0);flex:0 0 auto}
.ls-mc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-mc-main{flex:1;min-width:0}
.ls-mc-title{font-weight:700;color:var(--ls-navy);font-size:15px}
.ls-mc-meta{font-size:12.5px;color:var(--ls-muted);margin:2px 0 8px}
.ls-mc-progress{display:flex;align-items:center;gap:10px;max-width:340px}
.ls-mc-pct{font-size:12px;font-weight:700;color:var(--ls-muted)}
.ls-mc-empty{padding:10px 0}
.ls-qz-row{display:flex;align-items:center;gap:14px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:14px 16px;box-shadow:var(--ls-shadow-sm)}
.ls-qz-ic{width:42px;height:42px;border-radius:12px;background:var(--ls-primary-tint);color:var(--ls-primary);display:grid;place-items:center;flex:0 0 auto}
.ls-qz-ic .dashicons{font-size:20px}
.ls-qz-main{flex:1;min-width:0}
.ls-qz-title{font-weight:700;color:var(--ls-navy);font-size:14.5px}
.ls-qz-meta{font-size:12.5px;color:var(--ls-muted);margin-top:2px}
.ls-qz-score{font-weight:800;color:var(--ls-navy);font-size:15px;min-width:44px;text-align:end}
.ls-badge-progress{background:#fff4e0;color:var(--ls-amberc-d)}
.ls-badge-muted{background:#f1f3f7;color:var(--ls-muted)}
.ls-wish-btn{display:inline-flex;align-items:center;gap:7px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:10px;padding:9px 15px;font-weight:600;font-size:14px;color:var(--ls-navy);cursor:pointer}
.ls-wish-btn:hover{border-color:var(--ls-primary)}
.ls-wish-btn.is-saved{background:var(--ls-primary-tint);border-color:var(--ls-primary);color:var(--ls-primary-d)}
.ls-wish-btn .dashicons{font-size:18px}
.ls-dash-profile{display:flex;align-items:center;gap:16px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);padding:20px}
.ls-dash-profile img{border-radius:50%}
.ls-profile-name{font-weight:700;color:var(--ls-navy);font-size:17px}

/* course grid cards (shortcodes / dashboard) */
.ls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.ls-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ls-ink);display:flex;flex-direction:column;transition:border-color .16s ease,box-shadow .16s ease;box-shadow:var(--ls-shadow-sm)}
.ls-card:hover{border-color:var(--ls-primary);box-shadow:var(--ls-shadow)}
.ls-card-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#4F46E5,#7c74f0);overflow:hidden}
.ls-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-card-body{padding:16px 17px}
.ls-card-body h4{margin:0 0 10px;font-size:15.5px;color:var(--ls-navy);font-family:var(--ls-sans);font-weight:700;line-height:1.35}
.ls-card-pct{font-size:12px;color:var(--ls-muted);font-weight:600}
.ls-card .ls-progress{margin:8px 0 4px}

/* =========================================================================
   STUDY PLANNER
   ========================================================================= */
.ls-study-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ls-study-switch select{padding:9px 13px;border:1px solid var(--ls-line);border-radius:10px;font-size:14px}
.ls-study-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:var(--ls-radius);padding:20px;margin-bottom:16px;box-shadow:var(--ls-shadow-sm)}
.ls-study-card h3{margin:0 0 12px;font-size:16px;color:var(--ls-navy);font-family:var(--ls-serif);font-weight:700}
.ls-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ls-card-head h3{margin:0}
.ls-mini-head{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ls-amber-d);margin:6px 0}
.ls-study-create h3{font-size:19px}
.ls-field{margin-bottom:16px}
.ls-field>label{display:block;font-weight:600;font-size:13px;margin-bottom:8px;color:var(--ls-navy)}
.ls-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ls-field input[type=date]{padding:10px 12px;border:1px solid var(--ls-line);border-radius:10px;width:100%}
.ls-range{display:flex;align-items:center;gap:12px}
.ls-range input[type=range]{flex:1;accent-color:var(--ls-amber)}
.ls-range output{font-weight:700;color:var(--ls-amber-d);min-width:42px}
.ls-days{display:flex;gap:6px;flex-wrap:wrap}
.ls-day{position:relative;cursor:pointer}
.ls-day input{position:absolute;opacity:0}
.ls-day span{display:inline-block;padding:9px 13px;border:1px solid var(--ls-line);border-radius:10px;font-size:13px;font-weight:600;color:var(--ls-muted)}
.ls-day.is-on span{background:var(--ls-navy);border-color:var(--ls-navy);color:#fff}
.ls-study-banner{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:12px;margin-bottom:16px;font-size:14px}
.ls-study-banner .ls-dot{width:10px;height:10px;border-radius:50%}
.ls-st-on_track{background:#e7f8f1;color:var(--ls-teal-d)}.ls-st-on_track .ls-dot{background:var(--ls-teal)}
.ls-st-slightly_behind{background:#fff7ed;color:#b45309}.ls-st-slightly_behind .ls-dot{background:#f59e0b}
.ls-st-behind{background:#fef2f2;color:#b91c1c}.ls-st-behind .ls-dot{background:var(--ls-red)}
.ls-study-rings{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:18px}
.ls-ring-card{text-align:center;margin-bottom:0}
.ls-ring{--p:0;--rc:var(--ls-amber);width:104px;height:104px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;background:conic-gradient(var(--rc) calc(var(--p)*1%),#eef1f5 0);position:relative}
.ls-ring::before{content:"";position:absolute;inset:11px;background:var(--ls-paper);border-radius:50%}
.ls-ring-val{position:relative;font-size:22px;font-weight:800;color:var(--ls-navy);font-family:var(--ls-serif)}
.ls-ring.is-sm .ls-ring-val{font-size:18px}
.ls-ring-lbl{font-weight:700;font-size:13px;color:var(--ls-navy)}
.ls-ring-sub{font-size:12px;color:var(--ls-muted)}
.ls-study-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}
.ls-tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ls-task{display:flex;align-items:flex-start;gap:12px;padding:11px 13px;border:1px solid var(--ls-line);border-radius:10px}
.ls-task.is-done{background:var(--ls-app);opacity:.75}
.ls-check{flex:0 0 auto;width:24px;height:24px;min-width:24px;box-sizing:border-box;padding:0;-webkit-appearance:none;appearance:none;border-radius:50%;border:2px solid #d0d5dd;background:var(--ls-paper);cursor:pointer;margin-top:1px;position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.ls-check:hover{border-color:var(--ls-primary);box-shadow:0 0 0 3px var(--ls-primary-tint)}
.ls-task.is-done .ls-check{background:var(--ls-primary);border-color:var(--ls-primary);box-shadow:none}
.ls-task.is-done .ls-check::after{content:"";position:absolute;inset-inline-start:8px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ls-task-body{flex:1;min-width:0}
.ls-task-title{font-weight:600;color:var(--ls-navy);text-decoration:none;font-size:14.5px}
.ls-task.is-done .ls-task-title{text-decoration:line-through;color:var(--ls-muted)}
.ls-task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.ls-topic{font-size:12px;color:var(--ls-muted)}
.ls-mins{font-size:12px;color:var(--ls-muted);margin-inline-start:auto}
.ls-day-group{margin-top:12px}
.ls-day-date{font-weight:700;font-size:12.5px;color:var(--ls-navy);margin-bottom:6px}
.ls-timer{display:flex;align-items:center;gap:10px}
.ls-timer-display{font-variant-numeric:tabular-nums;font-weight:700;color:var(--ls-navy)}
.ls-timer.is-running .ls-timer-display{color:var(--ls-amber-d)}
.ls-chart{display:flex;align-items:flex-end;gap:8px;height:120px;padding-top:8px}
.ls-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.ls-bar-track{position:relative;width:60%;flex:1;background:#eef1f5;border-radius:6px;overflow:hidden}
.ls-bar-pl{position:absolute;bottom:0;left:0;right:0;background:#dbe4ee}
.ls-bar-dn{position:absolute;bottom:0;left:0;right:0;background:var(--ls-teal)}
.ls-bar-lbl{font-size:10px;color:var(--ls-muted)}
.ls-note-add{display:flex;gap:8px;margin-bottom:12px}
.ls-note-add textarea{flex:1;border:1px solid var(--ls-line);border-radius:10px;padding:9px 11px;font-size:13px;resize:vertical;font-family:inherit}
.ls-note-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}
.ls-note{position:relative;background:var(--ls-app);border:1px solid var(--ls-line);border-radius:10px;padding:10px 32px 10px 12px}
.ls-note-meta{font-size:11px;color:var(--ls-muted);margin-bottom:2px}
.ls-note-body{font-size:13.5px;line-height:1.5}
.ls-note-del{position:absolute;top:6px;inset-inline-end:8px;border:0;background:none;color:#cbd5e1;font-size:18px;cursor:pointer;line-height:1}
.ls-note-del:hover{color:var(--ls-red)}
.ls-facts{list-style:none;margin:0 0 12px;padding:0}
.ls-facts li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--ls-line);font-size:13.5px}
.ls-facts li:last-child{border-bottom:0}
.ls-facts span{color:var(--ls-muted)}
.ls-actions{display:flex;gap:8px;flex-wrap:wrap}

/* =========================================================================
   REVIEWS · Q&A · NOTIFICATIONS
   ========================================================================= */
.ls-stars{display:inline-flex;gap:2px;color:#E5B400;font-size:15px;line-height:1}
.ls-stars .ls-star{color:#d6dbe2}
.ls-stars .ls-star.on{color:#E5B400}
.ls-stars-input{gap:5px;font-size:26px}
.ls-stars-input .ls-star{background:none;border:0;cursor:pointer;color:#d6dbe2;padding:0;line-height:1}
.ls-stars-input .ls-star.on{color:#E5B400}
.ls-rating-summary{display:inline-flex;align-items:center;gap:6px}
.ls-rating-summary strong{font-weight:700}
.ls-course-hero .ls-rating-count{color:rgba(255,255,255,.75)}

.ls-reviews-top{margin:2px 0 16px}
.ls-reviews-avg{display:flex;align-items:center;gap:12px}
.ls-reviews-avg-num{font-family:var(--ls-serif);font-size:36px;font-weight:800;color:var(--ls-navy);line-height:1}
.ls-review-form{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:18px;margin-bottom:22px}
.ls-review-form-title{margin:0 0 10px;font-size:16px;color:var(--ls-navy);font-family:var(--ls-serif);font-weight:700}
.ls-review-form .ls-stars-input{margin-bottom:12px;display:flex}
.ls-review-title,.ls-review-body{width:100%;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;margin-bottom:10px;resize:vertical}
.ls-review-msg{margin-inline-start:10px;color:var(--ls-teal-d);font-size:13px;font-weight:600}
.ls-reviews-list{display:flex;flex-direction:column;gap:16px}
.ls-review{border-bottom:1px solid var(--ls-line-2);padding-bottom:16px}
.ls-review-h{display:flex;align-items:center;gap:10px}
.ls-review-h img{border-radius:50%}
.ls-review-name{font-weight:700;color:var(--ls-navy);display:block;font-size:14.5px}
.ls-review-date{margin-inline-start:auto;font-size:12px;color:var(--ls-faint)}
.ls-review-title-txt{font-weight:700;margin:10px 0 2px;color:var(--ls-ink)}
.ls-review-body-txt{color:var(--ls-ink);line-height:1.65;font-size:14.5px;margin-top:4px}

.ls-qa{margin-top:40px;padding-top:28px;border-top:1px solid var(--ls-line);max-width:900px}
.ls-qa-title{font-size:20px;color:var(--ls-navy);margin:0 0 16px;font-weight:700}
.ls-qa-ask,.ls-qa-reply{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px}
.ls-qa-reply{margin:8px 0 0}
.ls-qa-input{width:100%;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;resize:vertical}
.ls-qa-list{display:flex;flex-direction:column;gap:16px}
.ls-qa-thread{border:1px solid var(--ls-line);border-radius:12px;padding:14px 16px;background:var(--ls-paper)}
.ls-qa-item{display:flex;gap:11px;margin-bottom:10px}
.ls-qa-item img{border-radius:50%;width:34px;height:34px;flex:0 0 auto}
.ls-qa-item.is-answer{margin-inline-start:26px}
.ls-qa-item-body{min-width:0}
.ls-qa-item.is-instructor .ls-qa-item-body{background:var(--ls-hover);border-radius:10px;padding:8px 12px}
.ls-qa-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ls-qa-name{font-weight:700;color:var(--ls-navy);font-size:14px}
.ls-qa-badge{background:#eef4fb;color:var(--ls-navy);font-size:11px;font-weight:700;padding:1px 8px;border-radius:99px}
.ls-qa-time{font-size:12px;color:var(--ls-faint)}
.ls-qa-text{font-size:14.5px;line-height:1.6;color:var(--ls-ink);margin-top:2px}
.ls-qa-answers{margin-top:4px}

.ls-notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ls-notif{display:flex;gap:12px;padding:14px 4px;border-bottom:1px solid var(--ls-line-2)}
.ls-notif-dot{width:8px;height:8px;border-radius:50%;background:transparent;margin-top:6px;flex:0 0 auto}
.ls-notif.is-unread .ls-notif-dot{background:var(--ls-amber)}
.ls-notif-body a{color:var(--ls-navy);font-weight:600;text-decoration:none}
.ls-notif-body a:hover{color:var(--ls-amber-d)}
.ls-notif-body span{color:var(--ls-ink)}
.ls-notif-time{display:block;font-size:12px;color:var(--ls-faint);margin-top:2px}

/* =========================================================================
   IN-PLAYER STUDY PANEL
   ========================================================================= */
.ls-study-panel{position:fixed;top:64px;inset-inline-end:0;width:min(360px,90vw);height:calc(100vh - 64px);background:var(--ls-paper);border-inline-start:1px solid var(--ls-line);transform:translateX(100%);transition:transform .25s ease;z-index:45;display:flex;flex-direction:column}
.rtl .ls-study-panel{transform:translateX(-100%)}
.ls-app.ls-study-open .ls-study-panel{transform:translateX(0)}
.ls-sp-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--ls-line)}
.ls-sp-head span{font-size:18px;font-weight:700;color:var(--ls-navy)}
.ls-sp-close{background:none;border:0;cursor:pointer;color:var(--ls-faint);padding:4px;border-radius:6px}
.ls-sp-close:hover{color:var(--ls-navy);background:var(--ls-line-2)}
.ls-sp-scroll{flex:1;overflow-y:auto;padding:16px 18px 40px;display:flex;flex-direction:column;gap:14px}
.ls-sp-card{background:var(--ls-app);border:1px solid var(--ls-line);border-radius:12px;padding:14px}
.ls-sp-h{font-weight:700;color:var(--ls-navy);font-size:14px;margin-bottom:10px}
.ls-sp-fine{font-size:12px;color:var(--ls-muted);margin:8px 0 0;line-height:1.5}
.ls-sp-timer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ls-sp-clock{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;color:var(--ls-navy);font-family:var(--ls-serif)}
#ls-sp-timer-btn.is-running{background:var(--ls-amber);border-color:var(--ls-amber)}
.ls-sp-tasks{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ls-sp-task{display:flex;align-items:center;gap:10px}
.ls-sp-check{flex:0 0 auto;width:22px;height:22px;min-width:22px;box-sizing:border-box;padding:0;-webkit-appearance:none;appearance:none;border-radius:50%;border:2px solid #d0d5dd;background:var(--ls-paper);cursor:pointer;position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.ls-sp-check:hover{border-color:var(--ls-primary);box-shadow:0 0 0 3px var(--ls-primary-tint)}
.ls-sp-task.is-done .ls-sp-check{background:var(--ls-primary);border-color:var(--ls-primary);box-shadow:none}
.ls-sp-task.is-done .ls-sp-check::after{content:"";position:absolute;inset-inline-start:7px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ls-sp-task a{font-size:13.5px;color:var(--ls-ink);text-decoration:none}
.ls-sp-task.is-done a{color:var(--ls-muted);text-decoration:line-through}
.ls-sp-part{color:var(--ls-faint);font-size:12px}
.ls-sp-link{display:inline-block;margin-top:12px;font-size:13px;color:var(--ls-navy);font-weight:600;text-decoration:none}
.ls-sp-link:hover{color:var(--ls-amber-d)}
.ls-sp-note-input{width:100%;border:1px solid var(--ls-line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;resize:vertical;margin-bottom:8px}
.ls-sp-notes{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ls-sp-note-li{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:8px;padding:9px 11px}
.ls-sp-note-text{font-size:13.5px;line-height:1.5;color:var(--ls-ink)}
.ls-sp-note-foot{display:flex;align-items:center;justify-content:space-between;margin-top:5px;font-size:11px;color:var(--ls-faint)}
.ls-sp-note-del{background:none;border:0;color:#cbd5e1;font-size:17px;line-height:1;cursor:pointer}
.ls-sp-note-del:hover{color:var(--ls-red)}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:960px){
	.ls-course-grid{grid-template-columns:1fr}
	.ls-course-aside{position:static;order:-1;margin-top:0}
	.ls-hero-split{grid-template-columns:1fr}
	.ls-hero-split .ls-course-hero-media{order:-1;min-height:180px}
	.ls-course-hero-main{padding:28px 24px}
	.ls-hero-cta{max-width:none}
	.ls-course-col{padding-top:0}
	.ls-study-cols{grid-template-columns:1fr}
	.ls-field-grid{grid-template-columns:1fr}
	.ls-dash{grid-template-columns:1fr}
	.ls-dash-wrap{padding:14px}
	.ls-dash-side{position:static;min-height:auto;flex-direction:row;align-items:center;overflow-x:auto}
	.ls-dash-nav{flex-direction:row;flex-wrap:nowrap}
	.ls-dash-brand,.ls-dash-promo,.ls-dash-group{display:none}
	.ls-dash-link span:not(.dashicons){display:none}
	.ls-continue{flex-wrap:wrap}
	.ls-cl-btn{width:100%}
}
@media (max-width:980px){
	.ls-body-grid{grid-template-columns:1fr}
	.ls-app.ls-cside-hidden .ls-cside{display:flex}
	.ls-app.ls-cside-hidden .ls-body-grid{grid-template-columns:1fr}
	.ls-cside{position:fixed;top:64px;inset-inline-start:0;width:min(360px,86vw);transform:translateX(-100%);transition:transform .25s ease;z-index:46}
	.rtl .ls-cside{transform:translateX(100%)}
	.ls-app.ls-outline-open .ls-cside{transform:translateX(0)}
	.ls-cside-close{display:block}
	.ls-chapters-btn{display:inline-flex}
}
@media (max-width:820px){
	.ls-stage-inner{padding:22px 18px 46px}
	.ls-lesson-inner{padding:20px 16px 46px}
	.ls-lesson-h{font-size:22px}
	.ls-stage-title{font-size:24px}
	.ls-course-title{font-size:30px}
	.ls-lesson-actions{flex-wrap:wrap}
	.ls-lesson-actions .ls-cc{order:-1;flex:1 1 100%}
	.ls-lesson-nav{grid-template-columns:1fr 1fr}
	.ls-lesson-nav .ls-cc{grid-column:1 / -1;order:-1}
	.ls-chapters-btn span,.ls-study-toggle span{display:none}
	.ls-ai-toggle-btn span:not(.ls-ai-toggle-ic){display:none}
	.ls-ai-toggle-btn{padding:9px;gap:0}
	.ls-chapters-btn{padding:9px;gap:0}
	.ls-study-toggle{padding:4px;gap:0}
	.ls-mc-row,.ls-qz-row{flex-wrap:wrap}
	.ls-mc-progress{max-width:none;flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* =========================================================================
   MARKETING LANDING
   ========================================================================= */
.ls-landing{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:linear-gradient(160deg,#f6f7ff,#eef0fe);border-radius:24px;padding:56px clamp(24px,5vw,64px);overflow:hidden}
.ls-landing-eyebrow{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ls-primary)}
.ls-landing-title{font-size:clamp(30px,4.4vw,48px);font-weight:800;color:var(--ls-navy);line-height:1.12;margin:14px 0 0}
.ls-landing-rule{width:60px;height:4px;border-radius:9px;background:var(--ls-primary);margin:22px 0}
.ls-landing-sub{font-size:16px;color:var(--ls-muted);line-height:1.65;max-width:460px;margin:0 0 22px}
.ls-landing-features{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ls-landing-features li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ls-navy);font-size:15px}
.ls-landing-check{width:26px;height:26px;border-radius:50%;background:var(--ls-primary-tint);color:var(--ls-primary);display:grid;place-items:center;flex:0 0 auto}
.ls-landing-check .ls-ic{width:15px;height:15px}
.ls-landing-cta{display:flex;gap:12px;flex-wrap:wrap}
.ls-landing-art{position:relative;height:340px}
.ls-la-blob{position:absolute;inset:20px;background:linear-gradient(150deg,#4F46E5,#7c74f0);border-radius:32px;opacity:.14}
.ls-la-card{position:absolute;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:18px;box-shadow:0 10px 30px rgba(79,70,229,.14);display:grid;place-items:center}
.ls-la-card-1{width:150px;height:110px;inset-inline-start:40px;top:30px}
.ls-la-play{width:52px;height:52px;border-radius:50%;background:var(--ls-primary);color:#fff;display:grid;place-items:center}
.ls-la-play .ls-ic{width:22px;height:22px}
.ls-la-card-2{width:150px;height:130px;inset-inline-end:20px;top:80px;align-items:flex-end;padding:16px}
.ls-la-bars{display:flex;align-items:flex-end;gap:8px;height:70px}
.ls-la-bars i{width:16px;background:var(--ls-primary);border-radius:4px}
.ls-la-bars i:nth-child(1){height:40%}
.ls-la-bars i:nth-child(2){height:70%}
.ls-la-bars i:nth-child(3){height:52%;background:#a5b4fc}
.ls-la-bars i:nth-child(4){height:88%}
.ls-la-card-3{width:64px;height:64px;inset-inline-start:90px;bottom:24px;color:var(--ls-primary)}
.ls-la-card-3 .ls-ic{width:26px;height:26px}
@media (max-width:820px){.ls-landing{grid-template-columns:1fr;padding:36px 22px}.ls-landing-art{display:none}.ls-landing-features{grid-template-columns:1fr}}

/* =========================================================================
   ASSIGNMENTS
   ========================================================================= */
.ls-asg-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:18px;box-shadow:var(--ls-shadow-sm)}
.ls-asg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.ls-asg-title{font-weight:700;color:var(--ls-navy);font-size:15.5px}
.ls-asg-meta{font-size:12.5px;color:var(--ls-muted);margin-top:2px}
.ls-asg-instructions{font-size:14px;color:var(--ls-navy-2);line-height:1.65;margin:12px 0}
.ls-asg-feedback{background:var(--ls-app);border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--ls-navy-2);margin-top:12px}
.ls-asg-form,.ls-asg-grade{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.ls-asg-content,.ls-asg-link,.ls-asg-fb{width:100%;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;resize:vertical}
.ls-asg-actions{display:flex;align-items:center;gap:12px}
.ls-asg-msg{font-size:13px;font-weight:600}
.ls-asg-grade-row label{font-size:14px;font-weight:600;color:var(--ls-navy)}
.ls-asg-score{width:80px;border:1px solid var(--ls-line);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:14px;margin:0 4px}
.ls-asg-filelink{color:var(--ls-primary);font-weight:600;text-decoration:none}
.ls-asg-filelink:hover{color:var(--ls-primary-d)}

/* =========================================================================
   CALENDAR
   ========================================================================= */
.ls-cal{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:16px;box-shadow:var(--ls-shadow-sm)}
.ls-cal-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ls-cal-nav{width:32px;height:32px;border-radius:8px;border:1px solid var(--ls-line);display:grid;place-items:center;text-decoration:none;color:var(--ls-navy);font-size:18px;font-weight:700}
.ls-cal-nav:hover{border-color:var(--ls-primary);color:var(--ls-primary)}
.ls-cal-month{font-weight:800;color:var(--ls-navy);font-size:17px}
.ls-cal-legend{margin-inline-start:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ls-muted)}
.ls-cal-key{width:10px;height:10px;border-radius:3px;display:inline-block;margin-inline-start:8px}
.ls-cal-key-due{background:var(--ls-amberc)}
.ls-cal-key-study{background:var(--ls-primary)}
.ls-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ls-cal-dow{margin-bottom:6px;gap:6px}
.ls-cal-dowc{text-align:center;font-size:11px;font-weight:700;color:var(--ls-faint);text-transform:uppercase;letter-spacing:.04em;padding:4px 0}
.ls-cal-cell{min-height:88px;border:1px solid var(--ls-line-2);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:3px;background:var(--ls-paper)}
.ls-cal-cell.is-empty{border:0;background:transparent}
.ls-cal-cell.is-today{border-color:var(--ls-primary);background:var(--ls-primary-tint)}
.ls-cal-daynum{font-size:12px;font-weight:700;color:var(--ls-muted)}
.ls-cal-cell.is-today .ls-cal-daynum{color:var(--ls-primary-d)}
.ls-cal-ev{font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.ls-cal-ev-due{background:#fff4e0;color:var(--ls-amberc-d)}
.ls-cal-ev-study{background:var(--ls-primary-tint);color:var(--ls-primary-d)}
.ls-cal-more{font-size:10px;color:var(--ls-faint);font-weight:600}
.ls-cal-up{display:flex;flex-direction:column;gap:8px}
.ls-cal-up-row{display:flex;align-items:center;gap:12px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:10px;padding:10px 14px}
.ls-cal-up-date{font-size:13px;font-weight:700;color:var(--ls-navy);min-width:92px}
.ls-cal-up-label{font-size:13.5px;color:var(--ls-navy-2)}
@media (max-width:640px){.ls-cal-cell{min-height:64px}.ls-cal-ev{display:none}.ls-cal-cell::after{content:'';}}

/* =========================================================================
   MESSAGES
   ========================================================================= */
.ls-msg{display:grid;grid-template-columns:300px 1fr;gap:0;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;overflow:hidden;box-shadow:var(--ls-shadow-sm);min-height:460px}
.ls-msg-side{border-inline-end:1px solid var(--ls-line);display:flex;flex-direction:column;min-width:0}
.ls-msg-compose{padding:12px;border-bottom:1px solid var(--ls-line-2)}
.ls-msg-to{width:100%;border:1px solid var(--ls-line);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:13.5px;background:var(--ls-paper)}
.ls-msg-list{flex:1;overflow-y:auto}
.ls-msg-convo{display:flex;align-items:center;gap:11px;padding:12px 14px;text-decoration:none;border-bottom:1px solid var(--ls-line-2)}
.ls-msg-convo:hover{background:var(--ls-app)}
.ls-msg-convo.is-active{background:var(--ls-primary-tint)}
.ls-msg-convo img{border-radius:50%;flex:0 0 auto}
.ls-msg-convo-main{min-width:0;flex:1}
.ls-msg-convo-name{display:block;font-weight:700;color:var(--ls-navy);font-size:13.5px}
.ls-msg-convo-snip{display:block;font-size:12px;color:var(--ls-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-msg-unread{background:var(--ls-primary);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:99px;display:grid;place-items:center;padding:0 5px}
.ls-msg-thread{display:flex;flex-direction:column;min-width:0}
.ls-msg-empty{margin:auto;color:var(--ls-muted);font-size:14px;padding:40px;text-align:center}
.ls-msg-thead{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ls-line);font-weight:700;color:var(--ls-navy)}
.ls-msg-thead img{border-radius:50%}
.ls-msg-scroll{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px;max-height:420px}
.ls-bubble{max-width:74%;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:9px 13px;align-self:flex-start}
.ls-bubble.is-me{align-self:flex-end;background:var(--ls-primary);border-color:var(--ls-primary);color:#fff}
.ls-bubble-body{display:block;font-size:14px;line-height:1.5}
.ls-bubble-time{display:block;font-size:10.5px;margin-top:3px;color:var(--ls-faint)}
.ls-bubble.is-me .ls-bubble-time{color:rgba(255,255,255,.75)}
.ls-msg-reply{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--ls-line)}
.ls-msg-input{flex:1;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;resize:none}
@media (max-width:820px){.ls-msg{grid-template-columns:1fr}.ls-msg-side{max-height:220px}}

/* =========================================================================
   RTL POLISH (works with theme dir="rtl" as well as the .rtl player class)
   ========================================================================= */
[dir="rtl"] .ls-app,[dir="rtl"] .ls-course,[dir="rtl"] .ls-dash,[dir="rtl"] .ls-study,
[dir="rtl"] .ls-quiz,[dir="rtl"] .ls-grid,[dir="rtl"] .ls-mc,[dir="rtl"] .ls-msg,
[dir="rtl"] .ls-cal,[dir="rtl"] .ls-landing,[dir="rtl"] .ls-asg-card{font-family:'IBM Plex Sans Arabic',var(--ls-sans)}
[dir="rtl"] .ls-serif{font-family:'IBM Plex Sans Arabic',var(--ls-serif)}
[dir="rtl"] .ls-topbar-back .ls-ic,.rtl .ls-topbar-back .ls-ic,
[dir="rtl"] .ls-lesson-actions .ls-ic,.rtl .ls-lesson-actions .ls-ic,[dir="rtl"] .ls-lesson-nav .ls-ic,.rtl .ls-lesson-nav .ls-ic{transform:scaleX(-1)}

/* Full-screen dashboard (own template, no theme header/footer) */
body.ls-dashboard-page{margin:0;background:var(--ls-app);min-height:100vh}
.ls-dashboard-page .ls-dash-wrap{min-height:100vh;border-radius:0}

/* Offset player chrome below the WordPress admin bar (logged-in users) */
.admin-bar .ls-topbar{top:32px}
.admin-bar .ls-cside,.admin-bar .ls-study-panel{top:96px;height:calc(100vh - 96px)}
.admin-bar .ls-scrim{top:96px}
@media screen and (max-width:782px){
	.admin-bar .ls-topbar{top:46px}
	.admin-bar .ls-cside,.admin-bar .ls-study-panel{top:110px;height:calc(100vh - 110px)}
	.admin-bar .ls-scrim{top:110px}
}

/* Assignment file upload */
.ls-asg-or{display:flex;align-items:center;gap:10px;color:var(--ls-faint);font-size:12px;font-weight:600;margin:2px 0}
.ls-asg-or::before,.ls-asg-or::after{content:"";flex:1;height:1px;background:var(--ls-line-2)}
.ls-asg-file{font-size:13px;color:var(--ls-muted)}
.ls-asg-file::file-selector-button{border:1px solid var(--ls-line);background:var(--ls-paper);border-radius:8px;padding:7px 12px;font:600 13px inherit;color:var(--ls-navy);cursor:pointer;margin-inline-end:10px}
.ls-asg-file::file-selector-button:hover{border-color:var(--ls-primary);color:var(--ls-primary)}

/* Front-end profile editor */
.ls-profile-edit{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:start;max-width:720px}
.ls-profile-ava{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ls-profile-ava-img img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:1px solid var(--ls-line)}
.ls-profile-form{display:flex;flex-direction:column;gap:14px}
.ls-field{display:flex;flex-direction:column;gap:5px}
.ls-field>span{font-size:12.5px;font-weight:600;color:var(--ls-muted)}
.ls-field input{border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;color:var(--ls-navy);background:var(--ls-paper)}
.ls-field input:disabled{background:var(--ls-app);color:var(--ls-faint)}
.ls-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ls-profile-actions{display:flex;align-items:center;gap:12px;margin-top:4px}
.ls-profile-msg{font-size:13px;font-weight:600}
@media (max-width:640px){.ls-profile-edit{grid-template-columns:1fr}.ls-field-row{grid-template-columns:1fr}}

/* AI Tutor chat */
.ls-ai{display:flex;flex-direction:column;gap:0;border:1px solid var(--ls-line);border-radius:14px;overflow:hidden;max-width:760px;margin:0 auto}
.ls-ai-log{display:flex;flex-direction:column;gap:10px;padding:16px;max-height:440px;overflow-y:auto;background:var(--ls-app)}
.ls-ai-msg{max-width:82%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6}
.ls-ai-bot{align-self:flex-start;background:var(--ls-paper);border:1px solid var(--ls-line);color:var(--ls-ink)}
.ls-ai-user{align-self:flex-end;background:var(--ls-primary);color:#fff}
.ls-ai-msg.is-thinking{color:var(--ls-muted);font-style:italic}
.ls-ai-input{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--ls-line);background:var(--ls-paper)}
.ls-ai-input textarea{flex:1;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;resize:none}

/* Quiz question attachment link */
.ls-q-attach-link{display:inline-flex;align-items:center;gap:7px;margin:4px 0 14px;padding:8px 14px;background:var(--ls-primary-tint);color:var(--ls-primary-d);border-radius:10px;text-decoration:none;font-weight:600;font-size:13.5px}
.ls-q-attach-link:hover{background:#e2e5fc}
.ls-q-attach-link .dashicons{width:16px;height:16px;font-size:16px}

/* AI Tutor — top-bar button + floating chat */
.ls-ai-toggle-btn{display:inline-flex;align-items:center;gap:8px;background:var(--ls-primary);border:1px solid transparent;border-radius:999px;padding:8px 16px;cursor:pointer;color:#fff;font-weight:700;font-size:14px;transition:background .15s ease}
.ls-ai-toggle-btn:hover{background:var(--ls-primary-d)}
.ls-ai-toggle-btn .ls-ai-toggle-ic .ls-ic{width:16px;height:16px}
.ls-ai-float{position:fixed;inset-inline-end:24px;bottom:24px;width:min(400px,92vw);height:min(560px,72vh);background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:18px;box-shadow:0 24px 60px rgba(16,24,40,.24);z-index:60;display:flex;flex-direction:column;overflow:hidden;animation:ls-ai-in .18s ease}
.ls-ai-float[hidden]{display:none!important}
@keyframes ls-ai-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ls-ai-float .ls-ai{border:0;border-radius:0;max-width:none;height:100%;display:flex;flex-direction:column}
.ls-ai-fhead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ls-line);background:var(--ls-primary-tint)}
.ls-ai-ftitle{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--ls-primary-d)}
.ls-ai-ftitle .ls-ic{width:16px;height:16px}
.ls-ai-fclose{background:none;border:0;cursor:pointer;color:var(--ls-primary-d);display:grid;place-items:center;width:28px;height:28px;border-radius:8px}
.ls-ai-fclose:hover{background:var(--ls-paper)}
.ls-ai-float .ls-ai-log{flex:1}

/* Notes floating box */
.ls-notes-float{display:flex;flex-direction:column}
.ls-notes-float[hidden]{display:none!important}
.ls-notes-fscroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ls-notes-fscroll .ls-sp-note-input{width:100%;border:1px solid var(--ls-line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;resize:vertical}
.ls-notes-fscroll .ls-sp-notes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}

/* Dashboard — My Notes */
.ls-dnotes{display:flex;flex-direction:column;gap:22px;max-width:760px}
.ls-dnote-group{display:flex;flex-direction:column;gap:10px}
.ls-dnote-head{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ls-navy);font-size:15px;padding-bottom:6px;border-bottom:1px solid var(--ls-line)}
.ls-dnote-head a{color:var(--ls-primary-d);text-decoration:none}
.ls-dnote-head a:hover{text-decoration:underline}
.ls-dnote{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:12px;padding:12px 14px}
.ls-dnote-text{font-size:14px;line-height:1.6;color:var(--ls-ink);white-space:pre-wrap}
.ls-dnote-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--ls-faint)}
.ls-dnote-del{background:none;border:0;color:#dc2626;cursor:pointer;font-weight:600;font-size:12px}
.ls-dnote-del:hover{text-decoration:underline}

/* ============================ Dark mode ============================ */
html[data-ls-theme="dark"]{
	--ls-app:#0F172A;
	--ls-paper:#1E293B;
	--ls-hover:#243247;
	--ls-line:#334155;
	--ls-line-2:#2A3648;
	--ls-ink:#E2E8F0;
	--ls-navy:#F1F5F9;
	--ls-navy-2:#CBD5E1;
	--ls-navy-ink:#F8FAFC;
	--ls-muted:#94A3B8;
	--ls-faint:#7788A0;
	--ls-primary:#6366F1;
	--ls-primary-d:#818CF8;
	--ls-primary-tint:#2A2A66;
	--ls-teal:#6366F1; --ls-teal-d:#818CF8;
	--ls-amber:#6366F1; --ls-amber-d:#818CF8;
	--ls-shadow:0 1px 2px rgba(0,0,0,.4);
	--ls-shadow-sm:none;
}
/* Dark: soften status tints so they sit on dark cards */
html[data-ls-theme="dark"] .ls-opt.is-correct,html[data-ls-theme="dark"] .ls-fill.is-correct,html[data-ls-theme="dark"] .ls-qr-badge.pass{background:#0f3b2b;color:#6ee7b7}
html[data-ls-theme="dark"] .ls-opt.is-wrong,html[data-ls-theme="dark"] .ls-fill.is-wrong,html[data-ls-theme="dark"] .ls-qr-badge.fail{background:#3f1d20;color:#fca5a5}
html[data-ls-theme="dark"] .ls-q-feedback{background:var(--ls-hover)}
html[data-ls-theme="dark"] .ls-qr-tile{background:var(--ls-hover)}
html[data-ls-theme="dark"] .ls-score-ring{background:conic-gradient(var(--ring) calc(var(--pct)*1%),#334155 0)}
html[data-ls-theme="dark"] .ls-score-num{color:var(--ls-navy)}
/* Theme toggle button */
.ls-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:transparent;border:1px solid var(--ls-line);color:var(--ls-muted);cursor:pointer;font-size:18px;line-height:1;transition:background .15s,color .15s}
.ls-theme-toggle:hover{background:var(--ls-hover);color:var(--ls-primary-d)}
.ls-theme-dark-ic{display:none}
html[data-ls-theme="dark"] .ls-theme-dark-ic{display:inline}
html[data-ls-theme="dark"] .ls-theme-light-ic{display:none}

/* ===================== Courses grid (instructor-forward) ===================== */
.ls-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.ls-ccard{display:flex;flex-direction:column;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .16s ease,transform .16s ease;box-shadow:var(--ls-shadow)}
.ls-ccard:hover{box-shadow:0 12px 30px rgba(16,24,40,.12);transform:translateY(-3px)}
.ls-ccard-thumb{aspect-ratio:16/10;background:linear-gradient(120deg,var(--ls-primary),var(--ls-primary-d));display:grid;place-items:center;overflow:hidden}
.ls-ccard-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ls-ccard-ph{color:rgba(255,255,255,.85)}
.ls-ccard-ph .ls-ic{width:34px;height:34px}
.ls-ccard-body{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.ls-ccard-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ls-navy);line-height:1.3}
.ls-ccard-metaline{font-size:12.5px;color:var(--ls-muted);font-weight:500;margin-bottom:14px}
.ls-ccard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--ls-line-2)}
.ls-ccard-instr{display:flex;align-items:center;gap:8px;min-width:0}
.ls-ccard-instr img{width:26px;height:26px;border-radius:50%;flex:0 0 auto}
.ls-ccard-instr-name{font-size:12.5px;color:var(--ls-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-ccard-price{flex:0 0 auto;background:var(--ls-primary);color:#fff;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:8px}

/* ===================== Remove theme underlines from LearnStack UI ===================== */
.ls-btn,.ls-btn:hover,.ls-btn:focus,.ls-wish-btn,.ls-theme-toggle{text-decoration:none!important}
.ls-app a,.ls-app button,
.ls-course-single-wrap a,
.ls-courses-grid a,.ls-ccard,.ls-ccard:hover,
.ls-dashboard-page a,.ls-studio-page a,
.ls-quiz a,.ls-enroll-card a,.ls-cside a,.ls-course-meta a{text-decoration:none}
.ls-app a:hover,.ls-course-single-wrap a:hover,.ls-courses-grid a:hover,.ls-dashboard-page a:hover,.ls-studio-page a:hover{text-decoration:none}
/* Keep underlines only for real prose links inside written content */
.ls-lesson-body a,.ls-course-body a{text-decoration:underline}

/* ===================== Gamification (Achievements) ===================== */
.ls-gam-hero{display:flex;align-items:center;gap:24px;background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:16px;padding:24px 26px;box-shadow:var(--ls-shadow);flex-wrap:wrap}
.ls-gam-ring{--pct:0;position:relative;width:110px;height:110px;border-radius:50%;flex:0 0 auto;background:conic-gradient(var(--ls-primary) calc(var(--pct)*1%),var(--ls-line-2) 0);display:grid;place-items:center}
.ls-gam-ring-in{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--ls-paper);display:flex;flex-direction:column;align-items:center;justify-content:center}
.ls-gam-lvnum{font-size:32px;font-weight:800;color:var(--ls-navy);line-height:1}
.ls-gam-lvlbl{font-size:11px;color:var(--ls-faint);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ls-gam-hero-main{flex:1;min-width:200px}
.ls-gam-title{font-size:20px;font-weight:800;color:var(--ls-navy)}
.ls-gam-points{color:var(--ls-muted);font-size:14px;margin:2px 0 4px}
.ls-gam-pts{color:var(--ls-primary-d);font-weight:800;font-size:16px}
.ls-gam-next{font-size:12.5px;color:var(--ls-faint);margin-bottom:10px}
.ls-gam-bar{height:8px;background:var(--ls-line-2);border-radius:99px;overflow:hidden;max-width:340px}
.ls-gam-bar span{display:block;height:100%;background:var(--ls-primary);border-radius:99px}
.ls-gam-streak{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ls-primary-tint);border-radius:14px;padding:14px 20px;min-width:96px}
.ls-gam-streak .dashicons{color:var(--ls-primary-d);font-size:22px;width:22px;height:22px}
.ls-gam-streak-num{font-size:24px;font-weight:800;color:var(--ls-primary-d);line-height:1.1}
.ls-gam-streak-lbl{font-size:11px;color:var(--ls-primary-d);font-weight:600}
.ls-gam-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.ls-gam-stat{background:var(--ls-app);border-radius:12px;padding:16px;text-align:center}
.ls-gam-stat-v{display:block;font-size:22px;font-weight:800;color:var(--ls-navy)}
.ls-gam-stat-l{display:block;font-size:12px;color:var(--ls-muted);font-weight:600;margin-top:3px}
.ls-gam-h{font-family:var(--ls-serif);font-size:20px;font-weight:700;color:var(--ls-navy);margin:22px 0 12px}
.ls-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ls-badge-card{background:var(--ls-paper);border:1px solid var(--ls-line);border-radius:14px;padding:18px 14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.ls-badge-ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ls-primary-tint)}
.ls-badge-ic .dashicons{font-size:26px;width:26px;height:26px;color:var(--ls-primary-d)}
.ls-badge-name{font-size:13.5px;font-weight:700;color:var(--ls-navy)}
.ls-badge-desc{font-size:11.5px;color:var(--ls-muted);line-height:1.35}
.ls-badge-card.is-locked{opacity:.55;filter:grayscale(.7)}
.ls-badge-card.is-locked .ls-badge-ic{background:var(--ls-line-2)}
.ls-badge-card.is-locked .ls-badge-ic .dashicons{color:var(--ls-faint)}
.ls-badge-card.is-earned{border-color:var(--ls-primary)}
.ls-gam-log{display:flex;flex-direction:column;gap:2px}
.ls-gam-log-row{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--ls-paper);border:1px solid var(--ls-line-2);border-radius:10px;font-size:13.5px;color:var(--ls-ink)}
.ls-gam-log-row .dashicons{color:var(--ls-primary);font-size:17px;width:17px;height:17px}
.ls-gam-log-text{flex:1}
.ls-gam-log-pts{font-weight:800;color:var(--ls-green);font-size:13px}
@media(max-width:700px){.ls-gam-stats{grid-template-columns:1fr 1fr}}
