/* Page loader: school logo with a ring, shown until the page has loaded */
#kgLoader{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;background:#fff;transition:opacity .45s ease,visibility .45s ease}
#kgLoader.kg-done{opacity:0;visibility:hidden;pointer-events:none}
#kgLoader .kgl-wrap{position:relative;width:150px;height:150px;display:grid;place-items:center}
#kgLoader .kgl-wrap img{width:96px;height:auto;animation:kgPulse 1.6s ease-in-out infinite;filter:drop-shadow(0 6px 14px rgba(13,59,140,.18))}
#kgLoader .kgl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid #e3ecfb;border-top-color:#1a73e8;border-right-color:#ffc107;animation:kgSpin 1.1s linear infinite}
#kgLoader .kgl-name{font:600 13px/1 "Inter",Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#0d3b8c;opacity:.85}
#kgLoader .kgl-bar{width:140px;height:3px;border-radius:3px;background:#e3ecfb;overflow:hidden}
#kgLoader .kgl-bar i{display:block;width:40%;height:100%;border-radius:3px;background:linear-gradient(90deg,#1a73e8,#ffc107);animation:kgSlide 1.2s ease-in-out infinite}
@keyframes kgSpin{to{transform:rotate(360deg)}}
@keyframes kgPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes kgSlide{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
@media (prefers-reduced-motion:reduce){#kgLoader .kgl-ring,#kgLoader .kgl-wrap img,#kgLoader .kgl-bar i{animation-duration:3s}}
html.kg-loading,html.kg-loading body{overflow:hidden}
