/* Prism navigation loader: the page frosts over; a white card comes up with
   the prism (a bead of light running round it, its beam leaving the side),
   the words, and the progress as a thin line of the accent. */
#navigationLoader:not(.hidden) { display: flex; }
.psm-loader__scrim { position: absolute; inset: 0; background: rgba(244, 245, 247, .62); backdrop-filter: blur(10px) saturate(1.2); -webkit-backdrop-filter: blur(10px) saturate(1.2); }
html.dark .psm-loader__scrim { background: rgba(13, 15, 23, .66); }
.psm-loader__panel {
  position: relative;
  display: flex; align-items: center; gap: 20px;
  width: min(420px, 100%); padding: 22px 24px;
  border-radius: 22px; background: var(--paper-2); border: 1px solid var(--rule);
  box-shadow: 0 30px 70px -30px rgba(16, 18, 28, .45);
}
html.dark .psm-loader__panel { box-shadow: 0 30px 70px -26px rgba(0, 0, 0, .9); }
.psm-loader__stage { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 18px; background: var(--psm-accent-soft); }
.psm-loader__stage .psm-spinner { width: 42px; height: 37px; }
.psm-loader__body { flex: 1 1 auto; min-width: 0; }
.psm-loader__kicker { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; font: 600 11.5px/1.3 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--psm-accent-text); }
.psm-loader__title { margin: 0; font: 700 18px/1.25 var(--font-display); letter-spacing: -.02em; color: var(--ink); }
.psm-loader__desc { margin: 4px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--ink-soft); }
.psm-loader__track { position: relative; margin-top: 14px; height: 3px; border-radius: 3px; background: var(--paper-3); overflow: hidden; }
.psm-loader__track .loader-bar { width: 40%; border-radius: inherit; background: var(--psm-accent); }
@media (prefers-reduced-motion: no-preference) {
  .psm-loader__track .loader-bar { animation: psm-loader-run 1.2s cubic-bezier(.4, 0, .2, 1) infinite; }
}
@keyframes psm-loader-run { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
[dir="rtl"] .psm-loader__track .loader-bar { animation-direction: reverse; }
@media (max-width: 479px) { .psm-loader__panel { gap: 14px; padding: 18px; } .psm-loader__stage { width: 60px; height: 60px; } }
