/* Motion layer: deliberately GPU-friendly (transform and opacity only). */
.page-enter{animation:pageIn .55s cubic-bezier(.2,.8,.2,1) both}.course-reveal{animation:slideIn .42s calc(var(--delay) + 50ms) cubic-bezier(.2,.8,.2,1) both}.free-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:12px 14px;border:1px solid #71e6d341;border-radius:11px;background:linear-gradient(90deg,#12403c55,#14234155);color:#9cefe2;font-size:12px}.available{color:#aebdff;background:#687cff18}.course{overflow:hidden}.course:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 32%,#bffef725 48%,transparent 64%);transform:translateX(-120%);transition:transform .6s ease}.course:hover:after{transform:translateX(120%)}.course:hover .number{transform:rotate(-7deg) scale(1.08)}.number{transition:transform .25s ease}.flow-map{isolation:isolate}.flow-line{position:absolute;width:38%;height:1px;background:linear-gradient(90deg,transparent,#70e6d3,transparent);transform-origin:left;animation:wire 2.8s ease-in-out infinite}.line-a{top:43%;left:13%;transform:rotate(18deg)}.line-b{top:57%;right:13%;transform:rotate(-18deg);animation-delay:-1.4s}.data-particle{z-index:3;position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;box-shadow:0 0 13px 4px #71e6d3;animation:orbit 4.5s linear infinite}.p1{animation-delay:0s}.p2{animation-delay:-1.5s;background:#bba6ff}.p3{animation-delay:-3s;background:#ffb367}.map-node{animation:nodeFloat 3.2s ease-in-out infinite}.map-node.pos2,.map-node.pos3{animation-delay:-1.5s}.map-node.pos4{animation-delay:-.7s}.map-node.center{animation:corePulse 2.4s ease-in-out infinite}.primary{position:relative;overflow:hidden}.primary:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 37%,#fff9 50%,transparent 63%);transform:translateX(-110%);animation:buttonShine 3.7s ease-in-out infinite}.lesson-card{animation:cardLift .6s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes wire{0%,100%{opacity:.15;transform:scaleX(.45)}50%{opacity:1;transform:scaleX(1)}}@keyframes orbit{from{transform:rotate(0deg) translateX(104px) rotate(0deg)}to{transform:rotate(360deg) translateX(104px) rotate(-360deg)}}@keyframes nodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes corePulse{0%,100%{transform:scale(1);box-shadow:0 0 18px #4ed9c533}50%{transform:scale(1.07);box-shadow:0 0 36px #71e6d3aa}}@keyframes buttonShine{0%,72%,100%{transform:translateX(-110%)}86%{transform:translateX(110%)}}@keyframes cardLift{from{opacity:0;transform:translateY(15px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}@media(max-width:640px){.free-nav{align-items:flex-start;flex-direction:column}.flow-line{display:none}}
