/* Critical startup styling also works before the application JavaScript arrives. */
.atria-loading-screen {
  position: fixed; inset: 0; z-index: 1000; isolation: isolate;
  display: grid; place-items: center; overflow: hidden;
  min-height: 100svh; padding: 32px; box-sizing: border-box;
  background: #1e1c20; color: #f7f6f6;
  font-family: Sora, system-ui, sans-serif;
}
.atria-loading-glow {
  position: absolute; inset: -20%; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 35% 38%, #72f21618, transparent 45%), radial-gradient(ellipse at 72% 65%, #1f590e55, transparent 48%);
  animation: atria-loading-breathe 8s ease-in-out infinite alternate;
}
.atria-loading-content { display: flex; flex-direction: column; align-items: center; text-align: center; width: min(100%, 420px); animation: atria-loading-enter .6s ease-out both; }
.atria-loading-logo { display: block; width: clamp(148px, 16vw, 208px); height: auto; max-width: 100%; object-fit: contain; border-radius: 0; }
.atria-loading-message { margin: 32px 0 0; font-size: clamp(13px, 1.4vw, 15px); line-height: 1.7; color: #cfccd1; font-weight: 400; }
.atria-loading-indicator { display: flex; gap: 7px; margin-top: 30px; height: 8px; align-items: center; }
.atria-loading-indicator span { width: 5px; height: 5px; border-radius: 50%; background: #72f216; opacity: .3; animation: atria-loading-dot 1.8s ease-in-out infinite; }
.atria-loading-indicator span:nth-child(2) { animation-delay: .2s; }
.atria-loading-indicator span:nth-child(3) { animation-delay: .4s; }
.atria-loading-label { margin-top: 14px; font-size: 11px; line-height: 1.5; color: #a9a4ae; }
.atria-loading-signature { position: absolute; bottom: max(28px, env(safe-area-inset-bottom)); margin: 0; font-size: 10px; line-height: 1.5; letter-spacing: .18em; text-transform: uppercase; color: #aaa5af; }
.atria-loading-signature span { color: #72f216; margin: 0 10px; }
@keyframes atria-loading-breathe { from { transform: translate3d(-2%, -1%, 0) scale(1); opacity: .65; } to { transform: translate3d(2%, 1%, 0) scale(1.06); opacity: 1; } }
@keyframes atria-loading-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes atria-loading-dot { 0%, 70%, 100% { opacity: .3; transform: translateY(0); } 35% { opacity: 1; transform: translateY(-3px); } }
@media (max-height: 450px) { .atria-loading-message { margin-top: 16px; } .atria-loading-indicator { margin-top: 16px; } .atria-loading-signature { display: none; } .atria-loading-logo { width: 120px; } }
@media (prefers-reduced-motion: reduce) { .atria-loading-screen *, .atria-loading-screen *::before { animation: none; transform: none; } .atria-loading-indicator span { opacity: .8; } }
