@font-face { font-family: Finlek; src: url('/assets/finlek.otf') format('opentype'); font-display: swap; }
#app-loading { position: fixed; inset: 0; z-index: 99999; background: #f8f6f1; color: #11132f; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 24px; font: 18px/1.5 sans-serif; }
#app-loading[hidden], #app-loading-retry[hidden] { display: none; }
#app-loading strong { font: 48px Finlek, sans-serif; }
.loading-spinner { width: 36px; height: 36px; border: 3px solid #d5d4dc; border-top-color: #11132f; border-radius: 50%; animation: app-loading-spin .8s linear infinite; }
@keyframes app-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loading-spinner { animation: none; } }
