/* AltraKids page loader: shown only when a page takes longer than a moment. */
.akpl{--akpl-ink:#1f6fd1;--akpl-accent:#14a39a;--akpl-card:#ffffff;--akpl-text:#1d2b3a;--akpl-muted:#6b7a8c;--akpl-track:#e6eef7;
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(240,245,250,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .18s ease;cursor:progress}
.akpl[hidden]{display:none!important}
.akpl.akpl-on{opacity:1}
.akpl-card{width:min(300px,100%);background:var(--akpl-card);border:1px solid #dbe5f0;border-radius:18px;
  box-shadow:0 18px 50px rgba(20,45,80,.18);padding:22px 22px 18px;text-align:center;
  transform:translateY(6px) scale(.98);transition:transform .2s ease}
.akpl-on .akpl-card{transform:none}
.akpl-logo{display:block;height:38px;width:auto;max-width:170px;margin:0 auto 10px;object-fit:contain;animation:akplPulse 1.8s ease-in-out infinite}
.akpl-scene{display:block;width:84px;height:84px;margin:4px auto 8px;overflow:visible;
  fill:none;stroke:var(--akpl-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.akpl-scene .akpl-accent{stroke:var(--akpl-accent)}
.akpl-scene .akpl-faint{opacity:.3}
.akpl-scene .akpl-thick{stroke-width:4}
.akpl-text{font:800 14px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--akpl-text);letter-spacing:-.01em}
.akpl-track{position:relative;height:4px;border-radius:4px;background:var(--akpl-track);overflow:hidden;margin:12px auto 0;width:70%}
.akpl-track span{position:absolute;top:0;bottom:0;width:40%;border-radius:4px;background:linear-gradient(90deg,var(--akpl-accent),var(--akpl-ink));animation:akplTrack 1.3s ease-in-out infinite}
.akpl-hint{display:none;margin-top:10px;font:600 11px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--akpl-muted)}
.akpl-slow .akpl-hint{display:block}

/* Drawing strokes (paths carry pathLength="1"). */
.akpl-draw,.akpl-write{stroke-dasharray:1;stroke-dashoffset:1;animation:akplDraw 1.8s ease-in-out infinite}
.akpl-draw.akpl-long{animation-duration:2.6s}
.akpl-write.akpl-d1{animation-name:akplWrite1}.akpl-write.akpl-d2{animation-name:akplWrite2}.akpl-write.akpl-d3{animation-name:akplWrite3}
.akpl-write{animation-duration:2.4s;animation-timing-function:linear}
.akpl-draw.akpl-d2{animation-delay:.25s}.akpl-draw.akpl-d3{animation-delay:.5s}
.akpl-pen{animation:akplPen 2.4s linear infinite}
.akpl-glow{animation:akplGlow 1.6s ease-in-out infinite}
.akpl-mask{fill:var(--akpl-card);stroke:none}
.akpl-rise{animation:akplRise 2.2s ease-in-out infinite}
.akpl-bob1{animation:akplBob 1.2s ease-in-out infinite}.akpl-bob2{animation:akplBob 1.2s ease-in-out .6s infinite}
.akpl-cell{fill:transparent;stroke-width:2;animation:akplCell 1.8s ease-in-out infinite}
.akpl-c2{animation-delay:.2s}.akpl-c3{animation-delay:.4s}.akpl-c4{animation-delay:.6s}.akpl-c5{animation-delay:.8s}.akpl-c6{animation-delay:1s}
.akpl-dot{fill:var(--akpl-ink);stroke:none;transform-box:fill-box;transform-origin:center;animation:akplPop 1.8s ease-in-out infinite}
.akpl-dot.akpl-accent{fill:var(--akpl-accent)}
.akpl-dot.akpl-d1{animation-delay:.2s}.akpl-dot.akpl-d2{animation-delay:.45s}.akpl-dot.akpl-d3{animation-delay:.7s}.akpl-dot.akpl-d4{animation-delay:.95s}
.akpl-bar{transform-box:fill-box;transform-origin:bottom;animation:akplGrow 1.6s ease-in-out infinite}
.akpl-bar.akpl-d2{animation-delay:.2s}.akpl-bar.akpl-d3{animation-delay:.4s}
.akpl-page{animation:akplStack 2.1s ease-in-out infinite}
.akpl-page.akpl-d2{animation-delay:.25s}.akpl-page.akpl-d3{animation-delay:.5s}
.akpl-rays{animation:akplGlow 1.4s ease-in-out infinite}
.akpl-ring{transform-box:fill-box;transform-origin:center;animation:akplRing 1.6s ease-out infinite}
.akpl-flip{transform-box:fill-box;transform-origin:center;animation:akplFlip 1.6s ease-in-out infinite}
.akpl-scan{animation:akplScan 2.2s ease-in-out infinite}
.akpl-wiggle{transform-box:fill-box;transform-origin:center;animation:akplWiggle 1.2s ease-in-out infinite}

@keyframes akplPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}}
@keyframes akplTrack{0%{left:-40%}100%{left:100%}}
@keyframes akplDraw{0%{stroke-dashoffset:1;opacity:1}55%,82%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes akplWrite1{0%{stroke-dashoffset:1}25%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes akplWrite2{0%,25%{stroke-dashoffset:1}55%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes akplWrite3{0%,55%{stroke-dashoffset:1}80%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes akplPen{0%{transform:translate(-22px,-25px)}25%{transform:translate(-2px,-25px)}26%{transform:translate(-22px,-17px)}55%{transform:translate(0,-17px)}56%{transform:translate(-22px,-9px)}80%,100%{transform:translate(-8px,-9px)}}
@keyframes akplGlow{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes akplRise{0%{transform:translateY(12px)}50%,80%{transform:translateY(0)}100%{transform:translateY(12px)}}
@keyframes akplBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes akplCell{0%,100%{fill:transparent}30%,55%{fill:var(--akpl-accent)}}
@keyframes akplPop{0%,10%{transform:scale(0)}30%,85%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes akplGrow{0%{transform:scaleY(.15)}50%,80%{transform:scaleY(1)}100%{transform:scaleY(.15)}}
@keyframes akplStack{0%{transform:translateY(-6px);opacity:0}30%,80%{transform:translateY(0);opacity:1}100%{transform:translateY(0);opacity:0}}
@keyframes akplRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@keyframes akplFlip{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.08)}}
@keyframes akplScan{0%{transform:translate(20px,24px)}30%{transform:translate(40px,30px)}60%{transform:translate(22px,40px)}100%{transform:translate(20px,24px)}}
@keyframes akplWiggle{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}

@media (prefers-reduced-motion:reduce){
  .akpl,.akpl-card{transition:none}
  .akpl *{animation:none!important}
  .akpl-draw,.akpl-write{stroke-dashoffset:0}
  .akpl-dot,.akpl-bar{transform:none}
  .akpl-track span{left:30%}
}
@media print{.akpl{display:none!important}}
