.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);opacity:0;background:var(--grad-nova);box-shadow:0 0 12px rgba(143,162,255,.7)}.nav-progress[data-state=busy]{opacity:1;animation:nav-progress 10s cubic-bezier(.05,.7,.2,1) forwards}.nav-progress[data-state=done]{transform:scaleX(1);opacity:0;transition:opacity .3s ease .12s}@keyframes nav-progress{0%{transform:scaleX(0)}3%{transform:scaleX(.3)}to{transform:scaleX(.94)}}a[data-pending]{cursor:progress}.door[data-pending],.lab-card[data-pending]{transform:translateY(-2px) scale(.985);border-color:color-mix(in srgb,var(--accent,#6C8CFF) 65%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent,#6C8CFF) 45%,transparent)}.lab-card[data-pending]:after{content:"";position:absolute;z-index:3;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:2.5px solid rgba(255,255,255,.28);border-top-color:#fff;background:rgba(7,10,22,.55);animation:nav-spin .7s linear infinite}.btn[data-pending],.float-card[data-pending]{opacity:.8}.skel{display:block;max-width:100%;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.13) 37%,rgba(255,255,255,.06) 63%);background-size:400% 100%;animation:skel-shimmer 1.4s ease infinite}.skel-lines{display:flex;flex-direction:column;gap:10px}.lab-loading .skel-btn{pointer-events:none;opacity:.6}.lab-loading .skel-tab-on{color:#fff;font-weight:700;border-bottom-color:var(--orange)}.lab-loading .skel-rail{margin:8px 10px}.lab-loading .skel-h1{margin:14px 0 18px}.lab-loading .lesson-main .skel-lines{margin-bottom:24px}.skel-stage{overflow:hidden}.skel-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(143,162,255,.09) 50%,transparent 70%);background-size:250% 100%;animation:skel-shimmer 1.6s ease infinite}.skel-stage-label{position:relative;display:inline-flex;gap:10px;align-items:center}.skel-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top:2px solid var(--cyan);animation:nav-spin .8s linear infinite}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes nav-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.nav-progress[data-state=busy]{animation:none;transform:scaleX(.6)}.nav-progress[data-state=done]{transition:none}.lab-card[data-pending]:after,.skel,.skel-spinner,.skel-stage:before{animation:none}.door[data-pending],.lab-card[data-pending]{transform:none}}main[data-nav-swap]>:not(.nav-swap){display:none!important}