:root{--font-primary: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-heading: "Merriweather", Georgia, serif;--clr-primary-light: #0056b3;--clr-primary-dark-light: #003d80;--clr-accent-light: #1c3d72;--clr-accent-medium-light: #1e40af;--clr-accent-light-light: #e0e7ff;--clr-text-body-light: #343a40;--clr-text-headings-light: #212529;--clr-text-on-dark-light: #ffffff;--clr-text-muted-light: #6c757d;--bg-page-light: #f8f9fa;--bg-element-light: #ffffff;--bg-instructor-light: #e9ecef;--bg-controls-light: var(--clr-accent-light);--border-default-light: #dee2e6;--border-accent-light: var(--clr-accent-light);--clr-primary-dark-theme: #90caf9;--clr-primary-dark-dark-theme: #e3f2fd;--clr-accent-dark-theme: #bb86fc;--clr-accent-medium-dark-theme: #9e6dd4;--clr-accent-light-dark-theme: #4a3169;--clr-text-body-dark-theme: #e0e0e0;--clr-text-headings-dark-theme: #ffffff;--clr-text-on-dark-dark-theme: #121212;--clr-text-muted-dark-theme: #9e9e9e;--bg-page-dark-theme: #121212;--bg-element-dark-theme: #1e1e1e;--bg-instructor-dark-theme: #2c2c2c;--bg-controls-dark-theme: var(--clr-accent-medium-dark-theme);--border-default-dark-theme: #424242;--border-accent-dark-theme: var(--clr-accent-dark-theme);--clr-primary: var(--clr-primary-light);--clr-primary-dark: var(--clr-primary-dark-light);--clr-accent: var(--clr-accent-light);--clr-accent-medium: var(--clr-accent-medium-light);--clr-accent-light-variant: var(--clr-accent-light-light);--clr-text-body: var(--clr-text-body-light);--clr-text-headings: var(--clr-text-headings-light);--clr-text-on-dark: var(--clr-text-on-dark-light);--clr-text-muted: var(--clr-text-muted-light);--bg-page: var(--bg-page-light);--bg-element: var(--bg-element-light);--bg-instructor: var(--bg-instructor-light);--bg-controls: var(--bg-controls-light);--border-default: var(--border-default-light);--border-accent-color: var(--border-accent-light);--shadow-sm: 0 2px 10px rgba(0,0,0,.075);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 20px rgba(0,0,0,.12);--shadow-xl: 0 10px 30px rgba(0, 0, 0, .1);--border-radius-sm: .375rem;--border-radius-md: 8px;--transition-speed-fast: .2s;--transition-speed-normal: .3s;--transition-timing: ease-in-out;--font-size-base: clamp(1rem, 1.5vw, 1.15rem);--font-size-h1: clamp(2.2em, 6vw, 3.8em);--font-size-h2: clamp(1.6em, 4.5vw, 2.4em);--font-size-h3: clamp(1.4em, 3.5vw, 2em);--font-size-h4: clamp(1.2em, 3vw, 1.75em)}[data-theme=dark]{--clr-primary: var(--clr-primary-dark-theme);--clr-primary-dark: var(--clr-primary-dark-dark-theme);--clr-accent: var(--clr-accent-dark-theme);--clr-accent-medium: var(--clr-accent-medium-dark-theme);--clr-accent-light-variant: var(--clr-accent-light-dark-theme);--clr-text-body: var(--clr-text-body-dark-theme);--clr-text-headings: var(--clr-text-headings-dark-theme);--clr-text-on-dark: var(--clr-text-on-dark-dark-theme);--clr-text-muted: var(--clr-text-muted-dark-theme);--bg-page: var(--bg-page-dark-theme);--bg-element: var(--bg-element-dark-theme);--bg-instructor: var(--bg-instructor-dark-theme);--bg-controls: var(--bg-controls-dark-theme);--border-default: var(--border-default-dark-theme);--border-accent-color: var(--border-accent-dark-theme);--shadow-sm: 0 2px 10px rgba(255,255,255,.05);--shadow-md: 0 4px 12px rgba(255,255,255,.06);--shadow-lg: 0 8px 20px rgba(255,255,255,.07);--shadow-xl: 0 10px 30px rgba(255,255,255,.08)}*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none;margin:0;padding:0}body{min-height:100vh;line-height:1.6;font-family:var(--font-primary);font-size:var(--font-size-base);background-color:var(--bg-page);color:var(--clr-text-body);display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,li,dt,dd,label,caption,span,small{line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--clr-text-headings);margin-bottom:.75rem;line-height:1.3}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}p{margin-bottom:1rem}a{color:var(--clr-primary);text-decoration:none;transition:color var(--transition-speed-fast) var(--transition-timing)}a:hover,a:focus{color:var(--clr-primary-dark);text-decoration:underline}a.animated-underline{position:relative}a.animated-underline:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:-2px;left:0;background-color:var(--clr-primary-dark);transform-origin:bottom right;transition:transform .25s ease-out}a.animated-underline:hover:after,a.animated-underline:focus:after{transform:scaleX(1);transform-origin:bottom left}#root{flex-grow:1;display:flex;flex-direction:column;width:100%}.container{width:90%;max-width:1140px;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.text-center{text-align:center}.mt-2{margin-top:.5rem}.mb-4{margin-bottom:1rem}.rounded{border-radius:var(--border-radius-md)}.shadow-lg-util{box-shadow:var(--shadow-lg)}.card,.content-section,.instructor-section{background-color:var(--bg-element);border:1px solid var(--border-default);border-radius:var(--border-radius-md);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md);transition:transform var(--transition-speed-normal) var(--transition-timing),box-shadow var(--transition-speed-normal) var(--transition-timing)}.card:hover,.card:focus-within,.content-section:hover,.content-section:focus-within,.instructor-section:hover,.instructor-section:focus-within{transform:translateY(-5px) scale(1.01);box-shadow:var(--shadow-xl)}.page-header{margin-bottom:2rem;border-bottom:2px solid var(--clr-accent);padding-bottom:1rem}.page-header h1{color:var(--clr-accent)}.content-section h3{color:var(--clr-accent-medium);border-bottom:2px solid var(--clr-accent-light-variant)}.content-section ul{list-style-type:disc;list-style-position:inside;padding-left:.5rem}.content-section ul li{margin-bottom:.5rem}.content-section ol{list-style-type:decimal;list-style-position:inside;padding-left:.5rem}.content-section ol li{margin-bottom:.5rem}.module-link-icon{display:inline-block;margin-left:8px;color:var(--clr-primary);font-weight:700;transition:transform var(--transition-speed-fast) var(--transition-timing)}.module-link-icon:hover{transform:translate(3px)}.instructor-section{background-color:var(--bg-instructor);border-left:5px solid var(--clr-accent)}.instructor-section h2{color:var(--clr-accent);font-size:var(--font-size-h2)}.instructor-section p{color:var(--clr-text-body)}.instructor-section strong{color:var(--clr-text-headings)}.slideshow-container{display:flex;flex-direction:column;height:calc(100vh - 120px);width:80%;max-width:1200px;min-width:320px;margin:20px auto;background-color:var(--bg-element);box-shadow:var(--shadow-lg);border-radius:var(--border-radius-md);overflow:hidden}@media (max-width: 768px){.slideshow-container{width:95%;height:calc(100vh - 80px);margin:10px auto}.slide-content-wrapper{padding:20px}.slide-title{font-size:1.4rem!important}.slide-subtitle{font-size:1rem!important}.slideshow-controls button{padding:8px 15px;font-size:.9rem}}.slide-content-wrapper{flex-grow:1;padding:30px 40px;overflow-y:auto;position:relative}.slide-header{margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-default)}.slide-title{font-size:2rem;color:var(--clr-accent);margin-bottom:5px}.slide-subtitle{font-size:1.3rem;color:var(--clr-primary);font-weight:400}.slide-actual-content{font-size:1.1rem}.slide-actual-content h1,.slide-actual-content h2,.slide-actual-content h3{font-family:var(--font-heading);color:var(--clr-text-headings);margin-top:1.5rem;margin-bottom:.5rem;line-height:1.3}.slide-actual-content h1{font-size:1.8em}.slide-actual-content h2{font-size:1.5em}.slide-actual-content h3{font-size:1.3em}.slide-actual-content p{font-family:var(--font-primary);margin-bottom:1rem}.slide-actual-content ul,.slide-actual-content ol{margin-left:20px;margin-bottom:1rem;padding-left:1.5em}.slide-actual-content ul{list-style-type:disc}.slide-actual-content ol{list-style-type:decimal}.slide-actual-content ul li,.slide-actual-content ol li{margin-bottom:.5rem}.slide-actual-content strong{font-weight:700}.slide-actual-content em{font-style:italic}.slideshow-controls{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:var(--bg-controls);color:var(--clr-text-on-dark)}.slideshow-controls button{background-color:var(--clr-primary);color:var(--clr-text-on-dark);border:none;padding:10px 20px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:1rem;transition:background-color var(--transition-speed-fast) var(--transition-timing)}.slideshow-controls button:disabled{background-color:var(--clr-text-muted);cursor:not-allowed}.slideshow-controls button:not(:disabled):hover{background-color:var(--clr-primary-dark)}.slide-indicator{font-size:.9rem}.social-links{margin-left:auto;display:flex;align-items:center;gap:1rem}.social-links a{color:var(--clr-text-on-dark);text-decoration:none;display:inline-block;transition:transform var(--transition-speed-fast) var(--transition-timing),color var(--transition-speed-fast) var(--transition-timing)}.social-links a:hover,.social-links a:focus{color:var(--clr-accent-light-variant);transform:scale(1.15)}.social-links svg{width:24px;height:24px;fill:currentColor}.feedback-correct{background-color:#d1e7dd;color:#0f5132;padding:1rem;border:1px solid #badbcc;border-radius:var(--border-radius-sm);margin-bottom:1rem}.feedback-incorrect{background-color:#f8d7da;color:#842029;padding:1rem;border:1px solid #f5c2c7;border-radius:var(--border-radius-sm);margin-bottom:1rem}details{margin:1rem 0;border-left:4px solid var(--clr-primary);padding-left:1rem;background-color:var(--bg-element);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;box-shadow:var(--shadow-sm)}details summary{font-weight:700;cursor:pointer;padding:.75rem .5rem;color:var(--clr-accent-medium);outline:none}details summary:hover,details summary:focus{background-color:var(--clr-accent-light-variant)}details[open] summary{border-bottom:1px solid var(--border-default)}details>div{padding:1rem}.button,.button-example{background-color:var(--clr-primary);color:var(--clr-text-on-dark)!important;border:none;padding:10px 20px;border-radius:var(--border-radius-sm);cursor:pointer;font-size:1rem;font-weight:700;text-align:center;display:inline-block;text-decoration:none;transition:background-color var(--transition-speed-fast) var(--transition-timing),transform var(--transition-speed-fast) var(--transition-timing),box-shadow var(--transition-speed-fast) var(--transition-timing)}.button:hover,.button:focus,.button-example:hover,.button-example:focus{background-color:var(--clr-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--clr-text-on-dark)!important;text-decoration:none}.button:active,.button-example:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{opacity:0}.animate-on-scroll.is-visible{animation:fadeInUp .6s ease-out forwards}
