:root{--bg:#F7F8F5;--ink:#111827;--green:#0F3D2E;--accent:#16A34A;--muted:#757c78;--line:#e6eae4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Cairo,Arial,sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #42b474;outline-offset:4px}.icon{width:20px;height:20px;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 22px Arial,sans-serif;color:var(--green);direction:ltr;justify-content:flex-end}.brandmark{display:grid;place-items:center;background:var(--green);color:white;width:36px;height:36px;border-radius:10px}.brandmark .icon{width:24px;height:24px}.sidebar{position:fixed;right:0;top:0;bottom:0;width:250px;background:white;border-left:1px solid var(--line);padding:30px 23px;display:flex;flex-direction:column;z-index:20}.side-label{font-size:11px;color:var(--muted);margin:40px 12px 12px}.nav{border:0;display:flex;gap:12px;align-items:center;background:#eaf2e9;color:var(--green);padding:13px 16px;border-radius:9px;font-weight:800;width:100%;text-align:right}.side-note{margin:22px 12px;color:var(--muted);font-size:12px;line-height:1.9}.side-bottom{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.9}.shell{margin-right:250px;min-height:100vh}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:#ffffffbd}.crumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.crumb b{color:var(--ink);font-weight:600}.free{display:inline-flex;align-items:center;gap:7px;background:#eaf4e9;border:1px solid #dcebd7;color:var(--green);padding:5px 12px;border-radius:30px;font-size:11px;font-weight:700}.dot{width:6px;height:6px;background:var(--accent);border-radius:100%}main{max-width:1510px;margin:auto;padding:34px 42px 24px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;margin:0 0 8px}.page-title{font-size:clamp(22px,2.3vw,34px);font-weight:900;letter-spacing:-.7px;margin:0 0 10px;line-height:1.65}.intro{color:var(--muted);margin:0;line-height:1.9;font-size:13px}.hero{display:grid;grid-template-columns:1fr 285px;gap:30px;background:var(--green);color:white;border-radius:18px;margin:28px 0 30px;padding:30px 34px;position:relative;overflow:hidden}.hero-label{font-size:11px;color:#b7d0be;display:flex;gap:7px;align-items:center}.hero h2{font-size:23px;line-height:1.8;margin:9px 0 6px}.hero p{color:#c4d6cb;line-height:1.8;font-size:12px;margin:0 0 20px;max-width:600px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border-radius:8px;border:1px solid transparent;text-decoration:none;line-height:1.5;font-weight:700;font-size:12px}.btn-primary{background:var(--green);color:white}.btn-white{background:white;color:var(--green)}.btn-outline{border-color:var(--line);background:white;color:var(--ink)}.hero-progress{border-right:1px solid #ffffff20;padding-right:30px;display:flex;flex-direction:column;justify-content:center}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.percent{font-family:Arial,sans-serif;font-weight:700;font-size:25px;direction:ltr}.track{height:6px;background:#ffffff26;border-radius:9px;overflow:hidden;margin:15px 0 12px}.fill{height:100%;background:#83cc8a;border-radius:9px;transition:width .25s}.micro{font-size:10px;color:#bacfc1;line-height:1.9}.stats{display:flex;gap:16px;margin:16px 0 0;font-size:11px;color:#a9b4ad}.stats span{display:flex;align-items:center;gap:6px}.stats .icon{width:15px;height:15px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.section-head h2{margin:0;font-size:19px}.section-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.count{font-size:11px;border:1px solid var(--line);background:white;border-radius:7px;padding:5px 10px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 3px 12px #14281903;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 9px 20px #1833210c}.thumb{display:block;width:100%;padding:0;border:0;background:#edf0e9;position:relative;aspect-ratio:16/9;overflow:hidden}.thumb img{display:block;width:100%;height:100%;object-fit:contain}.play{position:absolute;bottom:12px;left:12px;background:#ffffffee;color:var(--green);border-radius:100%;width:33px;height:33px;display:grid;place-items:center}.play .icon{width:16px;height:16px}.card-body{padding:18px}.lesson-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:10px}.lesson-no{color:var(--green);font-weight:800}.status{display:inline-flex;align-items:center;gap:4px;color:var(--muted);background:#f4f5f2;padding:2px 8px;border-radius:5px;font-size:10px}.status.done{color:#15803d;background:#eaf7ed}.status .icon{width:12px;height:12px}.card h3{font-size:14px;line-height:1.85;margin:0 0 8px;min-height:52px;font-weight:800}.card p{font-size:11px;line-height:1.95;color:var(--muted);margin:0 0 18px;min-height:64px}.card .btn{width:100%;background:#f5f8f2;color:var(--green);border:1px solid #e9eee4;justify-content:space-between;padding:9px 13px}.footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:32px;padding:20px 0;color:var(--muted);font-size:10px}.toast{position:fixed;bottom:24px;left:24px;background:var(--green);color:white;padding:14px 20px;border-radius:12px;z-index:50;box-shadow:0 5px 25px #0002;font-size:12px}.celebrate{background:#e6f4e8;border:1px solid #c9e4cd;padding:17px 20px;color:var(--green);border-radius:12px;margin-bottom:23px;font-weight:800}.player-sidebar .brand{margin-bottom:25px}.sidebar-title{font-weight:800;font-size:14px;margin:12px 0}.sidebar-progress{margin:12px 0 18px;font-size:11px}.sidebar-progress .track{background:#eef1eb;margin:10px 0}.sidebar-progress .fill{background:var(--accent)}.lesson-list{display:flex;flex-direction:column;gap:8px;overflow:auto}.lesson-link{border:1px solid transparent;display:flex;gap:10px;text-align:right;background:white;padding:11px 8px;border-radius:9px;align-items:flex-start;width:100%;font-size:11px;line-height:1.8;color:#636d66}.lesson-link.active{background:#eaf3e7;border-color:#dce9d7;color:var(--green);font-weight:800}.number{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;background:#f2f4ef;border-radius:7px;font-size:10px;font-family:Arial}.completed .number{background:#dff2e1;color:#15803d}.number .icon{width:14px;height:14px}.back{background:none;border:0;color:var(--muted);display:flex;gap:8px;align-items:center;font-size:11px;padding:0 0 20px}.video{aspect-ratio:16/9;background:#10291f;border-radius:14px;overflow:hidden;position:relative;margin-bottom:24px;color:white}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}.placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;padding:20px}.placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.2;filter:blur(3px)}.placeholder>*:not(img){z-index:1}.placeholder .icon{width:42px;height:42px}.placeholder h2{font-size:20px;margin:0}.placeholder p{font-size:12px;color:#d4e0d7;margin:0}.player-main{max-width:1250px}.lesson-heading{display:flex;gap:15px;align-items:flex-start;justify-content:space-between}.lesson-heading h1{font-size:26px;line-height:1.8;margin:8px 0 12px}.lesson-description{font-size:14px;line-height:2.1;color:#69736c;max-width:850px;margin:0}.lesson-panel{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;margin-top:24px}.lesson-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.lesson-actions .btn-primary.completed{background:#eaf5ea;color:var(--green);border-color:#d8e9d7}.prev-next{display:flex;gap:10px}.local-note{color:var(--muted);font-size:10px;margin:16px 0 0}.mobile-lessons{display:none}.loading{animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.45}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:1600px){.grid{gap:26px}.card h3{font-size:16px}.card p{font-size:12px}}@media(max-width:1180px){.sidebar{width:215px;padding:26px 16px}.shell{margin-right:215px}main{padding:26px}.topbar{padding:0 26px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr 230px;padding:25px;gap:20px}.hero-progress{padding-right:20px}.hero h2{font-size:20px}}@media(max-width:760px){.sidebar{display:none}.shell{margin-right:0}.topbar{padding:0 20px;height:65px}.crumb{font-size:11px}main{padding:24px 20px}.page-title{font-size:26px;line-height:1.8}.intro{font-size:12px}.hero{grid-template-columns:1fr;margin-top:24px;gap:25px;padding:24px}.hero-progress{border:0;border-top:1px solid #ffffff20;padding:20px 0 0}.hero h2{font-size:20px}.hero .btn{width:100%;min-height:46px}.grid{gap:16px}.card h3{min-height:0}.card p{min-height:0}.mobile-lessons{display:block;margin-bottom:20px;background:white;border:1px solid var(--line);border-radius:10px;padding:13px}.mobile-lessons summary{cursor:pointer;font-weight:800;font-size:12px}.mobile-lessons .lesson-list{margin-top:15px}.lesson-heading h1{font-size:23px}.lesson-actions{align-items:stretch;flex-direction:column}.prev-next .btn{flex:1}.btn{min-height:44px}.lesson-panel{padding:18px}.placeholder h2{font-size:16px}.placeholder .icon{width:30px;height:30px}.footer{flex-direction:column;gap:6px}.video{border-radius:10px}.topbar .free{font-size:10px}.brand-mobile{font-family:Arial,sans-serif;font-weight:800;font-size:18px;color:var(--green);direction:ltr}.card-body{padding:15px}}@media(min-width:761px){.brand-mobile{display:none}}@media(max-width:500px){.grid{grid-template-columns:1fr}.card h3{font-size:16px}.card p{font-size:12px}.stats{flex-wrap:wrap;font-size:10px}.placeholder p{font-size:10px}.lesson-heading h1{font-size:21px}.player-main{padding-top:20px}.video{margin-inline:-8px}.card .btn{min-height:44px}.hero h2{font-size:19px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}h1:focus{outline:none}

/* Balance the desktop player with the lesson controls in the same view. */
@media(min-width:761px){
  .player-main{max-width:none;height:auto;min-height:0;padding:16px clamp(56px,6vw,112px);display:block}
  .player-main .video{width:100%;height:auto;aspect-ratio:16/9;min-height:0;margin:0 0 12px;background:#000}
  .player-main .lesson-heading h1{font-size:20px;line-height:1.6;margin:3px 0 6px}
  .player-main .lesson-description{font-size:12px;line-height:1.8;max-width:none}
  .player-main .lesson-panel{margin-top:12px;padding:12px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
  .player-main .lesson-actions{width:100%}
  .player-main .lesson-panel .local-note{margin:0}
  .player-main .footer{margin-top:10px;padding:8px 0}.player-main>:not(.video){flex-shrink:0}
}

.shell main > .hero:first-child{margin-top:0}

/* Readable course navigation with quiet scrolling. */
.lesson-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.lesson-link-title{display:block;font-weight:650;line-height:1.7}
.lesson-link-state{display:block;font-size:10px;font-weight:500;color:#838c86}
.lesson-link.active .lesson-link-state{color:#247445}
.current-indicator{align-self:center;color:var(--green);display:flex}
.current-indicator .icon{width:14px;height:14px}
.lesson-list{scrollbar-width:thin;scrollbar-color:#cad5cc transparent;overscroll-behavior:contain;scroll-padding:8px}
.lesson-list::-webkit-scrollbar{width:4px}
.lesson-list::-webkit-scrollbar-thumb{background:#cad5cc;border-radius:8px}
.lesson-list::-webkit-scrollbar-track{background:transparent}
.lesson-list::-webkit-scrollbar-button{display:none}
.lesson-link{transition:background .15s,border-color .15s;padding:12px;gap:10px;color:#4a554d;border-color:#edf0eb}
.lesson-link:hover{background:#f5f8f3;border-color:#dce6d9}
.lesson-link.active{background:#edf6eb;border-color:#cde2c7;box-shadow:inset -3px 0 0 #15803d;color:#123e2c}
.lesson-link .number{width:30px;height:30px;border-radius:9px;background:#f1f4ee;color:#667265}
.lesson-link.active .number{background:#0f3d2e;color:white}
.lesson-link.completed:not(.active) .number{background:#e6f4e7;color:#15803d}
@media(min-width:761px){
.player-sidebar{width:300px;padding:24px 18px 14px}
.player-sidebar+.shell{margin-right:300px}
.player-sidebar .brand{margin-bottom:22px;padding-inline:8px}
.player-sidebar .back{padding:0 8px 14px;font-size:11px}
.player-sidebar .sidebar-title{margin:4px 8px;font-size:14px}
.player-sidebar .sidebar-progress{margin:10px 8px 18px}
.player-sidebar .lesson-list{flex:1;min-height:0;gap:9px;padding:2px 3px}
.player-sidebar .lesson-link{font-size:12px}
.player-sidebar .side-bottom{flex-shrink:0;margin-top:14px;padding:12px 8px 0;font-size:10px}
}

/* Consistent scrollbars for the page and course navigation. */
html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#0f3d2e #f7f8f5}
.lesson-list{scrollbar-color:#0f3d2e transparent}
@supports selector(::-webkit-scrollbar){
  html,.lesson-list{scrollbar-width:auto;scrollbar-color:auto}
  ::-webkit-scrollbar{width:9px;height:9px}
  ::-webkit-scrollbar-track{background:#f7f8f5}
  ::-webkit-scrollbar-thumb{background:#0f3d2e;border:2px solid #f7f8f5;border-radius:999px;min-height:40px}
  ::-webkit-scrollbar-thumb:hover{background:#0b2f23}
  ::-webkit-scrollbar-thumb:active{background:#0f3d2e}
  ::-webkit-scrollbar-button:single-button,::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important}
  ::-webkit-scrollbar-corner{background:transparent}
  .lesson-list::-webkit-scrollbar{width:7px;height:7px}
  .lesson-list::-webkit-scrollbar-track{background:transparent}
  .lesson-list::-webkit-scrollbar-thumb{background:#0f3d2e;border:2px solid white;border-radius:999px;min-height:32px}
  .lesson-list:hover::-webkit-scrollbar-thumb{background:#0b2f23}
  .lesson-list::-webkit-scrollbar-thumb:active{background:#0f3d2e}
}
@media(forced-colors:active){html,.lesson-list{scrollbar-color:auto;scrollbar-width:auto}}

/* A single, uncluttered header row on phones. */
@media(min-width:761px){.brand-mobile{display:none}}
@media(max-width:760px){
  .topbar{height:64px;min-height:64px;padding:0 16px;gap:12px;flex-wrap:nowrap}
  .topbar .crumb{min-width:0;gap:0;flex:1}
  .topbar .crumb>.desktop-crumb,.topbar .crumb>span,.topbar .crumb>b{display:none}
  .topbar .brand-mobile{display:inline-flex;align-items:center;min-height:44px;font-family:Arial,sans-serif;font-size:20px;font-weight:800;white-space:nowrap;line-height:1;direction:ltr;text-decoration:none;color:#0f3d2e}
  .topbar .free{flex-shrink:0;white-space:nowrap;font-size:10px;line-height:1.5;padding:6px 10px;gap:6px}
  .topbar .free .dot{flex-shrink:0}
}
@media(max-width:340px){.topbar{padding-inline:12px;gap:8px}.topbar .brand-mobile{font-size:18px}.topbar .free{font-size:9px;padding-inline:8px}}

.course-success{border:1px solid #dbe7d8;border-radius:24px;background:white;color:#111827;padding:36px;max-width:480px;width:calc(100% - 32px);text-align:center;box-shadow:0 24px 100px #0f3d2e30;font-family:inherit;overflow:visible}
.course-success::backdrop{background:#0b211bb3;backdrop-filter:blur(5px)}
.success-medal{margin:0 auto 18px;width:76px;height:76px;display:grid;place-items:center;background:#eaf7e9;color:#15803d;border:7px solid #f4faf0;border-radius:50%}
.success-medal .icon{width:34px;height:34px;stroke-width:2.5}
.success-badge{display:inline-block;background:#f0f6eb;color:#0f3d2e;border-radius:24px;padding:5px 14px;font-size:12px;font-weight:800}
.course-success h2{font-size:24px;line-height:1.8;margin:16px 0 10px}.course-success p{font-size:13px;color:#69766c;line-height:1.9;margin:0 0 24px}
.success-actions{display:flex;flex-direction:column;gap:10px}.success-actions .btn{min-height:46px;width:100%}
.success-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.success-confetti i{position:absolute;left:var(--x);top:-24px;width:8px;height:13px;border-radius:2px;animation:course-confetti var(--duration) var(--delay) ease-in forwards}
@keyframes course-confetti{0%{transform:translateY(-20px) rotate(0);opacity:1}85%{opacity:1}100%{transform:translateY(110vh) rotate(var(--spin));opacity:0}}
@media(max-width:480px){.course-success{padding:28px 22px}.course-success h2{font-size:21px}}
