/* ASTRIORA unified role loading screen. Visual-only; no bootstrap/data behavior. */
.astriora-loader{
  position:fixed;inset:0;z-index:2147483000;
  width:100vw;height:100vh;height:100dvh;min-height:100vh;
  overflow:hidden;display:grid;place-items:center;
  box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));
  background:
    radial-gradient(circle at 79% 75%,rgba(245,0,114,.08),transparent 26%),
    radial-gradient(circle at 15% 12%,rgba(126,20,76,.08),transparent 28%),
    linear-gradient(135deg,#050912 0%,#080d17 49%,#070a12 100%);
  color:#fff;text-align:center;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  isolation:isolate;
}
.astriora-loader::before{
  content:"";position:absolute;z-index:-2;pointer-events:none;
  width:min(760px,54vw);height:145vh;right:-9vw;top:-22vh;
  transform:rotate(7deg) skewX(-12deg);
  background:repeating-linear-gradient(134deg,
    transparent 0 54px,
    rgba(245,0,114,.018) 55px 78px,
    rgba(245,0,114,.095) 79px 116px,
    transparent 117px 170px);
  opacity:.92;
}
.astriora-loader::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:clamp(280px,31vw,620px);aspect-ratio:1/1;
  right:clamp(-250px,-11vw,-100px);bottom:clamp(-270px,-15vw,-110px);
  border-radius:50%;
  border:clamp(34px,4.5vw,82px) solid rgba(245,0,114,.22);
  box-shadow:0 0 80px rgba(245,0,114,.08),inset 0 0 58px rgba(245,0,114,.06);
}
.astriora-loader-ornament{
  position:absolute;z-index:-1;pointer-events:none;left:-5vw;bottom:-3vh;
  width:min(430px,34vw);height:min(320px,42vh);opacity:.8;
  background:
    linear-gradient(128deg,transparent 0 46%,rgba(245,0,114,.78) 46.5% 51%,transparent 51.5%) 0 58%/38% 70% no-repeat,
    linear-gradient(128deg,transparent 0 46%,rgba(245,0,114,.24) 46.5% 58%,transparent 58.5%) 34% 100%/68% 100% no-repeat;
}
.astriora-loader-content{
  width:min(900px,90vw);display:flex;flex-direction:column;align-items:center;
  transform:translateY(clamp(-18px,-1.5vh,-4px));
}
.astriora-loader-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(28px,4.5vh,54px)}
.astriora-loader-logo-wrap{position:relative;display:block;line-height:0}
.astriora-loader-logo{display:block;width:clamp(185px,17vw,286px);height:auto;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);}
.astriora-loader-logo-wrap::after{
  content:"";position:absolute;width:clamp(7px,.62vw,11px);height:clamp(7px,.62vw,11px);
  background:#f50072;border-radius:1px;left:53.9%;top:42.5%;box-shadow:0 0 18px rgba(245,0,114,.55);transform:translate(-50%,-50%) rotate(1deg)
}
.astriora-loader-wordmark{
  margin-top:clamp(12px,1.5vh,18px);font-size:clamp(14px,1.05vw,18px);font-weight:300;
  letter-spacing:.54em;text-indent:.54em;color:rgba(255,255,255,.92);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
.astriora-loader-dots{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.1vw,18px);height:34px;margin-bottom:clamp(24px,3.4vh,42px)}
.astriora-loader-dot{
  width:clamp(12px,1.05vw,18px);height:clamp(12px,1.05vw,18px);border-radius:50%;
  background:#73123f;opacity:.48;transform:scale(.88);
  animation:astriora-loader-dot .72s steps(1,end) infinite;
}
.astriora-loader-dot:nth-child(2){animation-delay:.24s}.astriora-loader-dot:nth-child(3){animation-delay:.48s}
@keyframes astriora-loader-dot{
  0%,32%{background:#ff087d;opacity:1;transform:scale(1.16);box-shadow:0 0 20px rgba(245,0,114,.72)}
  33%,100%{background:#73123f;opacity:.48;transform:scale(.88);box-shadow:none}
}
.astriora-loader-title{
  margin:0;font-size:clamp(30px,3.05vw,58px);line-height:1.08;letter-spacing:-.035em;font-weight:800;color:#fff;
  text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.28)
}
.astriora-loader-subtitle{
  margin:clamp(14px,2vh,23px) 0 0;font-size:clamp(15px,1.45vw,23px);line-height:1.42;font-weight:400;
  color:rgba(255,255,255,.74);text-wrap:balance
}
@media(max-width:760px){
  .astriora-loader{padding:24px 18px}.astriora-loader::before{width:78vw;right:-29vw;opacity:.75}.astriora-loader::after{right:-170px;bottom:-170px}.astriora-loader-ornament{width:58vw;left:-13vw;opacity:.52}.astriora-loader-content{width:94vw}.astriora-loader-brand{margin-bottom:30px}.astriora-loader-dots{margin-bottom:26px}.astriora-loader-wordmark{letter-spacing:.42em;text-indent:.42em;font-size:13px}
}
@media(max-height:620px) and (min-width:761px){
  .astriora-loader-brand{margin-bottom:22px}.astriora-loader-dots{margin-bottom:20px}.astriora-loader-logo{width:180px}.astriora-loader-title{font-size:34px}.astriora-loader-subtitle{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.astriora-loader-dot{animation:none}.astriora-loader-dot:nth-child(2){background:#ff087d;opacity:1;transform:scale(1.08);box-shadow:0 0 18px rgba(245,0,114,.52)}}

/* 2026-10-01: loader polish. The logo image already contains the accepted brand mark; no extra accent square. */
.astriora-loader-logo-wrap::after{display:none!important;content:none!important}
