/* Astral Veil loading page: deep indigo night, violet Veil glow, lanterns drifting up, gold bar (game palette). */
html, body { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; background: #0b0918; }
#unity-container { position: fixed; inset: 0; }
#unity-canvas { width: 100%; height: 100%; display: block; background: #0b0918; outline: none; }
#av-loader { position: fixed; inset: 0; z-index: 10; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(ellipse at 50% 120%, #2a1650 0%, #120d26 45%, #0b0918 75%); transition: opacity .6s ease; }
#av-loader.av-done { opacity: 0; pointer-events: none; }
.av-glow { position: absolute; left: 50%; top: 58%; width: 70vmax; height: 30vmax; transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, rgba(146, 87, 255, .22), transparent 65%); }
.av-center { position: relative; display: grid; justify-items: center; gap: 2vh; width: min(80vw, 640px); }
.av-logo { width: 100%; height: auto; filter: drop-shadow(0 0 18px rgba(146, 87, 255, .45)); }
.av-tag { margin: 0; color: #f4e8d0; font: 600 clamp(12px, 2.2vh, 18px) Georgia, "Times New Roman", serif; letter-spacing: .3em; text-transform: uppercase; opacity: .85; text-align: center; }
.av-bar { width: 70%; height: 8px; margin-top: 2vh; border-radius: 99px; background: rgba(11, 9, 24, .8); border: 1px solid #7d5520; overflow: hidden; }
.av-bar i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #b07a28, #f2c86c, #fff3c4); box-shadow: 0 0 12px rgba(242, 200, 108, .8); transition: width .25s ease; }
.av-status { margin: 0; color: #a79dbd; font: 500 clamp(11px, 1.9vh, 15px) "Arial Narrow", Arial, sans-serif; letter-spacing: .08em; }
.av-lanterns i { position: absolute; bottom: -20px; width: 10px; height: 14px; border-radius: 40% 40% 50% 50%;
  background: radial-gradient(circle at 50% 40%, #fff3c4, #f2a93c 60%, rgba(242, 169, 60, 0) 75%); box-shadow: 0 0 14px 4px rgba(242, 169, 60, .45);
  animation: av-rise 11s linear infinite; opacity: 0; }
.av-lanterns i:nth-child(1) { left: 6%; animation-delay: 0s; } .av-lanterns i:nth-child(2) { left: 14%; animation-delay: 4s; transform: scale(.7); }
.av-lanterns i:nth-child(3) { left: 23%; animation-delay: 7s; } .av-lanterns i:nth-child(4) { left: 31%; animation-delay: 2s; transform: scale(.6); }
.av-lanterns i:nth-child(5) { left: 42%; animation-delay: 9s; } .av-lanterns i:nth-child(6) { left: 55%; animation-delay: 1s; transform: scale(.8); }
.av-lanterns i:nth-child(7) { left: 63%; animation-delay: 6s; } .av-lanterns i:nth-child(8) { left: 71%; animation-delay: 3s; transform: scale(.65); }
.av-lanterns i:nth-child(9) { left: 79%; animation-delay: 8s; } .av-lanterns i:nth-child(10) { left: 86%; animation-delay: 5s; transform: scale(.75); }
.av-lanterns i:nth-child(11) { left: 93%; animation-delay: 10s; } .av-lanterns i:nth-child(12) { left: 48%; animation-delay: 5.5s; transform: scale(.55); }
@keyframes av-rise { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: .9; } 85% { opacity: .7; } 100% { transform: translateY(-110vh); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .av-lanterns { display: none; } }
#av-warning { position: fixed; left: 50%; top: 4%; transform: translateX(-50%); z-index: 20; width: min(90vw, 640px); }
#av-warning .av-note, #av-warning .av-error { margin-bottom: 6px; padding: 8px 12px; border-radius: 6px; font: 14px Arial, sans-serif; color: #f4e8d0; background: rgba(11, 9, 24, .9); border: 1px solid #7d5520; }
#av-warning .av-error { border-color: #c8202f; }
