/* LawMuse web app: what the browser shows while the app itself downloads (first visit: a few seconds).
   Same indigo as the app's side bar and sign-in panel. Hidden as soon as Flutter adds its view. */
html, body { margin: 0; height: 100%; background: #1e1b4b; }
.lm-splash {
  position: fixed; inset: 0; z-index: 0;
  display: grid; place-items: center; align-content: center; gap: 22px;
  background: radial-gradient(120% 90% at 20% 0%, #3b2a8c 0%, #1e1b4b 55%, #150f3a 100%);
  color: #f4f3ff;
  font: 500 15px/1.4 system-ui, -apple-system, "Segoe UI", "Noto Sans", sans-serif;
  transition: opacity .35s ease, visibility .35s;
}
.lm-splash .lm-brand { display: flex; align-items: center; gap: 14px; }
.lm-splash svg { width: 74px; height: 50px; }
.lm-splash .m-ink { fill: #ffffff; }
.lm-splash .m-gold { fill: #fbbf24; }
.lm-splash .lm-name { font: 600 34px/1 Georgia, "Source Serif", "Noto Serif", serif; letter-spacing: .01em; }
.lm-splash .lm-bar { width: 180px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .14); overflow: hidden; }
.lm-splash .lm-bar::after {
  content: ""; display: block; width: 40%; height: 100%; border-radius: 3px; background: #fbbf24;
  animation: lm-slide 1.25s ease-in-out infinite;
}
.lm-splash .lm-note { color: rgba(244, 243, 255, .7); font-size: 14px; }
.lm-splash noscript { color: #fde68a; max-width: 22rem; text-align: center; padding: 0 20px; }
@keyframes lm-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .lm-splash .lm-bar::after { animation: none; width: 100%; opacity: .5; } }
/* Flutter is on screen: step aside. */
body:has(flutter-view) .lm-splash, body:has(flt-glass-pane) .lm-splash { opacity: 0; visibility: hidden; }
