/* ---------- splash, loading, reduced motion ---------- */
.r-splash{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;background:radial-gradient(90% 60% at 50% 42%,#141c36,#070a14 72%);transition:opacity .8s ease,visibility .8s}
.r-splash.out{opacity:0;visibility:hidden}
.r-splash .sp-top{display:grid;justify-items:center;gap:6px;text-align:center;animation:spIn .9s ease both}
.r-splash .sp-top svg{width:34px;height:37px;margin-bottom:4px}
.r-splash .sp-top b{font-family:var(--m-caps);font-size:15px;letter-spacing:.24em;font-weight:700;color:var(--m-fg);padding-left:.24em}
.r-splash .sp-top i{font-family:var(--m-disp);font-style:italic;font-size:14px;color:var(--m-brand)}
.r-splash .r-port-fr{width:236px;height:252px;animation:spIn 1.1s .25s ease both}
.r-splash .r-port-fr::before{width:420px;height:420px;margin:-210px 0 0 -210px;opacity:.3;animation:spSpin 90s linear infinite}
.r-splash .r-port-fr img{width:236px;height:252px;opacity:.8}
.r-splash .sp-crest svg{width:120px;height:132px;animation:spIn 1.1s .25s ease both}
.r-splash .sp-hi{margin:0;font-family:var(--m-disp);font-size:24px;color:var(--m-fg);animation:spIn 1s .6s ease both}
.r-splash .sp-hi em{font-style:italic;color:var(--m-gold)}
.r-splash .sp-load{width:120px;height:1px;background:rgba(226,194,125,.2);overflow:hidden;animation:spIn .6s .8s ease both}
.r-splash .sp-load i{display:block;height:100%;width:100%;background:linear-gradient(90deg,transparent,var(--m-gold),transparent);transform:translateX(-100%);animation:spLoad 1.6s .9s ease-in-out infinite}
@keyframes spIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes spSpin{to{transform:rotate(360deg)}}
@keyframes spLoad{to{transform:translateX(100%)}}

@media (prefers-reduced-motion:reduce){
  .mk *,.mk *::before,.mk *::after,.r-splash *{animation:none!important;transition:none!important}
}
