    /* Core role: Custom thin scrollbar styling (webkit only). */
    ::-webkit-scrollbar { width: 0.4rem; height: 0.4rem; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: var(--outline); border-radius: var(--radius-sm); }

    #loading { display: flex; align-items: center; justify-content: center; height: 100%; font-family: var(--font-data); color: var(--text-label); font-size: 1.2rem; gap: 1rem; }
    #loading .loading-icon { width: 2rem; height: 2rem; flex-shrink: 0; animation: radar-spin 2.4s linear infinite, scanner-glow 1.8s ease-in-out infinite; }

    /* Slow radar-sweep spin — deliberate, not a generic spinner */
    @keyframes radar-spin { to { transform: rotate(360deg); } }

    /* Neon glow breathes between a tight core glow and a full corona:
       three drop-shadow layers give the bright white-hot centre + wide teal bloom */
    @keyframes scanner-glow {
      0%, 100% { filter: drop-shadow(0 0 2px var(--color-primary)) drop-shadow(0 0 6px var(--color-primary)); }
      50%       { filter: drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px var(--color-primary)) drop-shadow(0 0 20px var(--color-primary)); }
    }
