.gfsa{--purple:#2a0066;--deep:#18003d;--gold:#ffc312;--cyan:#00b9ff;direction:rtl;text-align:right;color:#f8f5ff;background:linear-gradient(135deg,var(--deep),#2b0870 58%,#13002f);border:1px solid rgba(0,185,255,.35);border-radius:24px;padding:clamp(16px,3vw,34px);font:inherit;line-height:1.9;box-sizing:border-box;box-shadow:0 18px 50px rgba(24,0,61,.26)}
.gfsa *{box-sizing:border-box}.gfsa-header{padding:8px 7px 26px}.gfsa-eyebrow,.gfsa-kicker{color:var(--gold);font-size:.84em;letter-spacing:.02em}.gfsa h2{font-size:clamp(1.55rem,3vw,2.45rem);margin:.3em 0;color:#fff}.gfsa h3{font-size:1.15rem;margin:0 0 16px;color:#fff}.gfsa-meta{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0;color:#e6dbff}.gfsa-meta span{background:rgba(255,255,255,.09);border:1px solid rgba(0,185,255,.18);border-radius:20px;padding:3px 14px;font-size:.84em}.gfsa-pill{color:var(--gold)!important}.gfsa-progress-label{display:block;color:#ebe1ff;font-size:.9em}.gfsa progress{display:block;width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;margin-top:8px;accent-color:var(--gold)}.gfsa progress::-webkit-progress-bar{background:rgba(255,255,255,.15)}.gfsa progress::-webkit-progress-value{background:linear-gradient(90deg,var(--cyan),var(--gold))}.gfsa-layout{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:20px;align-items:start}.gfsa-sidebar,.gfsa-main{background:rgba(14,0,48,.56);border:1px solid rgba(0,185,255,.24);border-radius:18px;padding:clamp(16px,2.2vw,25px)}.gfsa-sidebar{max-height:80vh;overflow:auto;position:sticky;top:25px}.gfsa-sidebar details{padding:5px 0}.gfsa-sidebar details details{margin-right:12px;border-right:1px solid rgba(0,185,255,.22);padding-right:12px}.gfsa summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere;color:#fff}.gfsa-sidebar ul{list-style:none;margin:5px 0;padding:0}.gfsa-sidebar a{display:block;text-decoration:none;color:#dfd5f3;padding:7px 10px;border-radius:8px;font-size:.88em}.gfsa-sidebar a:hover,.gfsa-sidebar a[aria-current]{background:rgba(0,185,255,.12);color:var(--gold)}.gfsa-sidebar a span{color:var(--cyan);margin-left:3px}.gfsa-overview{font-weight:400}.gfsa-main{min-width:0}.gfsa-status:empty{display:none}.gfsa-status{padding:10px 14px;background:rgba(0,185,255,.1);border-radius:10px;color:#eee}.gfsa-status[data-error="true"]{background:rgba(190,44,54,.22);color:#ffd5d5}.gfsa-lesson-heading{margin-bottom:14px}.gfsa-lesson-heading h3{margin:.25em 0}.gfsa-age-tag{display:inline-block;margin-top:4px;padding:3px 12px;border-radius:20px;background:rgba(255,195,18,.12);border:1px solid rgba(255,195,18,.45);color:var(--gold);font-size:.82em}.gfsa-player{position:relative;background:#080018;border:1px solid rgba(0,185,255,.3);border-radius:15px;overflow:hidden;min-height:90px}.gfsa-video-shell{position:relative}.gfsa-player video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;background:#080018}.gfsa-watermark{position:absolute;top:14%;right:8%;color:rgba(255,255,255,.24);font-size:clamp(.7rem,1.4vw,1rem);pointer-events:none;user-select:none;transition:top 2s ease,right 2s ease}.gfsa-audio{width:100%;margin:25px 0}.gfsa-pdf{display:block;width:100%;height:min(72vh,760px);border:0;background:#fff}.gfsa-image{display:block;max-width:100%;max-height:70vh;margin:auto}.gfsa-reading{background:rgba(255,255,255,.05);padding:20px;border-radius:12px;color:#f8f5ff}.gfsa-description{margin:18px 0;overflow-wrap:anywhere;color:#eee7fa}.gfsa-intro{font-size:1.03em}.gfsa-error{padding:18px;color:#ffd4d4}.gfsa-help{font-size:.82em;color:#c4b9da}.gfsa-next{display:inline-block;color:var(--gold);text-decoration:none;margin:12px 12px 0 0}.gfsa button,.gfsa .gfsa-button{border:1px solid rgba(255,255,255,.08);border-radius:11px;background:linear-gradient(135deg,#ffc312,#f3a500);color:#21004f;padding:10px 20px;cursor:pointer;font:inherit;font-size:.9em;font-weight:700;display:inline-block;text-decoration:none;margin:6px 0 6px 8px;box-shadow:0 6px 16px rgba(255,195,18,.14)}.gfsa .gfsa-secondary{background:transparent;color:var(--gold);border-color:rgba(255,195,18,.65);box-shadow:none}.gfsa button:disabled{opacity:.55;cursor:wait}.gfsa button:focus-visible,.gfsa a:focus-visible,.gfsa summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.gfsa-exam{margin-top:25px;padding-top:20px;border-top:1px solid rgba(0,185,255,.25)}.gfsa-exam p{color:#cfc2e6}.gfsa-quiz{margin-top:20px}.gfsa-quiz fieldset{padding:18px;border:1px solid rgba(0,185,255,.3);border-radius:10px;margin-bottom:15px}.gfsa-quiz legend{padding:0 8px}.gfsa-quiz label{display:block;padding:7px;cursor:pointer;color:#eee}.gfsa-quiz input{margin-left:8px}.gfsa [hidden]{display:none!important}.gfsa-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.gfsa-course-card{background:linear-gradient(160deg,rgba(58,12,127,.78),rgba(17,0,51,.92));border:1px solid rgba(0,185,255,.38);border-radius:17px;padding:22px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}.gfsa-course-card .gfsa-card-category{color:var(--cyan);font-size:.83em}.gfsa-course-card h3{margin:10px 0}.gfsa-course-card h3{color:#fff}.gfsa-card-link{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;min-width:0;color:inherit;text-decoration:none}.gfsa-card-link:hover,.gfsa-card-link:focus-visible{color:inherit;text-decoration:none}.gfsa-card-link p{width:100%}.gfsa-course-card p{font-size:.9em;color:#d9ccec;flex:1}.gfsa-course-card .gfsa-card-difficulty{color:var(--gold);font-size:.85em}.gfsa-course-card .gfsa-button{margin-top:16px}.gfs-empty-card{padding:25px;background:#1e064e;color:#fff;border-radius:15px}@media(max-width:800px){.gfsa{padding:14px}.gfsa-layout{grid-template-columns:1fr}.gfsa-sidebar{position:static;max-height:300px}.gfsa-main{padding:16px}}
.gfsa-title-row{display:flex;align-items:center;gap:12px;justify-content:space-between}.gfsa-title-row h2{flex:1}.gfsa .gfsa-info-button{width:34px;height:34px;min-width:34px;border-radius:50%;padding:0;margin:0;background:rgba(255,255,255,.08);color:var(--gold);border:1px solid rgba(255,195,18,.58);box-shadow:none;display:inline-grid;place-items:center;font:700 18px/1 Georgia,serif}.gfsa .gfsa-info-button:hover{background:rgba(255,195,18,.12)}
.gfsa-feedback{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;margin:0 0 18px;padding:13px 15px;border:1px solid rgba(0,185,255,.3);border-radius:12px;background:rgba(0,185,255,.09)}.gfsa-feedback-message{grid-row:1/3;color:#fff}.gfsa-feedback-xp{font-weight:800;color:var(--gold);font-size:1.05em}.gfsa-feedback-meta{color:#d8ccef;font-size:.83em}.gfsa-feedback[data-error="true"]{background:rgba(190,44,54,.2);border-color:rgba(255,100,110,.35)}
.gfsa-outline{margin:24px 0;background:rgba(255,255,255,.035);border:1px solid rgba(0,185,255,.22);border-radius:16px;overflow:hidden}.gfsa-outline-title{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid rgba(0,185,255,.18)}.gfsa-outline-title h3{margin:0}.gfsa-outline-title span{font-size:.8em;color:#bfb2d8}.gfsa-outline-chapter{padding:16px 18px}.gfsa-outline-chapter+.gfsa-outline-chapter{border-top:1px solid rgba(0,185,255,.14)}.gfsa-outline-chapter h4{margin:0 0 10px;color:#fff;font-size:1em}.gfsa-outline-chapter ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.gfsa-outline-item a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.035);text-decoration:none;color:#fff;border:1px solid transparent}.gfsa-outline-item a:hover{background:rgba(0,185,255,.08);border-color:rgba(0,185,255,.2)}.gfsa-outline-main{display:flex;align-items:center;gap:10px;min-width:0}.gfsa-type-icon{width:30px;height:30px;min-width:30px;display:inline-grid;place-items:center;border-radius:9px;background:rgba(0,185,255,.12);color:var(--cyan);font-weight:800}.gfsa-outline-main strong{display:block;overflow-wrap:anywhere}.gfsa-outline-main small{display:block;color:#bfb2d8;font-size:.75em;margin-top:1px}.gfsa-outline-meta{display:flex;align-items:center;gap:9px;color:#d8ccef;font-size:.85em;white-space:nowrap}.gfsa-done-mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,195,18,.13);color:var(--gold);font-weight:800}.gfsa-outline-empty,.gfsa-empty-outline{color:#bfb2d8;font-size:.88em}
.gfsa-guide{width:min(620px,calc(100vw - 32px));max-height:min(78vh,720px);padding:0;border:1px solid rgba(0,185,255,.35);border-radius:18px;background:#1b0646;color:#f8f5ff;box-shadow:0 28px 80px rgba(0,0,0,.46)}.gfsa-guide::backdrop{background:rgba(8,0,24,.72);backdrop-filter:blur(3px)}.gfsa-guide-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(0,185,255,.18)}.gfsa-guide-head h3{margin:0}.gfsa .gfsa-guide-close{width:34px;height:34px;padding:0;margin:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:none;font-size:22px;line-height:1}.gfsa-guide-body{padding:16px 22px 20px;overflow:auto}.gfsa-guide-body ul{margin:0;padding-right:20px}.gfsa-guide-body li+li{margin-top:10px}.gfsa-guide-body li::marker{color:var(--gold)}
@media(max-width:600px){.gfsa-outline-title{align-items:start;flex-direction:column}.gfsa-outline-item a{align-items:flex-start}.gfsa-outline-meta{font-size:.78em}.gfsa-feedback{grid-template-columns:1fr}.gfsa-feedback-message{grid-row:auto}.gfsa-guide-body{padding:14px 18px 18px}}

.gfsa-course-list .gfsa-catalog{background:none;border:0;padding:0;box-shadow:none}.gfsa-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin}.gfsa-carousel-track .gfsa-course-card{scroll-snap-align:start;scroll-snap-stop:always;min-width:0}.gfsa-card-cover{display:block;width:100%}.gfsa-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:16px}.gfsa-card-placeholder{width:100%;aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(ellipse at top,#514293,#18003d);color:#ffc312;font-size:3rem;border-radius:12px;margin-bottom:16px}.gfsa-carousel-actions,.gfsa-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:18px;flex-wrap:wrap}.gfsa-carousel-actions button{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;margin:0;border-radius:10px;font-size:18px;line-height:1}.gfsa-carousel-actions .gfsa-button{min-height:42px;padding:8px 16px;margin:0;border-radius:10px;font-size:.82rem}.gfsa-pagination [aria-current]{background:#ffc312;color:#18003d}@media(max-width:900px){.gfsa-carousel-track{grid-auto-columns:calc((100% - 20px)/2)}}@media(max-width:600px){.gfsa-carousel-track{grid-auto-columns:90%}.gfsa-carousel-actions button{width:38px;height:38px;min-width:38px;min-height:38px}.gfsa-carousel-actions .gfsa-button{min-height:38px;padding:7px 13px;font-size:.78rem}}


/* Lightweight homepage carousel: Splide core only, no theme bundle. */
.gfsa-splide{width:100%;margin:0 auto}.gfsa-splide .splide__track{overflow:hidden}.gfsa-splide .gfsa-carousel-track{display:flex!important;grid-auto-flow:unset!important;grid-auto-columns:unset!important;gap:0!important;overflow:visible!important;scroll-snap-type:none!important;scroll-behavior:auto!important;overscroll-behavior:auto!important;scrollbar-width:auto!important;align-items:stretch}.gfsa-splide .gfsa-course-card{height:auto;min-width:0;scroll-snap-align:none;scroll-snap-stop:normal}.gfsa-splide .splide__list{align-items:stretch}.gfsa-carousel-actions.splide__arrows{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:16px;flex-wrap:wrap}.gfsa-carousel-actions .splide__arrow{position:static;transform:none;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;margin:0;border-radius:9px;font-size:16px;line-height:1;opacity:1}.gfsa-carousel-actions .splide__arrow:disabled{opacity:.35;cursor:default}.gfsa-carousel-actions .gfsa-button{min-height:36px;padding:7px 13px;margin:0;border-radius:9px;font-size:.78rem}@media(max-width:600px){.gfsa-carousel-actions .splide__arrow{width:34px;height:34px;min-width:34px;min-height:34px}.gfsa-carousel-actions .gfsa-button{min-height:34px;padding:6px 11px;font-size:.74rem}}

/* Compact learning-path navigation. Keep the scrollbar on the visual right in RTL. */
.gfsa-sidebar{direction:ltr;scrollbar-width:thin;scrollbar-color:rgba(0,185,255,.62) transparent}
.gfsa-sidebar>*{direction:rtl}
.gfsa-sidebar::-webkit-scrollbar{width:2px;height:2px}
.gfsa-sidebar::-webkit-scrollbar-track{background:transparent}
.gfsa-sidebar::-webkit-scrollbar-thumb{background:rgba(0,185,255,.62);border-radius:4px}
.gfsa-sidebar summary{list-style:none;position:relative;padding-left:18px;font-size:.84em;font-weight:400}
.gfsa-sidebar summary::-webkit-details-marker{display:none}
.gfsa-sidebar summary::before{content:"";position:absolute;left:4px;top:50%;width:6px;height:6px;border-left:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translateY(-60%) rotate(-45deg);transition:transform .16s ease;opacity:.8}
.gfsa-sidebar details[open]>summary::before{transform:translateY(-35%) rotate(-135deg)}
.gfsa-sidebar a{font-size:.82em;font-weight:400}
.gfsa-sidebar a[aria-current]{font-weight:700;color:var(--gold);background:rgba(0,185,255,.12)}
.gfsa-watermark{display:none!important}

/* Course-specific learning path: wider, single-line labels, only the active item is emphasized. */
.gfsa-sidebar summary,.gfsa-sidebar a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gfsa-sidebar .is-current-section>summary{color:#fff}
.gfsa-sidebar a[aria-current="page"]{font-weight:700;color:var(--gold);background:rgba(0,185,255,.12)}
.gfsa-flat-lessons{margin-top:8px!important}
.gfsa-course-card{cursor:pointer}
.gfsa-card-link .gfsa-button{pointer-events:none}
@media(max-width:1100px) and (min-width:801px){.gfsa-layout{grid-template-columns:minmax(285px,330px) minmax(0,1fr)}}

/* 2026-09-21: the entire visual course card is part of its course link. */
.gfsa-course-card{position:relative}
.gfsa-card-link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:2}
.gfsa-card-link>*{position:relative;z-index:1}
.gfsa-card-link:focus-visible::after{outline:3px solid var(--gold);outline-offset:3px}
