body,html{min-height:100vh}#__next,#root,.app-wrapper,[role=main],body,body.hidden,body.invisible,body[hidden],body[style*="display: none"],body[style*="visibility: hidden"],html,main{display:block!important;opacity:1!important;visibility:visible!important}.loading-overlay{align-items:center;background:hsla(0,0%,100%,.9);display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:9999}.animate-pulse,.skeleton{animation-duration:1.5s;animation-fill-mode:backwards;animation-iteration-count:infinite;animation-name:pulse;animation-timing-function:ease-in-out;background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.03) 50%,rgba(0,0,0,.06) 75%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-color-scheme:dark){.animate-pulse,.skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.06) 25%,hsla(0,0%,100%,.03) 50%,hsla(0,0%,100%,.06) 75%)}}.no-js body{visibility:visible!important}.error-boundary-fallback{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.service-loading{position:relative}.service-loading:after{background:hsla(0,0%,100%,.5);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.service-loading a,.service-loading button,.service-loading input,.service-loading select{pointer-events:auto;position:relative;z-index:1}@media (max-width:768px){.btn-mobile,a[role=button][data-mobile=true],button[data-mobile=true]{box-sizing:border-box;min-height:44px;min-width:44px;padding:12px 16px;touch-action:manipulation}.course-card-mobile{font-size:16px;min-height:48px;padding:14px 20px}.input-mobile{border-radius:8px;font-size:16px}.input-mobile,.nav-mobile{min-height:44px;padding:12px 16px}.nav-mobile{align-items:center;display:flex;justify-content:center}}@media screen and (orientation:landscape) and (max-height:500px){.nav-landscape{padding-bottom:8px;padding-top:8px}.btn-landscape{min-height:40px;padding:8px 12px}}@media (prefers-contrast:high){.btn-accessible{border:2px solid}.focus-ring{outline:3px solid currentColor;outline-offset:2px}}@media (prefers-reduced-motion:reduce){.motion-safe{animation:none;transition:none}.motion-reduce *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.focus-visible:focus:not(:focus-visible){outline:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}