/* Role arrival: the working application loads behind this temporary overlay. */
.oculus-system-loader{position:fixed;inset:0;z-index:3000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:clamp(24px,4vw,64px);background:radial-gradient(ellipse at 50% 42%,#172c47 0,#060d19 48%,#03070d 85%);color:#eef5ff;isolation:isolate}
.oculus-loader-brand{display:flex;align-items:center;gap:16px;z-index:1}.oculus-loader-brand .oculus-emblem{width:42px;height:42px;flex:none}.oculus-loader-brand b{font-size:25px;font-weight:400;letter-spacing:.23em}.oculus-loader-brand small{margin-left:auto;font-size:10px;letter-spacing:.18em;color:#a6bad5}
.oculus-loader-space{position:relative;min-height:200px;width:min(900px,100%);margin:auto;aspect-ratio:1.8;pointer-events:none}
.oculus-loader-universe{position:absolute;inset:0;transform-origin:50% 50%;opacity:1}
.oculus-loader-sun{position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#c0e6ff,#3876a9 18%,#071728 66%);box-shadow:0 0 60px #74beff66,0 0 140px #5f90e52b}
.oculus-loader-orbit{position:absolute;left:50%;top:50%;width:90%;aspect-ratio:1;transform:translate(-50%,-50%) scaleY(.4);border:1px solid #8cbeeb50;border-radius:50%}
.oculus-loader-orbit>i{position:absolute;inset:0;border-radius:50%;transform:rotate(var(--phase));--phase:0deg}
.oculus-loader-orbit>i>span{position:absolute;left:50%;top:0;width:6%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e1f3ff,#4385ba 26%,#091b30 76%);box-shadow:0 0 15px #8dd9ff88;transform:translate(-50%,-50%) rotate(calc(-1 * var(--phase))) scaleY(2.5)}
.oculus-loader-orbit.orbit-1{width:32%;opacity:.7}.oculus-loader-orbit.orbit-2{width:47%}.oculus-loader-orbit.orbit-3{width:64%}.oculus-loader-orbit.orbit-4{width:80%}.oculus-loader-orbit.orbit-5{width:98%;opacity:.65}
.orbit-1>i{--phase:20deg}.orbit-2>i{--phase:110deg}.orbit-3>i{--phase:200deg}.orbit-4>i{--phase:290deg}.orbit-5>i{--phase:340deg}
.oculus-loader-target{position:absolute;left:var(--target-x);top:var(--target-y);width:13%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;border:1px solid var(--role-color);background:radial-gradient(circle at 28% 24%,var(--role-color),#203951 22%,#06121f 70%);box-shadow:0 0 32px color-mix(in srgb,var(--role-color) 60%,transparent),inset -12px -16px 24px #0009}
.oculus-loader-target>.oculus-emblem{width:52%;height:52%;opacity:.9}
.oculus-loader-copy{position:relative;z-index:1;text-align:center;padding:24px 0 0;background:linear-gradient(transparent,#03070dd9 25%)}
.oculus-loader-stage{color:var(--role-color);font-size:12px;letter-spacing:.28em}.oculus-loader-copy h1{font-size:clamp(26px,3vw,42px);font-weight:500;margin:12px 0}.oculus-loader-copy p{color:#9fb4d0;margin:0 0 22px;font-size:14px}.oculus-loader-status{font-size:14px;color:#d3e4f9;min-height:22px}.oculus-loader-copy>small{display:block;color:#7e95b3;margin-top:16px;font-size:11px}
.oculus-loader-progress{position:relative;width:min(340px,80%);height:2px;margin:18px auto 0;overflow:hidden;background:#2a4056}.oculus-loader-progress i{position:absolute;inset:0 auto 0 0;width:40%;background:linear-gradient(90deg,transparent,var(--role-color),transparent)}
.oculus-system-loader.is-ready .oculus-loader-progress i{width:100%;background:var(--role-color)}
@keyframes oculus-planet-revolve{from{transform:rotate(var(--phase))}to{transform:rotate(calc(var(--phase) + 360deg))}}
@keyframes oculus-planet-counterturn{from{transform:translate(-50%,-50%) rotate(calc(-1 * var(--phase))) scaleY(2.5)}to{transform:translate(-50%,-50%) rotate(calc(-1 * var(--phase) - 360deg)) scaleY(2.5)}}
@keyframes oculus-loader-scan{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:no-preference){
 .oculus-system-loader{animation:oculus-fade-in 400ms ease-out;transition:opacity 450ms ease}
 .oculus-loader-universe{transition:transform 1400ms cubic-bezier(.45,0,.15,1),opacity 1200ms ease}
 .oculus-system-loader.is-focusing .oculus-loader-universe{transform:translate(var(--zoom-x),var(--zoom-y)) scale(2.7);opacity:.55}
 .oculus-loader-orbit{--period:12s;--direction:normal}.oculus-loader-orbit.orbit-2{--period:16s;--direction:reverse}.oculus-loader-orbit.orbit-3{--period:20s}.oculus-loader-orbit.orbit-4{--period:25s;--direction:reverse}.oculus-loader-orbit.orbit-5{--period:30s}.oculus-loader-orbit>i{animation:oculus-planet-revolve var(--period) linear infinite var(--direction)}.oculus-loader-orbit>i>span{animation:oculus-planet-counterturn var(--period) linear infinite var(--direction)}
 .oculus-loader-copy{animation:oculus-copy-in 700ms ease-out}.oculus-loader-progress i{animation:oculus-loader-scan 1600ms linear infinite}.oculus-system-loader.is-ready .oculus-loader-progress i{animation:none}
 .oculus-system-loader.is-exiting{opacity:0;pointer-events:none}
}
@media(max-width:600px){.oculus-loader-brand small{display:none}.oculus-system-loader{padding:24px 18px}.oculus-loader-space{width:145%;max-width:none;left:-22.5%}.oculus-loader-copy p{font-size:12px}.oculus-loader-copy>small{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.oculus-system-loader,.oculus-system-loader *{animation:none!important;transition:none!important}}
