
        .nav-progress {
            position: fixed; top: env(safe-area-inset-top, 0px); left: 0; height: 3px; width: 100%;
            z-index: 2147483000; pointer-events: none;
            background: linear-gradient(90deg, transparent, var(--accent), transparent);
            background-size: 40% 100%; background-repeat: no-repeat;
            animation: nav-progress-slide 1.1s ease-in-out infinite;
        }
        /* A phone: a little thicker, so the bar reads under a thumb. */
        @media (pointer: coarse) { .nav-progress { height: 4px; } }
        /* Reduced motion: hold a quiet accent line rather than animate it. */
        .nav-progress-still { animation: none; background: var(--accent); opacity: 0.55; }
        @keyframes nav-progress-slide {
            0%   { background-position: -40% 0; }
            100% { background-position: 140% 0; }
        }
        .nav-loading {
            position: fixed; left: 50%; top: 45%; transform: translate(-50%, -50%);
            z-index: 2147483000; pointer-events: none;
            display: flex; align-items: center; gap: 0.4rem;
            padding: 0.7rem 1.1rem; border-radius: 999px;
            background: var(--card-bg); border: 1px solid var(--border);
            box-shadow: var(--shadow-lift, 0 10px 30px rgba(0,0,0,0.25));
            font-size: 0.85rem; color: var(--text-muted);
        }
        .nav-loading-dot {
            width: 7px; height: 7px; border-radius: 50%; background: var(--accent);
            animation: nav-loading-bounce 1.05s ease-in-out infinite;
        }
        .nav-loading-dot:nth-child(2) { animation-delay: 0.14s; }
        .nav-loading-dot:nth-child(3) { animation-delay: 0.28s; }
        .nav-loading-text { margin-left: 0.35rem; }
        @keyframes nav-loading-bounce {
            0%, 80%, 100% { transform: translateY(0); opacity: 0.45; }
            40%           { transform: translateY(-4px); opacity: 1; }
        }
        @media (prefers-reduced-motion: reduce) {
            .nav-loading-dot { animation: none; opacity: 0.8; }
        }
    