.synthwave-loading-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0a0015,#1a0a2e 20%,#2d1b4e 40%,#1a0a2e 70%,#0a0015);pointer-events:none;opacity:0;transition:opacity .25s ease-out}.synthwave-loading-overlay.enter,.synthwave-loading-overlay.loading{opacity:1;pointer-events:auto}.synthwave-loading-overlay.exit{opacity:0;pointer-events:none;transition:opacity .3s ease-in}.synthwave-loading-overlay.synthwave-loading-fallback{opacity:1;pointer-events:auto}.synthwave-loading__scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 4px);pointer-events:none}.synthwave-loading__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(235,56,207,.03) 1px,transparent 0),linear-gradient(90deg,rgba(235,56,207,.03) 1px,transparent 0);background-size:40px 40px;pointer-events:none}.synthwave-loading__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px}.synthwave-loading__text{font-size:2rem;letter-spacing:.5em;color:#66ffc8;text-shadow:0 0 20px rgba(102,255,200,.8),0 0 40px rgba(235,56,207,.5);animation:synthwave-glow 1.2s ease-in-out infinite alternate}@keyframes synthwave-glow{0%{text-shadow:0 0 15px rgba(102,255,200,.6),0 0 30px rgba(235,56,207,.4)}to{text-shadow:0 0 25px rgba(102,255,200,.9),0 0 50px rgba(235,56,207,.6)}}.synthwave-loading__bar-container{width:220px;height:8px;background:rgba(0,0,0,.5);border:2px solid #eb38cf;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 10px rgba(235,56,207,.3)}.synthwave-loading__bar{width:100%;height:100%;background:linear-gradient(90deg,#eb38cf,#66ffc8);border-radius:2px;animation:synthwave-fill .8s ease-in-out forwards;transform-origin:left}@keyframes synthwave-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.synthwave-loading__dots{display:flex;gap:8px}.synthwave-loading__dot{width:8px;height:8px;background:#eb38cf;border-radius:50%;box-shadow:0 0 10px #eb38cf;animation:synthwave-dot .6s ease-in-out infinite}.synthwave-loading__dot:nth-child(2){animation-delay:.15s}.synthwave-loading__dot:nth-child(3){animation-delay:.3s}@keyframes synthwave-dot{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}