/* One scrollbar design for directory, player, login, panels and modal content. */
html,body,body *{scrollbar-width:none!important}::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.emx-scroll-track{position:fixed!important;transform:none!important;transition:none!important;animation:none!important;z-index:2147483646;width:6px;border-radius:10px;background:rgba(70,135,150,.12);touch-action:none;user-select:none;pointer-events:auto}
.emx-scroll-track.x{height:6px;width:auto}.emx-scroll-track[hidden]{display:none!important}
.emx-scroll-thumb{width:100%;height:100%;min-width:6px;min-height:6px;border-radius:10px;background:linear-gradient(180deg,#56dba8,#268eab);box-shadow:0 0 8px #46ceb322;cursor:grab;touch-action:none}
.emx-scroll-track:hover,.emx-scroll-track:focus-within,.emx-scroll-track.dragging{background:#325c6b55}.emx-scroll-thumb:focus-visible{outline:2px solid #afffdc;outline-offset:2px}.emx-scroll-track.dragging .emx-scroll-thumb{cursor:grabbing;background:#70ebbb}
body #loginForm .login-system-logo{display:block;width:auto;max-width:min(250px,80%);height:auto;max-height:86px;object-fit:contain;margin:auto}body #loginForm .login-brand [hidden]{display:none!important}body #loginForm .login-system-fallback{font-size:24px;letter-spacing:.18em;color:#f1fff9}

/* Clean technological splash: bare centered logo, ambient light and data trails. */
#pwaWelcome{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#071c37 0%,#05091d 48%,#01030b 100%);isolation:isolate;transition:opacity .45s ease}
#pwaWelcome[hidden],#pwaWelcome [hidden]{display:none!important}
#pwaWelcome.is-leaving{opacity:0;pointer-events:none}
.welcome-aurora{position:absolute;inset:-20%;background:radial-gradient(ellipse at 25% 35%,#6d28d950,transparent 36%),radial-gradient(ellipse at 75% 65%,#0891b245,transparent 38%),radial-gradient(ellipse at 60% 20%,#db27771c,transparent 30%);filter:blur(30px);animation:tech-drift 14s ease-in-out infinite alternate;pointer-events:none}
.welcome-stars{position:absolute;inset:-5%;background-image:radial-gradient(1px 1px at 12% 22%,#fff,transparent),radial-gradient(2px 2px at 78% 14%,#cffafe,transparent),radial-gradient(1px 1px at 34% 76%,#fff,transparent),radial-gradient(1.5px 1.5px at 88% 68%,#c4b5fd,transparent),radial-gradient(1px 1px at 55% 38%,#fff,transparent),radial-gradient(1px 1px at 22% 58%,#a5f3fc,transparent);background-size:173px 211px,311px 277px,229px 307px,401px 337px,197px 359px,283px 193px;animation:cosmic-stars 9s ease-in-out infinite alternate;pointer-events:none}
.welcome-planet{position:absolute;border-radius:50%;pointer-events:none}
.welcome-planet-main{width:clamp(180px,38vw,480px);aspect-ratio:1;right:-8%;top:-8%;background:radial-gradient(circle at 28% 30%,#9edfff 0%,#347baf 16%,#183865 38%,#060c23 65%);box-shadow:inset -35px -20px 55px #000b,inset 4px 3px 10px #a5f3fc88,-8px 0 38px #38bdf833;animation:cosmic-planet 18s ease-in-out infinite alternate}
.welcome-planet-main::after{content:'';position:absolute;inset:-20%;border-radius:50%;border:14px solid #93c5fd20;border-left-color:#67e8f966;border-bottom-color:#818cf866;transform:rotate(-28deg) scaleY(.3);box-shadow:0 0 20px #38bdf820}
.welcome-planet-small{width:clamp(90px,19vw,240px);aspect-ratio:1;left:-4%;bottom:8%;background:radial-gradient(circle at 68% 25%,#e9c9ff,#8050a5 20%,#2c184f 48%,#060714 75%);box-shadow:inset 20px -15px 35px #0009,5px -4px 25px #c084fc30;animation:cosmic-planet 13s ease-in-out infinite alternate-reverse}
@keyframes cosmic-stars{from{opacity:.55;transform:translate3d(0,0,0)}to{opacity:1;transform:translate3d(-8px,6px,0)}}
@keyframes cosmic-planet{to{transform:translate3d(8px,12px,0) rotate(3deg)}}
#pwaWelcome::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#67e8f91c .7px,transparent .7px);background-size:32px 32px;mask-image:linear-gradient(transparent,#0006,transparent);pointer-events:none}
#pwaWelcome::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,#22d3ee06 48%,#a5f3fc0b 50%,transparent 57%);background-size:260% 100%;animation:tech-sweep 6s ease-in-out infinite;pointer-events:none}
.welcome-content{position:relative;z-index:2;display:grid;place-items:center;width:min(340px,80vw);height:min(340px,65dvh);background:none!important;border:0!important;box-shadow:none!important}
.welcome-content img{display:block;width:min(240px,60vw);height:min(240px,42dvh);object-fit:contain;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;animation:tech-brand 5.6s ease-in-out infinite;filter:drop-shadow(0 0 12px #67e8f926)}
.welcome-content strong{font-family:Ubuntu,system-ui,sans-serif;font-size:clamp(28px,8vw,44px);letter-spacing:.14em;color:#eafcff;text-shadow:0 0 22px #22d3ee40;animation:tech-brand 5.6s ease-in-out infinite}
.welcome-data{position:absolute;width:1px;height:30px;background:linear-gradient(transparent,#67e8f980,transparent);left:var(--x);bottom:-10%;animation:tech-data var(--speed) linear infinite;animation-delay:var(--delay);pointer-events:none}
@keyframes tech-brand{0%,100%{transform:translateY(5px);filter:drop-shadow(-2px 1px 2px #22d3ee66) drop-shadow(0 0 14px #67e8f930)}50%{transform:translateY(-5px);filter:drop-shadow(2px -1px 2px #a78bfa88) drop-shadow(0 0 24px #a78bfa55)}}
@keyframes tech-drift{to{transform:translate(4%,-3%)}}
@keyframes tech-sweep{0%,15%{background-position:100% 0}85%,100%{background-position:0 0}}
@keyframes tech-data{0%{transform:translateY(0);opacity:0}20%,70%{opacity:.5}100%{transform:translateY(-115vh);opacity:0}}
@media(prefers-reduced-motion:reduce){#pwaWelcome,#pwaWelcome *,#pwaWelcome::before,#pwaWelcome::after{animation:none!important;transition:none!important}}
